Simpler way to call wizard or form from button in Odoo (No action in xml)
Define the wizard in py:
class ProductWizard(models.TransientModel):
_name = 'product.wizard'
range_start = fields.Integer('range_start')
range_end = fields.Integer('range_end')
range_dist = fields.Char('range_dist')
@api.multi
def create_set(self):
context = dict(self._context or {})
raise UserError(_("TEST REPORT"))
and in xml:
<record id="view_test_report_wizard" model="ir.ui.view">
<field name="name">Product Wizard</field>
<field name="model">product.wizard</field>
<field name="arch" type="xml">
<form string="Choose The Details">
<group>
<group>
<field name="range_start" string="Range start from:"/>
<field name="range_end" string="Range end:"/>
<field name="range_dist" string="Size distribution:" placeholder="Es.: 1-1-2-2-2-2"/>
</group>
</group>
<footer>
<button name="create_set" string="Print" type="object" class="oe_highlight" />
or
<button string="Cancel" class="oe_link" special="cancel"/>
</footer>
</form>
</field>
</record>
Define call in .py
@api.multi
def open_wizard(self):
return {
'view_type': 'form',
'view_mode': 'form',
'res_model': 'product.wizard',
'target': 'new',
'type': 'ir.actions.act_window',
'context': {'current_id': self.id}
}
Call it from button this way:
<button name="open_wizard" string="My wiz" type="object" class="oe_highlight"/>