mirror of
https://github.com/guohuadeng/app-odoo.git
synced 2025-02-23 04:11:36 +02:00
opt app saas
This commit is contained in:
@@ -26,7 +26,7 @@
|
||||
|
||||
{
|
||||
'name': 'odooapp.cn SaaS Client-Ai Passport.Odoo中文应用商店SaaS云服务客户端',
|
||||
'version': '18.0.25.01.26',
|
||||
'version': '18.0.25.02.11',
|
||||
'author': 'odooai.cn',
|
||||
'category': 'Base',
|
||||
'website': 'https://www.odooai.cn',
|
||||
|
||||
@@ -4,10 +4,10 @@
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 18.0+e-20241031\n"
|
||||
"Project-Id-Version: Odoo Server 16.0+e-20241226\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2024-11-08 10:21+0000\n"
|
||||
"PO-Revision-Date: 2024-11-08 10:21+0000\n"
|
||||
"POT-Creation-Date: 2025-01-06 10:11+0000\n"
|
||||
"PO-Revision-Date: 2025-01-06 10:11+0000\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
|
||||
@@ -10,7 +10,7 @@ class IrConfigParameter(models.Model):
|
||||
def init(self, force=False):
|
||||
super(IrConfigParameter, self).init(force=force)
|
||||
if force:
|
||||
oauth_app_saas = self.env.ref('app_saas.ir_config_parameter.py')
|
||||
oauth_app_saas = self.env.ref('app_saas.provider_app_saas')
|
||||
if not oauth_app_saas:
|
||||
return
|
||||
dbuuid = self.sudo().get_param('database.uuid')
|
||||
|
||||
@@ -14,4 +14,3 @@ class ResConfigSettings(models.TransientModel):
|
||||
module_app_cn_po = fields.Boolean('SaaS Chinese PO', help="Checked to Sync Odoo Chinese from www.odooapp.cn")
|
||||
app_saas_db_token = fields.Char('Cloud DB Token', default=None, config_parameter='app_saas_db_token',
|
||||
help="The odooapp SaaS Token for this Odoo Database. You can reset in https://www.odooapp.cn")
|
||||
|
||||
@@ -9,18 +9,19 @@ try:
|
||||
except:
|
||||
from urllib import request as urllib2
|
||||
|
||||
|
||||
|
||||
from odoo import api, fields, models, _
|
||||
import requests
|
||||
|
||||
import logging
|
||||
|
||||
_logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
class OauthBindError(Exception):
|
||||
# 增加一种错误类型
|
||||
pass
|
||||
|
||||
|
||||
class ResUsers(models.Model):
|
||||
_inherit = 'res.users'
|
||||
|
||||
@@ -64,18 +65,18 @@ class ResUsers(models.Model):
|
||||
ret = self.sudo().get_token_from_code(provider, params)
|
||||
kw.update(ret)
|
||||
kw.pop('code', False)
|
||||
|
||||
|
||||
self = self.with_context(auth_extra=kw)
|
||||
res = super(ResUsers, self).auth_oauth(provider, kw)
|
||||
return res
|
||||
|
||||
|
||||
def _auth_oauth_signin(self, provider, validation, params):
|
||||
# 用户绑定的额外处理,如果有同 login 用户则直接绑定
|
||||
# todo: 当前不管多公司,在 social_login 里有更细节判断,后续优化
|
||||
# todo: 当前同名就写 oauth 信息,不安全,要优化
|
||||
oauth_provider = self.env['auth.oauth.provider'].sudo().browse(provider)
|
||||
if oauth_provider and oauth_provider.scope.find('odoo') >= 0:
|
||||
oauth_uid =validation.get('user_id')
|
||||
oauth_uid = validation.get('user_id')
|
||||
if oauth_uid:
|
||||
odoo_user = self.sudo().search([('login', '=', oauth_uid)], limit=1)
|
||||
if odoo_user and not (odoo_user.oauth_access_token and odoo_user.oauth_provider_id and odoo_user.oauth_uid):
|
||||
@@ -121,7 +122,7 @@ class ResUsers(models.Model):
|
||||
# raise SignupError(str(e))
|
||||
res = super(ResUsers, self)._create_user_from_template(values)
|
||||
return res
|
||||
|
||||
|
||||
@api.model
|
||||
def _generate_signup_values(self, provider, validation, params):
|
||||
# 此处生成 创建 odoo user 的初始值,增加字段如头像
|
||||
@@ -132,7 +133,7 @@ class ResUsers(models.Model):
|
||||
if validation.get('headimgurl'):
|
||||
res['image_1920'] = self.sudo()._get_image_from_url(validation.get('headimgurl'))
|
||||
return res
|
||||
|
||||
|
||||
def _rpc_api_keys_only(self):
|
||||
# 可直接使用 oauth_access_token 作为 password 登录
|
||||
self.ensure_one()
|
||||
|
||||
Reference in New Issue
Block a user