70 lines
4.5 KiB
XML
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>
|