Ir al contenido
Menú
Se marcó esta pregunta
2 Respuestas
8468 Vistas

Hello,

I have a button in the crm form view. When I click this button I want to open a wizard with 2 buttons: YES or NO.

When the user click yes button the yes() function is executed, if the user click no button the no() function is executed.

How to do that?

Avatar
Descartar
Mejor respuesta

Hi,
1. You can open a wizard by adding the below code inside the function of button click .
For example here the function is action_open_wizard.

def action_open_wizard(self):
    return {
        'name': "Test Wizard",
        'type': 'ir.actions.act_window',
        'view_type': 'form',
        'view_mode': 'form',
        'res_model': 'test.wizard',
        'view_id': self.env.ref('test_module.test_wizard_view').id,
        'target': 'new',
            }

2. To create a wizard first create a new transient model and add necessary fields to it. Then create a view for the wizard.
For example here I am given the python code and xml code for the above:

class GenTestWizard(models.TransientModel):
        _name = "test.wizard"
        _description = 'Testing of wizard'
        msg = fields.Text(string="Test message", default="Do you want to continue?",readonly=True)
       
        def yes(self):
            print("yes")

        def no(self):
            print("no")

in .xml

        <record id="test_wizard_view" model="ir.ui.view">


            <field name="name">Test wuzard</field>


            <field name="model">test.wizard</field>


            <field name="arch" type="xml">


                <form string="Warning">


                    <group>


                        <field name="msg" nolabel="1"/>


                    </group>


                    <footer>


                        <button name="yes" string="Ok" type="object" class="oe_highlight"/>


                        <button name="no" string="Cancel" type="object" class="oe_highlight"/>


                    </footer>


                </form>


            </field>


        </record>


        <record id="test_wizard_action" model="ir.actions.act_window">


            <field name="name">Test Wizard</field>


            <field name="res_model">test.wizard</field>


            <field name="view_id" ref="test_wizard_view"/>


            <field name="view_mode">form</field>


            <field name="target">new</field>


        </record>


To know more about wizard creation, you can refer to the below mentioned blogs.

1. https://www.cybrosys.com/blog/how-to-create-manage-wizard-in-the-odoo-15
2. https://www.cybrosys.com/blog/how-to-create-wizard-in-odoo-13

Hope it helps

Avatar
Descartar
Publicaciones relacionadas Respuestas Vistas Actividad
0
dic 24
1324
4
mar 19
9756
3
dic 23
19999
2
may 16
13292
2
mar 15
4472