Browse Source

Jul 1 [UPDT] Updated 'product_internal_ref_generator'

pull/331/head
AjmalCybro 10 months ago
parent
commit
2ad992e159
  1. 2
      product_internal_ref_generator/doc/RELEASE_NOTES.md
  2. 112
      product_internal_ref_generator/models/product_product.py
  3. 148
      product_internal_ref_generator/models/product_template.py

2
product_internal_ref_generator/doc/RELEASE_NOTES.md

@ -1,7 +1,7 @@
## Module <product_internal_ref_generator>
#### 29.04.2024
#### Version 17.0.1.0.0
#### Version 17.0.1.0.1
#### ADD
- Initial commit for Product Internal Reference Generator

112
product_internal_ref_generator/models/product_product.py

@ -30,41 +30,44 @@ class ProductProduct(models.Model):
def create(self, vals_list):
"""supering the create function, generating the internal reference"""
res = super().create(vals_list)
auto_generate_internal_ref = self.env['ir.config_parameter'].sudo().get_param(
'product_internal_ref_generator.auto_generate_internal_ref')
if auto_generate_internal_ref:
product_name_config = self.env['ir.config_parameter'].sudo().get_param(
'product_internal_ref_generator.product_name_config')
pro_name_digit = self.env['ir.config_parameter'].sudo().get_param(
'product_internal_ref_generator.pro_name_digit')
pro_name_separator = self.env['ir.config_parameter'].sudo().get_param(
'product_internal_ref_generator.pro_name_separator')
pro_categ_config = self.env['ir.config_parameter'].sudo().get_param(
'product_internal_ref_generator.pro_categ_config')
pro_categ_digit = self.env['ir.config_parameter'].sudo().get_param(
'product_internal_ref_generator.pro_categ_digit')
pro_categ_separator = self.env['ir.config_parameter'].sudo().get_param(
'product_internal_ref_generator.pro_categ_separator')
for rec in res:
default_code = ''
if rec.detailed_type == 'consu':
default_code += 'Consu:'
elif rec.detailed_type == 'service':
default_code += 'Servi:'
elif rec.detailed_type == 'product':
default_code += 'Stora:'
if product_name_config:
if rec.name:
default_code += rec.name[:int(pro_name_digit)]
default_code += pro_name_separator
if pro_categ_config:
if rec.categ_id.name:
default_code += rec.categ_id.name[:int(pro_categ_digit)]
default_code += pro_categ_separator
sequence_code = 'product.sequence.ref'
default_code += self.env['ir.sequence'].next_by_code(
sequence_code)
rec.default_code = default_code
if 'default_code' in vals_list:
pass
else:
auto_generate_internal_ref = self.env['ir.config_parameter'].sudo().get_param(
'product_internal_ref_generator.auto_generate_internal_ref')
if auto_generate_internal_ref:
product_name_config = self.env['ir.config_parameter'].sudo().get_param(
'product_internal_ref_generator.product_name_config')
pro_name_digit = self.env['ir.config_parameter'].sudo().get_param(
'product_internal_ref_generator.pro_name_digit')
pro_name_separator = self.env['ir.config_parameter'].sudo().get_param(
'product_internal_ref_generator.pro_name_separator')
pro_categ_config = self.env['ir.config_parameter'].sudo().get_param(
'product_internal_ref_generator.pro_categ_config')
pro_categ_digit = self.env['ir.config_parameter'].sudo().get_param(
'product_internal_ref_generator.pro_categ_digit')
pro_categ_separator = self.env['ir.config_parameter'].sudo().get_param(
'product_internal_ref_generator.pro_categ_separator')
for rec in res:
default_code = ''
if rec.detailed_type == 'consu':
default_code += 'Consu:'
elif rec.detailed_type == 'service':
default_code += 'Servi:'
elif rec.detailed_type == 'product':
default_code += 'Stora:'
if product_name_config:
if rec.name:
default_code += rec.name[:int(pro_name_digit)]
default_code += pro_name_separator
if pro_categ_config:
if rec.categ_id.name:
default_code += rec.categ_id.name[:int(pro_categ_digit)]
default_code += pro_categ_separator
sequence_code = 'product.sequence.ref'
default_code += self.env['ir.sequence'].next_by_code(
sequence_code)
rec.default_code = default_code
return res
@api.model
@ -88,23 +91,24 @@ class ProductProduct(models.Model):
'ir.config_parameter'].sudo().get_param(
'product_internal_ref_generator.pro_categ_separator')
for rec in products:
default_code = ''
if rec.detailed_type == 'consu':
default_code += 'Consu:'
elif rec.detailed_type == 'service':
default_code += 'Servi:'
elif rec.detailed_type == 'product':
default_code += 'Stora:'
if product_name_config:
if rec.name:
default_code += rec.name[:int(pro_name_digit)]
default_code += pro_name_separator
if pro_categ_config:
if rec.categ_id.name:
default_code += rec.categ_id.name[:int(pro_categ_digit)]
default_code += pro_categ_separator
sequence_code = 'product.sequence.ref'
default_code += self.env['ir.sequence'].next_by_code(
sequence_code)
rec.default_code = default_code
if not rec.default_code:
default_code = ''
if rec.detailed_type == 'consu':
default_code += 'Consu:'
elif rec.detailed_type == 'service':
default_code += 'Servi:'
elif rec.detailed_type == 'product':
default_code += 'Stora:'
if product_name_config:
if rec.name:
default_code += rec.name[:int(pro_name_digit)]
default_code += pro_name_separator
if pro_categ_config:
if rec.categ_id.name:
default_code += rec.categ_id.name[:int(pro_categ_digit)]
default_code += pro_categ_separator
sequence_code = 'product.sequence.ref'
default_code += self.env['ir.sequence'].next_by_code(
sequence_code)
rec.default_code = default_code
return self

148
product_internal_ref_generator/models/product_template.py

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

Loading…
Cancel
Save