TIP: You can type at any time to perform a new search.
Work Entries
hr_work_entry · odoo/odoo
- Repository
- odoo/odoo · module folder
- Module version
- 0.1.0
- Category
- Human Resources/Employees
- Folder size
- 2.73 MB
- License
- LGPL-3
- Application
- No
- Auto-installable
- No
- Website
- None
- Last tracking update
- 2026-08-15 22:44:17
- Authors
- Odoo S.A.
- Maintainers
- Odoo S.A.
- Committers
- Raphael Collet, Odoo Translation Bot, Aaron Bohy, Yannick Tivisse, Pierre Masereel, Julien Castiaux, Tiffany Chang (tic), Gorash, Mathieu Duckerts-Antoine, Abdelouahab (abla), Dossogne Bertrand, Louis Wicket (wil), Victor Piryns (pivi), Dylan Kiss (dyki), Xavier Bol (xbo), Nicolas Viseur (vin), Mélanie, ravb-odoo, jugj-odoo, Tanguy Quéguineur, Agustin Castro Bugallo, rmun-odoo, Mathieu Coutant, Yassin Abdelkarim, kais-odoo, rame-odoo, Abdelrahman Mahmoud (amah), ahta, nikj-odoo, Michaël Mattiello, Krzysztof Magusiak (krma), Hazem Ibrahim, kareem, Bertrand Dossogne, romc-odoo, ksar-odoo, oumaima-aarabe, Arthur Pierrot (arpi), Amr Elkhatieb, renol-odoo, kuay-odoo, rugot-odoo, lebm-odoo, Jurgen Gjini, Mahmoudk3m, Martin Lefèvre (mlef), Farah (ahmfa), Madhav Pancholi, karygauss03, chpa-odoo, Amr Yasser (amry), adak(ahmed), amga-odoo, Tatiana Skvortsova (taskv), Omar Khair, Mohammed Farouk, Martin (mlef)
Code Analysis ⓘ
Views touched (19)
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
hr_contract_template_view_form |
hr.contract.template.view.form.inherit.hr_work_entry | hr.version | form | Inherits hr.hr_contract_template_form_view |
hr_employee_view_form |
hr.employee.view.form.inherit.hr.work.entry | hr.employee | form | Inherits hr.view_employee_form |
hr_work_entry_calendar_gantt_view_form |
hr.work.entry.form | hr.work.entry | form | Inherits hr_work_entry.hr_work_entry_view_form |
hr_work_entry_regeneration_wizard |
hr_work_entry_regeneration_wizard | hr.work.entry.regeneration.wizard | form | New |
hr_work_entry_type_view_form |
hr.work.entry.type.form | hr.work.entry.type | form | New |
hr_work_entry_type_view_kanban |
hr.work.entry.type.kanban.view | hr.work.entry.type | kanban | New |
hr_work_entry_type_view_search |
hr.work.entry.type.view.search | hr.work.entry.type | search | New |
hr_work_entry_type_view_tree |
hr.work.entry.type.list | hr.work.entry.type | list | New |
hr_work_entry_view_calendar |
hr.work.entry.calendar | hr.work.entry | calendar | New |
hr_work_entry_view_calendar_multi_create_form |
hr.work.entry.calendar.multi_create | hr.work.entry | form | New |
hr_work_entry_view_form |
hr.work.entry.form | hr.work.entry | form | New |
hr_work_entry_view_pivot |
hr.work.entry.pivot | hr.work.entry | pivot | New |
hr_work_entry_view_search |
hr.work.entry.filter | hr.work.entry | search | New |
hr_work_entry_view_tree |
hr.work.entry.list | hr.work.entry | list | New |
resource_calendar_attendance_view_form |
resource.calendar.attendance.form.inherit.hr.work.entry | resource.calendar.attendance | form | Inherits resource.view_resource_calendar_attendance_form |
resource_calendar_attendance_view_tree |
resource.calendar.attendance.list.inherit.hr.work.entry | resource.calendar.attendance | list | Inherits resource.view_resource_calendar_attendance_tree |
resource_calendar_leave_view_form |
resource.calendar.leaves.form.inherit.hr.work.entry | resource.calendar.leaves | form | Inherits resource.resource_calendar_leave_form |
resource_calendar_leave_view_tree |
resource.calendar.leaves.list.inherit.hr.work.entry | resource.calendar.leaves | list | Inherits resource.resource_calendar_leave_tree |
resource_calendar_leaves_view_search_inherit |
resource.calendar.leaves.search.inherit | resource.calendar.leaves | search | Inherits resource.view_resource_calendar_leaves_search |
HTTP endpoints (0)
No HTTP endpoints found for this module.
Models touched (9)
New fields (3)
-
has_work_entriesBooleancompute='_compute_has_work_entries'groups='base.group_system,hr.group_hr_user' -
work_entry_sourceSelectiongroups='hr.group_hr_manager'inherited=Truereadonly=Falserelated='version_id.work_entry_source' -
work_entry_source_calendar_invalidBooleangroups='hr.group_hr_manager'inherited=Truerelated='version_id.work_entry_source_calendar_invalid'
-
action_open_work_entries(self, initial_date=False) -
create_version(self, values) -
generate_work_entries(self, date_start, date_stop, force=False)
New fields (4)
-
activeBooleandefault=True args: 'Active' -
employee_idMany2one → hr.employeerequired=True args: 'hr.employee', 'Employee' -
is_checkedBooleandefault=True -
user_idMany2one → res.usersdefault=<expr>ondelete='cascade'required=True args: 'res.users', 'Me'
No public methods.
New fields (5)
-
date_generated_fromDatetimedefault=<expr>groups='hr.group_hr_user'readonly=Truerequired=Truestring='Generated From'tracking=True -
date_generated_toDatetimedefault=<expr>groups='hr.group_hr_user'readonly=Truerequired=Truestring='Generated To'tracking=True -
last_generation_dateDategroups='hr.group_hr_user'readonly=Truestring='Last Generation Date'tracking=True -
work_entry_sourceSelectiondefault='calendar'groups='hr.group_hr_manager'help="\n Defines the source for work entries generation\n\n Working Schedule: Work entries will be generated from the working hours below.\n Attendances: Work entries will be generated from the employee's attendances. (requires Attendance app)\n Planning: Work entries will be generated from the employee's planning. (requires Planning app)\n "required=Truetracking=True args: [('calendar', 'Working Schedule')] -
work_entry_source_calendar_invalidBooleancompute='_compute_work_entry_source_calendar_invalid'groups='hr.group_hr_manager'
-
generate_work_entries(self, date_start, date_stop, force=False) -
has_static_work_entries(self) -
unlink(self) -
write(self, vals)
New fields (18)
-
activeBooleandefault=True -
amount_rateFloatargs: 'Pay rate' -
codeCharrelated='work_entry_type_id.code' -
colorIntegerreadonly=Truerelated='work_entry_type_id.color' -
company_idMany2one → res.companydefault=<expr>readonly=Truerequired=Truestring='Company' args: 'res.company' -
conflictBooleancompute='_compute_conflict'store=True args: 'Conflicts' -
country_idMany2one → res.countryrelated='employee_id.company_id.country_id'search='_search_country_id' args: 'res.country' -
dateDaterequired=True -
department_idMany2one → hr.departmentrelated='employee_id.department_id'store=True args: 'hr.department' -
display_codeCharrelated='work_entry_type_id.display_code' -
durationFloatdefault=8string='Duration' -
employee_idMany2one → hr.employeedomain="['|', ('company_id', '=', False), ('company_id', '=', company_id)]"index=Truerequired=True args: 'hr.employee' -
external_codeCharrelated='work_entry_type_id.external_code' -
nameChar -
stateSelectiondefault='draft' args: [('draft', 'New'), ('conflict', 'In Conflict'), ('validated', 'In Payslip'), ('cancelled', 'Cancelled')] -
version_idMany2one → hr.versionindex=Truerequired=Truestring='Employee Record' args: 'hr.version' -
work_entry_sourceSelectionrelated='version_id.work_entry_source' -
work_entry_type_idMany2one → hr.work.entry.typedefault=<expr>domain=<expr>index=True args: 'hr.work.entry.type'
-
action_split(self, vals) -
action_validate(self)Try to validate work entries. If some errors are found, set `state` to conflict for conflicting work entries and validation fails. :return: True if validation succeeded -
create(self, vals_list)@api.model_create_multi -
get_unusual_days(self, date_from, date_to=None)@api.model -
unlink(self) -
write(self, vals)
New fields (10)
-
date_fromDatedefault=<expr>required=True args: 'From' -
date_toDatecompute='_compute_date_to'default=<expr>readonly=Falserequired=Truestore=True args: 'To' -
earliest_available_dateDatecompute='_compute_earliest_available_date' args: 'Earliest date' -
earliest_available_date_messageChardefault=''readonly=Truestore=False -
employee_idsMany2many → hr.employeedomain=<expr>required=Truestring='Employees' args: 'hr.employee' -
latest_available_dateDatecompute='_compute_latest_available_date' args: 'Latest date' -
latest_available_date_messageChardefault=''readonly=Truestore=False -
search_criteria_completedBooleancompute='_compute_search_criteria_completed' -
validBooleancompute='_compute_valid' -
validated_work_entry_employee_idsMany2many → hr.employeecompute='_compute_validated_work_entry_employee_ids'export_string_translation=False args: 'hr.employee'
-
regenerate_work_entries(self, slots=None, record_ids=None)
New fields (13)
-
activeBooleandefault=Truehelp='If the active field is set to false, it will allow you to hide the work entry type without removing it.' args: 'Active' -
amount_rateFloatdefault=1.0help='If you want the hours should be paid double, the rate should be 200%.'string='Rate' -
codeCharhelp='Careful, the Code is used in many references, changing it could lead to unwanted changes.'required=Truestring='Payroll Code' -
colorIntegerdefault=0 -
country_codeCharrelated='country_id.code' -
country_idMany2one → res.countrydomain=<expr>string='Country' args: 'res.country' -
display_codeCharhelp='This code can be changed, it is only for a display purpose (3 letters max)'size=3string='Display Code'translate=True -
external_codeCharhelp='Use this code to export your data to a third party' -
is_extra_hoursBooleanhelp='Check this setting if you want the hours to be considered as extra time and added as a bonus to the basic salary.'string='Added to Monthly Pay' -
is_leaveBooleandefault=Falsehelp='Allow the work entry type to be linked with time off types.'string='Time Off' -
is_workBooleancompute='_compute_is_work'help='If checked, the work entry is counted as work time in the working schedule'inverse='_inverse_is_work'readonly=Falsestring='Working Time' -
nameCharrequired=Truetranslate=True -
sequenceIntegerdefault=25
No public methods.
New fields (0)
No new fields.
Public methods (0)No public methods.
New fields (1)
-
work_entry_type_idMany2one → hr.work.entry.typedefault=_default_work_entry_type_idgroups='hr.group_hr_user' args: 'hr.work.entry.type', 'Work Entry Type'
No public methods.
New fields (1)
-
work_entry_type_idMany2one → hr.work.entry.typegroups='hr.group_hr_user' args: 'hr.work.entry.type', 'Work Entry Type'
No public methods.
Loading…
Loading…
Loading…
Loading…
Loading…
Loading…