This question has been flagged
4 Replies
5476 Views

how can i add an option into action dropdown in odoo 10 in "sale order"

Avatar
Discard

You're welcome, hope it helps :)

Best Answer

Hi Sugeesh,

You can do this with an XML record defined as a ir.actions.server and then binding it to an ir.values record. Example in XML:

<record model="ir.actions.server" id="your_custom_action_id">
    <field name="name">Your description here</field>
    <field name="model_id" ref="your_module.model_your_model_name"/>
    <field name="code">
        for item in records:
        item.your_function()
        </field>
</record>
<record model="ir.values" id="ir_value_your_custom"> <field name="model_id" ref="your_module.model_your_model_name"/>
<field name="name">Your title here (shown to user)</field> <field name="key2">client_action_multi</field> <field name="value" eval="'ir.actions.server,' +str(ref('your_custom_action_id'))"/>
<field name="key">action</field> <field name="model">your.model.name</field> </record>

You can then create a Python function to execute code when the user clicks on this action:

@api.multi
def your_function(self):
    print('Your custom Python logic comes here')

Regards,
Yenthe

Avatar
Discard
Author

@Yenthe Van Ginneken,

Could you please explain how to set a server action for "MENU ITEMS"

Best Answer

hello , try like below code

<act_window
            id="action_account_payment_from_invoices"
            name="Register Payment"
            res_model="account.register.payments" # which object's view you want to open
            src_model="account.invoice" # on which object's view you want to add
            view_mode="form" 
            multi="True" 
            target="new"
            key2="client_action_multi"
        />
Avatar
Discard