TIP: You can type at any time to perform a new search.
Employees
hr · odoo/odoo
- Repository
- odoo/odoo · module folder
- Module version
- 1.1
- Category
- Human Resources/Employees
- Folder size
- 13.27 MB
- License
- LGPL-3
- Application
- Yes
- Auto-installable
- No
- Website
- https://www.odoo.com/app/employees
- Last tracking update
- 2026-08-15 22:44:17
- Authors
- Odoo S.A.
- Maintainers
- Odoo S.A.
- Committers
- Xavier Morel, Raphael Collet, Christophe Simonis, Thibault Delavallée, Odoo Translation Bot, David Monjoie, Lucas Perais (lpe), Yannick Tivisse, Pierre Masereel, Jorge Pinna Puissant, Alexandre Kühn, Julien Castiaux, Sébastien Theys, Julien Mougenot, std-odoo, David Beguin, Rémy Voet (ryv), Tiffany Chang (tic), Gorash, Mathieu Duckerts-Antoine, William Braeckman, Ahmad Khanalizadeh, Didier (did), Dossogne Bertrand, luvi, Renaud Thiry, Vincent Larcin, Ipsita Borisagar, tsm-odoo, Louis Wicket (wil), alsh-odoo, Yash Vaishnav, Victor Piryns (pivi), Maruan Aguerdouh (magm), Dylan Kiss (dyki), Jinane Maksoud, Mayurrajsinh Rathod, Simon Goffaux (sigo), Xavier Bol (xbo), omra-odoo, Zelong Lin, maad-odoo, Mélanie, ravb-odoo, bary, reka-odoo, jugj-odoo, Abderraouf Ghrissi (abgh), Nathaniel (naja), Julien Carion (juca), Tanguy Quéguineur, Alex Kühn, Martin Trigaux (mat), Agustin Castro Bugallo, Chrysanthe (chgo), asno-odoo, aamo-odoo, rmun-odoo, Shaan Thakkar (THSH), Mathieu Coutant, Yassin Abdelkarim, kais-odoo, guce, yagp-odoo, rame-odoo, Abdelrahman Mahmoud (amah), gteboul, Ian, Maira Salazar (srma), gvar-odoo, Pierre Pulinckx, Bastien PIERRE, nikj-odoo, Michaël Mattiello, bona-odoo, Krzysztof Magusiak (krma), devp-odoo, kkuj-odoo, Basioni (basm), rida, Guillaume V, pajo, Giorgio Tocco (gito), akha, kareem, jayp-odoo, Bertrand Dossogne, MAGREMENT, romc-odoo, Ian Cioppa (iacio), Dhwani Patel, Laetitia (ldau), adip-odoo, ksar-odoo, dhka-odoo, Einar Andersen (eian), Waleed Elgamal, Ayush Modi, Dinh Van Khoa (JocelynVN), Arthur Pierrot (arpi), assh-odoo, Elliot ELCO, khom-odoo, Kevin Gerard (kege), Ziri, kuay-odoo, saurabh, lebm-odoo, Jurgen Gjini, Mahmoudk3m, alan-odoo, raja prasad, Martin Lefèvre (mlef), Hashem, karygauss03, Lucas ESTEBAN (lues), djsh-odoo, Camila Vives, chpa-odoo, Faruk Avcı, SaraBriki, shmn-odoo, adak-ahmed, 3amo-magdy, Mohamed Ayman, amga-odoo, Devendra Ladhani, hamza, arkp-odoo, metu-odoo, abshe, Tatiana Skvortsova (taskv), Omar Khair, SurryaT10, usseif, hkafe-odoo, claireclan, Mélanie Peyrat (mepe), Mohammed Farouk, FedericoBraidi, Priyanshu Goyal (prgo), Nat (naja)
- Odoo dependencies
- Python dependencies
- None
- System dependencies
- None
- Required by
- account_payroll_sheet_import, hr_attendance, hr_calendar, hr_course, hr_department_code, hr_employee_calendar_planning, hr_employee_firstname, hr_employee_language, hr_employee_medical_examination, hr_employee_partner_external, hr_employee_relative, hr_expense, hr_fleet, hr_gamification, hr_holidays, hr_homeworking, hr_hourly_cost, hr_livechat, hr_maintenance, hr_org_chart, hr_presence, hr_recruitment, hr_skills, hr_timesheet, hr_work_entry, l10n_br_hr, mail_bot_hr, mgmtsystem_hazard, mgmtsystem_hazard_risk, mgmtsystem_nonconformity_hr, pos_hr, project_department, project_hr
- Description
Code Analysis ⓘ
Views touched (58)
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
discuss_channel_view_form |
discuss.channel.view.form.inherit.hr | discuss.channel | form | Inherits mail.discuss_channel_view_form |
hr_contract_template_form_view |
hr.contract.template.form | hr.version | form | New |
hr_contract_template_list_view |
hr.contract.template.list | hr.version | list | New |
hr_contract_type_view_form |
hr.contract.type | form | New | |
hr_contract_type_view_tree |
hr.contract.type | list | New | |
hr_department_view_kanban |
hr.department.kanban | hr.department | kanban | New |
hr_departure_reason_view_form |
hr.departure.reason | form | New | |
hr_departure_reason_view_list |
hr.departure.reason | list | New | |
hr_departure_wizard_view_form |
hr.departure.wizard.view.form | hr.departure.wizard | form | New |
hr_employee_list_activites_view |
hr.employee.list.activites.view | hr.employee | list | New |
hr_employee_list_view |
hr.employee.list | hr.employee | list | New |
hr_employee_plan_activity_summary |
hr_employee_plan_activity_summary | ir.ui.view | qweb | New |
hr_employee_public_view_form |
hr.employee.public.form | hr.employee.public | form | New |
hr_employee_public_view_kanban |
hr.employee.kanban | hr.employee.public | kanban | New |
hr_employee_public_view_search |
hr.employee.search | hr.employee.public | search | New |
hr_employee_public_view_tree |
hr.employee.list | hr.employee.public | list | New |
hr_employee_view_activity |
hr.employee.activity | hr.employee | activity | New |
hr_employee_view_graph |
hr.employee.view.graph | hr.employee | graph | New |
hr_employee_view_pivot |
hr.employee.view.pivot | hr.employee | pivot | New |
hr_job_view_kanban |
hr.job.kanban | hr.job | kanban | New |
hr_kanban_view_employees |
hr.employee.kanban | hr.employee | kanban | New |
hr_version_graph_view |
hr.version.graph | hr.version | graph | New |
hr_version_list_view |
hr.version.list | hr.version | list | New |
hr_version_pivot_view |
hr.version.pivot | hr.version | pivot | New |
hr_version_search_view |
hr.version.search | hr.version | search | New |
hr_version_wizard_view_form |
hr.version.wizard.view.form | hr.version.wizard | form | New |
hr_work_location_form_view |
hr.work.location.view.form | hr.work.location | form | New |
hr_work_location_tree_view |
hr.work.location.view.list | hr.work.location | list | New |
mail_activity_plan_template_view_form |
mail.activity.plan.template.view.form.inherit.hr | mail.activity.plan.template | form | Inherits mail.mail_activity_plan_template_view_form |
mail_activity_plan_view_form |
mail.activity.plan.view.form.inherit.hr | mail.activity.plan | form | Inherits mail.mail_activity_plan_view_form |
mail_activity_plan_view_form_hr_employee |
mail.activity.plan.view.form.hr.employee | mail.activity.plan | form | Inherits mail.mail_activity_plan_view_form_fixed_model |
mail_activity_plan_view_tree |
mail.activity.plan.view.list.inherit.hr | mail.activity.plan | list | Inherits mail.mail_activity_plan_view_tree |
mail_activity_schedule_view_form |
mail.activity.schedule.view.form.inherit.hr | mail.activity.schedule | form | Inherits mail.mail_activity_schedule_view_form |
print_employee_badge |
print_employee_badge | ir.ui.view | qweb | New |
res_config_settings_view_form |
res.config.settings.view.form.inherit.hr | res.config.settings | form | Inherits base.res_config_settings_view_form |
res_partner_view_form |
res.partner.view.form.inherit.hr | res.partner | form | Inherits base.view_partner_form |
res_partner_view_search |
res.partner.search.inherit | res.partner | search | Inherits base.view_res_partner_filter |
res_users_view_form |
res.users.form.inherit | res.users | form | Inherits base.view_users_form |
res_users_view_form_preferences |
res.users.preferences.form.inherit | res.users | form | Inherits res_users_view_form_simple_modif |
res_users_view_form_simple_modif |
res.users.preferences.form.simplified.inherit | res.users | form | Inherits base.view_users_form_simple_modif |
view_bank_account_allocation_line_list |
hr.bank.account.allocation.wizard.line.list | hr.bank.account.allocation.wizard.line | list | New |
view_bank_account_allocation_wizard |
hr.bank.account.allocation.wizard.form | hr.bank.account.allocation.wizard | form | New |
view_department_filter |
hr.department.search | hr.department | search | New |
view_department_form |
hr.department.form | hr.department | form | New |
view_department_tree |
hr.department.list | hr.department | list | New |
view_employee_category_form |
hr.employee.category.form | hr.employee.category | form | New |
view_employee_category_list |
hr.employee.category.list | hr.employee.category | list | New |
view_employee_filter |
hr.employee.search | hr.employee | search | New |
view_employee_form |
hr.employee.form | hr.employee | form | New |
view_employee_form_smartbutton_inherited |
view.employee.form.smartbutton.inherited | hr.employee | form | Inherits view_employee_form |
view_employee_tree |
hr.employee.list | hr.employee | list | New |
view_hr_job_form |
hr.job.form | hr.job | form | New |
view_hr_job_tree |
hr.job.list | hr.job | list | New |
view_job_filter |
hr.job.search | hr.job | search | New |
view_partner_bank_form_inherit_hr |
res.partner.bank.form.inherit.hr | res.partner.bank | form | Inherits base.view_partner_bank_form |
view_users_form_simple_modif_resource |
res.users.preferences.form.resource | res.users | form | Inherits base.view_users_form_simple_modif |
view_users_simple_form |
view.users.simple.form.hr | res.users | form | Inherits base.view_users_simple_form |
view_users_simple_form_inherit_hr |
view.users.simple.form.inherit.hr | res.users | form | Inherits base.view_users_simple_form |
HTTP endpoints (0)
No HTTP endpoints found for this module.
Models touched (30)
New fields (0)
No new fields.
Public methods (0)No public methods.
New fields (1)
-
subscription_department_idsMany2many → hr.departmenthelp='Automatically subscribe members of those departments to the channel.'string='HR Departments' args: 'hr.department'
-
write(self, vals)
New fields (2)
-
allocation_idsOne2many → hr.bank.account.allocation.wizard.linereadonly=Falsestring='Allocations' args: 'hr.bank.account.allocation.wizard.line', 'wizard_id' -
employee_idMany2one → hr.employeerequired=True args: 'hr.employee'
-
action_save(self) -
create(self, vals_list)@api.model_create_multi
New fields (8)
-
acc_numberCharreadonly=Truerelated='bank_account_id.acc_number' -
amountFloatdigits=(16, 2)readonly=Falsestring='Amount' -
amount_typeSelectionreadonly=Falseselection='_get_amount_type_selection_vals' -
bank_account_idMany2one → res.partner.bankreadonly=Truerequired=True args: 'res.partner.bank' -
sequenceIntegerdefault=10 -
symbolCharcompute='_compute_symbol'readonly=True -
trustedBooleanstring='Trusted' -
wizard_idMany2one → hr.bank.account.allocation.wizardondelete='cascade'required=True args: 'hr.bank.account.allocation.wizard'
No public methods.
New fields (4)
-
codeCharcompute='_compute_code'readonly=Falsestore=True -
country_idMany2one → res.countrydomain=<expr> args: 'res.country' -
nameCharrequired=Truetranslate=True -
sequenceInteger
No public methods.
New fields (17)
-
activeBooleandefault=True args: 'Active' -
child_idsOne2many → hr.departmentstring='Child Departments' args: 'hr.department', 'parent_id' -
colorIntegerargs: 'Color Index' -
company_idMany2one → res.companycompute='_compute_company_id'default=<expr>index=Truereadonly=Falserecursive=Truestore=Truestring='Company'tracking=True args: 'res.company' -
complete_nameCharcompute='_compute_complete_name'recursive=Truesearch='_search_complete_name' args: 'Complete Name' -
has_read_accessBooleanexport_string_translation=Falsesearch='_search_has_read_access'store=False -
jobs_idsOne2many → hr.jobstring='Jobs' args: 'hr.job', 'department_id' -
manager_idMany2one → hr.employeedomain="['|', ('company_id', '=', False), ('company_id', 'in', allowed_company_ids)]"string='Manager'tracking=True args: 'hr.employee' -
master_department_idMany2one → hr.departmentcompute='_compute_master_department_id'store=True args: 'hr.department', 'Master Department' -
member_idsOne2many → hr.employeereadonly=Truestring='Members' args: 'hr.employee', 'department_id' -
nameCharrequired=Truetranslate=True args: 'Department Name' -
noteTextargs: 'Note' -
parent_idMany2one → hr.departmentcheck_company=Trueindex=Truestring='Parent Department' args: 'hr.department' -
parent_pathCharindex=True -
plan_idsOne2many → mail.activity.planargs: 'mail.activity.plan', 'department_id' -
plans_countIntegercompute='_compute_plan_count' -
total_employeeIntegercompute='_compute_total_employee'export_string_translation=Falsestring='Total Employee'
-
action_employee_from_department(self) -
action_open_view_child_departments(self) -
action_plan_from_department(self) -
create(self, vals_list)@api.model_create_multi -
get_children_department_ids(self) -
get_department_hierarchy(self) -
get_formview_action(self, access_uid=None) -
name_create(self, name)@api.model -
write(self, vals)If updating manager of a department, we need to update all the employees of department hierarchy, and subscribe the new manager.
New fields (4)
-
country_codeCharrelated='country_id.code' -
country_idMany2one → res.countrydefault=<expr>string='Country' args: 'res.country' -
nameCharrequired=Truestring='Reason'translate=True -
sequenceIntegerdefault=10 args: 'Sequence'
No public methods.
New fields (7)
-
departure_dateDatedefault=_get_default_departure_daterequired=Truestring='Contract End Date' -
departure_descriptionHtmlstring='Additional Information' -
departure_reason_idMany2one → hr.departure.reasondefault=<expr>required=True args: 'hr.departure.reason' -
employee_idsMany2many → hr.employeecontext={'active_test': False}default=_get_default_employee_idsdomain=_get_domain_employee_idsrequired=Truestring='Employees' args: 'hr.employee' -
is_user_employeeBooleancompute='_compute_is_user_employee'string='User Employee' -
remove_related_userBooleanhelp='If checked, the related user will be removed from the system.'string='Related User' -
set_date_endBooleandefault=<expr>help='Set the end date on the current contract.'string='Set Contract End Date'
-
action_register_departure(self)
New fields (105)
-
activeBooleandefault=Truereadonly=Falserelated='resource_id.active'store=True args: 'Active' -
activity_date_deadlineDategroups='hr.group_hr_user' -
activity_exception_decorationSelectiongroups='hr.group_hr_user' -
activity_exception_iconChargroups='hr.group_hr_user' -
activity_idsOne2manygroups='hr.group_hr_user' -
activity_stateSelectiongroups='hr.group_hr_user' -
activity_summaryChargroups='hr.group_hr_user' -
activity_type_iconChargroups='hr.group_hr_user' -
activity_type_idMany2onegroups='hr.group_hr_user' -
activity_user_idMany2onegroups='hr.group_hr_user' -
bank_account_idsMany2many → res.partner.bankcolumn1='employee_id'column2='bank_account_id'copy=Falsedomain="[('partner_id', '=', work_contact_id), '|', ('company_id', '=', False), ('company_id', '=', company_id)]"groups='hr.group_hr_user'help='Employee bank accounts to pay salaries'relation='employee_bank_account_rel'string='Bank Accounts'tracking=True args: 'res.partner.bank' -
barcodeCharcopy=Falsegroups='hr.group_hr_user'help='ID used for employee identification.'string='Badge ID' -
birthdayDategroups='hr.group_hr_user'tracking=True args: 'Birthday' -
birthday_public_displayBooleandefault=Falsegroups='hr.group_hr_user' args: 'Show to all employees' -
birthday_public_display_stringCharcompute='_compute_birthday_public_display_string'default='hidden' args: 'Public Date of Birth' -
category_idsMany2many → hr.employee.categorygroups='hr.group_hr_user'string='Tags' args: 'hr.employee.category', 'employee_category_rel', 'employee_id', 'category_id' -
certificateSelectiongroups='hr.group_hr_user'selection='_get_certificate_selection'string='Certificate Level'tracking=True -
child_idsOne2many → hr.employeedomain=[('active', '=', True)]string='Direct subordinates' args: 'hr.employee', 'parent_id' -
coach_idMany2one → hr.employeecompute='_compute_coach'domain="['|', ('company_id', '=', False), ('company_id', 'in', allowed_company_ids)]"help='Select the "Employee" who is the coach of this employee.\nThe "Coach" has no specific rights or responsibilities by default.'readonly=Falsestore=True args: 'hr.employee', 'Coach' -
colorIntegerdefault=0 args: 'Color Index' -
company_country_codeChardepends=['company_country_id']groups='base.group_system,hr.group_hr_user'readonly=Truerelated='company_country_id.code'string='Company Country Code' -
company_country_idMany2one → res.countrygroups='base.group_system,hr.group_hr_user'readonly=Truerelated='company_id.country_id' args: 'res.country', 'Company Country' -
company_idMany2one → res.companyrequired=Truetracking=True args: 'res.company' -
contract_date_endDategroups='hr.group_hr_manager'inherited=Truereadonly=Falserelated='version_id.contract_date_end' -
contract_date_startDategroups='hr.group_hr_manager'inherited=Truereadonly=Falserelated='version_id.contract_date_start' -
contract_type_idMany2onegroups='hr.group_hr_manager'inherited=Truereadonly=Falserelated='version_id.contract_type_id' -
contract_wageMonetarygroups='hr.group_hr_manager'inherited=Truerelated='version_id.contract_wage' -
country_of_birthMany2one → res.countrygroups='hr.group_hr_user'string='Country of Birth'tracking=True args: 'res.country' -
currency_idMany2one → res.currencygroups='hr.group_hr_user'readonly=Truerelated='company_id.currency_id' args: 'res.currency' -
current_date_versionDategroups='hr.group_hr_user'related='current_version_id.date_version'string='Current Date Version' -
current_version_idMany2one → hr.versionbypass_search_access=Truecompute='_compute_current_version_id'store=True args: 'hr.version' -
date_endDategroups='hr.group_hr_manager'inherited=Truerelated='version_id.date_end' -
date_startDategroups='hr.group_hr_manager'inherited=Truerelated='version_id.date_start' -
driving_licenseBinarygroups='hr.group_hr_user'string='Driving License' -
emailCharrelated='user_id.email' -
emergency_contactChargroups='hr.group_hr_user'tracking=True -
emergency_phoneChargroups='hr.group_hr_user'tracking=True -
employee_propertiesPropertiesdefinition='company_id.employee_properties_definition'groups='hr.group_hr_user'precompute=False args: 'Properties' -
has_messageBooleangroups='hr.group_hr_user' -
has_multiple_bank_accountsBooleancompute='_compute_has_multiple_bank_accounts'default=Falsegroups='hr.group_hr_user' -
has_work_permitBinarygroups='hr.group_hr_user'string='Work Permit' -
hr_icon_displaySelectioncompute='_compute_presence_icon' args: [('presence_present', 'Present'), ('presence_out_of_working_hour', 'Off-Hours'), ('presence_absent', 'Absent'), ('presence_archive', 'Archived'), ('presence_undetermined', 'Undetermined')] -
hr_presence_stateSelectioncompute='_compute_presence_state'default='out_of_working_hour' args: [('present', 'Present'), ('absent', 'Absent'), ('archive', 'Archived'), ('out_of_working_hour', 'Off-Hours')] -
id_cardBinarygroups='hr.group_hr_user'string='ID Card Copy' -
im_statusCharrelated='user_id.im_status' -
is_currentBooleangroups='hr.group_hr_manager'inherited=Truerelated='version_id.is_current' -
is_futureBooleangroups='hr.group_hr_manager'inherited=Truerelated='version_id.is_future' -
is_in_contractBooleangroups='hr.group_hr_manager'inherited=Truerelated='version_id.is_in_contract' -
is_pastBooleangroups='hr.group_hr_manager'inherited=Truerelated='version_id.is_past' -
is_trusted_bank_accountBooleancompute='_compute_is_trusted_bank_account'groups='hr.group_hr_user' -
is_user_activeBooleangroups='hr.group_hr_user'related='user_id.active'string="User's active" -
langSelectiongroups='hr.group_hr_user'selection=_lang_getstring='Lang' -
last_activityDatecompute='_compute_last_activity' -
last_activity_timeCharcompute='_compute_last_activity' -
legal_nameCharcompute='_compute_legal_name'groups='hr.group_hr_user'readonly=Falsestore=True -
message_attachment_countIntegergroups='hr.group_hr_user' -
message_follower_idsOne2manygroups='hr.group_hr_user' -
message_has_errorBooleangroups='hr.group_hr_user' -
message_has_error_counterIntegergroups='hr.group_hr_user' -
message_idsOne2manygroups='hr.group_hr_user' -
message_is_followerBooleangroups='hr.group_hr_user' -
message_main_attachment_idMany2onegroups='hr.group_hr_user' -
message_needactionBooleangroups='hr.group_hr_user' -
message_needaction_counterIntegergroups='hr.group_hr_user' -
message_partner_idsMany2manygroups='hr.group_hr_user' -
mobile_phoneCharargs: 'Work Mobile' -
my_activity_date_deadlineDategroups='hr.group_hr_user' -
nameCharreadonly=Falserelated='resource_id.name'store=Truestring='Employee Name'tracking=True -
newly_hiredBooleancompute='_compute_newly_hired'search='_search_newly_hired' args: 'Newly Hired' -
parent_idMany2one → hr.employeedomain="['|', ('company_id', '=', False), ('company_id', 'in', allowed_company_ids)]"index=Truetracking=True args: 'hr.employee', 'Manager' -
permit_noChargroups='hr.group_hr_user'tracking=True args: 'Work Permit No' -
phoneCharrelated='user_id.phone' -
pinCharcopy=Falsegroups='hr.group_hr_user'help='PIN used to Check In/Out in the Kiosk Mode of the Attendance application (if enabled in Configuration) and to change the cashier in the Point of Sale application.'string='PIN' -
place_of_birthChargroups='hr.group_hr_user'tracking=True args: 'Place of Birth' -
primary_bank_account_idMany2one → res.partner.bankcompute='_compute_primary_bank_account_id'groups='hr.group_hr_user' args: 'res.partner.bank' -
private_car_plateChargroups='hr.group_hr_user'help='If you have more than one car, just separate the plates by a space.' -
private_emailChargroups='hr.group_hr_user'string='Private Email' -
private_phoneChargroups='hr.group_hr_user'string='Private Phone' -
related_partners_countIntegercompute='_compute_related_partners_count'groups='hr.group_hr_user' -
resource_calendar_idMany2onecheck_company=Trueindex=Falseinherited=Truerelated='version_id.resource_calendar_id'store=False -
resource_idMany2one → resource.resourcerequired=True args: 'resource.resource' -
salary_distributionJsoncompute='_sync_salary_distribution'groups='hr.group_hr_user'readonly=Falsestore=Truestring='Salary Distribution' -
shareBooleanrelated='user_id.share' -
show_hr_icon_displayBooleancompute='_compute_presence_icon' -
structure_type_idMany2onegroups='hr.group_hr_manager'inherited=Truereadonly=Falserelated='version_id.structure_type_id' -
study_fieldChargroups='hr.group_hr_user'tracking=True args: 'Field of Study' -
study_schoolChargroups='hr.group_hr_user'tracking=True args: 'School' -
trial_date_endDategroups='hr.group_hr_manager'inherited=Truereadonly=Falserelated='version_id.trial_date_end' -
tzSelectiontracking=True -
user_idMany2one → res.userscheck_company=Trueindex='btree_not_null'ondelete='restrict'precompute=Truereadonly=Falserelated='resource_id.user_id'store=True args: 'res.users', 'User' -
user_partner_idMany2onerelated='user_id.partner_id'related_sudo=Falsestring="User's partner" -
version_idMany2one → hr.versioncompute='_compute_version_id'compute_sudo=Truegroups='hr.group_hr_user'ondelete='cascade'required=Truesearch='_search_version_id'store=False args: 'hr.version' -
version_idsOne2many → hr.versiongroups='hr.group_hr_user'required=Truestring='Employee Versions' args: 'hr.version', 'employee_id' -
version_revisionCharcompute='_compute_version_revision'groups='hr.group_hr_user' -
versions_countIntegercompute='_compute_versions_count'groups='hr.group_hr_user' -
visa_expireDategroups='hr.group_hr_user'tracking=True args: 'Visa Expiration Date' -
visa_noChargroups='hr.group_hr_user'tracking=True args: 'Visa No' -
work_contact_idMany2one → res.partnercopy=Falseindex='btree_not_null' args: 'res.partner', 'Work Contact' -
work_emailCharcompute='_compute_work_contact_details'inverse='_inverse_work_contact_details'store=True args: 'Work Email' -
work_location_nameCharcompute='_compute_work_location_name' args: 'Work Location Name' -
work_location_typeSelectioncompute='_compute_work_location_type'tracking=True args: [('home', 'Home'), ('office', 'Office'), ('other', 'Other')] -
work_permit_expiration_dateDategroups='hr.group_hr_user'tracking=True args: 'Work Permit Expiration Date' -
work_permit_nameCharcompute='_compute_work_permit_name'groups='hr.group_hr_user' args: 'work_permit_name' -
work_permit_scheduled_activityBooleandefault=Falsegroups='hr.group_hr_user' -
work_phoneCharcompute='_compute_work_contact_details'inverse='_inverse_work_contact_details'readonly=Falsestore=Truetracking=True args: 'Work Phone'
-
action_archive(self) -
action_create_user(self) -
action_create_users(self) -
action_create_users_confirmation(self) -
action_open_allocation_wizard(self) -
action_open_versions(self) -
action_related_contacts(self) -
action_toggle_primary_bank_account_trust(self) -
action_unarchive(self) -
check_field_access_rights(self, operation, field_names)@api.model@api.deprecated('Override of a deprecated method') -
check_no_existing_contract(self, date) -
create(self, vals_list)@api.model_create_multi -
create_contract(self, date) -
create_version(self, values) -
fetch(self, field_names=None) -
generate_random_barcode(self) -
get_accounts_with_fixed_allocations(self) -
get_avatar_card_data(self, fields) -
get_bank_account_salary_allocation(self, account_id) -
get_formview_action(self, access_uid=None)Override this method in order to redirect many2one towards the right model depending on access_uid -
get_formview_id(self, access_uid=None)Override this method in order to redirect many2one towards the right model depending on access_uid -
get_import_templates(self)@api.model -
get_remaining_percentage(self) -
get_view(self, view_id=None, view_type='form', **options)@api.model -
get_views(self, views, options=None)@api.model -
new(self, values=None, origin=None, ref=None)@api.model -
notify_expiring_contract_work_permit(self)@api.model -
search_fetch(self, domain, field_names=None, offset=0, limit=None, order=None)@api.model -
unlink(self) -
write(self, vals)
New fields (3)
-
colorIntegerdefault=_get_default_colorstring='Color Index' -
employee_idsMany2many → hr.employeestring='Employees' args: 'hr.employee', 'employee_category_rel', 'category_id', 'employee_id' -
nameCharrequired=Truestring='Tag Name'
No public methods.
New fields (50)
-
activeBooleanreadonly=True -
address_idMany2one → res.partnerreadonly=True args: 'res.partner' -
avatar_1024Imagecompute_sudo=Truerelated='employee_id.avatar_1024' args: 'Avatar 1024' -
avatar_128Imagecompute_sudo=Truerelated='employee_id.avatar_128' args: 'Avatar 128' -
avatar_1920Imagecompute_sudo=Truerelated='employee_id.avatar_1920' args: 'Avatar' -
avatar_256Imagecompute_sudo=Truerelated='employee_id.avatar_256' args: 'Avatar 256' -
avatar_512Imagecompute_sudo=Truerelated='employee_id.avatar_512' args: 'Avatar 512' -
birthday_public_display_stringCharrelated='employee_id.birthday_public_display_string' args: 'Public Date of Birth' -
child_idsOne2many → hr.employee.publicreadonly=Truestring='Direct subordinates' args: 'hr.employee.public', 'parent_id' -
coach_idMany2one → hr.employee.publicreadonly=True args: 'hr.employee.public', 'Coach' -
colorIntegerreadonly=True -
company_idMany2one → res.companyreadonly=True args: 'res.company' -
country_codeCharcompute='_compute_country_code' -
create_dateDatetimereadonly=True -
department_idMany2one → hr.departmentreadonly=True args: 'hr.department' -
emailCharrelated='employee_id.email' -
employee_idMany2one → hr.employeereadonly=True args: 'hr.employee', 'Employee' -
hr_icon_displaySelectioncompute='_compute_presence_icon'selection='_get_selection_hr_icon_display' -
hr_presence_stateSelectioncompute='_compute_presence_state'default='out_of_working_hour' args: [('present', 'Present'), ('absent', 'Absent'), ('archive', 'Archived'), ('out_of_working_hour', 'Off-Hours')] -
im_statusCharrelated='employee_id.im_status' -
image_1024Imagecompute_sudo=Truerelated='employee_id.image_1024' args: 'Image 1024' -
image_128Imagecompute_sudo=Truerelated='employee_id.image_128' args: 'Image 128' -
image_1920Imagecompute_sudo=Truerelated='employee_id.image_1920' args: 'Image' -
image_256Imagecompute_sudo=Truerelated='employee_id.image_256' args: 'Image 256' -
image_512Imagecompute_sudo=Truerelated='employee_id.image_512' args: 'Image 512' -
is_managerBooleancompute='_compute_is_manager' -
is_userBooleancompute='_compute_is_user' -
job_idMany2one → hr.jobreadonly=True args: 'hr.job' -
job_titleCharrelated='employee_id.job_title' -
last_activityDatecompute='_compute_last_activity' -
last_activity_timeCharcompute='_compute_last_activity' -
member_of_departmentBooleancompute='_compute_member_of_department'search='_search_part_of_department' -
mobile_phoneCharreadonly=True -
nameCharreadonly=True -
newly_hiredBooleancompute='_compute_newly_hired'search='_search_newly_hired' args: 'Newly Hired' -
parent_idMany2one → hr.employee.publicreadonly=True args: 'hr.employee.public', 'Manager' -
phoneCharrelated='employee_id.phone' -
resource_calendar_idMany2one → resource.calendarreadonly=True args: 'resource.calendar' -
resource_idMany2one → resource.resourcereadonly=True args: 'resource.resource' -
shareBooleanrelated='employee_id.share' -
show_hr_icon_displayBooleancompute='_compute_presence_icon' -
tzSelectionrelated='resource_id.tz' -
user_idMany2one → res.usersreadonly=True args: 'res.users' -
user_partner_idMany2onerelated='user_id.partner_id'related_sudo=Falsestring="User's partner" -
work_contact_idMany2one → res.partnerreadonly=True args: 'res.partner' -
work_emailCharreadonly=True -
work_location_idMany2one → hr.work.locationreadonly=True args: 'hr.work.location' -
work_location_nameCharrelated='employee_id.work_location_name' -
work_location_typeSelectionrelated='employee_id.work_location_type' -
work_phoneCharreadonly=True
-
get_avatar_card_data(self, fields) -
init(self)
New fields (14)
-
activeBooleandefault=True -
allowed_user_idsMany2many → res.userscompute='_compute_allowed_user_ids'readonly=True args: 'res.users' -
company_idMany2one → res.companydefault=<expr>string='Company'tracking=True args: 'res.company' -
contract_type_idMany2one → hr.contract.typestring='Employment Type'tracking=True args: 'hr.contract.type' -
department_idMany2one → hr.departmentcheck_company=Trueindex='btree_not_null'string='Department'tracking=True args: 'hr.department' -
descriptionHtmlsanitize_attributes=Falsestring='Job Description' -
employee_idsOne2many → hr.employeegroups='base.group_user'string='Employees' args: 'hr.employee', 'job_id' -
expected_employeesIntegercompute='_compute_employees'groups='hr.group_hr_user'help='Expected number of employees for this job position after new recruitment.'string='Total Forecasted Employees' -
nameCharindex='trigram'required=Truestring='Job Position'translate=True -
no_of_employeeIntegercompute='_compute_employees'groups='hr.group_hr_user'help='Number of employees currently occupying this job position.'string='Current Number of Employees' -
no_of_recruitmentIntegercopy=Falsedefault=1help='Number of new employees you expect to recruit.'string='Target' -
requirementsTextgroups='hr.group_hr_user' args: 'Requirements' -
sequenceIntegerdefault=10 -
user_idMany2one → res.usersdefault=<expr>domain="[('share', '=', False), ('company_ids', '=?', company_id)]"groups='hr.group_hr_user'help='The Recruiter will be the default value for all Applicants in this job position. The Recruiter is automatically added to all meetings with the Applicant.'tracking=True args: 'res.users', 'Recruiter'
-
copy_data(self, default=None) -
create(self, vals_list)@api.model_create_multiWe don't want the current user to be follower of all created job -
write(self, vals)
New fields (2)
-
employee_idMany2one → hr.employeereadonly=Truestring='Employee' args: 'hr.employee' -
has_department_manager_accessBooleancompute='_compute_has_department_manager_access'search='_search_has_department_manager_access'
No public methods.
New fields (4)
-
country_codeCharrelated='country_id.code' -
country_idMany2one → res.countrydefault=<expr>domain=<expr>string='Country' args: 'res.country' -
default_resource_calendar_idMany2one → resource.calendardefault=<expr> args: 'resource.calendar', 'Working Hours' -
nameCharargs: 'Salary Structure Type'
No public methods.
New fields (63)
-
activeBooleandefault=Truetracking=True -
active_employeeBooleangroups='hr.group_hr_user'related='employee_id.active'string='Active Employee' -
additional_noteTextcopy=Falsegroups='hr.group_hr_user'string='Additional Note'tracking=True -
address_idMany2one → res.partnercheck_company=Truedefault=_get_default_address_idreadonly=Falsestore=Truestring='Work Address'tracking=True args: 'res.partner' -
allowed_country_state_idsMany2many → res.country.statecompute='_compute_allowed_country_state_ids'groups='hr.group_hr_user' args: 'res.country.state' -
childrenIntegergroups='hr.group_hr_user'string='Dependent Children'tracking=True -
company_country_idMany2one → res.countryreadonly=Truerelated='company_id.country_id'string='Company country' args: 'res.country' -
company_idMany2one → res.companycompute='_compute_company_id'default=<expr>readonly=Falsestore=Truetracking=True args: 'res.company' -
contract_date_endDategroups='hr.group_hr_manager'help="End date of the contract (if it's a fixed-term contract)."tracking=True args: 'Contract End Date' -
contract_date_startDategroups='hr.group_hr_manager'tracking=True args: 'Contract Start Date' -
contract_template_idMany2one → hr.versiondomain="[('company_id', '=', company_id), ('employee_id', '=', False)]"groups='hr.group_hr_user'help='Select a contract template to auto-fill the contract form with predefined values. You can still edit the fields as needed after applying the template.'string='Contract Template'tracking=True args: 'hr.version' -
contract_type_idMany2one → hr.contract.typegroups='hr.group_hr_manager'tracking=True args: 'hr.contract.type', 'Contract Type' -
contract_wageMonetarycompute='_compute_contract_wage'groups='hr.group_hr_manager' args: 'Contract Wage' -
country_codeChardepends=['company_country_id']readonly=Truerelated='company_country_id.code' -
country_idMany2one → res.countrygroups='hr.group_hr_user'tracking=True args: 'res.country', 'Nationality (Country)' -
currency_idMany2onereadonly=Truerelated='company_id.currency_id'string='Currency' -
date_endDatecompute='_compute_dates'groups='hr.group_hr_manager'search='_search_end_date' -
date_startDatecompute='_compute_dates'groups='hr.group_hr_manager'search='_search_start_date' -
date_versionDatedefault=fields.Date.todaygroups='hr.group_hr_user'required=Truetracking=True -
department_idMany2one → hr.departmentcheck_company=Trueindex=Truetracking=True args: 'hr.department' -
departure_dateDatecopy=Falsegroups='hr.group_hr_user'string='Departure Date'tracking=True -
departure_descriptionHtmlcopy=Falsegroups='hr.group_hr_user'string='Additional Information' -
departure_reason_idMany2one → hr.departure.reasoncopy=Falsegroups='hr.group_hr_user'ondelete='restrict'string='Departure Reason'tracking=True args: 'hr.departure.reason' -
display_nameCharcompute='_compute_display_name' -
distance_home_workIntegergroups='hr.group_hr_user'string='Home-Work Distance'tracking=True -
distance_home_work_unitSelectiondefault='kilometers'groups='hr.group_hr_user'required=Truetracking=True args: [('kilometers', 'km'), ('miles', 'mi')], 'Home-Work Distance unit' -
employee_idMany2one → hr.employeedomain="['|', ('company_id', '=', False), ('company_id', '=', company_id)]"index=Truestring='Employee'tracking=True args: 'hr.employee' -
employee_typeSelectiondefault='employee'groups='hr.group_hr_user'required=Truestring='Employee Type'tracking=True args: [('employee', 'Employee'), ('worker', 'Worker'), ('student', 'Student'), ('trainee', 'Trainee'), ('contractor', 'Contractor'), ('freelance', 'Freelancer')] -
hr_responsible_idMany2one → res.usersdefault=<expr>domain=_get_hr_responsible_domaingroups='hr.group_hr_user'help="Person responsible for validating the employee's contracts."required=Truetracking=True args: 'res.users', 'HR Responsible' -
identification_idChargroups='hr.group_hr_user'help="Enter the employee's National Identification Number issued by the government (e.g., Aadhaar, SIN, NIN). This is used for official records and statutory compliance."string='Identification No'tracking=True -
is_currentBooleancompute='_compute_is_current'groups='hr.group_hr_manager' -
is_custom_job_titleBooleancompute='_compute_is_custom_job_title'default=Falsegroups='hr.group_hr_user'store=True -
is_flexibleBooleancompute='_compute_is_flexible'groups='hr.group_hr_user'store=True -
is_fully_flexibleBooleancompute='_compute_is_flexible'groups='hr.group_hr_user'store=True -
is_futureBooleancompute='_compute_is_future'groups='hr.group_hr_manager' -
is_in_contractBooleancompute='_compute_is_in_contract'groups='hr.group_hr_manager' -
is_pastBooleancompute='_compute_is_past'groups='hr.group_hr_manager' -
job_idMany2one → hr.jobcheck_company=Trueindex=Truetracking=True args: 'hr.job' -
job_titleCharcompute='_compute_job_title'inverse='_inverse_job_title'readonly=Falsestore=Truestring='Job Title'tracking=True -
km_home_workIntegercompute='_compute_km_home_work'groups='hr.group_hr_user'inverse='_inverse_km_home_work'store=Truestring='Home-Work Distance in Km'tracking=True -
last_modified_dateDatetimedefault=fields.Datetime.nowgroups='hr.group_hr_user'required=Truestring='Last Modified on' -
last_modified_uidMany2one → res.usersdefault=<expr>groups='hr.group_hr_user'required=Truestring='Last Modified by' args: 'res.users' -
maritalSelectiondefault='single'groups='hr.group_hr_user'required=Trueselection='_get_marital_status_selection'string='Marital Status'tracking=True -
member_of_departmentBooleancompute='_compute_part_of_department'help="Whether the employee is a member of the active user's department or one of it's child department."search='_search_part_of_department' args: 'Member of department' -
nameChartracking=True -
passport_expiration_dateDategroups='hr.group_hr_user'tracking=True args: 'Passport Expiration Date' -
passport_idChargroups='hr.group_hr_user'tracking=True args: 'Passport No' -
private_cityChargroups='hr.group_hr_user'string='Private City'tracking=True -
private_country_idMany2one → res.countrygroups='hr.group_hr_user'string='Private Country'tracking=True args: 'res.country' -
private_state_idMany2one → res.country.statedomain="[('id', 'in', allowed_country_state_ids)]"groups='hr.group_hr_user'string='Private State'tracking=True args: 'res.country.state' -
private_streetChargroups='hr.group_hr_user'string='Private Street'tracking=True -
private_street2Chargroups='hr.group_hr_user'string='Private Street2'tracking=True -
private_zipChargroups='hr.group_hr_user'string='Private Zip'tracking=True -
resource_calendar_idMany2one → resource.calendarcheck_company=Trueinverse='_inverse_resource_calendar_id'string='Working Hours'tracking=True args: 'resource.calendar' -
sexSelectiongroups='hr.group_hr_user'help='This is the legal sex recognized by the state.'string='Gender'tracking=True args: [('male', 'Male'), ('female', 'Female'), ('other', 'Other')] -
spouse_birthdateDategroups='hr.group_hr_user'string='Spouse Birthdate'tracking=True -
spouse_complete_nameChargroups='hr.group_hr_user'string='Spouse Legal Name'tracking=True -
ssnidChargroups='hr.group_hr_user'help='Social Security Number'tracking=True args: 'SSN No' -
structure_type_idMany2one → hr.payroll.structure.typecompute='_compute_structure_type_id'default=_default_salary_structuregroups='hr.group_hr_manager'readonly=Falsestore=Truestring='Salary Structure Type'tracking=True args: 'hr.payroll.structure.type' -
trial_date_endDategroups='hr.group_hr_manager'help='End date of the trial period (if there is one).'tracking=True args: 'End of Trial Period' -
tzSelectionrelated='employee_id.tz' -
wageMonetaryaggregator='avg'groups='hr.group_hr_manager'help="Employee's monthly gross wage."tracking=True args: 'Wage' -
work_location_idMany2one → hr.work.locationdomain="[('address_id', '=', address_id)]"tracking=True args: 'hr.work.location', 'Work Location'
-
action_open_version(self) -
action_open_version_form_view(self) -
check_contract_finished(self) -
create(self, vals_list)@api.model_create_multi -
get_formview_action(self, access_uid=None)Override this method in order to redirect many2one towards the right model - Contract template -> hr.version - Employee record -> hr.employee(.public) with version_id in context -
get_values_from_contract_template(self, contract_template_id) -
write(self, vals)
New fields (1)
-
contract_template_idMany2one → hr.versiondomain=<expr>groups='hr.group_hr_user'help='Select a contract template to auto-fill the contract form with predefined values. You can still edit the fields as needed after applying the template.'required=Truestring='Contract Template' args: 'hr.version'
-
action_load_template(self)
New fields (6)
-
activeBooleandefault=True -
address_idMany2one → res.partnercheck_company=Truerequired=Truestring='Work Address' args: 'res.partner' -
company_idMany2one → res.companydefault=<expr>required=True args: 'res.company' -
location_numberChar -
location_typeSelectiondefault='office'required=Truestring='Cover Image' args: [('home', 'Home'), ('office', 'Office'), ('other', 'Other')] -
nameCharrequired=Truestring='Work Location'
No public methods.
New fields (0)
No new fields.
Public methods (0)No public methods.
New fields (2)
-
department_assignableBooleancompute='_compute_department_assignable' -
department_idMany2one → hr.departmentcheck_company=Truecompute='_compute_department_id'index='btree_not_null'ondelete='cascade'readonly=Falsestore=True args: 'hr.department'
No public methods.
New fields (1)
-
responsible_typeSelectionondelete={'coach': 'cascade', 'manager': 'cascade', 'employee': 'cascade'}selection_add=[('coach', 'Coach'), ('manager', 'Manager'), ('employee', 'Employee')]
No public methods.
New fields (2)
-
department_idMany2one → hr.departmentcompute='_compute_department_id' args: 'hr.department' -
plan_department_filterableBooleancompute='_compute_plan_department_filterable'
No public methods.
New fields (1)
-
alias_contactSelectionondelete={'employees': 'cascade'}selection_add=[('employees', 'Authenticated Employees')]
No public methods.
New fields (9)
-
contract_expiration_notice_periodIntegerdefault=7 args: 'Contract Expiry Notice Period' -
employee_properties_definitionPropertiesDefinitionargs: 'Employee Properties' -
hr_presence_control_attendanceBooleanstring='Based on attendances' -
hr_presence_control_emailBooleanstring='Based on number of emails sent' -
hr_presence_control_email_amountIntegerstring='# emails to send' -
hr_presence_control_ipBooleanstring='Based on IP Address' -
hr_presence_control_ip_listCharstring='Valid IP addresses' -
hr_presence_control_loginBooleandefault=Truestring='Based on user status in system' -
work_permit_expiration_notice_periodIntegerdefault=60 args: 'Work Permit Expiry Notice Period'
No public methods.
New fields (11)
-
contract_expiration_notice_periodIntegerreadonly=Falserelated='company_id.contract_expiration_notice_period'string='Contract Expiry Notice Period' -
hr_presence_control_emailBooleanreadonly=Falserelated='company_id.hr_presence_control_email' -
hr_presence_control_email_amountIntegerreadonly=Falserelated='company_id.hr_presence_control_email_amount' -
hr_presence_control_ipBooleanreadonly=Falserelated='company_id.hr_presence_control_ip' -
hr_presence_control_ip_listCharreadonly=Falserelated='company_id.hr_presence_control_ip_list' -
hr_presence_control_loginBooleanreadonly=Falserelated='company_id.hr_presence_control_login' -
module_hr_attendanceBooleanreadonly=Falserelated='company_id.hr_presence_control_attendance' -
module_hr_presenceBooleanstring='Advanced Presence Control' -
module_hr_skillsBooleanstring='Skills Management' -
resource_calendar_idMany2one → resource.calendarreadonly=Falserelated='company_id.resource_calendar_id' args: 'resource.calendar', 'Company Working Hours' -
work_permit_expiration_notice_periodIntegerreadonly=Falserelated='company_id.work_permit_expiration_notice_period'string='Work Permit Expiry Notice Period'
No public methods.
New fields (3)
-
employeeBooleancompute='_compute_employee'copy=Falsehelp='Whether this contact is an Employee.'readonly=Falsestore=True -
employee_idsOne2many → hr.employeegroups='hr.group_hr_user'help='Related employees based on their private address'string='Employees' args: 'hr.employee', 'work_contact_id' -
employees_countIntegercompute='_compute_employees_count'groups='hr.group_hr_user'
-
action_open_employees(self)
New fields (13)
-
bank_cityCharreadonly=Falserelated='bank_id.city' -
bank_countryMany2onereadonly=Falserelated='bank_id.country' -
bank_emailCharreadonly=Falserelated='bank_id.email' -
bank_phoneCharreadonly=Falserelated='bank_id.phone' -
bank_stateMany2onereadonly=Falserelated='bank_id.state' -
bank_streetCharreadonly=Falserelated='bank_id.street' -
bank_street2Charreadonly=Falserelated='bank_id.street2' -
bank_zipCharreadonly=Falserelated='bank_id.zip' -
currency_symbolCharrelated='currency_id.symbol' -
employee_has_multiple_bank_accountsBooleanrelated='employee_id.has_multiple_bank_accounts' -
employee_idMany2many → hr.employeecompute='_compute_employee_id'search='_search_employee_id' args: 'hr.employee', 'Employee' -
employee_salary_amountFloatcompute='_compute_salary_amount'digits=(16, 4)readonly=Truestore=Falsestring='Salary Allocation' -
employee_salary_amount_is_percentageBooleancompute='_compute_salary_amount'readonly=Truestore=False
-
action_open_allocation_wizard(self)
New fields (34)
-
additional_noteTextreadonly=Falserelated='employee_id.additional_note'related_sudo=False -
bank_account_idsMany2manyrelated='employee_id.bank_account_ids' -
barcodeCharreadonly=Falserelated='employee_id.barcode'related_sudo=False -
category_idsMany2manyreadonly=Falserelated='employee_id.category_ids'related_sudo=Falsestring='Employee Tags' -
create_employeeBooleancopy=Falsedefault=Falsestore=Falsestring='Technical field, whether to create an employee' -
create_employee_idMany2one → hr.employeecopy=Falsestore=Falsestring='Technical field, bind user to this employee on create' args: 'hr.employee' -
emergency_contactCharreadonly=Falserelated='employee_id.emergency_contact'related_sudo=False -
emergency_phoneCharreadonly=Falserelated='employee_id.emergency_phone'related_sudo=False -
employee_bank_account_idsMany2many → res.partner.bankreadonly=Falserelated='employee_id.bank_account_ids'related_sudo=Falsestring="Employee's Bank Accounts" args: 'res.partner.bank' -
employee_countIntegercompute='_compute_employee_count' -
employee_idMany2one → hr.employeecompute='_compute_company_employee'search='_search_company_employee'store=Falsestring='Company employee' args: 'hr.employee' -
employee_idsOne2many → hr.employeedomain=_employee_ids_domainstring='Related employee' args: 'hr.employee', 'user_id' -
employee_resource_calendar_idMany2onereadonly=Truerelated='employee_id.resource_calendar_id'string="Employee's Working Hours" -
is_hr_userBooleancompute='_compute_is_hr_user' -
is_systemBooleancompute='_compute_is_system' -
job_titleCharrelated='employee_id.job_title' -
km_home_workIntegerreadonly=Falserelated='employee_id.km_home_work'related_sudo=False -
mobile_phoneCharreadonly=Falserelated='employee_id.mobile_phone'related_sudo=False -
pinCharreadonly=Falserelated='employee_id.pin'related_sudo=False -
private_cityCharreadonly=Falserelated='employee_id.private_city'related_sudo=Falsestring='Private City' -
private_country_idMany2onereadonly=Falserelated='employee_id.private_country_id'related_sudo=Falsestring='Private Country' -
private_emailCharreadonly=Falserelated='employee_id.private_email'string='Private Email' -
private_phoneCharreadonly=Falserelated='employee_id.private_phone'related_sudo=False -
private_state_idMany2onedomain="[('country_id', '=?', private_country_id)]"readonly=Falserelated='employee_id.private_state_id'related_sudo=Falsestring='Private State' -
private_streetCharreadonly=Falserelated='employee_id.private_street'related_sudo=Falsestring='Private Street' -
private_street2Charreadonly=Falserelated='employee_id.private_street2'related_sudo=Falsestring='Private Street2' -
private_zipCharreadonly=Falserelated='employee_id.private_zip'related_sudo=Falsestring='Private Zip' -
visa_expireDatereadonly=Falserelated='employee_id.visa_expire'related_sudo=False -
work_contact_idMany2onereadonly=Falserelated='employee_id.work_contact_id'related_sudo=False -
work_emailCharreadonly=Falserelated='employee_id.work_email'related_sudo=False -
work_location_idMany2onereadonly=Falserelated='employee_id.work_location_id'related_sudo=True -
work_location_nameCharrelated='employee_id.work_location_name' -
work_location_typeSelectionrelated='employee_id.work_location_type' -
work_phoneCharreadonly=Falserelated='employee_id.work_phone'related_sudo=False
-
SELF_READABLE_FIELDS(self)@property -
SELF_WRITEABLE_FIELDS(self)@property -
action_create_employee(self) -
action_get(self)@api.model -
action_open_employees(self) -
action_related_contact(self) -
create(self, vals_list)@api.model_create_multi -
get_formview_action(self, access_uid=None)Override this method in order to redirect many2one towards the full user form view incase the user is ERP manager and the request coming from employee form. -
get_view(self, view_id=None, view_type='form', **options)@api.model -
get_views(self, views, options=None)@api.model -
write(self, vals)Synchronize user and its related employee and check access rights if employees are not allowed to update their own data (otherwise sudo is applied for self data).
New fields (0)
No new fields.
Public methods (1)-
transfer_leaves_to(self, other_calendar, resources=None, from_date=None)Transfer some resource.calendar.leaves from 'self' to another calendar 'other_calendar'. Transfered leaves linked to `resources` (or all if `resources` is None) and starting after 'from_date' (or today if None).
New fields (0)
No new fields.
Public methods (0)No public methods.
New fields (10)
-
calendar_idMany2oneinverse='_inverse_calendar_id' -
department_idMany2one → hr.departmentcompute='_compute_department_id'compute_sudo=True args: 'hr.department' -
employee_idOne2many → hr.employeecheck_company=Truecontext={'active_test': False} args: 'hr.employee', 'resource_id' -
hr_icon_displaySelectionrelated='employee_id.hr_icon_display' -
job_titleCharcompute='_compute_job_title'compute_sudo=True -
show_hr_icon_displayBooleanrelated='employee_id.show_hr_icon_display' -
user_idMany2onecopy=False -
work_emailCharrelated='employee_id.work_email' -
work_location_idMany2onerelated='employee_id.work_location_id' -
work_phoneCharrelated='employee_id.work_phone'
No public methods.
Loading…
Loading…
Loading…
Loading…
Loading…
Loading…
Loading…
Loading…
Loading…
Loading…
Loading…
Loading…
Loading…