summaryrefslogtreecommitdiff
path: root/indoteknik_api/models
diff options
context:
space:
mode:
authorIT Fixcomart <it@fixcomart.co.id>2022-11-17 11:15:09 +0700
committerIT Fixcomart <it@fixcomart.co.id>2022-11-17 11:15:09 +0700
commit7f08a09863e6bd8771e1de943228abdaf019a698 (patch)
tree00f69ced1fe6897d83ec51ddcbc5842ba09beb06 /indoteknik_api/models
parent0195aeb8b16a46792eabc3491e186ee869b814ee (diff)
fallback pricelist and product solr by name
Diffstat (limited to 'indoteknik_api/models')
-rw-r--r--indoteknik_api/models/product_pricelist.py34
1 files changed, 20 insertions, 14 deletions
diff --git a/indoteknik_api/models/product_pricelist.py b/indoteknik_api/models/product_pricelist.py
index 6a011934..e2bb58e5 100644
--- a/indoteknik_api/models/product_pricelist.py
+++ b/indoteknik_api/models/product_pricelist.py
@@ -5,21 +5,10 @@ from datetime import datetime
class ProductPricelist(models.Model):
_inherit = 'product.pricelist'
-
- def compute_price(self, pricelist_id: int, product_id: int):
- """
- Compute price with tax, discount formula, and fixed_price
- @param pricelist_id: id of product.pricelist
- @param product_id: id of product.product
- @return: returns price value from pricelist.
- """
+
+ def get_product_price(self, pricelist_id: int, product_id: int):
price = 0
discounts = []
-
- is_flash_sale_product = self.is_flash_sale_product(product_id)
- if is_flash_sale_product:
- pricelist_id = is_flash_sale_product
-
is_compute_formula = True
while is_compute_formula:
pricelist = self.env['product.pricelist.item'].search([
@@ -35,7 +24,24 @@ class ProductPricelist(models.Model):
is_compute_formula = False
else:
is_compute_formula = False
-
+ return price, discounts
+
+ def compute_price(self, pricelist_id: int, product_id: int):
+ """
+ Compute price with tax, discount formula, and fixed_price
+ @param pricelist_id: id of product.pricelist
+ @param product_id: id of product.product
+ @return: returns price value from pricelist.
+ """
+ is_flash_sale_product = self.is_flash_sale_product(product_id)
+ if is_flash_sale_product:
+ pricelist_id = is_flash_sale_product
+
+ price, discounts = self.get_product_price(pricelist_id, product_id)
+ if price == 0:
+ product_pricelist_fallback_discount_id = self.env['ir.config_parameter'].get_param('product.pricelist.fallback_discount_id')
+ price, discounts = self.get_product_price(int(product_pricelist_fallback_discount_id), product_id)
+
price_discount = price
discount_percentage = 0
if price > 0: