Compare commits
3 Commits
feature/me
...
feature/we
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
9d28eccd1b | ||
|
|
8dc3f2698b | ||
|
|
69c63f708d |
@@ -2,3 +2,4 @@
|
|||||||
|
|
||||||
from . import hr_employee
|
from . import hr_employee
|
||||||
from . import res_config_setting
|
from . import res_config_setting
|
||||||
|
from . import res_users
|
||||||
|
|||||||
@@ -11,6 +11,42 @@ class JkmPracticeEmployee(models.Model):
|
|||||||
|
|
||||||
we_id = fields.Char(string='企微ID', index=True)
|
we_id = fields.Char(string='企微ID', index=True)
|
||||||
|
|
||||||
|
@api.model_create_multi
|
||||||
|
def create(self, vals_list):
|
||||||
|
for val in vals_list:
|
||||||
|
if 'work_email' in val:
|
||||||
|
val["we_id"] = self._get_we_id(val.get('work_email'))
|
||||||
|
return super(JkmPracticeEmployee, self).create(vals_list)
|
||||||
|
|
||||||
|
def write(self, vals):
|
||||||
|
if 'work_email' in vals:
|
||||||
|
vals["we_id"] = self._get_we_id(vals.get('work_email'))
|
||||||
|
return super(JkmPracticeEmployee, self).write(vals)
|
||||||
|
|
||||||
|
@api.depends('work_contact_id', 'work_contact_id.mobile', 'work_contact_id.email')
|
||||||
|
def _compute_work_contact_details(self):
|
||||||
|
for employee in self:
|
||||||
|
if employee.work_contact_id:
|
||||||
|
employee.mobile_phone = employee.work_contact_id.mobile
|
||||||
|
employee.work_email = employee.work_contact_id.email
|
||||||
|
if employee.work_contact_id.email:
|
||||||
|
employee.we_id = self._get_we_id(employee.work_contact_id.email)
|
||||||
|
|
||||||
|
def _get_we_id(self, work_email):
|
||||||
|
json1 = {
|
||||||
|
'params': {
|
||||||
|
'work_email': work_email
|
||||||
|
}
|
||||||
|
}
|
||||||
|
url = '/api/get/we_id/info'
|
||||||
|
config = self.env['res.config.settings'].get_values()
|
||||||
|
ret = requests.post((config['ims_url'] + url), json=json1, data={})
|
||||||
|
result = ret.json()['result']
|
||||||
|
if result['code'] == 200:
|
||||||
|
if result['we_id']:
|
||||||
|
return result['we_id']
|
||||||
|
return None
|
||||||
|
|
||||||
def _employee_info_sync(self):
|
def _employee_info_sync(self):
|
||||||
url = '/api/get/organization'
|
url = '/api/get/organization'
|
||||||
config = self.env['res.config.settings'].get_values()
|
config = self.env['res.config.settings'].get_values()
|
||||||
|
|||||||
15
sf_hr/models/res_users.py
Normal file
15
sf_hr/models/res_users.py
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
import random
|
||||||
|
from odoo import models, fields, api
|
||||||
|
from odoo.http import request
|
||||||
|
from odoo.exceptions import AccessDenied
|
||||||
|
|
||||||
|
import logging
|
||||||
|
|
||||||
|
_logger = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
|
||||||
|
class ResUsers(models.Model):
|
||||||
|
_inherit = 'res.users'
|
||||||
|
|
||||||
|
we_employee_id = fields.Char(string=u'企业微信账号', related='employee_id.we_id', default="")
|
||||||
Reference in New Issue
Block a user