update 用户相关

This commit is contained in:
Ivan Office
2025-01-03 18:41:04 +08:00
parent a944611164
commit 2e0bb2ae8f

View File

@@ -95,6 +95,37 @@ class ResUsers(models.Model):
res = super(ResUsers, self)._auth_oauth_signin(provider, validation, params) res = super(ResUsers, self)._auth_oauth_signin(provider, validation, params)
return res return res
def _create_user_from_template(self, values):
# todo: 注意,选模板用户的功能暂时不可开放,因为会与 social_login 不兼容
# 注意,没有装 app_partner_user时删除 user 时不会删除 partner故容易出错测试时要手工再把partner删除
# self = self.sudo()
# oauth_provider_id = values.get('oauth_provider_id')
# if oauth_provider_id:
# provider = request.env['auth.oauth.provider'].sudo().browse(int(oauth_provider_id))
# if provider:
# template_user = provider.user_template_id
# if not template_user and provider.scope.find('odoo') >= 0:
# template_user = self.env.ref('base.default_user', False)
# if not template_user:
# template_user_id = literal_eval(self.env['ir.config_parameter'].sudo().get_param('base.template_portal_user_id', 'False'))
# template_user = self.browse(template_user_id)
#
# if not values.get('login'):
# raise ValueError(_('Signup: no login given for new user'))
# if not values.get('partner_id') and not values.get('name'):
# raise ValueError(_('Signup: no name or partner given for new user'))
#
# # create a copy of the template user (attached to a specific partner_id if given)
# values['active'] = True
# try:
# with self.env.cr.savepoint():
# return template_user.sudo().with_context(no_reset_password=True).copy(values)
# except Exception as e:
# # copy may failed if asked login is not available.
# raise SignupError(str(e))
res = super(ResUsers, self)._create_user_from_template(values)
return res
@api.model @api.model
def _generate_signup_values(self, provider, validation, params): def _generate_signup_values(self, provider, validation, params):
# 此处生成 创建 odoo user 的初始值,增加字段如头像 # 此处生成 创建 odoo user 的初始值,增加字段如头像