Remote Work

hr_homeworking
REPOSITORY
REPOSITORYodoo/odoo
GIT
GIThttps://github.com/odoo/odoo.git
GIT FOLDER
GIT FOLDERhttps://github.com/odoo/odoo/tree/19.0/hr_homeworking
VERSION
VERSION 2.0
CATEGORY
CATEGORYHuman Resources/Remote Work
LICENSE
LICENSELGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLEYes
AUTHORS
AUTHORSOdoo S.A.
MAINTAINERS
MAINTAINERSOdoo S.A.
COMMITTERS
COMMITTERSOdoo Translation Bot, Thibault Delavallée, Lucas Perais (lpe), Yannick Tivisse, Julien Castiaux, Sébastien Theys, Tiffany Chang (tic), Gorash, Mathieu Duckerts-Antoine, Didier (did), Dylan Kiss (dyki), Xavier Bol (xbo), Mélanie, bary, Tanguy Quéguineur, mano-odoo, Abdelrahman Mahmoud (amah), Krzysztof Magusiak (krma), pajo, Giorgio Tocco (gito), Mongy (abmn), Ziri
WEBSITE
WEBSITE
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 01:51:43
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - hr
    - base_setup
    - base
    - web
    - digest
    - mail
    - bus
    - web_tour
    - html_editor
    - portal
    - http_routing
    - auth_signup
    - resource
    - phone_validation
    - resource_mail
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (5)
XML IDNameModelTypeStatus
res_users_view_form res.users.form.inherit res.users xpath Inherits hr.res_users_view_form
res_useurs_view_form_profile res.users.preferences.form.inherit res.users xpath Inherits hr.res_users_view_form_preferences
view_employee_filter view.employee.form.inherit.hr hr.employee xpath Inherits hr.view_employee_filter
view_employee_form view.employee.form.inherit.hr hr.employee xpath Inherits hr.view_employee_form
view_employee_tree hr.employee.list.timesheet hr.employee xpath Inherits hr.view_employee_tree
Models touched (6)

New fields (10)
  • exceptional_location_id Many2one → hr.work.location
    compute='_compute_exceptional_location_id' groups='hr.group_hr_user' help='This is the exceptional, non-weekly, location set for today.' string='Current' args: 'hr.work.location'
  • friday_location_id Many2one → hr.work.location
    string='Friday' args: 'hr.work.location'
  • hr_icon_display Selection
    selection_add=[('presence_home', 'At Home'), ('presence_office', 'At Office'), ('presence_other', 'At Other')]
  • monday_location_id Many2one → hr.work.location
    string='Monday' args: 'hr.work.location'
  • saturday_location_id Many2one → hr.work.location
    string='Saturday' args: 'hr.work.location'
  • sunday_location_id Many2one → hr.work.location
    string='Sunday' args: 'hr.work.location'
  • thursday_location_id Many2one → hr.work.location
    string='Thursday' args: 'hr.work.location'
  • today_location_name Char
  • tuesday_location_id Many2one → hr.work.location
    string='Tuesday' args: 'hr.work.location'
  • wednesday_location_id Many2one → hr.work.location
    string='Wednesday' args: 'hr.work.location'
Public methods (1)
  • get_views(self, views, options=None)
    @api.model

New fields (7)
  • date Date
    string='Date'
  • day_week_string Char
    compute='_compute_day_week_string'
  • employee_id Many2one → hr.employee
    default=<expr> ondelete='cascade' required=True args: 'hr.employee'
  • employee_name Char
    related='employee_id.name'
  • work_location_id Many2one → hr.work.location
    required=True string='Location' args: 'hr.work.location'
  • work_location_name Char
    related='work_location_id.name' string='Location name'
  • work_location_type Selection
    related='work_location_id.location_type'
Public methods (0)

No public methods.

