I don't have v6, but it works in v7:
<record id="action_id_name" model="ir.actions.server"> <field name="name">Name that shows in More button</field> <field name="type">ir.actions.server</field> <field name="model_id" ref="model_blah_blah"/> <field name="state">code</field> <field name="code">self.some_custom_code(cr, uid, context.get('active_ids'), ..., context=context)</field> </record> <record id="value_id_name" model="ir.values"> <field name="name">Name</field> <field name="action_id" ref="action_id_name"/> <field name="value" eval="'ir.actions.server,' + str(ref('action_id_name'))"/> <field name="key">action</field> <field name="model_id" ref="model_blah_blah"/> <field name="model">blah.blah</field> <field name="key2">client_action_multi</field> </record> def some_custom_code(self, cursor, uid, ids, ..., context): # possibly do some processing # maybe with the ... extra fields you added # # post your changes, either with an sql statement or by calling # self.write(...) return True
Names you should replace with actual values:
action_id_name : id of your action recordName that shows in More button : everything you want to show in the buttonmodel_blah_blah : the name of the model used (should match what is found in your security/ir.model.access.csv )some_custom_code : function name in your modelvalue_id_name : identifier of your action value entryName : name (not sure where it appears)blah.blah : model and table name in OpenERP notation... : any additional arguments / parameters that you add
source share