TIP: You can type at any time to perform a new search.
HR - Attendance Analysis
hr_attendance_analysis · OCA/timesheet
Security findings
Migration considerations
- Imports from the old `openerp.osv` namespace: renamed to `odoo` since Odoo 10.0. migration-openerp-import · source
- Imports from the old `openerp.osv` namespace: renamed to `odoo` since Odoo 10.0. migration-openerp-import · source
- Imports from the old `openerp.tools.translate` namespace: renamed to `odoo` since Odoo 10.0. migration-openerp-import · source
- Imports from the old `openerp.tools` namespace: renamed to `odoo` since Odoo 10.0. migration-openerp-import · source
- Imports from the old `openerp.tools` namespace: renamed to `odoo` since Odoo 10.0. migration-openerp-import · source
- Imports from the old `openerp.osv` namespace: renamed to `odoo` since Odoo 10.0. migration-openerp-import · source
- Imports from the old `openerp.report` namespace: renamed to `odoo` since Odoo 10.0. migration-openerp-import · source
- Imports from the old `openerp.tools.translate` namespace: renamed to `odoo` since Odoo 10.0. migration-openerp-import · source
- Imports from the old `openerp.tools` namespace: renamed to `odoo` since Odoo 10.0. migration-openerp-import · source
- Imports from the old `openerp.osv` namespace: renamed to `odoo` since Odoo 10.0. migration-openerp-import · source
- Imports from the old `openerp.tools.translate` namespace: renamed to `odoo` since Odoo 10.0. migration-openerp-import · source
HrAttendance— Class 'HrAttendance' still inherits from the old-style `orm.Model` API: rewrite it against `models.Model`/`models.TransientModel`/`models.AbstractModel` - the old `osv`/`orm` API was removed entirely in modern Odoo. migration-old-api-base · sourceHrAttendance— Class 'HrAttendance' declares `_columns` as a plain dict: old-style field/default declarations, replace with `fields.X(...)` class attributes and `default=`. migration-old-style-fields · sourceResCompany— Class 'ResCompany' still inherits from the old-style `orm.Model` API: rewrite it against `models.Model`/`models.TransientModel`/`models.AbstractModel` - the old `osv`/`orm` API was removed entirely in modern Odoo. migration-old-api-base · sourceResCompany— Class 'ResCompany' declares `_columns` as a plain dict: old-style field/default declarations, replace with `fields.X(...)` class attributes and `default=`. migration-old-style-fields · sourceResCompany— Class 'ResCompany' declares `_defaults` as a plain dict: old-style field/default declarations, replace with `fields.X(...)` class attributes and `default=`. migration-old-style-fields · sourceResourceCalendar— Class 'ResourceCalendar' still inherits from the old-style `orm.Model` API: rewrite it against `models.Model`/`models.TransientModel`/`models.AbstractModel` - the old `osv`/`orm` API was removed entirely in modern Odoo. migration-old-api-base · sourceResourceCalendar— Class 'ResourceCalendar' declares `_columns` as a plain dict: old-style field/default declarations, replace with `fields.X(...)` class attributes and `default=`. migration-old-style-fields · sourceResourceCalendarAttendance— Class 'ResourceCalendarAttendance' still inherits from the old-style `orm.Model` API: rewrite it against `models.Model`/`models.TransientModel`/`models.AbstractModel` - the old `osv`/`orm` API was removed entirely in modern Odoo. migration-old-api-base · sourceResourceCalendarAttendance— Class 'ResourceCalendarAttendance' declares `_columns` as a plain dict: old-style field/default declarations, replace with `fields.X(...)` class attributes and `default=`. migration-old-style-fields · sourceResourceCalendarOvertimeRange— Class 'ResourceCalendarOvertimeRange' still inherits from the old-style `orm.Model` API: rewrite it against `models.Model`/`models.TransientModel`/`models.AbstractModel` - the old `osv`/`orm` API was removed entirely in modern Odoo. migration-old-api-base · sourceResourceCalendarOvertimeRange— Class 'ResourceCalendarOvertimeRange' declares `_columns` as a plain dict: old-style field/default declarations, replace with `fields.X(...)` class attributes and `default=`. migration-old-style-fields · sourcehr_contract— Class 'hr_contract' still inherits from the old-style `orm.Model` API: rewrite it against `models.Model`/`models.TransientModel`/`models.AbstractModel` - the old `osv`/`orm` API was removed entirely in modern Odoo. migration-old-api-base · sourcewizard_calendar_report— Class 'wizard_calendar_report' still inherits from the old-style `orm.TransientModel` API: rewrite it against `models.Model`/`models.TransientModel`/`models.AbstractModel` - the old `osv`/`orm` API was removed entirely in modern Odoo. migration-old-api-base · sourcewizard_calendar_report— Class 'wizard_calendar_report' declares `_columns` as a plain dict: old-style field/default declarations, replace with `fields.X(...)` class attributes and `default=`. migration-old-style-fields · sourcewizard_calendar_report— Class 'wizard_calendar_report' declares `_defaults` as a plain dict: old-style field/default declarations, replace with `fields.X(...)` class attributes and `default=`. migration-old-style-fields · sourceview_attendance_analysis— View 'view_attendance_analysis' is defined with a `<tree>` root tag: renamed to `<list>` in Odoo 18.0. migration-view-tree-tag · source
Migration review checklist, not a compatibility verdict. No target version is selected: apply version-specific advice only when migrating to that version or later.
- Repository
- OCA/timesheet · module folder · Try on Runboat
- Module version
- 0.1
- Category
- Generic Modules/Human Resources
- Folder size
- 0.1 MB
- License
- AGPL-3
- Application
- No
- Auto-installable
- No
- Website
- http://www.agilebg.com
- Last tracking update
- 2026-08-07 07:17:50
- Authors
- Odoo Community Association (OCA), Agile Business Group
- Maintainers
- Odoo Community Association (OCA), Agile Business Group
- Committers
- Pedro M. Baeza, Stéphane Bidoul (ACSONE)
- Odoo dependencies
- Python dependencies
- None
- System dependencies
- None
- Required by
- None
- Description
Dynamic reports based on employee's attendances and contract's calendar. Among other things, it lets you see the amount of working hours outside and inside the contract's working schedule (overtime). It also provides a daily based report, showing the detailed and total hours compared to calendar hours. Several analysis settings can be configured, like: - Tolerance for sign-in and sign-out - Attendances and overtimes roundings - Diffrent types of overtime, according to the overtime amount
Code Analysis
Views touched (8)
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
resource_calendar_form |
resource.calendar.form | resource.calendar | form | Inherits resource.resource_calendar_form |
view_attendance_analysis |
hr.attendance.analysis | hr.attendance | tree | New |
view_attendance_form |
hr.attendance.form | hr.attendance | form | Inherits hr_attendance.view_attendance_form |
view_company_form |
view.company.form | res.company | form | Inherits base.view_company_form |
view_hr_attendance_calendar |
view_hr_attendance.calendar | hr.attendance | calendar | New |
view_hr_attendance_filter |
view_hr_attendance_filter | hr.attendance | search | New |
view_resource_calendar_attendance_form |
resource.calendar.attendance.form | resource.calendar.attendance | form | Inherits resource.view_resource_calendar_attendance_form |
wizard_calendar_report |
Attendances Analysis Calendar | attendance_analysis.wizard.calendar_report | form | New |
HTTP endpoints (0)
No HTTP endpoints found for this module.
Models touched (7)
New fields (0)
No new fields.
Public methods (2)-
on_change_month(self, cr, uid, id, str_month, year) -
print_calendar(self, cr, uid, ids, context=None)
New fields (0)
No new fields.
Public methods (12)-
button_dummy(self, cr, uid, ids, context=None) -
datetime_to_hour(self, datetime) -
float_time_convert(self, float_val) -
float_to_datetime(self, float_val) -
float_to_timedelta(self, float_val) -
get_reference_calendar(self, cr, uid, employee_id, date=None, context=None) -
matched_schedule(self, cr, uid, datetime, weekday_char, calendar_id, context=None) -
mid_time_interval(self, datetime_start, delta) -
split_interval_time_by_precision(self, start_datetime, duration, precision=0.25) -
time_difference(self, float_start_time, float_end_time, help_message=False) -
time_sum(self, float_first_time, float_second_time) -
total_seconds(self, td)
New fields (0)
No new fields.
Public methods (1)-
copy(self, cr, uid, id, defaults, context=None)When duplicate a contract set the start date to the last end date + 1 day. If the last end date is False, do nothing
New fields (0)
No new fields.
Public methods (1)-
update_attendance_data(self, cr, uid, ids, context=None)
New fields (0)
No new fields.
Public methods (0)No public methods.
New fields (0)
No new fields.
Public methods (0)No public methods.
New fields (0)
No new fields.
Public methods (0)No public methods.
Loading…
Loading…
Loading…