odoo 19 converted

This commit is contained in:
Vidhya 2026-09-21 11:03:19 +05:30
parent d8f43af3b0
commit 2794ebcb22
132 changed files with 181 additions and 203 deletions

View File

@ -1,6 +1,6 @@
{ {
'name': 'Education Attendance', 'name': 'Education Attendance',
'version': '17.0.1.0.0', 'version': '19.0.1.0.0',
'category': 'Education', 'category': 'Education',
'summary': 'Manage Daily and Period-wise Student Attendance', 'summary': 'Manage Daily and Period-wise Student Attendance',
'description': """ 'description': """

View File

@ -9,14 +9,12 @@
<!-- Groups --> <!-- Groups -->
<record id="group_attendance_user" model="res.groups"> <record id="group_attendance_user" model="res.groups">
<field name="name">Attendance User</field> <field name="name">Attendance User</field>
<field name="category_id" ref="module_category_education_attendance"/>
<field name="implied_ids" eval="[(4, ref('base.group_user'))]"/> <field name="implied_ids" eval="[(4, ref('base.group_user'))]"/>
<field name="comment">Allows marking attendance lines and tracking their sessions.</field> <field name="comment">Allows marking attendance lines and tracking their sessions.</field>
</record> </record>
<record id="group_attendance_manager" model="res.groups"> <record id="group_attendance_manager" model="res.groups">
<field name="name">Attendance Manager</field> <field name="name">Attendance Manager</field>
<field name="category_id" ref="module_category_education_attendance"/>
<field name="implied_ids" eval="[(4, ref('group_attendance_user'))]"/> <field name="implied_ids" eval="[(4, ref('group_attendance_user'))]"/>
<field name="comment">Full managerial oversight, configuration, and reports.</field> <field name="comment">Full managerial oversight, configuration, and reports.</field>
</record> </record>

View File

@ -4,7 +4,7 @@
<field name="name">education.attendance.session.tree</field> <field name="name">education.attendance.session.tree</field>
<field name="model">education.attendance.session</field> <field name="model">education.attendance.session</field>
<field name="arch" type="xml"> <field name="arch" type="xml">
<tree string="Attendance Sessions"> <list string="Attendance Sessions">
<field name="name"/> <field name="name"/>
<field name="campus_id"/> <field name="campus_id"/>
<field name="program_id"/> <field name="program_id"/>
@ -13,7 +13,7 @@
<field name="period"/> <field name="period"/>
<field name="faculty_id"/> <field name="faculty_id"/>
<field name="state" widget="badge" decoration-info="state == 'draft'" decoration-warning="state == 'open'" decoration-success="state == 'completed'" decoration-danger="state == 'cancelled'"/> <field name="state" widget="badge" decoration-info="state == 'draft'" decoration-warning="state == 'open'" decoration-success="state == 'completed'" decoration-danger="state == 'cancelled'"/>
</tree> </list>
</field> </field>
</record> </record>
@ -132,13 +132,13 @@
<notebook> <notebook>
<page string="Students List" name="students_list" invisible="state == 'draft'"> <page string="Students List" name="students_list" invisible="state == 'draft'">
<field name="line_ids" readonly="state != 'open'"> <field name="line_ids" readonly="state != 'open'">
<tree editable="bottom" create="false" delete="false"> <list editable="bottom" create="false" delete="false">
<field name="student_id" readonly="1"/> <field name="student_id" readonly="1"/>
<field name="status" widget="radio" options="{'horizontal': true}"/> <field name="status" widget="radio" options="{'horizontal': true}"/>
<field name="remarks"/> <field name="remarks"/>
<field name="time_in"/> <field name="time_in"/>
<field name="time_out"/> <field name="time_out"/>
</tree> </list>
</field> </field>
</page> </page>
</notebook> </notebook>
@ -167,7 +167,7 @@
<filter string="Open (Active)" name="open" domain="[('state', '=', 'open')]"/> <filter string="Open (Active)" name="open" domain="[('state', '=', 'open')]"/>
<filter string="Completed" name="completed" domain="[('state', '=', 'completed')]"/> <filter string="Completed" name="completed" domain="[('state', '=', 'completed')]"/>
<filter string="Cancelled" name="cancelled" domain="[('state', '=', 'cancelled')]"/> <filter string="Cancelled" name="cancelled" domain="[('state', '=', 'cancelled')]"/>
<group expand="1" string="Group By"> <group>
<filter string="Campus" name="group_campus" context="{'group_by': 'campus_id'}"/> <filter string="Campus" name="group_campus" context="{'group_by': 'campus_id'}"/>
<filter string="Department" name="group_dept" context="{'group_by': 'department_id'}"/> <filter string="Department" name="group_dept" context="{'group_by': 'department_id'}"/>
<filter string="Program" name="group_program" context="{'group_by': 'program_id'}"/> <filter string="Program" name="group_program" context="{'group_by': 'program_id'}"/>
@ -182,7 +182,7 @@
<record id="action_education_attendance_session" model="ir.actions.act_window"> <record id="action_education_attendance_session" model="ir.actions.act_window">
<field name="name">Attendance Sessions</field> <field name="name">Attendance Sessions</field>
<field name="res_model">education.attendance.session</field> <field name="res_model">education.attendance.session</field>
<field name="view_mode">tree,kanban,form,calendar,pivot,graph</field> <field name="view_mode">list,kanban,form,calendar,pivot,graph</field>
<field name="search_view_id" ref="view_education_attendance_session_search"/> <field name="search_view_id" ref="view_education_attendance_session_search"/>
</record> </record>
</odoo> </odoo>

View File

@ -4,14 +4,14 @@
<field name="name">education.attendance.tree</field> <field name="name">education.attendance.tree</field>
<field name="model">education.attendance</field> <field name="model">education.attendance</field>
<field name="arch" type="xml"> <field name="arch" type="xml">
<tree string="Attendance History" create="false" edit="false" delete="false"> <list string="Attendance History" create="false" edit="false" delete="false">
<field name="date"/> <field name="date"/>
<field name="student_id"/> <field name="student_id"/>
<field name="session_id"/> <field name="session_id"/>
<field name="status" widget="badge" decoration-success="status == 'present' or status == 'on_duty'" decoration-danger="status == 'absent'" decoration-warning="status == 'late'" decoration-info="status == 'medical_leave'"/> <field name="status" widget="badge" decoration-success="status == 'present' or status == 'on_duty'" decoration-danger="status == 'absent'" decoration-warning="status == 'late'" decoration-info="status == 'medical_leave'"/>
<field name="faculty_id"/> <field name="faculty_id"/>
<field name="remarks"/> <field name="remarks"/>
</tree> </list>
</field> </field>
</record> </record>
@ -62,7 +62,7 @@
<filter string="Late" name="late" domain="[('status', '=', 'late')]"/> <filter string="Late" name="late" domain="[('status', '=', 'late')]"/>
<filter string="Medical Leave" name="medical_leave" domain="[('status', '=', 'medical_leave')]"/> <filter string="Medical Leave" name="medical_leave" domain="[('status', '=', 'medical_leave')]"/>
<filter string="On Duty" name="on_duty" domain="[('status', '=', 'on_duty')]"/> <filter string="On Duty" name="on_duty" domain="[('status', '=', 'on_duty')]"/>
<group expand="1" string="Group By"> <group>
<filter string="Student" name="group_student" context="{'group_by': 'student_id'}"/> <filter string="Student" name="group_student" context="{'group_by': 'student_id'}"/>
<filter string="Status" name="group_status" context="{'group_by': 'status'}"/> <filter string="Status" name="group_status" context="{'group_by': 'status'}"/>
<filter string="Date" name="group_date" context="{'group_by': 'date'}"/> <filter string="Date" name="group_date" context="{'group_by': 'date'}"/>
@ -77,7 +77,7 @@
<record id="action_education_attendance_history" model="ir.actions.act_window"> <record id="action_education_attendance_history" model="ir.actions.act_window">
<field name="name">Attendance History</field> <field name="name">Attendance History</field>
<field name="res_model">education.attendance</field> <field name="res_model">education.attendance</field>
<field name="view_mode">tree,calendar,pivot,graph</field> <field name="view_mode">list,calendar,pivot,graph</field>
<field name="search_view_id" ref="view_education_attendance_search"/> <field name="search_view_id" ref="view_education_attendance_search"/>
</record> </record>
</odoo> </odoo>

View File

@ -7,7 +7,7 @@
<field name="arch" type="xml"> <field name="arch" type="xml">
<!-- Replace placeholder Attendance button with dynamic record action --> <!-- Replace placeholder Attendance button with dynamic record action -->
<xpath expr="//button[@icon='fa-calendar-check-o']" position="replace"> <xpath expr="//button[@icon='fa-calendar-check-o']" position="replace">
<button class="oe_stat_button" icon="fa-calendar-check-o" type="action" name="%(action_education_attendance_history)d" context="{'search_default_student_id': active_id}"> <button class="oe_stat_button" icon="fa-calendar-check-o" type="action" name="%(action_education_attendance_history)d" context="{'search_default_student_id': id}">
<div class="o_stat_info"> <div class="o_stat_info">
<span class="o_stat_value"> <span class="o_stat_value">
<field name="attendance_pct" widget="float" precision="1"/>% <field name="attendance_pct" widget="float" precision="1"/>%

View File

@ -1,6 +1,6 @@
{ {
'name': 'Education Base', 'name': 'Education Base',
'version': '17.0.1.0.0', 'version': '19.0.1.0.0',
'summary': 'Core foundation for education management', 'summary': 'Core foundation for education management',
'description': ''' 'description': '''
Education Base module provides the foundational master data, academic configuration, Education Base module provides the foundational master data, academic configuration,

View File

@ -7,20 +7,17 @@
<record id="group_education_base_user" model="res.groups"> <record id="group_education_base_user" model="res.groups">
<field name="name">Education Base User</field> <field name="name">Education Base User</field>
<field name="category_id" ref="module_category_education_base"/>
<field name="comment">Basic access to education master data.</field> <field name="comment">Basic access to education master data.</field>
</record> </record>
<record id="group_education_base_manager" model="res.groups"> <record id="group_education_base_manager" model="res.groups">
<field name="name">Education Base Manager</field> <field name="name">Education Base Manager</field>
<field name="category_id" ref="module_category_education_base"/>
<field name="implied_ids" eval="[(4, ref('group_education_base_user'))]"/> <field name="implied_ids" eval="[(4, ref('group_education_base_user'))]"/>
<field name="comment">Manage academic configuration and master setup.</field> <field name="comment">Manage academic configuration and master setup.</field>
</record> </record>
<record id="group_education_base_admin" model="res.groups"> <record id="group_education_base_admin" model="res.groups">
<field name="name">Education Base Admin</field> <field name="name">Education Base Admin</field>
<field name="category_id" ref="module_category_education_base"/>
<field name="implied_ids" eval="[(4, ref('group_education_base_manager'))]"/> <field name="implied_ids" eval="[(4, ref('group_education_base_manager'))]"/>
<field name="comment">Full administrative access to base education configuration.</field> <field name="comment">Full administrative access to base education configuration.</field>
</record> </record>

View File

@ -4,13 +4,13 @@
<field name="name">education.academic.level.tree</field> <field name="name">education.academic.level.tree</field>
<field name="model">education.academic.level</field> <field name="model">education.academic.level</field>
<field name="arch" type="xml"> <field name="arch" type="xml">
<tree string="Academic Levels"> <list string="Academic Levels">
<field name="sequence" widget="handle"/> <field name="sequence" widget="handle"/>
<field name="name"/> <field name="name"/>
<field name="code"/> <field name="code"/>
<field name="description"/> <field name="description"/>
<field name="company_id" groups="base.group_multi_company"/> <field name="company_id" groups="base.group_multi_company"/>
</tree> </list>
</field> </field>
</record> </record>
@ -45,7 +45,7 @@
<search string="Academic Levels"> <search string="Academic Levels">
<field name="name"/> <field name="name"/>
<field name="code"/> <field name="code"/>
<group expand="1" string="Group By"> <group>
<filter string="Company" name="company" context="{'group_by': 'company_id'}"/> <filter string="Company" name="company" context="{'group_by': 'company_id'}"/>
</group> </group>
</search> </search>
@ -55,7 +55,7 @@
<record id="action_education_academic_level" model="ir.actions.act_window"> <record id="action_education_academic_level" model="ir.actions.act_window">
<field name="name">Academic Levels</field> <field name="name">Academic Levels</field>
<field name="res_model">education.academic.level</field> <field name="res_model">education.academic.level</field>
<field name="view_mode">tree,form</field> <field name="view_mode">list,form</field>
<field name="search_view_id" ref="view_education_academic_level_search"/> <field name="search_view_id" ref="view_education_academic_level_search"/>
</record> </record>
</odoo> </odoo>

View File

@ -4,7 +4,7 @@
<field name="name">education.academic.term.tree</field> <field name="name">education.academic.term.tree</field>
<field name="model">education.academic.term</field> <field name="model">education.academic.term</field>
<field name="arch" type="xml"> <field name="arch" type="xml">
<tree string="Academic Terms"> <list string="Academic Terms">
<field name="name"/> <field name="name"/>
<field name="code"/> <field name="code"/>
<field name="academic_year_id"/> <field name="academic_year_id"/>
@ -13,7 +13,7 @@
<field name="end_date"/> <field name="end_date"/>
<field name="state"/> <field name="state"/>
<field name="company_id" groups="base.group_multi_company"/> <field name="company_id" groups="base.group_multi_company"/>
</tree> </list>
</field> </field>
</record> </record>
@ -55,7 +55,7 @@
<field name="code"/> <field name="code"/>
<field name="academic_year_id"/> <field name="academic_year_id"/>
<filter string="Active" name="active" domain="[('state', '=', 'active')]"/> <filter string="Active" name="active" domain="[('state', '=', 'active')]"/>
<group expand="1" string="Group By"> <group>
<filter string="Academic Year" name="academic_year" context="{'group_by': 'academic_year_id'}"/> <filter string="Academic Year" name="academic_year" context="{'group_by': 'academic_year_id'}"/>
<filter string="Company" name="company" context="{'group_by': 'company_id'}"/> <filter string="Company" name="company" context="{'group_by': 'company_id'}"/>
</group> </group>
@ -66,7 +66,7 @@
<record id="action_education_academic_term" model="ir.actions.act_window"> <record id="action_education_academic_term" model="ir.actions.act_window">
<field name="name">Academic Terms</field> <field name="name">Academic Terms</field>
<field name="res_model">education.academic.term</field> <field name="res_model">education.academic.term</field>
<field name="view_mode">tree,form</field> <field name="view_mode">list,form</field>
<field name="search_view_id" ref="view_education_academic_term_search"/> <field name="search_view_id" ref="view_education_academic_term_search"/>
</record> </record>
</odoo> </odoo>

View File

@ -4,7 +4,7 @@
<field name="name">education.academic.year.tree</field> <field name="name">education.academic.year.tree</field>
<field name="model">education.academic.year</field> <field name="model">education.academic.year</field>
<field name="arch" type="xml"> <field name="arch" type="xml">
<tree string="Academic Years"> <list string="Academic Years">
<field name="name"/> <field name="name"/>
<field name="code"/> <field name="code"/>
<field name="start_date"/> <field name="start_date"/>
@ -12,7 +12,7 @@
<field name="state"/> <field name="state"/>
<field name="current_year"/> <field name="current_year"/>
<field name="company_id" groups="base.group_multi_company"/> <field name="company_id" groups="base.group_multi_company"/>
</tree> </list>
</field> </field>
</record> </record>
@ -42,15 +42,15 @@
</group> </group>
<notebook> <notebook>
<page string="Terms"> <page string="Terms">
<field name="term_ids" context="{'default_academic_year_id': active_id}"> <field name="term_ids" context="{'default_academic_year_id': id}">
<tree> <list>
<field name="name"/> <field name="name"/>
<field name="code"/> <field name="code"/>
<field name="sequence"/> <field name="sequence"/>
<field name="start_date"/> <field name="start_date"/>
<field name="end_date"/> <field name="end_date"/>
<field name="state"/> <field name="state"/>
</tree> </list>
</field> </field>
</page> </page>
</notebook> </notebook>
@ -68,7 +68,7 @@
<field name="code"/> <field name="code"/>
<filter string="Current Year" name="current_year" domain="[('current_year', '=', True)]"/> <filter string="Current Year" name="current_year" domain="[('current_year', '=', True)]"/>
<filter string="Active" name="active" domain="[('state', '=', 'active')]"/> <filter string="Active" name="active" domain="[('state', '=', 'active')]"/>
<group expand="1" string="Group By"> <group>
<filter string="Company" name="company" context="{'group_by': 'company_id'}"/> <filter string="Company" name="company" context="{'group_by': 'company_id'}"/>
<filter string="State" name="state" context="{'group_by': 'state'}"/> <filter string="State" name="state" context="{'group_by': 'state'}"/>
</group> </group>
@ -79,7 +79,7 @@
<record id="action_education_academic_year" model="ir.actions.act_window"> <record id="action_education_academic_year" model="ir.actions.act_window">
<field name="name">Academic Years</field> <field name="name">Academic Years</field>
<field name="res_model">education.academic.year</field> <field name="res_model">education.academic.year</field>
<field name="view_mode">tree,form</field> <field name="view_mode">list,form</field>
<field name="search_view_id" ref="view_education_academic_year_search"/> <field name="search_view_id" ref="view_education_academic_year_search"/>
</record> </record>
</odoo> </odoo>

View File

@ -4,13 +4,13 @@
<field name="name">education.campus.tree</field> <field name="name">education.campus.tree</field>
<field name="model">education.campus</field> <field name="model">education.campus</field>
<field name="arch" type="xml"> <field name="arch" type="xml">
<tree string="Campuses"> <list string="Campuses">
<field name="name"/> <field name="name"/>
<field name="code"/> <field name="code"/>
<field name="phone"/> <field name="phone"/>
<field name="email"/> <field name="email"/>
<field name="company_id" groups="base.group_multi_company"/> <field name="company_id" groups="base.group_multi_company"/>
</tree> </list>
</field> </field>
</record> </record>
@ -36,11 +36,11 @@
<notebook> <notebook>
<page string="Departments"> <page string="Departments">
<field name="department_ids"> <field name="department_ids">
<tree> <list>
<field name="name"/> <field name="name"/>
<field name="code"/> <field name="code"/>
<field name="head_teacher_id"/> <field name="head_teacher_id"/>
</tree> </list>
</field> </field>
</page> </page>
</notebook> </notebook>
@ -57,7 +57,7 @@
<field name="name"/> <field name="name"/>
<field name="code"/> <field name="code"/>
<filter string="Archived" name="archived" domain="[('active', '=', False)]"/> <filter string="Archived" name="archived" domain="[('active', '=', False)]"/>
<group expand="1" string="Group By"> <group>
<filter string="Company" name="company" context="{'group_by': 'company_id'}"/> <filter string="Company" name="company" context="{'group_by': 'company_id'}"/>
</group> </group>
</search> </search>
@ -67,7 +67,7 @@
<record id="action_education_campus" model="ir.actions.act_window"> <record id="action_education_campus" model="ir.actions.act_window">
<field name="name">Campuses</field> <field name="name">Campuses</field>
<field name="res_model">education.campus</field> <field name="res_model">education.campus</field>
<field name="view_mode">tree,form</field> <field name="view_mode">list,form</field>
<field name="search_view_id" ref="view_education_campus_search"/> <field name="search_view_id" ref="view_education_campus_search"/>
</record> </record>
</odoo> </odoo>

View File

@ -4,13 +4,13 @@
<field name="name">education.department.tree</field> <field name="name">education.department.tree</field>
<field name="model">education.department</field> <field name="model">education.department</field>
<field name="arch" type="xml"> <field name="arch" type="xml">
<tree string="Departments"> <list string="Departments">
<field name="name"/> <field name="name"/>
<field name="code"/> <field name="code"/>
<field name="campus_id"/> <field name="campus_id"/>
<field name="head_teacher_id"/> <field name="head_teacher_id"/>
<field name="company_id" groups="base.group_multi_company"/> <field name="company_id" groups="base.group_multi_company"/>
</tree> </list>
</field> </field>
</record> </record>
@ -34,11 +34,11 @@
<notebook> <notebook>
<page string="Programs"> <page string="Programs">
<field name="program_ids"> <field name="program_ids">
<tree> <list>
<field name="name"/> <field name="name"/>
<field name="code"/> <field name="code"/>
<field name="level_id"/> <field name="level_id"/>
</tree> </list>
</field> </field>
</page> </page>
</notebook> </notebook>
@ -55,7 +55,7 @@
<field name="name"/> <field name="name"/>
<field name="code"/> <field name="code"/>
<field name="campus_id"/> <field name="campus_id"/>
<group expand="1" string="Group By"> <group>
<filter string="Campus" name="campus" context="{'group_by': 'campus_id'}"/> <filter string="Campus" name="campus" context="{'group_by': 'campus_id'}"/>
<filter string="Company" name="company" context="{'group_by': 'company_id'}"/> <filter string="Company" name="company" context="{'group_by': 'company_id'}"/>
</group> </group>
@ -66,7 +66,7 @@
<record id="action_education_department" model="ir.actions.act_window"> <record id="action_education_department" model="ir.actions.act_window">
<field name="name">Departments</field> <field name="name">Departments</field>
<field name="res_model">education.department</field> <field name="res_model">education.department</field>
<field name="view_mode">tree,form</field> <field name="view_mode">list,form</field>
<field name="search_view_id" ref="view_education_department_search"/> <field name="search_view_id" ref="view_education_department_search"/>
</record> </record>
</odoo> </odoo>

View File

@ -4,13 +4,13 @@
<field name="name">education.configuration.tree</field> <field name="name">education.configuration.tree</field>
<field name="model">education.configuration</field> <field name="model">education.configuration</field>
<field name="arch" type="xml"> <field name="arch" type="xml">
<tree string="Education Configuration"> <list string="Education Configuration">
<field name="school_name"/> <field name="school_name"/>
<field name="school_code"/> <field name="school_code"/>
<field name="default_campus_id"/> <field name="default_campus_id"/>
<field name="default_academic_year_id"/> <field name="default_academic_year_id"/>
<field name="company_id" groups="base.group_multi_company"/> <field name="company_id" groups="base.group_multi_company"/>
</tree> </list>
</field> </field>
</record> </record>
@ -54,7 +54,7 @@
<search string="Education Configuration"> <search string="Education Configuration">
<field name="school_name"/> <field name="school_name"/>
<field name="school_code"/> <field name="school_code"/>
<group expand="1" string="Group By"> <group>
<filter string="Company" name="company" context="{'group_by': 'company_id'}"/> <filter string="Company" name="company" context="{'group_by': 'company_id'}"/>
</group> </group>
</search> </search>
@ -64,7 +64,7 @@
<record id="action_education_configuration" model="ir.actions.act_window"> <record id="action_education_configuration" model="ir.actions.act_window">
<field name="name">Education Configuration</field> <field name="name">Education Configuration</field>
<field name="res_model">education.configuration</field> <field name="res_model">education.configuration</field>
<field name="view_mode">tree,form</field> <field name="view_mode">list,form</field>
<field name="search_view_id" ref="view_education_configuration_search"/> <field name="search_view_id" ref="view_education_configuration_search"/>
</record> </record>
</odoo> </odoo>

View File

@ -4,7 +4,7 @@
<field name="name">education.program.tree</field> <field name="name">education.program.tree</field>
<field name="model">education.program</field> <field name="model">education.program</field>
<field name="arch" type="xml"> <field name="arch" type="xml">
<tree string="Programs"> <list string="Programs">
<field name="name"/> <field name="name"/>
<field name="code"/> <field name="code"/>
<field name="level_id"/> <field name="level_id"/>
@ -12,7 +12,7 @@
<field name="duration"/> <field name="duration"/>
<field name="duration_unit"/> <field name="duration_unit"/>
<field name="company_id" groups="base.group_multi_company"/> <field name="company_id" groups="base.group_multi_company"/>
</tree> </list>
</field> </field>
</record> </record>
@ -52,7 +52,7 @@
<field name="code"/> <field name="code"/>
<field name="department_id"/> <field name="department_id"/>
<field name="level_id"/> <field name="level_id"/>
<group expand="1" string="Group By"> <group>
<filter string="Department" name="department" context="{'group_by': 'department_id'}"/> <filter string="Department" name="department" context="{'group_by': 'department_id'}"/>
<filter string="Academic Level" name="level" context="{'group_by': 'level_id'}"/> <filter string="Academic Level" name="level" context="{'group_by': 'level_id'}"/>
<filter string="Company" name="company" context="{'group_by': 'company_id'}"/> <filter string="Company" name="company" context="{'group_by': 'company_id'}"/>
@ -64,7 +64,7 @@
<record id="action_education_program" model="ir.actions.act_window"> <record id="action_education_program" model="ir.actions.act_window">
<field name="name">Programs</field> <field name="name">Programs</field>
<field name="res_model">education.program</field> <field name="res_model">education.program</field>
<field name="view_mode">tree,form</field> <field name="view_mode">list,form</field>
<field name="search_view_id" ref="view_education_program_search"/> <field name="search_view_id" ref="view_education_program_search"/>
</record> </record>
</odoo> </odoo>

View File

@ -1,6 +1,6 @@
{ {
'name': 'Education Dashboard', 'name': 'Education Dashboard',
'version': '17.0.1.0.0', 'version': '19.0.1.0.0',
'category': 'Education', 'category': 'Education',
'summary': 'Interactive Management Dashboard for Education ERP', 'summary': 'Interactive Management Dashboard for Education ERP',
'description': """ 'description': """

View File

@ -1,6 +1,6 @@
{ {
'name': 'Education Examinations', 'name': 'Education Examinations',
'version': '1.0', 'version': '19.0.1.0.0',
'category': 'Education', 'category': 'Education',
'summary': 'Complete College Examination Module', 'summary': 'Complete College Examination Module',
'description': """ 'description': """

View File

@ -11,14 +11,11 @@
<!-- Groups --> <!-- Groups -->
<record id="group_education_exam_teacher" model="res.groups"> <record id="group_education_exam_teacher" model="res.groups">
<field name="name">Teacher / Faculty</field> <field name="name">Teacher / Faculty</field>
<field name="category_id" ref="module_category_education_exam"/>
</record> </record>
<record id="group_education_exam_administrator" model="res.groups"> <record id="group_education_exam_administrator" model="res.groups">
<field name="name">Administrator</field> <field name="name">Administrator</field>
<field name="category_id" ref="module_category_education_exam"/>
<field name="implied_ids" eval="[(4, ref('group_education_exam_teacher'))]"/> <field name="implied_ids" eval="[(4, ref('group_education_exam_teacher'))]"/>
<field name="users" eval="[(4, ref('base.user_root')), (4, ref('base.user_admin'))]"/>
</record> </record>
<!-- Record Rules --> <!-- Record Rules -->

View File

@ -5,14 +5,14 @@
<field name="name">education.exam.result.tree</field> <field name="name">education.exam.result.tree</field>
<field name="model">education.exam.result</field> <field name="model">education.exam.result</field>
<field name="arch" type="xml"> <field name="arch" type="xml">
<tree> <list>
<field name="student_id"/> <field name="student_id"/>
<field name="exam_id"/> <field name="exam_id"/>
<field name="percentage"/> <field name="percentage"/>
<field name="grade_id"/> <field name="grade_id"/>
<field name="result_status"/> <field name="result_status"/>
<field name="published"/> <field name="published"/>
</tree> </list>
</field> </field>
</record> </record>
@ -44,7 +44,7 @@
<notebook> <notebook>
<page string="Marks Entry"> <page string="Marks Entry">
<field name="line_ids" readonly="published"> <field name="line_ids" readonly="published">
<tree editable="bottom"> <list editable="bottom">
<field name="subject_id"/> <field name="subject_id"/>
<field name="exam_type_id"/> <field name="exam_type_id"/>
<field name="max_marks"/> <field name="max_marks"/>
@ -54,7 +54,7 @@
<field name="grade_id"/> <field name="grade_id"/>
<field name="status"/> <field name="status"/>
<field name="remarks"/> <field name="remarks"/>
</tree> </list>
</field> </field>
</page> </page>
</notebook> </notebook>
@ -67,12 +67,12 @@
<record id="action_education_marks_entry" model="ir.actions.act_window"> <record id="action_education_marks_entry" model="ir.actions.act_window">
<field name="name">Marks Entry</field> <field name="name">Marks Entry</field>
<field name="res_model">education.exam.result</field> <field name="res_model">education.exam.result</field>
<field name="view_mode">tree,form</field> <field name="view_mode">list,form</field>
</record> </record>
<record id="action_education_exam_result" model="ir.actions.act_window"> <record id="action_education_exam_result" model="ir.actions.act_window">
<field name="name">Results</field> <field name="name">Results</field>
<field name="res_model">education.exam.result</field> <field name="res_model">education.exam.result</field>
<field name="view_mode">tree,form</field> <field name="view_mode">list,form</field>
</record> </record>
</odoo> </odoo>

View File

@ -5,11 +5,11 @@
<field name="name">education.exam.type.tree</field> <field name="name">education.exam.type.tree</field>
<field name="model">education.exam.type</field> <field name="model">education.exam.type</field>
<field name="arch" type="xml"> <field name="arch" type="xml">
<tree> <list>
<field name="name"/> <field name="name"/>
<field name="code"/> <field name="code"/>
<field name="weightage"/> <field name="weightage"/>
</tree> </list>
</field> </field>
</record> </record>
@ -34,7 +34,7 @@
<record id="action_education_exam_type" model="ir.actions.act_window"> <record id="action_education_exam_type" model="ir.actions.act_window">
<field name="name">Exam Types</field> <field name="name">Exam Types</field>
<field name="res_model">education.exam.type</field> <field name="res_model">education.exam.type</field>
<field name="view_mode">tree,form</field> <field name="view_mode">list,form</field>
</record> </record>
<!-- Exam Views --> <!-- Exam Views -->
@ -42,7 +42,7 @@
<field name="name">education.exam.tree</field> <field name="name">education.exam.tree</field>
<field name="model">education.exam</field> <field name="model">education.exam</field>
<field name="arch" type="xml"> <field name="arch" type="xml">
<tree> <list>
<field name="name"/> <field name="name"/>
<field name="exam_type_id"/> <field name="exam_type_id"/>
<field name="program_id"/> <field name="program_id"/>
@ -50,7 +50,7 @@
<field name="start_date"/> <field name="start_date"/>
<field name="end_date"/> <field name="end_date"/>
<field name="state" widget="badge" decoration-info="state == 'scheduled'" decoration-warning="state == 'ongoing'" decoration-success="state == 'completed' or state == 'results_published'"/> <field name="state" widget="badge" decoration-info="state == 'scheduled'" decoration-warning="state == 'ongoing'" decoration-success="state == 'completed' or state == 'results_published'"/>
</tree> </list>
</field> </field>
</record> </record>
@ -91,7 +91,7 @@
<notebook> <notebook>
<page string="Schedule" name="schedule"> <page string="Schedule" name="schedule">
<field name="line_ids"> <field name="line_ids">
<tree editable="bottom"> <list editable="bottom">
<field name="subject_id"/> <field name="subject_id"/>
<field name="exam_date"/> <field name="exam_date"/>
<field name="start_time" widget="float_time"/> <field name="start_time" widget="float_time"/>
@ -101,19 +101,19 @@
<field name="room"/> <field name="room"/>
<field name="venue"/> <field name="venue"/>
<field name="faculty_id"/> <field name="faculty_id"/>
</tree> </list>
</field> </field>
</page> </page>
<page string="Results" name="results"> <page string="Results" name="results">
<field name="result_ids" readonly="1"> <field name="result_ids" readonly="1">
<tree> <list>
<field name="student_id"/> <field name="student_id"/>
<field name="total_obtained_marks"/> <field name="total_obtained_marks"/>
<field name="percentage"/> <field name="percentage"/>
<field name="grade_id"/> <field name="grade_id"/>
<field name="result_status"/> <field name="result_status"/>
<field name="published"/> <field name="published"/>
</tree> </list>
</field> </field>
</page> </page>
</notebook> </notebook>
@ -125,6 +125,6 @@
<record id="action_education_exam" model="ir.actions.act_window"> <record id="action_education_exam" model="ir.actions.act_window">
<field name="name">Exams</field> <field name="name">Exams</field>
<field name="res_model">education.exam</field> <field name="res_model">education.exam</field>
<field name="view_mode">tree,form</field> <field name="view_mode">list,form</field>
</record> </record>
</odoo> </odoo>

View File

@ -4,11 +4,11 @@
<field name="name">education.grading.system.tree</field> <field name="name">education.grading.system.tree</field>
<field name="model">education.grading.system</field> <field name="model">education.grading.system</field>
<field name="arch" type="xml"> <field name="arch" type="xml">
<tree> <list>
<field name="name"/> <field name="name"/>
<field name="code"/> <field name="code"/>
<field name="scale_type"/> <field name="scale_type"/>
</tree> </list>
</field> </field>
</record> </record>
@ -31,7 +31,7 @@
<notebook> <notebook>
<page string="Grades"> <page string="Grades">
<field name="grade_ids"> <field name="grade_ids">
<tree editable="bottom" default_order="sequence"> <list editable="bottom" default_order="sequence">
<field name="sequence" widget="handle"/> <field name="sequence" widget="handle"/>
<field name="name"/> <field name="name"/>
<field name="code"/> <field name="code"/>
@ -39,7 +39,7 @@
<field name="max_percentage"/> <field name="max_percentage"/>
<field name="grade_point"/> <field name="grade_point"/>
<field name="result_status"/> <field name="result_status"/>
</tree> </list>
</field> </field>
</page> </page>
</notebook> </notebook>
@ -51,6 +51,6 @@
<record id="action_education_grading_system" model="ir.actions.act_window"> <record id="action_education_grading_system" model="ir.actions.act_window">
<field name="name">Grading Systems</field> <field name="name">Grading Systems</field>
<field name="res_model">education.grading.system</field> <field name="res_model">education.grading.system</field>
<field name="view_mode">tree,form</field> <field name="view_mode">list,form</field>
</record> </record>
</odoo> </odoo>

View File

@ -4,14 +4,14 @@
<field name="name">education.subject.tree</field> <field name="name">education.subject.tree</field>
<field name="model">education.subject</field> <field name="model">education.subject</field>
<field name="arch" type="xml"> <field name="arch" type="xml">
<tree> <list>
<field name="code"/> <field name="code"/>
<field name="name"/> <field name="name"/>
<field name="program_id"/> <field name="program_id"/>
<field name="term_id"/> <field name="term_id"/>
<field name="subject_type"/> <field name="subject_type"/>
<field name="credits"/> <field name="credits"/>
</tree> </list>
</field> </field>
</record> </record>
@ -47,6 +47,6 @@
<record id="action_education_subject" model="ir.actions.act_window"> <record id="action_education_subject" model="ir.actions.act_window">
<field name="name">Subjects</field> <field name="name">Subjects</field>
<field name="res_model">education.subject</field> <field name="res_model">education.subject</field>
<field name="view_mode">tree,form</field> <field name="view_mode">list,form</field>
</record> </record>
</odoo> </odoo>

View File

@ -1,6 +1,6 @@
{ {
'name': 'Education Finance', 'name': 'Education Finance',
'version': '17.0.1.0.0', 'version': '19.0.1.0.0',
'summary': 'Student Finance Management System for education institutions', 'summary': 'Student Finance Management System for education institutions',
'description': ''' 'description': '''
This module manages fee categories, fee types, fee structures, assignments, This module manages fee categories, fee types, fee structures, assignments,

View File

@ -9,28 +9,24 @@
<!-- Groups --> <!-- Groups -->
<record id="group_finance_executive" model="res.groups"> <record id="group_finance_executive" model="res.groups">
<field name="name">Finance Executive</field> <field name="name">Finance Executive</field>
<field name="category_id" ref="module_category_education_finance"/>
<field name="implied_ids" eval="[(4, ref('base.group_user'))]"/> <field name="implied_ids" eval="[(4, ref('base.group_user'))]"/>
<field name="comment">Basic transactional actions: Record payments, view student ledgers.</field> <field name="comment">Basic transactional actions: Record payments, view student ledgers.</field>
</record> </record>
<record id="group_finance_manager" model="res.groups"> <record id="group_finance_manager" model="res.groups">
<field name="name">Finance Manager</field> <field name="name">Finance Manager</field>
<field name="category_id" ref="module_category_education_finance"/>
<field name="implied_ids" eval="[(4, ref('group_finance_executive'))]"/> <field name="implied_ids" eval="[(4, ref('group_finance_executive'))]"/>
<field name="comment">Manage fee assignments, discounts, scholarships, and approve refunds.</field> <field name="comment">Manage fee assignments, discounts, scholarships, and approve refunds.</field>
</record> </record>
<record id="group_finance_admin" model="res.groups"> <record id="group_finance_admin" model="res.groups">
<field name="name">Finance Administrator</field> <field name="name">Finance Administrator</field>
<field name="category_id" ref="module_category_education_finance"/>
<field name="implied_ids" eval="[(4, ref('group_finance_manager'))]"/> <field name="implied_ids" eval="[(4, ref('group_finance_manager'))]"/>
<field name="comment">Full settings control, configure fee types/structures, and delete transactions.</field> <field name="comment">Full settings control, configure fee types/structures, and delete transactions.</field>
</record> </record>
<record id="group_finance_student_readonly" model="res.groups"> <record id="group_finance_student_readonly" model="res.groups">
<field name="name">Student Readonly Finance</field> <field name="name">Student Readonly Finance</field>
<field name="category_id" ref="module_category_education_finance"/>
<field name="implied_ids" eval="[(4, ref('base.group_user'))]"/> <field name="implied_ids" eval="[(4, ref('base.group_user'))]"/>
<field name="comment">Access control group allowing a student to view their own ledger lines.</field> <field name="comment">Access control group allowing a student to view their own ledger lines.</field>
</record> </record>

View File

@ -4,7 +4,7 @@
<field name="name">education.fee.assignment.tree</field> <field name="name">education.fee.assignment.tree</field>
<field name="model">education.fee.assignment</field> <field name="model">education.fee.assignment</field>
<field name="arch" type="xml"> <field name="arch" type="xml">
<tree string="Fee Assignments"> <list string="Fee Assignments">
<field name="student_id"/> <field name="student_id"/>
<field name="academic_year_id"/> <field name="academic_year_id"/>
<field name="semester_id"/> <field name="semester_id"/>
@ -12,7 +12,7 @@
<field name="assignment_date"/> <field name="assignment_date"/>
<field name="state" widget="badge" decoration-info="state == 'draft'" decoration-success="state == 'confirmed'"/> <field name="state" widget="badge" decoration-info="state == 'draft'" decoration-success="state == 'confirmed'"/>
<field name="company_id" groups="base.group_multi_company"/> <field name="company_id" groups="base.group_multi_company"/>
</tree> </list>
</field> </field>
</record> </record>
@ -53,7 +53,7 @@
<field name="fee_structure_id"/> <field name="fee_structure_id"/>
<filter string="Draft" name="draft" domain="[('state', '=', 'draft')]"/> <filter string="Draft" name="draft" domain="[('state', '=', 'draft')]"/>
<filter string="Confirmed" name="confirmed" domain="[('state', '=', 'confirmed')]"/> <filter string="Confirmed" name="confirmed" domain="[('state', '=', 'confirmed')]"/>
<group expand="1" string="Group By"> <group>
<filter string="Student" name="group_student" context="{'group_by': 'student_id'}"/> <filter string="Student" name="group_student" context="{'group_by': 'student_id'}"/>
<filter string="Fee Structure" name="group_structure" context="{'group_by': 'fee_structure_id'}"/> <filter string="Fee Structure" name="group_structure" context="{'group_by': 'fee_structure_id'}"/>
<filter string="Status" name="group_status" context="{'group_by': 'state'}"/> <filter string="Status" name="group_status" context="{'group_by': 'state'}"/>
@ -65,7 +65,7 @@
<record id="action_education_fee_assignment" model="ir.actions.act_window"> <record id="action_education_fee_assignment" model="ir.actions.act_window">
<field name="name">Fee Assignments</field> <field name="name">Fee Assignments</field>
<field name="res_model">education.fee.assignment</field> <field name="res_model">education.fee.assignment</field>
<field name="view_mode">tree,form</field> <field name="view_mode">list,form</field>
<field name="search_view_id" ref="view_education_fee_assignment_search"/> <field name="search_view_id" ref="view_education_fee_assignment_search"/>
</record> </record>
</odoo> </odoo>

View File

@ -4,12 +4,12 @@
<field name="name">education.fee.category.tree</field> <field name="name">education.fee.category.tree</field>
<field name="model">education.fee.category</field> <field name="model">education.fee.category</field>
<field name="arch" type="xml"> <field name="arch" type="xml">
<tree string="Fee Categories" editable="bottom"> <list string="Fee Categories" editable="bottom">
<field name="name"/> <field name="name"/>
<field name="code"/> <field name="code"/>
<field name="description"/> <field name="description"/>
<field name="company_id" groups="base.group_multi_company"/> <field name="company_id" groups="base.group_multi_company"/>
</tree> </list>
</field> </field>
</record> </record>
@ -27,7 +27,7 @@
<record id="action_education_fee_category" model="ir.actions.act_window"> <record id="action_education_fee_category" model="ir.actions.act_window">
<field name="name">Fee Categories</field> <field name="name">Fee Categories</field>
<field name="res_model">education.fee.category</field> <field name="res_model">education.fee.category</field>
<field name="view_mode">tree</field> <field name="view_mode">list</field>
<field name="search_view_id" ref="view_education_fee_category_search"/> <field name="search_view_id" ref="view_education_fee_category_search"/>
</record> </record>
</odoo> </odoo>

View File

@ -4,7 +4,7 @@
<field name="name">education.fee.structure.tree</field> <field name="name">education.fee.structure.tree</field>
<field name="model">education.fee.structure</field> <field name="model">education.fee.structure</field>
<field name="arch" type="xml"> <field name="arch" type="xml">
<tree string="Fee Structures"> <list string="Fee Structures">
<field name="name"/> <field name="name"/>
<field name="academic_year_id"/> <field name="academic_year_id"/>
<field name="level_id"/> <field name="level_id"/>
@ -12,7 +12,7 @@
<field name="department_id"/> <field name="department_id"/>
<field name="semester_id"/> <field name="semester_id"/>
<field name="company_id" groups="base.group_multi_company"/> <field name="company_id" groups="base.group_multi_company"/>
</tree> </list>
</field> </field>
</record> </record>
@ -42,12 +42,12 @@
<notebook> <notebook>
<page string="Fee Lines" name="lines"> <page string="Fee Lines" name="lines">
<field name="line_ids"> <field name="line_ids">
<tree editable="bottom"> <list editable="bottom">
<field name="sequence" widget="handle"/> <field name="sequence" widget="handle"/>
<field name="fee_type_id"/> <field name="fee_type_id"/>
<field name="amount"/> <field name="amount"/>
<field name="mandatory"/> <field name="mandatory"/>
</tree> </list>
</field> </field>
</page> </page>
</notebook> </notebook>
@ -65,7 +65,7 @@
<field name="academic_year_id"/> <field name="academic_year_id"/>
<field name="level_id"/> <field name="level_id"/>
<field name="program_id"/> <field name="program_id"/>
<group expand="1" string="Group By"> <group>
<filter string="Academic Year" name="group_year" context="{'group_by': 'academic_year_id'}"/> <filter string="Academic Year" name="group_year" context="{'group_by': 'academic_year_id'}"/>
<filter string="Level" name="group_level" context="{'group_by': 'level_id'}"/> <filter string="Level" name="group_level" context="{'group_by': 'level_id'}"/>
<filter string="Program" name="group_program" context="{'group_by': 'program_id'}"/> <filter string="Program" name="group_program" context="{'group_by': 'program_id'}"/>
@ -77,7 +77,7 @@
<record id="action_education_fee_structure" model="ir.actions.act_window"> <record id="action_education_fee_structure" model="ir.actions.act_window">
<field name="name">Fee Structures</field> <field name="name">Fee Structures</field>
<field name="res_model">education.fee.structure</field> <field name="res_model">education.fee.structure</field>
<field name="view_mode">tree,form</field> <field name="view_mode">list,form</field>
<field name="search_view_id" ref="view_education_fee_structure_search"/> <field name="search_view_id" ref="view_education_fee_structure_search"/>
</record> </record>
</odoo> </odoo>

View File

@ -4,7 +4,7 @@
<field name="name">education.fee.type.tree</field> <field name="name">education.fee.type.tree</field>
<field name="model">education.fee.type</field> <field name="model">education.fee.type</field>
<field name="arch" type="xml"> <field name="arch" type="xml">
<tree string="Fee Types" editable="bottom"> <list string="Fee Types" editable="bottom">
<field name="name"/> <field name="name"/>
<field name="category_id"/> <field name="category_id"/>
<field name="amount"/> <field name="amount"/>
@ -12,7 +12,7 @@
<field name="mandatory"/> <field name="mandatory"/>
<field name="tax_applicable"/> <field name="tax_applicable"/>
<field name="company_id" groups="base.group_multi_company"/> <field name="company_id" groups="base.group_multi_company"/>
</tree> </list>
</field> </field>
</record> </record>
@ -25,7 +25,7 @@
<field name="category_id"/> <field name="category_id"/>
<filter string="Mandatory" name="mandatory" domain="[('mandatory', '=', True)]"/> <filter string="Mandatory" name="mandatory" domain="[('mandatory', '=', True)]"/>
<filter string="Recurring" name="recurring" domain="[('recurring', '=', True)]"/> <filter string="Recurring" name="recurring" domain="[('recurring', '=', True)]"/>
<group expand="1" string="Group By"> <group>
<filter string="Category" name="group_category" context="{'group_by': 'category_id'}"/> <filter string="Category" name="group_category" context="{'group_by': 'category_id'}"/>
</group> </group>
</search> </search>
@ -35,7 +35,7 @@
<record id="action_education_fee_type" model="ir.actions.act_window"> <record id="action_education_fee_type" model="ir.actions.act_window">
<field name="name">Fee Types</field> <field name="name">Fee Types</field>
<field name="res_model">education.fee.type</field> <field name="res_model">education.fee.type</field>
<field name="view_mode">tree</field> <field name="view_mode">list</field>
<field name="search_view_id" ref="view_education_fee_type_search"/> <field name="search_view_id" ref="view_education_fee_type_search"/>
</record> </record>
</odoo> </odoo>

View File

@ -4,13 +4,13 @@
<field name="name">education.student.discount.tree</field> <field name="name">education.student.discount.tree</field>
<field name="model">education.student.discount</field> <field name="model">education.student.discount</field>
<field name="arch" type="xml"> <field name="arch" type="xml">
<tree string="Student Fee Discounts"> <list string="Student Fee Discounts">
<field name="student_id"/> <field name="student_id"/>
<field name="type"/> <field name="type"/>
<field name="amount"/> <field name="amount"/>
<field name="approved_by"/> <field name="approved_by"/>
<field name="state" widget="badge" decoration-info="state == 'draft'" decoration-success="state == 'confirmed'" decoration-danger="state == 'cancelled'"/> <field name="state" widget="badge" decoration-info="state == 'draft'" decoration-success="state == 'confirmed'" decoration-danger="state == 'cancelled'"/>
</tree> </list>
</field> </field>
</record> </record>
@ -53,7 +53,7 @@
<field name="student_id"/> <field name="student_id"/>
<field name="approved_by"/> <field name="approved_by"/>
<filter string="Confirmed" name="confirmed" domain="[('state', '=', 'confirmed')]"/> <filter string="Confirmed" name="confirmed" domain="[('state', '=', 'confirmed')]"/>
<group expand="1" string="Group By"> <group>
<filter string="Student" name="group_student" context="{'group_by': 'student_id'}"/> <filter string="Student" name="group_student" context="{'group_by': 'student_id'}"/>
<filter string="Status" name="group_status" context="{'group_by': 'state'}"/> <filter string="Status" name="group_status" context="{'group_by': 'state'}"/>
</group> </group>
@ -64,7 +64,7 @@
<record id="action_education_student_discount" model="ir.actions.act_window"> <record id="action_education_student_discount" model="ir.actions.act_window">
<field name="name">Discounts</field> <field name="name">Discounts</field>
<field name="res_model">education.student.discount</field> <field name="res_model">education.student.discount</field>
<field name="view_mode">tree,form</field> <field name="view_mode">list,form</field>
<field name="search_view_id" ref="view_education_student_discount_search"/> <field name="search_view_id" ref="view_education_student_discount_search"/>
</record> </record>
</odoo> </odoo>

View File

@ -4,7 +4,7 @@
<field name="name">education.student.ledger.tree</field> <field name="name">education.student.ledger.tree</field>
<field name="model">education.student.ledger</field> <field name="model">education.student.ledger</field>
<field name="arch" type="xml"> <field name="arch" type="xml">
<tree string="Student Ledger" create="false" edit="false" delete="false"> <list string="Student Ledger" create="false" edit="false" delete="false">
<field name="date"/> <field name="date"/>
<field name="student_id"/> <field name="student_id"/>
<field name="ref"/> <field name="ref"/>
@ -13,7 +13,7 @@
<field name="credit" sum="Total Credit"/> <field name="credit" sum="Total Credit"/>
<field name="balance" sum="Total Balance"/> <field name="balance" sum="Total Balance"/>
<field name="status" widget="badge" decoration-success="status == 'posted'" decoration-danger="status == 'cancelled'"/> <field name="status" widget="badge" decoration-success="status == 'posted'" decoration-danger="status == 'cancelled'"/>
</tree> </list>
</field> </field>
</record> </record>
@ -27,7 +27,7 @@
<field name="date"/> <field name="date"/>
<filter string="Posted" name="posted" domain="[('status', '=', 'posted')]"/> <filter string="Posted" name="posted" domain="[('status', '=', 'posted')]"/>
<filter string="Cancelled" name="cancelled" domain="[('status', '=', 'cancelled')]"/> <filter string="Cancelled" name="cancelled" domain="[('status', '=', 'cancelled')]"/>
<group expand="1" string="Group By"> <group>
<filter string="Student" name="group_student" context="{'group_by': 'student_id'}"/> <filter string="Student" name="group_student" context="{'group_by': 'student_id'}"/>
<filter string="Date" name="group_date" context="{'group_by': 'date'}"/> <filter string="Date" name="group_date" context="{'group_by': 'date'}"/>
</group> </group>
@ -62,7 +62,7 @@
<record id="action_education_student_ledger" model="ir.actions.act_window"> <record id="action_education_student_ledger" model="ir.actions.act_window">
<field name="name">Student Ledger</field> <field name="name">Student Ledger</field>
<field name="res_model">education.student.ledger</field> <field name="res_model">education.student.ledger</field>
<field name="view_mode">tree,pivot,graph</field> <field name="view_mode">list,pivot,graph</field>
<field name="search_view_id" ref="view_education_student_ledger_search"/> <field name="search_view_id" ref="view_education_student_ledger_search"/>
</record> </record>
</odoo> </odoo>

View File

@ -4,7 +4,7 @@
<field name="name">education.student.payment.tree</field> <field name="name">education.student.payment.tree</field>
<field name="model">education.student.payment</field> <field name="model">education.student.payment</field>
<field name="arch" type="xml"> <field name="arch" type="xml">
<tree string="Student Payments"> <list string="Student Payments">
<field name="receipt_number"/> <field name="receipt_number"/>
<field name="student_id"/> <field name="student_id"/>
<field name="payment_date"/> <field name="payment_date"/>
@ -12,7 +12,7 @@
<field name="amount" sum="Total Amount"/> <field name="amount" sum="Total Amount"/>
<field name="reference_number"/> <field name="reference_number"/>
<field name="status" widget="badge" decoration-info="status == 'draft'" decoration-success="status == 'confirmed'" decoration-danger="status == 'cancelled'"/> <field name="status" widget="badge" decoration-info="status == 'draft'" decoration-success="status == 'confirmed'" decoration-danger="status == 'cancelled'"/>
</tree> </list>
</field> </field>
</record> </record>
@ -64,7 +64,7 @@
<field name="reference_number"/> <field name="reference_number"/>
<filter string="Confirmed" name="confirmed" domain="[('status', '=', 'confirmed')]"/> <filter string="Confirmed" name="confirmed" domain="[('status', '=', 'confirmed')]"/>
<filter string="Draft" name="draft" domain="[('status', '=', 'draft')]"/> <filter string="Draft" name="draft" domain="[('status', '=', 'draft')]"/>
<group expand="1" string="Group By"> <group>
<filter string="Student" name="group_student" context="{'group_by': 'student_id'}"/> <filter string="Student" name="group_student" context="{'group_by': 'student_id'}"/>
<filter string="Payment Method" name="group_method" context="{'group_by': 'payment_method'}"/> <filter string="Payment Method" name="group_method" context="{'group_by': 'payment_method'}"/>
<filter string="Status" name="group_status" context="{'group_by': 'status'}"/> <filter string="Status" name="group_status" context="{'group_by': 'status'}"/>
@ -99,7 +99,7 @@
<record id="action_education_student_payment" model="ir.actions.act_window"> <record id="action_education_student_payment" model="ir.actions.act_window">
<field name="name">Payments</field> <field name="name">Payments</field>
<field name="res_model">education.student.payment</field> <field name="res_model">education.student.payment</field>
<field name="view_mode">tree,form,pivot,graph</field> <field name="view_mode">list,form,pivot,graph</field>
<field name="search_view_id" ref="view_education_student_payment_search"/> <field name="search_view_id" ref="view_education_student_payment_search"/>
</record> </record>
</odoo> </odoo>

View File

@ -4,13 +4,13 @@
<field name="name">education.student.refund.tree</field> <field name="name">education.student.refund.tree</field>
<field name="model">education.student.refund</field> <field name="model">education.student.refund</field>
<field name="arch" type="xml"> <field name="arch" type="xml">
<tree string="Student Refunds"> <list string="Student Refunds">
<field name="student_id"/> <field name="student_id"/>
<field name="payment_id"/> <field name="payment_id"/>
<field name="amount" sum="Total Amount"/> <field name="amount" sum="Total Amount"/>
<field name="reason"/> <field name="reason"/>
<field name="status" widget="badge" decoration-info="status == 'draft'" decoration-success="status == 'approved'" decoration-danger="status == 'rejected'"/> <field name="status" widget="badge" decoration-info="status == 'draft'" decoration-success="status == 'approved'" decoration-danger="status == 'rejected'"/>
</tree> </list>
</field> </field>
</record> </record>
@ -52,7 +52,7 @@
<field name="payment_id"/> <field name="payment_id"/>
<filter string="Approved" name="approved" domain="[('status', '=', 'approved')]"/> <filter string="Approved" name="approved" domain="[('status', '=', 'approved')]"/>
<filter string="Draft" name="draft" domain="[('status', '=', 'draft')]"/> <filter string="Draft" name="draft" domain="[('status', '=', 'draft')]"/>
<group expand="1" string="Group By"> <group>
<filter string="Student" name="group_student" context="{'group_by': 'student_id'}"/> <filter string="Student" name="group_student" context="{'group_by': 'student_id'}"/>
<filter string="Status" name="group_status" context="{'group_by': 'status'}"/> <filter string="Status" name="group_status" context="{'group_by': 'status'}"/>
</group> </group>
@ -63,7 +63,7 @@
<record id="action_education_student_refund" model="ir.actions.act_window"> <record id="action_education_student_refund" model="ir.actions.act_window">
<field name="name">Refunds</field> <field name="name">Refunds</field>
<field name="res_model">education.student.refund</field> <field name="res_model">education.student.refund</field>
<field name="view_mode">tree,form</field> <field name="view_mode">list,form</field>
<field name="search_view_id" ref="view_education_student_refund_search"/> <field name="search_view_id" ref="view_education_student_refund_search"/>
</record> </record>
</odoo> </odoo>

View File

@ -4,14 +4,14 @@
<field name="name">education.student.scholarship.tree</field> <field name="name">education.student.scholarship.tree</field>
<field name="model">education.student.scholarship</field> <field name="model">education.student.scholarship</field>
<field name="arch" type="xml"> <field name="arch" type="xml">
<tree string="Student Scholarships"> <list string="Student Scholarships">
<field name="scholarship_name"/> <field name="scholarship_name"/>
<field name="student_id"/> <field name="student_id"/>
<field name="type"/> <field name="type"/>
<field name="amount"/> <field name="amount"/>
<field name="sponsor"/> <field name="sponsor"/>
<field name="state" widget="badge" decoration-info="state == 'draft'" decoration-success="state == 'confirmed'" decoration-danger="state == 'cancelled'"/> <field name="state" widget="badge" decoration-info="state == 'draft'" decoration-success="state == 'confirmed'" decoration-danger="state == 'cancelled'"/>
</tree> </list>
</field> </field>
</record> </record>
@ -56,7 +56,7 @@
<field name="student_id"/> <field name="student_id"/>
<field name="sponsor"/> <field name="sponsor"/>
<filter string="Confirmed" name="confirmed" domain="[('state', '=', 'confirmed')]"/> <filter string="Confirmed" name="confirmed" domain="[('state', '=', 'confirmed')]"/>
<group expand="1" string="Group By"> <group>
<filter string="Student" name="group_student" context="{'group_by': 'student_id'}"/> <filter string="Student" name="group_student" context="{'group_by': 'student_id'}"/>
<filter string="Status" name="group_status" context="{'group_by': 'state'}"/> <filter string="Status" name="group_status" context="{'group_by': 'state'}"/>
</group> </group>
@ -67,7 +67,7 @@
<record id="action_education_student_scholarship" model="ir.actions.act_window"> <record id="action_education_student_scholarship" model="ir.actions.act_window">
<field name="name">Scholarships</field> <field name="name">Scholarships</field>
<field name="res_model">education.student.scholarship</field> <field name="res_model">education.student.scholarship</field>
<field name="view_mode">tree,form</field> <field name="view_mode">list,form</field>
<field name="search_view_id" ref="view_education_student_scholarship_search"/> <field name="search_view_id" ref="view_education_student_scholarship_search"/>
</record> </record>
</odoo> </odoo>

View File

@ -10,13 +10,13 @@
<xpath expr="//div[@name='button_box']" position="replace"> <xpath expr="//div[@name='button_box']" position="replace">
<div class="oe_button_box" name="button_box"> <div class="oe_button_box" name="button_box">
<!-- 1. Fee Assignments Button --> <!-- 1. Fee Assignments Button -->
<button class="oe_stat_button" icon="fa-tasks" type="action" name="%(action_education_fee_assignment)d" context="{'search_default_student_id': active_id}"> <button class="oe_stat_button" icon="fa-tasks" type="action" name="%(action_education_fee_assignment)d" context="{'search_default_student_id': id}">
<div class="o_stat_info"> <div class="o_stat_info">
<span class="o_stat_text">Assignments</span> <span class="o_stat_text">Assignments</span>
</div> </div>
</button> </button>
<!-- 2. Payments Button --> <!-- 2. Payments Button -->
<button class="oe_stat_button" icon="fa-credit-card" type="action" name="%(action_education_student_payment)d" context="{'search_default_student_id': active_id}"> <button class="oe_stat_button" icon="fa-credit-card" type="action" name="%(action_education_student_payment)d" context="{'search_default_student_id': id}">
<div class="o_stat_info"> <div class="o_stat_info">
<span class="o_stat_value"> <span class="o_stat_value">
<field name="total_paid" widget="monetary"/> <field name="total_paid" widget="monetary"/>
@ -25,13 +25,13 @@
</div> </div>
</button> </button>
<!-- 3. Ledger Button --> <!-- 3. Ledger Button -->
<button class="oe_stat_button" icon="fa-list-alt" type="action" name="%(action_education_student_ledger)d" context="{'search_default_student_id': active_id}"> <button class="oe_stat_button" icon="fa-list-alt" type="action" name="%(action_education_student_ledger)d" context="{'search_default_student_id': id}">
<div class="o_stat_info"> <div class="o_stat_info">
<span class="o_stat_text">Ledger</span> <span class="o_stat_text">Ledger</span>
</div> </div>
</button> </button>
<!-- 4. Receipts Button --> <!-- 4. Receipts Button -->
<button class="oe_stat_button" icon="fa-file-text-o" type="action" name="%(action_education_student_payment)d" context="{'search_default_student_id': active_id, 'search_default_confirmed': 1}"> <button class="oe_stat_button" icon="fa-file-text-o" type="action" name="%(action_education_student_payment)d" context="{'search_default_student_id': id, 'search_default_confirmed': 1}">
<div class="o_stat_info"> <div class="o_stat_info">
<span class="o_stat_value"> <span class="o_stat_value">
<field name="total_fees" widget="monetary"/> <field name="total_fees" widget="monetary"/>
@ -40,7 +40,7 @@
</div> </div>
</button> </button>
<!-- 5. Outstanding Button --> <!-- 5. Outstanding Button -->
<button class="oe_stat_button" icon="fa-money" type="action" name="%(action_education_student_ledger)d" context="{'search_default_student_id': active_id}"> <button class="oe_stat_button" icon="fa-money" type="action" name="%(action_education_student_ledger)d" context="{'search_default_student_id': id}">
<div class="o_stat_info"> <div class="o_stat_info">
<span class="o_stat_value"> <span class="o_stat_value">
<field name="outstanding_amount" widget="monetary"/> <field name="outstanding_amount" widget="monetary"/>

View File

@ -1,6 +1,6 @@
{ {
'name': 'Education LMS', 'name': 'Education LMS',
'version': '17.0.1.0.0', 'version': '19.0.1.0.0',
'category': 'Education', 'category': 'Education',
'summary': 'Learning Management System Foundation for Education', 'summary': 'Learning Management System Foundation for Education',
'description': """ 'description': """

View File

@ -10,23 +10,19 @@
<!-- Student Group --> <!-- Student Group -->
<record id="group_education_lms_student" model="res.groups"> <record id="group_education_lms_student" model="res.groups">
<field name="name">LMS Student</field> <field name="name">LMS Student</field>
<field name="category_id" ref="module_category_education_lms"/>
<field name="implied_ids" eval="[(4, ref('base.group_user'))]"/> <field name="implied_ids" eval="[(4, ref('base.group_user'))]"/>
</record> </record>
<!-- Faculty Group --> <!-- Faculty Group -->
<record id="group_education_lms_faculty" model="res.groups"> <record id="group_education_lms_faculty" model="res.groups">
<field name="name">LMS Faculty</field> <field name="name">LMS Faculty</field>
<field name="category_id" ref="module_category_education_lms"/>
<field name="implied_ids" eval="[(4, ref('base.group_user'))]"/> <field name="implied_ids" eval="[(4, ref('base.group_user'))]"/>
</record> </record>
<!-- Administrator Group --> <!-- Administrator Group -->
<record id="group_education_lms_admin" model="res.groups"> <record id="group_education_lms_admin" model="res.groups">
<field name="name">LMS Administrator</field> <field name="name">LMS Administrator</field>
<field name="category_id" ref="module_category_education_lms"/>
<field name="implied_ids" eval="[(4, ref('group_education_lms_faculty'))]"/> <field name="implied_ids" eval="[(4, ref('group_education_lms_faculty'))]"/>
<field name="users" eval="[(4, ref('base.user_root')), (4, ref('base.user_admin'))]"/>
</record> </record>
<data> <data>

View File

@ -51,13 +51,13 @@
<field name="name">education.lms.assignment.tree</field> <field name="name">education.lms.assignment.tree</field>
<field name="model">education.lms.assignment</field> <field name="model">education.lms.assignment</field>
<field name="arch" type="xml"> <field name="arch" type="xml">
<tree string="Assignments"> <list string="Assignments">
<field name="title"/> <field name="title"/>
<field name="course_id"/> <field name="course_id"/>
<field name="due_date"/> <field name="due_date"/>
<field name="maximum_marks"/> <field name="maximum_marks"/>
<field name="state"/> <field name="state"/>
</tree> </list>
</field> </field>
</record> </record>
@ -72,7 +72,7 @@
<field name="faculty_id"/> <field name="faculty_id"/>
<filter string="Published" name="published" domain="[('state','=','published')]"/> <filter string="Published" name="published" domain="[('state','=','published')]"/>
<filter string="Draft" name="draft" domain="[('state','=','draft')]"/> <filter string="Draft" name="draft" domain="[('state','=','draft')]"/>
<group expand="0" string="Group By"> <group>
<filter string="Course" name="group_by_course" context="{'group_by':'course_id'}"/> <filter string="Course" name="group_by_course" context="{'group_by':'course_id'}"/>
<filter string="State" name="group_by_state" context="{'group_by':'state'}"/> <filter string="State" name="group_by_state" context="{'group_by':'state'}"/>
</group> </group>
@ -84,7 +84,7 @@
<record id="action_education_lms_assignment" model="ir.actions.act_window"> <record id="action_education_lms_assignment" model="ir.actions.act_window">
<field name="name">Assignments</field> <field name="name">Assignments</field>
<field name="res_model">education.lms.assignment</field> <field name="res_model">education.lms.assignment</field>
<field name="view_mode">tree,form</field> <field name="view_mode">list,form</field>
<field name="help" type="html"> <field name="help" type="html">
<p class="o_view_nocontent_smiling_face"> <p class="o_view_nocontent_smiling_face">
Create the first Assignment! Create the first Assignment!

View File

@ -22,11 +22,11 @@
<notebook> <notebook>
<page string="Lessons" name="lessons"> <page string="Lessons" name="lessons">
<field name="lesson_ids"> <field name="lesson_ids">
<tree string="Lessons"> <list string="Lessons">
<field name="sequence" widget="handle"/> <field name="sequence" widget="handle"/>
<field name="name"/> <field name="name"/>
<field name="published"/> <field name="published"/>
</tree> </list>
</field> </field>
</page> </page>
<page string="Description" name="description"> <page string="Description" name="description">
@ -60,12 +60,12 @@
<notebook> <notebook>
<page string="Materials" name="materials"> <page string="Materials" name="materials">
<field name="material_ids"> <field name="material_ids">
<tree string="Materials"> <list string="Materials">
<field name="sequence" widget="handle"/> <field name="sequence" widget="handle"/>
<field name="name"/> <field name="name"/>
<field name="material_type"/> <field name="material_type"/>
<field name="published"/> <field name="published"/>
</tree> </list>
</field> </field>
</page> </page>
<page string="Content" name="content"> <page string="Content" name="content">

View File

@ -16,7 +16,7 @@
<div class="oe_button_box" name="button_box"> <div class="oe_button_box" name="button_box">
<button class="oe_stat_button" type="action" name="%(action_education_lms_assignment)d" <button class="oe_stat_button" type="action" name="%(action_education_lms_assignment)d"
icon="fa-tasks" icon="fa-tasks"
context="{'search_default_course_id': active_id, 'default_course_id': active_id}"> context="{'search_default_course_id': id, 'default_course_id': id}">
<div class="o_stat_info"> <div class="o_stat_info">
<field name="assignment_count" class="o_stat_value"/> <field name="assignment_count" class="o_stat_value"/>
<span class="o_stat_text">Assignments</span> <span class="o_stat_text">Assignments</span>
@ -24,7 +24,7 @@
</button> </button>
<button class="oe_stat_button" type="action" name="%(action_education_lms_submission)d" <button class="oe_stat_button" type="action" name="%(action_education_lms_submission)d"
icon="fa-file-text-o" icon="fa-file-text-o"
context="{'search_default_course_id': active_id, 'default_course_id': active_id}"> context="{'search_default_course_id': id, 'default_course_id': id}">
<div class="o_stat_info"> <div class="o_stat_info">
<field name="submission_count" class="o_stat_value"/> <field name="submission_count" class="o_stat_value"/>
<span class="o_stat_text">Submissions</span> <span class="o_stat_text">Submissions</span>
@ -53,11 +53,11 @@
<notebook> <notebook>
<page string="Content" name="content"> <page string="Content" name="content">
<field name="section_ids"> <field name="section_ids">
<tree string="Sections"> <list string="Sections">
<field name="sequence" widget="handle"/> <field name="sequence" widget="handle"/>
<field name="name"/> <field name="name"/>
<field name="published"/> <field name="published"/>
</tree> </list>
</field> </field>
</page> </page>
<page string="Description" name="description"> <page string="Description" name="description">
@ -74,13 +74,13 @@
<field name="name">education.lms.course.tree</field> <field name="name">education.lms.course.tree</field>
<field name="model">education.lms.course</field> <field name="model">education.lms.course</field>
<field name="arch" type="xml"> <field name="arch" type="xml">
<tree string="Courses"> <list string="Courses">
<field name="name"/> <field name="name"/>
<field name="subject_id"/> <field name="subject_id"/>
<field name="program_id"/> <field name="program_id"/>
<field name="faculty_id"/> <field name="faculty_id"/>
<field name="state"/> <field name="state"/>
</tree> </list>
</field> </field>
</record> </record>
@ -96,7 +96,7 @@
<field name="program_id"/> <field name="program_id"/>
<filter string="Published" name="published" domain="[('state','=','published')]"/> <filter string="Published" name="published" domain="[('state','=','published')]"/>
<filter string="Draft" name="draft" domain="[('state','=','draft')]"/> <filter string="Draft" name="draft" domain="[('state','=','draft')]"/>
<group expand="0" string="Group By"> <group>
<filter string="Program" name="group_by_program" context="{'group_by':'program_id'}"/> <filter string="Program" name="group_by_program" context="{'group_by':'program_id'}"/>
<filter string="Faculty" name="group_by_faculty" context="{'group_by':'faculty_id'}"/> <filter string="Faculty" name="group_by_faculty" context="{'group_by':'faculty_id'}"/>
<filter string="State" name="group_by_state" context="{'group_by':'state'}"/> <filter string="State" name="group_by_state" context="{'group_by':'state'}"/>
@ -109,7 +109,7 @@
<record id="action_education_lms_course" model="ir.actions.act_window"> <record id="action_education_lms_course" model="ir.actions.act_window">
<field name="name">Courses</field> <field name="name">Courses</field>
<field name="res_model">education.lms.course</field> <field name="res_model">education.lms.course</field>
<field name="view_mode">tree,form</field> <field name="view_mode">list,form</field>
<field name="help" type="html"> <field name="help" type="html">
<p class="o_view_nocontent_smiling_face"> <p class="o_view_nocontent_smiling_face">
Create your first LMS Course! Create your first LMS Course!

View File

@ -47,13 +47,13 @@
<field name="name">education.lms.submission.tree</field> <field name="name">education.lms.submission.tree</field>
<field name="model">education.lms.submission</field> <field name="model">education.lms.submission</field>
<field name="arch" type="xml"> <field name="arch" type="xml">
<tree string="Submissions" decoration-danger="status=='late'" decoration-success="status=='evaluated'"> <list string="Submissions" decoration-danger="status=='late'" decoration-success="status=='evaluated'">
<field name="assignment_id"/> <field name="assignment_id"/>
<field name="student_id"/> <field name="student_id"/>
<field name="submission_date"/> <field name="submission_date"/>
<field name="status"/> <field name="status"/>
<field name="marks"/> <field name="marks"/>
</tree> </list>
</field> </field>
</record> </record>
@ -68,7 +68,7 @@
<filter string="Submitted" name="submitted" domain="[('status','=','submitted')]"/> <filter string="Submitted" name="submitted" domain="[('status','=','submitted')]"/>
<filter string="Evaluated" name="evaluated" domain="[('status','=','evaluated')]"/> <filter string="Evaluated" name="evaluated" domain="[('status','=','evaluated')]"/>
<filter string="Late" name="late" domain="[('status','=','late')]"/> <filter string="Late" name="late" domain="[('status','=','late')]"/>
<group expand="0" string="Group By"> <group>
<filter string="Assignment" name="group_by_assignment" context="{'group_by':'assignment_id'}"/> <filter string="Assignment" name="group_by_assignment" context="{'group_by':'assignment_id'}"/>
<filter string="Student" name="group_by_student" context="{'group_by':'student_id'}"/> <filter string="Student" name="group_by_student" context="{'group_by':'student_id'}"/>
<filter string="Status" name="group_by_status" context="{'group_by':'status'}"/> <filter string="Status" name="group_by_status" context="{'group_by':'status'}"/>
@ -81,7 +81,7 @@
<record id="action_education_lms_submission" model="ir.actions.act_window"> <record id="action_education_lms_submission" model="ir.actions.act_window">
<field name="name">Submissions</field> <field name="name">Submissions</field>
<field name="res_model">education.lms.submission</field> <field name="res_model">education.lms.submission</field>
<field name="view_mode">tree,form</field> <field name="view_mode">list,form</field>
<field name="help" type="html"> <field name="help" type="html">
<p class="o_view_nocontent_smiling_face"> <p class="o_view_nocontent_smiling_face">
Manage Student Submissions! Manage Student Submissions!

View File

@ -1,6 +1,6 @@
{ {
'name': 'Education Portal', 'name': 'Education Portal',
'version': '17.0.1.0.0', 'version': '19.0.1.0.0',
'category': 'Education', 'category': 'Education',
'summary': 'Student Self-Service Portal for Education ERP', 'summary': 'Student Self-Service Portal for Education ERP',
'description': """ 'description': """

Some files were not shown because too many files have changed in this diff Show More