diff options
| author | Rafi Zadanly <zadanlyr@gmail.com> | 2023-04-18 15:51:02 +0700 |
|---|---|---|
| committer | Rafi Zadanly <zadanlyr@gmail.com> | 2023-04-18 15:51:02 +0700 |
| commit | e45332c61d9724a790fcb9a46f849ec4147ce46c (patch) | |
| tree | 034e69d37dbfae7125c614c3f979d5d3d616c846 | |
| parent | 60d754cb1b2044adafddd4893212028a3264f620 (diff) | |
fix bug no user pricelist
| -rw-r--r-- | indoteknik_api/controllers/api_v1/sale_order.py | 10 | ||||
| -rw-r--r-- | indoteknik_api/controllers/controller.py | 10 | ||||
| -rw-r--r-- | indoteknik_api/models/product_product.py | 7 | ||||
| -rw-r--r-- | indoteknik_api/models/res_users.py | 14 |
4 files changed, 24 insertions, 17 deletions
diff --git a/indoteknik_api/controllers/api_v1/sale_order.py b/indoteknik_api/controllers/api_v1/sale_order.py index 44986166..685d5a21 100644 --- a/indoteknik_api/controllers/api_v1/sale_order.py +++ b/indoteknik_api/controllers/api_v1/sale_order.py @@ -268,12 +268,10 @@ class SaleOrder(controller.Controller): 'tier2': product._get_pricelist_tier2, 'tier3': product._get_pricelist_tier3, } - if partner_pricelist.id == product_pricelist_tier1: - price_tier = 'tier1' - if partner_pricelist.id == product_pricelist_tier2: - price_tier = 'tier2' - if partner_pricelist.id == product_pricelist_tier3: - price_tier = 'tier3' + pricelist_id = pricelist.id or 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' if price_tier: price = pricelist[price_tier]() diff --git a/indoteknik_api/controllers/controller.py b/indoteknik_api/controllers/controller.py index f419f66e..86628400 100644 --- a/indoteknik_api/controllers/controller.py +++ b/indoteknik_api/controllers/controller.py @@ -54,7 +54,15 @@ class Controller(http.Controller): if user_token: result = user_token return result - + + def user_pricelist(self): + user_token = self.authenticate() + pricelist = False + if isinstance(user_token, dict): + partner = request.env['res.partner'].browse(user_token['partner_id']) + if partner: pricelist = partner.property_product_pricelist + return pricelist + def get_request_params(self, kw, queries): result = { 'valid': True, diff --git a/indoteknik_api/models/product_product.py b/indoteknik_api/models/product_product.py index a648ad51..b32a0129 100644 --- a/indoteknik_api/models/product_product.py +++ b/indoteknik_api/models/product_product.py @@ -42,9 +42,10 @@ class ProductProduct(models.Model): 'tier2': product_product._get_pricelist_tier2, 'tier3': product_product._get_pricelist_tier3, } - 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' + pricelist_id = pricelist.id or 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' if price_tier: price = pricelists[price_tier]() diff --git a/indoteknik_api/models/res_users.py b/indoteknik_api/models/res_users.py index b0807e9f..3993201e 100644 --- a/indoteknik_api/models/res_users.py +++ b/indoteknik_api/models/res_users.py @@ -11,6 +11,12 @@ class ResUsers(models.Model): product_pricelist_tier3 = int(config.get_param('product.pricelist.tier3')) user_pricelist = res_user.property_product_pricelist + user_pricelist_id = user_pricelist.id or False + pricelist_tier = False + if user_pricelist_id == product_pricelist_tier1: pricelist_tier = 'tier1' + if user_pricelist_id == product_pricelist_tier2: pricelist_tier = 'tier2' + if user_pricelist_id == product_pricelist_tier3: pricelist_tier = 'tier3' + data = { 'id': res_user.id, 'parent_id': res_user.parent_id.id or False, @@ -21,15 +27,9 @@ class ResUsers(models.Model): 'mobile': res_user.mobile or '', 'external': res_user.share, 'company': res_user.company_type == 'company', - 'pricelist': False + 'pricelist': pricelist_tier } - if user_pricelist.id == product_pricelist_tier1: - data['pricelist'] = 'tier1' - if user_pricelist.id == product_pricelist_tier2: - data['pricelist'] = 'tier2' - if user_pricelist.id == product_pricelist_tier3: - data['pricelist'] = 'tier3' if res_user.parent_id: data.update({ 'company': res_user.parent_id.company_type == 'company' }) |
