diff --git a/addons/website_sale/models/res_config_settings.py b/addons/website_sale/models/res_config_settings.py index 816d74984d7..22c9e49d8e8 100644 --- a/addons/website_sale/models/res_config_settings.py +++ b/addons/website_sale/models/res_config_settings.py @@ -33,6 +33,11 @@ class ResConfigSettings(models.TransientModel): cart_add_on_page = fields.Boolean("Stay on page after adding to cart", related='website_id.cart_add_on_page', readonly=False) terms_url = fields.Char(compute='_compute_terms_url', string="URL", help="A preview will be available at this URL.") + module_delivery = fields.Boolean( + compute='_compute_module_delivery', store=True, readonly=False) + module_website_sale_delivery = fields.Boolean( + compute='_compute_module_delivery', store=True, readonly=False) + @api.depends('website_id') def _compute_terms_url(self): for record in self: @@ -53,23 +58,11 @@ class ResConfigSettings(models.TransientModel): ) return res - @api.onchange('sale_delivery_settings') - def _onchange_sale_delivery_settings(self): - if self.sale_delivery_settings == 'none': - self.update({ - 'module_delivery': False, - 'module_website_sale_delivery': False, - }) - elif self.sale_delivery_settings == 'internal': - self.update({ - 'module_delivery': True, - 'module_website_sale_delivery': False, - }) - else: - self.update({ - 'module_delivery': True, - 'module_website_sale_delivery': True, - }) + @api.depends('sale_delivery_settings') + def _compute_module_delivery(self): + for wizard in self: + wizard.module_delivery = wizard.sale_delivery_settings in ['internal', 'website'] + wizard.module_website_sale_delivery = wizard.sale_delivery_settings == 'website' @api.onchange('group_discount_per_so_line') def _onchange_group_discount_per_so_line(self):