Metadata-Version: 2.1
Name: odoo11-addon-multi-step-wizard
Version: 11.0.1.0.0.99.dev2
Summary: Multi-Steps Wizards
Home-page: https://github.com/camptocamp/connector-jira
Author: Camptocamp,Odoo Community Association (OCA)
Author-email: support@odoo-community.org
License: AGPL-3
Platform: UNKNOWN
Classifier: Programming Language :: Python
Classifier: Framework :: Odoo
Classifier: License :: OSI Approved :: GNU Affero General Public License v3
Requires-Python: >=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*
Requires-Dist: odoo (<11.1dev,>=11.0a)

Multi Steps Wizards
===================

This module is a base for creating multi-steps wizards.
It does nothing by itself.

Example of class::

  class MyWizard(models.TransientModel):
      _name = 'my.wizard'
      _inherit = ['multi.step.wizard.mixin']

      project_id = fields.Many2one(
          comodel_name='project.project',
          name="Project",
          required=True,
          ondelete='cascade',
          default=lambda self: self._default_project_id(),
      )
      name = fields.Char()
      field1 = fields.Char()
      field2 = fields.Char()
      field3 = fields.Char()

      @api.model
      def _selection_state(self):
          return [
              ('start', 'Start'),
              ('configure', 'Configure'),
              ('custom', 'Customize'),
              ('final', 'Final'),
          ]

      @api.model
      def _default_project_id(self):
          return self.env.context.get('active_id')

      def state_exit_start(self):
          self.state = 'configure'

      def state_exit_configure(self):
          self.state = 'custom'

      def state_exit_custom(self):
          self.state = 'final'

Example of view (note the mode, must be primary)::

  <?xml version="1.0" encoding="utf-8"?>
  <odoo>

    <record id="my_wizard_form" model="ir.ui.view">
      <field name="name">my.wizard.form</field>
      <field name="model">my.wizard</field>
      <field name="mode">primary</field>
      <field name="inherit_id" ref="multi_step_wizard.multi_step_wizard_form"/>
      <field name="arch" type="xml">
        <xpath expr="//footer" position="before">
          <h1>
            <field name="name"
                  attrs="{'readonly': [('state', '!=', 'start')]}"
                  class="oe_inline"
                  placeholder="Name"/>
          </h1>
          <group name="configure" attrs="{'invisible': [('state', '!=', 'configure')]}">
            <group>
              <field name="field1"/>
              <field name="field2"/>
            </group>
          </group>
          <group name="custom" attrs="{'invisible': [('state', '!=', 'custom')]}">
            <group>
              <field name="field3"/>
            </group>
          </group>
          <div name="final" attrs="{'invisible': [('state', '!=', 'final')]}">
            <p>The project is now configured.</p>
          </div>
        </xpath>
      </field>
    </record>

    <act_window id="open_my_wizard"
                name="My Wizard"
                res_model="my.wizard"
                src_model="project.project"
                view_mode="form" target="new" view_type="form" />
  </odoo>


