mirror of
https://gitlab.com/flectra-community/server-ux.git
synced 2024-11-14 02:02:06 +00:00
.. | ||
i18n | ||
models | ||
static/description | ||
tests | ||
views | ||
__init__.py | ||
__manifest__.py | ||
COPYRIGHT | ||
LICENSE | ||
README.rst |
=================== Multi-Steps Wizards =================== .. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! .. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png :target: https://odoo-community.org/page/development-status :alt: Beta .. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html :alt: License: AGPL-3 .. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fserver--ux-lightgray.png?logo=github :target: https://github.com/OCA/server-ux/tree/14.0/multi_step_wizard :alt: OCA/server-ux .. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png :target: https://translation.odoo-community.org/projects/server-ux-14-0/server-ux-14-0-multi_step_wizard :alt: Translate me on Weblate .. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png :target: https://runbot.odoo-community.org/runbot/250/14.0 :alt: Try me on Runbot |badge1| |badge2| |badge3| |badge4| |badge5| This module is a base for creating multi-steps wizards. It does nothing by itself. **Table of contents** .. contents:: :local: Usage ===== Example of class: .. code:: python 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): .. code:: xml <?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> <record id="open_my_wizard" model="ir.actions.act_window"> <field name="name">My Wizard</field> <field name="res_model">my.wizard</field> <field name="view_mode">form</field> <field name="target">new</field> <field name="binding_model_id" ref="project.model_project_project" /> <field name="binding_view_types">form</field> </record> </odoo> Bug Tracker =========== Bugs are tracked on `GitHub Issues <https://github.com/OCA/server-ux/issues>`_. In case of trouble, please check there if your issue has already been reported. If you spotted it first, help us smashing it by providing a detailed and welcomed `feedback <https://github.com/OCA/server-ux/issues/new?body=module:%20multi_step_wizard%0Aversion:%2014.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_. Do not contact contributors directly about support or help with technical issues. Credits ======= Authors ~~~~~~~ * Camptocamp Contributors ~~~~~~~~~~~~ * Guewen Baconnier <guewen.baconnier@camptocamp.com> * `CorporateHub <https://corporatehub.eu/>`__ * Alexey Pelykh <alexey.pelykh@corphub.eu> * Sunanda Chhatbar <sunanda.chhatbar@initos.com> Maintainers ~~~~~~~~~~~ This module is maintained by the OCA. .. image:: https://odoo-community.org/logo.png :alt: Odoo Community Association :target: https://odoo-community.org OCA, or the Odoo Community Association, is a nonprofit organization whose mission is to support the collaborative development of Odoo features and promote its widespread use. This module is part of the `OCA/server-ux <https://github.com/OCA/server-ux/tree/14.0/multi_step_wizard>`_ project on GitHub. You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.