summaryrefslogtreecommitdiff
path: root/indoteknik_api
diff options
context:
space:
mode:
authorRafi Zadanly <zadanlyr@gmail.com>2023-08-29 10:41:22 +0700
committerRafi Zadanly <zadanlyr@gmail.com>2023-08-29 10:41:22 +0700
commit6ed2316f6aa446bcd5bc7e6cd4d0c0a1136096dd (patch)
tree62e6556b8c7fa6fd6f6085b3b3e6ef00b78ee713 /indoteknik_api
parent315b832420eb8314e809b1c0f549304d423b45f3 (diff)
Update apache solr
- Create get tier name pricelist - Create solr results on product.template and product.product - Fix get active flash sale on product template - Update name "get_single_doc" to "get_doc" in apache solr model - Add product ids on sync category homepage to solr
Diffstat (limited to 'indoteknik_api')
-rw-r--r--indoteknik_api/controllers/api_v1/product.py5
-rw-r--r--indoteknik_api/models/product_product.py11
2 files changed, 5 insertions, 11 deletions
diff --git a/indoteknik_api/controllers/api_v1/product.py b/indoteknik_api/controllers/api_v1/product.py
index 98e131da..e3b7701a 100644
--- a/indoteknik_api/controllers/api_v1/product.py
+++ b/indoteknik_api/controllers/api_v1/product.py
@@ -360,6 +360,9 @@ class Product(controller.Controller):
categories = solr_model.connect('product_category_homepage').search(query, sort='sequence_i asc').docs
categories = solr_model.clean_key_docs(categories)
for category in categories:
- category['products'] = json.loads(category['products'])
+ product_ids = category.get('product_ids', [])
+ category.pop('product_ids', None)
+ products = request.env['product.template'].browse(product_ids)
+ category['products'] = products.solr_results()
return self.response(categories, headers=[('Cache-Control', 'max-age=3600, public')]) \ No newline at end of file
diff --git a/indoteknik_api/models/product_product.py b/indoteknik_api/models/product_product.py
index a2d2f8a2..bc1ce9a6 100644
--- a/indoteknik_api/models/product_product.py
+++ b/indoteknik_api/models/product_product.py
@@ -58,25 +58,16 @@ class ProductProduct(models.Model):
def calculate_website_price(self, pricelist=False):
pricelist = pricelist or self.env.user_pricelist
- config = self.env['ir.config_parameter']
- product_pricelist_tier1 = int(config.get_param('product.pricelist.tier1'))
- product_pricelist_tier2 = int(config.get_param('product.pricelist.tier2'))
- product_pricelist_tier3 = int(config.get_param('product.pricelist.tier3'))
-
discount_percentage = self._get_website_disc(0)
price_discount = self._get_website_price_after_disc_and_tax()
- price_tier = False
pricelists = {
'tier1': self._get_pricelist_tier1,
'tier2': self._get_pricelist_tier2,
'tier3': self._get_pricelist_tier3,
}
- pricelist_id = pricelist.id if pricelist else False
- if pricelist_id == product_pricelist_tier1: price_tier = 'tier1'
- if pricelist_id == product_pricelist_tier2: price_tier = 'tier2'
- if pricelist_id == product_pricelist_tier3: price_tier = 'tier3'
+ price_tier = pricelist.get_tier_name()
if price_tier:
price = pricelists[price_tier]()
discount_key = 'discount_%s' % price_tier