跳转到主要内容

多步骤向导

项目描述

Beta License: AGPL-3 OCA/server-ux Translate me on Weblate Try me on Runboat

此模块是创建多步骤向导的基础。它本身不执行任何操作。

目录

用法

类示例

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'

视图示例(注意模式,必须是主要模式)

<?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"
                readonly="state != 'start'"
                class="oe_inline"
                placeholder="Name"/>
        </h1>
        <group name="configure" invisible="state != 'configure'">
          <group>
            <field name="field1"/>
            <field name="field2"/>
          </group>
        </group>
        <group name="custom" invisible="state != 'custom'">
          <group>
            <field name="field3"/>
          </group>
        </group>
        <div name="final" 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>

错误跟踪器

错误在GitHub问题中跟踪。如果遇到问题,请先检查该问题是否已被报告。如果是您首先发现的,请通过提供详细且受欢迎的反馈来帮助我们将其击破。

请不要直接联系贡献者以获取支持或帮助解决技术问题。

致谢

作者

  • Camptocamp

贡献者

维护者

此模块由OCA维护。

Odoo Community Association

OCA,即Odoo社区协会,是一个非营利组织,其使命是支持Odoo功能的协作开发并推广其广泛使用。

此模块是GitHub上OCA/server-ux项目的一部分。

欢迎您贡献力量。要了解如何贡献,请访问https://odoo-community.org/page/Contribute

项目详情


下载文件

下载适用于您平台的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。

源代码发行版

此版本没有提供源代码发行版文件。请参阅 生成发行版存档的教程

构建发行版

由以下支持