diff --git a/yuthon_ai_agent_17/README.md b/yuthon_ai_agent/README.md similarity index 100% rename from yuthon_ai_agent_17/README.md rename to yuthon_ai_agent/README.md diff --git a/yuthon_ai_agent_17/__init__.py b/yuthon_ai_agent/__init__.py similarity index 100% rename from yuthon_ai_agent_17/__init__.py rename to yuthon_ai_agent/__init__.py diff --git a/yuthon_ai_agent_17/__manifest__.py b/yuthon_ai_agent/__manifest__.py similarity index 90% rename from yuthon_ai_agent_17/__manifest__.py rename to yuthon_ai_agent/__manifest__.py index 802dbe5ed..c3cae085e 100644 --- a/yuthon_ai_agent_17/__manifest__.py +++ b/yuthon_ai_agent/__manifest__.py @@ -15,7 +15,7 @@ 'author': 'pengyuthon', 'version': '17.0.2.2.0', 'license': 'LGPL-3', - 'depends': ['base', 'web', 'hr'], + 'depends': ['base', 'web', 'hr', 'sh_backmate_theme_adv_enterprise'], 'data': [ 'security/ai_security.xml', 'security/ir.model.access.csv', @@ -32,7 +32,7 @@ 'yuthon_ai_agent_17/static/src/js/ai_chat_action.js', 'yuthon_ai_agent_17/static/src/js/ai_floating.js', 'yuthon_ai_agent_17/static/src/xml/ai_chat_template.xml', - 'yuthon_ai_agent_17/static/src/xml/ai_floating_template.xml', + 'yuthon_ai_agent_17/static/src/xml/ai_navbar_button.xml', 'yuthon_ai_agent_17/static/src/css/ai_chat.css', 'yuthon_ai_agent_17/static/src/css/ai_floating.css', ], diff --git a/yuthon_ai_agent_17/controllers/__init__.py b/yuthon_ai_agent/controllers/__init__.py similarity index 100% rename from yuthon_ai_agent_17/controllers/__init__.py rename to yuthon_ai_agent/controllers/__init__.py diff --git a/yuthon_ai_agent_17/controllers/main.py b/yuthon_ai_agent/controllers/main.py similarity index 100% rename from yuthon_ai_agent_17/controllers/main.py rename to yuthon_ai_agent/controllers/main.py diff --git a/yuthon_ai_agent_17/data/demo_provider.xml b/yuthon_ai_agent/data/demo_provider.xml similarity index 100% rename from yuthon_ai_agent_17/data/demo_provider.xml rename to yuthon_ai_agent/data/demo_provider.xml diff --git a/yuthon_ai_agent_17/data/demo_rule.xml b/yuthon_ai_agent/data/demo_rule.xml similarity index 100% rename from yuthon_ai_agent_17/data/demo_rule.xml rename to yuthon_ai_agent/data/demo_rule.xml diff --git a/yuthon_ai_agent_17/models/__init__.py b/yuthon_ai_agent/models/__init__.py similarity index 100% rename from yuthon_ai_agent_17/models/__init__.py rename to yuthon_ai_agent/models/__init__.py diff --git a/yuthon_ai_agent_17/models/ai_agent.py b/yuthon_ai_agent/models/ai_agent.py similarity index 100% rename from yuthon_ai_agent_17/models/ai_agent.py rename to yuthon_ai_agent/models/ai_agent.py diff --git a/yuthon_ai_agent_17/models/ai_rule.py b/yuthon_ai_agent/models/ai_rule.py similarity index 100% rename from yuthon_ai_agent_17/models/ai_rule.py rename to yuthon_ai_agent/models/ai_rule.py diff --git a/yuthon_ai_agent_17/models/ai_token_usage.py b/yuthon_ai_agent/models/ai_token_usage.py similarity index 100% rename from yuthon_ai_agent_17/models/ai_token_usage.py rename to yuthon_ai_agent/models/ai_token_usage.py diff --git a/yuthon_ai_agent_17/models/ai_user_profile.py b/yuthon_ai_agent/models/ai_user_profile.py similarity index 100% rename from yuthon_ai_agent_17/models/ai_user_profile.py rename to yuthon_ai_agent/models/ai_user_profile.py diff --git a/yuthon_ai_agent_17/security/ai_security.xml b/yuthon_ai_agent/security/ai_security.xml similarity index 100% rename from yuthon_ai_agent_17/security/ai_security.xml rename to yuthon_ai_agent/security/ai_security.xml diff --git a/yuthon_ai_agent_17/security/ir.model.access.csv b/yuthon_ai_agent/security/ir.model.access.csv similarity index 100% rename from yuthon_ai_agent_17/security/ir.model.access.csv rename to yuthon_ai_agent/security/ir.model.access.csv diff --git a/yuthon_ai_agent_17/static/src/css/ai_chat.css b/yuthon_ai_agent/static/src/css/ai_chat.css similarity index 100% rename from yuthon_ai_agent_17/static/src/css/ai_chat.css rename to yuthon_ai_agent/static/src/css/ai_chat.css diff --git a/yuthon_ai_agent_17/static/src/css/ai_floating.css b/yuthon_ai_agent/static/src/css/ai_floating.css similarity index 100% rename from yuthon_ai_agent_17/static/src/css/ai_floating.css rename to yuthon_ai_agent/static/src/css/ai_floating.css diff --git a/yuthon_ai_agent_17/static/src/js/ai_chat_action.js b/yuthon_ai_agent/static/src/js/ai_chat_action.js similarity index 100% rename from yuthon_ai_agent_17/static/src/js/ai_chat_action.js rename to yuthon_ai_agent/static/src/js/ai_chat_action.js diff --git a/yuthon_ai_agent_17/static/src/js/ai_floating.js b/yuthon_ai_agent/static/src/js/ai_floating.js similarity index 96% rename from yuthon_ai_agent_17/static/src/js/ai_floating.js rename to yuthon_ai_agent/static/src/js/ai_floating.js index b32aca959..a911e0d4d 100644 --- a/yuthon_ai_agent_17/static/src/js/ai_floating.js +++ b/yuthon_ai_agent/static/src/js/ai_floating.js @@ -1,8 +1,8 @@ /** @odoo-module **/ -import { Component } from "@odoo/owl"; -import { registry } from "@web/core/registry"; import { jsonrpc } from "@web/core/network/rpc_service"; +import { NavBar } from "@web/webclient/navbar/navbar"; +import { patch } from "@web/core/utils/patch"; /** * AI 浮动聊天窗口 — 右下角弹出式聊天面板 @@ -277,16 +277,9 @@ function toggleChat() { } } -// ====== Systray 组件 ====== -export class AiSystrayItem extends Component { - static template = "yuthon_ai_agent_17.AiSystray"; - static props = ["*"]; - - toggleChat() { +// ====== 通过 patch NavBar 挂载 AI 按钮点击事件 ====== +patch(NavBar.prototype, { + _click_ai_toggle(ev) { toggleChat(); - } -} - -registry.category("systray").add("yuthon_ai_agent_17.systray", { - Component: AiSystrayItem, -}, { sequence: 25 }); + }, +}); diff --git a/yuthon_ai_agent_17/static/src/xml/ai_chat_template.xml b/yuthon_ai_agent/static/src/xml/ai_chat_template.xml similarity index 100% rename from yuthon_ai_agent_17/static/src/xml/ai_chat_template.xml rename to yuthon_ai_agent/static/src/xml/ai_chat_template.xml diff --git a/yuthon_ai_agent_17/static/src/xml/ai_floating_template.xml b/yuthon_ai_agent/static/src/xml/ai_floating_template.xml similarity index 100% rename from yuthon_ai_agent_17/static/src/xml/ai_floating_template.xml rename to yuthon_ai_agent/static/src/xml/ai_floating_template.xml diff --git a/yuthon_ai_agent/static/src/xml/ai_navbar_button.xml b/yuthon_ai_agent/static/src/xml/ai_navbar_button.xml new file mode 100644 index 000000000..b0ec4de0c --- /dev/null +++ b/yuthon_ai_agent/static/src/xml/ai_navbar_button.xml @@ -0,0 +1,18 @@ + + + + + + + +