diff --git a/app_saas/__manifest__.py b/app_saas/__manifest__.py index 46af6690..923dc271 100644 --- a/app_saas/__manifest__.py +++ b/app_saas/__manifest__.py @@ -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', diff --git a/app_saas/i18n/zh_CN.po b/app_saas/i18n/zh_CN.po index 08b4f0ab..03dc6cad 100644 --- a/app_saas/i18n/zh_CN.po +++ b/app_saas/i18n/zh_CN.po @@ -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" diff --git a/app_saas/models/ir_config_parameter.py b/app_saas/models/ir_config_parameter.py index 86128dfb..e80bccf8 100644 --- a/app_saas/models/ir_config_parameter.py +++ b/app_saas/models/ir_config_parameter.py @@ -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') diff --git a/app_saas/models/res_config_settings.py b/app_saas/models/res_config_settings.py index 9fe0c381..39fc7c09 100644 --- a/app_saas/models/res_config_settings.py +++ b/app_saas/models/res_config_settings.py @@ -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") - \ No newline at end of file diff --git a/app_saas/models/res_users.py b/app_saas/models/res_users.py index ccddef86..8e4f7a81 100644 --- a/app_saas/models/res_users.py +++ b/app_saas/models/res_users.py @@ -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()