Se rendre au contenu
Menu
Cette question a été signalée
2 Réponses
7852 Vues

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
Ignorer
Auteur Meilleure réponse

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
Ignorer

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

Meilleure réponse


Avatar
Ignorer
Publications associées Réponses Vues Activité
2
déc. 23
12584
3
juil. 22
22888
2
juin 21
18394
0
sept. 20
3650
0
mai 16
4019