summaryrefslogtreecommitdiff
path: root/indoteknik_custom/models/product_template.py
diff options
context:
space:
mode:
authorit-fixcomart <it@fixcomart.co.id>2024-09-20 15:06:17 +0700
committerit-fixcomart <it@fixcomart.co.id>2024-09-20 15:06:17 +0700
commit79bf9729d10c8fb37ef9071ab6df2b6644ddea49 (patch)
tree6226da5e38ad44673a1bb5d7d4e2b0fd5df1fada /indoteknik_custom/models/product_template.py
parenteb7661705303a64c97e84061b53d48d5c46f6293 (diff)
parentd2bb21ae878db2a3b77dbb3341046c9d12ba1de5 (diff)
Merge branch 'production' into iman/new-register
# Conflicts: # indoteknik_custom/models/res_users.py
Diffstat (limited to 'indoteknik_custom/models/product_template.py')
-rwxr-xr-xindoteknik_custom/models/product_template.py28
1 files changed, 24 insertions, 4 deletions
diff --git a/indoteknik_custom/models/product_template.py b/indoteknik_custom/models/product_template.py
index d51f903f..031d1b5b 100755
--- a/indoteknik_custom/models/product_template.py
+++ b/indoteknik_custom/models/product_template.py
@@ -61,6 +61,12 @@ class ProductTemplate(models.Model):
tkdn = fields.Boolean(string='TKDN')
short_spesification = fields.Char(string='Short Spesification')
+ @api.constrains('name', 'internal_reference', 'x_manufacture')
+ def required_public_categ_ids(self):
+ for rec in self:
+ if not rec.public_categ_ids:
+ raise UserError('Field Categories harus diisi')
+
def _get_qty_sold(self):
for rec in self:
rec.qty_sold = sum(x.qty_sold for x in rec.product_variant_ids)
@@ -332,9 +338,9 @@ class ProductTemplate(models.Model):
return values
def write(self, vals):
- for rec in self:
- if rec.id == 224484:
- raise UserError('Tidak dapat mengubah produk sementara')
+ # for rec in self:
+ # if rec.id == 224484:
+ # raise UserError('Tidak dapat mengubah produk sementara')
return super(ProductTemplate, self).write(vals)
@@ -367,6 +373,12 @@ class ProductProduct(models.Model):
qty_sold = fields.Float(string='Sold Quantity', compute='_get_qty_sold')
short_spesification = fields.Char(string='Short Spesification')
+ @api.constrains('name', 'internal_reference', 'x_manufacture')
+ def required_public_categ_ids(self):
+ for rec in self:
+ if not rec.public_categ_ids:
+ raise UserError('Field Categories harus diisi')
+
@api.constrains('active')
def archive_product(self):
for product in self:
@@ -376,8 +388,16 @@ class ProductProduct(models.Model):
if product_template.active and product.active:
if not product.active and len(variants) == 1:
product_template.with_context(skip_active_constraint=True).active = False
+ product_template.unpublished = True
elif not product.active and len(variants) > 1:
- continue
+ all_inactive = all(not variant.active for variant in variants)
+ if all_inactive:
+ product_template.with_context(skip_active_constraint=True).active = False
+ product_template.unpublished = True
+ else:
+ continue
+ if any(variant.active for variant in variants):
+ product_template.unpublished = False
def update_internal_reference_variants(self, limit=100):
variants = self.env['product.product'].search([