sobreescribe create product template para setear los campos de

distribución ahí también
This commit is contained in:
snt 2024-09-05 13:07:42 +02:00 committed by snt
parent 9734ab2eb4
commit 6eb23b6e50

View file

@ -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