diff --git a/app_saas/__manifest__.py b/app_saas/__manifest__.py
index d35acecc..ba33987e 100644
--- a/app_saas/__manifest__.py
+++ b/app_saas/__manifest__.py
@@ -26,7 +26,7 @@
{
'name': 'odooapp.cn SaaS Client.Odoo中文应用商店SaaS云服务客户端',
- 'version': '16.24.11.08',
+ 'version': '16.24.12.05',
'author': 'odooai.cn',
'category': 'Base',
'website': 'https://www.odooai.cn',
diff --git a/app_saas/models/auth_oauth_provider.py b/app_saas/models/auth_oauth_provider.py
index 062608d1..2b9ba53b 100644
--- a/app_saas/models/auth_oauth_provider.py
+++ b/app_saas/models/auth_oauth_provider.py
@@ -12,3 +12,5 @@ class AuthOAuthProvider(models.Model):
# 取code的url,主要针对国内的先取code,再拿Token的方式
code_endpoint = fields.Char(string='Token by Code Endpoint', help='Get Token from Code. Only for Code response type.')
+ user_template_id = fields.Many2one('res.users', string='New User Template',
+ domain=[('active', '=', False)])
diff --git a/app_saas/models/res_users.py b/app_saas/models/res_users.py
index a3b417af..adc36b95 100644
--- a/app_saas/models/res_users.py
+++ b/app_saas/models/res_users.py
@@ -38,6 +38,7 @@ class ResUsers(models.Model):
# 这里原生是已取 token,实际用 code 时要另取token
access_token = params.get('access_token')
oauth_provider = self.env['auth.oauth.provider'].browse(provider)
+ kw = {}
if oauth_provider.code_endpoint and oauth_provider.scope.find('odoo') >= 0:
# odoo 特殊处理,用code取token
if not access_token and params.get('code'):
@@ -52,10 +53,10 @@ class ResUsers(models.Model):
response = requests.get(oauth_provider.code_endpoint, params=params, timeout=20)
if response.ok:
ret = response.json()
- res = {**ret, **params}
- res.pop('code')
- self = self.with_context(auth_extra=params)
- res = super(ResUsers, self).auth_oauth(provider, res)
+ kw = {**ret, **params}
+ kw.pop('code')
+ self = self.with_context(auth_extra=kw)
+ res = super(ResUsers, self).auth_oauth(provider, kw)
return res
def _create_user_from_template(self, values):
@@ -88,7 +89,7 @@ class ResUsers(models.Model):
@api.model
def _generate_signup_values(self, provider, validation, params):
# 此处生成 创建 odoo user 的初始值,增加字段如头像
- res = super(ResUsers, self)._generate_signup_values(provider, validation, params)
+ res = super()._generate_signup_values(provider, validation, params)
# 后置增加字段,包括 headimgurl
if validation.get('mobile'):
res['mobile'] = validation.get('mobile')
diff --git a/app_saas/views/auth_oauth_provider_views.xml b/app_saas/views/auth_oauth_provider_views.xml
index 644a8e1b..83fa29b0 100644
--- a/app_saas/views/auth_oauth_provider_views.xml
+++ b/app_saas/views/auth_oauth_provider_views.xml
@@ -8,6 +8,9 @@
+
+
+