From 6c282c35fa7580048fb279b94bbf7a51f57bd409 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E9=B9=8F=E5=AE=87?= Date: Fri, 3 Jul 2026 14:07:13 +0800 Subject: [PATCH 01/12] =?UTF-8?q?=E7=BC=96=E8=BE=91=E6=8C=89=E9=92=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../static/src/views/form/form_controller.js | 29 ++++++++++++++----- 1 file changed, 21 insertions(+), 8 deletions(-) diff --git a/sh_backmate_theme_adv_enterprise/static/src/views/form/form_controller.js b/sh_backmate_theme_adv_enterprise/static/src/views/form/form_controller.js index 9be4e165b..20034a041 100644 --- a/sh_backmate_theme_adv_enterprise/static/src/views/form/form_controller.js +++ b/sh_backmate_theme_adv_enterprise/static/src/views/form/form_controller.js @@ -39,6 +39,7 @@ patch(FormController.prototype, { }); // 监听resId变化 useEffect(() => { + console.log("[editButtonState] useEffect 触发, resId:", this.model?.root?.resId); this.editButtonState(); }, () => [this.model?.root?.resId]); // end edit @@ -94,37 +95,49 @@ patch(FormController.prototype, { async editButtonState() { this.buttonState.showEditButton = true; try { + console.log("[editButtonState] === 开始检查 ==="); + console.log("[editButtonState] isAdmin (session.is_system):", this.isAdmin); + if (this.isAdmin) { + console.log("[editButtonState] 管理员,直接显示编辑按钮"); this.buttonState.showEditButton = true; return; } + const resModel = this.model.config.resModel || this.model.root.resModel || this.props.resModel; const resId = this.model.config.resId || this.model.root.resId || this.props.resId; const currentUserId = this.env.services.user.userId; + console.log("[editButtonState] resModel:", resModel, "| resId:", resId, "| currentUserId:", currentUserId, "(session.uid:", session.uid, ")"); + if (resModel && resId) { - // 1. 判断 self_users_ids(经办人)— 不依赖 view fields,直接 ORM 读取 - // 因为 self_users_ids 可能不在表单视图里渲染,fields 元数据会缺失 try { const result = await this.orm.read(resModel, [resId], ["self_users_ids", "work_end"]); + console.log("[editButtonState] ORM read 结果:", JSON.stringify(result)); const selfUsers = result[0]?.self_users_ids || []; - // 经办人列表有值时,当前用户不在里面就隐藏编辑按钮 + const workEnd = result[0]?.work_end; + console.log("[editButtonState] self_users_ids:", selfUsers, "| work_end:", workEnd); + console.log("[editButtonState] 当前用户在经办人列表里?", selfUsers.includes(currentUserId)); + if (selfUsers.length > 0 && !selfUsers.includes(currentUserId)) { + console.log("[editButtonState] ❌ 当前用户不是经办人,隐藏编辑按钮"); this.buttonState.showEditButton = false; return; } - // 2. work_end 判断(同一次 ORM 读取,减少请求) - if (result[0]?.work_end === true) { + if (workEnd === true) { + console.log("[editButtonState] ❌ 流程已结束(work_end=true),隐藏编辑按钮"); this.buttonState.showEditButton = false; return; } } catch (e) { - // 模型没有 self_users_ids / work_end 字段,跳过检查,正常显示编辑按钮 + console.log("[editButtonState] ORM read 失败(模型可能没有 self_users_ids/work_end 字段):", e?.message || e); } - // 3. 以上条件都不满足,显示编辑按钮 + console.log("[editButtonState] ✅ 显示编辑按钮"); this.buttonState.showEditButton = true; + } else { + console.log("[editButtonState] resModel 或 resId 为空,跳过检查,显示编辑按钮"); } } catch (error) { - console.error("检查编辑按钮状态:", error); + console.error("[editButtonState] 检查编辑按钮状态出错:", error); this.buttonState.showEditButton = true; } } From 8daec4e1441a8c84e7f097f3c8a86c8eae2a6127 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E9=B9=8F=E5=AE=87?= Date: Fri, 3 Jul 2026 14:07:13 +0800 Subject: [PATCH 02/12] =?UTF-8?q?=E7=BC=96=E8=BE=91=E6=8C=89=E9=92=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../static/src/views/form/form_controller.js | 29 ++++++++++++++----- 1 file changed, 21 insertions(+), 8 deletions(-) diff --git a/sh_backmate_theme_adv_enterprise/static/src/views/form/form_controller.js b/sh_backmate_theme_adv_enterprise/static/src/views/form/form_controller.js index 9be4e165b..20034a041 100644 --- a/sh_backmate_theme_adv_enterprise/static/src/views/form/form_controller.js +++ b/sh_backmate_theme_adv_enterprise/static/src/views/form/form_controller.js @@ -39,6 +39,7 @@ patch(FormController.prototype, { }); // 监听resId变化 useEffect(() => { + console.log("[editButtonState] useEffect 触发, resId:", this.model?.root?.resId); this.editButtonState(); }, () => [this.model?.root?.resId]); // end edit @@ -94,37 +95,49 @@ patch(FormController.prototype, { async editButtonState() { this.buttonState.showEditButton = true; try { + console.log("[editButtonState] === 开始检查 ==="); + console.log("[editButtonState] isAdmin (session.is_system):", this.isAdmin); + if (this.isAdmin) { + console.log("[editButtonState] 管理员,直接显示编辑按钮"); this.buttonState.showEditButton = true; return; } + const resModel = this.model.config.resModel || this.model.root.resModel || this.props.resModel; const resId = this.model.config.resId || this.model.root.resId || this.props.resId; const currentUserId = this.env.services.user.userId; + console.log("[editButtonState] resModel:", resModel, "| resId:", resId, "| currentUserId:", currentUserId, "(session.uid:", session.uid, ")"); + if (resModel && resId) { - // 1. 判断 self_users_ids(经办人)— 不依赖 view fields,直接 ORM 读取 - // 因为 self_users_ids 可能不在表单视图里渲染,fields 元数据会缺失 try { const result = await this.orm.read(resModel, [resId], ["self_users_ids", "work_end"]); + console.log("[editButtonState] ORM read 结果:", JSON.stringify(result)); const selfUsers = result[0]?.self_users_ids || []; - // 经办人列表有值时,当前用户不在里面就隐藏编辑按钮 + const workEnd = result[0]?.work_end; + console.log("[editButtonState] self_users_ids:", selfUsers, "| work_end:", workEnd); + console.log("[editButtonState] 当前用户在经办人列表里?", selfUsers.includes(currentUserId)); + if (selfUsers.length > 0 && !selfUsers.includes(currentUserId)) { + console.log("[editButtonState] ❌ 当前用户不是经办人,隐藏编辑按钮"); this.buttonState.showEditButton = false; return; } - // 2. work_end 判断(同一次 ORM 读取,减少请求) - if (result[0]?.work_end === true) { + if (workEnd === true) { + console.log("[editButtonState] ❌ 流程已结束(work_end=true),隐藏编辑按钮"); this.buttonState.showEditButton = false; return; } } catch (e) { - // 模型没有 self_users_ids / work_end 字段,跳过检查,正常显示编辑按钮 + console.log("[editButtonState] ORM read 失败(模型可能没有 self_users_ids/work_end 字段):", e?.message || e); } - // 3. 以上条件都不满足,显示编辑按钮 + console.log("[editButtonState] ✅ 显示编辑按钮"); this.buttonState.showEditButton = true; + } else { + console.log("[editButtonState] resModel 或 resId 为空,跳过检查,显示编辑按钮"); } } catch (error) { - console.error("检查编辑按钮状态:", error); + console.error("[editButtonState] 检查编辑按钮状态出错:", error); this.buttonState.showEditButton = true; } } From 894d1ef6741a3418f09a912f07bf8725f63109ee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E9=B9=8F=E5=AE=87?= Date: Fri, 3 Jul 2026 14:21:35 +0800 Subject: [PATCH 03/12] =?UTF-8?q?=E7=BC=96=E8=BE=91=E6=8C=89=E9=92=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../static/src/views/form/form_controller.js | 21 ++++++------------- soong_workflow/models/soong_workflow_mixin.py | 13 ++++++++++++ 2 files changed, 19 insertions(+), 15 deletions(-) diff --git a/sh_backmate_theme_adv_enterprise/static/src/views/form/form_controller.js b/sh_backmate_theme_adv_enterprise/static/src/views/form/form_controller.js index 20034a041..0ce09c23b 100644 --- a/sh_backmate_theme_adv_enterprise/static/src/views/form/form_controller.js +++ b/sh_backmate_theme_adv_enterprise/static/src/views/form/form_controller.js @@ -110,26 +110,17 @@ patch(FormController.prototype, { console.log("[editButtonState] resModel:", resModel, "| resId:", resId, "| currentUserId:", currentUserId, "(session.uid:", session.uid, ")"); if (resModel && resId) { + // 1. 判断 self_users_ids(经办人)— 调用模型方法,避免触发 mixin 里 read() 的日志副作用 try { - const result = await this.orm.read(resModel, [resId], ["self_users_ids", "work_end"]); - console.log("[editButtonState] ORM read 结果:", JSON.stringify(result)); - const selfUsers = result[0]?.self_users_ids || []; - const workEnd = result[0]?.work_end; - console.log("[editButtonState] self_users_ids:", selfUsers, "| work_end:", workEnd); - console.log("[editButtonState] 当前用户在经办人列表里?", selfUsers.includes(currentUserId)); - - if (selfUsers.length > 0 && !selfUsers.includes(currentUserId)) { - console.log("[editButtonState] ❌ 当前用户不是经办人,隐藏编辑按钮"); - this.buttonState.showEditButton = false; - return; - } - if (workEnd === true) { - console.log("[editButtonState] ❌ 流程已结束(work_end=true),隐藏编辑按钮"); + const state = await this.orm.call(resModel, "get_edit_button_state", [[resId]]); + console.log("[editButtonState] get_edit_button_state 返回:", JSON.stringify(state)); + if (state && state.show_edit === false) { + console.log("[editButtonState] ❌ 不是经办人或流程已结束,隐藏编辑按钮"); this.buttonState.showEditButton = false; return; } } catch (e) { - console.log("[editButtonState] ORM read 失败(模型可能没有 self_users_ids/work_end 字段):", e?.message || e); + console.log("[editButtonState] get_edit_button_state 调用失败(模型可能没有该方法):", e?.message || e); } console.log("[editButtonState] ✅ 显示编辑按钮"); this.buttonState.showEditButton = true; diff --git a/soong_workflow/models/soong_workflow_mixin.py b/soong_workflow/models/soong_workflow_mixin.py index 644426afc..00e6e3c88 100644 --- a/soong_workflow/models/soong_workflow_mixin.py +++ b/soong_workflow/models/soong_workflow_mixin.py @@ -27,6 +27,19 @@ class SoongWorkflowMixin(models.AbstractModel): target_logs.write({'approval_state': '1'}) return super(SoongWorkflowMixin, self).read(fields=fields, load=load) + def get_edit_button_state(self): + """供前端判断编辑按钮是否显示,避免触发 read() 重写里的日志副作用。""" + self.ensure_one() + # 没有 self_users_ids / work_end 字段的模型不做限制 + if not hasattr(self, 'self_users_ids') or not hasattr(self, 'work_end'): + return {'show_edit': True} + is_current_user = self.env.user.id in self.self_users_ids.ids + return { + 'show_edit': is_current_user and not self.work_end, + 'self_users_ids': self.self_users_ids.ids, + 'work_end': self.work_end, + } + # @api.model # def write(self, vals): # res = super(SoongWorkflowMixin, self).write(vals) From 986013b2e11ea489aa5474ee5f6af5e6c6c2d1d8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E9=B9=8F=E5=AE=87?= Date: Fri, 3 Jul 2026 14:33:39 +0800 Subject: [PATCH 04/12] =?UTF-8?q?=E7=BC=96=E8=BE=91=E6=8C=89=E9=92=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sun_badge_menu/views/ir_ui_menu.xml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/sun_badge_menu/views/ir_ui_menu.xml b/sun_badge_menu/views/ir_ui_menu.xml index 22f2fa443..6d0c90c82 100644 --- a/sun_badge_menu/views/ir_ui_menu.xml +++ b/sun_badge_menu/views/ir_ui_menu.xml @@ -10,6 +10,9 @@ + + many2many_tags + From 58427f8f3a7742541a78b0f39d4007e530d4bdf3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E9=B9=8F=E5=AE=87?= Date: Fri, 3 Jul 2026 14:57:47 +0800 Subject: [PATCH 05/12] =?UTF-8?q?=E7=BC=96=E8=BE=91=E6=8C=89=E9=92=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../static/src/scss/sidebar/collapsed.scss | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/sh_backmate_theme_adv_enterprise/static/src/scss/sidebar/collapsed.scss b/sh_backmate_theme_adv_enterprise/static/src/scss/sidebar/collapsed.scss index 48f4299b7..b6129b258 100644 --- a/sh_backmate_theme_adv_enterprise/static/src/scss/sidebar/collapsed.scss +++ b/sh_backmate_theme_adv_enterprise/static/src/scss/sidebar/collapsed.scss @@ -468,6 +468,12 @@ .logo { background: #fff; } + #company_logo { + display: none; + } + #company_name_logo { + margin: auto; + } /* =============== topbar ================= */ nav.o_main_navbar { From a6fd08950c94823dd9a2f76e75e7586f8a30c52a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E9=B9=8F=E5=AE=87?= Date: Fri, 3 Jul 2026 15:23:37 +0800 Subject: [PATCH 06/12] =?UTF-8?q?=E7=BC=96=E8=BE=91=E6=8C=89=E9=92=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- soong_workflow/models/soong_workflow_mixin.py | 12 +++++++++++- sun_badge_menu/views/ir_ui_menu.xml | 3 --- yuthon_base/__manifest__.py | 1 + 3 files changed, 12 insertions(+), 4 deletions(-) diff --git a/soong_workflow/models/soong_workflow_mixin.py b/soong_workflow/models/soong_workflow_mixin.py index 00e6e3c88..f216a8564 100644 --- a/soong_workflow/models/soong_workflow_mixin.py +++ b/soong_workflow/models/soong_workflow_mixin.py @@ -34,10 +34,20 @@ class SoongWorkflowMixin(models.AbstractModel): if not hasattr(self, 'self_users_ids') or not hasattr(self, 'work_end'): return {'show_edit': True} is_current_user = self.env.user.id in self.self_users_ids.ids + # is_modify=True 且当前用户是流程创建人时也允许编辑 + is_modify_creator = False + if hasattr(self, 'is_modify') and self.is_modify: + workflow_record = self.env["soong.workflow.record"].search( + [("res_model", "=", self._name), ("res_id", "=", self.id), ('reclaim_state', '=', False)], limit=1) + if workflow_record and workflow_record.create_uid.id == self.env.user.id: + is_modify_creator = True + show_edit = (is_current_user and not self.work_end) or is_modify_creator return { - 'show_edit': is_current_user and not self.work_end, + 'show_edit': show_edit, 'self_users_ids': self.self_users_ids.ids, 'work_end': self.work_end, + 'is_modify': hasattr(self, 'is_modify') and self.is_modify, + 'is_modify_creator': is_modify_creator, } # @api.model diff --git a/sun_badge_menu/views/ir_ui_menu.xml b/sun_badge_menu/views/ir_ui_menu.xml index 6d0c90c82..22f2fa443 100644 --- a/sun_badge_menu/views/ir_ui_menu.xml +++ b/sun_badge_menu/views/ir_ui_menu.xml @@ -10,9 +10,6 @@ - - many2many_tags - diff --git a/yuthon_base/__manifest__.py b/yuthon_base/__manifest__.py index 8f4a07011..682f74d82 100644 --- a/yuthon_base/__manifest__.py +++ b/yuthon_base/__manifest__.py @@ -18,6 +18,7 @@ 'views/yuthon_phone_lotter.xml', 'views/menu.xml', 'views/res_groups_views.xml', + 'views/ir_ui_menu_views.xml', ], 'assets': { 'web.assets_backend': [ From 0c9285386a52b34479880f327de7489fb1af5548 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E9=B9=8F=E5=AE=87?= Date: Fri, 3 Jul 2026 15:24:40 +0800 Subject: [PATCH 07/12] =?UTF-8?q?=E7=BC=96=E8=BE=91=E6=8C=89=E9=92=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- yuthon_base/views/ir_ui_menu_views.xml | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 yuthon_base/views/ir_ui_menu_views.xml diff --git a/yuthon_base/views/ir_ui_menu_views.xml b/yuthon_base/views/ir_ui_menu_views.xml new file mode 100644 index 000000000..aa705ee52 --- /dev/null +++ b/yuthon_base/views/ir_ui_menu_views.xml @@ -0,0 +1,17 @@ + + + + + + yuthon.base.ir.ui.menu.form + ir.ui.menu + + + + + + + + + + From f8affab2836d7d9e47db13fd462c5ecad2311ed6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E9=B9=8F=E5=AE=87?= Date: Fri, 3 Jul 2026 15:41:40 +0800 Subject: [PATCH 08/12] =?UTF-8?q?=E7=BC=96=E8=BE=91=E6=8C=89=E9=92=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sun_badge_menu/__manifest__.py | 2 +- sun_badge_menu/views/ir_ui_menu.xml | 2 +- .../src/views/knowledge_form_controller.xml | 8 +++ yuthon_base/views/ir_ui_menu_views.xml | 69 +++++++++++++++++-- 4 files changed, 73 insertions(+), 8 deletions(-) create mode 100644 yuthon_base/static/src/views/knowledge_form_controller.xml diff --git a/sun_badge_menu/__manifest__.py b/sun_badge_menu/__manifest__.py index 95ef56bec..427b95d6c 100644 --- a/sun_badge_menu/__manifest__.py +++ b/sun_badge_menu/__manifest__.py @@ -8,7 +8,7 @@ "maintainer": "sun", "license" : "", "category": "Tools", - "depends": ["base", "web"], + "depends": ["base", "web", "yuthon_base"], "data": [ 'views/webclient_templates.xml', 'views/ir_ui_menu.xml' diff --git a/sun_badge_menu/views/ir_ui_menu.xml b/sun_badge_menu/views/ir_ui_menu.xml index 22f2fa443..a988abb11 100644 --- a/sun_badge_menu/views/ir_ui_menu.xml +++ b/sun_badge_menu/views/ir_ui_menu.xml @@ -4,7 +4,7 @@ ir.ui.menu - + diff --git a/yuthon_base/static/src/views/knowledge_form_controller.xml b/yuthon_base/static/src/views/knowledge_form_controller.xml new file mode 100644 index 000000000..44abdb9f2 --- /dev/null +++ b/yuthon_base/static/src/views/knowledge_form_controller.xml @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/yuthon_base/views/ir_ui_menu_views.xml b/yuthon_base/views/ir_ui_menu_views.xml index aa705ee52..99d618f09 100644 --- a/yuthon_base/views/ir_ui_menu_views.xml +++ b/yuthon_base/views/ir_ui_menu_views.xml @@ -2,16 +2,73 @@ - - yuthon.base.ir.ui.menu.form + + + yuthon.ir.ui.menu.form ir.ui.menu - - - - +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + 菜单项 + ir.ui.menu + tree,form + + {'ir.ui.menu.full_list':True} + + 管理并自定义 Odoo 系统菜单中可用和显示的项目。 + + + + + + tree + + + + + + + form + + + + + +
From ca9b5ea191ba62c44b01d1f6daefe0250b201320 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E9=B9=8F=E5=AE=87?= Date: Fri, 3 Jul 2026 15:59:38 +0800 Subject: [PATCH 09/12] =?UTF-8?q?=E7=BC=96=E8=BE=91=E6=8C=89=E9=92=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sun_badge_menu/__manifest__.py | 2 +- sun_badge_menu/views/ir_ui_menu.xml | 2 +- yuthon_base/views/ir_ui_menu_views.xml | 69 +++----------------------- 3 files changed, 8 insertions(+), 65 deletions(-) diff --git a/sun_badge_menu/__manifest__.py b/sun_badge_menu/__manifest__.py index 427b95d6c..95ef56bec 100644 --- a/sun_badge_menu/__manifest__.py +++ b/sun_badge_menu/__manifest__.py @@ -8,7 +8,7 @@ "maintainer": "sun", "license" : "", "category": "Tools", - "depends": ["base", "web", "yuthon_base"], + "depends": ["base", "web"], "data": [ 'views/webclient_templates.xml', 'views/ir_ui_menu.xml' diff --git a/sun_badge_menu/views/ir_ui_menu.xml b/sun_badge_menu/views/ir_ui_menu.xml index a988abb11..22f2fa443 100644 --- a/sun_badge_menu/views/ir_ui_menu.xml +++ b/sun_badge_menu/views/ir_ui_menu.xml @@ -4,7 +4,7 @@ ir.ui.menu - + diff --git a/yuthon_base/views/ir_ui_menu_views.xml b/yuthon_base/views/ir_ui_menu_views.xml index 99d618f09..aa705ee52 100644 --- a/yuthon_base/views/ir_ui_menu_views.xml +++ b/yuthon_base/views/ir_ui_menu_views.xml @@ -2,73 +2,16 @@ - - - yuthon.ir.ui.menu.form + + yuthon.base.ir.ui.menu.form ir.ui.menu + -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+ + +
- - - 菜单项 - ir.ui.menu - tree,form - - {'ir.ui.menu.full_list':True} - - 管理并自定义 Odoo 系统菜单中可用和显示的项目。 - - - - - - tree - - - - - - - form - - - - - -
From 0a061abe4a6c3162fc1523fa7bcae033c3c18baa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E9=B9=8F=E5=AE=87?= Date: Fri, 3 Jul 2026 16:03:02 +0800 Subject: [PATCH 10/12] =?UTF-8?q?=E7=BC=96=E8=BE=91=E6=8C=89=E9=92=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- yuthon_base/views/ir_cron_act_views.xml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/yuthon_base/views/ir_cron_act_views.xml b/yuthon_base/views/ir_cron_act_views.xml index fb301dc4d..0e0f8b98f 100644 --- a/yuthon_base/views/ir_cron_act_views.xml +++ b/yuthon_base/views/ir_cron_act_views.xml @@ -1,5 +1,6 @@ + + ir.cron.type.tree ir.cron.type From 4da834e138bb8a3dea4accb31008b8db4622c5cb Mon Sep 17 00:00:00 2001 From: pengyuthon Date: Fri, 3 Jul 2026 16:22:36 +0800 Subject: [PATCH 11/12] xxx --- yuthon_base/__manifest__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/yuthon_base/__manifest__.py b/yuthon_base/__manifest__.py index 682f74d82..d0d7df7be 100644 --- a/yuthon_base/__manifest__.py +++ b/yuthon_base/__manifest__.py @@ -28,7 +28,7 @@ ] }, 'demo': [], - 'depends': ['hr', 'mail', 'base', 'survey', 'account'], + 'depends': ['hr', 'mail', 'base', 'survey', 'account', 'knowledge'], 'installable': True, 'application': True, } From e79bf8f6a8d29fc90941cfbe69054eeca7abcb43 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E9=B9=8F=E5=AE=87?= Date: Fri, 3 Jul 2026 16:25:33 +0800 Subject: [PATCH 12/12] =?UTF-8?q?=E7=BC=96=E8=BE=91=E6=8C=89=E9=92=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- yuthon_base/__manifest__.py | 2 +- .../static/src/views/knowledge_form_controller.xml | 8 -------- 2 files changed, 1 insertion(+), 9 deletions(-) delete mode 100644 yuthon_base/static/src/views/knowledge_form_controller.xml diff --git a/yuthon_base/__manifest__.py b/yuthon_base/__manifest__.py index d0d7df7be..682f74d82 100644 --- a/yuthon_base/__manifest__.py +++ b/yuthon_base/__manifest__.py @@ -28,7 +28,7 @@ ] }, 'demo': [], - 'depends': ['hr', 'mail', 'base', 'survey', 'account', 'knowledge'], + 'depends': ['hr', 'mail', 'base', 'survey', 'account'], 'installable': True, 'application': True, } diff --git a/yuthon_base/static/src/views/knowledge_form_controller.xml b/yuthon_base/static/src/views/knowledge_form_controller.xml deleted file mode 100644 index 44abdb9f2..000000000 --- a/yuthon_base/static/src/views/knowledge_form_controller.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - -