【问题标题】:How to set Default True in res.config.settings in odoo 11 and also how to manage True/False value parallel?如何在 odoo 11 的 res.config.settings 中设置默认 True 以及如何并行管理 True/False 值?
【发布时间】:2020-10-23 20:39:11
【问题描述】:

我想要一些设置,比如当我安装模块时,一些字段在一般设置中应该是 true。然后我也可以更改设置,所以我在 res.confing.settings 中设置了默认值。

问题是当我取消选中复选框时它没有取消勾选,因为它已经设置为 True 值。

class ResConfigSettings(models.TransientModel):

    _inherit = 'res.config.settings'

    group_stock_multi_locations = fields.Boolean('Storage Locations', default=True, implied_group='stock.group_stock_multi_locations',
                                                 help="Store products in specific locations of your warehouse (e.g. bins, racks) and to track inventory accordingly.")
    group_stock_multi_warehouses = fields.Boolean(
        'Multi-Warehouses', default=True, implied_group='stock.group_stock_multi_warehouses')

    group_stock_adv_location = fields.Boolean("Multi-Step Routes", default=True,
                                              implied_group='stock.group_adv_location',
                                              help="Add and customize route operations to process product moves in your warehouse(s): e.g. unload > quality control > stock for incoming products, pick > pack > ship for outgoing products. \n You can also set putaway strategies on warehouse locations in order to send incoming products into specific child locations straight away (e.g. specific bins, racks).")

    @api.multi
    def set_values(self):
      
        super(ResConfigSettings, self).set_values()
    
        self.env['ir.config_parameter'].sudo().set_param(
            'group_stock_multi_locations', self.group_stock_multi_locations)
        self.env['ir.config_parameter'].sudo().set_param(
            'group_stock_multi_warehouses', self.group_stock_multi_warehouses)
        self.env['ir.config_parameter'].sudo().set_param(
            'group_stock_adv_location', self.group_stock_adv_location)

    @api.model
    def get_values(self):
      
        res = super(ResConfigSettings, self).get_values()
        params = self.env['ir.config_parameter'].sudo()

        location = params.get_param(
            'group_stock_multi_locations', default=True)
        warehouse = params.get_param(
            'group_stock_multi_warehouses', default=True)
        adv_location = params.get_param(
            'group_stock_adv_location', default=True)
        res.update({'group_stock_multi_locations': location,
                    'group_stock_multi_warehouses': warehouse, 'group_stock_adv_location': adv_location})

        return res

【问题讨论】:

    标签: python odoo config settings default


    【解决方案1】:

    类 ResBaseConfigSettings(models.TransientModel): _inherit = "res.config.settings"

    @api.model
    def set_button_parameters(self):
        settings = self.env['res.config.settings'].write({
            'group_name': True,
        })
        settings.execute()
    

    【讨论】:

      猜你喜欢
      • 2013-05-02
      • 2016-07-14
      • 1970-01-01
      • 2011-07-08
      • 2020-11-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多