TIP: You can type at any time to perform a new search.
Employees Shifts
hr_shift · OCA/shift-planning
- Repository
- OCA/shift-planning · module folder · Try on Runboat
- Module version
- 1.1.2
- Category
- Human Resources/Shifts
- Folder size
- 0.63 MB
- License
- AGPL-3
- Application
- No
- Auto-installable
- No
- Website
- https://github.com/OCA/shift-planning
- Last tracking update
- 2026-08-11 17:15:20
- Authors
- Odoo Community Association (OCA), Tecnativa
- Maintainers
- Odoo Community Association (OCA), Tecnativa
- Committers
- Pedro M. Baeza, Víctor Martínez, Cyril VINH-TUNG, Weblate, FernandoRomera, Mathieu Benoit, OCA-git-bot, Abraham Anes, oca-ci, David Bañón
Code Analysis ⓘ
Views touched (19)
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
hr_employee_form |
hr.employee | form | Inherits hr.view_employee_form | |
res_config_settings_view_form |
res.config.settings | form | Inherits hr.res_config_settings_view_form | |
shift_planning_calendar |
hr.shift.planning | calendar | New | |
shift_planning_form |
hr.shift.planning | form | New | |
shift_planning_kanban |
hr.shift.planning | kanban | New | |
shift_planning_line_calendar |
hr.shift.planning.line | calendar | New | |
shift_planning_line_form |
hr.shift.planning.line | form | New | |
shift_planning_line_kanban |
hr.shift.planning.line | kanban | New | |
shift_planning_line_search |
hr.shift.planning.line | search | New | |
shift_planning_line_tree |
hr.shift.planning.line | list | New | |
shift_planning_shift_kanban |
hr.shift.planning.shift | kanban | New | |
shift_planning_shift_kanban_quick_create |
hr.shift.planning.shift.quick_create | hr.shift.planning.shift | form | New |
shift_planning_shift_search |
hr.shift.planning.shift | search | New | |
shift_planning_shift_tree |
hr.shift.planning.shift | list | New | |
shift_planning_tree |
hr.shift.planning | list | New | |
shift_planning_wizard_form |
shift.planning.wizard | form | New | |
shift_template_form |
hr.shift.template | form | New | |
shift_template_search |
hr.shift.template | search | New | |
shift_template_tree |
hr.shift.template | list | New |
HTTP endpoints (0)
No HTTP endpoints found for this module.
Models touched (10)
New fields (2)
-
current_shift_idMany2one → hr.shift.planning.linecomodel_name='hr.shift.planning.line'compute='_compute_current_shift_id' -
shift_planningBooleangroup_expand='_group_expand_shift_planning'help='Generate shifts for this employee in the shifts plannings'
No public methods.
New fields (10)
-
days_dataSerializedcompute='_compute_days_data'default={} -
end_dateDatecompute='_compute_dates'readonly=Truestore=True -
issued_shift_idsOne2many → hr.shift.planning.shiftcomodel_name='hr.shift.planning.shift'compute='_compute_issued_shift_ids' -
issued_shifts_countIntegercompute='_compute_issued_shift_ids' -
shift_idsOne2many → hr.shift.planning.shiftcomodel_name='hr.shift.planning.shift'inverse_name='planning_id' -
shifts_countIntegercompute='_compute_shifts_count' -
start_dateDatecompute='_compute_dates'inverse='_inverse_start_date'store=True -
stateSelectiondefault='new'selection=[('new', 'New'), ('assignment', 'Assignment'), ('planned', 'Planned')] -
week_numberIntegerrequired=True -
yearIntegerrequired=True
-
action_view_day_shifts(self) -
action_view_issued_shifts(self) -
action_view_shifts(self) -
copy_to_planning(self) -
default_get(self, fields_list) -
generate_shifts(self) -
regenerate_shifts(self)
New fields (16)
-
colorIntegerrelated='template_id.color' -
day_numberSelectionselection=WEEK_DAYS_SELECTIONstring='Day' -
duration_daysFloatcompute='_compute_duration'store=Truestring='Duration (Days)' -
duration_hoursFloatcompute='_compute_duration'store=Truestring='Duration (Hours)' -
employee_idMany2onerelated='shift_id.employee_id'store=True -
end_hourFloatrelated='template_id.end_time'string='End hour' -
end_timeDatetimecompute='_compute_shift_time'store=True -
planning_idMany2onerelated='shift_id.planning_id' -
resource_idMany2onerelated='employee_id.resource_id'store=True -
reviewedBooleanhelp="For unavailable shifts that we don't want to be listed as issued" -
shift_idMany2one → hr.shift.planning.shiftcomodel_name='hr.shift.planning.shift'ondelete='cascade' -
start_dateDatecompute='_compute_start_date'string='Date' -
start_hourFloatrelated='template_id.start_time'string='Start hour' -
start_timeDatetimecompute='_compute_shift_time'store=True -
stateSelectioncompute='_compute_state'readonly=Falseselection=[('assigned', 'Assigned'), ('on_leave', 'On leave'), ('unassigned', 'Unassigned'), ('holiday', 'Holiday')]store=True -
template_idMany2one → hr.shift.templatecomodel_name='hr.shift.template'compute='_compute_template_id'group_expand='_group_expand_template_id'readonly=Falsestore=True
-
action_unassign_shift(self)
New fields (9)
-
colorIntegerrelated='template_id.color' -
employee_idMany2one → hr.employeecomodel_name='hr.employee'ondelete='cascade' -
image_128Imagerelated='employee_id.image_128' -
line_idsOne2many → hr.shift.planning.linecomodel_name='hr.shift.planning.line'inverse_name='shift_id' -
lines_dataSerializedcompute='_compute_lines_data'default={} -
planning_idMany2one → hr.shift.planningcomodel_name='hr.shift.planning'ondelete='cascade' -
reviewedBooleancompute='_compute_reviewed'help="For unavailable shifts that we don't want to be listed as issued"inverse='_inverse_reviewed'readonly=False -
stateSelectionselection=[('available', 'Fully available'), ('partial', 'Partially available'), ('unavailable', 'Unavailable')] -
template_idMany2one → hr.shift.templatecomodel_name='hr.shift.template'group_expand='_group_expand_template_id'
-
action_toggle_reviewed(self) -
action_view_shift_details(self) -
create(self, vals_list) -
write(self, vals)
New fields (8)
-
activeBooleandefault=True -
colorInteger -
day_of_week_endSelectionselection=WEEK_DAYS_SELECTION -
day_of_week_startSelectionselection=WEEK_DAYS_SELECTION -
end_timeFloat -
nameChar -
start_timeFloat -
tzSelectiondefault=<expr>help='This field is used in order to define in which timezone the employees will work.'required=Truestring='Timezone' args: _tz_get
-
create(self, vals_list)@api.model_create_multi
New fields (2)
-
shift_end_daySelectiondefault='4'selection=WEEK_DAYS_SELECTION -
shift_start_daySelectiondefault='0'selection=WEEK_DAYS_SELECTION
No public methods.
New fields (2)
-
shift_end_daySelectionreadonly=Falserelated='company_id.shift_end_day' -
shift_start_daySelectionreadonly=Falserelated='company_id.shift_start_day'
No public methods.
New fields (0)
No new fields.
Public methods (0)No public methods.
New fields (0)
No new fields.
Public methods (2)-
create(self, vals_list)@api.model_create_multi -
unlink(self)
New fields (5)
-
copy_shift_detailsBooleanhelp='Copy shift planning details. For example, an employee that goes half the week in a shift and the other half in other' -
from_planning_idMany2one → hr.shift.planningcomodel_name='hr.shift.planning'compute='_compute_from_planning_id'readonly=Falserequired=Truestore=True -
generation_typeSelectiondefault='from_last'required=Trueselection=[('from_last', 'Copy from the last planning'), ('from_planning', 'Copy from another planning')] -
week_numberIntegerhelp='Generate for this week number'required=True -
yearIntegerhelp='Generate for this year'required=True
-
default_get(self, fields_list)@api.model -
generate(self)
Loading…
Loading…
Loading…
- Status
- Open migration PR — not merged yet for this version
- CI status
- checks failing
- Open since
- 123 days ago
- Last activity
- 122 days ago
- Repository
- OCA/shift-planning
- Pull request
- 16.0 mig hr shift (#35)
- Status
- Open migration PR — not merged yet for this version
- CI status
- green — ready to merge
- Open since
- 43 days ago
- Last activity
- 29 days ago
- Repository
- OCA/shift-planning
- Pull request
- [19.0][MIG] hr_shift: Migration to 19.0 (#38)