【问题标题】:Odoo: Set default team of a module from settings pageOdoo:从设置页面设​​置模块的默认团队
【发布时间】:2021-02-27 23:43:06
【问题描述】:

在 res.config 页面上创建了一个视图后,我实现了一个 many2one 字段,该字段列出了帮助台模块上的现有团队集。我想做的是在自动创建票证时设置默认的帮助台团队(默认情况下这是“客户服务”)。所以基本上,用户在我的 res.config 视图的自定义字段中选择的团队将是默认的帮助台团队。实现这一点的最佳方法是什么?

【问题讨论】:

    标签: odoo odoo-13


    【解决方案1】:

    这可以通过在操作中使用context 轻松实现:

    <field name="context">{'default_team_id': active_id}</field>
    

    或者您可以使用lambda 默认函数以编程方式(不建议)执行此操作,如下所示:

    team_id = fields.Many2one(comodel_name='helpdesk.team', default=_default_team_id)
    
    def _default_team_id(self):
        team_id = self.env.ref('my_module.best_team_ever').read()[0]
        return team_id
    
    # update using configuration would be:
    def _default_team_id(self):
        get_param = self.env['ir.config_parameter'].sudo().get_param
        default_team = get_param('helpdesk.my_custom_default_team')
        return default_team
    

    【讨论】:

    • 这不是假设我正在创建一个动作。如果我想将此自定义字段放在 res.config 中的“常规设置”下怎么办?另外,您为什么不建议使用服务器端解决方案?
    • 当然您可以从 res.config 中获取团队 ID。我不建议使用硬编码方法。因为可以在生产过程中更改 xml 而不会阻止用户。
    • 那么继承通用设置视图后,会不会是&lt;field name="custom_field" context= "{'helpdesk.default_team_id': active_id}"/&gt;
    猜你喜欢
    • 1970-01-01
    • 2022-11-12
    • 1970-01-01
    • 2014-05-04
    • 2018-08-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多