Skip to content

Commit

Permalink
[MIG] multi_step_wizard: Migration to 12.0
Browse files Browse the repository at this point in the history
  • Loading branch information
alexey-pelykh committed Jul 22, 2019
1 parent cf8a55a commit 1a88fa8
Show file tree
Hide file tree
Showing 12 changed files with 732 additions and 21 deletions.
87 changes: 82 additions & 5 deletions multi_step_wizard/README.rst
Original file line number Diff line number Diff line change
@@ -1,10 +1,44 @@
Multi Steps Wizards
===================
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/12.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-12-0/server-ux-12-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/12.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**

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

Example of class::
Usage
=====

Example of class:

.. code:: python
class MyWizard(models.TransientModel):
_name = 'my.wizard'
Expand Down Expand Up @@ -44,7 +78,9 @@ Example of class::
def state_exit_custom(self):
self.state = 'final'
Example of view (note the mode, must be primary)::
Example of view (note the mode, must be primary):

.. code:: xml
<?xml version="1.0" encoding="utf-8"?>
<odoo>
Expand Down Expand Up @@ -86,3 +122,44 @@ Example of view (note the mode, must be primary)::
src_model="project.project"
view_mode="form" target="new" view_type="form" />
</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:%2012.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>
* Alexey Pelykh <alexey.pelykh@brainbeanapps.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/12.0/multi_step_wizard>`_ project on GitHub.

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
3 changes: 3 additions & 0 deletions multi_step_wizard/__init__.py
Original file line number Diff line number Diff line change
@@ -1 +1,4 @@
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html).

from . import models
from .tests import multi_step_wizard_test
27 changes: 15 additions & 12 deletions multi_step_wizard/__manifest__.py
Original file line number Diff line number Diff line change
@@ -1,13 +1,16 @@
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html)
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html).

{'name': 'Multi-Steps Wizards',
'version': '11.0.1.0.0',
'author': 'Camptocamp,Odoo Community Association (OCA)',
'license': 'AGPL-3',
'depends': [],
'website': 'https://github.com/camptocamp/connector-jira',
'data': [
'views/multi_step_wizard_views.xml',
],
'installable': True,
}
{
'name': 'Multi-Steps Wizards',
'version': '12.0.1.0.0',
'author': 'Camptocamp,Odoo Community Association (OCA)',
'license': 'AGPL-3',
'depends': [
'base',
],
'website': 'https://github.com/OCA/server-ux',
'data': [
'views/multi_step_wizard_views.xml',
],
'installable': True,
}
2 changes: 2 additions & 0 deletions multi_step_wizard/models/__init__.py
Original file line number Diff line number Diff line change
@@ -1 +1,3 @@
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html).

from . import multi_step_wizard
5 changes: 1 addition & 4 deletions multi_step_wizard/models/multi_step_wizard.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# Copyright 2019 Camptocamp SA
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html)
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html).

import logging

Expand All @@ -21,9 +21,6 @@ class MultiStepWizard(models.AbstractModel):
The final state has no related method because the view
should only display a button to close the wizard.
Look at the models and views of task.link.jira and
project.link.jira for examples.
open_next and _reopen_self should not need to be
overidden, but _selection_state and state_exit_start
likely will need to.
Expand Down
2 changes: 2 additions & 0 deletions multi_step_wizard/readme/CONTRIBUTORS.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
* Guewen Baconnier <guewen.baconnier@camptocamp.com>
* Alexey Pelykh <alexey.pelykh@brainbeanapps.com>
2 changes: 2 additions & 0 deletions multi_step_wizard/readme/DESCRIPTION.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
This module is a base for creating multi-steps wizards. It does nothing by
itself.
86 changes: 86 additions & 0 deletions multi_step_wizard/readme/USAGE.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
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>
<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>

0 comments on commit 1a88fa8

Please sign in to comment.