Skip to Content
Menu
Musisz się zarejestrować, aby móc wchodzić w interakcje z tą społecznością.
To pytanie dostało ostrzeżenie
2 Odpowiedzi
8408 Widoki

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?

Awatar
Odrzuć
Najlepsza odpowiedź

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

Awatar
Odrzuć
Powiązane posty Odpowiedzi Widoki Czynność
0
gru 24
1282
4
mar 19
9713
3
gru 23
19960
2
maj 16
13251
2
mar 15
4417