Files
shcool/college/views/shixun_kanban_view.xml
T
2026-09-16 15:34:00 +08:00

70 lines
4.5 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<odoo>
<!-- ===================== 实训模块专用看板(独立视图,不继承原生 Apps 看板) =====================
仅「实训模块」动作使用;原生 Apps 看板保持原样。
卡片只保留「模块信息」入口,去掉 Learn More 与 odoo.com 定价外链;
安装/升级/卸载按钮权限直接放开给老师组(base.group_erp_manager),
不依赖 menus.xml 对原生 base.module_view_kanban 的继承。 -->
<record id="shixun_module_kanban_view" model="ir.ui.view">
<field name="name">实训模块应用看板</field>
<field name="model">ir.module.module</field>
<field name="mode">primary</field>
<field name="arch" type="xml">
<kanban create="false" can_open="0" class="o_modules_kanban">
<field name="to_buy"/>
<field name="name"/>
<field name="state"/>
<field name="summary"/>
<field name="website"/>
<field name="application"/>
<field name="module_origin"/>
<templates>
<t t-name="menu">
<t t-set="installed" t-value="record.state.raw_value == 'installed'"/>
<a type="open" class="dropdown-item">模块信息</a>
<a t-if="installed" name="button_immediate_upgrade" type="object" role="menuitem" class="dropdown-item" groups="base.group_erp_manager">升级</a>
<a t-if="installed" name="button_uninstall_wizard" type="object" role="menuitem" class="dropdown-item" groups="base.group_erp_manager">卸载</a>
</t>
<t t-name="card" class="flex-row align-items-center">
<aside>
<field name="icon" widget="image_url" options="{'size': [50, 50]}" alt="Icon"/>
<field t-if="record.icon_flag" name="icon_flag" class="oe_module_flag"/>
</aside>
<main class="me-4" t-att-title="record.shortdesc.value">
<field class="fw-bold fs-5" name="shortdesc"/>
<p class="text-muted small my-0 lh-sm">
<field groups="!base.group_no_one" name="summary"/>
<code groups="base.group_no_one"><field name="name"/></code>
</p>
<footer class="w-100 justify-content-between">
<button type="object" class="btn btn-primary btn-sm" name="button_immediate_install" invisible="state != 'uninstalled'" t-if="! record.to_buy.raw_value" groups="base.group_erp_manager">安装</button>
<div t-if="installed" class="d-flex align-items-center text-muted float-start">已安装</div>
<a type="edit" class="btn btn-secondary btn-sm float-end" role="button">模块信息</a>
<button invisible="state != 'to remove'" type="object" class="btn btn-sm btn-primary" name="button_uninstall_cancel" groups="base.group_erp_manager">取消卸载</button>
<button invisible="state != 'to install'" type="object" class="btn btn-sm btn-primary" name="button_install_cancel" groups="base.group_erp_manager">取消安装</button>
</footer>
</main>
</t>
</templates>
</kanban>
</field>
</record>
<!-- 实训模块搜索视图:继承原生 Apps 搜索,追加「模块来源」过滤 -->
<record id="shixun_module_search_view" model="ir.ui.view">
<field name="name">实训模块搜索</field>
<field name="model">ir.module.module</field>
<field name="mode">extension</field>
<field name="inherit_id" ref="base.view_module_filter"/>
<field name="arch" type="xml">
<xpath expr="//search" position="inside">
<separator/>
<filter name="official" string="系统原生" domain="[('module_origin', '=', 'official')]"/>
<filter name="local" string="本地模块" domain="[('module_origin', '=', 'local')]"/>
</xpath>
<!-- 移除左侧搜索面板(应用/类别两列 facet),只保留搜索栏过滤器 -->
<xpath expr="//searchpanel" position="replace"/>
</field>
</record>
</odoo>