-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path4_3_update_employee_skill_program_certificate.py
More file actions
90 lines (79 loc) · 3.65 KB
/
4_3_update_employee_skill_program_certificate.py
File metadata and controls
90 lines (79 loc) · 3.65 KB
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
79
80
81
82
83
84
85
86
87
88
89
90
# -*- coding: utf-8 -*-
import xmlrpc.client
from _odoo_conf import get_odoo_config
# get odoo info from file to secure it
odoo_info = get_odoo_config()
url = odoo_info.get('server')
db = odoo_info.get('dbname')
username = odoo_info.get('username')
password = odoo_info.get('pwd')
login = xmlrpc.client.ServerProxy('{}/xmlrpc/2/common'.format(url))
uid = login.authenticate(db, username, password, {})
models = xmlrpc.client.ServerProxy('{}/xmlrpc/2/object'.format(url))
# get employee info
employee_info = models.execute_kw(db, uid, password,
'hr.employee',
'search_read',
[[('work_email', '=', 'quang.trinhvan@vti.com.vn')]],
{
'fields': [
'id', # - Employee_id
'name', # - Full_name
'department_id', # - Unit [id, name]
# n/a - Employee_code
'gender', # - Sex (0 is female, 1 is male)
'birthday', # - Birthday
'work_email', # - Email
'work_phone', # - Phone_number
# n/a - Post_code
'address_home_id', # - Address
# n/a - Team
'contract_id', # - Contract_type
'work_location', # - Working_site
'employee_skill_ids',
'employee_programming_ids',
'employee_certificate_ids',
'image',
],
'limit': 1
})
if employee_info:
employee_skill_ids = employee_info[0]['employee_skill_ids'] or []
employee_programming_ids = employee_info[0]['employee_programming_ids'] or []
employee_certificate_ids = employee_info[0]['employee_certificate_ids'] or []
# update employee skill:
employee_id = models.execute_kw(db, uid, password, 'hr.employee', 'search',
[[('work_email', '=', 'quang.trinhvan@vti.com.vn')]], {'limit': 1})
if len(employee_skill_ids) > 0:
emp_skill_id = employee_skill_ids[0]
print(employee_skill_ids)
update_skill_info = {
'skill_id': 7,
'level': '2',
'type': 'skill'
}
# update
models.execute_kw(db, uid, password, 'hr.employee.skill', 'write', [[emp_skill_id], update_skill_info])
#
# update employee programming:
if len(employee_programming_ids) > 0:
emp_programming_id = employee_programming_ids[0]
print(employee_programming_ids)
update_skill_info = {
'skill_id': 6,
'level': '3',
'type': 'programming'
}
# update
models.execute_kw(db, uid, password, 'hr.employee.skill', 'write', [[emp_programming_id], update_skill_info])
# update employee certificate:
if len(employee_certificate_ids) > 0:
employee_certificate_id = employee_certificate_ids[0]
print(employee_certificate_ids)
update_certificate_info = {
'certificate_id': 1,
# 'file_data': 'base 64 encoded',
'file_name': 'file name'
}
# update
models.execute_kw(db, uid, password, 'hr.employee.certificate', 'write', [[employee_certificate_id], update_certificate_info])