@@ -7,12 +7,14 @@ from odoo.http import request
|
||||
|
||||
class HomeExtend(Home):
|
||||
@http.route()
|
||||
def web_login(self, redirect=None, **kw):
|
||||
def web_client(self, *args, **kw):
|
||||
oauth_access_token = http.request.params.get('oauth_access_token')
|
||||
if oauth_access_token:
|
||||
login = kw.get('oauth_uid')
|
||||
oauth_uid = kw.get('oauth_uid')
|
||||
login = request.env['res.users'].sudo().search([('oauth_uid','=',oauth_uid)]).login
|
||||
if login != False:
|
||||
request.session.authenticate(request.session.db, login, oauth_access_token)
|
||||
uid = request.session.authenticate(request.session.db, login, oauth_access_token)
|
||||
request.params['login_success'] = True
|
||||
|
||||
result = super(HomeExtend, self).web_login(redirect, **kw)
|
||||
result = super(HomeExtend, self).web_client(*args, **kw)
|
||||
return result
|
||||
|
||||
@@ -11,6 +11,8 @@ _logger = logging.getLogger(__name__)
|
||||
|
||||
class ResUsers(models.Model):
|
||||
_inherit = "res.users"
|
||||
# oauth_access_token = fields.Char('oauth_access_token')
|
||||
# oauth_uid = fields.Char('oauth_uid')
|
||||
|
||||
def _check_credentials(self, password, env):
|
||||
""" Validates the current user's password.
|
||||
@@ -28,11 +30,8 @@ class ResUsers(models.Model):
|
||||
instead.
|
||||
"""
|
||||
""" Override this method to plug additional authentication methods"""
|
||||
#skipper
|
||||
|
||||
if len(self.env['res.users'].sudo().search([('oauth_access_token', '=', password)]))>0:
|
||||
return True
|
||||
return super(ResUsers, self)._check_credentials(password, env)
|
||||
|
||||
# user_id = self.env.user
|
||||
# # 消息通知URL:
|
||||
# url = f'/web/login?oauth_access_token={user_id.oauth_access_token}&oauth_uid={user_id.oauth_access_token}#action={action}&model={model}&view_type={view_type}&menu_id={menu_id}'
|
||||
|
||||
return
|
||||
return super(ResUsers, self)._check_credentials(password,env)
|
||||
|
||||
@@ -87,7 +87,7 @@ class YuthonWillTask(models.Model):
|
||||
if not employee_id.wecom_userid:
|
||||
raise UserError("请同步{}的企业微信".format(employee_id.name))
|
||||
menu_id = self.env['ir.ui.menu'].search([('name', '=', '我的日程')])
|
||||
url = f'https://oa.thtzjt.com/web/login?oauth_access_token={self.env.user.oauth_access_token}&oauth_uid={self.env.user.oauth_uid}#action={menu_id.action.id}&model=yuthon.will.task&view_type=list&menu_id={menu_id.id}'
|
||||
url = f'https://oa.thtzjt.com/web/login?oauth_access_token={employee_id.user_id.oauth_access_token}&oauth_uid={employee_id.user_id.oauth_uid}#action={menu_id.action.id}&model=yuthon.will.task&view_type=list&menu_id={menu_id.id}'
|
||||
data_name = "事项名称: " + self.task_content + '\n'
|
||||
data_start_time = '开始时间:' + str(self.start_time + timedelta(hours=8)) + '\n'
|
||||
data_user_ids = '参与人: ' + ', '.join(self.employee_ids.mapped('name')) + '\n'
|
||||
|
||||
Reference in New Issue
Block a user