odoo 19 converted
This commit is contained in:
parent
d8f43af3b0
commit
2794ebcb22
@ -1,6 +1,6 @@
|
||||
{
|
||||
'name': 'Education Attendance',
|
||||
'version': '17.0.1.0.0',
|
||||
'version': '19.0.1.0.0',
|
||||
'category': 'Education',
|
||||
'summary': 'Manage Daily and Period-wise Student Attendance',
|
||||
'description': """
|
||||
|
||||
BIN
addons/education_attendance/__pycache__/__init__.cpython-312.pyc
Normal file
BIN
addons/education_attendance/__pycache__/__init__.cpython-312.pyc
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -9,14 +9,12 @@
|
||||
<!-- Groups -->
|
||||
<record id="group_attendance_user" model="res.groups">
|
||||
<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="comment">Allows marking attendance lines and tracking their sessions.</field>
|
||||
</record>
|
||||
|
||||
<record id="group_attendance_manager" model="res.groups">
|
||||
<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="comment">Full managerial oversight, configuration, and reports.</field>
|
||||
</record>
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
<field name="name">education.attendance.session.tree</field>
|
||||
<field name="model">education.attendance.session</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Attendance Sessions">
|
||||
<list string="Attendance Sessions">
|
||||
<field name="name"/>
|
||||
<field name="campus_id"/>
|
||||
<field name="program_id"/>
|
||||
@ -13,7 +13,7 @@
|
||||
<field name="period"/>
|
||||
<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'"/>
|
||||
</tree>
|
||||
</list>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
@ -132,13 +132,13 @@
|
||||
<notebook>
|
||||
<page string="Students List" name="students_list" invisible="state == 'draft'">
|
||||
<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="status" widget="radio" options="{'horizontal': true}"/>
|
||||
<field name="remarks"/>
|
||||
<field name="time_in"/>
|
||||
<field name="time_out"/>
|
||||
</tree>
|
||||
</list>
|
||||
</field>
|
||||
</page>
|
||||
</notebook>
|
||||
@ -167,7 +167,7 @@
|
||||
<filter string="Open (Active)" name="open" domain="[('state', '=', 'open')]"/>
|
||||
<filter string="Completed" name="completed" domain="[('state', '=', 'completed')]"/>
|
||||
<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="Department" name="group_dept" context="{'group_by': 'department_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">
|
||||
<field name="name">Attendance Sessions</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"/>
|
||||
</record>
|
||||
</odoo>
|
||||
|
||||
@ -4,14 +4,14 @@
|
||||
<field name="name">education.attendance.tree</field>
|
||||
<field name="model">education.attendance</field>
|
||||
<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="student_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="faculty_id"/>
|
||||
<field name="remarks"/>
|
||||
</tree>
|
||||
</list>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
@ -62,7 +62,7 @@
|
||||
<filter string="Late" name="late" domain="[('status', '=', 'late')]"/>
|
||||
<filter string="Medical Leave" name="medical_leave" domain="[('status', '=', 'medical_leave')]"/>
|
||||
<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="Status" name="group_status" context="{'group_by': 'status'}"/>
|
||||
<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">
|
||||
<field name="name">Attendance History</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"/>
|
||||
</record>
|
||||
</odoo>
|
||||
|
||||
@ -7,7 +7,7 @@
|
||||
<field name="arch" type="xml">
|
||||
<!-- Replace placeholder Attendance button with dynamic record action -->
|
||||
<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">
|
||||
<span class="o_stat_value">
|
||||
<field name="attendance_pct" widget="float" precision="1"/>%
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
{
|
||||
'name': 'Education Base',
|
||||
'version': '17.0.1.0.0',
|
||||
'version': '19.0.1.0.0',
|
||||
'summary': 'Core foundation for education management',
|
||||
'description': '''
|
||||
Education Base module provides the foundational master data, academic configuration,
|
||||
|
||||
BIN
addons/education_base/__pycache__/__init__.cpython-312.pyc
Normal file
BIN
addons/education_base/__pycache__/__init__.cpython-312.pyc
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
addons/education_base/models/__pycache__/campus.cpython-312.pyc
Normal file
BIN
addons/education_base/models/__pycache__/campus.cpython-312.pyc
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
addons/education_base/models/__pycache__/program.cpython-312.pyc
Normal file
BIN
addons/education_base/models/__pycache__/program.cpython-312.pyc
Normal file
Binary file not shown.
@ -7,20 +7,17 @@
|
||||
|
||||
<record id="group_education_base_user" model="res.groups">
|
||||
<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>
|
||||
</record>
|
||||
|
||||
<record id="group_education_base_manager" model="res.groups">
|
||||
<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="comment">Manage academic configuration and master setup.</field>
|
||||
</record>
|
||||
|
||||
<record id="group_education_base_admin" model="res.groups">
|
||||
<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="comment">Full administrative access to base education configuration.</field>
|
||||
</record>
|
||||
|
||||
@ -4,13 +4,13 @@
|
||||
<field name="name">education.academic.level.tree</field>
|
||||
<field name="model">education.academic.level</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Academic Levels">
|
||||
<list string="Academic Levels">
|
||||
<field name="sequence" widget="handle"/>
|
||||
<field name="name"/>
|
||||
<field name="code"/>
|
||||
<field name="description"/>
|
||||
<field name="company_id" groups="base.group_multi_company"/>
|
||||
</tree>
|
||||
</list>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
@ -45,7 +45,7 @@
|
||||
<search string="Academic Levels">
|
||||
<field name="name"/>
|
||||
<field name="code"/>
|
||||
<group expand="1" string="Group By">
|
||||
<group>
|
||||
<filter string="Company" name="company" context="{'group_by': 'company_id'}"/>
|
||||
</group>
|
||||
</search>
|
||||
@ -55,7 +55,7 @@
|
||||
<record id="action_education_academic_level" model="ir.actions.act_window">
|
||||
<field name="name">Academic Levels</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"/>
|
||||
</record>
|
||||
</odoo>
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
<field name="name">education.academic.term.tree</field>
|
||||
<field name="model">education.academic.term</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Academic Terms">
|
||||
<list string="Academic Terms">
|
||||
<field name="name"/>
|
||||
<field name="code"/>
|
||||
<field name="academic_year_id"/>
|
||||
@ -13,7 +13,7 @@
|
||||
<field name="end_date"/>
|
||||
<field name="state"/>
|
||||
<field name="company_id" groups="base.group_multi_company"/>
|
||||
</tree>
|
||||
</list>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
@ -55,7 +55,7 @@
|
||||
<field name="code"/>
|
||||
<field name="academic_year_id"/>
|
||||
<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="Company" name="company" context="{'group_by': 'company_id'}"/>
|
||||
</group>
|
||||
@ -66,7 +66,7 @@
|
||||
<record id="action_education_academic_term" model="ir.actions.act_window">
|
||||
<field name="name">Academic Terms</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"/>
|
||||
</record>
|
||||
</odoo>
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
<field name="name">education.academic.year.tree</field>
|
||||
<field name="model">education.academic.year</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Academic Years">
|
||||
<list string="Academic Years">
|
||||
<field name="name"/>
|
||||
<field name="code"/>
|
||||
<field name="start_date"/>
|
||||
@ -12,7 +12,7 @@
|
||||
<field name="state"/>
|
||||
<field name="current_year"/>
|
||||
<field name="company_id" groups="base.group_multi_company"/>
|
||||
</tree>
|
||||
</list>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
@ -42,15 +42,15 @@
|
||||
</group>
|
||||
<notebook>
|
||||
<page string="Terms">
|
||||
<field name="term_ids" context="{'default_academic_year_id': active_id}">
|
||||
<tree>
|
||||
<field name="term_ids" context="{'default_academic_year_id': id}">
|
||||
<list>
|
||||
<field name="name"/>
|
||||
<field name="code"/>
|
||||
<field name="sequence"/>
|
||||
<field name="start_date"/>
|
||||
<field name="end_date"/>
|
||||
<field name="state"/>
|
||||
</tree>
|
||||
</list>
|
||||
</field>
|
||||
</page>
|
||||
</notebook>
|
||||
@ -68,7 +68,7 @@
|
||||
<field name="code"/>
|
||||
<filter string="Current Year" name="current_year" domain="[('current_year', '=', True)]"/>
|
||||
<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="State" name="state" context="{'group_by': 'state'}"/>
|
||||
</group>
|
||||
@ -79,7 +79,7 @@
|
||||
<record id="action_education_academic_year" model="ir.actions.act_window">
|
||||
<field name="name">Academic Years</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"/>
|
||||
</record>
|
||||
</odoo>
|
||||
|
||||
@ -4,13 +4,13 @@
|
||||
<field name="name">education.campus.tree</field>
|
||||
<field name="model">education.campus</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Campuses">
|
||||
<list string="Campuses">
|
||||
<field name="name"/>
|
||||
<field name="code"/>
|
||||
<field name="phone"/>
|
||||
<field name="email"/>
|
||||
<field name="company_id" groups="base.group_multi_company"/>
|
||||
</tree>
|
||||
</list>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
@ -36,11 +36,11 @@
|
||||
<notebook>
|
||||
<page string="Departments">
|
||||
<field name="department_ids">
|
||||
<tree>
|
||||
<list>
|
||||
<field name="name"/>
|
||||
<field name="code"/>
|
||||
<field name="head_teacher_id"/>
|
||||
</tree>
|
||||
</list>
|
||||
</field>
|
||||
</page>
|
||||
</notebook>
|
||||
@ -57,7 +57,7 @@
|
||||
<field name="name"/>
|
||||
<field name="code"/>
|
||||
<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'}"/>
|
||||
</group>
|
||||
</search>
|
||||
@ -67,7 +67,7 @@
|
||||
<record id="action_education_campus" model="ir.actions.act_window">
|
||||
<field name="name">Campuses</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"/>
|
||||
</record>
|
||||
</odoo>
|
||||
|
||||
@ -4,13 +4,13 @@
|
||||
<field name="name">education.department.tree</field>
|
||||
<field name="model">education.department</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Departments">
|
||||
<list string="Departments">
|
||||
<field name="name"/>
|
||||
<field name="code"/>
|
||||
<field name="campus_id"/>
|
||||
<field name="head_teacher_id"/>
|
||||
<field name="company_id" groups="base.group_multi_company"/>
|
||||
</tree>
|
||||
</list>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
@ -34,11 +34,11 @@
|
||||
<notebook>
|
||||
<page string="Programs">
|
||||
<field name="program_ids">
|
||||
<tree>
|
||||
<list>
|
||||
<field name="name"/>
|
||||
<field name="code"/>
|
||||
<field name="level_id"/>
|
||||
</tree>
|
||||
</list>
|
||||
</field>
|
||||
</page>
|
||||
</notebook>
|
||||
@ -55,7 +55,7 @@
|
||||
<field name="name"/>
|
||||
<field name="code"/>
|
||||
<field name="campus_id"/>
|
||||
<group expand="1" string="Group By">
|
||||
<group>
|
||||
<filter string="Campus" name="campus" context="{'group_by': 'campus_id'}"/>
|
||||
<filter string="Company" name="company" context="{'group_by': 'company_id'}"/>
|
||||
</group>
|
||||
@ -66,7 +66,7 @@
|
||||
<record id="action_education_department" model="ir.actions.act_window">
|
||||
<field name="name">Departments</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"/>
|
||||
</record>
|
||||
</odoo>
|
||||
|
||||
@ -4,13 +4,13 @@
|
||||
<field name="name">education.configuration.tree</field>
|
||||
<field name="model">education.configuration</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Education Configuration">
|
||||
<list string="Education Configuration">
|
||||
<field name="school_name"/>
|
||||
<field name="school_code"/>
|
||||
<field name="default_campus_id"/>
|
||||
<field name="default_academic_year_id"/>
|
||||
<field name="company_id" groups="base.group_multi_company"/>
|
||||
</tree>
|
||||
</list>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
@ -54,7 +54,7 @@
|
||||
<search string="Education Configuration">
|
||||
<field name="school_name"/>
|
||||
<field name="school_code"/>
|
||||
<group expand="1" string="Group By">
|
||||
<group>
|
||||
<filter string="Company" name="company" context="{'group_by': 'company_id'}"/>
|
||||
</group>
|
||||
</search>
|
||||
@ -64,7 +64,7 @@
|
||||
<record id="action_education_configuration" model="ir.actions.act_window">
|
||||
<field name="name">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"/>
|
||||
</record>
|
||||
</odoo>
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
<field name="name">education.program.tree</field>
|
||||
<field name="model">education.program</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Programs">
|
||||
<list string="Programs">
|
||||
<field name="name"/>
|
||||
<field name="code"/>
|
||||
<field name="level_id"/>
|
||||
@ -12,7 +12,7 @@
|
||||
<field name="duration"/>
|
||||
<field name="duration_unit"/>
|
||||
<field name="company_id" groups="base.group_multi_company"/>
|
||||
</tree>
|
||||
</list>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
@ -52,7 +52,7 @@
|
||||
<field name="code"/>
|
||||
<field name="department_id"/>
|
||||
<field name="level_id"/>
|
||||
<group expand="1" string="Group By">
|
||||
<group>
|
||||
<filter string="Department" name="department" context="{'group_by': 'department_id'}"/>
|
||||
<filter string="Academic Level" name="level" context="{'group_by': 'level_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">
|
||||
<field name="name">Programs</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"/>
|
||||
</record>
|
||||
</odoo>
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
{
|
||||
'name': 'Education Dashboard',
|
||||
'version': '17.0.1.0.0',
|
||||
'version': '19.0.1.0.0',
|
||||
'category': 'Education',
|
||||
'summary': 'Interactive Management Dashboard for Education ERP',
|
||||
'description': """
|
||||
|
||||
BIN
addons/education_dashboard/__pycache__/__init__.cpython-312.pyc
Normal file
BIN
addons/education_dashboard/__pycache__/__init__.cpython-312.pyc
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -1,6 +1,6 @@
|
||||
{
|
||||
'name': 'Education Examinations',
|
||||
'version': '1.0',
|
||||
'version': '19.0.1.0.0',
|
||||
'category': 'Education',
|
||||
'summary': 'Complete College Examination Module',
|
||||
'description': """
|
||||
|
||||
BIN
addons/education_exam/__pycache__/__init__.cpython-312.pyc
Normal file
BIN
addons/education_exam/__pycache__/__init__.cpython-312.pyc
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -11,15 +11,12 @@
|
||||
<!-- Groups -->
|
||||
<record id="group_education_exam_teacher" model="res.groups">
|
||||
<field name="name">Teacher / Faculty</field>
|
||||
<field name="category_id" ref="module_category_education_exam"/>
|
||||
</record>
|
||||
|
||||
<record id="group_education_exam_administrator" model="res.groups">
|
||||
<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="users" eval="[(4, ref('base.user_root')), (4, ref('base.user_admin'))]"/>
|
||||
</record>
|
||||
</record>
|
||||
|
||||
<!-- Record Rules -->
|
||||
<!-- Teachers can see only exams and results where they are assigned (simplified for now, full read access to exams) -->
|
||||
|
||||
@ -5,14 +5,14 @@
|
||||
<field name="name">education.exam.result.tree</field>
|
||||
<field name="model">education.exam.result</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree>
|
||||
<list>
|
||||
<field name="student_id"/>
|
||||
<field name="exam_id"/>
|
||||
<field name="percentage"/>
|
||||
<field name="grade_id"/>
|
||||
<field name="result_status"/>
|
||||
<field name="published"/>
|
||||
</tree>
|
||||
</list>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
@ -44,7 +44,7 @@
|
||||
<notebook>
|
||||
<page string="Marks Entry">
|
||||
<field name="line_ids" readonly="published">
|
||||
<tree editable="bottom">
|
||||
<list editable="bottom">
|
||||
<field name="subject_id"/>
|
||||
<field name="exam_type_id"/>
|
||||
<field name="max_marks"/>
|
||||
@ -54,7 +54,7 @@
|
||||
<field name="grade_id"/>
|
||||
<field name="status"/>
|
||||
<field name="remarks"/>
|
||||
</tree>
|
||||
</list>
|
||||
</field>
|
||||
</page>
|
||||
</notebook>
|
||||
@ -67,12 +67,12 @@
|
||||
<record id="action_education_marks_entry" model="ir.actions.act_window">
|
||||
<field name="name">Marks Entry</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 id="action_education_exam_result" model="ir.actions.act_window">
|
||||
<field name="name">Results</field>
|
||||
<field name="res_model">education.exam.result</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
<field name="view_mode">list,form</field>
|
||||
</record>
|
||||
</odoo>
|
||||
|
||||
@ -5,11 +5,11 @@
|
||||
<field name="name">education.exam.type.tree</field>
|
||||
<field name="model">education.exam.type</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree>
|
||||
<list>
|
||||
<field name="name"/>
|
||||
<field name="code"/>
|
||||
<field name="weightage"/>
|
||||
</tree>
|
||||
</list>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
@ -34,7 +34,7 @@
|
||||
<record id="action_education_exam_type" model="ir.actions.act_window">
|
||||
<field name="name">Exam Types</field>
|
||||
<field name="res_model">education.exam.type</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
<field name="view_mode">list,form</field>
|
||||
</record>
|
||||
|
||||
<!-- Exam Views -->
|
||||
@ -42,7 +42,7 @@
|
||||
<field name="name">education.exam.tree</field>
|
||||
<field name="model">education.exam</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree>
|
||||
<list>
|
||||
<field name="name"/>
|
||||
<field name="exam_type_id"/>
|
||||
<field name="program_id"/>
|
||||
@ -50,7 +50,7 @@
|
||||
<field name="start_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'"/>
|
||||
</tree>
|
||||
</list>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
@ -91,7 +91,7 @@
|
||||
<notebook>
|
||||
<page string="Schedule" name="schedule">
|
||||
<field name="line_ids">
|
||||
<tree editable="bottom">
|
||||
<list editable="bottom">
|
||||
<field name="subject_id"/>
|
||||
<field name="exam_date"/>
|
||||
<field name="start_time" widget="float_time"/>
|
||||
@ -101,19 +101,19 @@
|
||||
<field name="room"/>
|
||||
<field name="venue"/>
|
||||
<field name="faculty_id"/>
|
||||
</tree>
|
||||
</list>
|
||||
</field>
|
||||
</page>
|
||||
<page string="Results" name="results">
|
||||
<field name="result_ids" readonly="1">
|
||||
<tree>
|
||||
<list>
|
||||
<field name="student_id"/>
|
||||
<field name="total_obtained_marks"/>
|
||||
<field name="percentage"/>
|
||||
<field name="grade_id"/>
|
||||
<field name="result_status"/>
|
||||
<field name="published"/>
|
||||
</tree>
|
||||
</list>
|
||||
</field>
|
||||
</page>
|
||||
</notebook>
|
||||
@ -125,6 +125,6 @@
|
||||
<record id="action_education_exam" model="ir.actions.act_window">
|
||||
<field name="name">Exams</field>
|
||||
<field name="res_model">education.exam</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
<field name="view_mode">list,form</field>
|
||||
</record>
|
||||
</odoo>
|
||||
|
||||
@ -4,11 +4,11 @@
|
||||
<field name="name">education.grading.system.tree</field>
|
||||
<field name="model">education.grading.system</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree>
|
||||
<list>
|
||||
<field name="name"/>
|
||||
<field name="code"/>
|
||||
<field name="scale_type"/>
|
||||
</tree>
|
||||
</list>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
@ -31,7 +31,7 @@
|
||||
<notebook>
|
||||
<page string="Grades">
|
||||
<field name="grade_ids">
|
||||
<tree editable="bottom" default_order="sequence">
|
||||
<list editable="bottom" default_order="sequence">
|
||||
<field name="sequence" widget="handle"/>
|
||||
<field name="name"/>
|
||||
<field name="code"/>
|
||||
@ -39,7 +39,7 @@
|
||||
<field name="max_percentage"/>
|
||||
<field name="grade_point"/>
|
||||
<field name="result_status"/>
|
||||
</tree>
|
||||
</list>
|
||||
</field>
|
||||
</page>
|
||||
</notebook>
|
||||
@ -51,6 +51,6 @@
|
||||
<record id="action_education_grading_system" model="ir.actions.act_window">
|
||||
<field name="name">Grading Systems</field>
|
||||
<field name="res_model">education.grading.system</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
<field name="view_mode">list,form</field>
|
||||
</record>
|
||||
</odoo>
|
||||
|
||||
@ -4,14 +4,14 @@
|
||||
<field name="name">education.subject.tree</field>
|
||||
<field name="model">education.subject</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree>
|
||||
<list>
|
||||
<field name="code"/>
|
||||
<field name="name"/>
|
||||
<field name="program_id"/>
|
||||
<field name="term_id"/>
|
||||
<field name="subject_type"/>
|
||||
<field name="credits"/>
|
||||
</tree>
|
||||
</list>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
@ -47,6 +47,6 @@
|
||||
<record id="action_education_subject" model="ir.actions.act_window">
|
||||
<field name="name">Subjects</field>
|
||||
<field name="res_model">education.subject</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
<field name="view_mode">list,form</field>
|
||||
</record>
|
||||
</odoo>
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
{
|
||||
'name': 'Education Finance',
|
||||
'version': '17.0.1.0.0',
|
||||
'version': '19.0.1.0.0',
|
||||
'summary': 'Student Finance Management System for education institutions',
|
||||
'description': '''
|
||||
This module manages fee categories, fee types, fee structures, assignments,
|
||||
|
||||
BIN
addons/education_finance/__pycache__/__init__.cpython-312.pyc
Normal file
BIN
addons/education_finance/__pycache__/__init__.cpython-312.pyc
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -9,28 +9,24 @@
|
||||
<!-- Groups -->
|
||||
<record id="group_finance_executive" model="res.groups">
|
||||
<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="comment">Basic transactional actions: Record payments, view student ledgers.</field>
|
||||
</record>
|
||||
|
||||
<record id="group_finance_manager" model="res.groups">
|
||||
<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="comment">Manage fee assignments, discounts, scholarships, and approve refunds.</field>
|
||||
</record>
|
||||
|
||||
<record id="group_finance_admin" model="res.groups">
|
||||
<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="comment">Full settings control, configure fee types/structures, and delete transactions.</field>
|
||||
</record>
|
||||
|
||||
<record id="group_finance_student_readonly" model="res.groups">
|
||||
<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="comment">Access control group allowing a student to view their own ledger lines.</field>
|
||||
</record>
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
<field name="name">education.fee.assignment.tree</field>
|
||||
<field name="model">education.fee.assignment</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Fee Assignments">
|
||||
<list string="Fee Assignments">
|
||||
<field name="student_id"/>
|
||||
<field name="academic_year_id"/>
|
||||
<field name="semester_id"/>
|
||||
@ -12,7 +12,7 @@
|
||||
<field name="assignment_date"/>
|
||||
<field name="state" widget="badge" decoration-info="state == 'draft'" decoration-success="state == 'confirmed'"/>
|
||||
<field name="company_id" groups="base.group_multi_company"/>
|
||||
</tree>
|
||||
</list>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
@ -53,7 +53,7 @@
|
||||
<field name="fee_structure_id"/>
|
||||
<filter string="Draft" name="draft" domain="[('state', '=', 'draft')]"/>
|
||||
<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="Fee Structure" name="group_structure" context="{'group_by': 'fee_structure_id'}"/>
|
||||
<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">
|
||||
<field name="name">Fee Assignments</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"/>
|
||||
</record>
|
||||
</odoo>
|
||||
|
||||
@ -4,12 +4,12 @@
|
||||
<field name="name">education.fee.category.tree</field>
|
||||
<field name="model">education.fee.category</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Fee Categories" editable="bottom">
|
||||
<list string="Fee Categories" editable="bottom">
|
||||
<field name="name"/>
|
||||
<field name="code"/>
|
||||
<field name="description"/>
|
||||
<field name="company_id" groups="base.group_multi_company"/>
|
||||
</tree>
|
||||
</list>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
@ -27,7 +27,7 @@
|
||||
<record id="action_education_fee_category" model="ir.actions.act_window">
|
||||
<field name="name">Fee Categories</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"/>
|
||||
</record>
|
||||
</odoo>
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
<field name="name">education.fee.structure.tree</field>
|
||||
<field name="model">education.fee.structure</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Fee Structures">
|
||||
<list string="Fee Structures">
|
||||
<field name="name"/>
|
||||
<field name="academic_year_id"/>
|
||||
<field name="level_id"/>
|
||||
@ -12,7 +12,7 @@
|
||||
<field name="department_id"/>
|
||||
<field name="semester_id"/>
|
||||
<field name="company_id" groups="base.group_multi_company"/>
|
||||
</tree>
|
||||
</list>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
@ -42,12 +42,12 @@
|
||||
<notebook>
|
||||
<page string="Fee Lines" name="lines">
|
||||
<field name="line_ids">
|
||||
<tree editable="bottom">
|
||||
<list editable="bottom">
|
||||
<field name="sequence" widget="handle"/>
|
||||
<field name="fee_type_id"/>
|
||||
<field name="amount"/>
|
||||
<field name="mandatory"/>
|
||||
</tree>
|
||||
</list>
|
||||
</field>
|
||||
</page>
|
||||
</notebook>
|
||||
@ -65,7 +65,7 @@
|
||||
<field name="academic_year_id"/>
|
||||
<field name="level_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="Level" name="group_level" context="{'group_by': 'level_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">
|
||||
<field name="name">Fee Structures</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"/>
|
||||
</record>
|
||||
</odoo>
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
<field name="name">education.fee.type.tree</field>
|
||||
<field name="model">education.fee.type</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Fee Types" editable="bottom">
|
||||
<list string="Fee Types" editable="bottom">
|
||||
<field name="name"/>
|
||||
<field name="category_id"/>
|
||||
<field name="amount"/>
|
||||
@ -12,7 +12,7 @@
|
||||
<field name="mandatory"/>
|
||||
<field name="tax_applicable"/>
|
||||
<field name="company_id" groups="base.group_multi_company"/>
|
||||
</tree>
|
||||
</list>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
@ -25,7 +25,7 @@
|
||||
<field name="category_id"/>
|
||||
<filter string="Mandatory" name="mandatory" domain="[('mandatory', '=', 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'}"/>
|
||||
</group>
|
||||
</search>
|
||||
@ -35,7 +35,7 @@
|
||||
<record id="action_education_fee_type" model="ir.actions.act_window">
|
||||
<field name="name">Fee Types</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"/>
|
||||
</record>
|
||||
</odoo>
|
||||
|
||||
@ -4,13 +4,13 @@
|
||||
<field name="name">education.student.discount.tree</field>
|
||||
<field name="model">education.student.discount</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Student Fee Discounts">
|
||||
<list string="Student Fee Discounts">
|
||||
<field name="student_id"/>
|
||||
<field name="type"/>
|
||||
<field name="amount"/>
|
||||
<field name="approved_by"/>
|
||||
<field name="state" widget="badge" decoration-info="state == 'draft'" decoration-success="state == 'confirmed'" decoration-danger="state == 'cancelled'"/>
|
||||
</tree>
|
||||
</list>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
@ -53,7 +53,7 @@
|
||||
<field name="student_id"/>
|
||||
<field name="approved_by"/>
|
||||
<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="Status" name="group_status" context="{'group_by': 'state'}"/>
|
||||
</group>
|
||||
@ -64,7 +64,7 @@
|
||||
<record id="action_education_student_discount" model="ir.actions.act_window">
|
||||
<field name="name">Discounts</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"/>
|
||||
</record>
|
||||
</odoo>
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
<field name="name">education.student.ledger.tree</field>
|
||||
<field name="model">education.student.ledger</field>
|
||||
<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="student_id"/>
|
||||
<field name="ref"/>
|
||||
@ -13,7 +13,7 @@
|
||||
<field name="credit" sum="Total Credit"/>
|
||||
<field name="balance" sum="Total Balance"/>
|
||||
<field name="status" widget="badge" decoration-success="status == 'posted'" decoration-danger="status == 'cancelled'"/>
|
||||
</tree>
|
||||
</list>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
@ -27,7 +27,7 @@
|
||||
<field name="date"/>
|
||||
<filter string="Posted" name="posted" domain="[('status', '=', 'posted')]"/>
|
||||
<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="Date" name="group_date" context="{'group_by': 'date'}"/>
|
||||
</group>
|
||||
@ -62,7 +62,7 @@
|
||||
<record id="action_education_student_ledger" model="ir.actions.act_window">
|
||||
<field name="name">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"/>
|
||||
</record>
|
||||
</odoo>
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
<field name="name">education.student.payment.tree</field>
|
||||
<field name="model">education.student.payment</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Student Payments">
|
||||
<list string="Student Payments">
|
||||
<field name="receipt_number"/>
|
||||
<field name="student_id"/>
|
||||
<field name="payment_date"/>
|
||||
@ -12,7 +12,7 @@
|
||||
<field name="amount" sum="Total Amount"/>
|
||||
<field name="reference_number"/>
|
||||
<field name="status" widget="badge" decoration-info="status == 'draft'" decoration-success="status == 'confirmed'" decoration-danger="status == 'cancelled'"/>
|
||||
</tree>
|
||||
</list>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
@ -64,7 +64,7 @@
|
||||
<field name="reference_number"/>
|
||||
<filter string="Confirmed" name="confirmed" domain="[('status', '=', 'confirmed')]"/>
|
||||
<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="Payment Method" name="group_method" context="{'group_by': 'payment_method'}"/>
|
||||
<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">
|
||||
<field name="name">Payments</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"/>
|
||||
</record>
|
||||
</odoo>
|
||||
|
||||
@ -4,13 +4,13 @@
|
||||
<field name="name">education.student.refund.tree</field>
|
||||
<field name="model">education.student.refund</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Student Refunds">
|
||||
<list string="Student Refunds">
|
||||
<field name="student_id"/>
|
||||
<field name="payment_id"/>
|
||||
<field name="amount" sum="Total Amount"/>
|
||||
<field name="reason"/>
|
||||
<field name="status" widget="badge" decoration-info="status == 'draft'" decoration-success="status == 'approved'" decoration-danger="status == 'rejected'"/>
|
||||
</tree>
|
||||
</list>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
@ -52,7 +52,7 @@
|
||||
<field name="payment_id"/>
|
||||
<filter string="Approved" name="approved" domain="[('status', '=', 'approved')]"/>
|
||||
<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="Status" name="group_status" context="{'group_by': 'status'}"/>
|
||||
</group>
|
||||
@ -63,7 +63,7 @@
|
||||
<record id="action_education_student_refund" model="ir.actions.act_window">
|
||||
<field name="name">Refunds</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"/>
|
||||
</record>
|
||||
</odoo>
|
||||
|
||||
@ -4,14 +4,14 @@
|
||||
<field name="name">education.student.scholarship.tree</field>
|
||||
<field name="model">education.student.scholarship</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Student Scholarships">
|
||||
<list string="Student Scholarships">
|
||||
<field name="scholarship_name"/>
|
||||
<field name="student_id"/>
|
||||
<field name="type"/>
|
||||
<field name="amount"/>
|
||||
<field name="sponsor"/>
|
||||
<field name="state" widget="badge" decoration-info="state == 'draft'" decoration-success="state == 'confirmed'" decoration-danger="state == 'cancelled'"/>
|
||||
</tree>
|
||||
</list>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
@ -56,7 +56,7 @@
|
||||
<field name="student_id"/>
|
||||
<field name="sponsor"/>
|
||||
<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="Status" name="group_status" context="{'group_by': 'state'}"/>
|
||||
</group>
|
||||
@ -67,7 +67,7 @@
|
||||
<record id="action_education_student_scholarship" model="ir.actions.act_window">
|
||||
<field name="name">Scholarships</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"/>
|
||||
</record>
|
||||
</odoo>
|
||||
|
||||
@ -10,13 +10,13 @@
|
||||
<xpath expr="//div[@name='button_box']" position="replace">
|
||||
<div class="oe_button_box" name="button_box">
|
||||
<!-- 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">
|
||||
<span class="o_stat_text">Assignments</span>
|
||||
</div>
|
||||
</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">
|
||||
<span class="o_stat_value">
|
||||
<field name="total_paid" widget="monetary"/>
|
||||
@ -25,13 +25,13 @@
|
||||
</div>
|
||||
</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">
|
||||
<span class="o_stat_text">Ledger</span>
|
||||
</div>
|
||||
</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">
|
||||
<span class="o_stat_value">
|
||||
<field name="total_fees" widget="monetary"/>
|
||||
@ -40,7 +40,7 @@
|
||||
</div>
|
||||
</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">
|
||||
<span class="o_stat_value">
|
||||
<field name="outstanding_amount" widget="monetary"/>
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
{
|
||||
'name': 'Education LMS',
|
||||
'version': '17.0.1.0.0',
|
||||
'version': '19.0.1.0.0',
|
||||
'category': 'Education',
|
||||
'summary': 'Learning Management System Foundation for Education',
|
||||
'description': """
|
||||
|
||||
BIN
addons/education_lms/__pycache__/__init__.cpython-312.pyc
Normal file
BIN
addons/education_lms/__pycache__/__init__.cpython-312.pyc
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
addons/education_lms/models/__pycache__/__init__.cpython-312.pyc
Normal file
BIN
addons/education_lms/models/__pycache__/__init__.cpython-312.pyc
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -10,24 +10,20 @@
|
||||
<!-- Student Group -->
|
||||
<record id="group_education_lms_student" model="res.groups">
|
||||
<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'))]"/>
|
||||
</record>
|
||||
|
||||
<!-- Faculty Group -->
|
||||
<record id="group_education_lms_faculty" model="res.groups">
|
||||
<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'))]"/>
|
||||
</record>
|
||||
|
||||
<!-- Administrator Group -->
|
||||
<record id="group_education_lms_admin" model="res.groups">
|
||||
<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="users" eval="[(4, ref('base.user_root')), (4, ref('base.user_admin'))]"/>
|
||||
</record>
|
||||
</record>
|
||||
|
||||
<data>
|
||||
<!-- Faculty Record Rules: Strict Ownership -->
|
||||
|
||||
@ -51,13 +51,13 @@
|
||||
<field name="name">education.lms.assignment.tree</field>
|
||||
<field name="model">education.lms.assignment</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Assignments">
|
||||
<list string="Assignments">
|
||||
<field name="title"/>
|
||||
<field name="course_id"/>
|
||||
<field name="due_date"/>
|
||||
<field name="maximum_marks"/>
|
||||
<field name="state"/>
|
||||
</tree>
|
||||
</list>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
@ -72,7 +72,7 @@
|
||||
<field name="faculty_id"/>
|
||||
<filter string="Published" name="published" domain="[('state','=','published')]"/>
|
||||
<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="State" name="group_by_state" context="{'group_by':'state'}"/>
|
||||
</group>
|
||||
@ -84,7 +84,7 @@
|
||||
<record id="action_education_lms_assignment" model="ir.actions.act_window">
|
||||
<field name="name">Assignments</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">
|
||||
<p class="o_view_nocontent_smiling_face">
|
||||
Create the first Assignment!
|
||||
|
||||
@ -22,11 +22,11 @@
|
||||
<notebook>
|
||||
<page string="Lessons" name="lessons">
|
||||
<field name="lesson_ids">
|
||||
<tree string="Lessons">
|
||||
<list string="Lessons">
|
||||
<field name="sequence" widget="handle"/>
|
||||
<field name="name"/>
|
||||
<field name="published"/>
|
||||
</tree>
|
||||
</list>
|
||||
</field>
|
||||
</page>
|
||||
<page string="Description" name="description">
|
||||
@ -60,12 +60,12 @@
|
||||
<notebook>
|
||||
<page string="Materials" name="materials">
|
||||
<field name="material_ids">
|
||||
<tree string="Materials">
|
||||
<list string="Materials">
|
||||
<field name="sequence" widget="handle"/>
|
||||
<field name="name"/>
|
||||
<field name="material_type"/>
|
||||
<field name="published"/>
|
||||
</tree>
|
||||
</list>
|
||||
</field>
|
||||
</page>
|
||||
<page string="Content" name="content">
|
||||
|
||||
@ -16,7 +16,7 @@
|
||||
<div class="oe_button_box" name="button_box">
|
||||
<button class="oe_stat_button" type="action" name="%(action_education_lms_assignment)d"
|
||||
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">
|
||||
<field name="assignment_count" class="o_stat_value"/>
|
||||
<span class="o_stat_text">Assignments</span>
|
||||
@ -24,7 +24,7 @@
|
||||
</button>
|
||||
<button class="oe_stat_button" type="action" name="%(action_education_lms_submission)d"
|
||||
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">
|
||||
<field name="submission_count" class="o_stat_value"/>
|
||||
<span class="o_stat_text">Submissions</span>
|
||||
@ -53,11 +53,11 @@
|
||||
<notebook>
|
||||
<page string="Content" name="content">
|
||||
<field name="section_ids">
|
||||
<tree string="Sections">
|
||||
<list string="Sections">
|
||||
<field name="sequence" widget="handle"/>
|
||||
<field name="name"/>
|
||||
<field name="published"/>
|
||||
</tree>
|
||||
</list>
|
||||
</field>
|
||||
</page>
|
||||
<page string="Description" name="description">
|
||||
@ -74,13 +74,13 @@
|
||||
<field name="name">education.lms.course.tree</field>
|
||||
<field name="model">education.lms.course</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Courses">
|
||||
<list string="Courses">
|
||||
<field name="name"/>
|
||||
<field name="subject_id"/>
|
||||
<field name="program_id"/>
|
||||
<field name="faculty_id"/>
|
||||
<field name="state"/>
|
||||
</tree>
|
||||
</list>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
@ -96,7 +96,7 @@
|
||||
<field name="program_id"/>
|
||||
<filter string="Published" name="published" domain="[('state','=','published')]"/>
|
||||
<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="Faculty" name="group_by_faculty" context="{'group_by':'faculty_id'}"/>
|
||||
<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">
|
||||
<field name="name">Courses</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">
|
||||
<p class="o_view_nocontent_smiling_face">
|
||||
Create your first LMS Course!
|
||||
|
||||
@ -47,13 +47,13 @@
|
||||
<field name="name">education.lms.submission.tree</field>
|
||||
<field name="model">education.lms.submission</field>
|
||||
<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="student_id"/>
|
||||
<field name="submission_date"/>
|
||||
<field name="status"/>
|
||||
<field name="marks"/>
|
||||
</tree>
|
||||
</list>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
@ -68,7 +68,7 @@
|
||||
<filter string="Submitted" name="submitted" domain="[('status','=','submitted')]"/>
|
||||
<filter string="Evaluated" name="evaluated" domain="[('status','=','evaluated')]"/>
|
||||
<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="Student" name="group_by_student" context="{'group_by':'student_id'}"/>
|
||||
<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">
|
||||
<field name="name">Submissions</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">
|
||||
<p class="o_view_nocontent_smiling_face">
|
||||
Manage Student Submissions!
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
{
|
||||
'name': 'Education Portal',
|
||||
'version': '17.0.1.0.0',
|
||||
'version': '19.0.1.0.0',
|
||||
'category': 'Education',
|
||||
'summary': 'Student Self-Service Portal for Education ERP',
|
||||
'description': """
|
||||
|
||||
BIN
addons/education_portal/__pycache__/__init__.cpython-312.pyc
Normal file
BIN
addons/education_portal/__pycache__/__init__.cpython-312.pyc
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user