1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
|
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
|