2026-09-25 18:00:58 +05:30

119 lines
5.9 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<odoo>
<!-- ── Hostel List View ─────────────────────────────────────────────── -->
<record id="view_hostel_list" model="ir.ui.view">
<field name="name">education.hostel.list</field>
<field name="model">education.hostel</field>
<field name="arch" type="xml">
<list string="Hostels" decoration-muted="not active">
<field name="name"/>
<field name="code"/>
<field name="campus_id"/>
<field name="hostel_type"/>
<field name="warden_id"/>
<field name="room_count"/>
<field name="bed_count"/>
<field name="occupied_bed_count"/>
<field name="available_bed_count"/>
<field name="active" invisible="1"/>
</list>
</field>
</record>
<!-- ── Hostel Form View ─────────────────────────────────────────────── -->
<record id="view_hostel_form" model="ir.ui.view">
<field name="name">education.hostel.form</field>
<field name="model">education.hostel</field>
<field name="arch" type="xml">
<form string="Hostel">
<header/>
<sheet>
<div class="oe_button_box" name="button_box">
<button class="oe_stat_button" icon="fa-bed" type="object" name="action_view_rooms">
<field name="room_count" widget="statinfo" string="Rooms"/>
</button>
<button class="oe_stat_button" icon="fa-users" type="object" name="action_view_members">
<field name="occupied_bed_count" widget="statinfo" string="Occupied"/>
</button>
</div>
<div class="oe_title">
<h1><field name="name" placeholder="Hostel Name"/></h1>
<h2><field name="code" placeholder="Code"/></h2>
</div>
<group>
<group>
<field name="campus_id"/>
<field name="hostel_type"/>
<field name="warden_id"/>
</group>
<group>
<field name="contact_phone"/>
<field name="email"/>
<field name="active"/>
</group>
</group>
<group string="Statistics">
<group>
<field name="room_count"/>
<field name="bed_count"/>
</group>
<group>
<field name="occupied_bed_count"/>
<field name="available_bed_count"/>
<field name="occupancy_percentage" widget="percentage"/>
</group>
</group>
<field name="address" placeholder="Address"/>
<field name="description" placeholder="Description"/>
<notebook>
<page string="Floors" name="floors">
<field name="floor_ids">
<list editable="bottom">
<field name="sequence" widget="handle"/>
<field name="name"/>
<field name="code"/>
<field name="room_count"/>
<field name="active"/>
</list>
</field>
</page>
</notebook>
</sheet>
<chatter/>
</form>
</field>
</record>
<!-- ── Hostel Search View ───────────────────────────────────────────── -->
<record id="view_hostel_search" model="ir.ui.view">
<field name="name">education.hostel.search</field>
<field name="model">education.hostel</field>
<field name="arch" type="xml">
<search string="Search Hostels">
<field name="name"/>
<field name="code"/>
<field name="campus_id"/>
<field name="warden_id"/>
<filter name="boys" string="Boys Hostel" domain="[('hostel_type','=','boys')]"/>
<filter name="girls" string="Girls Hostel" domain="[('hostel_type','=','girls')]"/>
<filter name="mixed" string="Mixed Hostel" domain="[('hostel_type','=','mixed')]"/>
<separator/>
<filter name="active" string="Active" domain="[('active','=',True)]"/>
<filter name="inactive" string="Archived" domain="[('active','=',False)]"/>
<group>
<filter name="group_campus" string="Campus" context="{'group_by': 'campus_id'}"/>
<filter name="group_type" string="Type" context="{'group_by': 'hostel_type'}"/>
</group>
</search>
</field>
</record>
<!-- ── Action ───────────────────────────────────────────────────────── -->
<record id="action_hostel_list" model="ir.actions.act_window">
<field name="name">Hostels</field>
<field name="res_model">education.hostel</field>
<field name="view_mode">list,form</field>
<field name="search_view_id" ref="view_hostel_search"/>
</record>
</odoo>