New fields (8)
  • friday_location_id Many2one → hr.work.location
    string='Friday' args: 'hr.work.location'
  • monday_location_id Many2one → hr.work.location
    string='Monday' args: 'hr.work.location'
  • saturday_location_id Many2one → hr.work.location
    string='Saturday' args: 'hr.work.location'
  • sunday_location_id Many2one → hr.work.location
    string='Sunday' args: 'hr.work.location'
  • thursday_location_id Many2one → hr.work.location
    string='Thursday' args: 'hr.work.location'
  • today_location_name Char
  • tuesday_location_id Many2one → hr.work.location
    string='Tuesday' args: 'hr.work.location'
  • wednesday_location_id Many2one → hr.work.location
    string='Wednesday' args: 'hr.work.location'
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.

New fields (7)
  • friday_location_id Many2one → hr.work.location
    readonly=False related='employee_id.friday_location_id' string='Fridays' args: 'hr.work.location'
  • monday_location_id Many2one → hr.work.location
    readonly=False related='employee_id.monday_location_id' string='Mondays' args: 'hr.work.location'
  • saturday_location_id Many2one → hr.work.location
    readonly=False related='employee_id.saturday_location_id' string='Saturdays' args: 'hr.work.location'
  • sunday_location_id Many2one → hr.work.location
    readonly=False related='employee_id.sunday_location_id' string='Sundays' args: 'hr.work.location'
  • thursday_location_id Many2one → hr.work.location
    readonly=False related='employee_id.thursday_location_id' string='Thursdays' args: 'hr.work.location'
  • tuesday_location_id Many2one → hr.work.location
    readonly=False related='employee_id.tuesday_location_id' string='Tuesdays' args: 'hr.work.location'
  • wednesday_location_id Many2one → hr.work.location
    readonly=False related='employee_id.wednesday_location_id' string='Wednesdays' args: 'hr.work.location'
Public methods (2)
  • SELF_READABLE_FIELDS(self)
    @property
  • SELF_WRITEABLE_FIELDS(self)
    @property
REPOSITORY
REPOSITORYodoo/odoo
GIT
GIThttps://github.com/odoo/odoo.git
GIT FOLDER
GIT FOLDERhttps://github.com/odoo/odoo/tree/18.0/hr_homeworking
VERSION
VERSION 2.0
CATEGORY
CATEGORYHuman Resources/Remote Work
LICENSE
LICENSELGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORS
MAINTAINERS
MAINTAINERS
COMMITTERS
COMMITTERSOdoo Translation Bot, Martin Trigaux, Aaron Bohy, Lucas Perais (lpe), Yannick Tivisse, Odoo Online, Alexandre Kühn, Romeo Fragomeli, Tiffany Chang (tic), Gorash, Didier (did), alsh-odoo, Victor Piryns (pivi), Dylan Kiss (dyki), Hugo Carlier (Huca), Brieuc-brd, Leonardo Pavan Rocha, Mélanie, bary, Louis (wil), zel-odoo, Krzysztof Magusiak (krma), Mongy (abmn), Einar Andersen (eian)
WEBSITE
WEBSITE
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 01:25:56
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - hr
    - base_setup
    - base
    - web
    - digest
    - mail
    - bus
    - web_tour
    - html_editor
    - portal
    - web_editor
    - http_routing
    - auth_signup
    - resource
    - phone_validation
    - resource_mail
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (4)
XML IDNameModelTypeStatus
res_useurs_view_form_profile res.users.preferences.form.inherit res.users xpath Inherits hr.res_users_view_form_profile
view_employee_filter view.employee.form.inherit.hr hr.employee xpath Inherits hr.view_employee_filter
view_employee_form view.employee.form.inherit.hr hr.employee xpath Inherits hr.view_employee_form
view_employee_tree hr.employee.list.timesheet hr.employee xpath Inherits hr.view_employee_tree
Models touched (5)

