from odoo import tools, models, fields, api, _ class ProductTemplate(models.Model): _inherit = "product.template" def write(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: if self.env.user.company_id.web_cat_in_distribution_musica: category_id = self.env.user.company_id.web_cat_in_distribution_musica.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)