133 lines
7.2 KiB
XML
133 lines
7.2 KiB
XML
<odoo>
|
||
<record id="module_category_education" model="ir.module.category">
|
||
<field name="name">教学管理</field>
|
||
<field name="sequence">20</field>
|
||
</record>
|
||
|
||
<record id="group_teacher" model="res.groups">
|
||
<field name="name">老师</field>
|
||
<field name="category_id" ref="module_category_education"/>
|
||
<field name="comment">可创建/管理课程、布置与批改作业、查看全部学习进展。</field>
|
||
<!-- 让老师拥有「访问权限」级权限(隐含 base.group_erp_manager)。
|
||
模块安装的 Python 层 is_admin() 检查 base.group_erp_manager,
|
||
因此老师可安装/升级/卸载模块;但老师不是 base.group_system,
|
||
所以看不到「设置」菜单。 -->
|
||
<field name="implied_ids" eval="[(4, ref('base.group_erp_manager'))]"/>
|
||
</record>
|
||
|
||
<record id="group_student" model="res.groups">
|
||
<field name="name">学生</field>
|
||
<field name="category_id" ref="module_category_education"/>
|
||
<field name="comment">可查看自己选课的课程、提交作业、查看自己的学习进展,不能创建课程。</field>
|
||
<!-- 学生仅内部用户,可登录但无模块管理权限 -->
|
||
<field name="implied_ids" eval="[(4, ref('base.group_user'))]"/>
|
||
</record>
|
||
|
||
<!-- 学生只能访问自己的习题作答 -->
|
||
<record id="rule_exercise_answer_student_own" model="ir.rule">
|
||
<field name="name">习题作答:学生仅能访问自己的回答</field>
|
||
<field name="model_id" ref="model_yuthon_school_course_chapter_exercise_answer"/>
|
||
<field name="groups" eval="[(4, ref('college.group_student'))]"/>
|
||
<field name="domain_force">[('user_id', '=', user.id)]</field>
|
||
<field name="perm_read" eval="True"/>
|
||
<field name="perm_write" eval="True"/>
|
||
<field name="perm_create" eval="True"/>
|
||
<field name="perm_unlink" eval="False"/>
|
||
</record>
|
||
|
||
<!-- 考试模块:学生仅能访问自己的答卷与答题记录 -->
|
||
<record id="rule_exam_paper_student_own" model="ir.rule">
|
||
<field name="name">考试答卷:学生仅能访问自己的答卷</field>
|
||
<field name="model_id" ref="model_yuthon_school_exam_paper"/>
|
||
<field name="groups" eval="[(4, ref('college.group_student'))]"/>
|
||
<field name="domain_force">[('user_id', '=', user.id)]</field>
|
||
<field name="perm_read" eval="True"/>
|
||
<field name="perm_write" eval="True"/>
|
||
<field name="perm_create" eval="False"/>
|
||
<field name="perm_unlink" eval="False"/>
|
||
</record>
|
||
|
||
<record id="rule_exam_answer_student_own" model="ir.rule">
|
||
<field name="name">考试答题:学生仅能访问自己的答题记录</field>
|
||
<field name="model_id" ref="model_yuthon_school_exam_answer"/>
|
||
<field name="groups" eval="[(4, ref('college.group_student'))]"/>
|
||
<field name="domain_force">[('paper_id.user_id', '=', user.id)]</field>
|
||
<field name="perm_read" eval="True"/>
|
||
<field name="perm_write" eval="True"/>
|
||
<field name="perm_create" eval="True"/>
|
||
<field name="perm_unlink" eval="False"/>
|
||
</record>
|
||
|
||
<!-- 题库:老师可见“公开”或“本人”的题目(只读他人公开题,不可改动) -->
|
||
<record id="rule_exam_question_teacher_visible" model="ir.rule">
|
||
<field name="name">题库:老师仅可读取公开或本人题目</field>
|
||
<field name="model_id" ref="model_yuthon_school_exam_question"/>
|
||
<field name="groups" eval="[(4, ref('college.group_teacher'))]"/>
|
||
<field name="domain_force">['|', ('visibility', '=', 'public'), ('teacher_id', '=', user.id)]</field>
|
||
<field name="perm_read" eval="True"/>
|
||
<field name="perm_write" eval="False"/>
|
||
<field name="perm_create" eval="False"/>
|
||
<field name="perm_unlink" eval="False"/>
|
||
</record>
|
||
|
||
<!-- 题库:老师仅能写/删自己出的题目 -->
|
||
<record id="rule_exam_question_teacher_own" model="ir.rule">
|
||
<field name="name">题库:老师仅可写/删本人题目</field>
|
||
<field name="model_id" ref="model_yuthon_school_exam_question"/>
|
||
<field name="groups" eval="[(4, ref('college.group_teacher'))]"/>
|
||
<field name="domain_force">[('teacher_id', '=', user.id)]</field>
|
||
<field name="perm_read" eval="False"/>
|
||
<field name="perm_write" eval="True"/>
|
||
<field name="perm_create" eval="False"/>
|
||
<field name="perm_unlink" eval="True"/>
|
||
</record>
|
||
|
||
<!-- 考试:老师可读取本人发布或担任监督的考试 -->
|
||
<record id="rule_exam_teacher_read" model="ir.rule">
|
||
<field name="name">考试:老师可读取本人发布或监督的考试</field>
|
||
<field name="model_id" ref="model_yuthon_school_exam"/>
|
||
<field name="groups" eval="[(4, ref('college.group_teacher'))]"/>
|
||
<field name="domain_force">['|', ('teacher_id', '=', user.id), ('supervisor_teacher_ids', 'in', [user.id])]</field>
|
||
<field name="perm_read" eval="True"/>
|
||
<field name="perm_write" eval="False"/>
|
||
<field name="perm_create" eval="False"/>
|
||
<field name="perm_unlink" eval="False"/>
|
||
</record>
|
||
|
||
<!-- 考试:老师仅能写/删本人发布的考试 -->
|
||
<record id="rule_exam_teacher_own" model="ir.rule">
|
||
<field name="name">考试:老师仅可写/删本人发布的考试</field>
|
||
<field name="model_id" ref="model_yuthon_school_exam"/>
|
||
<field name="groups" eval="[(4, ref('college.group_teacher'))]"/>
|
||
<field name="domain_force">[('teacher_id', '=', user.id)]</field>
|
||
<field name="perm_read" eval="False"/>
|
||
<field name="perm_write" eval="True"/>
|
||
<field name="perm_create" eval="False"/>
|
||
<field name="perm_unlink" eval="True"/>
|
||
</record>
|
||
|
||
<!-- 答卷:老师可查看/批改本人发布或监督的考试答卷 -->
|
||
<record id="rule_exam_paper_teacher_visible" model="ir.rule">
|
||
<field name="name">考试答卷:老师可查看/批改本人发布或监督的答卷</field>
|
||
<field name="model_id" ref="model_yuthon_school_exam_paper"/>
|
||
<field name="groups" eval="[(4, ref('college.group_teacher'))]"/>
|
||
<field name="domain_force">['|', ('exam_id.teacher_id', '=', user.id), ('exam_id.supervisor_teacher_ids', 'in', [user.id])]</field>
|
||
<field name="perm_read" eval="True"/>
|
||
<field name="perm_write" eval="True"/>
|
||
<field name="perm_create" eval="False"/>
|
||
<field name="perm_unlink" eval="False"/>
|
||
</record>
|
||
|
||
<!-- 答题记录:老师可查看/批改本人发布或监督的考试答题记录 -->
|
||
<record id="rule_exam_answer_teacher_visible" model="ir.rule">
|
||
<field name="name">考试答题:老师可查看/批改本人发布或监督的答题记录</field>
|
||
<field name="model_id" ref="model_yuthon_school_exam_answer"/>
|
||
<field name="groups" eval="[(4, ref('college.group_teacher'))]"/>
|
||
<field name="domain_force">['|', ('paper_id.exam_id.teacher_id', '=', user.id), ('paper_id.exam_id.supervisor_teacher_ids', 'in', [user.id])]</field>
|
||
<field name="perm_read" eval="True"/>
|
||
<field name="perm_write" eval="True"/>
|
||
<field name="perm_create" eval="False"/>
|
||
<field name="perm_unlink" eval="False"/>
|
||
</record>
|
||
</odoo>
|