From ac23ca499ed34337a692fd01ee1d207b40d30926 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thibault=20Delavall=C3=A9e?= Date: Wed, 5 Apr 2017 11:09:37 +0200 Subject: [PATCH] [REF] website: use config parameter instead of ir values in settings Fields like `default_foo` still used ir.values although those are system-wide parameters and should therefore be stored in ir.config_parameter table. When no default_model is set on a field, don't prefix it by `default_`. --- addons/website/controllers/backend.py | 2 +- addons/website/models/res_config.py | 25 ++++++++++++------------ addons/website_sale/models/res_config.py | 5 ----- 3 files changed, 13 insertions(+), 19 deletions(-) diff --git a/addons/website/controllers/backend.py b/addons/website/controllers/backend.py index 17eb4dfc59a..0aeb2540133 100644 --- a/addons/website/controllers/backend.py +++ b/addons/website/controllers/backend.py @@ -30,7 +30,7 @@ class WebsiteBackend(http.Controller): } } if has_group_designer: - ga_dashboard = request.env['ir.values'].sudo().get_default('website.config.settings', 'has_google_analytics_dashboard') + ga_dashboard = request.env['ir.config_parameter'].sudo().get_param('website.has_google_analytics_dashboard') if ga_dashboard: ga_client_id = request.env['ir.config_parameter'].sudo().get_param('google_management_client_id', default='') dashboard_data['dashboards']['visits']['ga_client_id'] = ga_client_id diff --git a/addons/website/models/res_config.py b/addons/website/models/res_config.py index 31607f75d31..094a94e2e96 100644 --- a/addons/website/models/res_config.py +++ b/addons/website/models/res_config.py @@ -6,7 +6,6 @@ from odoo.exceptions import AccessDenied class WebsiteConfigSettings(models.TransientModel): - _name = 'website.config.settings' _inherit = 'res.config.settings' @@ -71,20 +70,20 @@ class WebsiteConfigSettings(models.TransientModel): for config in self: config.language_count = len(self.language_ids) - def set_has_google_analytics(self): + @api.model + def get_default_fields(self, fields): if not self.user_has_groups('website.group_website_designer'): raise AccessDenied() - return self.env['ir.values'].sudo().set_default( - 'website.config.settings', 'has_google_analytics', self.has_google_analytics) + return dict( + has_google_analytics=self.env['ir.config_parameter'].sudo().get_param('website.has_google_analytics'), + has_google_analytics_dashboard=self.env['ir.config_parameter'].sudo().get_param('website.has_google_analytics_dashboard'), + has_google_maps=self.env['ir.config_parameter'].sudo().get_param('website.has_google_maps'), + ) - def set_has_google_analytics_dashboard(self): + @api.multi + def set_fields(self): if not self.user_has_groups('website.group_website_designer'): raise AccessDenied() - return self.env['ir.values'].sudo().set_default( - 'website.config.settings', 'has_google_analytics_dashboard', self.has_google_analytics_dashboard) - - def set_has_google_maps(self): - if not self.user_has_groups('website.group_website_designer'): - raise AccessDenied() - return self.env['ir.values'].sudo().set_default( - 'website.config.settings', 'has_google_maps', self.has_google_maps) + self.env['ir.config_parameter'].sudo().set_param('website.has_google_analytics', self.has_google_analytics) + self.env['ir.config_parameter'].sudo().set_param('website.has_google_analytics_dashboard', self.has_google_analytics_dashboard) + self.env['ir.config_parameter'].sudo().set_param('website.has_google_maps', self.has_google_maps) diff --git a/addons/website_sale/models/res_config.py b/addons/website_sale/models/res_config.py index ed747b7d846..62dabb3ec4b 100644 --- a/addons/website_sale/models/res_config.py +++ b/addons/website_sale/models/res_config.py @@ -153,11 +153,6 @@ class WebsiteConfigSettings(models.TransientModel): def set_multi_sales_price(self): self.env['ir.config_parameter'].sudo().set_param('sale.sale_pricelist_setting', self.sale_pricelist_setting) - @api.multi - def set_sale_tax_defaults(self): - return self.env['ir.values'].sudo().set_default( - 'website.config.settings', 'sale_show_tax', self.sale_show_tax) - @api.onchange('sale_delivery_settings') def _onchange_sale_delivery_settings(self): if self.sale_delivery_settings == 'none':