在Odoo中添加自定义设置选项,以使应用更加灵活和可配置。假设我们正在开发一个销售管理模块(称为my_sales
),其中包括一个可选功能,允许销售人员为客户创建优惠券。这个功能可能不是每个企业都需要的,所以我们决定将其作为一个可在设置中启用或禁用的选项提供。
准备工作
在开始之前,我们已经开发了一个基础的销售管理模块,允许销售人员创建订单和管理客户。现在,我们想要添加一个新功能:生成优惠券。但是,我们希望这个功能是可选的,即用户可以在设置中选择是否启用它。
如何实现…
按照以下步骤来创建自定义设置选项:
-
添加一个新分组:
在my_sales/security/groups.xml
文件中定义一个新的用户组,用于控制谁可以管理优惠券功能。<record id="group_manage_coupons" model="res.groups"> <field name="name">Manage Coupons</field> <field name="users" eval="[(4, ref('base.user_admin'))]"/> </record>
-
通过继承
res.config.settings
模型来添加新字段:
我们需要在设置模型中添加一个新的布尔字段,以便启用或禁用优惠券功能。from odoo import models, fields class ResConfigSettings(models.TransientModel): _inherit = 'res.config.settings' group_manage_coupons = fields.Boolean( string="Enable Coupons", implied_group='my_sales.group_manage_coupons' )
-
修改设置视图以包含新选项