diff options
| author | IT Fixcomart <it@fixcomart.co.id> | 2022-11-17 11:15:09 +0700 |
|---|---|---|
| committer | IT Fixcomart <it@fixcomart.co.id> | 2022-11-17 11:15:09 +0700 |
| commit | 7f08a09863e6bd8771e1de943228abdaf019a698 (patch) | |
| tree | 00f69ced1fe6897d83ec51ddcbc5842ba09beb06 /indoteknik_api/models | |
| parent | 0195aeb8b16a46792eabc3491e186ee869b814ee (diff) | |
fallback pricelist and product solr by name
Diffstat (limited to 'indoteknik_api/models')
| -rw-r--r-- | indoteknik_api/models/product_pricelist.py | 34 |
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: |
