|
@ -30,56 +30,59 @@ class ProductTemplate(models.Model): |
|
|
def create(self, vals_list): |
|
|
def create(self, vals_list): |
|
|
"""supering the create function, generating the internal reference""" |
|
|
"""supering the create function, generating the internal reference""" |
|
|
res = super().create(vals_list) |
|
|
res = super().create(vals_list) |
|
|
auto_generate_internal_ref = self.env['ir.config_parameter'].sudo().get_param( |
|
|
if 'default_code' in vals_list: |
|
|
'product_internal_ref_generator.auto_generate_internal_ref') |
|
|
pass |
|
|
if auto_generate_internal_ref: |
|
|
else: |
|
|
product_name_config = self.env[ |
|
|
auto_generate_internal_ref = self.env['ir.config_parameter'].sudo().get_param( |
|
|
'ir.config_parameter'].sudo().get_param( |
|
|
'product_internal_ref_generator.auto_generate_internal_ref') |
|
|
'product_internal_ref_generator.product_name_config') |
|
|
if auto_generate_internal_ref: |
|
|
pro_name_digit = self.env['ir.config_parameter'].sudo().get_param( |
|
|
product_name_config = self.env[ |
|
|
'product_internal_ref_generator.pro_name_digit') |
|
|
'ir.config_parameter'].sudo().get_param( |
|
|
pro_name_separator = self.env[ |
|
|
'product_internal_ref_generator.product_name_config') |
|
|
'ir.config_parameter'].sudo().get_param( |
|
|
pro_name_digit = self.env['ir.config_parameter'].sudo().get_param( |
|
|
'product_internal_ref_generator.pro_name_separator') |
|
|
'product_internal_ref_generator.pro_name_digit') |
|
|
pro_categ_config = self.env['ir.config_parameter'].sudo().get_param( |
|
|
pro_name_separator = self.env[ |
|
|
'product_internal_ref_generator.pro_categ_config') |
|
|
'ir.config_parameter'].sudo().get_param( |
|
|
pro_categ_digit = self.env['ir.config_parameter'].sudo().get_param( |
|
|
'product_internal_ref_generator.pro_name_separator') |
|
|
'product_internal_ref_generator.pro_categ_digit') |
|
|
pro_categ_config = self.env['ir.config_parameter'].sudo().get_param( |
|
|
pro_categ_separator = self.env[ |
|
|
'product_internal_ref_generator.pro_categ_config') |
|
|
'ir.config_parameter'].sudo().get_param( |
|
|
pro_categ_digit = self.env['ir.config_parameter'].sudo().get_param( |
|
|
'product_internal_ref_generator.pro_categ_separator') |
|
|
'product_internal_ref_generator.pro_categ_digit') |
|
|
pro_template_config = self.env[ |
|
|
pro_categ_separator = self.env[ |
|
|
'ir.config_parameter'].sudo().get_param( |
|
|
'ir.config_parameter'].sudo().get_param( |
|
|
'product_internal_ref_generator.pro_template_config') |
|
|
'product_internal_ref_generator.pro_categ_separator') |
|
|
pro_template_digit = self.env[ |
|
|
pro_template_config = self.env[ |
|
|
'ir.config_parameter'].sudo().get_param( |
|
|
'ir.config_parameter'].sudo().get_param( |
|
|
'product_internal_ref_generator.pro_template_digit') |
|
|
'product_internal_ref_generator.pro_template_config') |
|
|
pro_template_separator = self.env[ |
|
|
pro_template_digit = self.env[ |
|
|
'ir.config_parameter'].sudo().get_param( |
|
|
'ir.config_parameter'].sudo().get_param( |
|
|
'product_internal_ref_generator.pro_template_separator') |
|
|
'product_internal_ref_generator.pro_template_digit') |
|
|
for rec in res: |
|
|
pro_template_separator = self.env[ |
|
|
default_code = '' |
|
|
'ir.config_parameter'].sudo().get_param( |
|
|
if rec.detailed_type == 'consu': |
|
|
'product_internal_ref_generator.pro_template_separator') |
|
|
default_code += 'Consu:' |
|
|
for rec in res: |
|
|
elif rec.detailed_type == 'service': |
|
|
default_code = '' |
|
|
default_code += 'Servi:' |
|
|
if rec.detailed_type == 'consu': |
|
|
elif rec.detailed_type == 'product': |
|
|
default_code += 'Consu:' |
|
|
default_code += 'Stora:' |
|
|
elif rec.detailed_type == 'service': |
|
|
if product_name_config: |
|
|
default_code += 'Servi:' |
|
|
default_code += rec.name[:int(pro_name_digit)] |
|
|
elif rec.detailed_type == 'product': |
|
|
default_code += pro_name_separator |
|
|
default_code += 'Stora:' |
|
|
if pro_categ_config: |
|
|
if product_name_config: |
|
|
default_code += rec.categ_id.name[:int(pro_categ_digit)] |
|
|
default_code += rec.name[:int(pro_name_digit)] |
|
|
default_code += pro_categ_separator |
|
|
default_code += pro_name_separator |
|
|
if pro_template_config: |
|
|
if pro_categ_config: |
|
|
for attribute in rec.attribute_line_ids: |
|
|
default_code += rec.categ_id.name[:int(pro_categ_digit)] |
|
|
for value in attribute.value_ids: |
|
|
default_code += pro_categ_separator |
|
|
default_code += value.name[:int(pro_template_digit)] |
|
|
if pro_template_config: |
|
|
default_code += pro_template_separator |
|
|
for attribute in rec.attribute_line_ids: |
|
|
sequence_code = 'attribute.sequence.ref' |
|
|
for value in attribute.value_ids: |
|
|
default_code += self.env['ir.sequence'].next_by_code( |
|
|
default_code += value.name[:int(pro_template_digit)] |
|
|
sequence_code) |
|
|
default_code += pro_template_separator |
|
|
rec.default_code = default_code |
|
|
sequence_code = 'attribute.sequence.ref' |
|
|
|
|
|
default_code += self.env['ir.sequence'].next_by_code( |
|
|
|
|
|
sequence_code) |
|
|
|
|
|
rec.default_code = default_code |
|
|
return res |
|
|
return res |
|
|
|
|
|
|
|
|
@api.model |
|
|
@api.model |
|
@ -107,26 +110,27 @@ class ProductTemplate(models.Model): |
|
|
'ir.config_parameter'].sudo().get_param( |
|
|
'ir.config_parameter'].sudo().get_param( |
|
|
'product_internal_ref_generator.pro_template_separator') |
|
|
'product_internal_ref_generator.pro_template_separator') |
|
|
for rec in products: |
|
|
for rec in products: |
|
|
default_code = '' |
|
|
if not rec.default_code: |
|
|
if rec.detailed_type == 'consu': |
|
|
default_code = '' |
|
|
default_code += 'Consu:' |
|
|
if rec.detailed_type == 'consu': |
|
|
elif rec.detailed_type == 'service': |
|
|
default_code += 'Consu:' |
|
|
default_code += 'Servi:' |
|
|
elif rec.detailed_type == 'service': |
|
|
elif rec.detailed_type == 'product': |
|
|
default_code += 'Servi:' |
|
|
default_code += 'Stora:' |
|
|
elif rec.detailed_type == 'product': |
|
|
if product_name_config: |
|
|
default_code += 'Stora:' |
|
|
default_code += rec.name[:int(pro_name_digit)] |
|
|
if product_name_config: |
|
|
default_code += pro_name_separator |
|
|
default_code += rec.name[:int(pro_name_digit)] |
|
|
if pro_categ_config: |
|
|
default_code += pro_name_separator |
|
|
default_code += rec.categ_id.name[:int(pro_categ_digit)] |
|
|
if pro_categ_config: |
|
|
default_code += pro_categ_separator |
|
|
default_code += rec.categ_id.name[:int(pro_categ_digit)] |
|
|
if pro_template_config: |
|
|
default_code += pro_categ_separator |
|
|
for attribute in rec.attribute_line_ids: |
|
|
if pro_template_config: |
|
|
for value in attribute.value_ids: |
|
|
for attribute in rec.attribute_line_ids: |
|
|
default_code += value.name[:int(pro_template_digit)] |
|
|
for value in attribute.value_ids: |
|
|
default_code += pro_template_separator |
|
|
default_code += value.name[:int(pro_template_digit)] |
|
|
sequence_code = 'attribute.sequence.ref' |
|
|
default_code += pro_template_separator |
|
|
default_code += self.env['ir.sequence'].next_by_code( |
|
|
sequence_code = 'attribute.sequence.ref' |
|
|
sequence_code) |
|
|
default_code += self.env['ir.sequence'].next_by_code( |
|
|
rec.default_code = default_code |
|
|
sequence_code) |
|
|
|
|
|
rec.default_code = default_code |
|
|
return self |
|
|
return self |
|
|