fix(college): 实训白名单修正47->50——移出3个application=False的自有模块(yuthon_contract/yuthon_hr_employee/yuthon_web,应用列表不显示),换入fleet(车辆)/repair(维修)/hr_contract(员工合同)三个application=True的模块;生产库实测新白名单50/50全部可见;注释补充application标志教训

This commit is contained in:
qitangbo
2026-10-19 17:01:40 +08:00
parent 788203f9a0
commit 1f985e96c7
+9 -4
View File
@@ -14,18 +14,23 @@
跨数据库不一致(企业库与本地库映射完全不同,极易误伤,旧注释的映射已作废);
2026-10-19 改为白名单:按模块名(跨库稳定),且显示内容完全可控。
名单构成(共 50 个):
1) 自有模块 27 个——agent_* 智能体平台、college(教育)、school_base、
1) 自有模块 24 个——agent_* 智能体平台、college(教育)、school_base、
student_organization、learning_center、odoosh_connector、yuthon_* 人事薪酬系列、
game_* / yt_world / yusen_website 宇森游戏与官网;
2) Odoo 原生精选 23 个——销售/CRM/采购/库存/财务/POS/项目/人事/制造/质量/
维护/服务台/知识/网站/在线学习等教学实训常用套件。
2) Odoo 原生精选 26 个——销售/CRM/采购/库存/财务/POS/项目/人事/制造/质量/
维护/服务台/知识/网站/在线学习/车辆/维修/员工合同等教学实训常用套件。
未列入的说明:
- school(未安装,且与 college 重名「教育」,避免列表出现两张同名卡片);
- lucky_theme_backend / many2many_tags_preview / omux_menu_center(第三方 UI 模块);
- 其余 Odoo 原生小应用(estate/will_task/data_recycle/room/lunch 等)。
血泪教训(2026-10-19 实测后补充):domain 含 ('application','=',True),
**manifest 里 application=False 的模块列进白名单也不会显示**——曾因此只显示 47 个
(yuthon_contract / yuthon_hr_employee / yuthon_web 三个功能扩展模块不显示,
已移出名单,换入 fleet / repair / hr_contract 三个 application=True 的补足 50)。
今后新增名单条目时,务必先在目标库确认 application=True。
维护:新装的自有模块必须往本清单里加,否则不会显示;总数超过 50 时
module_list_cap.js 把显示硬顶在 50(第 2 页点不动、每页数锁定)。 -->
<field name="domain">[('application', '=', True), ('name', 'in', ['account', 'accountant', 'agent_api', 'agent_channel', 'agent_core', 'agent_market', 'agent_payment', 'agent_portal', 'college', 'crm', 'game_ai_npc', 'game_base', 'helpdesk', 'hr', 'hr_attendance', 'hr_expense', 'hr_holidays', 'hr_recruitment', 'knowledge', 'learning_center', 'maintenance', 'mrp', 'mrp_workorder', 'odoosh_connector', 'point_of_sale', 'pos_restaurant', 'project', 'purchase', 'quality_control', 'sale_management', 'school_base', 'stock', 'student_organization', 'survey', 'website', 'website_slides', 'yt_world', 'yusen_website', 'yuthon_applicant', 'yuthon_attendance', 'yuthon_contract', 'yuthon_employee', 'yuthon_hr_attendance', 'yuthon_hr_employee', 'yuthon_notice', 'yuthon_salary', 'yuthon_school', 'yuthon_wage', 'yuthon_web', 'yuthon_will_task'])]</field>
<field name="domain">[('application', '=', True), ('name', 'in', ['account', 'accountant', 'agent_api', 'agent_channel', 'agent_core', 'agent_market', 'agent_payment', 'agent_portal', 'college', 'crm', 'fleet', 'game_ai_npc', 'game_base', 'helpdesk', 'hr', 'hr_attendance', 'hr_contract', 'hr_expense', 'hr_holidays', 'hr_recruitment', 'knowledge', 'learning_center', 'maintenance', 'mrp', 'mrp_workorder', 'odoosh_connector', 'point_of_sale', 'pos_restaurant', 'project', 'purchase', 'quality_control', 'repair', 'sale_management', 'school_base', 'stock', 'student_organization', 'survey', 'website', 'website_slides', 'yt_world', 'yusen_website', 'yuthon_applicant', 'yuthon_attendance', 'yuthon_employee', 'yuthon_hr_attendance', 'yuthon_notice', 'yuthon_salary', 'yuthon_school', 'yuthon_wage', 'yuthon_will_task'])]</field>
<!-- shixun_hide_empty_categories:搜索面板「类别」列过滤掉计数为 0 的类别
(见 models/ir_module_module_info.py 对 search_panel_select_range 的包装) -->
<field name="context">{'shixun_hide_empty_categories': True}</field>