From 7f08a09863e6bd8771e1de943228abdaf019a698 Mon Sep 17 00:00:00 2001 From: IT Fixcomart Date: Thu, 17 Nov 2022 11:15:09 +0700 Subject: fallback pricelist and product solr by name --- indoteknik_api/models/product_pricelist.py | 34 ++++++++++++++++++------------ 1 file changed, 20 insertions(+), 14 deletions(-) (limited to 'indoteknik_api/models') 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: -- cgit v1.2.3 From f168734f000ea34fc3a15bdf4b6af9f4fe797d06 Mon Sep 17 00:00:00 2001 From: IT Fixcomart Date: Thu, 17 Nov 2022 11:29:04 +0700 Subject: Change product pricelist default parameter --- indoteknik_api/models/product_pricelist.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'indoteknik_api/models') diff --git a/indoteknik_api/models/product_pricelist.py b/indoteknik_api/models/product_pricelist.py index e2bb58e5..4e5c9501 100644 --- a/indoteknik_api/models/product_pricelist.py +++ b/indoteknik_api/models/product_pricelist.py @@ -39,8 +39,8 @@ class ProductPricelist(models.Model): 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) + product_pricelist_default_price_id = self.env['ir.config_parameter'].get_param('product.pricelist.default_price_id') + price, discounts = self.get_product_price(int(product_pricelist_default_price_id), product_id) price_discount = price discount_percentage = 0 -- cgit v1.2.3