TIP: You can type at any time to perform a new search.
Timesheet Reminder
hr_timesheet_reminder · 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.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
- 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.report` 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.translate` 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.osv` namespace: renamed to `odoo` since Odoo 10.0. migration-openerp-import · source
Reminder— Class 'Reminder' 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 · sourceReminder— Class 'Reminder' declares `_columns` as a plain dict: old-style field/default declarations, replace with `fields.X(...)` class attributes and `default=`. migration-old-style-fields · sourceReminderConfig— Class 'ReminderConfig' 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 · sourceReminderConfig— Class 'ReminderConfig' declares `_columns` as a plain dict: old-style field/default declarations, replace with `fields.X(...)` class attributes and `default=`. migration-old-style-fields · sourceReminderStatus— Class 'ReminderStatus' 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 · sourceReminderStatus— Class 'ReminderStatus' declares `_columns` as a plain dict: old-style field/default declarations, replace with `fields.X(...)` class attributes and `default=`. migration-old-style-fields · sourceReminderStatus— Class 'ReminderStatus' declares `_defaults` 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 · sourcehr_employee— Class 'hr_employee' 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 · sourcehr_employee— Class 'hr_employee' declares `_columns` as a plain dict: old-style field/default declarations, replace with `fields.X(...)` class attributes and `default=`. migration-old-style-fields · sourcehr_employee— Class 'hr_employee' declares `_defaults` as a plain dict: old-style field/default declarations, replace with `fields.X(...)` class attributes and `default=`. migration-old-style-fields · sourceview_hr_timesheet_reminder_config_form— For a target of Odoo 17.0+: view 'view_hr_timesheet_reminder_config_form' uses `attrs=`/`states=`, which are no longer supported. Convert modifiers to direct Python boolean expressions in `invisible`/`readonly`/`required`; preserve the original AND/OR logic. migration-view-attrs-states · 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
- 2.0
- Category
- Folder size
- 0.04 MB
- License
- AGPL-3
- Application
- No
- Auto-installable
- No
- Website
- http://www.camptocamp.com
- Last tracking update
- 2026-10-05 12:52:04
- Authors
- Camptocamp, Odoo Community Association (OCA)
- Maintainers
- Camptocamp, Odoo Community Association (OCA)
- Committers
- Pedro M. Baeza
- Odoo dependencies
- Python dependencies
- None
- System dependencies
- None
- Required by
- None
- Description
Timesheet Reports Module ======================== * Add a menu in `Human Resources / Configuration / Timesheet Reminder`. It allows to send automatic emails to those who did not complete their timesheet in the last 5 weeks. * Per employee, you can choose to send the reminder or not. * Add a report in `Human Resources / Reporting / Timesheet / Timesheet Status` which displays the state of the last 5 timesheets for all users per company. This module replaces the modules c2c_timesheet_reports of TinyERP 4 and OpenERP 5.
Code Analysis
Views touched (3)
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
hr_timesheet_employee_extd_form_reminder |
hr.timesheet.employee.rmnd_form | hr.employee | form | Inherits hr_timesheet.hr_timesheet_employee_extd_form |
view_hr_timesheet_reminder_config_form |
hr.timesheet.reminder.config.form | hr.timesheet.reminder.config | form | New |
view_hr_timesheet_reminder_status_form |
hr.timesheet.reminder.status.form | hr.timesheet.reminder.status | form | New |
HTTP endpoints (0)
No HTTP endpoints found for this module.
Models touched (5)
New fields (0)
No new fields.
Public methods (1)-
compute_timesheet_status(self, cr, uid, ids, period, context)return the timesheet status for an employee from its id and a period (tuple from date-to date)
New fields (0)
No new fields.
Public methods (5)-
get_config(self, cr, uid, context=None)return the reminder config from the db -
get_cron_id(self, cr, uid, context=None)return the reminder cron's id. Create one if the cron does not exists -
get_message_id(self, cr, uid, context=None)return the message's id. create one if the message does not exists -
run(self, cr, uid, context=None)find the reminder recipients and send them an email -
save_config(self, cr, uid, ids, datas, context=None)save the reminder config
New fields (0)
No new fields.
Public methods (3)-
default_get(self, cr, uid, fields, context=None) -
run(self, cr, uid, ids, context=None)execute the timesheets check and send emails -
save(self, cr, uid, ids, context=None)save defined settings in db
New fields (0)
No new fields.
Public methods (1)-
print_report(self, cr, uid, ids, context=None)
New fields (0)
No new fields.
Public methods (3)-
compute_timesheet_periods(self, cr, uid, company, date, periods_number=5, context=None)return the timeranges to display. This is the 5 last timesheets -
get_last_period_dates(self, cr, uid, company, date, context=None)return the start date and end date of the last period to display -
get_reminder_recipients(self, cr, uid, ids, context=None)Return the list of users that must receive the email
Loading…
Loading…
Loading…
Loading…