summaryrefslogtreecommitdiff
path: root/addons/resource/views
diff options
context:
space:
mode:
authorThibault Delavallée <tde@odoo.com>2016-11-07 12:04:00 +0100
committerThibault Delavallée <tde@odoo.com>2017-01-18 10:26:53 +0100
commit2b90398cb6f5986167ca9306dd327659960c78a6 (patch)
tree6830667792200553967255403dbb6ef17a17f624 /addons/resource/views
parent2015cfd175865634caea5f3e7d1c55f224631baf (diff)
[REF] resource: strengthen link between companies and calendars
Purpose of this commit is to always have a default calendar for each company and ensure it is correctly set on resources. Some cleaning is also performed in resource models to remove unused fields, improve labels and make views a bit more odoo-ish. * [REF] res_company: add a m2o to the default calendar to use in the company as well as a o2m linking all resource calendars used in the company. Some code has been added to correctly update existing companies when installing the module; * [REF] resource_calendar * [REM] manager field on resource.calendar: this field is never used and is not necessary anyway * [ADD] global_leave_ids: filter leaves on a calendar to see global company leaves * [IMP] better default company / calendar computation to ensure there is always a calendar attached to a resource * [IMP] improve resource and calendar views in order to look more like other odoo views
Diffstat (limited to 'addons/resource/views')
-rw-r--r--addons/resource/views/res_company_views.xml16
-rw-r--r--addons/resource/views/resource_views.xml71
2 files changed, 71 insertions, 16 deletions
diff --git a/addons/resource/views/res_company_views.xml b/addons/resource/views/res_company_views.xml
new file mode 100644
index 00000000000..356694ad9d1
--- /dev/null
+++ b/addons/resource/views/res_company_views.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="utf-8"?>
+<odoo>
+ <record id="res_company_view_form_inherit_resource" model="ir.ui.view">
+ <field name="name">res.company.view.form.inherit.resource</field>
+ <field name="model">res.company</field>
+ <field name="inherit_id" ref="base.view_company_form"/>
+ <field name="arch" type="xml">
+ <field name="website" position="before">
+ <field name="id" invisible="1"/>
+ <field name="resource_calendar_id" required="1"
+ domain="[('company_id', '=', id)]"
+ context="{'default_company_id': id}"/>
+ </field>
+ </field>
+ </record>
+</odoo>
diff --git a/addons/resource/views/resource_views.xml b/addons/resource/views/resource_views.xml
index 97860f4338a..9fc2eea3583 100644
--- a/addons/resource/views/resource_views.xml
+++ b/addons/resource/views/resource_views.xml
@@ -9,9 +9,10 @@
<search string="Search Resource">
<field name="name" string="Resource"/>
<field name="resource_type"/>
- <filter string="Inactive" domain="[('active','=',False)]"/>
- <field name="user_id" string="User"/>
+ <field name="user_id"/>
+ <field name="calendar_id"/>
<field name="company_id" groups="base.group_multi_company"/>
+ <filter string="Inactive" domain="[('active','=',False)]"/>
<group expand="0" string="Group By">
<filter string="User" domain="[]" context="{'group_by':'user_id'}"/>
<filter string="Type" domain="[]" context="{'group_by':'resource_type'}"/>
@@ -68,16 +69,27 @@
<field name="help">Resources allow you to create and manage resources that should be involved in a specific project phase. You can also set their efficiency level and workload based on their weekly working hours.</field>
</record>
+ <record id="resource_resource_action_from_calendar" model="ir.actions.act_window">
+ <field name="name">Resources</field>
+ <field name="res_model">resource.resource</field>
+ <field name="view_mode">tree,form</field>
+ <field name="context">{
+ 'default_calendar_id': active_id,
+ 'search_default_calendar_id': active_id}</field>
+ <field name="search_view_id" ref="view_resource_resource_search"/>
+ <field name="help">Resources allow you to create and manage resources that should be involved in a specific project phase. You can also set their efficiency level and workload based on their weekly working hours.</field>
+ </record>
+
<!-- RESOURCE.CALENDAR.LEAVES -->
<record id="view_resource_calendar_leaves_search" model="ir.ui.view">
<field name="name">resource.calendar.leaves.search</field>
<field name="model">resource.calendar.leaves</field>
<field name="arch" type="xml">
<search string="Search Working Period Leaves">
- <field name="name" string="Reason"/>
- <field name="resource_id" string="Resource"/>
- <field name="company_id" string="Company" groups="base.group_multi_company"/>
- <field name="calendar_id" string="Working Period"/>
+ <field name="name"/>
+ <field name="resource_id"/>
+ <field name="company_id" groups="base.group_multi_company"/>
+ <field name="calendar_id"/>
<group expand="0" string="Group By">
<filter string="Resource" domain="[]" context="{'group_by':'resource_id'}"/>
<filter string="Company" domain="[]" context="{'group_by':'company_id'}" groups="base.group_multi_company"/>
@@ -140,6 +152,16 @@
<field name="search_view_id" ref="view_resource_calendar_leaves_search"/>
</record>
+ <record id="resource_calendar_leaves_action_from_calendar" model="ir.actions.act_window">
+ <field name="name">Resource Leaves</field>
+ <field name="res_model">resource.calendar.leaves</field>
+ <field name="view_mode">tree,form,calendar</field>
+ <field name="context">{
+ 'default_calendar_id': active_id,
+ 'search_default_calendar_id': active_id}</field>
+ <field name="search_view_id" ref="view_resource_calendar_leaves_search"/>
+ </record>
+
<act_window
id="resource_calendar_closing_days"
name="Closing Days"
@@ -201,7 +223,6 @@
<field name="arch" type="xml">
<search string="Search Working Time">
<field name="name" string="Working Time"/>
- <field name="manager"/>
<field name="company_id" groups="base.group_multi_company"/>
</search>
</field>
@@ -213,17 +234,36 @@
<field name="arch" type="xml">
<form string="Working Time">
<sheet string="Working Time">
+ <div class="oe_button_box" name="button_box">
+ <button name="%(resource_calendar_leaves_action_from_calendar)d" type="action"
+ string="Leaves" icon="fa-calendar-times-o"
+ class="oe_stat_button"
+ groups="base.group_user"/>
+ <button name="%(resource_resource_action_from_calendar)d" type="action"
+ string="Work Resources" icon="fa-cogs"
+ class="oe_stat_button"
+ groups="base.group_user"/>
+ </div>
<group>
- <group>
+ <h1>
<field name="name"/>
- </group>
- <group>
- <field name="manager"/>
- <field name="company_id" groups="base.group_multi_company"/>
- </group>
- <field name="attendance_ids"/>
- <field name="leave_ids" context="{'default_calendar_id': id}"/>
+ </h1>
+ <field name="company_id" groups="base.group_multi_company"/>
</group>
+ <notebook>
+ <page string="Working Hours">
+ <field name="attendance_ids"/>
+ </page>
+ <page string="Global Leaves">
+ <field name="global_leave_ids">
+ <tree editable="top">
+ <field name="name"/>
+ <field name="date_from"/>
+ <field name="date_to"/>
+ </tree>
+ </field>
+ </page>
+ </notebook>
</sheet>
</form>
</field>
@@ -235,7 +275,6 @@
<field name="arch" type="xml">
<tree string="Working Time">
<field name="name"/>
- <field name="manager"/>
<field name="company_id" groups="base.group_multi_company"/>
</tree>
</field>