| REPOSITORY | |
|---|---|
| REPOSITORY | odoo/odoo |
| GIT | |
| GIT | https://github.com/odoo/odoo.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/odoo/odoo/tree/19.0/resource |
| VERSION | |
| VERSION | 1.1 |
| CATEGORY | |
| CATEGORY | Hidden |
| LICENSE | |
| LICENSE | LGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo S.A. |
| MAINTAINERS | |
| MAINTAINERS | Odoo S.A. |
| COMMITTERS | |
| COMMITTERS | Raphael Collet, Odoo Translation Bot, Thibault Delavallée, Xavier Morel, Aaron Bohy, Yannick Tivisse, Jorge Pinna Puissant, Julien Castiaux, Tiffany Chang (tic), Gorash, Mathieu Duckerts-Antoine, Ahmad Khanalizadeh, Loan (LSE), Victor Piryns (pivi), Dylan Kiss (dyki), Mayurrajsinh Rathod, Simon Goffaux (sigo), Xavier Bol (xbo), Youssef Bashandy, bary, Abderraouf Ghrissi (abgh), Julien Carion (juca), Tanguy Quéguineur, Mathieu Coutant, Abdelrahman Mahmoud (amah), st-yes, Chris Duvivier, Corentin Heinix (cohe), Krzysztof Magusiak (krma), Harrison Hutton, Guillaume V, Maeva De Keyser (MDEK), nsirjacobs, akha, Bertrand Dossogne, romc-odoo, kareem, saurabh, Jurgen Gjini, Farah (ahmfa), Amr Yasser (amry) |
| WEBSITE | |
| WEBSITE | |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 01:51:41 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - base - web |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION |
Module for resource management.
===============================
A resource represent something that can be scheduled (a developer on a task or a
work center on manufacturing orders). This module manages a resource calendar
associated to every resource. It also manages the leaves of every resource.
|
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
resource_calendar_form |
resource.calendar.form | resource.calendar | form | New |
resource_calendar_leave_form |
resource.calendar.leaves.form | resource.calendar.leaves | form | New |
resource_calendar_leave_tree |
resource.calendar.leaves.list | resource.calendar.leaves | list | New |
resource_resource_form |
resource.resource.form | resource.resource | form | New |
resource_resource_tree |
resource.resource.list | resource.resource | list | New |
view_resource_calendar |
resource.calendar.leaves.calendar | resource.calendar.leaves | calendar | New |
view_resource_calendar_attendance_form |
resource.calendar.attendance.form | resource.calendar.attendance | form | New |
view_resource_calendar_attendance_tree |
resource.calendar.attendance.list | resource.calendar.attendance | list | New |
view_resource_calendar_leaves_search |
resource.calendar.leaves.search | resource.calendar.leaves | search | New |
view_resource_calendar_search |
resource.calendar.search | resource.calendar | search | New |
view_resource_calendar_tree |
resource.calendar.list | resource.calendar | list | New |
view_resource_resource_search |
resource.resource.search | resource.resource | search | New |
resource_calendar_id
Many2one → resource.calendar
ondelete='restrict'
args: 'resource.calendar', 'Default Working Hours'
resource_calendar_ids
One2many → resource.calendar
create(self, vals_list)
resource_calendar_id
Many2one → resource.calendar
readonly=False
related='resource_ids.calendar_id'
args: 'resource.calendar', 'Default Working Hours'
resource_ids
One2many → resource.resource
write(self, vals)
active
Boolean
default=True
help='If the active field is set to false, it will allow you to hide the Working Time without removing it.'
args: 'Active'
attendance_ids
One2many → resource.calendar.attendance
compute='_compute_attendance_ids'
copy=True
readonly=False
store=True
args: 'resource.calendar.attendance', 'calendar_id', 'Working Time'
attendance_ids_1st_week
One2many → resource.calendar.attendance
compute='_compute_two_weeks_attendance'
inverse='_inverse_two_weeks_calendar'
args: 'resource.calendar.attendance', 'calendar_id', 'Working Time 1st Week'
attendance_ids_2nd_week
One2many → resource.calendar.attendance
compute='_compute_two_weeks_attendance'
inverse='_inverse_two_weeks_calendar'
args: 'resource.calendar.attendance', 'calendar_id', 'Working Time 2nd Week'
company_id
Many2one → res.company
default=<expr>
domain=<expr>
index='btree_not_null'
args: 'res.company', 'Company'
duration_based
Boolean
help='The hours will be centered around 12:00 to cover the duration for the day'
args: 'Attendance based on duration'
flexible_hours
Boolean
compute='_compute_flexible_hours'
help="When enabled, it will allow employees to work flexibly, without relying on the company's working schedule (working hours)."
inverse='_inverse_flexible_hours'
store=True
string='Flexible Hours'
full_time_required_hours
Float
compute='_compute_full_time_required_hours'
help='Number of hours to work on the company schedule to be considered as fulltime.'
readonly=False
store=True
string='Full Time Equivalent'
global_leave_ids
One2many → resource.calendar.leaves
compute='_compute_global_leave_ids'
copy=True
domain=[('resource_id', '=', False)]
readonly=False
store=True
args: 'resource.calendar.leaves', 'calendar_id', 'Global Time Off'
hours_per_day
Float
compute='_compute_hours_per_day'
digits=(2, 2)
help='Average hours per day a resource is supposed to work with this calendar.'
readonly=False
store=True
args: 'Average Hour per Day'
hours_per_week
Float
compute='_compute_hours_per_week'
copy=False
readonly=False
store=True
string='Hours per Week'
is_fulltime
Boolean
compute='_compute_work_time_rate'
string='Is Full Time'
leave_ids
One2many → resource.calendar.leaves
name
Char
required=True
schedule_type
Selection
default='fully_fixed'
help='Choose which level of definition you want to define on your Schedule\n- Flexible : Define an amount of hours to work on the week.\n- Fully Fixed : define the days, periods and the start & end time for each period of the day'
required=True
string='Schedule Type'
args: [('flexible', 'Flexible'), ('fully_fixed', 'Fully Fixed')]
two_weeks_calendar
Boolean
string='Calendar in 2 weeks mode'
two_weeks_explanation
Char
compute='_compute_two_weeks_explanation'
args: 'Explanation'
tz
Selection
default=<expr>
help='This field is used in order to define in which timezone the resources will work.'
required=True
string='Timezone'
args: _tz_get
tz_offset
Char
compute='_compute_tz_offset'
string='Timezone offset'
work_resources_count
Integer
compute='_compute_work_resources_count'
args: 'Work Resources count'
work_time_rate
Float
compute='_compute_work_time_rate'
help='Work time rate versus full time working schedule, should be between 0 and 100 %.'
search='_search_work_time_rate'
string='Work Time Rate'
copy_data(self, default=None)
default_get(self, fields)
get_work_duration_data(self, from_datetime, to_datetime, compute_leaves=True, domain=None)
get_work_hours_count(self, start_dt, end_dt, compute_leaves=True, domain=None)
plan_days(self, days, day_dt, compute_leaves=False, domain=None)
plan_hours(self, hours, day_dt, compute_leaves=False, domain=None, resource=None)
switch_based_on_duration(self)
switch_calendar_type(self)
calendar_id
Many2one → resource.calendar
index=True
ondelete='cascade'
required=True
string="Resource's Calendar"
args: 'resource.calendar'
day_period
Selection
default='morning'
required=True
args: [('morning', 'Morning'), ('lunch', 'Break'), ('afternoon', 'Afternoon'), ('full_day', 'Full Day')]
dayofweek
Selection
default='0'
index=True
required=True
args: [('0', 'Monday'), ('1', 'Tuesday'), ('2', 'Wednesday'), ('3', 'Thursday'), ('4', 'Friday'), ('5', 'Saturday'), ('6', 'Sunday')], 'Day of Week'
display_type
Selection
default=False
help='Technical field for UX purpose.'
args: [('line_section', 'Section')]
duration_based
Boolean
related='calendar_id.duration_based'
duration_days
Float
compute='_compute_duration_days'
readonly=False
store=True
string='Duration (days)'
duration_hours
Float
compute='_compute_duration_hours'
inverse='_inverse_duration_hours'
readonly=False
store=True
string='Duration (hours)'
hour_from
Float
default=0
help='Start and End time of working.\nA specific value of 24:00 is interpreted as 23:59:59.999999.'
index=True
required=True
string='Work from'
hour_to
Float
default=0
required=True
string='Work to'
name
Char
required=True
sequence
Integer
default=10
help='Gives the sequence of this line when displaying the resource calendar.'
two_weeks_calendar
Boolean
related='calendar_id.two_weeks_calendar'
args: 'Calendar in 2 weeks mode'
week_type
Selection
default=False
args: [('1', 'Second'), ('0', 'First')], 'Week Number'
get_week_type(self, date)
calendar_id
Many2one → resource.calendar
check_company=True
compute='_compute_calendar_id'
domain="[('company_id', 'in', [company_id, False])]"
index=True
readonly=False
store=True
args: 'resource.calendar', 'Working Hours'
company_id
Many2one → res.company
compute='_compute_company_id'
default=<expr>
readonly=True
store=True
string='Company'
args: 'res.company'
date_from
Datetime
required=True
args: 'Start Date'
date_to
Datetime
compute='_compute_date_to'
readonly=False
required=True
store=True
args: 'End Date'
name
Char
resource_id
Many2one → resource.resource
help='If empty, this is a generic time off for the company. If a resource is set, the time off is only for this resource'
index=True
args: 'resource.resource', 'Resource'
time_type
Selection
default='leave'
help='Whether this should be computed as a time off or as work time (eg: formation)'
args: [('leave', 'Time Off'), ('other', 'Other')]
check_dates(self)
default_get(self, fields)
company_id
Many2one → res.company
default=<expr>
index=True
precompute=True
readonly=False
related='resource_id.company_id'
store=True
args: 'res.company', 'Company'
resource_calendar_id
Many2one → resource.calendar
default=<expr>
index=True
readonly=False
related='resource_id.calendar_id'
store=True
args: 'resource.calendar', 'Working Hours'
resource_id
Many2one → resource.resource
bypass_search_access=True
index=True
ondelete='restrict'
required=True
args: 'resource.resource', 'Resource'
tz
Selection
help='This field is used in order to define in which timezone the resources will work.'
readonly=False
related='resource_id.tz'
string='Timezone'
copy_data(self, default=None)
create(self, vals_list)
list_leaves(self, from_datetime, to_datetime, calendar=None, domain=None)
active
Boolean
default=True
help='If the active field is set to False, it will allow you to hide the resource record without removing it.'
args: 'Active'
avatar_128
Image
compute='_compute_avatar_128'
calendar_id
Many2one → resource.calendar
default=<expr>
domain="[('company_id', '=', company_id)]"
help='Define the working schedule of the resource. If not set, the resource will have fully flexible working hours.'
string='Working Time'
args: 'resource.calendar'
company_id
Many2one → res.company
default=<expr>
string='Company'
args: 'res.company'
email
Char
related='user_id.email'
name
Char
required=True
phone
Char
related='user_id.phone'
resource_type
Selection
default='user'
required=True
string='Type'
args: [('user', 'Human'), ('material', 'Material')]
share
Boolean
related='user_id.share'
time_efficiency
Float
default=100
help='This field is used to calculate the expected duration of a work order at this work center. For example, if a work order takes one hour and the efficiency factor is 100%, then the expected duration will be one hour. If the efficiency factor is 200%, however the expected duration will be 30 minutes.'
required=True
args: 'Efficiency Factor'
tz
Selection
default=<expr>
required=True
string='Timezone'
args: _tz_get
user_id
Many2one → res.users
help='Related user name for the resource to manage its access.'
index='btree_not_null'
string='User'
args: 'res.users'
copy_data(self, default=None)
create(self, vals_list)
default_get(self, fields)
write(self, vals)
| REPOSITORY | |
|---|---|
| REPOSITORY | odoo/odoo |
| GIT | |
| GIT | https://github.com/odoo/odoo.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/odoo/odoo/tree/18.0/resource |
| VERSION | |
| VERSION | 1.1 |
| CATEGORY | |
| CATEGORY | Hidden |
| LICENSE | |
| LICENSE | LGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | |
| MAINTAINERS | |
| MAINTAINERS | |
| COMMITTERS | |
| COMMITTERS | Raphael Collet, Odoo Translation Bot, Martin Trigaux, Christophe Simonis, Yannick Tivisse, Odoo Online, Pierre Masereel, Aurélien Warnon, David Tran, Tiffany Chang (tic), Gorash, Ahmad Khanalizadeh, sofiagvaladze, Florian Damhaut, Dossogne Bertrand, Vincent Larcin, Thomas Lefebvre (thle), Louis Wicket (wil), Victor Piryns (pivi), Mahamadasif Ansari, Levi Siuzdak (sile), Maruan Aguerdouh (magm), Dylan Kiss (dyki), Chong Wang (cwg), Hugo Carlier (Huca), Xavier Bol (xbo), Noe Antoine, Mattis Megevand (mmeg), Mattis Megevand, Youssef Bashandy, bary, Maxime de Neuville, reka-odoo, jugj-odoo, Abderraouf Ghrissi (abgh), Tanguy Quéguineur, Louis (wil), aamo-odoo, Mathieu Coutant, st-yes, Chris Duvivier, Pierre Pulinckx (pipu), Corentin Heinix (cohe), lse-odoo, Krzysztof Magusiak (krma), Hazem Ibrahim, Harrison Hutton, Guillaume V, Maeva De Keyser (MDEK), romc-odoo, kareem, kinhosz, sbel-odoo, Killian Frappart, Cooper Spinelli, Jurgen Gjini |
| WEBSITE | |
| WEBSITE | |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 01:25:54 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - base - web |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION |
Module for resource management.
===============================
A resource represent something that can be scheduled (a developer on a task or a
work center on manufacturing orders). This module manages a resource calendar
associated to every resource. It also manages the leaves of every resource.
|
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
resource_calendar_form |
resource.calendar.form | resource.calendar | form | New |
resource_calendar_leave_form |
resource.calendar.leaves.form | resource.calendar.leaves | form | New |
resource_calendar_leave_tree |
resource.calendar.leaves.list | resource.calendar.leaves | list | New |
resource_resource_form |
resource.resource.form | resource.resource | form | New |
resource_resource_tree |
resource.resource.list | resource.resource | list | New |
view_resource_calendar |
resource.calendar.leaves.calendar | resource.calendar.leaves | calendar | New |
view_resource_calendar_attendance_form |
resource.calendar.attendance.form | resource.calendar.attendance | form | New |
view_resource_calendar_attendance_tree |
resource.calendar.attendance.list | resource.calendar.attendance | list | New |
view_resource_calendar_leaves_search |
resource.calendar.leaves.search | resource.calendar.leaves | search | New |
view_resource_calendar_search |
resource.calendar.search | resource.calendar | search | New |
view_resource_calendar_tree |
resource.calendar.list | resource.calendar | list | New |
view_resource_resource_search |
resource.resource.search | resource.resource | search | New |
resource_calendar_id
Many2one → resource.calendar
ondelete='restrict'
args: 'resource.calendar', 'Default Working Hours'
resource_calendar_ids
One2many → resource.calendar
create(self, vals_list)
resource_calendar_id
Many2one → resource.calendar
readonly=False
related='resource_ids.calendar_id'
args: 'resource.calendar', 'Default Working Hours'
resource_ids
One2many → resource.resource
write(self, vals)
active
Boolean
default=True
help='If the active field is set to false, it will allow you to hide the Working Time without removing it.'
args: 'Active'
attendance_ids
One2many → resource.calendar.attendance
compute='_compute_attendance_ids'
copy=True
readonly=False
store=True
args: 'resource.calendar.attendance', 'calendar_id', 'Working Time'
company_id
Many2one → res.company
default=<expr>
domain=<expr>
args: 'res.company', 'Company'
flexible_hours
Boolean
help="When enabled, it will allow employees to work flexibly, without relying on the company's working schedule (working hours)."
string='Flexible Hours'
full_time_required_hours
Float
help='Number of hours to work on the company schedule to be considered as fulltime.'
string='Company Full Time'
global_leave_ids
One2many → resource.calendar.leaves
compute='_compute_global_leave_ids'
copy=True
domain=[('resource_id', '=', False)]
readonly=False
store=True
args: 'resource.calendar.leaves', 'calendar_id', 'Global Time Off'
hours_per_day
Float
compute='_compute_hours_per_day'
digits=(2, 2)
help='Average hours per day a resource is supposed to work with this calendar.'
readonly=False
store=True
args: 'Average Hour per Day'
leave_ids
One2many → resource.calendar.leaves
name
Char
required=True
two_weeks_calendar
Boolean
string='Calendar in 2 weeks mode'
two_weeks_explanation
Char
compute='_compute_two_weeks_explanation'
args: 'Explanation'
tz
Selection
default=<expr>
help='This field is used in order to define in which timezone the resources will work.'
required=True
string='Timezone'
args: _tz_get
tz_offset
Char
compute='_compute_tz_offset'
string='Timezone offset'
copy_data(self, default=None)
default_get(self, fields)
get_work_duration_data(self, from_datetime, to_datetime, compute_leaves=True, domain=None)
get_work_hours_count(self, start_dt, end_dt, compute_leaves=True, domain=None)
plan_days(self, days, day_dt, compute_leaves=False, domain=None)
plan_hours(self, hours, day_dt, compute_leaves=False, domain=None, resource=None)
switch_calendar_type(self)
calendar_id
Many2one → resource.calendar
ondelete='cascade'
required=True
string="Resource's Calendar"
args: 'resource.calendar'
date_from
Date
string='Starting Date'
date_to
Date
string='End Date'
day_period
Selection
default='morning'
required=True
args: [('morning', 'Morning'), ('lunch', 'Break'), ('afternoon', 'Afternoon')]
dayofweek
Selection
default='0'
index=True
required=True
args: [('0', 'Monday'), ('1', 'Tuesday'), ('2', 'Wednesday'), ('3', 'Thursday'), ('4', 'Friday'), ('5', 'Saturday'), ('6', 'Sunday')], 'Day of Week'
display_type
Selection
default=False
help='Technical field for UX purpose.'
args: [('line_section', 'Section')]
duration_days
Float
compute='_compute_duration_days'
readonly=False
store=True
string='Duration (days)'
duration_hours
Float
compute='_compute_duration_hours'
string='Duration (hours)'
hour_from
Float
help='Start and End time of working.\nA specific value of 24:00 is interpreted as 23:59:59.999999.'
index=True
required=True
string='Work from'
hour_to
Float
required=True
string='Work to'
name
Char
required=True
resource_id
Many2one → resource.resource
sequence
Integer
default=10
help='Gives the sequence of this line when displaying the resource calendar.'
two_weeks_calendar
Boolean
related='calendar_id.two_weeks_calendar'
args: 'Calendar in 2 weeks mode'
week_type
Selection
default=False
args: [('1', 'Second'), ('0', 'First')], 'Week Number'
get_week_type(self, date)
calendar_id
Many2one → resource.calendar
check_company=True
compute='_compute_calendar_id'
domain="[('company_id', 'in', [company_id, False])]"
index=True
readonly=False
store=True
args: 'resource.calendar', 'Working Hours'
company_id
Many2one → res.company
compute='_compute_company_id'
default=<expr>
readonly=True
store=True
string='Company'
args: 'res.company'
date_from
Datetime
required=True
args: 'Start Date'
date_to
Datetime
compute='_compute_date_to'
readonly=False
required=True
store=True
args: 'End Date'
name
Char
resource_id
Many2one → resource.resource
help='If empty, this is a generic time off for the company. If a resource is set, the time off is only for this resource'
index=True
args: 'resource.resource', 'Resource'
time_type
Selection
default='leave'
help='Whether this should be computed as a time off or as work time (eg: formation)'
args: [('leave', 'Time Off'), ('other', 'Other')]
check_dates(self)
default_get(self, fields_list)
company_id
Many2one → res.company
default=<expr>
index=True
precompute=True
readonly=False
related='resource_id.company_id'
store=True
args: 'res.company', 'Company'
resource_calendar_id
Many2one → resource.calendar
default=<expr>
index=True
readonly=False
related='resource_id.calendar_id'
store=True
args: 'resource.calendar', 'Working Hours'
resource_id
Many2one → resource.resource
auto_join=True
index=True
ondelete='restrict'
required=True
args: 'resource.resource', 'Resource'
tz
Selection
help='This field is used in order to define in which timezone the resources will work.'
readonly=False
related='resource_id.tz'
string='Timezone'
copy_data(self, default=None)
create(self, vals_list)
list_leaves(self, from_datetime, to_datetime, calendar=None, domain=None)
active
Boolean
default=True
help='If the active field is set to False, it will allow you to hide the resource record without removing it.'
args: 'Active'
avatar_128
Image
compute='_compute_avatar_128'
calendar_id
Many2one → resource.calendar
default=<expr>
domain="[('company_id', '=', company_id)]"
help='Define the working schedule of the resource. If not set, the resource will have fully flexible working hours.'
string='Working Time'
args: 'resource.calendar'
company_id
Many2one → res.company
default=<expr>
string='Company'
args: 'res.company'
email
Char
related='user_id.email'
name
Char
required=True
phone
Char
related='user_id.phone'
resource_type
Selection
default='user'
required=True
string='Type'
args: [('user', 'Human'), ('material', 'Material')]
share
Boolean
related='user_id.share'
time_efficiency
Float
default=100
help='This field is used to calculate the expected duration of a work order at this work center. For example, if a work order takes one hour and the efficiency factor is 100%, then the expected duration will be one hour. If the efficiency factor is 200%, however the expected duration will be 30 minutes.'
required=True
args: 'Efficiency Factor'
tz
Selection
default=<expr>
required=True
string='Timezone'
args: _tz_get
user_id
Many2one → res.users
help='Related user name for the resource to manage its access.'
string='User'
args: 'res.users'
copy_data(self, default=None)
create(self, vals_list)
default_get(self, fields)
write(self, values)
| REPOSITORY | |
|---|---|
| REPOSITORY | odoo/odoo |
| GIT | |
| GIT | https://github.com/odoo/odoo.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/odoo/odoo/tree/17.0/resource |
| VERSION | |
| VERSION | 1.1 |
| CATEGORY | |
| CATEGORY | Hidden |
| LICENSE | |
| LICENSE | LGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | |
| MAINTAINERS | |
| MAINTAINERS | |
| COMMITTERS | |
| COMMITTERS | Odoo Translation Bot, Martin Trigaux, Christophe Simonis, Xavier Morel, Aaron Bohy, Barad Mahendra, Yannick Tivisse, Odoo Online, Adrien Dieudonne, Jorge Pinna Puissant, David Tran, Julien Mougenot, Samuel Degueldre, Prakash Prajapati, Tiffany Chang (tic), Rémy Voet (ryv), Gorash, Pierre Paridans, Kevin Baptiste, Philippe Wauthy, Xavier BOL (xbo), sofiagvaladze, Florian Damhaut, MerlinGuillaume, Dossogne Bertrand, niyasraphy, Thomas Lefebvre (thle), Louis Wicket (wil), Mahamadasif Ansari, Levi Siuzdak (sile), Maruan Aguerdouh (magm), Dylan Kiss (dyki), FrancoisGe, Michael (mcm), Chong Wang (cwg), Hugo Carlier (Huca), Xavier Bol (xbo), Mattis Megevand (mmeg), Mattis Megevand, dasz, bary, Maxime de Neuville, reka-odoo, jugj-odoo, Abderraouf Ghrissi (abgh), Louis (wil), aamo-odoo, Rob Coekaerts, luve-odoo, Maeva De Keyser (MDEK), romc-odoo, kinhosz, sbel-odoo |
| WEBSITE | |
| WEBSITE | |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 01:02:05 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - base - web |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION |
Module for resource management.
===============================
A resource represent something that can be scheduled (a developer on a task or a
work center on manufacturing orders). This module manages a resource calendar
associated to every resource. It also manages the leaves of every resource.
|
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
resource_calendar_form |
resource.calendar.form | resource.calendar | form | New |
resource_calendar_leave_form |
resource.calendar.leaves.form | resource.calendar.leaves | form | New |
resource_calendar_leave_tree |
resource.calendar.leaves.tree | resource.calendar.leaves | tree | New |
resource_resource_form |
resource.resource.form | resource.resource | form | New |
resource_resource_tree |
resource.resource.tree | resource.resource | tree | New |
view_resource_calendar |
resource.calendar.leaves.calendar | resource.calendar.leaves | calendar | New |
view_resource_calendar_attendance_form |
resource.calendar.attendance.form | resource.calendar.attendance | form | New |
view_resource_calendar_attendance_tree |
resource.calendar.attendance.tree | resource.calendar.attendance | tree | New |
view_resource_calendar_leaves_search |
resource.calendar.leaves.search | resource.calendar.leaves | search | New |
view_resource_calendar_search |
resource.calendar.search | resource.calendar | search | New |
view_resource_calendar_tree |
resource.calendar.tree | resource.calendar | tree | New |
view_resource_resource_search |
resource.resource.search | resource.resource | search | New |
resource_calendar_id
Many2one → resource.calendar
ondelete='restrict'
args: 'resource.calendar', 'Default Working Hours'
resource_calendar_ids
One2many → resource.calendar
create(self, vals_list)
resource_calendar_id
Many2one → resource.calendar
readonly=False
related='resource_ids.calendar_id'
args: 'resource.calendar', 'Default Working Hours'
resource_ids
One2many → resource.resource
write(self, vals)
No new fields.
Public methods (0)No public methods.
active
Boolean
default=True
help='If the active field is set to false, it will allow you to hide the Working Time without removing it.'
args: 'Active'
attendance_ids
One2many → resource.calendar.attendance
compute='_compute_attendance_ids'
copy=True
readonly=False
store=True
args: 'resource.calendar.attendance', 'calendar_id', 'Working Time'
company_id
Many2one → res.company
default=<expr>
domain=<expr>
args: 'res.company', 'Company'
global_leave_ids
One2many → resource.calendar.leaves
compute='_compute_global_leave_ids'
copy=True
domain=[('resource_id', '=', False)]
readonly=False
store=True
args: 'resource.calendar.leaves', 'calendar_id', 'Global Time Off'
hours_per_day
Float
compute='_compute_hours_per_day'
digits=(2, 2)
help='Average hours per day a resource is supposed to work with this calendar.'
store=True
args: 'Average Hour per Day'
leave_ids
One2many → resource.calendar.leaves
name
Char
required=True
two_weeks_calendar
Boolean
string='Calendar in 2 weeks mode'
two_weeks_explanation
Char
compute='_compute_two_weeks_explanation'
args: 'Explanation'
tz
Selection
default=<expr>
help='This field is used in order to define in which timezone the resources will work.'
required=True
string='Timezone'
args: _tz_get
tz_offset
Char
compute='_compute_tz_offset'
string='Timezone offset'
copy(self, default=None)
default_get(self, fields)
get_work_duration_data(self, from_datetime, to_datetime, compute_leaves=True, domain=None)
get_work_hours_count(self, start_dt, end_dt, compute_leaves=True, domain=None)
plan_days(self, days, day_dt, compute_leaves=False, domain=None)
plan_hours(self, hours, day_dt, compute_leaves=False, domain=None, resource=None)
switch_calendar_type(self)
calendar_id
Many2one → resource.calendar
ondelete='cascade'
required=True
string="Resource's Calendar"
args: 'resource.calendar'
date_from
Date
string='Starting Date'
date_to
Date
string='End Date'
day_period
Selection
default='morning'
required=True
args: [('morning', 'Morning'), ('lunch', 'Break'), ('afternoon', 'Afternoon')]
dayofweek
Selection
default='0'
index=True
required=True
args: [('0', 'Monday'), ('1', 'Tuesday'), ('2', 'Wednesday'), ('3', 'Thursday'), ('4', 'Friday'), ('5', 'Saturday'), ('6', 'Sunday')], 'Day of Week'
display_type
Selection
default=False
help='Technical field for UX purpose.'
args: [('line_section', 'Section')]
duration_days
Float
compute='_compute_duration_days'
readonly=False
store=True
string='Duration (days)'
duration_hours
Float
compute='_compute_duration_hours'
string='Duration (hours)'
hour_from
Float
help='Start and End time of working.\nA specific value of 24:00 is interpreted as 23:59:59.999999.'
index=True
required=True
string='Work from'
hour_to
Float
required=True
string='Work to'
name
Char
required=True
resource_id
Many2one → resource.resource
sequence
Integer
default=10
help='Gives the sequence of this line when displaying the resource calendar.'
two_weeks_calendar
Boolean
related='calendar_id.two_weeks_calendar'
args: 'Calendar in 2 weeks mode'
week_type
Selection
default=False
args: [('1', 'Second'), ('0', 'First')], 'Week Number'
get_week_type(self, date)
calendar_id
Many2one → resource.calendar
check_company=True
compute='_compute_calendar_id'
domain="[('company_id', 'in', [company_id, False])]"
index=True
readonly=False
store=True
args: 'resource.calendar', 'Working Hours'
company_id
Many2one → res.company
compute='_compute_company_id'
default=<expr>
readonly=True
store=True
string='Company'
args: 'res.company'
date_from
Datetime
required=True
args: 'Start Date'
date_to
Datetime
compute='_compute_date_to'
readonly=False
required=True
store=True
args: 'End Date'
name
Char
resource_id
Many2one → resource.resource
help='If empty, this is a generic time off for the company. If a resource is set, the time off is only for this resource'
index=True
args: 'resource.resource', 'Resource'
time_type
Selection
default='leave'
help='Whether this should be computed as a time off or as work time (eg: formation)'
args: [('leave', 'Time Off'), ('other', 'Other')]
check_dates(self)
default_get(self, fields_list)
onchange_resource(self)
company_id
Many2one → res.company
default=<expr>
index=True
precompute=True
readonly=False
related='resource_id.company_id'
store=True
args: 'res.company', 'Company'
resource_calendar_id
Many2one → resource.calendar
default=<expr>
index=True
readonly=False
related='resource_id.calendar_id'
store=True
args: 'resource.calendar', 'Working Hours'
resource_id
Many2one → resource.resource
auto_join=True
index=True
ondelete='restrict'
required=True
args: 'resource.resource', 'Resource'
tz
Selection
help='This field is used in order to define in which timezone the resources will work.'
readonly=False
related='resource_id.tz'
string='Timezone'
copy_data(self, default=None)
create(self, vals_list)
list_leaves(self, from_datetime, to_datetime, calendar=None, domain=None)
list_work_time_per_day(self, from_datetime, to_datetime, calendar=None, domain=None)
active
Boolean
default=True
help='If the active field is set to False, it will allow you to hide the resource record without removing it.'
args: 'Active'
calendar_id
Many2one → resource.calendar
default=<expr>
domain="[('company_id', '=', company_id)]"
string='Working Time'
args: 'resource.calendar'
company_id
Many2one → res.company
default=<expr>
string='Company'
args: 'res.company'
name
Char
required=True
resource_type
Selection
default='user'
required=True
string='Type'
args: [('user', 'Human'), ('material', 'Material')]
time_efficiency
Float
default=100
help='This field is used to calculate the expected duration of a work order at this work center. For example, if a work order takes one hour and the efficiency factor is 100%, then the expected duration will be one hour. If the efficiency factor is 200%, however the expected duration will be 30 minutes.'
required=True
args: 'Efficiency Factor'
tz
Selection
default=<expr>
required=True
string='Timezone'
args: _tz_get
user_id
Many2one → res.users
help='Related user name for the resource to manage its access.'
string='User'
args: 'res.users'
copy(self, default=None)
create(self, vals_list)
default_get(self, fields)
write(self, values)
| REPOSITORY | |
|---|---|
| REPOSITORY | odoo/odoo |
| GIT | |
| GIT | https://github.com/odoo/odoo.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/odoo/odoo/tree/16.0/resource |
| VERSION | |
| VERSION | 1.1 |
| CATEGORY | |
| CATEGORY | Hidden |
| LICENSE | |
| LICENSE | LGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | |
| MAINTAINERS | |
| MAINTAINERS | |
| COMMITTERS | |
| COMMITTERS | Odoo Translation Bot, Martin Trigaux, Denis Ledoux, Christophe Simonis, Barad Mahendra, Yannick Tivisse, David Tran, Victor Feyens, Adrien Dieudonné, Julien Mougenot, Prakash Prajapati, Tiffany Chang (tic), Gorash, Mathieu Duckerts-Antoine, Pierre Paridans, William Braeckman, Philippe Wauthy, Xavier BOL (xbo), sofiagvaladze, Florian Damhaut, MerlinGuillaume, Audric Onockx (auon), Florian Charlier, Thibault Libioulle, Laurent Stukkens (LTU), Dossogne Bertrand, Vincent Larcin, Thomas Lefebvre (thle), Levi Siuzdak (sile), Maruan Aguerdouh (magm), Michael (mcm), Chong Wang (cwg), bary, Maxime de Neuville, Abderraouf Ghrissi (abgh), Rob Coekaerts |
| WEBSITE | |
| WEBSITE | |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:40:47 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - base - web |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION |
Module for resource management.
===============================
A resource represent something that can be scheduled (a developer on a task or a
work center on manufacturing orders). This module manages a resource calendar
associated to every resource. It also manages the leaves of every resource.
|
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
resource_calendar_form |
resource.calendar.form | resource.calendar | form | New |
resource_calendar_leave_form |
resource.calendar.leaves.form | resource.calendar.leaves | form | New |
resource_calendar_leave_tree |
resource.calendar.leaves.tree | resource.calendar.leaves | tree | New |
resource_resource_form |
resource.resource.form | resource.resource | form | New |
resource_resource_tree |
resource.resource.tree | resource.resource | tree | New |
view_resource_calendar |
resource.calendar.leaves.calendar | resource.calendar.leaves | calendar | New |
view_resource_calendar_attendance_form |
resource.calendar.attendance.form | resource.calendar.attendance | form | New |
view_resource_calendar_attendance_tree |
resource.calendar.attendance.tree | resource.calendar.attendance | tree | New |
view_resource_calendar_leaves_search |
resource.calendar.leaves.search | resource.calendar.leaves | search | New |
view_resource_calendar_search |
resource.calendar.search | resource.calendar | search | New |
view_resource_calendar_tree |
resource.calendar.tree | resource.calendar | tree | New |
view_resource_resource_search |
resource.resource.search | resource.resource | search | New |
resource_calendar_id
Many2one → resource.calendar
ondelete='restrict'
args: 'resource.calendar', 'Default Working Hours'
resource_calendar_ids
One2many → resource.calendar
create(self, vals_list)
resource_calendar_id
Many2one → resource.calendar
readonly=False
related='resource_ids.calendar_id'
args: 'resource.calendar', 'Default Working Hours'
resource_ids
One2many → resource.resource
write(self, vals)
No new fields.
Public methods (0)No public methods.
active
Boolean
default=True
help='If the active field is set to false, it will allow you to hide the Working Time without removing it.'
args: 'Active'
attendance_ids
One2many → resource.calendar.attendance
compute='_compute_attendance_ids'
copy=True
readonly=False
store=True
args: 'resource.calendar.attendance', 'calendar_id', 'Working Time'
company_id
Many2one → res.company
default=<expr>
args: 'res.company', 'Company'
global_leave_ids
One2many → resource.calendar.leaves
compute='_compute_global_leave_ids'
copy=True
domain=[('resource_id', '=', False)]
readonly=False
store=True
args: 'resource.calendar.leaves', 'calendar_id', 'Global Time Off'
hours_per_day
Float
default=HOURS_PER_DAY
help='Average hours per day a resource is supposed to work with this calendar.'
args: 'Average Hour per Day'
leave_ids
One2many → resource.calendar.leaves
name
Char
required=True
two_weeks_calendar
Boolean
string='Calendar in 2 weeks mode'
two_weeks_explanation
Char
compute='_compute_two_weeks_explanation'
args: 'Explanation'
tz
Selection
default=<expr>
help='This field is used in order to define in which timezone the resources will work.'
required=True
string='Timezone'
args: _tz_get
tz_offset
Char
compute='_compute_tz_offset'
invisible=True
string='Timezone offset'
copy(self, default=None)
default_get(self, fields)
get_work_duration_data(self, from_datetime, to_datetime, compute_leaves=True, domain=None)
get_work_hours_count(self, start_dt, end_dt, compute_leaves=True, domain=None)
plan_days(self, days, day_dt, compute_leaves=False, domain=None)
plan_hours(self, hours, day_dt, compute_leaves=False, domain=None, resource=None)
switch_calendar_type(self)
calendar_id
Many2one → resource.calendar
ondelete='cascade'
required=True
string="Resource's Calendar"
args: 'resource.calendar'
date_from
Date
string='Starting Date'
date_to
Date
string='End Date'
day_period
Selection
default='morning'
required=True
args: [('morning', 'Morning'), ('afternoon', 'Afternoon')]
dayofweek
Selection
default='0'
index=True
required=True
args: [('0', 'Monday'), ('1', 'Tuesday'), ('2', 'Wednesday'), ('3', 'Thursday'), ('4', 'Friday'), ('5', 'Saturday'), ('6', 'Sunday')], 'Day of Week'
display_type
Selection
default=False
help='Technical field for UX purpose.'
args: [('line_section', 'Section')]
hour_from
Float
help='Start and End time of working.\nA specific value of 24:00 is interpreted as 23:59:59.999999.'
index=True
required=True
string='Work from'
hour_to
Float
required=True
string='Work to'
name
Char
required=True
resource_id
Many2one → resource.resource
sequence
Integer
default=10
help='Gives the sequence of this line when displaying the resource calendar.'
two_weeks_calendar
Boolean
related='calendar_id.two_weeks_calendar'
args: 'Calendar in 2 weeks mode'
week_type
Selection
default=False
args: [('1', 'Second'), ('0', 'First')], 'Week Number'
get_week_type(self, date)
calendar_id
Many2one → resource.calendar
check_company=True
compute='_compute_calendar_id'
domain="[('company_id', 'in', [company_id, False])]"
index=True
readonly=False
store=True
args: 'resource.calendar', 'Working Hours'
company_id
Many2one → res.company
compute='_compute_company_id'
default=<expr>
readonly=True
store=True
string='Company'
args: 'res.company'
date_from
Datetime
required=True
args: 'Start Date'
date_to
Datetime
required=True
args: 'End Date'
name
Char
resource_id
Many2one → resource.resource
help='If empty, this is a generic time off for the company. If a resource is set, the time off is only for this resource'
index=True
args: 'resource.resource', 'Resource'
time_type
Selection
default='leave'
help='Whether this should be computed as a time off or as work time (eg: formation)'
args: [('leave', 'Time Off'), ('other', 'Other')]
check_dates(self)
default_get(self, fields_list)
onchange_resource(self)
company_id
Many2one → res.company
default=<expr>
index=True
readonly=False
related='resource_id.company_id'
store=True
args: 'res.company', 'Company'
resource_calendar_id
Many2one → resource.calendar
default=<expr>
index=True
readonly=False
related='resource_id.calendar_id'
store=True
args: 'resource.calendar', 'Working Hours'
resource_id
Many2one → resource.resource
auto_join=True
index=True
ondelete='restrict'
required=True
args: 'resource.resource', 'Resource'
tz
Selection
help='This field is used in order to define in which timezone the resources will work.'
readonly=False
related='resource_id.tz'
string='Timezone'
copy_data(self, default=None)
create(self, vals_list)
list_leaves(self, from_datetime, to_datetime, calendar=None, domain=None)
list_work_time_per_day(self, from_datetime, to_datetime, calendar=None, domain=None)
active
Boolean
default=True
help='If the active field is set to False, it will allow you to hide the resource record without removing it.'
args: 'Active'
calendar_id
Many2one → resource.calendar
default=<expr>
domain="[('company_id', '=', company_id)]"
required=True
string='Working Time'
args: 'resource.calendar'
company_id
Many2one → res.company
default=<expr>
string='Company'
args: 'res.company'
name
Char
required=True
resource_type
Selection
default='user'
required=True
string='Type'
args: [('user', 'Human'), ('material', 'Material')]
time_efficiency
Float
default=100
help='This field is used to calculate the expected duration of a work order at this work center. For example, if a work order takes one hour and the efficiency factor is 100%, then the expected duration will be one hour. If the efficiency factor is 200%, however the expected duration will be 30 minutes.'
required=True
args: 'Efficiency Factor'
tz
Selection
default=<expr>
required=True
string='Timezone'
args: _tz_get
user_id
Many2one → res.users
help='Related user name for the resource to manage its access.'
string='User'
args: 'res.users'
copy(self, default=None)
create(self, vals_list)
default_get(self, fields)
write(self, values)
| REPOSITORY | |
|---|---|
| REPOSITORY | odoo/odoo |
| GIT | |
| GIT | https://github.com/odoo/odoo.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/odoo/odoo/tree/15.0/resource |
| VERSION | |
| VERSION | 1.1 |
| CATEGORY | |
| CATEGORY | Hidden |
| LICENSE | |
| LICENSE | LGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | |
| MAINTAINERS | |
| MAINTAINERS | |
| COMMITTERS | |
| COMMITTERS | Odoo Translation Bot, Martin Trigaux, Christophe Simonis, Yannick Tivisse, Xavier-Do, Victor Feyens, alt-odoo, Julien Mougenot, William Braeckman, Kevin Baptiste, Philippe Wauthy, Xavier BOL (xbo), sofiagvaladze, MerlinGuillaume, Audric Onockx (auon), Vincent Larcin, Thomas Lefebvre (thle), Levi Siuzdak (sile), Maruan Aguerdouh (magm), Chong Wang (cwg), paso-odoo, Dawn Hwang, Noe Antoine, bary, Maxime de Neuville |
| WEBSITE | |
| WEBSITE | |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:25:26 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - base - web |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION |
Module for resource management.
===============================
A resource represent something that can be scheduled (a developer on a task or a
work center on manufacturing orders). This module manages a resource calendar
associated to every resource. It also manages the leaves of every resource.
|
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
resource_calendar_form |
resource.calendar.form | resource.calendar | form | New |
resource_calendar_leave_form |
resource.calendar.leaves.form | resource.calendar.leaves | form | New |
resource_calendar_leave_tree |
resource.calendar.leaves.tree | resource.calendar.leaves | tree | New |
resource_resource_form |
resource.resource.form | resource.resource | form | New |
resource_resource_tree |
resource.resource.tree | resource.resource | tree | New |
view_resource_calendar |
resource.calendar.leaves.calendar | resource.calendar.leaves | calendar | New |
view_resource_calendar_attendance_form |
resource.calendar.attendance.form | resource.calendar.attendance | form | New |
view_resource_calendar_attendance_tree |
resource.calendar.attendance.tree | resource.calendar.attendance | tree | New |
view_resource_calendar_leaves_search |
resource.calendar.leaves.search | resource.calendar.leaves | search | New |
view_resource_calendar_search |
resource.calendar.search | resource.calendar | search | New |
view_resource_calendar_tree |
resource.calendar.tree | resource.calendar | tree | New |
view_resource_resource_search |
resource.resource.search | resource.resource | search | New |
resource_calendar_id
Many2one → resource.calendar
ondelete='restrict'
args: 'resource.calendar', 'Default Working Hours'
resource_calendar_ids
One2many → resource.calendar
create(self, values)
resource_calendar_id
Many2one → resource.calendar
readonly=False
related='resource_ids.calendar_id'
args: 'resource.calendar', 'Default Working Hours'
resource_ids
One2many → resource.resource
write(self, vals)
active
Boolean
default=True
help='If the active field is set to false, it will allow you to hide the Working Time without removing it.'
args: 'Active'
attendance_ids
One2many → resource.calendar.attendance
compute='_compute_attendance_ids'
copy=True
readonly=False
store=True
args: 'resource.calendar.attendance', 'calendar_id', 'Working Time'
company_id
Many2one → res.company
default=<expr>
args: 'res.company', 'Company'
global_leave_ids
One2many → resource.calendar.leaves
compute='_compute_global_leave_ids'
copy=True
domain=[('resource_id', '=', False)]
readonly=False
store=True
args: 'resource.calendar.leaves', 'calendar_id', 'Global Time Off'
hours_per_day
Float
default=HOURS_PER_DAY
help='Average hours per day a resource is supposed to work with this calendar.'
args: 'Average Hour per Day'
leave_ids
One2many → resource.calendar.leaves
name
Char
required=True
two_weeks_calendar
Boolean
string='Calendar in 2 weeks mode'
two_weeks_explanation
Char
compute='_compute_two_weeks_explanation'
args: 'Explanation'
tz
Selection
default=<expr>
help='This field is used in order to define in which timezone the resources will work.'
required=True
string='Timezone'
args: _tz_get
tz_offset
Char
compute='_compute_tz_offset'
invisible=True
string='Timezone offset'
copy(self, default=None)
default_get(self, fields)
get_work_duration_data(self, from_datetime, to_datetime, compute_leaves=True, domain=None)
get_work_hours_count(self, start_dt, end_dt, compute_leaves=True, domain=None)
plan_days(self, days, day_dt, compute_leaves=False, domain=None)
plan_hours(self, hours, day_dt, compute_leaves=False, domain=None, resource=None)
switch_calendar_type(self)
calendar_id
Many2one → resource.calendar
ondelete='cascade'
required=True
string="Resource's Calendar"
args: 'resource.calendar'
date_from
Date
string='Starting Date'
date_to
Date
string='End Date'
day_period
Selection
default='morning'
required=True
args: [('morning', 'Morning'), ('afternoon', 'Afternoon')]
dayofweek
Selection
default='0'
index=True
required=True
args: [('0', 'Monday'), ('1', 'Tuesday'), ('2', 'Wednesday'), ('3', 'Thursday'), ('4', 'Friday'), ('5', 'Saturday'), ('6', 'Sunday')], 'Day of Week'
display_type
Selection
default=False
help='Technical field for UX purpose.'
args: [('line_section', 'Section')]
hour_from
Float
help='Start and End time of working.\nA specific value of 24:00 is interpreted as 23:59:59.999999.'
index=True
required=True
string='Work from'
hour_to
Float
required=True
string='Work to'
name
Char
required=True
resource_id
Many2one → resource.resource
sequence
Integer
default=10
help='Gives the sequence of this line when displaying the resource calendar.'
two_weeks_calendar
Boolean
related='calendar_id.two_weeks_calendar'
args: 'Calendar in 2 weeks mode'
week_type
Selection
default=False
args: [('1', 'Second'), ('0', 'First')], 'Week Number'
get_week_type(self, date)
calendar_id
Many2one → resource.calendar
check_company=True
compute='_compute_calendar_id'
domain="[('company_id', 'in', [company_id, False])]"
index=True
readonly=False
store=True
args: 'resource.calendar', 'Working Hours'
company_id
Many2one → res.company
compute='_compute_company_id'
default=<expr>
readonly=True
store=True
string='Company'
args: 'res.company'
date_from
Datetime
required=True
args: 'Start Date'
date_to
Datetime
required=True
args: 'End Date'
name
Char
resource_id
Many2one → resource.resource
help='If empty, this is a generic time off for the company. If a resource is set, the time off is only for this resource'
index=True
args: 'resource.resource', 'Resource'
time_type
Selection
default='leave'
help='Whether this should be computed as a time off or as work time (eg: formation)'
args: [('leave', 'Time Off'), ('other', 'Other')]
check_dates(self)
default_get(self, fields_list)
onchange_resource(self)
company_id
Many2one → res.company
default=<expr>
index=True
readonly=False
related='resource_id.company_id'
store=True
args: 'res.company', 'Company'
resource_calendar_id
Many2one → resource.calendar
default=<expr>
index=True
readonly=False
related='resource_id.calendar_id'
store=True
args: 'resource.calendar', 'Working Hours'
resource_id
Many2one → resource.resource
auto_join=True
index=True
ondelete='restrict'
required=True
args: 'resource.resource', 'Resource'
tz
Selection
help='This field is used in order to define in which timezone the resources will work.'
readonly=False
related='resource_id.tz'
string='Timezone'
copy_data(self, default=None)
create(self, values)
list_leaves(self, from_datetime, to_datetime, calendar=None, domain=None)
list_work_time_per_day(self, from_datetime, to_datetime, calendar=None, domain=None)
active
Boolean
default=True
help='If the active field is set to False, it will allow you to hide the resource record without removing it.'
args: 'Active'
calendar_id
Many2one → resource.calendar
default=<expr>
domain="[('company_id', '=', company_id)]"
help='Define the schedule of resource'
required=True
string='Working Time'
args: 'resource.calendar'
company_id
Many2one → res.company
default=<expr>
string='Company'
args: 'res.company'
name
Char
required=True
resource_type
Selection
default='user'
required=True
string='Type'
args: [('user', 'Human'), ('material', 'Material')]
time_efficiency
Float
default=100
help='This field is used to calculate the expected duration of a work order at this work center. For example, if a work order takes one hour and the efficiency factor is 100%, then the expected duration will be one hour. If the efficiency factor is 200%, however the expected duration will be 30 minutes.'
required=True
args: 'Efficiency Factor'
tz
Selection
default=<expr>
help='This field is used in order to define in which timezone the resources will work.'
required=True
string='Timezone'
args: _tz_get
user_id
Many2one → res.users
help='Related user name for the resource to manage its access.'
string='User'
args: 'res.users'
copy(self, default=None)
create(self, vals_list)
default_get(self, fields)
| REPOSITORY | |
|---|---|
| REPOSITORY | odoo/odoo |
| GIT | |
| GIT | https://github.com/odoo/odoo.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/odoo/odoo/tree/14.0/resource |
| VERSION | |
| VERSION | 1.1 |
| CATEGORY | |
| CATEGORY | Hidden |
| LICENSE | |
| LICENSE | LGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | |
| MAINTAINERS | |
| MAINTAINERS | |
| COMMITTERS | |
| COMMITTERS | Odoo Translation Bot, Martin Trigaux, Olivier Dony, Christophe Simonis, Xavier Morel, GitHub, Barad Mahendra, Yannick Tivisse, Jorge Pinna Puissant, Xavier-Do, Victor Feyens, alt-odoo, Lucas Lefèvre, Swapnesh Shah, Kevin Baptiste, Philippe Wauthy, MerlinGuillaume, Audric Onockx (auon), Thomas Lefebvre (thle) |
| WEBSITE | |
| WEBSITE | |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:14:28 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - base - web |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION |
Module for resource management.
===============================
A resource represent something that can be scheduled (a developer on a task or a
work center on manufacturing orders). This module manages a resource calendar
associated to every resource. It also manages the leaves of every resource.
|
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
assets_backend |
resource assets | ir.ui.view | qweb | Inherits web.assets_backend |
resource_calendar_form |
resource.calendar.form | resource.calendar | form | New |
resource_calendar_leave_form |
resource.calendar.leaves.form | resource.calendar.leaves | form | New |
resource_calendar_leave_tree |
resource.calendar.leaves.tree | resource.calendar.leaves | tree | New |
resource_resource_form |
resource.resource.form | resource.resource | form | New |
resource_resource_tree |
resource.resource.tree | resource.resource | tree | New |
view_resource_calendar |
resource.calendar.leaves.calendar | resource.calendar.leaves | calendar | New |
view_resource_calendar_attendance_form |
resource.calendar.attendance.form | resource.calendar.attendance | form | New |
view_resource_calendar_attendance_tree |
resource.calendar.attendance.tree | resource.calendar.attendance | tree | New |
view_resource_calendar_leaves_search |
resource.calendar.leaves.search | resource.calendar.leaves | search | New |
view_resource_calendar_search |
resource.calendar.search | resource.calendar | search | New |
view_resource_calendar_tree |
resource.calendar.tree | resource.calendar | tree | New |
view_resource_resource_search |
resource.resource.search | resource.resource | search | New |
resource_calendar_id
Many2one → resource.calendar
ondelete='restrict'
args: 'resource.calendar', 'Default Working Hours'
resource_calendar_ids
One2many → resource.calendar
create(self, values)
resource_calendar_id
Many2one → resource.calendar
readonly=False
related='resource_ids.calendar_id'
args: 'resource.calendar', 'Default Working Hours'
resource_ids
One2many → resource.resource
No public methods.
active
Boolean
default=True
help='If the active field is set to false, it will allow you to hide the Working Time without removing it.'
args: 'Active'
attendance_ids
One2many → resource.calendar.attendance
compute='_compute_attendance_ids'
copy=True
readonly=False
store=True
args: 'resource.calendar.attendance', 'calendar_id', 'Working Time'
company_id
Many2one → res.company
default=<expr>
args: 'res.company', 'Company'
global_leave_ids
One2many → resource.calendar.leaves
compute='_compute_global_leave_ids'
copy=True
domain=[('resource_id', '=', False)]
readonly=False
store=True
args: 'resource.calendar.leaves', 'calendar_id', 'Global Time Off'
hours_per_day
Float
default=HOURS_PER_DAY
help='Average hours per day a resource is supposed to work with this calendar.'
args: 'Average Hour per Day'
leave_ids
One2many → resource.calendar.leaves
name
Char
required=True
two_weeks_calendar
Boolean
string='Calendar in 2 weeks mode'
two_weeks_explanation
Char
compute='_compute_two_weeks_explanation'
args: 'Explanation'
tz
Selection
default=<expr>
help='This field is used in order to define in which timezone the resources will work.'
required=True
string='Timezone'
args: _tz_get
copy(self, default=None)
default_get(self, fields)
get_work_duration_data(self, from_datetime, to_datetime, compute_leaves=True, domain=None)
get_work_hours_count(self, start_dt, end_dt, compute_leaves=True, domain=None)
plan_days(self, days, day_dt, compute_leaves=False, domain=None)
plan_hours(self, hours, day_dt, compute_leaves=False, domain=None, resource=None)
switch_calendar_type(self)
calendar_id
Many2one → resource.calendar
ondelete='cascade'
required=True
string="Resource's Calendar"
args: 'resource.calendar'
date_from
Date
string='Starting Date'
date_to
Date
string='End Date'
day_period
Selection
default='morning'
required=True
args: [('morning', 'Morning'), ('afternoon', 'Afternoon')]
dayofweek
Selection
default='0'
index=True
required=True
args: [('0', 'Monday'), ('1', 'Tuesday'), ('2', 'Wednesday'), ('3', 'Thursday'), ('4', 'Friday'), ('5', 'Saturday'), ('6', 'Sunday')], 'Day of Week'
display_type
Selection
default=False
help='Technical field for UX purpose.'
args: [('line_section', 'Section')]
hour_from
Float
help='Start and End time of working.\nA specific value of 24:00 is interpreted as 23:59:59.999999.'
index=True
required=True
string='Work from'
hour_to
Float
required=True
string='Work to'
name
Char
required=True
resource_id
Many2one → resource.resource
sequence
Integer
default=10
help='Gives the sequence of this line when displaying the resource calendar.'
two_weeks_calendar
Boolean
related='calendar_id.two_weeks_calendar'
args: 'Calendar in 2 weeks mode'
week_type
Selection
default=False
args: [('1', 'Odd week'), ('0', 'Even week')], 'Week Even/Odd'
No public methods.
calendar_id
Many2one → resource.calendar
index=True
args: 'resource.calendar', 'Working Hours'
company_id
Many2one → res.company
readonly=True
related='calendar_id.company_id'
store=True
string='Company'
args: 'res.company'
date_from
Datetime
required=True
args: 'Start Date'
date_to
Datetime
required=True
args: 'End Date'
name
Char
resource_id
Many2one → resource.resource
help='If empty, this is a generic time off for the company. If a resource is set, the time off is only for this resource'
index=True
args: 'resource.resource', 'Resource'
time_type
Selection
default='leave'
help='Whether this should be computed as a time off or as work time (eg: formation)'
args: [('leave', 'Time Off'), ('other', 'Other')]
check_dates(self)
onchange_resource(self)
company_id
Many2one → res.company
default=<expr>
index=True
readonly=False
related='resource_id.company_id'
store=True
args: 'res.company', 'Company'
resource_calendar_id
Many2one → resource.calendar
default=<expr>
index=True
readonly=False
related='resource_id.calendar_id'
store=True
args: 'resource.calendar', 'Working Hours'
resource_id
Many2one → resource.resource
auto_join=True
index=True
ondelete='restrict'
required=True
args: 'resource.resource', 'Resource'
tz
Selection
help='This field is used in order to define in which timezone the resources will work.'
readonly=False
related='resource_id.tz'
string='Timezone'
copy_data(self, default=None)
create(self, values)
list_leaves(self, from_datetime, to_datetime, calendar=None, domain=None)
list_work_time_per_day(self, from_datetime, to_datetime, calendar=None, domain=None)
active
Boolean
default=True
help='If the active field is set to False, it will allow you to hide the resource record without removing it.'
args: 'Active'
calendar_id
Many2one → resource.calendar
default=<expr>
help='Define the schedule of resource'
required=True
string='Working Time'
args: 'resource.calendar'
company_id
Many2one → res.company
default=<expr>
string='Company'
args: 'res.company'
name
Char
required=True
resource_type
Selection
default='user'
required=True
string='Resource Type'
args: [('user', 'Human'), ('material', 'Material')]
time_efficiency
Float
default=100
help='This field is used to calculate the expected duration of a work order at this work center. For example, if a work order takes one hour and the efficiency factor is 100%, then the expected duration will be one hour. If the efficiency factor is 200%, however the expected duration will be 30 minutes.'
required=True
args: 'Efficiency Factor'
tz
Selection
default=<expr>
help='This field is used in order to define in which timezone the resources will work.'
required=True
string='Timezone'
args: _tz_get
user_id
Many2one → res.users
help='Related user name for the resource to manage its access.'
string='User'
args: 'res.users'
copy(self, default=None)
create(self, vals_list)
default_get(self, fields)
| REPOSITORY | |
|---|---|
| REPOSITORY | odoo/odoo |
| GIT | |
| GIT | https://github.com/odoo/odoo.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/odoo/odoo/tree/13.0/resource |
| VERSION | |
| VERSION | 1.1 |
| CATEGORY | |
| CATEGORY | Hidden |
| LICENSE | |
| LICENSE | LGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | |
| MAINTAINERS | |
| MAINTAINERS | |
| COMMITTERS | |
| COMMITTERS | Odoo Translation Bot, Martin Trigaux, Thibault Delavallée, Denis Ledoux, Christophe Simonis, Xavier Morel, Mohammed Shekha, GitHub, Yannick Tivisse, Jigar Patel, jem-odoo, Jorge Pinna Puissant, Adrian Torres, Xavier-Do, William Henrotin, Sébastien Theys, alt-odoo, Lucas Lefèvre, Geoffroy Larue |
| WEBSITE | |
| WEBSITE | |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:06:41 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - base - web |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION |
Module for resource management.
===============================
A resource represent something that can be scheduled (a developer on a task or a
work center on manufacturing orders). This module manages a resource calendar
associated to every resource. It also manages the leaves of every resource.
|
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
assets_backend |
resource assets | ir.ui.view | qweb | Inherits web.assets_backend |
resource_calendar_form |
resource.calendar.form | resource.calendar | form | New |
resource_calendar_leave_form |
resource.calendar.leaves.form | resource.calendar.leaves | form | New |
resource_calendar_leave_tree |
resource.calendar.leaves.tree | resource.calendar.leaves | tree | New |
resource_resource_form |
resource.resource.form | resource.resource | form | New |
resource_resource_tree |
resource.resource.tree | resource.resource | tree | New |
view_resource_calendar |
resource.calendar.leaves.calendar | resource.calendar.leaves | calendar | New |
view_resource_calendar_attendance_form |
resource.calendar.attendance.form | resource.calendar.attendance | form | New |
view_resource_calendar_attendance_tree |
resource.calendar.attendance.tree | resource.calendar.attendance | tree | New |
view_resource_calendar_leaves_search |
resource.calendar.leaves.search | resource.calendar.leaves | search | New |
view_resource_calendar_search |
resource.calendar.search | resource.calendar | search | New |
view_resource_calendar_tree |
resource.calendar.tree | resource.calendar | tree | New |
view_resource_resource_search |
resource.resource.search | resource.resource | search | New |
resource_calendar_id
Many2one → resource.calendar
ondelete='restrict'
args: 'resource.calendar', 'Default Working Hours'
resource_calendar_ids
One2many → resource.calendar
create(self, values)
resource_calendar_id
Many2one → resource.calendar
readonly=False
related='resource_ids.calendar_id'
args: 'resource.calendar', 'Default Working Hours'
resource_ids
One2many → resource.resource
No public methods.
attendance_ids
One2many → resource.calendar.attendance
copy=True
args: 'resource.calendar.attendance', 'calendar_id', 'Working Time'
company_id
Many2one → res.company
default=<expr>
args: 'res.company', 'Company'
global_leave_ids
One2many → resource.calendar.leaves
copy=True
domain=[('resource_id', '=', False)]
args: 'resource.calendar.leaves', 'calendar_id', 'Global Time Off'
hours_per_day
Float
default=HOURS_PER_DAY
help='Average hours per day a resource is supposed to work with this calendar.'
args: 'Average Hour per Day'
leave_ids
One2many → resource.calendar.leaves
name
Char
required=True
two_weeks_calendar
Boolean
string='Calendar in 2 weeks mode'
two_weeks_explanation
Char
compute='_compute_two_weeks_explanation'
args: 'Explanation'
tz
Selection
default=<expr>
help='This field is used in order to define in which timezone the resources will work.'
required=True
string='Timezone'
args: _tz_get
copy(self, default=None)
default_get(self, fields)
get_work_duration_data(self, from_datetime, to_datetime, compute_leaves=True, domain=None)
get_work_hours_count(self, start_dt, end_dt, compute_leaves=True, domain=None)
plan_days(self, days, day_dt, compute_leaves=False, domain=None)
plan_hours(self, hours, day_dt, compute_leaves=False, domain=None, resource=None)
switch_calendar_type(self)
calendar_id
Many2one → resource.calendar
ondelete='cascade'
required=True
string="Resource's Calendar"
args: 'resource.calendar'
date_from
Date
string='Starting Date'
date_to
Date
string='End Date'
day_period
Selection
default='morning'
required=True
args: [('morning', 'Morning'), ('afternoon', 'Afternoon')]
dayofweek
Selection
default='0'
index=True
required=True
args: [('0', 'Monday'), ('1', 'Tuesday'), ('2', 'Wednesday'), ('3', 'Thursday'), ('4', 'Friday'), ('5', 'Saturday'), ('6', 'Sunday')], 'Day of Week'
display_type
Selection
default=False
help='Technical field for UX purpose.'
args: [('line_section', 'Section')]
hour_from
Float
help='Start and End time of working.\nA specific value of 24:00 is interpreted as 23:59:59.999999.'
index=True
required=True
string='Work from'
hour_to
Float
required=True
string='Work to'
name
Char
required=True
resource_id
Many2one → resource.resource
sequence
Integer
default=10
help='Gives the sequence of this line when displaying the resource calendar.'
two_weeks_calendar
Boolean
related='calendar_id.two_weeks_calendar'
args: 'Calendar in 2 weeks mode'
week_type
Selection
default=False
args: [('1', 'Odd week'), ('0', 'Even week')], 'Week Even/Odd'
No public methods.
calendar_id
Many2one → resource.calendar
company_id
Many2one → res.company
readonly=True
related='calendar_id.company_id'
store=True
string='Company'
args: 'res.company'
date_from
Datetime
required=True
args: 'Start Date'
date_to
Datetime
required=True
args: 'End Date'
name
Char
resource_id
Many2one → resource.resource
help='If empty, this is a generic time off for the company. If a resource is set, the time off is only for this resource'
args: 'resource.resource', 'Resource'
time_type
Selection
default='leave'
help='Whether this should be computed as a time off or as work time (eg: formation)'
args: [('leave', 'Time Off'), ('other', 'Other')]
check_dates(self)
onchange_resource(self)
company_id
Many2one → res.company
default=<expr>
index=True
readonly=False
related='resource_id.company_id'
store=True
args: 'res.company', 'Company'
resource_calendar_id
Many2one → resource.calendar
default=<expr>
index=True
readonly=False
related='resource_id.calendar_id'
store=True
args: 'resource.calendar', 'Working Hours'
resource_id
Many2one → resource.resource
auto_join=True
index=True
ondelete='restrict'
required=True
args: 'resource.resource', 'Resource'
tz
Selection
help='This field is used in order to define in which timezone the resources will work.'
readonly=False
related='resource_id.tz'
string='Timezone'
copy_data(self, default=None)
create(self, values)
list_leaves(self, from_datetime, to_datetime, calendar=None, domain=None)
list_work_time_per_day(self, from_datetime, to_datetime, calendar=None, domain=None)
active
Boolean
default=True
help='If the active field is set to False, it will allow you to hide the resource record without removing it.'
tracking=True
args: 'Active'
calendar_id
Many2one → resource.calendar
default=<expr>
help='Define the schedule of resource'
required=True
string='Working Time'
args: 'resource.calendar'
company_id
Many2one → res.company
default=<expr>
string='Company'
args: 'res.company'
name
Char
required=True
resource_type
Selection
default='user'
required=True
string='Resource Type'
args: [('user', 'Human'), ('material', 'Material')]
time_efficiency
Float
default=100
help='This field is used to calculate the the expected duration of a work order at this work center. For example, if a work order takes one hour and the efficiency factor is 100%, then the expected duration will be one hour. If the efficiency factor is 200%, however the expected duration will be 30 minutes.'
required=True
args: 'Efficiency Factor'
tz
Selection
default=<expr>
help='This field is used in order to define in which timezone the resources will work.'
required=True
string='Timezone'
args: _tz_get
user_id
Many2one → res.users
help='Related user name for the resource to manage its access.'
string='User'
args: 'res.users'
copy(self, default=None)
create(self, vals_list)
default_get(self, fields)
| REPOSITORY | |
|---|---|
| REPOSITORY | odoo/odoo |
| GIT | |
| GIT | https://github.com/odoo/odoo.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/odoo/odoo/tree/12.0/resource |
| VERSION | |
| VERSION | 1.1 |
| CATEGORY | |
| CATEGORY | Hidden |
| LICENSE | |
| LICENSE | LGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | |
| MAINTAINERS | |
| MAINTAINERS | |
| COMMITTERS | |
| COMMITTERS | Raphael Collet, Odoo Translation Bot, Martin Trigaux, Thibault Delavallée, Christophe Simonis, qdp-odoo, Géry Debongnie, GitHub, Yannick Tivisse, Alexandre Kühn, Pierre Masereel, jem-odoo, RomainLibert, Nans Lefebvre, Adrian Torres, Xavier-Do, Loan (lse), William Henrotin |
| WEBSITE | |
| WEBSITE | |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-05 23:57:00 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - base |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION |
Module for resource management.
===============================
A resource represent something that can be scheduled (a developer on a task or a
work center on manufacturing orders). This module manages a resource calendar
associated to every resource. It also manages the leaves of every resource.
|
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
resource_calendar_form |
resource.calendar.form | resource.calendar | form | New |
resource_calendar_leave_form |
resource.calendar.leaves.form | resource.calendar.leaves | form | New |
resource_calendar_leave_tree |
resource.calendar.leaves.tree | resource.calendar.leaves | tree | New |
resource_resource_form |
resource.resource.form | resource.resource | form | New |
resource_resource_tree |
resource.resource.tree | resource.resource | tree | New |
view_resource_calendar |
resource.calendar.leaves.calendar | resource.calendar.leaves | calendar | New |
view_resource_calendar_attendance_form |
resource.calendar.attendance.form | resource.calendar.attendance | form | New |
view_resource_calendar_attendance_tree |
resource.calendar.attendance.tree | resource.calendar.attendance | tree | New |
view_resource_calendar_leaves_search |
resource.calendar.leaves.search | resource.calendar.leaves | search | New |
view_resource_calendar_search |
resource.calendar.search | resource.calendar | search | New |
view_resource_calendar_tree |
resource.calendar.tree | resource.calendar | tree | New |
view_resource_resource_search |
resource.resource.search | resource.resource | search | New |
resource_calendar_id
Many2one → resource.calendar
ondelete='restrict'
args: 'resource.calendar', 'Default Working Hours'
resource_calendar_ids
One2many → resource.calendar
create(self, values)
resource_calendar_id
Many2one → resource.calendar
readonly=False
related='resource_ids.calendar_id'
args: 'resource.calendar', 'Default Working Hours'
resource_ids
One2many → resource.resource
No public methods.
attendance_ids
One2many → resource.calendar.attendance
copy=True
default=_get_default_attendance_ids
args: 'resource.calendar.attendance', 'calendar_id', 'Working Time'
company_id
Many2one → res.company
default=<expr>
args: 'res.company', 'Company'
global_leave_ids
One2many → resource.calendar.leaves
domain=[('resource_id', '=', False)]
args: 'resource.calendar.leaves', 'calendar_id', 'Global Leaves'
hours_per_day
Float
default=HOURS_PER_DAY
help='Average hours per day a resource is supposed to work with this calendar.'
args: 'Average hour per day'
leave_ids
One2many → resource.calendar.leaves
name
Char
required=True
tz
Selection
default=<expr>
help='This field is used in order to define in which timezone the resources will work.'
required=True
string='Timezone'
args: _tz_get
default_get(self, fields)
get_work_hours_count(self, start_dt, end_dt, compute_leaves=True, domain=None)
plan_days(self, days, day_dt, compute_leaves=False, domain=None)
plan_hours(self, hours, day_dt, compute_leaves=False, domain=None, resource=None)
calendar_id
Many2one → resource.calendar
ondelete='cascade'
required=True
string="Resource's Calendar"
args: 'resource.calendar'
date_from
Date
string='Starting Date'
date_to
Date
string='End Date'
day_period
Selection
default='morning'
required=True
args: [('morning', 'Morning'), ('afternoon', 'Afternoon')]
dayofweek
Selection
default='0'
index=True
required=True
args: [('0', 'Monday'), ('1', 'Tuesday'), ('2', 'Wednesday'), ('3', 'Thursday'), ('4', 'Friday'), ('5', 'Saturday'), ('6', 'Sunday')], 'Day of Week'
hour_from
Float
help='Start and End time of working.\nA specific value of 24:00 is interpreted as 23:59:59.999999.'
index=True
required=True
string='Work from'
hour_to
Float
required=True
string='Work to'
name
Char
required=True
No public methods.
calendar_id
Many2one → resource.calendar
company_id
Many2one → res.company
readonly=True
related='calendar_id.company_id'
store=True
string='Company'
args: 'res.company'
date_from
Datetime
required=True
args: 'Start Date'
date_to
Datetime
required=True
args: 'End Date'
name
Char
resource_id
Many2one → resource.resource
help='If empty, this is a generic holiday for the company. If a resource is set, the holiday/leave is only for this resource'
args: 'resource.resource', 'Resource'
time_type
Selection
default='leave'
help='Whether this should be computed as a holiday or as work time (eg: formation)'
args: [('leave', 'Leave'), ('other', 'Other')]
check_dates(self)
onchange_resource(self)
company_id
Many2one → res.company
default=<expr>
index=True
readonly=False
related='resource_id.company_id'
store=True
args: 'res.company', 'Company'
resource_calendar_id
Many2one → resource.calendar
default=<expr>
index=True
readonly=False
related='resource_id.calendar_id'
store=True
args: 'resource.calendar', 'Working Hours'
resource_id
Many2one → resource.resource
auto_join=True
index=True
ondelete='restrict'
required=True
args: 'resource.resource', 'Resource'
tz
Selection
help='This field is used in order to define in which timezone the resources will work.'
readonly=False
related='resource_id.tz'
string='Timezone'
copy_data(self, default=None)
create(self, values)
get_leave_days_data(self, from_datetime, to_datetime, calendar=None, domain=None)
get_work_days_data(self, from_datetime, to_datetime, compute_leaves=True, calendar=None, domain=None)
list_leaves(self, from_datetime, to_datetime, calendar=None, domain=None)
list_work_time_per_day(self, from_datetime, to_datetime, calendar=None, domain=None)
active
Boolean
default=True
help='If the active field is set to False, it will allow you to hide the resource record without removing it.'
track_visibility='onchange'
args: 'Active'
calendar_id
Many2one → resource.calendar
default=<expr>
help='Define the schedule of resource'
required=True
string='Working Time'
args: 'resource.calendar'
company_id
Many2one → res.company
default=<expr>
string='Company'
args: 'res.company'
name
Char
required=True
resource_type
Selection
default='user'
required=True
string='Resource Type'
args: [('user', 'Human'), ('material', 'Material')]
time_efficiency
Float
default=100
help='This field is used to calculate the the expected duration of a work order at this work center. For example, if a work order takes one hour and the efficiency factor is 100%, then the expected duration will be one hour. If the efficiency factor is 200%, however the expected duration will be 30 minutes.'
required=True
args: 'Efficiency Factor'
tz
Selection
default=<expr>
help='This field is used in order to define in which timezone the resources will work.'
required=True
string='Timezone'
args: _tz_get
user_id
Many2one → res.users
help='Related user name for the resource to manage its access.'
string='User'
args: 'res.users'
copy(self, default=None)
create(self, values)
default_get(self, fields)
| REPOSITORY | |
|---|---|
| REPOSITORY | odoo/odoo |
| GIT | |
| GIT | https://github.com/odoo/odoo.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/odoo/odoo/tree/11.0/resource |
| VERSION | |
| VERSION | 1.1 |
| CATEGORY | |
| CATEGORY | Hidden |
| LICENSE | |
| LICENSE | LGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | |
| MAINTAINERS | |
| MAINTAINERS | |
| COMMITTERS | |
| COMMITTERS | Odoo Translation Bot, Martin Trigaux, Olivier Dony, Thibault Delavallée, Christophe Simonis, Xavier Morel, Goffin Simon, Nicolas Martinelli, Richard Mathot, qdp-odoo, Aaron Bohy, GitHub, Yannick Tivisse, Odoo Online, jem-odoo, RomainLibert |
| WEBSITE | |
| WEBSITE | |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-05 23:53:42 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - base |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION |
Module for resource management.
===============================
A resource represent something that can be scheduled (a developer on a task or a
work center on manufacturing orders). This module manages a resource calendar
associated to every resource. It also manages the leaves of every resource.
|
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
resource_calendar_form |
resource.calendar.form | resource.calendar | form | New |
resource_calendar_leave_form |
resource.calendar.leaves.form | resource.calendar.leaves | form | New |
resource_calendar_leave_tree |
resource.calendar.leaves.tree | resource.calendar.leaves | tree | New |
resource_resource_form |
resource.resource.form | resource.resource | form | New |
resource_resource_tree |
resource.resource.tree | resource.resource | tree | New |
view_resource_calendar |
resource.calendar.leaves.calendar | resource.calendar.leaves | calendar | New |
view_resource_calendar_attendance_form |
resource.calendar.attendance.form | resource.calendar.attendance | form | New |
view_resource_calendar_attendance_tree |
resource.calendar.attendance.tree | resource.calendar.attendance | tree | New |
view_resource_calendar_leaves_search |
resource.calendar.leaves.search | resource.calendar.leaves | search | New |
view_resource_calendar_search |
resource.calendar.search | resource.calendar | search | New |
view_resource_calendar_tree |
resource.calendar.tree | resource.calendar | tree | New |
view_resource_resource_search |
resource.resource.search | resource.resource | search | New |
resource_calendar_id
Many2one → resource.calendar
ondelete='restrict'
args: 'resource.calendar', 'Default Working Hours'
resource_calendar_ids
One2many → resource.calendar
create(self, values)
resource_calendar_id
Many2one → resource.calendar
related='resource_ids.calendar_id'
args: 'resource.calendar', 'Default Working Hours'
resource_ids
One2many → resource.resource
No public methods.
attendance_ids
One2many → resource.calendar.attendance
copy=True
default=_get_default_attendance_ids
args: 'resource.calendar.attendance', 'calendar_id', 'Working Time'
company_id
Many2one → res.company
default=<expr>
args: 'res.company', 'Company'
global_leave_ids
One2many → resource.calendar.leaves
domain=[('resource_id', '=', False)]
args: 'resource.calendar.leaves', 'calendar_id', 'Global Leaves'
leave_ids
One2many → resource.calendar.leaves
name
Char
required=True
default_get(self, fields)
get_work_hours_count(self, start_dt, end_dt, resource_id, compute_leaves=True)
plan_days(self, days, day_dt, compute_leaves=False, resource_id=None)
plan_hours(self, hours, day_dt, compute_leaves=False, resource_id=None)
calendar_id
Many2one → resource.calendar
ondelete='cascade'
required=True
string="Resource's Calendar"
args: 'resource.calendar'
date_from
Date
string='Starting Date'
date_to
Date
string='End Date'
dayofweek
Selection
default='0'
index=True
required=True
args: [('0', 'Monday'), ('1', 'Tuesday'), ('2', 'Wednesday'), ('3', 'Thursday'), ('4', 'Friday'), ('5', 'Saturday'), ('6', 'Sunday')], 'Day of Week'
hour_from
Float
help='Start and End time of working.\nA specific value of 24:00 is interpreted as 23:59:59.999999.'
index=True
required=True
string='Work from'
hour_to
Float
required=True
string='Work to'
name
Char
required=True
No public methods.
calendar_id
Many2one → resource.calendar
company_id
Many2one → res.company
readonly=True
related='calendar_id.company_id'
store=True
string='Company'
args: 'res.company'
date_from
Datetime
required=True
args: 'Start Date'
date_to
Datetime
required=True
args: 'End Date'
name
Char
resource_id
Many2one → resource.resource
help='If empty, this is a generic holiday for the company. If a resource is set, the holiday/leave is only for this resource'
args: 'resource.resource', 'Resource'
tz
Selection
default=<expr>
help='Timezone used when encoding the leave. It is used to correctly localize leave hours when computing time intervals.'
string='Timezone'
args: _tz_get
check_dates(self)
onchange_resource(self)
company_id
Many2one → res.company
default=<expr>
index=True
related='resource_id.company_id'
store=True
args: 'res.company', 'Company'
resource_calendar_id
Many2one → resource.calendar
default=<expr>
index=True
related='resource_id.calendar_id'
args: 'resource.calendar', 'Working Hours'
resource_id
Many2one → resource.resource
auto_join=True
index=True
ondelete='restrict'
required=True
args: 'resource.resource', 'Resource'
copy_data(self, default=None)
create(self, values)
get_day_work_hours_count(self, day_date, calendar=None)
get_end_work_hour(self, day_dt, calendar=None)
get_leaves_day_count(self, from_datetime, to_datetime, calendar=None)
get_start_work_hour(self, day_dt, calendar=None)
get_work_days_count(self, from_datetime, to_datetime, calendar=None)
get_work_days_data(self, from_datetime, to_datetime, calendar=None)
iter_leaves(self, from_datetime, to_datetime, calendar=None)
iter_work_hours_count(self, from_datetime, to_datetime, calendar=None)
iter_works(self, from_datetime, to_datetime, calendar=None)
active
Boolean
default=True
help='If the active field is set to False, it will allow you to hide the resource record without removing it.'
track_visibility='onchange'
args: 'Active'
calendar_id
Many2one → resource.calendar
default=<expr>
help='Define the schedule of resource'
required=True
string='Working Time'
args: 'resource.calendar'
company_id
Many2one → res.company
default=<expr>
string='Company'
args: 'res.company'
name
Char
required=True
resource_type
Selection
default='user'
required=True
string='Resource Type'
args: [('user', 'Human'), ('material', 'Material')]
time_efficiency
Float
default=100
help='This field is used to calculate the the expected duration of a work order at this work center. For example, if a work order takes one hour and the efficiency factor is 100%, then the expected duration will be one hour. If the efficiency factor is 200%, however the expected duration will be 30 minutes.'
required=True
args: 'Efficiency Factor'
user_id
Many2one → res.users
help='Related user name for the resource to manage its access.'
string='User'
args: 'res.users'
copy(self, default=None)
create(self, values)
default_get(self, fields)
| REPOSITORY | |
|---|---|
| REPOSITORY | odoo/odoo |
| GIT | |
| GIT | https://github.com/odoo/odoo.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/odoo/odoo/tree/10.0/resource |
| VERSION | |
| VERSION | 1.1 |
| CATEGORY | |
| CATEGORY | Hidden |
| LICENSE | |
| LICENSE | LGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | |
| MAINTAINERS | |
| MAINTAINERS | |
| COMMITTERS | |
| COMMITTERS | Raphael Collet, Odoo Translation Bot, Martin Trigaux, Olivier Dony, Thibault Delavallée, Denis Ledoux, Christophe Simonis, Xavier Morel, Nicolas Martinelli, Julien Legros, qdp-odoo, Yannick Tivisse |
| WEBSITE | |
| WEBSITE | |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-05 23:50:47 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - base |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION |
Module for resource management.
===============================
A resource represent something that can be scheduled (a developer on a task or a
work center on manufacturing orders). This module manages a resource calendar
associated to every resource. It also manages the leaves of every resource.
|
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
resource_calendar_form |
resource.calendar.form | resource.calendar | form | New |
resource_calendar_leave_form |
resource.calendar.leaves.form | resource.calendar.leaves | form | New |
resource_calendar_leave_tree |
resource.calendar.leaves.tree | resource.calendar.leaves | tree | New |
resource_resource_form |
resource.resource.form | resource.resource | form | New |
resource_resource_tree |
resource.resource.tree | resource.resource | tree | New |
view_resource_calendar |
resource.calendar.leaves.calendar | resource.calendar.leaves | calendar | New |
view_resource_calendar_attendance_form |
resource.calendar.attendance.form | resource.calendar.attendance | form | New |
view_resource_calendar_attendance_tree |
resource.calendar.attendance.tree | resource.calendar.attendance | tree | New |
view_resource_calendar_leaves_search |
resource.calendar.leaves.search | resource.calendar.leaves | search | New |
view_resource_calendar_search |
resource.calendar.search | resource.calendar | search | New |
view_resource_calendar_tree |
resource.calendar.tree | resource.calendar | tree | New |
view_resource_resource_search |
resource.resource.search | resource.resource | search | New |
attendance_ids
One2many → resource.calendar.attendance
copy=True
string='Working Time'
args: 'resource.calendar.attendance', 'calendar_id'
company_id
Many2one → res.company
default=<expr>
string='Company'
args: 'res.company'
leave_ids
One2many → resource.calendar.leaves
string='Leaves'
args: 'resource.calendar.leaves', 'calendar_id'
manager
Many2one → res.users
default=<expr>
string='Workgroup Manager'
args: 'res.users'
name
Char
required=True
get_attendances_for_weekday(self, day_dt)
get_leave_intervals(self, resource_id=None, start_datetime=None, end_datetime=None)
get_next_day(self, day_date)
get_previous_day(self, day_date)
get_weekdays(self, default_weekdays=None)
get_working_hours(self, start_dt, end_dt, compute_leaves=False, resource_id=None, default_interval=None)
get_working_hours_of_date(self, start_dt=None, end_dt=None, leaves=None, compute_leaves=False, resource_id=None, default_interval=None)
get_working_intervals_of_day(self, start_dt=None, end_dt=None, leaves=None, compute_leaves=False, resource_id=None, default_interval=None)
interval_clean(self, intervals)
interval_get(self, dt_from, hours, resource=False, byday=True)
interval_get_multi(self, date_and_hours_by_cal, resource=False, byday=True)
interval_hours_get(self, dt_from, dt_to, resource=False)
interval_min_get(self, dt_from, hours, resource=False)
interval_remove_leaves(self, interval, leave_intervals)
interval_schedule_hours(self, intervals, hour, remove_at_end=True)
schedule_days(self, days, day_date=None, compute_leaves=False, resource_id=None, default_interval=None)
schedule_days_get_date(self, days, day_date=None, compute_leaves=False, resource_id=None, default_interval=None)
schedule_hours(self, hours, day_dt=None, compute_leaves=False, resource_id=None, default_interval=None)
schedule_hours_get_date(self, hours, day_dt=None, compute_leaves=False, resource_id=None, default_interval=None)
working_hours_on_day(self, day)
calendar_id
Many2one → resource.calendar
ondelete='cascade'
required=True
string="Resource's Calendar"
args: 'resource.calendar'
date_from
Date
string='Starting Date'
date_to
Date
string='End Date'
dayofweek
Selection
default='0'
index=True
required=True
args: [('0', 'Monday'), ('1', 'Tuesday'), ('2', 'Wednesday'), ('3', 'Thursday'), ('4', 'Friday'), ('5', 'Saturday'), ('6', 'Sunday')], 'Day of Week'
hour_from
Float
help='Start and End time of working.'
index=True
required=True
string='Work from'
hour_to
Float
required=True
string='Work to'
name
Char
required=True
No public methods.
calendar_id
Many2one → resource.calendar
string='Working Time'
args: 'resource.calendar'
company_id
Many2one → res.company
readonly=True
related='calendar_id.company_id'
store=True
string='Company'
args: 'res.company'
date_from
Datetime
required=True
string='Start Date'
date_to
Datetime
required=True
string='End Date'
name
Char
resource_id
Many2one → resource.resource
help='If empty, this is a generic holiday for the company. If a resource is set, the holiday/leave is only for this resource'
string='Resource'
args: 'resource.resource'
check_dates(self)
onchange_resource(self)
active
Boolean
default=True
help='If the active field is set to False, it will allow you to hide the resource record without removing it.'
track_visibility='onchange'
calendar_id
Many2one → resource.calendar
help='Define the schedule of resource'
string='Working Time'
args: 'resource.calendar'
code
Char
copy=False
company_id
Many2one → res.company
default=<expr>
string='Company'
args: 'res.company'
name
Char
required=True
resource_type
Selection
default='user'
required=True
string='Resource Type'
args: [('user', 'Human'), ('material', 'Material')]
time_efficiency
Float
default=100
help='This field depict the efficiency of the resource to complete tasks. e.g resource put alone on a phase of 5 days with 5 tasks assigned to him, will show a load of 100% for this phase by default, but if we put a efficiency of 200%, then his load will only be 50%.'
required=True
string='Efficiency Factor'
user_id
Many2one → res.users
help='Related user name for the resource to manage its access.'
string='User'
args: 'res.users'
copy(self, default=None)
| REPOSITORY | |
|---|---|
| REPOSITORY | odoo/odoo |
| GIT | |
| GIT | https://github.com/odoo/odoo.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/odoo/odoo/tree/9.0/resource |
| VERSION | |
| VERSION | 1.1 |
| CATEGORY | |
| CATEGORY | Hidden |
| LICENSE | |
| LICENSE | LGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | |
| MAINTAINERS | |
| MAINTAINERS | |
| COMMITTERS | |
| COMMITTERS | Raphael Collet, Odoo Translation Bot, Martin Trigaux, Fabien Pinckaers, Olivier Dony, Thibault Delavallée, Josse Colpaert, Denis Ledoux, Christophe Simonis, Richard Mathot, Aaron Bohy, Yannick Tivisse |
| WEBSITE | |
| WEBSITE | http://www.openerp.com |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-05 23:48:30 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - base |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION |
Module for resource management.
===============================
A resource represent something that can be scheduled (a developer on a task or a
work center on manufacturing orders). This module manages a resource calendar
associated to every resource. It also manages the leaves of every resource.
|
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
resource_calendar_form |
resource.calendar.form | resource.calendar | form | New |
resource_calendar_leave_form |
resource.calendar.leaves.form | resource.calendar.leaves | form | New |
resource_calendar_leave_tree |
resource.calendar.leaves.tree | resource.calendar.leaves | tree | New |
resource_resource_form |
resource.resource.form | resource.resource | form | New |
resource_resource_tree |
resource.resource.tree | resource.resource | tree | New |
view_resource_calendar |
resource.calendar.leaves.calendar | resource.calendar.leaves | calendar | New |
view_resource_calendar_attendance_form |
resource.calendar.attendance.form | resource.calendar.attendance | form | New |
view_resource_calendar_attendance_tree |
resource.calendar.attendance.tree | resource.calendar.attendance | tree | New |
view_resource_calendar_leaves_search |
resource.calendar.leaves.search | resource.calendar.leaves | search | New |
view_resource_calendar_search |
resource.calendar.search | resource.calendar | search | New |
view_resource_calendar_tree |
resource.calendar.tree | resource.calendar | tree | New |
view_resource_resource_search |
resource.resource.search | resource.resource | search | New |
No models found for this module.
| REPOSITORY | |
|---|---|
| REPOSITORY | odoo/odoo |
| GIT | |
| GIT | https://github.com/odoo/odoo.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/odoo/odoo/tree/8.0/resource |
| VERSION | |
| VERSION | 1.1 |
| CATEGORY | |
| CATEGORY | Hidden/Dependency |
| LICENSE | |
| LICENSE | LGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | OpenERP SA |
| MAINTAINERS | |
| MAINTAINERS | OpenERP SA |
| COMMITTERS | |
| COMMITTERS | Odoo Translation Bot, Martin Trigaux, Antony Lesuisse, Olivier Dony, Thibault Delavallée, Vo Minh Thu, Josse Colpaert, Launchpad Translations on behalf of openerp, Quentin (OpenERP), Denis Ledoux, Fabien Meghazi, Christophe Simonis, Xavier Morel, Goffin Simon, Richard Mathot, Géry Debongnie, Holger Brunn, Aaron Bohy, Richard Mathot (OpenERP), ged-odoo, sgo@tinyerp.com, Darshan Kalola (OpenERP), Darshan Kalola, Rakesh Sindhav (OpenERP), Olivier Colson |
| WEBSITE | |
| WEBSITE | http://www.openerp.com |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-05 23:45:38 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - base |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION |
Module for resource management.
===============================
A resource represent something that can be scheduled (a developer on a task or a
work center on manufacturing orders). This module manages a resource calendar
associated to every resource. It also manages the leaves of every resource.
|
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
resource_calendar_form |
resource.calendar.form | resource.calendar | form | New |
resource_calendar_leave_form |
resource.calendar.leaves.form | resource.calendar.leaves | form | New |
resource_calendar_leave_tree |
resource.calendar.leaves.tree | resource.calendar.leaves | tree | New |
resource_resource_form |
resource.resource.form | resource.resource | form | New |
resource_resource_tree |
resource.resource.tree | resource.resource | tree | New |
view_resource_calendar |
resource.calendar.leaves.calendar | resource.calendar.leaves | calendar | New |
view_resource_calendar_attendance_form |
resource.calendar.attendance.form | resource.calendar.attendance | form | New |
view_resource_calendar_attendance_tree |
resource.calendar.attendance.tree | resource.calendar.attendance | tree | New |
view_resource_calendar_leaves_search |
resource.calendar.leaves.search | resource.calendar.leaves | search | New |
view_resource_calendar_search |
resource.calendar.search | resource.calendar | search | New |
view_resource_calendar_tree |
resource.calendar.tree | resource.calendar | tree | New |
view_resource_resource_search |
resource.resource.search | resource.resource | search | New |
No models found for this module.
| REPOSITORY | |
|---|---|
| REPOSITORY | odoo/odoo |
| GIT | |
| GIT | https://github.com/odoo/odoo.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/odoo/odoo/tree/7.0/resource |
| VERSION | |
| VERSION | 1.1 |
| CATEGORY | |
| CATEGORY | Hidden/Dependency |
| LICENSE | |
| LICENSE | LGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | OpenERP SA |
| MAINTAINERS | |
| MAINTAINERS | OpenERP SA |
| COMMITTERS | |
| COMMITTERS | Raphael Collet, Twinkle Christian (OpenERP), Cecile Tonglet, Atul Patel (OpenERP), Jalpesh Patel (OpenERP), Stephane Wirtel, Odoo Translation Bot, Turkesh Patel (Open ERP), Numerigraphe - Lionel Sausin, Antonin Bourguignon, Martin Trigaux, Ajay Chauhan (OpenERP), Purnendu Singh (OpenERP), Fabien Pinckaers, Bharat Devnani (OpenERP), Olivier Dony, Rajesh Prajapati (OpenERP), Vo Minh Thu, Hardik, pso (OpenERP), Launchpad Translations on behalf of openerp, vta vta@openerp.com, Quentin (OpenERP), Denis Ledoux, Mayur Maheshwari (OpenERP), Sanjay Gohel (Open ERP), Goffin Simon, Chris Biersbach, Ravish (Open ERP), Stuart Longland |
| WEBSITE | |
| WEBSITE | http://www.openerp.com |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-05 23:43:09 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - process - web |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION |
Module for resource management.
===============================
A resource represent something that can be scheduled (a developer on a task or a
work center on manufacturing orders). This module manages a resource calendar
associated to every resource. It also manages the leaves of every resource.
|
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
resource_calendar_form |
resource.calendar.form | resource.calendar | form | New |
resource_calendar_leave_form |
resource.calendar.leaves.form | resource.calendar.leaves | form | New |
resource_calendar_leave_tree |
resource.calendar.leaves.tree | resource.calendar.leaves | tree | New |
resource_resource_form |
resource.resource.form | resource.resource | form | New |
resource_resource_tree |
resource.resource.tree | resource.resource | tree | New |
view_resource_calendar |
resource.calendar.leaves.calendar | resource.calendar.leaves | calendar | New |
view_resource_calendar_attendance_form |
resource.calendar.attendance.form | resource.calendar.attendance | form | New |
view_resource_calendar_attendance_tree |
resource.calendar.attendance.tree | resource.calendar.attendance | tree | New |
view_resource_calendar_leaves_search |
resource.calendar.leaves.search | resource.calendar.leaves | search | New |
view_resource_calendar_search |
resource.calendar.search | resource.calendar | search | New |
view_resource_calendar_tree |
resource.calendar.tree | resource.calendar | tree | New |
view_resource_resource_search |
resource.resource.search | resource.resource | search | New |
No models found for this module.
| REPOSITORY | |
|---|---|
| REPOSITORY | odoo/odoo |
| GIT | |
| GIT | https://github.com/odoo/odoo.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/odoo/odoo/tree/6.1/resource |
| VERSION | |
| VERSION | 1.1 |
| CATEGORY | |
| CATEGORY | Hidden/Dependency |
| LICENSE | |
| LICENSE | LGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | OpenERP SA |
| MAINTAINERS | |
| MAINTAINERS | OpenERP SA |
| COMMITTERS | |
| COMMITTERS | Raphael Collet, Stephane Wirtel, Numerigraphe - Lionel Sausin, Fabien Pinckaers, Antony Lesuisse, Olivier Dony, Vo Minh Thu, Launchpad Translations on behalf of openerp, Quentin (OpenERP), Mayur Maheshwari (OpenERP), Jigar Amin - OpenERP, vro, niv-openerp, Xavier ALT, Ujjvala Collins (OpenERP), Xavier Morel, Chris Biersbach, Serpent Consulting Services, Carlos Vásquez, Els Van Vossel, Israel Fermin Montilla, Hardik Ansodariy (OpenERP), aag (OpenERP), Tejas (OpenERP) |
| WEBSITE | |
| WEBSITE | http://www.openerp.com |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-05 23:41:35 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - process - base |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION |
Module for resource management.
===============================
A resource represent something that can be scheduled
(a developer on a task or a work center on manufacturing orders).
This module manages a resource calendar associated to every resource.
It also manages the leaves of every resource.
|
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
resource_calendar_form |
resource.calendar.form | resource.calendar | form | New |
resource_calendar_leave_form |
resource.calendar.leaves.form | resource.calendar.leaves | form | New |
resource_calendar_leave_tree |
resource.calendar.leaves.tree | resource.calendar.leaves | tree | New |
resource_resource_form |
resource.resource.form | resource.resource | form | New |
resource_resource_tree |
resource.resource.tree | resource.resource | tree | New |
view_resource_calendar |
resource.calendar.leaves.calendar | resource.calendar.leaves | calendar | New |
view_resource_calendar_attendance_form |
resource.calendar.attendance.form | resource.calendar.attendance | form | New |
view_resource_calendar_attendance_tree |
resource.calendar.attendance.tree | resource.calendar.attendance | tree | New |
view_resource_calendar_leaves_search |
resource.calendar.leaves.search | resource.calendar.leaves | search | New |
view_resource_calendar_search |
resource.calendar.search | resource.calendar | search | New |
view_resource_calendar_tree |
resource.calendar.tree | resource.calendar | tree | New |
view_resource_resource_search |
resource.resource.search | resource.resource | search | New |
No models found for this module.