odoo18/addons_extensions/grace_period/views/attendance_data.xml

127 lines
5.1 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<odoo>
<!-- =============================================== -->
<!-- TREE VIEW -->
<!-- =============================================== -->
<record id="view_attendance_analytics_list" model="ir.ui.view">
<field name="name">attendance.analytics.list</field>
<field name="model">attendance.analytics</field>
<field name="arch" type="xml">
<list string="Attendance Analytics">
<field name="employee_id"/>
<field name="department_id"/>
<field name="date"/>
<field name="min_check_in"/>
<field name="max_check_out"/>
<field name="worked_hours"/>
<field name="department_grace_period"/>
<field name="late_time"/>
<field name="early_out_time"/>
<field name="required_checkout_time" widget="float_time"/>
<field name="is_late"/>
<field name="is_early_out"/>
<field name="is_compensation_pending"/>
<field name="late_approved"/>
<field name="status_message"/>
<button name="action_create_late_request"
type="object"
string="Request Approval"
class="btn-primary"
invisible="
is_holiday == True
or is_week_off == True
or late_approved == True
or (
late_minutes == 0
and early_out_minutes == 0
)
"/>
</list>
</field>
</record>
<!-- =============================================== -->
<!-- CALENDAR VIEW -->
<!-- =============================================== -->
<record id="view_attendance_analytics_calendar" model="ir.ui.view">
<field name="name">attendance.analytics.calendar</field>
<field name="model">attendance.analytics</field>
<field name="arch" type="xml">
<calendar string="Attendance Calendar"
date_start="date"
date_stop="date_end"
color="color"
mode="month"
quick_create="false"
event_open_popup="true">
<field name="display_label"/>
<field name="employee_id"/>
<field name="status_message"/>
</calendar>
</field>
</record>
<!-- =============================================== -->
<!-- SEARCH VIEW -->
<!-- =============================================== -->
<record id="view_attendance_analytics_search" model="ir.ui.view">
<field name="name">attendance.analytics.search</field>
<field name="model">attendance.analytics</field>
<field name="arch" type="xml">
<search string="Attendance Analytics">
<field name="employee_id"/>
<field name="department_id"/>
<field name="date"/>
<separator/>
<filter string="Late"
name="late"
domain="[('is_late','=',True)]"/>
<filter string="Early Out"
name="early_out"
domain="[('is_early_out','=',True)]"/>
<filter string="Compensation Pending"
name="compensation_pending"
domain="[('is_compensation_pending','=',True)]"/>
<filter string="Holiday"
name="holiday"
domain="[('is_holiday','=',True)]"/>
<filter string="Week Off"
name="week_off"
domain="[('is_week_off','=',True)]"/>
<group expand="0"
string="Group By">
<filter string="Employee"
name="group_employee"
context="{'group_by':'employee_id'}"/>
<filter string="Department"
name="group_department"
context="{'group_by':'department_id'}"/>
<filter string="Date"
name="group_date"
context="{'group_by':'date'}"/>
</group>
</search>
</field>
</record>
<record id="action_attendance_analytics" model="ir.actions.act_window">
<field name="name">Attendance Analytics</field>
<field name="res_model">attendance.analytics</field>
<field name="view_mode">list,calendar</field>
<field name="domain"> [ '|', ('employee_id.user_id', '=', uid), ('employee_id.parent_id.user_id', '=', uid) ] </field>
<field name="search_view_id" ref="view_attendance_analytics_search"/>
</record>
<menuitem id="menu_attendance_analytics"
name="Attendance Report"
parent="hr_attendance.menu_hr_attendance_root"
action="action_attendance_analytics"
sequence="50"/>
</odoo>