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-08-21 16:31:19
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 IDNameModelTypeStatus
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…