New fields (10)
  • exceptional_location_id Many2one → hr.work.location
    compute='_compute_exceptional_location_id' help='This is the exceptional, non-weekly, location set for today.' string='Current' args: 'hr.work.location'
  • friday_location_id Many2one → hr.work.location
    string='Friday' args: 'hr.work.location'
  • hr_icon_display Selection
    selection_add=[('presence_home', 'At Home'), ('presence_office', 'At Office'), ('presence_other', 'At Other')]
  • monday_location_id Many2one → hr.work.location
    string='Monday' args: 'hr.work.location'
  • saturday_location_id Many2one → hr.work.location
    string='Saturday' args: 'hr.work.location'
  • sunday_location_id Many2one → hr.work.location
    string='Sunday' args: 'hr.work.location'
  • thursday_location_id Many2one → hr.work.location
    string='Thursday' args: 'hr.work.location'
  • today_location_name Char
  • tuesday_location_id Many2one → hr.work.location
    string='Tuesday' args: 'hr.work.location'
  • wednesday_location_id Many2one → hr.work.location
    string='Wednesday' args: 'hr.work.location'
Public methods (1)
  • get_views(self, views, options=None)
    @api.model

New fields (7)
  • date Date
    string='Date'
  • day_week_string Char
    compute='_compute_day_week_string'
  • employee_id Many2one → hr.employee
    default=<expr> ondelete='cascade' required=True args: 'hr.employee'
  • employee_name Char
    related='employee_id.name'
  • work_location_id Many2one → hr.work.location
    required=True string='Location' args: 'hr.work.location'
  • work_location_name Char
    related='work_location_id.name' string='Location name'
  • work_location_type Selection
    related='work_location_id.location_type'
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.

New fields (7)
  • friday_location_id Many2one → hr.work.location
    readonly=False related='employee_id.friday_location_id' string='Friday' args: 'hr.work.location'
  • monday_location_id Many2one → hr.work.location
    readonly=False related='employee_id.monday_location_id' string='Monday' args: 'hr.work.location'
  • saturday_location_id Many2one → hr.work.location
    readonly=False related='employee_id.saturday_location_id' string='Saturday' args: 'hr.work.location'
  • sunday_location_id Many2one → hr.work.location
    readonly=False related='employee_id.sunday_location_id' string='Sunday' args: 'hr.work.location'
  • thursday_location_id Many2one → hr.work.location
    readonly=False related='employee_id.thursday_location_id' string='Thursday' args: 'hr.work.location'
  • tuesday_location_id Many2one → hr.work.location
    readonly=False related='employee_id.tuesday_location_id' string='Tuesday' args: 'hr.work.location'
  • wednesday_location_id Many2one → hr.work.location
    readonly=False related='employee_id.wednesday_location_id' string='Wednesday' args: 'hr.work.location'
Public methods (2)
  • SELF_READABLE_FIELDS(self)
    @property
  • SELF_WRITEABLE_FIELDS(self)
    @property
REPOSITORY
REPOSITORYodoo/odoo
GIT
GIThttps://github.com/odoo/odoo.git
GIT FOLDER
GIT FOLDERhttps://github.com/odoo/odoo/tree/17.0/hr_homeworking
VERSION
VERSION 1.0
CATEGORY
CATEGORYHuman Resources/Remote Work
LICENSE
LICENSELGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORS
MAINTAINERS
MAINTAINERS
COMMITTERS
COMMITTERSOdoo Translation Bot, Martin Trigaux, Lucas Perais (lpe), Odoo Online, Samuel Degueldre, Tiffany Chang (tic), Arnaud Joset, sofiagvaladze, alsh-odoo, Victor Piryns (pivi), Levi Siuzdak (sile), Dylan Kiss (dyki), Michael (mcm), Xavier Bol (xbo), Brieuc-brd, Leonardo Pavan Rocha, dasz, Mélanie, jugj-odoo, Louis (wil), Pierre Pulinckx (pipu), adip-odoo, Einar Andersen (eian)
WEBSITE
WEBSITE
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 01:02:07
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - hr
    - base_setup
    - base
    - web
    - phone_validation
    - mail
    - bus
    - web_tour
    - resource
    - calendar
    - onboarding
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (5)
XML IDNameModelTypeStatus
homework_location_wizard_view_form homework.location.wizard.view.form homework.location.wizard form New
res_useurs_view_form_profile res.users.preferences.form.inherit res.users xpath Inherits hr.res_users_view_form_profile
view_employee_filter view.employee.form.inherit.hr hr.employee xpath Inherits hr.view_employee_filter
view_employee_form view.employee.form.inherit.hr hr.employee xpath Inherits hr.view_employee_form
view_employee_tree hr.employee.tree.timesheet hr.employee xpath Inherits hr.view_employee_tree
Models touched (6)

