This question has been flagged
1 Reply
1613 Views

Hello Odoo:ers! I am having a problem with odoo14:s wizard behavior.

I have a wizard model in wich i define a selection field and a boolean field. And a function "print_price" that gets called when a button is pressed on the wizard. But when the button is pressed, both the selection and boolean fields log out "False", they seem to have lost their values when the button was pressed.

Does anyone know what causes this, or how to fix it?


Python code:

class product_price_print_wizard(models.TransientModel):
    _name = 'product.price.print.wizard'

    glabels_template = fields.Selection([("1" , "potato"),("2" , "tomato")], 'Glabel Template', required=True, default = "1")
    wtf = fields.Boolean(string="test", default = True)

    @api.model
    def print_price(self, context):
        _logger.warning(f"wtf: {self.wtf}")
        _logger.warning(f"glabels_template: {self.glabels_template} ")

xml:

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

            <field name="name">product.price.print.wizard.form</field>

            <field name="model">product.price.print.wizard</field>

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

                <form string="Price Print">

                    <group>

                        <field name="glabels_template"/>

                    </group>

                    <footer>

                        <div>

                            <button name="print_price" string="Print" type="object" class="oe_highlight"/> or

                            <button special="cancel" string="Cancel" class="oe_link"/>

                        </div>

                    </footer>

                </form>

            </field>

        </record>

Avatar
Discard
Best Answer

Hi,

Wizard in Odoo is a TransientModel, data won't get stored unless you use store=True.
So, try like below.

glabels_template = fields.Selection([("1", "potato"), ("2", "tomato")], 'Glabel Template', required=True,
default="1", store=True)

Regards

Avatar
Discard