diff options
| author | Thibault Delavallée <tde@odoo.com> | 2016-11-07 12:04:00 +0100 |
|---|---|---|
| committer | Thibault Delavallée <tde@odoo.com> | 2017-01-18 10:26:53 +0100 |
| commit | 2b90398cb6f5986167ca9306dd327659960c78a6 (patch) | |
| tree | 6830667792200553967255403dbb6ef17a17f624 /addons/resource/views | |
| parent | 2015cfd175865634caea5f3e7d1c55f224631baf (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.xml | 16 | ||||
| -rw-r--r-- | addons/resource/views/resource_views.xml | 71 |
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> |
