From f53312f3f2c78d50d838c249a8d0eb1ed1e5b7f2 Mon Sep 17 00:00:00 2001 From: Rafi Zadanly Date: Tue, 5 Mar 2024 16:05:41 +0700 Subject: Add web sale approval feature --- indoteknik_api/models/res_users.py | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) (limited to 'indoteknik_api/models/res_users.py') diff --git a/indoteknik_api/models/res_users.py b/indoteknik_api/models/res_users.py index f331321f..eecab6ef 100644 --- a/indoteknik_api/models/res_users.py +++ b/indoteknik_api/models/res_users.py @@ -6,27 +6,26 @@ class ResUsers(models.Model): def api_single_response(self, res_user, with_detail=''): config = self.env['ir.config_parameter'] - - user_pricelist = res_user.property_product_pricelist - pricelist_tier = user_pricelist.sudo().get_tier_name() + + partner = res_user.partner_id.get_main_parent() data = { 'id': res_user.id, - 'parent_id': res_user.parent_id.id or False, - 'parent_name': res_user.parent_id.name or False, + 'parent_id': res_user.parent_id.id or None, + 'parent_name': res_user.parent_id.name or None, 'partner_id': res_user.partner_id.id, 'name': res_user.name, 'email': res_user.login, 'phone': res_user.phone or '', 'mobile': res_user.mobile or '', 'external': res_user.share, - 'company': res_user.company_type == 'company', - 'pricelist': pricelist_tier + 'company': partner.company_type == 'company', + 'pricelist': res_user.property_product_pricelist.sudo().get_tier_name(), + 'web_role': partner.web_role or None, + 'feature': { + 'so_approval': partner.use_so_approval + } } - - - if res_user.parent_id: - data.update({ 'company': res_user.parent_id.company_type == 'company' }) return data -- cgit v1.2.3 From d569804844ee77f9f08879dda8c3f1e292470813 Mon Sep 17 00:00:00 2001 From: Rafi Zadanly Date: Wed, 6 Mar 2024 10:40:10 +0700 Subject: Add action web approve on sale order, approval_step on get so api, role aliases on login --- indoteknik_api/models/res_users.py | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) (limited to 'indoteknik_api/models/res_users.py') diff --git a/indoteknik_api/models/res_users.py b/indoteknik_api/models/res_users.py index eecab6ef..456e52d7 100644 --- a/indoteknik_api/models/res_users.py +++ b/indoteknik_api/models/res_users.py @@ -7,23 +7,29 @@ class ResUsers(models.Model): def api_single_response(self, res_user, with_detail=''): config = self.env['ir.config_parameter'] - partner = res_user.partner_id.get_main_parent() + partner = res_user.partner_id + main_partner = partner.get_main_parent() + + WEB_ROLE_ALIAS = { + 'manager': 2, + 'director': 3 + } data = { 'id': res_user.id, 'parent_id': res_user.parent_id.id or None, 'parent_name': res_user.parent_id.name or None, - 'partner_id': res_user.partner_id.id, + 'partner_id': partner.id, 'name': res_user.name, 'email': res_user.login, 'phone': res_user.phone or '', 'mobile': res_user.mobile or '', 'external': res_user.share, - 'company': partner.company_type == 'company', + 'company': main_partner.company_type == 'company', 'pricelist': res_user.property_product_pricelist.sudo().get_tier_name(), - 'web_role': partner.web_role or None, + 'web_role': WEB_ROLE_ALIAS[partner.web_role] if partner.web_role else None, 'feature': { - 'so_approval': partner.use_so_approval + 'so_approval': main_partner.use_so_approval } } -- cgit v1.2.3