TIP: You can type at any time to perform a new search.
Employment Status
hr_employee_state · OCA/hr
Security findings
Migration considerations
- Imports from the old `openerp` 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` 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
- Uses the old workflow engine (base.workflow / `trg_validate`): removed in Odoo 11.0, must be rewritten as state-field transitions. migration-workflow · source
- Uses the old workflow engine (base.workflow / `trg_validate`): removed in Odoo 11.0, must be rewritten as state-field transitions. migration-workflow · source
- Uses the old workflow engine (base.workflow / `trg_validate`): removed in Odoo 11.0, must be rewritten as state-field transitions. migration-workflow · source
- Uses the old workflow engine (base.workflow / `trg_validate`): removed in Odoo 11.0, must be rewritten as state-field transitions. migration-workflow · source
- Uses the old workflow engine (base.workflow / `trg_validate`): removed in Odoo 11.0, must be rewritten as state-field transitions. migration-workflow · source
- Uses the old workflow engine (base.workflow / `trg_validate`): removed in Odoo 11.0, must be rewritten as state-field transitions. migration-workflow · source
- Uses the old workflow engine (base.workflow / `trg_validate`): removed in Odoo 11.0, must be rewritten as state-field transitions. migration-workflow · source
- Uses the old workflow engine (base.workflow / `trg_validate`): removed in Odoo 11.0, must be rewritten as state-field transitions. migration-workflow · source
- Uses the old workflow engine (base.workflow / `trg_validate`): removed in Odoo 11.0, must be rewritten as state-field transitions. migration-workflow · source
- Uses the old workflow engine (base.workflow / `trg_validate`): removed in Odoo 11.0, must be rewritten as state-field transitions. migration-workflow · source
- Uses the old workflow engine (base.workflow / `trg_validate`): removed in Odoo 11.0, must be rewritten as state-field transitions. migration-workflow · 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` namespace: renamed to `odoo` since Odoo 10.0. migration-openerp-import · source
- For a target of Odoo 10.0+: use the `__manifest__.py` manifest name instead of `__openerp__.py`. The filename alone does not establish module age or compatibility. migration-openerp-manifest · source
employee_set_inactive— Class 'employee_set_inactive' 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 · sourceemployee_set_inactive— Class 'employee_set_inactive' declares `_columns` as a plain dict: old-style field/default declarations, replace with `fields.X(...)` class attributes and `default=`. migration-old-style-fields · sourceemployee_set_inactive— Class 'employee_set_inactive' declares `_defaults` as a plain dict: old-style field/default declarations, replace with `fields.X(...)` class attributes and `default=`. migration-old-style-fields · sourcehr_contract— Class 'hr_contract' 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 · sourcehr_employee_termination— Class 'hr_employee_termination' 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_termination— Class 'hr_employee_termination' 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_termination— Class 'hr_employee_termination' declares `_defaults` as a plain dict: old-style field/default declarations, replace with `fields.X(...)` class attributes and `default=`. migration-old-style-fields · sourcehr_employee_termination_form_view— For a target of Odoo 17.0+: view 'hr_employee_termination_form_view' 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 · sourcehr_employee_termination_reason— Class 'hr_employee_termination_reason' 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_termination_reason— Class 'hr_employee_termination_reason' declares `_columns` as a plain dict: old-style field/default declarations, replace with `fields.X(...)` class attributes and `default=`. migration-old-style-fields · sourcehr_job— Class 'hr_job' 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_job— Class 'hr_job' declares `_columns` as a plain dict: old-style field/default declarations, replace with `fields.X(...)` class attributes and `default=`. migration-old-style-fields · sourceview_contract_form— For a target of Odoo 17.0+: view 'view_contract_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 · sourceview_employee_form— For a target of Odoo 17.0+: view 'view_employee_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 · sourcehr_employee_termination_tree_view— View 'hr_employee_termination_tree_view' is defined with a `<tree>` root tag: renamed to `<list>` in Odoo 18.0. migration-view-tree-tag · sourceview_termination_reason_tree— View 'view_termination_reason_tree' is defined with a `<tree>` root tag: renamed to `<list>` in Odoo 18.0. migration-view-tree-tag · 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/hr · module folder · Try on Runboat
- Module version
- 1.0
- Category
- Generic Modules/Human Resources
- Folder size
- 0.67 MB
- License
- LGPL-3
- Application
- No
- Auto-installable
- No
- Website
- http://miketelahun.wordpress.com
- Last tracking update
- 2026-08-07 06:56:12
- Authors
- Michael Telahun Makonnen <mmakonnen@gmail.com>, Odoo Community Association (OCA)
- Maintainers
- Michael Telahun Makonnen <mmakonnen@gmail.com>, Odoo Community Association (OCA)
- Committers
- Alexandre Fayolle, Michael Telahun Makonnen, Sandy Carter, Thomas Rehn, OCA Transbot, dufresnedavid
- Odoo dependencies
- Python dependencies
- python-dateutil
- System dependencies
- None
- Required by
- hr_infraction, hr_payroll_period, hr_schedule
- Description
Employee's Employment Status ============================ Track the HR status of employees.
Code Analysis
Views touched (8)
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
hr_employee_termination_form_view |
hr.employee.termination.form | hr.employee.termination | form | New |
hr_employee_termination_tree_view |
hr.employee.termination.tree | hr.employee.termination | tree | New |
view_contract_form |
hr.contract.form.inherit.1 | hr.contract | form | Inherits hr_contract_state.view_contract_form |
view_employee_form |
hr.employee.form.inherit.1 | hr.employee | form | Inherits hr.view_employee_form |
view_inactive_wizard |
hr.contract.end.form | hr.contract.end | form | New |
view_termination_filter |
Employees | hr.employee.termination | search | New |
view_termination_reason_form |
hr.employee.termination.reason.form | hr.employee.termination.reason | form | New |
view_termination_reason_tree |
hr.employee.termination.reason.tree | hr.employee.termination.reason | tree | New |
HTTP endpoints (0)
No HTTP endpoints found for this module.
Models touched (6)
New fields (0)
No new fields.
Public methods (5)-
end_contract(self, cr, uid, ids, context=None) -
setup_pending_done(self, cr, uid, contract, term_vals, context=None)Start employee deactivation process. -
state_open(self, cr, uid, ids, context=None)Override 'open' contract state to also change employee state: new -> onboarding -
state_trial(self, cr, uid, ids, context=None)Override 'trial' contract state to also change employee state: new -> onboarding -
try_signal_contract_completed(self, cr, uid, context=None)
New fields (0)
No new fields.
Public methods (1)-
set_employee_inactive(self, cr, uid, ids, context=None)
New fields (0)
No new fields.
Public methods (5)-
condition_finished_onboarding(self, cr, uid, ids, context=None) -
signal_reactivate(self, cr, uid, ids, context=None) -
state_active(self, cr, uid, ids, context=None) -
state_inactive(self, cr, uid, ids, context=None) -
state_pending_inactive(self, cr, uid, ids, context=None)
New fields (0)
No new fields.
Public methods (4)-
effective_date_in_future(self, cr, uid, ids, context=None) -
state_cancel(self, cr, uid, ids, context=None) -
state_done(self, cr, uid, ids, context=None) -
unlink(self, cr, uid, ids, context=None)
New fields (0)
No new fields.
Public methods (0)No public methods.
New fields (0)
No new fields.
Public methods (0)No public methods.