New fields (8)
  • date Date
    string='Date'
  • day_week_string Char
    compute='_compute_day_week_string'
  • employee_id Many2one → hr.employee
    default=<expr> ondelete='cascade' required=True args: 'hr.employee'
  • employee_name Char
    related='employee_id.name'
  • weekly Boolean
    default=False
  • work_location_id Many2one → hr.work.location
    required=True string='Location' args: 'hr.work.location'
  • work_location_name Char
    related='work_location_id.name' string='Location name'
  • work_location_type Selection
    related='work_location_id.location_type'
Public methods (1)
  • set_employee_location(self)

New fields (11)
  • exceptional_location_id Many2one → hr.work.location
    compute='_compute_exceptional_location_id' help='This is the exceptional, non-weekly, location set for today.' string='Current' args: 'hr.work.location'
  • friday_location_id Many2one → hr.work.location
    string='Friday' args: 'hr.work.location'
  • hr_icon_display Selection
    selection_add=[('presence_home', 'At Home'), ('presence_office', 'At Office'), ('presence_other', 'At Other')]
  • monday_location_id Many2one → hr.work.location
    string='Monday' args: 'hr.work.location'
  • name_work_location_display Char
    compute='_compute_name_work_location_display'
  • saturday_location_id Many2one → hr.work.location
    string='Saturday' args: 'hr.work.location'
  • sunday_location_id Many2one → hr.work.location
    string='Sunday' args: 'hr.work.location'
  • thursday_location_id Many2one → hr.work.location
    string='Thursday' args: 'hr.work.location'
  • today_location_name Char
  • tuesday_location_id Many2one → hr.work.location
    string='Tuesday' args: 'hr.work.location'
  • wednesday_location_id Many2one → hr.work.location
    string='Wednesday' args: 'hr.work.location'
Public methods (1)
  • get_views(self, views, options=None)
    @api.model

New fields (7)
  • date Date
    string='Date'
  • day_week_string Char
    compute='_compute_day_week_string'
  • employee_id Many2one → hr.employee
    default=<expr> ondelete='cascade' required=True args: 'hr.employee'
  • employee_name Char
    related='employee_id.name'
  • work_location_id Many2one → hr.work.location
    required=True string='Location' args: 'hr.work.location'
  • work_location_name Char
    related='work_location_id.name' string='Location name'
  • work_location_type Selection
    related='work_location_id.location_type'
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 (1)
  • get_worklocation(self, start_date, end_date)

New fields (7)
  • friday_location_id Many2one → hr.work.location
    readonly=False related='employee_id.friday_location_id' string='Friday' args: 'hr.work.location'
  • monday_location_id Many2one → hr.work.location
    readonly=False related='employee_id.monday_location_id' string='Monday' args: 'hr.work.location'
  • saturday_location_id Many2one → hr.work.location
    readonly=False related='employee_id.saturday_location_id' string='Saturday' args: 'hr.work.location'
  • sunday_location_id Many2one → hr.work.location
    readonly=False related='employee_id.sunday_location_id' string='Sunday' args: 'hr.work.location'
  • thursday_location_id Many2one → hr.work.location
    readonly=False related='employee_id.thursday_location_id' string='Thursday' args: 'hr.work.location'
  • tuesday_location_id Many2one → hr.work.location
    readonly=False related='employee_id.tuesday_location_id' string='Tuesday' args: 'hr.work.location'
  • wednesday_location_id Many2one → hr.work.location
    readonly=False related='employee_id.wednesday_location_id' string='Wednesday' args: 'hr.work.location'
Public methods (2)
  • SELF_READABLE_FIELDS(self)
    @property
  • SELF_WRITEABLE_FIELDS(self)
    @property