ribbon del producto según configuraciones en la compañía cuando se actualizan los campos en distribución.
38 lines
1.7 KiB
Python
38 lines
1.7 KiB
Python
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)
|