Skip to Content
Menu
This question has been flagged
3 Replies
3399 Views

Hello, I am just want to ask how can I run a function on a Yes or No button of a transient model/wizard in odoo 10? Thank very much in advance.

Avatar
Discard
Best Answer

Hi, you can follow following link for this:

https://youtu.be/oMnHpHH54QU

Hope it helps,

Thanks

Avatar
Discard
Best Answer

Hi,

Let's consider that you have a wizard 'abc.abc' and you have two buttons 'Yes' and 'No'.
Define the form view for the wizard.

To return a wizard in odoo 10,use the following syntax.

view_id = self.env.ref('module_name.view')
return {
'name': _('Abc'),
'res_model': 'abc.abc',
'context': {
},
'type': 'ir.actions.act_window',
'view_id': False,
'views': [(view_id.id, 'form')],
'view_mode': 'form',
'target': 'new',
'view_type': 'form',
'res_id': self.id
}

To run a python function from a button in odoo 10,please use the following syntax.

<button string="Yes" name="action_yes" type="object" class="btn-primary"/>


<button string="No" class="btn-default" special="cancel"/>

Define the function

def action_yes:
print('code blocks')

special='cancel' attribute can be used to cancel and close the wizard

Regards

Avatar
Discard
Best Answer

Hi,

Let's discuss by taking an example, suppose if you are looking to do a confirmation functionality, you can create a transient model

with the Yes or No buttons, then from your main buttons, lets say Confirm button in sales which by default calls action_confirm method, you can inherit the button and instead of calling the action_confirm button, you can return your wizard.


Then once the wizard is displayed on user clicking the Yes button, you can trigger the action_confirm on the sale.order record, you can get the sale order, by browsing using the active_id in the context or by keeping related sale order field in the wizard. In the other hand, you can just pass special="cancel" for the No button.


Thanks

Avatar
Discard
Author

Hi Niyas, I did something like what you've said but neither yes nor no button does not trigger a function I put on them. What could be the problem?

Related Posts Replies Views Activity
0
Dec 24
878
2
Oct 24
1025
1
Aug 24
2075
2
Jul 24
1370
1
Jul 24
988