From f0b77967b3cef0c136edbd7f4f399e1b65f2c85e Mon Sep 17 00:00:00 2001 From: snt Date: Thu, 5 Sep 2024 13:07:42 +0200 Subject: [PATCH] =?UTF-8?q?sobreescribe=20create=20product=20template=20pa?= =?UTF-8?q?ra=20setear=20los=20campos=20de=20distribuci=C3=B3n=20ah=C3=AD?= =?UTF-8?q?=20tambi=C3=A9n?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../models/product_template.py | 43 ++++++++----------- 1 file changed, 19 insertions(+), 24 deletions(-) diff --git a/website_product_retail/models/product_template.py b/website_product_retail/models/product_template.py index bc38e6a..00dbf98 100644 --- a/website_product_retail/models/product_template.py +++ b/website_product_retail/models/product_template.py @@ -4,35 +4,30 @@ from odoo import tools, models, fields, api, _ class ProductTemplate(models.Model): _inherit = "product.template" + @api.model + def create(self, vals): + vals = self.set_distribution_fields(vals) + return super(ProductTemplate, self).create(vals) + def write(self, vals): + vals = self.set_distribution_fields(vals) + return super().write(vals) + + def set_distribution_fields(self, vals): if 'in_distribution' in vals: if self.env.user.company_id.web_cat_in_distribution_libros: category_id = self.env.user.company_id.web_cat_in_distribution_libros.id - if self.env.user.company_id.web_ribbon_in_distribution: - ribbon_id = self.env.user.company_id.web_ribbon_in_distribution.id - if vals['in_distribution']: - if category_id: - vals['public_categ_ids'] = [(4,category_id)] - if ribbon_id: - vals['website_ribbon_id'] = ribbon_id - else: - if category_id: - vals['public_categ_ids'] = [(3,category_id)] - if ribbon_id: - vals['website_ribbon_id'] = False - if 'in_distribution_music' in vals: + elif 'in_distribution_music' in vals: if self.env.user.company_id.web_cat_in_distribution_musica: category_id = self.env.user.company_id.web_cat_in_distribution_musica.id + else: + return vals + if vals.get('in_distribution', False) or vals.get('in_distribution_music', False): + vals['public_categ_ids'] = [(4,category_id)] if self.env.user.company_id.web_ribbon_in_distribution: ribbon_id = self.env.user.company_id.web_ribbon_in_distribution.id - if vals['in_distribution_music']: - if category_id: - vals['public_categ_ids'] = [(4,category_id)] - if ribbon_id: - vals['website_ribbon_id'] = ribbon_id - else: - if category_id: - vals['public_categ_ids'] = [(3,category_id)] - if ribbon_id: - vals['website_ribbon_id'] = False - return super().write(vals) + vals['website_ribbon_id'] = ribbon_id + else: + vals['public_categ_ids'] = [(3,category_id)] + vals['website_ribbon_id'] = False + return vals \ No newline at end of file