from odoo import models class ResUsers(models.Model): _inherit = 'res.users' def api_single_response(self, res_user, with_detail=''): config = self.env['ir.config_parameter'] 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': 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': main_partner.company_type == 'company', 'pricelist': res_user.property_product_pricelist.sudo().get_tier_name(), 'web_role': WEB_ROLE_ALIAS[partner.web_role] if partner.web_role else None, 'feature': { 'so_approval': main_partner.use_so_approval, 'only_ready_stock': main_partner.use_only_ready_stock } } return data def api_address_response(self, user): data = { 'id': user.id, 'type': user.type or '', 'name': user.name or '', 'mobile': user.mobile or '', 'email': user.email or '', 'street': user.street or '', 'street2': user.street2 or '', 'city': None, 'district': None, 'sub_district': None, 'zip': user.zip or '', 'company_type_id': user.company_type_id.id or None, 'industry_id': user.industry_id.id or None, 'tax_name': user.nama_wajib_pajak or '', 'npwp': user.npwp or '', 'rajaongkir_city_id': user.kecamatan_id.rajaongkir_id or 0, } if user.kota_id: data['city'] = { 'id': user.kota_id.id, 'name': user.kota_id.name } or None if user.kecamatan_id: data['district'] = { 'id': user.kecamatan_id.id, 'name': user.kecamatan_id.name } if user.kelurahan_id: data['sub_district'] = { 'id': user.kelurahan_id.id, 'name': user.kelurahan_id.name } return data