Files
Odoo-Modules/fusion_clock/views/clock_leave_request_views.xml
gsinghpal 6a9c7c74ea feat(fusion_clock): multi-day leave requests (date range)
Request Leave now takes a From/To date range instead of a single day (the To
field is optional -> single-day). Added date_to to fusion.clock.leave.request
(start kept as leave_date), with overlap detection on submit and a date_to >=
leave_date constraint. The absence check and reports now treat a leave as
covering its whole span. The form shows two date inputs; the controller accepts
date_from/date_to (the old single leave_date payload is still honoured). A
migration backfills date_to = leave_date for existing rows.

Live and verified on entech 19.0.3.13.0.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-05-30 23:01:19 -04:00

59 lines
2.3 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<odoo>
<!-- Leave Request List View -->
<record id="view_fusion_clock_leave_request_list" model="ir.ui.view">
<field name="name">fusion.clock.leave.request.list</field>
<field name="model">fusion.clock.leave.request</field>
<field name="arch" type="xml">
<list>
<field name="leave_date"/>
<field name="date_to"/>
<field name="employee_id"/>
<field name="reason"/>
<field name="state" decoration-success="state == 'reviewed'"
decoration-info="state == 'auto_approved'" widget="badge"/>
<field name="created_from"/>
</list>
</field>
</record>
<!-- Leave Request Form View -->
<record id="view_fusion_clock_leave_request_form" model="ir.ui.view">
<field name="name">fusion.clock.leave.request.form</field>
<field name="model">fusion.clock.leave.request</field>
<field name="arch" type="xml">
<form>
<header>
<button name="action_mark_reviewed" string="Mark Reviewed" type="object"
class="btn-primary" invisible="state == 'reviewed'"
groups="fusion_clock.group_fusion_clock_manager"/>
<field name="state" widget="statusbar"/>
</header>
<sheet>
<group>
<group>
<field name="employee_id"/>
<field name="leave_date"/>
<field name="date_to"/>
<field name="created_from"/>
</group>
<group>
<field name="reason"/>
</group>
</group>
</sheet>
<chatter/>
</form>
</field>
</record>
<!-- Leave Request Action -->
<record id="action_fusion_clock_leave_request" model="ir.actions.act_window">
<field name="name">Leave Requests</field>
<field name="res_model">fusion.clock.leave.request</field>
<field name="view_mode">list,form</field>
</record>
</odoo>