Skip to Content
Menu
Dette spørgsmål er blevet anmeldt
2 Besvarelser
7803 Visninger

This is a draft of a server action based on a server action created directly via GUI:

<record id="env2" model="ir.actions.server">
<field name="sequence" eval="5"/>
<field name="name">test2</field>
<field name="model_id" ref="model_rest_order"/>
<field name="condition">True</field>
<field name="type">ir.actions.server</field>
<field name="state">code</field>
<field name="code">
self.write(cr, uid, context=context)
status = 'Pronto'
end_date = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
to_floor = 2
</field>
</record>

Obviously when I call it raise an error:

ValueError: "old_api() takes at least 4 arguments (3 given)" while evaluating
u'self.write(cr, uid, context=context)\nstatus = \'Pronto\'\nend_date = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")\nto_floor = \'2\''

And if I add ids, self.write(cr, uid, ids, context=context):

ValueError: "name 'ids' is not defined" while evaluating 
u'self.write(cr, uid, context=context)\nstatus = \'Pronto\'\nend_date = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")\nto_floor = \'2\''

I admit I'm not understanding how python should be implemented here nor how new api will be triggered. Work directly on python externally is very simple... What is the correct syntax here?
 

Solved with: self.write(cr, uid, context['active_ids'], {'field':'value'})

Avatar
Kassér
Forfatter Bedste svar

Solved with:

        <record id="rest_order_send" model="ir.actions.server">
<field name="sequence" eval="5"/>
<field name="name">rest_order_send</field>
<field name="model_id" ref="model_rest_order"/>
<field name="condition">True</field>
<field name="type">ir.actions.server</field>
<field name="state">code</field>
<field name="code">
self.write(cr, uid, context['active_ids'], {'status':'Pronto'})
self.write(cr, uid, context['active_ids'], {'to_floor':'2'})
self.write(cr, uid, context['active_ids'], {'end_date':datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")})
</field>
</record>
But I hope it will works on Odoo V9 too, because seems not the new API method...

Avatar
Kassér

Is is possible to to display server action button under option More(Action for V9) according to user groups?

Bedste svar


Avatar
Kassér
Related Posts Besvarelser Visninger Aktivitet
2
dec. 23
12517
3
jul. 22
22822
2
jun. 21
18332
0
sep. 20
3616
0
maj 16
3975