TIP: You can type at any time to perform a new search.
Analytic Timesheet In Task
timesheet_task · 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` 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` namespace: renamed to `odoo` since Odoo 10.0. migration-openerp-import · source
AccountAnalyticLine— Class 'AccountAnalyticLine' 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 · sourceAccountAnalyticLine— Class 'AccountAnalyticLine' declares `_columns` as a plain dict: old-style field/default declarations, replace with `fields.X(...)` class attributes and `default=`. migration-old-style-fields · sourceHrAnalyticTimesheet— Class 'HrAnalyticTimesheet' 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 · sourceHrAnalyticTimesheet— Class 'HrAnalyticTimesheet' declares `_columns` as a plain dict: old-style field/default declarations, replace with `fields.X(...)` class attributes and `default=`. migration-old-style-fields · sourceProjectTask— Class 'ProjectTask' 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 · sourceProjectTask— Class 'ProjectTask' declares `_columns` as a plain dict: old-style field/default declarations, replace with `fields.X(...)` class attributes and `default=`. migration-old-style-fields · source- Raw `cr.execute()` INSERT/UPDATE/DELETE bypasses the ORM (no compute/constrains/tracking/mail): `UPDATE project_task SET remaining_hours=remaining_hours - %s WHERE id=%s` - re-check the table/column names still match after upgrading. migration-raw-sql-write · source
- Raw `cr.execute()` INSERT/UPDATE/DELETE bypasses the ORM (no compute/constrains/tracking/mail): `UPDATE project_task SET remaining_hours=remaining_hours + %s WHERE id=%s` - re-check the table/column names still match after upgrading. migration-raw-sql-write · source
- Raw `cr.execute()` INSERT/UPDATE/DELETE bypasses the ORM (no compute/constrains/tracking/mail): `UPDATE project_task SET remaining_hours=remaining_hours - %s + (%s) WHERE id=%s` - re-check the table/column names still match after upgrading. migration-raw-sql-write · 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.2.1
- Category
- Human Resources
- Folder size
- 0.04 MB
- License
- AGPL-3
- Application
- Yes
- Auto-installable
- No
- Website
- http://www.camptocamp.com
- Last tracking update
- 2026-08-07 07:17:50
- Authors
- Camptocamp, Odoo Community Association (OCA)
- Maintainers
- Camptocamp, Acsone SA/NV
- Committers
- Pedro M. Baeza
- Odoo dependencies
- Python dependencies
- None
- System dependencies
- None
- Required by
- None
- Description
Replace task work items (project.task.work) linked to task with timesheet lines (hr.analytic.timesheet). Unless the module project_timesheet, it allows to have only one single object that handles and records time spent by employees, making more coherence for the end user. This way, time entered through timesheet lines or tasks is the same. As long as a timesheet lines has an associated task, it will compute the related indicators. Used with the module hr_timesheet_task, it also allows users to complete task information through the timesheet sheet (hr.timesheet.sheet).
Code Analysis
Views touched (2)
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
view_hr_timesheet_report_search |
hr.timesheet.report.search (timesheet_task) | hr.timesheet.report | search | Inherits hr_timesheet.view_hr_timesheet_report_search |
view_task_form2 |
project.task.form | project.task | form | Inherits project.view_task_form2 |
HTTP endpoints (0)
No HTTP endpoints found for this module.
Models touched (4)
New fields (0)
No new fields.
Public methods (3)-
create(self, cr, uid, vals, context=None) -
unlink(self, cr, uid, ids, context=None) -
write(self, cr, uid, ids, vals, context=None)
New fields (0)
No new fields.
Public methods (2)-
on_change_account_id(self, account_id, user_id=False)@api.multiValidate the relation between the project and the task. Task must be belong to the project. -
on_change_unit_amount(self, cr, uid, sheet_id, prod_id, unit_amount, company_id, unit=False, journal_id=False, task_id=False, to_invoice=False, project_id=False, context=None)
New fields (1)
-
task_idMany2one → project.taskreadonly=Truestring='Task' args: 'project.task'
No public methods.
New fields (0)
No new fields.
Public methods (1)-
write(self, cr, uid, ids, vals, context=None)
Loading…
Loading…
Loading…
Loading…