Metatron_Student_ERP/addons/education_student/views/student_document_views.xml

189 lines
11 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<odoo>
<!-- ==================== STUDENT DOCUMENTS ==================== -->
<record id="view_education_student_document_tree" model="ir.ui.view">
<field name="name">education.student.document.tree</field>
<field name="model">education.student.document</field>
<field name="arch" type="xml">
<list string="Student Documents" decoration-info="verification_status == 'submitted'" decoration-success="verification_status == 'verified'" decoration-danger="verification_status == 'rejected'">
<field name="name"/>
<field name="student_id"/>
<field name="category"/>
<field name="file_name"/>
<field name="file_size" widget="integer"/>
<field name="upload_date"/>
<field name="verification_status" widget="badge" decoration-success="verification_status == 'verified'" decoration-danger="verification_status == 'rejected'" decoration-warning="verification_status == 'submitted'"/>
<field name="company_id" groups="base.group_multi_company"/>
</list>
</field>
</record>
<record id="view_education_student_document_form" model="ir.ui.view">
<field name="name">education.student.document.form</field>
<field name="model">education.student.document</field>
<field name="arch" type="xml">
<form string="Student Document">
<header>
<button name="action_verify" string="Verify" type="object" class="oe_highlight" invisible="verification_status == 'verified'" groups="education_student.group_education_student_user"/>
<button name="action_reject" string="Reject" type="object" invisible="verification_status == 'rejected'" groups="education_student.group_education_student_user"/>
<field name="verification_status" widget="statusbar" statusbar_visible="submitted,verified,rejected"/>
</header>
<sheet>
<group>
<group string="Document Details">
<field name="name"/>
<field name="student_id"/>
<field name="category"/>
<field name="company_id" groups="base.group_multi_company"/>
</group>
<group string="File Info">
<field name="document_file" filename="file_name"/>
<field name="file_name"/>
<field name="file_size"/>
<field name="mime_type"/>
<field name="upload_date"/>
</group>
</group>
<group string="Verification Details" invisible="verification_status == 'submitted'">
<group>
<field name="verified_by"/>
<field name="verification_date"/>
</group>
<group>
<field name="rejection_reason" invisible="verification_status != 'rejected'"/>
</group>
</group>
</sheet>
<chatter/>
</form>
</field>
</record>
<record id="view_education_student_document_search" model="ir.ui.view">
<field name="name">education.student.document.search</field>
<field name="model">education.student.document</field>
<field name="arch" type="xml">
<search string="Search Student Documents">
<field name="name" string="Document Title"/>
<field name="student_id"/>
<field name="category"/>
<filter string="Pending Verification" name="filter_submitted" domain="[('verification_status', '=', 'submitted')]"/>
<filter string="Verified" name="filter_verified" domain="[('verification_status', '=', 'verified')]"/>
<filter string="Rejected" name="filter_rejected" domain="[('verification_status', '=', 'rejected')]"/>
<group>
<filter string="Student" name="group_student" context="{'group_by': 'student_id'}"/>
<filter string="Category" name="group_category" context="{'group_by': 'category'}"/>
<filter string="Status" name="group_status" context="{'group_by': 'verification_status'}"/>
</group>
</search>
</field>
</record>
<record id="action_education_student_document" model="ir.actions.act_window">
<field name="name">Student Documents</field>
<field name="res_model">education.student.document</field>
<field name="view_mode">list,form</field>
<field name="search_view_id" ref="view_education_student_document_search"/>
<field name="context">{'search_default_filter_submitted': 1}</field>
</record>
<menuitem id="menu_education_student_document"
name="Student Documents"
parent="education_base.menu_education_base_root"
action="action_education_student_document"
sequence="15"
groups="education_student.group_education_student_user"/>
<!-- ==================== STUDENT CERTIFICATES ==================== -->
<record id="view_education_student_certificate_tree" model="ir.ui.view">
<field name="name">education.student.certificate.tree</field>
<field name="model">education.student.certificate</field>
<field name="arch" type="xml">
<list string="Student Certificates" decoration-info="state == 'requested'" decoration-warning="state == 'approved'" decoration-success="state == 'issued'" decoration-danger="state == 'rejected'">
<field name="name"/>
<field name="student_id"/>
<field name="certificate_type"/>
<field name="request_date"/>
<field name="issue_date"/>
<field name="state" widget="badge" decoration-success="state == 'issued'" decoration-danger="state == 'rejected'" decoration-warning="state == 'approved'" decoration-info="state == 'requested'"/>
<field name="company_id" groups="base.group_multi_company"/>
</list>
</field>
</record>
<record id="view_education_student_certificate_form" model="ir.ui.view">
<field name="name">education.student.certificate.form</field>
<field name="model">education.student.certificate</field>
<field name="arch" type="xml">
<form string="Student Certificate">
<header>
<button name="action_approve" string="Approve" type="object" class="oe_highlight" invisible="state != 'requested'" groups="education_student.group_education_student_user"/>
<button name="action_issue" string="Issue Official Certificate" type="object" class="btn-success" invisible="state not in ['draft', 'approved']" groups="education_student.group_education_student_user"/>
<button name="action_reject" string="Reject" type="object" invisible="state in ['issued', 'rejected']" groups="education_student.group_education_student_user"/>
<field name="state" widget="statusbar" statusbar_visible="draft,requested,approved,issued"/>
</header>
<sheet>
<group>
<group string="Certificate Info">
<field name="name"/>
<field name="student_id"/>
<field name="certificate_type"/>
<field name="remarks"/>
<field name="company_id" groups="base.group_multi_company"/>
</group>
<group string="Dates &amp; Issuance">
<field name="request_date"/>
<field name="issue_date"/>
<field name="expiry_date"/>
<field name="issued_by"/>
</group>
</group>
<group string="Generated Document" invisible="not document_file">
<field name="document_file" filename="file_name"/>
<field name="file_name" invisible="1"/>
</group>
<group string="Rejection Details" invisible="state != 'rejected'">
<field name="rejection_reason"/>
</group>
</sheet>
<chatter/>
</form>
</field>
</record>
<record id="view_education_student_certificate_search" model="ir.ui.view">
<field name="name">education.student.certificate.search</field>
<field name="model">education.student.certificate</field>
<field name="arch" type="xml">
<search string="Search Certificates">
<field name="name" string="Certificate Number"/>
<field name="student_id"/>
<field name="certificate_type"/>
<filter string="Requests Pending Approval" name="filter_requested" domain="[('state', '=', 'requested')]"/>
<filter string="Approved (Ready to Issue)" name="filter_approved" domain="[('state', '=', 'approved')]"/>
<filter string="Issued" name="filter_issued" domain="[('state', '=', 'issued')]"/>
<group>
<filter string="Student" name="group_student" context="{'group_by': 'student_id'}"/>
<filter string="Type" name="group_type" context="{'group_by': 'certificate_type'}"/>
<filter string="Status" name="group_status" context="{'group_by': 'state'}"/>
</group>
</search>
</field>
</record>
<record id="action_education_student_certificate" model="ir.actions.act_window">
<field name="name">Student Certificates</field>
<field name="res_model">education.student.certificate</field>
<field name="view_mode">list,form</field>
<field name="search_view_id" ref="view_education_student_certificate_search"/>
<field name="context">{'search_default_filter_requested': 1}</field>
</record>
<menuitem id="menu_education_student_certificate"
name="Certificates &amp; ID Cards"
parent="education_base.menu_education_base_root"
action="action_education_student_certificate"
sequence="16"
groups="education_student.group_education_student_user"/>
</odoo>