hr_work_entry/views/hr_work_entry_views.xml

236 lines
11 KiB
XML
Raw Permalink Normal View History

<?xml version="1.0" encoding="utf-8"?>
<odoo>
<!-- HR WORK ENTRY -->
<record id="hr_work_entry_action_conflict" model="ir.actions.act_window">
<field name="name">Work Entry</field>
<field name="res_model">hr.work.entry</field>
<field name="context">{'search_default_work_entries_error': 1}</field>
<field name="view_mode">tree,calendar,form,pivot</field>
</record>
<record id="hr_work_entry_action" model="ir.actions.act_window">
<field name="name">Work Entry</field>
<field name="res_model">hr.work.entry</field>
<field name="view_mode">calendar,tree,form,pivot</field>
<field name="context">{
'search_default_work_entries_error': True
}</field>
<field name="help" type="html">
<p class="o_view_nocontent_empty_folder">
No data to display
</p>
<p>
Try to add some records, or make sure that there is no active filter in the search bar.
</p>
</field>
</record>
<record id="hr_work_entry_view_calendar" model="ir.ui.view">
<field name="name">hr.work.entry.calendar</field>
<field name="model">hr.work.entry</field>
<field name="arch" type="xml">
<calendar string="Work Entry"
date_start="date_start"
date_stop="date_stop"
mode="month"
quick_create="0"
color="color"
event_limit="5">
<!-- Sidebar favorites filters -->
<field name="employee_id" write_model="hr.user.work.entry.employee" write_field="employee_id" avatar_field="avatar_128" widget="many2one_avatar_user"/>
<field name="state"/>
</calendar>
</field>
</record>
<record id="hr_work_entry_view_form" model="ir.ui.view">
<field name="name">hr.work.entry.form</field>
<field name="model">hr.work.entry</field>
<field name="arch" type="xml">
<form string="Work Entry" >
<header>
<field name="state" widget="statusbar" readonly="1" statusbar_visible="draft,validated,conflict"/>
</header>
<div class="alert alert-warning text-center" role="alert" invisible="state != 'validated'">
Note: Validated work entries cannot be modified.
</div>
<sheet>
<group>
<group>
<field name="name" string="Description" placeholder="Work Entry Name" readonly="state == 'validated'"/>
<field name="employee_id" readonly="state != 'draft'" widget="many2one_avatar_user"/>
<field name="work_entry_type_id" readonly="state == 'validated'" options="{'no_create': True, 'no_open': True}"/>
</group>
<group>
<field name="date_start" readonly="state != 'draft'" />
<field name="date_stop" required="1" readonly="state != 'draft'"/>
<label for="duration"/>
<div class="o_row mw-50 mw-sm-25">
<field name="duration"
nolabel="1"
widget="float_time"
class="o_hr_narrow_field"
readonly="state != 'draft'" />
<span>Hours</span>
</div>
<field name="company_id" invisible="1"/>
</group>
</group>
</sheet>
</form>
</field>
</record>
<record id="hr_work_entry_view_tree" model="ir.ui.view">
<field name="name">hr.work.entry.tree</field>
<field name="model">hr.work.entry</field>
<field name="arch" type="xml">
<tree multi_edit="1" sample="1">
<field name="name"/>
<field name="work_entry_type_id" options="{'no_create': True, 'no_open': True}"/>
<field name="code" optional="hidden"/>
<field name="external_code" optional="hidden"/>
<field name="duration" widget="float_time" readonly="1"/>
<field name="state"/>
<field name="date_start" string="Beginning" readonly="1"/>
<field name="date_stop" string="End" readonly="1"/>
</tree>
</field>
</record>
<record id="hr_work_entry_view_pivot" model="ir.ui.view">
<field name="name">hr.work.entry.pivot</field>
<field name="model">hr.work.entry</field>
<field name="arch" type="xml">
<pivot string="Work Entries" sample="1">
<field name="duration" widget="float_time" type="measure"/>
<field name="employee_id" type="row"/>
<field name="work_entry_type_id" type="col"/>
</pivot>
</field>
</record>
<record id="hr_work_entry_view_search" model="ir.ui.view">
<field name="name">hr.work.entry.filter</field>
<field name="model">hr.work.entry</field>
<field name="arch" type="xml">
<search string="Search Work Entry">
<field name="employee_id"/>
<field name="department_id"/>
<field name="work_entry_type_id"/>
<field name="name"/>
<filter name="work_entries_error" string="Conflicting" domain="[('state', '=', 'conflict')]"/>
<separator/>
<filter name="date_filter" string="Date" date="date_start"/>
<filter name="current_month" string="Current Month" domain="[
('date_stop', '&gt;=', (context_today()).strftime('%Y-%m-01')),
('date_start', '&lt;', (context_today() + relativedelta(months=1)).strftime('%Y-%m-01'))]"/>
<separator/>
<filter name="group_employee" string="Employee" context="{'group_by': 'employee_id'}"/>
<filter name="group_department" string="Department" context="{'group_by': 'department_id'}"/>
<filter name="group_work_entry_type" string="Type" context="{'group_by': 'work_entry_type_id'}"/>
<filter name="group_start_date" string="Start Date" context="{'group_by': 'date_start'}"/>
<separator/>
<filter name="archived" string="Archived" domain="[('active', '=', False)]"/>
</search>
</field>
</record>
<!-- HR WORK ENTRY TYPE -->
<record id="hr_work_entry_type_view_search" model="ir.ui.view">
<field name="name">hr.work.entry.type.view.search</field>
<field name="model">hr.work.entry.type</field>
<field name="arch" type="xml">
<search string="Search Work Entry Type">
<field name="name" filter_domain="['|', ('name', 'ilike', self), ('code', 'ilike', self)]"/>
<separator/>
<filter name="archived" string="Archived" domain="[('active', '=', False)]"/>
</search>
</field>
</record>
<record id="hr_work_entry_type_action" model="ir.actions.act_window">
<field name="name">Work Entry Types</field>
<field name="res_model">hr.work.entry.type</field>
<field name="view_mode">tree,kanban,form</field>
<field name="search_view_id" ref="hr_work_entry_type_view_search"/>
<field name="help" type="html">
<p class="o_view_nocontent_smiling_face">
Create a new work entry type
</p>
</field>
</record>
<record id="hr_work_entry_type_view_tree" model="ir.ui.view">
<field name="name">hr.work.entry.type.tree</field>
<field name="model">hr.work.entry.type</field>
<field name="arch" type="xml">
<tree>
<field name="name"/>
<field name="code"/>
<field name="color" widget="color_picker"/>
</tree>
</field>
</record>
<record id="hr_work_entry_type_view_form" model="ir.ui.view">
<field name="name">hr.work.entry.type.form</field>
<field name="model">hr.work.entry.type</field>
<field name="arch" type="xml">
<form string="Work Entry Type" >
<sheet>
<widget name="web_ribbon" title="Archived" bg_color="text-bg-danger" invisible="active"/>
<div class="oe_title">
<h1>
<field name="name" placeholder="Work Entry Type Name"/>
</h1>
</div>
<group name="main_group">
<group name="identification" class="o_form_fw_labels">
<field name="active" invisible="1"/>
<field name="code"/>
<field name="external_code"/>
<field name="sequence" groups="base.group_no_one"/>
<field name="color" widget="color_picker"/>
</group>
</group>
<group name="other">
<group name="time_off" string="Time Off Options" class="o_form_fw_labels"/>
</group>
</sheet>
</form>
</field>
</record>
<record id="hr_work_entry_type_view_kanban" model="ir.ui.view">
<field name="name">hr.work.entry.type.kanban.view</field>
<field name="model">hr.work.entry.type</field>
<field name="arch" type="xml">
<kanban>
<field name="color"/>
<templates>
<t t-name="kanban-menu" t-if="!selection_mode">
<ul class="oe_kanban_colorpicker" data-field="color"/>
</t>
<t t-name="kanban-box">
<div t-attf-class="#{!selection_mode ? kanban_color(record.color.raw_value) : ''} oe_kanban_global_click">
<div class="oe_kanban_content">
<div>
<strong class="o_kanban_record_title"><span><field name="name"/></span></strong>
</div>
<div>
<span class="text-muted o_kanban_record_subtitle"><field name="code"/></span>
</div>
</div>
</div>
</t>
</templates>
</kanban>
</field>
</record>
</odoo>