summaryrefslogtreecommitdiff
path: root/addons/hr_holidays/report/hr_leave_reports.xml
diff options
context:
space:
mode:
Diffstat (limited to 'addons/hr_holidays/report/hr_leave_reports.xml')
-rw-r--r--addons/hr_holidays/report/hr_leave_reports.xml118
1 files changed, 118 insertions, 0 deletions
diff --git a/addons/hr_holidays/report/hr_leave_reports.xml b/addons/hr_holidays/report/hr_leave_reports.xml
new file mode 100644
index 00000000..efe3f81b
--- /dev/null
+++ b/addons/hr_holidays/report/hr_leave_reports.xml
@@ -0,0 +1,118 @@
+<?xml version="1.0"?>
+<odoo>
+
+ <record id="view_hr_holidays_filter_report" model="ir.ui.view">
+ <field name="name">hr.holidays.filter</field>
+ <field name="model">hr.leave.report</field>
+ <field name="arch" type="xml">
+ <search string="Search Time Off">
+ <field name="name"/>
+ <filter domain="[('state','in',('confirm','validate1'))]" string="To Approve" name="approve"/>
+ <filter string="Approved Requests" domain="[('state', '=', 'validate')]" name="validated"/>
+ <separator/>
+ <filter name="active_types" string="Active Types" domain="[('holiday_status_id.active', '=', True)]" help="Filters only on requests that belong to an time off type that is 'active' (active field is True)"/>
+ <separator/>
+ <filter string="My Department Time Off" name="department" domain="[('department_id.manager_id.user_id', '=', uid)]" help="My Department Time Off"/>
+ <filter name="my_team_leaves" string="My Team Time Off" domain="[('employee_id.parent_id.user_id', '=', uid)]" groups="hr_holidays.group_hr_holidays_manager" help="Time Off of Your Team Member"/>
+ <separator/>
+ <filter name="year" string="Current Year"
+ domain="[('holiday_status_id.active', '=', True)]" help="Active Time Off"/>
+ <separator/>
+ <filter string="My Requests" name="my_leaves" domain="[('employee_id.user_id', '=', uid)]"/>
+ <separator/>
+ <field name="employee_id"/>
+ <field name="department_id" operator="child_of"/>
+ <field name="holiday_status_id"/>
+ <group expand="0" string="Group By">
+ <filter name="group_employee" string="Employee" context="{'group_by':'employee_id'}"/>
+ <filter name="group_type" string="Type" context="{'group_by':'holiday_status_id'}"/>
+ <separator/>
+ <filter name="group_date_from" string="Start Date" context="{'group_by':'date_from'}"/>
+ </group>
+ </search>
+ </field>
+ </record>
+
+ <record id="hr_leave_report_tree" model="ir.ui.view">
+ <field name="name">report.hr.holidays.report.leave_all.tree</field>
+ <field name="model">hr.leave.report</field>
+ <field name="arch" type="xml">
+ <tree create="0" edit="0" delete="0">
+ <field name="employee_id"/>
+ <field name="number_of_days" string="Number of Days" sum="Remaining Days"/>
+ <field name="leave_type"/>
+ <field name="date_from"/>
+ <field name="date_to"/>
+ <field name="state"/>
+ <field name="name"/>
+ </tree>
+ </field>
+ </record>
+
+ <!-- TODO: See if we need to keep this -->
+ <record id="hr_leave_report_kanban" model="ir.ui.view">
+ <field name="name">report.hr.holidays.report.leave_all.kanban</field>
+ <field name="model">hr.leave.report</field>
+ <field name="arch" type="xml">
+ <kanban class="o_kanban_mobile" create="0">
+ <field name="employee_id"/>
+ <field name="date_from"/>
+ <field name="date_to"/>
+ <field name="name"/>
+ <field name="number_of_days"/>
+ <templates>
+ <t t-name="kanban-box">
+ <div t-attf-class="oe_kanban_global_click">
+ <div>
+ <span>
+ <img t-att-src="kanban_image('hr.employee', 'image_128', record.employee_id.raw_value)" t-att-title="record.employee_id.value" t-att-alt="record.employee_id.value" class="oe_kanban_avatar o_image_40_cover float-left mr4"/>
+ </span>
+ <span>
+ <div>
+ <strong class="o_kanban_record_title"><t t-esc="record.employee_id.value"/></strong>
+ <span class="float-right">
+ <field name="state" widget="label_selection" options="{'classes': {'draft': 'default', 'validate': 'success','confirm': 'default', 'cancel': 'danger'}}"/>
+ </span>
+ </div>
+ <div class="text-muted o_kanban_record_subtitle">
+ <t t-esc="record.name.value"/>
+ </div>
+ </span>
+ </div>
+ <hr class="mt4 mb8"/>
+ <div class="o_kanban_record_bottom mt8 mb4">
+ <div t-attf-class="oe_kanban_bottom_left #{record.date_from.value ? 'mt8 mb4': ''}">
+ <table class="text-right" t-if="record.date_from.value">
+ <tr>
+ <td style="padding-bottom:4px"><small class="text-muted">from</small></td>
+ <td style="padding:0 0 4px 4px"><t t-esc="record.date_from.value"/></td>
+ </tr>
+ <tr>
+ <td><small class="text-muted">to</small></td>
+ <td style="padding-left:4px"><t t-esc="record.date_to.value"/></td>
+ </tr>
+ </table>
+ </div>
+ <div t-attf-class="oe_kanban_bottom_right #{record.date_from.value ? 'mt8': ''}">
+ <span class="badge badge-pill"><t t-esc="record.number_of_days.value"/> days</span>
+ </div>
+ </div>
+ </div>
+ </t>
+ </templates>
+ </kanban>
+ </field>
+ </record>
+
+ <record id="act_hr_employee_holiday_request" model="ir.actions.server">
+ <field name="name">Time off Analysis</field>
+ <field name="model_id" ref="hr_holidays.model_hr_leave_report"/>
+ <field name="binding_model_id" ref="hr.model_hr_employee"/>
+ <field name="state">code</field>
+ <field name="groups_id" eval="[(4, ref('base.group_user'))]"/>
+ <field name="code">
+ action = model.action_time_off_analysis()
+ </field>
+ </record>
+
+</odoo>