Divya Maheshwari
Divya Maheshwari

Reputation: 23

How to set Default True in res.config.settings in odoo 11 and also how to manage True/False value parallel?

I want settings like when I Install module some fields should be true in general settings. Then I can change settings also, so I set default value in res.confing.settings.

The problem is it is not un-tick when I un-check checkbox because it's already set to a True value.

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

Upvotes: 2

Views: 1425

Answers (1)

Karan Unagar
Karan Unagar

Reputation: 11

class 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()

Upvotes: 1

Related Questions