127 lines
5.1 KiB
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> |