summaryrefslogtreecommitdiff
path: root/indoteknik_custom/models/solr
diff options
context:
space:
mode:
Diffstat (limited to 'indoteknik_custom/models/solr')
-rw-r--r--indoteknik_custom/models/solr/product_product.py6
-rw-r--r--indoteknik_custom/models/solr/product_template.py8
2 files changed, 13 insertions, 1 deletions
diff --git a/indoteknik_custom/models/solr/product_product.py b/indoteknik_custom/models/solr/product_product.py
index 03eaaf13..fe2a08dc 100644
--- a/indoteknik_custom/models/solr/product_product.py
+++ b/indoteknik_custom/models/solr/product_product.py
@@ -29,6 +29,12 @@ class ProductProduct(models.Model):
product.product_tmpl_id._create_solr_queue('_sync_price_to_solr')
product.solr_flag = 1
+ @api.constrains('active')
+ def _constrains_active(self):
+ for rec in self:
+ if not rec.active:
+ rec.unpublished = True
+
def _sync_variants_to_solr(self):
solr_model = self.env['apache.solr']
diff --git a/indoteknik_custom/models/solr/product_template.py b/indoteknik_custom/models/solr/product_template.py
index 648a0625..bba98edc 100644
--- a/indoteknik_custom/models/solr/product_template.py
+++ b/indoteknik_custom/models/solr/product_template.py
@@ -28,13 +28,19 @@ class ProductTemplate(models.Model):
def _create_solr_queue_sync_product_template(self):
self._create_solr_queue('_sync_product_template_to_solr')
+ @api.constrains('active')
+ def _constrains_active(self):
+ for rec in self:
+ if not rec.active:
+ rec.unpublished = True
+
def action_sync_to_solr(self):
template_ids = self.env.context.get('active_ids', [])
templates = self.search([('id', 'in', template_ids)])
templates._create_solr_queue('_sync_product_template_to_solr')
def solr_flag_to_solr(self, limit=500):
- template_products = self.search([('solr_flag', '=', 2)], limit=limit)
+ template_products = self.search([('solr_flag', '=', 2), ('active', 'in', [True, False])], limit=limit)
for product in template_products:
product._create_solr_queue('_sync_product_template_to_solr')
product._create_solr_queue('_sync_price_to_solr')