diff options
Diffstat (limited to 'indoteknik_custom/models/solr/product_product.py')
| -rw-r--r-- | indoteknik_custom/models/solr/product_product.py | 40 |
1 files changed, 24 insertions, 16 deletions
diff --git a/indoteknik_custom/models/solr/product_product.py b/indoteknik_custom/models/solr/product_product.py index 93e26793..41af2d0e 100644 --- a/indoteknik_custom/models/solr/product_product.py +++ b/indoteknik_custom/models/solr/product_product.py @@ -31,8 +31,6 @@ class ProductProduct(models.Model): solr_model = self.env['apache.solr'] for variant in self: - if not variant.product_tmpl_id.active and variant.product_tmpl_id.type != 'product': - continue category_id = 0 category_name = '' @@ -64,7 +62,8 @@ class ProductProduct(models.Model): 'search_rank_i': variant.product_tmpl_id.search_rank, '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 + 'has_product_info_b': True, + 'publish_b': variant.product_tmpl_id.publish, }) self.solr().add(docs=[document], softCommit=True) @@ -78,18 +77,18 @@ class ProductProduct(models.Model): for variant in self: price_excl_after_disc = price_excl = discount = tax = 0 - flashsale_data = tier1 = tier2 = tier3 = {} + flashsale_data = {} if price_excl_after_disc == 0 or variant._get_website_price_after_disc_and_tax() < price_excl_after_disc: price_excl = variant._get_website_price_exclude_tax() price_excl_after_disc = variant._get_website_price_after_disc_and_tax() - discount = variant._get_website_disc(0) tax = variant._get_website_tax() + discount = variant._get_website_disc(0) flashsale_data = variant._get_flashsale_price() - # add price tiering for base price, discount, and price after discount (tier 1 - 3) - tier1 = variant._get_pricelist_tier1() - tier2 = variant._get_pricelist_tier2() - tier3 = variant._get_pricelist_tier3() + + price_excl_v2 = variant._v2_get_website_price_exclude_tax() + price_excl_after_disc_v2 = variant._v2_get_website_price_after_disc_and_tax() + tax_v2 = variant._v2_get_website_tax() document = solr_model.get_doc('variants', variant.id) document.update({ @@ -106,14 +105,23 @@ class ProductProduct(models.Model): "discount_f": discount, "price_discount_f": price_excl_after_disc, "tax_f": tax, - "discount_tier1_f": tier1.get('discount_tier1', 0), - "price_tier1_f": tier1.get('price_tier1', 0), - "discount_tier2_f": tier2.get('discount_tier2', 0), - "price_tier2_f": tier2.get('price_tier2', 0), - "discount_tier3_f": tier3.get('discount_tier3', 0), - "price_tier3_f": tier3.get('price_tier3', 0), - "has_price_info_b": True + "price_v2_f": price_excl_v2, + "price_discount_v2_f": price_excl_after_disc_v2, + "tax_v2_f": tax_v2, }) + + for tier_number in [1, 2, 3, '1_v2', '2_v2', '3_v2', '4_v2', '5_v2']: + tier = variant._get_pricelist_tier(tier_number) + document.update({ + f"discount_tier{tier_number}_f": tier.get(f'discount_tier{tier_number}', 0), + f"price_tier{tier_number}_f": tier.get(f'price_tier{tier_number}', 0), + }) + + # for tier_number in [1, 2, 3, '1_v2', '2_v2', '3_v2', '4_v2', '5_v2']: + # tier = tier_data[tier_number] + + document.update({"has_price_info_b": True}) + self.solr().add(docs=[document], softCommit=True) variant.change_solr_data('Ada perubahan pada harga product') |
