Repository
odoo/odoo · module folder
Module version
1.0
Category
Human Resources
Folder size
0.61 MB
License
LGPL-3
Application
No
Auto-installable
Yes
Website
None
Last tracking update
2026-08-15 22:44:18
Authors
Odoo S.A.
Maintainers
Odoo S.A.
Committers
Xavier Morel, Xavier ALT, Raphael Collet, Odoo Translation Bot, Yannick Tivisse, Julien Castiaux, Prakash Prajapati, Tiffany Chang (tic), Gorash, William Braeckman, Audric Onockx (auon), Vincent Larcin, Victor Piryns (pivi), Dylan Kiss (dyki), Simon Goffaux (sigo), Xavier Bol (xbo), Maxime de Neuville, suth-odoo, Tanguy Quéguineur, Mathieu Coutant, Yassin Abdelkarim, st-yes, Corentin Heinix (cohe), bona-odoo, Krzysztof Magusiak (krma), mjvi-odoo, Dirk Douglas, path-odoo, Vincent Janssen, Shubham Patel, Aurélien Bertrand, Jurgen Gjini
Odoo dependencies
Python dependencies
None
System dependencies
None
Required by
project_timesheet_holidays_dynamic_description
Description
Bridge module to integrate leaves in timesheet
================================================

This module allows to automatically log timesheets when employees are
on leaves. Project and task can be configured company-wide.
    

Code Analysis

Views touched (2)
XML IDNameModelTypeStatus
leave_task_form_view project.task.leave.form.view project.task form Inherits hr_timesheet.view_task_form2_inherited
res_config_settings_view_form res.config.settings.view.form.inherit.project.timesheet.holidays res.config.settings form Inherits hr_timesheet.res_config_settings_view_form
HTTP endpoints (0)

No HTTP endpoints found for this module.

Models touched (7)

New fields (3)
  • global_leave_id Many2one → resource.calendar.leaves
    export_string_translation=False index='btree_not_null' ondelete='cascade' string='Global Time Off' args: 'resource.calendar.leaves'
  • holiday_id Many2one → hr.leave
    copy=False export_string_translation=False index='btree_not_null' string='Time Off Request' args: 'hr.leave'
  • task_id Many2one
    domain="[('allow_timesheets', '=', True), ('project_id', '=?', project_id), ('has_template_ancestor', '=', False), ('is_timeoff_task', '=', False)]"
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (2)
  • create(self, vals_list)
    @api.model_create_multi
  • write(self, vals)

New fields (1)
  • timesheet_ids One2many → account.analytic.line
    string='Analytic Lines' args: 'account.analytic.line', 'holiday_id'
Public methods (2)
  • action_refuse(self)
    Remove the timesheets linked to the refused holidays
  • write(self, vals)

New fields (2)
  • is_timeoff_task Boolean
    compute='_compute_is_timeoff_task' export_string_translation=False groups='hr_timesheet.group_hr_timesheet_user' search='_search_is_timeoff_task' args: 'Is Time off Task'
  • leave_types_count Integer
    compute='_compute_leave_types_count' string='Time Off Types Count'
Public methods (0)

No public methods.

New fields (1)
  • leave_timesheet_task_id Many2one → project.task
    domain="[('project_id', '=', internal_project_id)]" string='Time Off Task' args: 'project.task'
Public methods (0)

No public methods.

New fields (2)
  • internal_project_id Many2one
    domain="[('company_id', '=', company_id), ('is_template', '=', False)]" help='The default project used when automatically generating timesheets via time off requests. You can specify another project on each time off type individually.' readonly=False related='company_id.internal_project_id' required=True string='Internal Project'
  • leave_timesheet_task_id Many2one
    domain="[('company_id', '=', company_id), ('project_id', '=?', internal_project_id), ('has_template_ancestor', '=', False)]" help='The default task used when automatically generating timesheets via time off requests. You can specify another task on each time off type individually.' readonly=False related='company_id.leave_timesheet_task_id' string='Time Off Task'
Public methods (0)

No public methods.

New fields (1)
  • timesheet_ids One2many → account.analytic.line
    export_string_translation=False string='Analytic Lines' args: 'account.analytic.line', 'global_leave_id'
Public methods (2)
  • create(self, vals_list)
    @api.model_create_multi
  • write(self, vals)

Loading…

Loading…

Loading…

Loading…

Loading…

Loading…

Loading…

Loading…