<field name="arch" type="xml">
<search string="Search Leave">
<group>
+ <field name="date_from"/>
+ <separator orientation="vertical"/>
+ <filter string="My Leaves" icon="terp-personal" name="my_leaves" domain="[('employee_id.user_id','=', uid)]" help="My Leaves"/>
+ <filter string="My Department Leaves" icon="terp-personal+" help="My Department Leaves" domain="[('department_id.manager_id','=',uid)]"/>
<filter icon="terp-check" domain="[('state','=','draft')]" string="To Confirm"/>
<filter icon="terp-camera_test" domain="[('state','=','confirm')]" string="To Approve" name="approve"/>
<filter icon="terp-camera_test" domain="[('state','=','validate')]" string="Validated" name="validated"/>
- <separator orientation="vertical"/>
<filter icon="terp-go-year" name="year" string="Year" domain="[('holiday_status_id.active','=',True)]" help="Filters only on allocations and requests that belong to an holiday type that is 'active' (active field is True)"/>
- <filter icon="terp-go-month" name="This Month" string="Month" domain="[('date_from','<=',(datetime.date.today()+relativedelta(day=31)).strftime('%%Y-%%m-%%d')),('date_from','>=',(datetime.date.today()-relativedelta(day=1)).strftime('%%Y-%%m-%%d'))]"/>
- <filter icon="terp-go-month" name="This Month-1" string=" Month-1"
- domain="[('date_from','<=', (datetime.date.today() - relativedelta(day=31, months=1)).strftime('%%Y-%%m-%%d')),('date_from','>=',(datetime.date.today() - relativedelta(day=1,months=1)).strftime('%%Y-%%m-%%d'))]"
- help="Holidays during last month"/>
<separator orientation="vertical"/>
- <field name="employee_id">
- <filter icon="terp-personal" name="my_leaves" domain="[('employee_id.user_id','=', uid)]" help="My Leaves"/>
- </field>
- <field name="department_id" widget="selection">
- <filter icon="terp-personal+" help="My Department Leaves" domain="[('department_id.manager_id','=',uid)]"/>
- </field>
+ <field name="employee_id"/>
+ <field name="department_id" widget="selection"/>
<field name="holiday_status_id" widget="selection"/>
</group>
<newline/>
<field name="type">form</field>
<field name="priority">1</field>
<field name="arch" type="xml">
- <form layout="manual">
- <div class="oe_form_topbar">
- <button string="Submit to Manager" name="confirm" states="draft" type="workflow"/>
- <button string="Approve" name="validate" states="confirm" type="workflow" groups="base.group_hr_user"/>
- <button string="Validate" name="second_validate" states="validate1" type="workflow" groups="base.group_hr_user"/>
- <button string="Refuse" name="refuse" states="confirm,validate1" type="workflow" groups="base.group_hr_user,base.group_hr_manager"/>
- <button string="Reset to New" name="set_to_draft" states="refuse,validate" type="object" groups="base.group_hr_user"/>
- <div class="oe_right">
- <field name="state" widget="statusbar" nolabel="1" statusbar_visible="draft,confirm,validate" statusbar_colors='{"confirm":"blue","validate1":"blue","refuse":"red"}'/>
- </div>
- <div class="oe_clear"/>
- </div>
+ <form version="7.0">
+ <header>
+ <button string="Submit to Manager" name="confirm" states="draft" type="workflow" class="oe_highlight"/>
+ <button string="Approve" name="validate" states="confirm" type="workflow" groups="base.group_hr_user" class="oe_highlight"/>
+ <button string="Validate" name="second_validate" states="validate1" type="workflow" groups="base.group_hr_user" class="oe_highlight"/>
+ <button string="Refuse" name="refuse" states="confirm,validate1" type="workflow" groups="base.group_hr_user,base.group_hr_manager" class="oe_highlight"/>
+ <button string="Reset to New" name="set_to_draft" states="refuse,validate" type="object" groups="base.group_hr_user" />
+ <field name="state" widget="statusbar" statusbar_visible="draft,confirm,validate" statusbar_colors='{"confirm":"blue","validate1":"blue","refuse":"red"}'/>
+ </header>
<sheet string="Leave Request" layout="auto">
<group col="8" colspan="4">
<field name="name" attrs="{'readonly':[('state','!=','draft'),('state','!=','confirm')]}"/>
</page>
</notebook>
</sheet>
- <div class="oe_form_sheet_width">
- <field name="message_ids_social" colspan="4" widget="ThreadView" nolabel="1"/>
+ <div class="oe_sheet_width">
+ <field name="message_ids" colspan="4" widget="ThreadView" nolabel="1"/>
</div>
</form>
</field>
<field name="model">hr.holidays</field>
<field name="type">form</field>
<field name="arch" type="xml">
- <form layout="manual">
- <div class="oe_form_topbar">
- <button string="Submit to Manager" name="confirm" states="draft" type="workflow"/>
- <button string="Approve" name="validate" states="confirm" type="workflow" groups="base.group_hr_user"/>
- <button string="Validate" name="second_validate" states="validate1" type="workflow" groups="base.group_hr_user"/>
- <button string="Refuse" name="refuse" states="confirm,validate1" type="workflow" groups="base.group_hr_user"/>
- <button string="Reset to New" name="set_to_draft" states="cancel,validate,refuse" type="object" groups="base.group_hr_user"/>
- <div class="oe_right">
- <field name="state" widget="statusbar" nolabel="1" statusbar_visible="draft,confirm,validate" statusbar_colors='{"confirm":"blue","validate1":"blue","refuse":"red"}'/>
- </div>
- <div class="oe_clear"/>
- </div>
- <sheet string="Allocation Request" layout="auto">
- <group col="8" colspan="4" class="oe_form_header">
+ <form string="Allocation Request" version="7.0">
+ <header>
+ <button string="Submit to Manager" name="confirm" states="draft" type="workflow" class="oe_highlight"/>
+ <button string="Approve" name="validate" states="confirm" type="workflow" groups="base.group_hr_user" class="oe_highlight"/>
+ <button string="Validate" name="second_validate" states="validate1" type="workflow" groups="base.group_hr_user" class="oe_highlight"/>
+ <button string="Refuse" name="refuse" states="confirm,validate1" type="workflow" groups="base.group_hr_user" class="oe_highlight"/>
+ <button string="Reset to New" name="set_to_draft" states="cancel,validate,refuse" type="object" groups="base.group_hr_user" />
+ <field name="state" widget="statusbar" statusbar_visible="draft,confirm,validate" statusbar_colors='{"confirm":"blue","validate1":"blue","refuse":"red"}'/>
+ </header>
+ <sheet>
+ <group>
<field name="name"/>
<field name="holiday_type" on_change="onchange_type(holiday_type)" attrs="{'readonly':[('state','!=','draft')]}" string="Allocation Mode" groups="base.group_hr_manager"/>
- <group attrs="{'invisible':[('holiday_type','=','category')]}">
- <field name="employee_id" attrs="{'required':[('holiday_type','=','employee')]}"/>
- </group>
- <group attrs="{'invisible':[('holiday_type','=','employee')]}">
- <field name="category_id" attrs="{'required':[('holiday_type','=','category')], 'readonly':[('state','!=','draft')]}"/>
- </group>
+ <field name="employee_id" attrs="{'required':[('holiday_type','=','employee')], 'invisible':[('holiday_type','=','category')]}"/>
+ <field name="category_id" attrs="{'required':[('holiday_type','=','category')], 'readonly':[('state','!=','draft')], 'invisible':[('holiday_type','=','employee')]}"/>
</group>
- <notebook colspan="4">
+ <notebook>
<page string="General">
- <field name="holiday_status_id" on_change="onchange_sec_id(holiday_status_id)" context="{'employee_id':employee_id}"/>
- <field name="department_id" attrs="{'readonly':['|', ('holiday_type','=','category'), ('state','not in' ,('draft', 'confirm'))]}"/>
- <field name="number_of_days_temp"/>
- <field name="double_validation" invisible="1"/>
- <newline/>
- <field name="manager_id"/>
- <field name="manager_id2" attrs="{'invisible':[('double_validation', '!=', True)]}"/>
- <separator string="Reasons" colspan="4"/>
- <field name="notes" nolabel="1" colspan="4"/>
+ <group col="4">
+ <field name="holiday_status_id" on_change="onchange_sec_id(holiday_status_id)" context="{'employee_id':employee_id}"/>
+ <field name="department_id" attrs="{'readonly':['|', ('holiday_type','=','category'), ('state','not in' ,('draft', 'confirm'))]}"/>
+ <field name="number_of_days_temp"/>
+ <field name="double_validation" invisible="1"/>
+ <field name="manager_id"/>
+ <field name="manager_id2" attrs="{'invisible':[('double_validation', '!=', True)]}"/>
+ </group>
+ <separator string="Reasons"/>
+ <field name="notes"/>
</page>
</notebook>
</sheet>
- <div class="oe_form_sheet_width">
- <field name="message_ids_social" colspan="4" widget="ThreadView" nolabel="1"/>
+ <div class="oe_sheet_width">
+ <field name="message_ids" colspan="4" widget="ThreadView" nolabel="1"/>
</div>
</form>
</field>
<field name="model">hr.holidays</field>
<field name="type">form</field>
<field name="arch" type="xml">
- <form string="Leaves Management">
- <field name="name"/>
- <field name="holiday_status_id"/>
- <field name="type"/>
- <field name="date_from" on_change="onchange_date_from(date_to, date_from)" attrs="{'readonly':[('type','=','add')], 'required':[('type','=','remove')]}"/>
- <field name="date_to" on_change="onchange_date_from(date_to, date_from)" attrs="{'readonly':[('type','=','add')], 'required':[('type','=','remove')]}"/>
- <field name="number_of_days_temp"/>
- <notebook colspan="4">
- <page string="General">
- <field name="manager_id"/>
- <field name="notes" colspan="4"/>
- <newline/>
- <field name="state" colspan="2"/>
- <group colspan="2">
- <button string="Submit to Manager" name="confirm" states="draft" type="workflow" icon="gtk-yes"/>
- <button string="Approve" name="validate" states="confirm" type="workflow" icon="gtk-apply"/>
- <button string="Refuse" name="refuse" states="confirm,validate,draft" type="workflow" icon="gtk-no"/>
- <button string="Reset to New" name="set_to_draft" states="cancel" type="object" icon="gtk-convert"/>
- </group>
- </page>
- </notebook>
+ <form string="Leaves Management" version="7.0">
+ <header>
+ <button string="Submit to Manager" name="confirm" states="draft" type="workflow" icon="gtk-yes"/>
+ <button string="Approve" name="validate" states="confirm" type="workflow" icon="gtk-apply"/>
+ <button string="Refuse" name="refuse" states="confirm,validate,draft" type="workflow" icon="gtk-no"/>
+ <button string="Reset to New" name="set_to_draft" states="cancel" type="object" icon="gtk-convert"/>
+ <field name="state"/>
+ </header>
+ <group col="4">
+ <field name="name"/>
+ <field name="holiday_status_id"/>
+ <field name="type"/>
+ <field name="date_from" on_change="onchange_date_from(date_to, date_from)" attrs="{'readonly':[('type','=','add')], 'required':[('type','=','remove')]}"/>
+ <field name="date_to" on_change="onchange_date_from(date_to, date_from)" attrs="{'readonly':[('type','=','add')], 'required':[('type','=','remove')]}"/>
+ <field name="number_of_days_temp"/>
+ <field name="manager_id"/>
+ </group>
+ <field name="notes"/>
</form>
</field>
</record>
</field>
</record>
- <!-- My leave dashboard -->
<menuitem name="Leaves" parent="hr.menu_hr_root" id="menu_open_ask_holidays" sequence="20"/>
<record model="ir.actions.act_window" id="open_ask_holidays">
<field name="act_window_id" ref="open_ask_holidays"/>
</record>
- <menuitem name="Leave Requests" parent="menu_open_ask_holidays" id="menu_open_ask_holidays_new" action="open_ask_holidays"/>
+ <menuitem name="My Leave Requests" parent="menu_open_ask_holidays" id="menu_open_ask_holidays_new" action="open_ask_holidays"/>
<record model="ir.actions.act_window" id="request_approve_holidays">
<field name="name">Requests Approve</field>
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Search Leave Type">
- <field name="name"/>
+ <field name="name" string="Leave Types"/>
+ <separator orientation="vertical"/>
<field name="categ_id" widget="selection"/>
</search>
</field>
<field name="model">hr.holidays.status</field>
<field name="type">form</field>
<field name="arch" type="xml">
- <form string="Leave Type">
- <group colspan="4" col="6">
+ <form string="Leave Type" version="7.0">
+ <group col="4">
<field name="name"/>
<field name="color_name"/>
<field name="categ_id" widget="selection"/>
</group>
- <notebook colspan="4">
+ <notebook>
<page string="Details">
- <group colspan="2" col="2" name="selection">
- <separator string="Validation" colspan="2"/>
- <field name="double_validation"/>
- <field name="limit"/>
- </group>
- <group name="second" colspan="2" col="2">
- <separator string="Misc" colspan="2"/>
- <field name="active"/>
+ <group>
+ <group name="selection" string="Validation">
+ <field name="double_validation"/>
+ <field name="limit"/>
+ </group>
+ <group name="second" string="Misc">
+ <field name="active"/>
+ </group>
</group>
</page>
</notebook>
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Leave Type">
- <field name="name"/>
+ <field name="name" string="Leave Types"/>
+ <separator orientation="vertical"/>
<field name="categ_id" widget="selection"/>
</search>
</field>
<field name="arch" type="xml">
<field name="coach_id" position="after">
<field name="remaining_leaves"/>
- <field name="current_leave_id"/>
- <field name="current_leave_state" attrs="{'invisible':[('current_leave_id','=',False)]}"/>
</field>
</field>
</record>
<field name="inherit_id" ref="hr.hr_kanban_view_employees"/>
<field name="arch" type="xml">
<xpath expr="//templates" position="before">
+ <field name="current_leave_id"/>
<field name="current_leave_state"/>
- <field name="last_login"/>
<field name="leave_date_from"/>
<field name="leave_date_to"/>
</xpath>
- <xpath expr="//div[@class='oe_employee_details']/ul/li" position="before">
- <li t-if="record.current_leave_id.raw_value || record.last_login.raw_value">
- <span t-if="record.current_leave_id.raw_value" t-att-class="record.current_leave_state.raw_value=='validate'?'oe_kanban_color_3':'oe_kanban_color_2'">
- <span class="oe_kanban_button" style="font-size: 100%%" t-att-title="record.leave_date_from.raw_value.toString('ddd dS MMM') + ' - ' + record.leave_date_to.raw_value.toString('ddd dS MMM')" >
- <field name="current_leave_id"/>
- </span>
- </span>
- <span t-if="record.last_login.raw_value && record.last_login.raw_value.is().today()" class="oe_kanban_button" style="font-size: 100%%">
- <t t-esc="record.last_login.raw_value.toString('HH:mm')"/>
- </span>
- </li>
+ <xpath expr="//div[@class='oe_employee_details']/ul/li[@id='last_login']" position="inside">
+ <span t-if="record.current_leave_id.raw_value" style="font-size: 100%%"
+ t-att-class="record.current_leave_state.raw_value=='validate'?'oe_kanban_button oe_kanban_color_3':'oe_kanban_button oe_kanban_color_2'"
+ t-att-title="record.leave_date_from.raw_value.toString('ddd dS MMM') + ' - ' + record.leave_date_to.raw_value.toString('ddd dS MMM')">
+ <field name="current_leave_id"/>
+ </span>
</xpath>
</field>
</record>
+ <act_window
+ id="act_hr_leave_request_to_meeting"
+ name="Leave Meetings"
+ src_model="hr.holidays"
+ res_model="crm.meeting"
+ domain="[('leave_id', '=', active_id)]"
+ view_mode="tree,form,calendar,gantt"
+ view_type="form"/>
+
</data>
</openerp>