summaryrefslogtreecommitdiff
path: root/indoteknik_custom/models/solr/product_product.py
diff options
context:
space:
mode:
authorRafi Zadanly <zadanlyr@gmail.com>2023-10-20 15:31:03 +0700
committerRafi Zadanly <zadanlyr@gmail.com>2023-10-20 15:31:03 +0700
commit49d7b473a8cd458ade6a4e703c276b0771707db2 (patch)
tree4b5e6aa8681f16cc02464f92fef1e07210d9300c /indoteknik_custom/models/solr/product_product.py
parent4570401835223c2b613c2739fe9684fbe6c15b94 (diff)
Add unpublished field on product template and variant
Diffstat (limited to 'indoteknik_custom/models/solr/product_product.py')
-rw-r--r--indoteknik_custom/models/solr/product_product.py10
1 files changed, 7 insertions, 3 deletions
diff --git a/indoteknik_custom/models/solr/product_product.py b/indoteknik_custom/models/solr/product_product.py
index e1342fc2..85c94741 100644
--- a/indoteknik_custom/models/solr/product_product.py
+++ b/indoteknik_custom/models/solr/product_product.py
@@ -5,6 +5,7 @@ from datetime import datetime
class ProductProduct(models.Model):
_inherit = 'product.product'
+ unpublished = fields.Boolean(string='Unpublished')
last_update_solr = fields.Datetime(string='Last Update Solr')
desc_update_solr = fields.Char(string='Desc Update Solr')
@@ -63,7 +64,7 @@ class ProductProduct(models.Model):
'search_rank_weekly_i': variant.product_tmpl_id.search_rank_weekly,
'attributes': [x.name for x in variant.product_template_attribute_value_ids],
'has_product_info_b': True,
- 'publish_b': variant.active and variant.type == 'product',
+ 'publish_b': not variant.unpublished,
'qty_sold_f': variant.qty_sold
})
@@ -170,8 +171,11 @@ class ProductProduct(models.Model):
return results
- @api.constrains('active')
- def constrains_active(self):
+ @api.constrains('unpublished')
+ def _constrains_unpublished(self):
for rec in self:
+ if rec.product_variant_count == 1:
+ rec.product_tmpl_id.unpublished = rec.unpublished
+
rec.product_tmpl_id._create_solr_queue_sync_product_template()
\ No newline at end of file