udpate app_saas 增加secret 设置

This commit is contained in:
Ivan Office
2025-01-03 22:49:39 +08:00
parent 2a4d40f1b7
commit 742a27cf88
6 changed files with 34 additions and 11 deletions

View File

@@ -26,7 +26,7 @@
{
'name': 'odooapp.cn SaaS Client-Ai Passport.Odoo中文应用商店SaaS云服务客户端',
'version': '18.0.24.12.06',
'version': '18.0.25.01.03',
'author': 'odooai.cn',
'category': 'Base',
'website': 'https://www.odooai.cn',

View File

@@ -31,6 +31,11 @@ msgstr "勾选后即可启用Odoo中文云翻译相关服务由 www.odooapp.c
msgid "Config Settings"
msgstr "设置"
#. module: app_saas
#: model_terms:ir.ui.view,arch_db:app_saas.app_res_config_settings_view_form
msgid "https://www.odooapp.cn/apps/modules/app_cn_po"
msgstr "https://www.odooapp.cn/apps/modules/app_cn_po"
#. module: app_saas
#: model_terms:ir.ui.view,arch_db:app_saas.app_res_config_settings_view_form
msgid "Or get the app from"
@@ -43,6 +48,6 @@ msgid "SaaS Chinese PO"
msgstr "中文云翻译PO"
#. module: app_saas
#: model_terms:ir.ui.view,arch_db:app_saas.app_res_config_settings_view_form
msgid "https://www.odooapp.cn/apps/modules/app_cn_po"
msgstr "https://www.odooapp.cn/apps/modules/app_cn_po"
#: model:ir.model.fields,field_description:social_login.field_auth_oauth_provider__code_endpoint
msgid "Token by Code Endpoint"
msgstr "Code取Token入口"

View File

@@ -12,3 +12,6 @@ class ResConfigSettings(models.TransientModel):
_inherit = 'res.config.settings'
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=True, config_parameter='app_saas_db_token',
help="The odooapp SaaS Token for this Odoo Database. You can reset in https://www.odooapp.cn")

View File

@@ -50,9 +50,15 @@ class ResUsers(models.Model):
response = requests.get(oauth_provider.code_endpoint, params=params, timeout=30)
if response.ok:
ret = response.json()
# todo: 客户机首次连接时,取到的 server 端 key 写入 provider 的 client_secret
if ret.get('push_client_secret') and hasattr(oauth_provider, 'client_secret'):
oauth_provider.write({'client_secret': ret.get('push_client_secret')})
# 客户机首次连接时,取到的 server 端 key 写入 provider 的 client_secret
push_client_secret = ret.pop('push_client_secret', False)
if push_client_secret:
ICP = self.env['ir.config_parameter'].sudo()
app_saas_db_token = ICP.get_param('app_saas_db_token', False)
if not app_saas_db_token:
ICP.set_param('app_saas_db_token', push_client_secret)
if hasattr(oauth_provider, 'client_secret') and not oauth_provider.client_secret:
oauth_provider.write({'client_secret': push_client_secret})
self._cr.commit()
return ret
return {}

View File

@@ -8,9 +8,6 @@
<xpath expr="//field[@name='auth_endpoint']" position="after">
<field name="code_endpoint"/>
</xpath>
<xpath expr="//field[@name='data_endpoint']" position="before">
<field name="user_template_id"/>
</xpath>
</field>
</record>
</odoo>

View File

@@ -7,7 +7,8 @@
<field name="inherit_id" ref="base.res_config_settings_view_form"/>
<field name="arch" type="xml">
<xpath expr="//setting[@id='odooai_cloud_saas_ok']" position="after">
<setting string="SaaS Chinese PO" help="Checked to Sync Odoo Chinese from www.odooapp.cn" id="module_app_cn_po">
<setting string="SaaS Chinese PO" id="module_app_cn_po" invisible="not app_saas_ok"
help="Checked to Sync Odoo Chinese from www.odooapp.cn">
<field name="module_app_cn_po"/>
<div class="content-group mt16" invisible="not module_app_cn_po" id="msg_module_app_cn_po">
<div class="mt16 text-warning">
@@ -21,6 +22,17 @@
</div>
</div>
</setting>
<setting string="Cloud DB Token" id="set_app_saas_db_token" invisible="not app_saas_ok">
<field name="app_saas_db_token" widget="CopyClipboardChar" style="width:100%!important"/>
<div class="content-group">
<div class="text-warning">
The odooapp SaaS Token. You can get it after first time Login via Ai Passport of odooapp.cn. Also you can set from
<a href="https://www.odooapp.cn/my/" class="o_doc_link ml8"
target="_blank">https://www.odooapp.cn/my/
</a>
</div>
</div>
</setting>
</xpath>
</field>
</record>