Reputation: 23
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
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