115 lines
5.3 KiB
XML
115 lines
5.3 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<odoo>
|
|
|
|
<!-- List View -->
|
|
<record id="view_yuthon_school_video_list" model="ir.ui.view">
|
|
<field name="name">yuthon.school.video.list</field>
|
|
<field name="model">yuthon.school.video</field>
|
|
<field name="arch" type="xml">
|
|
<list string="教学视频" default_order="category_id, sequence">
|
|
<field name="sequence" widget="handle"/>
|
|
<field name="name"/>
|
|
<field name="category_id"/>
|
|
<field name="chapter_id"/>
|
|
<field name="difficulty" widget="badge"
|
|
decoration-info="difficulty == 'beginner'"
|
|
decoration-warning="difficulty == 'intermediate'"
|
|
decoration-danger="difficulty == 'advanced'"/>
|
|
<field name="duration"/>
|
|
<field name="video_filename"/>
|
|
<field name="file_size_display"/>
|
|
<field name="active" widget="boolean_toggle" invisible="1"/>
|
|
</list>
|
|
</field>
|
|
</record>
|
|
|
|
<!-- Form View -->
|
|
<record id="view_yuthon_school_video_form" model="ir.ui.view">
|
|
<field name="name">yuthon.school.video.form</field>
|
|
<field name="model">yuthon.school.video</field>
|
|
<field name="arch" type="xml">
|
|
<form string="教学视频">
|
|
<sheet>
|
|
<widget name="web_ribbon" title="已归档" bg_color="bg-danger" invisible="active"/>
|
|
<group>
|
|
<group>
|
|
<field name="name"/>
|
|
<field name="category_id"/>
|
|
<field name="chapter_id"/>
|
|
<field name="difficulty" widget="radio"/>
|
|
<field name="duration"/>
|
|
<field name="sequence"/>
|
|
</group>
|
|
<group>
|
|
<field name="video_filename" invisible="1"/>
|
|
<field name="file_size_display"/>
|
|
<field name="active" invisible="1"/>
|
|
</group>
|
|
</group>
|
|
<notebook>
|
|
<page string="视频文件" name="video_file_page">
|
|
<group>
|
|
<field name="video_file" filename="video_filename" nolabel="1"
|
|
help="上传本地教学视频文件"/>
|
|
</group>
|
|
</page>
|
|
<page string="视频播放" name="video_player_page" invisible="not id">
|
|
<group>
|
|
<field name="video_player" widget="html" nolabel="1" readonly="1"/>
|
|
</group>
|
|
</page>
|
|
<page string="内容说明" name="description_page">
|
|
<group string="视频简介">
|
|
<field name="description" nolabel="1" placeholder="该教学视频的内容概要..."/>
|
|
</group>
|
|
<group string="知识要点">
|
|
<field name="key_points" nolabel="1" placeholder="列出该视频涵盖的关键知识点..."/>
|
|
</group>
|
|
</page>
|
|
</notebook>
|
|
</sheet>
|
|
</form>
|
|
</field>
|
|
</record>
|
|
|
|
<!-- Search View -->
|
|
<record id="view_yuthon_school_video_search" model="ir.ui.view">
|
|
<field name="name">yuthon.school.video.search</field>
|
|
<field name="model">yuthon.school.video</field>
|
|
<field name="arch" type="xml">
|
|
<search string="搜索视频">
|
|
<field name="name"/>
|
|
<field name="category_id"/>
|
|
<field name="chapter_id"/>
|
|
<field name="video_filename"/>
|
|
<separator/>
|
|
<filter name="filter_beginner" string="入门" domain="[('difficulty', '=', 'beginner')]"/>
|
|
<filter name="filter_intermediate" string="进阶" domain="[('difficulty', '=', 'intermediate')]"/>
|
|
<filter name="filter_advanced" string="高级" domain="[('difficulty', '=', 'advanced')]"/>
|
|
<separator/>
|
|
<group expand="0" string="按目录分组">
|
|
<filter name="groupby_category" string="学习目录" context="{'group_by': 'category_id'}"/>
|
|
</group>
|
|
<filter name="archived" string="已归档" domain="[('active', '=', False)]"/>
|
|
</search>
|
|
</field>
|
|
</record>
|
|
|
|
<!-- Action -->
|
|
<record id="action_yuthon_school_video" model="ir.actions.act_window">
|
|
<field name="name">教学视频</field>
|
|
<field name="res_model">yuthon.school.video</field>
|
|
<field name="view_mode">list,form</field>
|
|
<field name="search_view_id" ref="view_yuthon_school_video_search"/>
|
|
<field name="help" type="html">
|
|
<p class="o_view_nocontent_smiling_face">
|
|
创建第一个教学视频
|
|
</p>
|
|
<p>
|
|
上传 Odoo 18 教学视频,按学习目录分类组织
|
|
</p>
|
|
</field>
|
|
</record>
|
|
|
|
</odoo>
|