| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
discuss_channel_view_form |
discuss.channel.view.form.inherit.hr | discuss.channel | xpath | 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 | xpath | Inherits mail.mail_activity_plan_template_view_form |
mail_activity_plan_view_form |
mail.activity.plan.view.form.inherit.hr | mail.activity.plan | xpath | Inherits mail.mail_activity_plan_view_form |
mail_activity_plan_view_form_hr_employee |
mail.activity.plan.view.form.hr.employee | mail.activity.plan | xpath | Inherits mail.mail_activity_plan_view_form_fixed_model |
mail_activity_plan_view_tree |
mail.activity.plan.view.list.inherit.hr | mail.activity.plan | xpath | Inherits mail.mail_activity_plan_view_tree |
mail_activity_schedule_view_form |
mail.activity.schedule.view.form.inherit.hr | mail.activity.schedule | xpath | 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 | xpath | Inherits base.res_config_settings_view_form |
res_partner_view_form |
res.partner.view.form.inherit.hr | res.partner | div | Inherits base.view_partner_form |
res_partner_view_search |
res.partner.search.inherit | res.partner | xpath | Inherits base.view_res_partner_filter |
res_users_view_form |
res.users.form.inherit | res.users | xpath | 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 | button | 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 | xpath | Inherits base.view_partner_bank_form |
view_users_form_simple_modif_resource |
res.users.preferences.form.resource | res.users | field | Inherits base.view_users_form_simple_modif |
view_users_simple_form |
view.users.simple.form.hr | res.users | sheet | Inherits base.view_users_simple_form |
view_users_simple_form_inherit_hr |
view.users.simple.form.inherit.hr | res.users | xpath | Inherits base.view_users_simple_form |
No new fields.
Public methods (0)No public methods.
subscription_department_ids
Many2many → hr.department
help='Automatically subscribe members of those departments to the channel.'
string='HR Departments'
args: 'hr.department'
write(self, vals)
allocation_ids
One2many → hr.bank.account.allocation.wizard.line
readonly=False
string='Allocations'
args: 'hr.bank.account.allocation.wizard.line', 'wizard_id'
employee_id
Many2one → hr.employee
required=True
args: 'hr.employee'
action_save(self)
create(self, vals_list)
acc_number
Char
readonly=True
related='bank_account_id.acc_number'
amount
Float
digits=(16, 2)
readonly=False
string='Amount'
amount_type
Selection
readonly=False
selection='_get_amount_type_selection_vals'
bank_account_id
Many2one → res.partner.bank
readonly=True
required=True
args: 'res.partner.bank'
sequence
Integer
default=10
symbol
Char
compute='_compute_symbol'
readonly=True
trusted
Boolean
string='Trusted'
wizard_id
Many2one → hr.bank.account.allocation.wizard
ondelete='cascade'
required=True
args: 'hr.bank.account.allocation.wizard'
No public methods.
code
Char
compute='_compute_code'
readonly=False
store=True
country_id
Many2one → res.country
domain=<expr>
args: 'res.country'
name
Char
required=True
translate=True
sequence
Integer
No public methods.
active
Boolean
default=True
args: 'Active'
child_ids
One2many → hr.department
string='Child Departments'
args: 'hr.department', 'parent_id'
color
Integer
company_id
Many2one → res.company
compute='_compute_company_id'
default=<expr>
index=True
readonly=False
recursive=True
store=True
string='Company'
tracking=True
args: 'res.company'
complete_name
Char
compute='_compute_complete_name'
recursive=True
search='_search_complete_name'
args: 'Complete Name'
has_read_access
Boolean
export_string_translation=False
search='_search_has_read_access'
store=False
jobs_ids
One2many → hr.job
string='Jobs'
args: 'hr.job', 'department_id'
manager_id
Many2one → hr.employee
domain="['|', ('company_id', '=', False), ('company_id', 'in', allowed_company_ids)]"
string='Manager'
tracking=True
args: 'hr.employee'
master_department_id
Many2one → hr.department
compute='_compute_master_department_id'
store=True
args: 'hr.department', 'Master Department'
member_ids
One2many → hr.employee
readonly=True
string='Members'
args: 'hr.employee', 'department_id'
name
Char
required=True
translate=True
args: 'Department Name'
note
Text
parent_id
Many2one → hr.department
check_company=True
index=True
string='Parent Department'
args: 'hr.department'
parent_path
Char
index=True
plan_ids
One2many → mail.activity.plan
plans_count
Integer
compute='_compute_plan_count'
total_employee
Integer
compute='_compute_total_employee'
export_string_translation=False
string='Total Employee'
action_employee_from_department(self)
action_open_view_child_departments(self)
action_plan_from_department(self)
create(self, vals_list)
get_children_department_ids(self)
get_department_hierarchy(self)
get_formview_action(self, access_uid=None)
name_create(self, name)
write(self, vals)
country_code
Char
related='country_id.code'
country_id
Many2one → res.country
default=<expr>
string='Country'
args: 'res.country'
name
Char
required=True
string='Reason'
translate=True
sequence
Integer
default=10
args: 'Sequence'
No public methods.
departure_date
Date
default=_get_default_departure_date
required=True
string='Contract End Date'
departure_description
Html
string='Additional Information'
departure_reason_id
Many2one → hr.departure.reason
default=<expr>
required=True
args: 'hr.departure.reason'
employee_ids
Many2many → hr.employee
context={'active_test': False}
default=_get_default_employee_ids
domain=_get_domain_employee_ids
required=True
string='Employees'
args: 'hr.employee'
is_user_employee
Boolean
compute='_compute_is_user_employee'
string='User Employee'
remove_related_user
Boolean
help='If checked, the related user will be removed from the system.'
string='Related User'
set_date_end
Boolean
default=<expr>
help='Set the end date on the current contract.'
string='Set Contract End Date'
action_register_departure(self)
active
Boolean
default=True
readonly=False
related='resource_id.active'
store=True
args: 'Active'
activity_date_deadline
Date
groups='hr.group_hr_user'
activity_exception_decoration
Selection
groups='hr.group_hr_user'
activity_exception_icon
Char
groups='hr.group_hr_user'
activity_ids
One2many
groups='hr.group_hr_user'
activity_state
Selection
groups='hr.group_hr_user'
activity_summary
Char
groups='hr.group_hr_user'
activity_type_icon
Char
groups='hr.group_hr_user'
activity_type_id
Many2one
groups='hr.group_hr_user'
activity_user_id
Many2one
groups='hr.group_hr_user'
bank_account_ids
Many2many → res.partner.bank
column1='employee_id'
column2='bank_account_id'
copy=False
domain="[('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'
barcode
Char
copy=False
groups='hr.group_hr_user'
help='ID used for employee identification.'
string='Badge ID'
birthday
Date
groups='hr.group_hr_user'
tracking=True
args: 'Birthday'
birthday_public_display
Boolean
default=False
groups='hr.group_hr_user'
args: 'Show to all employees'
birthday_public_display_string
Char
compute='_compute_birthday_public_display_string'
default='hidden'
args: 'Public Date of Birth'
category_ids
Many2many → hr.employee.category
groups='hr.group_hr_user'
string='Tags'
args: 'hr.employee.category', 'employee_category_rel', 'employee_id', 'category_id'
certificate
Selection
groups='hr.group_hr_user'
selection='_get_certificate_selection'
string='Certificate Level'
tracking=True
child_ids
One2many → hr.employee
string='Direct subordinates'
args: 'hr.employee', 'parent_id'
coach_id
Many2one → hr.employee
compute='_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=False
store=True
args: 'hr.employee', 'Coach'
color
Integer
default=0
args: 'Color Index'
company_country_code
Char
depends=['company_country_id']
groups='base.group_system,hr.group_hr_user'
readonly=True
related='company_country_id.code'
string='Company Country Code'
company_country_id
Many2one → res.country
groups='base.group_system,hr.group_hr_user'
readonly=True
related='company_id.country_id'
args: 'res.country', 'Company Country'
company_id
Many2one → res.company
required=True
tracking=True
args: 'res.company'
contract_date_end
Date
groups='hr.group_hr_manager'
inherited=True
readonly=False
related='version_id.contract_date_end'
contract_date_start
Date
groups='hr.group_hr_manager'
inherited=True
readonly=False
related='version_id.contract_date_start'
contract_type_id
Many2one
groups='hr.group_hr_manager'
inherited=True
readonly=False
related='version_id.contract_type_id'
contract_wage
Monetary
groups='hr.group_hr_manager'
inherited=True
related='version_id.contract_wage'
country_of_birth
Many2one → res.country
groups='hr.group_hr_user'
string='Country of Birth'
tracking=True
args: 'res.country'
currency_id
Many2one → res.currency
groups='hr.group_hr_user'
readonly=True
related='company_id.currency_id'
args: 'res.currency'
current_date_version
Date
groups='hr.group_hr_user'
related='current_version_id.date_version'
string='Current Date Version'
current_version_id
Many2one → hr.version
bypass_search_access=True
compute='_compute_current_version_id'
store=True
args: 'hr.version'
date_end
Date
groups='hr.group_hr_manager'
inherited=True
related='version_id.date_end'
date_start
Date
groups='hr.group_hr_manager'
inherited=True
related='version_id.date_start'
driving_license
Binary
groups='hr.group_hr_user'
string='Driving License'
email
Char
related='user_id.email'
emergency_contact
Char
groups='hr.group_hr_user'
tracking=True
emergency_phone
Char
groups='hr.group_hr_user'
tracking=True
employee_properties
Properties
definition='company_id.employee_properties_definition'
groups='hr.group_hr_user'
precompute=False
args: 'Properties'
has_message
Boolean
groups='hr.group_hr_user'
has_multiple_bank_accounts
Boolean
compute='_compute_has_multiple_bank_accounts'
default=False
groups='hr.group_hr_user'
has_work_permit
Binary
groups='hr.group_hr_user'
string='Work Permit'
hr_icon_display
Selection
compute='_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_state
Selection
compute='_compute_presence_state'
default='out_of_working_hour'
args: [('present', 'Present'), ('absent', 'Absent'), ('archive', 'Archived'), ('out_of_working_hour', 'Off-Hours')]
id_card
Binary
groups='hr.group_hr_user'
string='ID Card Copy'
im_status
Char
related='user_id.im_status'
is_current
Boolean
groups='hr.group_hr_manager'
inherited=True
related='version_id.is_current'
is_future
Boolean
groups='hr.group_hr_manager'
inherited=True
related='version_id.is_future'
is_in_contract
Boolean
groups='hr.group_hr_manager'
inherited=True
related='version_id.is_in_contract'
is_past
Boolean
groups='hr.group_hr_manager'
inherited=True
related='version_id.is_past'
is_trusted_bank_account
Boolean
compute='_compute_is_trusted_bank_account'
groups='hr.group_hr_user'
is_user_active
Boolean
groups='hr.group_hr_user'
related='user_id.active'
string="User's active"
lang
Selection
groups='hr.group_hr_user'
selection=_lang_get
string='Lang'
last_activity
Date
compute='_compute_last_activity'
last_activity_time
Char
compute='_compute_last_activity'
legal_name
Char
compute='_compute_legal_name'
groups='hr.group_hr_user'
readonly=False
store=True
message_attachment_count
Integer
groups='hr.group_hr_user'
message_follower_ids
One2many
groups='hr.group_hr_user'
message_has_error
Boolean
groups='hr.group_hr_user'
message_has_error_counter
Integer
groups='hr.group_hr_user'
message_ids
One2many
groups='hr.group_hr_user'
message_is_follower
Boolean
groups='hr.group_hr_user'
message_main_attachment_id
Many2one
groups='hr.group_hr_user'
message_needaction
Boolean
groups='hr.group_hr_user'
message_needaction_counter
Integer
groups='hr.group_hr_user'
message_partner_ids
Many2many
groups='hr.group_hr_user'
mobile_phone
Char
my_activity_date_deadline
Date
groups='hr.group_hr_user'
name
Char
readonly=False
related='resource_id.name'
store=True
string='Employee Name'
tracking=True
newly_hired
Boolean
compute='_compute_newly_hired'
search='_search_newly_hired'
args: 'Newly Hired'
parent_id
Many2one → hr.employee
domain="['|', ('company_id', '=', False), ('company_id', 'in', allowed_company_ids)]"
index=True
tracking=True
args: 'hr.employee', 'Manager'
permit_no
Char
groups='hr.group_hr_user'
tracking=True
args: 'Work Permit No'
phone
Char
related='user_id.phone'
pin
Char
copy=False
groups='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_birth
Char
groups='hr.group_hr_user'
tracking=True
args: 'Place of Birth'
primary_bank_account_id
Many2one → res.partner.bank
compute='_compute_primary_bank_account_id'
groups='hr.group_hr_user'
args: 'res.partner.bank'
private_car_plate
Char
groups='hr.group_hr_user'
help='If you have more than one car, just separate the plates by a space.'
private_email
Char
groups='hr.group_hr_user'
string='Private Email'
private_phone
Char
groups='hr.group_hr_user'
string='Private Phone'
related_partners_count
Integer
compute='_compute_related_partners_count'
groups='hr.group_hr_user'
resource_calendar_id
Many2one
check_company=True
index=False
inherited=True
related='version_id.resource_calendar_id'
store=False
resource_id
Many2one → resource.resource
required=True
args: 'resource.resource'
salary_distribution
Json
compute='_sync_salary_distribution'
groups='hr.group_hr_user'
readonly=False
store=True
string='Salary Distribution'
share
Boolean
related='user_id.share'
show_hr_icon_display
Boolean
compute='_compute_presence_icon'
structure_type_id
Many2one
groups='hr.group_hr_manager'
inherited=True
readonly=False
related='version_id.structure_type_id'
study_field
Char
groups='hr.group_hr_user'
tracking=True
args: 'Field of Study'
study_school
Char
groups='hr.group_hr_user'
tracking=True
args: 'School'
trial_date_end
Date
groups='hr.group_hr_manager'
inherited=True
readonly=False
related='version_id.trial_date_end'
tz
Selection
tracking=True
user_id
Many2one → res.users
check_company=True
index='btree_not_null'
ondelete='restrict'
precompute=True
readonly=False
related='resource_id.user_id'
store=True
args: 'res.users', 'User'
user_partner_id
Many2one
related='user_id.partner_id'
related_sudo=False
string="User's partner"
version_id
Many2one → hr.version
compute='_compute_version_id'
compute_sudo=True
groups='hr.group_hr_user'
ondelete='cascade'
required=True
search='_search_version_id'
store=False
args: 'hr.version'
version_ids
One2many → hr.version
groups='hr.group_hr_user'
required=True
string='Employee Versions'
args: 'hr.version', 'employee_id'
version_revision
Char
compute='_compute_version_revision'
groups='hr.group_hr_user'
versions_count
Integer
compute='_compute_versions_count'
groups='hr.group_hr_user'
visa_expire
Date
groups='hr.group_hr_user'
tracking=True
args: 'Visa Expiration Date'
visa_no
Char
groups='hr.group_hr_user'
tracking=True
args: 'Visa No'
work_contact_id
Many2one → res.partner
copy=False
index='btree_not_null'
args: 'res.partner', 'Work Contact'
work_email
Char
compute='_compute_work_contact_details'
inverse='_inverse_work_contact_details'
store=True
args: 'Work Email'
work_location_name
Char
compute='_compute_work_location_name'
args: 'Work Location Name'
work_location_type
Selection
compute='_compute_work_location_type'
tracking=True
args: [('home', 'Home'), ('office', 'Office'), ('other', 'Other')]
work_permit_expiration_date
Date
groups='hr.group_hr_user'
tracking=True
args: 'Work Permit Expiration Date'
work_permit_name
Char
compute='_compute_work_permit_name'
groups='hr.group_hr_user'
args: 'work_permit_name'
work_permit_scheduled_activity
Boolean
default=False
groups='hr.group_hr_user'
work_phone
Char
compute='_compute_work_contact_details'
inverse='_inverse_work_contact_details'
readonly=False
store=True
tracking=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)
check_no_existing_contract(self, date)
create(self, vals_list)
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)
get_formview_id(self, access_uid=None)
get_import_templates(self)
get_remaining_percentage(self)
get_view(self, view_id=None, view_type='form', **options)
get_views(self, views, options=None)
new(self, values=None, origin=None, ref=None)
notify_expiring_contract_work_permit(self)
search_fetch(self, domain, field_names=None, offset=0, limit=None, order=None)
unlink(self)
write(self, vals)
color
Integer
default=_get_default_color
string='Color Index'
employee_ids
Many2many → hr.employee
string='Employees'
args: 'hr.employee', 'employee_category_rel', 'category_id', 'employee_id'
name
Char
required=True
string='Tag Name'
No public methods.
active
Boolean
readonly=True
address_id
Many2one → res.partner
readonly=True
args: 'res.partner'
avatar_1024
Image
compute_sudo=True
related='employee_id.avatar_1024'
args: 'Avatar 1024'
avatar_128
Image
compute_sudo=True
related='employee_id.avatar_128'
args: 'Avatar 128'
avatar_1920
Image
compute_sudo=True
related='employee_id.avatar_1920'
args: 'Avatar'
avatar_256
Image
compute_sudo=True
related='employee_id.avatar_256'
args: 'Avatar 256'
avatar_512
Image
compute_sudo=True
related='employee_id.avatar_512'
args: 'Avatar 512'
birthday_public_display_string
Char
related='employee_id.birthday_public_display_string'
args: 'Public Date of Birth'
child_ids
One2many → hr.employee.public
readonly=True
string='Direct subordinates'
args: 'hr.employee.public', 'parent_id'
coach_id
Many2one → hr.employee.public
readonly=True
args: 'hr.employee.public', 'Coach'
color
Integer
readonly=True
company_id
Many2one → res.company
readonly=True
args: 'res.company'
country_code
Char
compute='_compute_country_code'
create_date
Datetime
readonly=True
department_id
Many2one → hr.department
readonly=True
args: 'hr.department'
email
Char
related='employee_id.email'
employee_id
Many2one → hr.employee
readonly=True
args: 'hr.employee', 'Employee'
hr_icon_display
Selection
compute='_compute_presence_icon'
selection='_get_selection_hr_icon_display'
hr_presence_state
Selection
compute='_compute_presence_state'
default='out_of_working_hour'
args: [('present', 'Present'), ('absent', 'Absent'), ('archive', 'Archived'), ('out_of_working_hour', 'Off-Hours')]
im_status
Char
related='employee_id.im_status'
image_1024
Image
compute_sudo=True
related='employee_id.image_1024'
args: 'Image 1024'
image_128
Image
compute_sudo=True
related='employee_id.image_128'
args: 'Image 128'
image_1920
Image
compute_sudo=True
related='employee_id.image_1920'
args: 'Image'
image_256
Image
compute_sudo=True
related='employee_id.image_256'
args: 'Image 256'
image_512
Image
compute_sudo=True
related='employee_id.image_512'
args: 'Image 512'
is_manager
Boolean
compute='_compute_is_manager'
is_user
Boolean
compute='_compute_is_user'
job_id
Many2one → hr.job
readonly=True
args: 'hr.job'
job_title
Char
related='employee_id.job_title'
last_activity
Date
compute='_compute_last_activity'
last_activity_time
Char
compute='_compute_last_activity'
member_of_department
Boolean
compute='_compute_member_of_department'
search='_search_part_of_department'
mobile_phone
Char
readonly=True
name
Char
readonly=True
newly_hired
Boolean
compute='_compute_newly_hired'
search='_search_newly_hired'
args: 'Newly Hired'
parent_id
Many2one → hr.employee.public
readonly=True
args: 'hr.employee.public', 'Manager'
phone
Char
related='employee_id.phone'
resource_calendar_id
Many2one → resource.calendar
readonly=True
args: 'resource.calendar'
resource_id
Many2one → resource.resource
readonly=True
args: 'resource.resource'
share
Boolean
related='employee_id.share'
show_hr_icon_display
Boolean
compute='_compute_presence_icon'
tz
Selection
related='resource_id.tz'
user_id
Many2one → res.users
readonly=True
args: 'res.users'
user_partner_id
Many2one
related='user_id.partner_id'
related_sudo=False
string="User's partner"
work_contact_id
Many2one → res.partner
readonly=True
args: 'res.partner'
work_email
Char
readonly=True
work_location_id
Many2one → hr.work.location
readonly=True
args: 'hr.work.location'
work_location_name
Char
related='employee_id.work_location_name'
work_location_type
Selection
related='employee_id.work_location_type'
work_phone
Char
readonly=True
get_avatar_card_data(self, fields)
init(self)
active
Boolean
default=True
allowed_user_ids
Many2many → res.users
compute='_compute_allowed_user_ids'
readonly=True
args: 'res.users'
company_id
Many2one → res.company
default=<expr>
string='Company'
tracking=True
args: 'res.company'
contract_type_id
Many2one → hr.contract.type
string='Employment Type'
tracking=True
args: 'hr.contract.type'
department_id
Many2one → hr.department
check_company=True
index='btree_not_null'
string='Department'
tracking=True
args: 'hr.department'
description
Html
sanitize_attributes=False
string='Job Description'
employee_ids
One2many → hr.employee
groups='base.group_user'
string='Employees'
args: 'hr.employee', 'job_id'
expected_employees
Integer
compute='_compute_employees'
groups='hr.group_hr_user'
help='Expected number of employees for this job position after new recruitment.'
string='Total Forecasted Employees'
name
Char
index='trigram'
required=True
string='Job Position'
translate=True
no_of_employee
Integer
compute='_compute_employees'
groups='hr.group_hr_user'
help='Number of employees currently occupying this job position.'
string='Current Number of Employees'
no_of_recruitment
Integer
copy=False
default=1
help='Number of new employees you expect to recruit.'
string='Target'
requirements
Text
groups='hr.group_hr_user'
args: 'Requirements'
sequence
Integer
default=10
user_id
Many2one → res.users
default=<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)
write(self, vals)
employee_id
Many2one → hr.employee
readonly=True
string='Employee'
args: 'hr.employee'
has_department_manager_access
Boolean
compute='_compute_has_department_manager_access'
search='_search_has_department_manager_access'
No public methods.
country_code
Char
related='country_id.code'
country_id
Many2one → res.country
default=<expr>
domain=<expr>
string='Country'
args: 'res.country'
default_resource_calendar_id
Many2one → resource.calendar
default=<expr>
args: 'resource.calendar', 'Working Hours'
name
Char
No public methods.
active
Boolean
default=True
tracking=True
active_employee
Boolean
groups='hr.group_hr_user'
related='employee_id.active'
string='Active Employee'
additional_note
Text
copy=False
groups='hr.group_hr_user'
string='Additional Note'
tracking=True
address_id
Many2one → res.partner
check_company=True
default=_get_default_address_id
readonly=False
store=True
string='Work Address'
tracking=True
args: 'res.partner'
allowed_country_state_ids
Many2many → res.country.state
compute='_compute_allowed_country_state_ids'
groups='hr.group_hr_user'
args: 'res.country.state'
children
Integer
groups='hr.group_hr_user'
string='Dependent Children'
tracking=True
company_country_id
Many2one → res.country
readonly=True
related='company_id.country_id'
string='Company country'
args: 'res.country'
company_id
Many2one → res.company
compute='_compute_company_id'
default=<expr>
readonly=False
store=True
tracking=True
args: 'res.company'
contract_date_end
Date
groups='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_start
Date
groups='hr.group_hr_manager'
tracking=True
args: 'Contract Start Date'
contract_template_id
Many2one → hr.version
domain="[('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_id
Many2one → hr.contract.type
groups='hr.group_hr_manager'
tracking=True
args: 'hr.contract.type', 'Contract Type'
contract_wage
Monetary
compute='_compute_contract_wage'
groups='hr.group_hr_manager'
args: 'Contract Wage'
country_code
Char
depends=['company_country_id']
readonly=True
related='company_country_id.code'
country_id
Many2one → res.country
groups='hr.group_hr_user'
tracking=True
args: 'res.country', 'Nationality (Country)'
currency_id
Many2one
readonly=True
related='company_id.currency_id'
string='Currency'
date_end
Date
compute='_compute_dates'
groups='hr.group_hr_manager'
search='_search_end_date'
date_start
Date
compute='_compute_dates'
groups='hr.group_hr_manager'
search='_search_start_date'
date_version
Date
default=fields.Date.today
groups='hr.group_hr_user'
required=True
tracking=True
department_id
Many2one → hr.department
check_company=True
index=True
tracking=True
args: 'hr.department'
departure_date
Date
copy=False
groups='hr.group_hr_user'
string='Departure Date'
tracking=True
departure_description
Html
copy=False
groups='hr.group_hr_user'
string='Additional Information'
departure_reason_id
Many2one → hr.departure.reason
copy=False
groups='hr.group_hr_user'
ondelete='restrict'
string='Departure Reason'
tracking=True
args: 'hr.departure.reason'
display_name
Char
compute='_compute_display_name'
distance_home_work
Integer
groups='hr.group_hr_user'
string='Home-Work Distance'
tracking=True
distance_home_work_unit
Selection
default='kilometers'
groups='hr.group_hr_user'
required=True
tracking=True
args: [('kilometers', 'km'), ('miles', 'mi')], 'Home-Work Distance unit'
employee_id
Many2one → hr.employee
domain="['|', ('company_id', '=', False), ('company_id', '=', company_id)]"
index=True
string='Employee'
tracking=True
args: 'hr.employee'
employee_type
Selection
default='employee'
groups='hr.group_hr_user'
required=True
string='Employee Type'
tracking=True
args: [('employee', 'Employee'), ('worker', 'Worker'), ('student', 'Student'), ('trainee', 'Trainee'), ('contractor', 'Contractor'), ('freelance', 'Freelancer')]
hr_responsible_id
Many2one → res.users
default=<expr>
domain=_get_hr_responsible_domain
groups='hr.group_hr_user'
help="Person responsible for validating the employee's contracts."
required=True
tracking=True
args: 'res.users', 'HR Responsible'
identification_id
Char
groups='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_current
Boolean
compute='_compute_is_current'
groups='hr.group_hr_manager'
is_custom_job_title
Boolean
compute='_compute_is_custom_job_title'
default=False
groups='hr.group_hr_user'
store=True
is_flexible
Boolean
compute='_compute_is_flexible'
groups='hr.group_hr_user'
store=True
is_fully_flexible
Boolean
compute='_compute_is_flexible'
groups='hr.group_hr_user'
store=True
is_future
Boolean
compute='_compute_is_future'
groups='hr.group_hr_manager'
is_in_contract
Boolean
compute='_compute_is_in_contract'
groups='hr.group_hr_manager'
is_past
Boolean
compute='_compute_is_past'
groups='hr.group_hr_manager'
job_id
Many2one → hr.job
check_company=True
index=True
tracking=True
args: 'hr.job'
job_title
Char
compute='_compute_job_title'
inverse='_inverse_job_title'
readonly=False
store=True
string='Job Title'
tracking=True
km_home_work
Integer
compute='_compute_km_home_work'
groups='hr.group_hr_user'
inverse='_inverse_km_home_work'
store=True
string='Home-Work Distance in Km'
tracking=True
last_modified_date
Datetime
default=fields.Datetime.now
groups='hr.group_hr_user'
required=True
string='Last Modified on'
last_modified_uid
Many2one → res.users
default=<expr>
groups='hr.group_hr_user'
required=True
string='Last Modified by'
args: 'res.users'
marital
Selection
default='single'
groups='hr.group_hr_user'
required=True
selection='_get_marital_status_selection'
string='Marital Status'
tracking=True
member_of_department
Boolean
compute='_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'
name
Char
tracking=True
passport_expiration_date
Date
groups='hr.group_hr_user'
tracking=True
args: 'Passport Expiration Date'
passport_id
Char
groups='hr.group_hr_user'
tracking=True
args: 'Passport No'
private_city
Char
groups='hr.group_hr_user'
string='Private City'
tracking=True
private_country_id
Many2one → res.country
groups='hr.group_hr_user'
string='Private Country'
tracking=True
args: 'res.country'
private_state_id
Many2one → res.country.state
domain="[('id', 'in', allowed_country_state_ids)]"
groups='hr.group_hr_user'
string='Private State'
tracking=True
args: 'res.country.state'
private_street
Char
groups='hr.group_hr_user'
string='Private Street'
tracking=True
private_street2
Char
groups='hr.group_hr_user'
string='Private Street2'
tracking=True
private_zip
Char
groups='hr.group_hr_user'
string='Private Zip'
tracking=True
resource_calendar_id
Many2one → resource.calendar
check_company=True
inverse='_inverse_resource_calendar_id'
string='Working Hours'
tracking=True
args: 'resource.calendar'
sex
Selection
groups='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_birthdate
Date
groups='hr.group_hr_user'
string='Spouse Birthdate'
tracking=True
spouse_complete_name
Char
groups='hr.group_hr_user'
string='Spouse Legal Name'
tracking=True
ssnid
Char
groups='hr.group_hr_user'
help='Social Security Number'
tracking=True
args: 'SSN No'
structure_type_id
Many2one → hr.payroll.structure.type
compute='_compute_structure_type_id'
default=_default_salary_structure
groups='hr.group_hr_manager'
readonly=False
store=True
string='Salary Structure Type'
tracking=True
args: 'hr.payroll.structure.type'
trial_date_end
Date
groups='hr.group_hr_manager'
help='End date of the trial period (if there is one).'
tracking=True
args: 'End of Trial Period'
tz
Selection
related='employee_id.tz'
wage
Monetary
aggregator='avg'
groups='hr.group_hr_manager'
help="Employee's monthly gross wage."
tracking=True
args: 'Wage'
work_location_id
Many2one → hr.work.location
domain="[('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)
get_formview_action(self, access_uid=None)
get_values_from_contract_template(self, contract_template_id)
write(self, vals)
contract_template_id
Many2one → hr.version
domain=<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=True
string='Contract Template'
args: 'hr.version'
action_load_template(self)
active
Boolean
default=True
address_id
Many2one → res.partner
check_company=True
required=True
string='Work Address'
args: 'res.partner'
company_id
Many2one → res.company
default=<expr>
required=True
args: 'res.company'
location_number
Char
location_type
Selection
default='office'
required=True
string='Cover Image'
args: [('home', 'Home'), ('office', 'Office'), ('other', 'Other')]
name
Char
required=True
string='Work Location'
No public methods.
No new fields.
Public methods (0)No public methods.
department_assignable
Boolean
compute='_compute_department_assignable'
department_id
Many2one → hr.department
check_company=True
compute='_compute_department_id'
index='btree_not_null'
ondelete='cascade'
readonly=False
store=True
args: 'hr.department'
No public methods.
responsible_type
Selection
ondelete={'coach': 'cascade', 'manager': 'cascade', 'employee': 'cascade'}
selection_add=[('coach', 'Coach'), ('manager', 'Manager'), ('employee', 'Employee')]
No public methods.
department_id
Many2one → hr.department
compute='_compute_department_id'
args: 'hr.department'
plan_department_filterable
Boolean
compute='_compute_plan_department_filterable'
No public methods.
alias_contact
Selection
ondelete={'employees': 'cascade'}
selection_add=[('employees', 'Authenticated Employees')]
No public methods.
contract_expiration_notice_period
Integer
default=7
args: 'Contract Expiry Notice Period'
employee_properties_definition
PropertiesDefinition
hr_presence_control_attendance
Boolean
string='Based on attendances'
hr_presence_control_email
Boolean
string='Based on number of emails sent'
hr_presence_control_email_amount
Integer
string='# emails to send'
hr_presence_control_ip
Boolean
string='Based on IP Address'
hr_presence_control_ip_list
Char
string='Valid IP addresses'
hr_presence_control_login
Boolean
default=True
string='Based on user status in system'
work_permit_expiration_notice_period
Integer
default=60
args: 'Work Permit Expiry Notice Period'
No public methods.
contract_expiration_notice_period
Integer
readonly=False
related='company_id.contract_expiration_notice_period'
string='Contract Expiry Notice Period'
hr_presence_control_email
Boolean
readonly=False
related='company_id.hr_presence_control_email'
hr_presence_control_email_amount
Integer
readonly=False
related='company_id.hr_presence_control_email_amount'
hr_presence_control_ip
Boolean
readonly=False
related='company_id.hr_presence_control_ip'
hr_presence_control_ip_list
Char
readonly=False
related='company_id.hr_presence_control_ip_list'
hr_presence_control_login
Boolean
readonly=False
related='company_id.hr_presence_control_login'
module_hr_attendance
Boolean
readonly=False
related='company_id.hr_presence_control_attendance'
module_hr_presence
Boolean
string='Advanced Presence Control'
module_hr_skills
Boolean
string='Skills Management'
resource_calendar_id
Many2one → resource.calendar
readonly=False
related='company_id.resource_calendar_id'
args: 'resource.calendar', 'Company Working Hours'
work_permit_expiration_notice_period
Integer
readonly=False
related='company_id.work_permit_expiration_notice_period'
string='Work Permit Expiry Notice Period'
No public methods.
employee
Boolean
compute='_compute_employee'
copy=False
help='Whether this contact is an Employee.'
readonly=False
store=True
employee_ids
One2many → hr.employee
groups='hr.group_hr_user'
help='Related employees based on their private address'
string='Employees'
args: 'hr.employee', 'work_contact_id'
employees_count
Integer
compute='_compute_employees_count'
groups='hr.group_hr_user'
action_open_employees(self)
bank_city
Char
readonly=False
related='bank_id.city'
bank_country
Many2one
readonly=False
related='bank_id.country'
bank_email
Char
readonly=False
related='bank_id.email'
bank_phone
Char
readonly=False
related='bank_id.phone'
bank_state
Many2one
readonly=False
related='bank_id.state'
bank_street
Char
readonly=False
related='bank_id.street'
bank_street2
Char
readonly=False
related='bank_id.street2'
bank_zip
Char
readonly=False
related='bank_id.zip'
currency_symbol
Char
related='currency_id.symbol'
employee_has_multiple_bank_accounts
Boolean
related='employee_id.has_multiple_bank_accounts'
employee_id
Many2many → hr.employee
compute='_compute_employee_id'
search='_search_employee_id'
args: 'hr.employee', 'Employee'
employee_salary_amount
Float
compute='_compute_salary_amount'
digits=(16, 4)
readonly=True
store=False
string='Salary Allocation'
employee_salary_amount_is_percentage
Boolean
compute='_compute_salary_amount'
readonly=True
store=False
action_open_allocation_wizard(self)
additional_note
Text
readonly=False
related='employee_id.additional_note'
related_sudo=False
bank_account_ids
Many2many
related='employee_id.bank_account_ids'
barcode
Char
readonly=False
related='employee_id.barcode'
related_sudo=False
category_ids
Many2many
readonly=False
related='employee_id.category_ids'
related_sudo=False
string='Employee Tags'
create_employee
Boolean
copy=False
default=False
store=False
string='Technical field, whether to create an employee'
create_employee_id
Many2one → hr.employee
copy=False
store=False
string='Technical field, bind user to this employee on create'
args: 'hr.employee'
emergency_contact
Char
readonly=False
related='employee_id.emergency_contact'
related_sudo=False
emergency_phone
Char
readonly=False
related='employee_id.emergency_phone'
related_sudo=False
employee_bank_account_ids
Many2many → res.partner.bank
readonly=False
related='employee_id.bank_account_ids'
related_sudo=False
string="Employee's Bank Accounts"
args: 'res.partner.bank'
employee_count
Integer
compute='_compute_employee_count'
employee_id
Many2one → hr.employee
compute='_compute_company_employee'
search='_search_company_employee'
store=False
string='Company employee'
args: 'hr.employee'
employee_ids
One2many → hr.employee
domain=_employee_ids_domain
string='Related employee'
args: 'hr.employee', 'user_id'
employee_resource_calendar_id
Many2one
readonly=True
related='employee_id.resource_calendar_id'
string="Employee's Working Hours"
is_hr_user
Boolean
compute='_compute_is_hr_user'
is_system
Boolean
compute='_compute_is_system'
job_title
Char
related='employee_id.job_title'
km_home_work
Integer
readonly=False
related='employee_id.km_home_work'
related_sudo=False
mobile_phone
Char
readonly=False
related='employee_id.mobile_phone'
related_sudo=False
pin
Char
readonly=False
related='employee_id.pin'
related_sudo=False
private_city
Char
readonly=False
related='employee_id.private_city'
related_sudo=False
string='Private City'
private_country_id
Many2one
readonly=False
related='employee_id.private_country_id'
related_sudo=False
string='Private Country'
private_email
Char
readonly=False
related='employee_id.private_email'
string='Private Email'
private_phone
Char
readonly=False
related='employee_id.private_phone'
related_sudo=False
private_state_id
Many2one
domain="[('country_id', '=?', private_country_id)]"
readonly=False
related='employee_id.private_state_id'
related_sudo=False
string='Private State'
private_street
Char
readonly=False
related='employee_id.private_street'
related_sudo=False
string='Private Street'
private_street2
Char
readonly=False
related='employee_id.private_street2'
related_sudo=False
string='Private Street2'
private_zip
Char
readonly=False
related='employee_id.private_zip'
related_sudo=False
string='Private Zip'
visa_expire
Date
readonly=False
related='employee_id.visa_expire'
related_sudo=False
work_contact_id
Many2one
readonly=False
related='employee_id.work_contact_id'
related_sudo=False
work_email
Char
readonly=False
related='employee_id.work_email'
related_sudo=False
work_location_id
Many2one
readonly=False
related='employee_id.work_location_id'
related_sudo=True
work_location_name
Char
related='employee_id.work_location_name'
work_location_type
Selection
related='employee_id.work_location_type'
work_phone
Char
readonly=False
related='employee_id.work_phone'
related_sudo=False
SELF_READABLE_FIELDS(self)
SELF_WRITEABLE_FIELDS(self)
action_create_employee(self)
action_get(self)
action_open_employees(self)
action_related_contact(self)
create(self, vals_list)
get_formview_action(self, access_uid=None)
get_view(self, view_id=None, view_type='form', **options)
get_views(self, views, options=None)
write(self, vals)
No new fields.
Public methods (1)transfer_leaves_to(self, other_calendar, resources=None, from_date=None)
No new fields.
Public methods (0)No public methods.
calendar_id
Many2one
inverse='_inverse_calendar_id'
department_id
Many2one → hr.department
compute='_compute_department_id'
compute_sudo=True
args: 'hr.department'
employee_id
One2many → hr.employee
check_company=True
context={'active_test': False}
args: 'hr.employee', 'resource_id'
hr_icon_display
Selection
related='employee_id.hr_icon_display'
job_title
Char
compute='_compute_job_title'
compute_sudo=True
show_hr_icon_display
Boolean
related='employee_id.show_hr_icon_display'
user_id
Many2one
copy=False
work_email
Char
related='employee_id.work_email'
work_location_id
Many2one
related='employee_id.work_location_id'
work_phone
Char
related='employee_id.work_phone'
No public methods.
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
discuss_channel_view_form |
discuss.channel.view.form.inherit.hr | discuss.channel | xpath | Inherits mail.discuss_channel_view_form |
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_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_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 | xpath | Inherits mail.mail_activity_plan_template_view_form |
mail_activity_plan_view_form |
mail.activity.plan.view.form.inherit.hr | mail.activity.plan | xpath | Inherits mail.mail_activity_plan_view_form |
mail_activity_plan_view_form_hr_employee |
mail.activity.plan.view.form.hr.employee | mail.activity.plan | xpath | Inherits mail.mail_activity_plan_view_form_fixed_model |
mail_activity_plan_view_tree |
mail.activity.plan.view.list.inherit.hr | mail.activity.plan | xpath | Inherits mail.mail_activity_plan_view_tree |
mail_activity_schedule_view_form |
mail.activity.schedule.view.form.inherit.hr | mail.activity.schedule | xpath | 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 | xpath | Inherits base.res_config_settings_view_form |
res_partner_view_form |
res.partner.view.form.inherit.hr | res.partner | div | Inherits base.view_partner_form |
res_partner_view_search |
res.partner.search.inherit | res.partner | xpath | Inherits base.view_res_partner_filter |
res_users_view_form |
res.users.form.inherit | res.users | xpath | Inherits base.view_users_form |
res_users_view_form_profile |
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 | footer | Inherits base.view_users_form_simple_modif |
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 | div | 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_users_form_simple_modif_resource |
res.users.preferences.form.resource | res.users | field | Inherits base.view_users_form_simple_modif |
view_users_simple_form |
view.users.simple.form.hr | res.users | sheet | Inherits base.view_users_simple_form |
view_users_simple_form_inherit_hr |
view.users.simple.form.inherit.hr | res.users | xpath | Inherits base.view_users_simple_form |
No new fields.
Public methods (0)No public methods.
subscription_department_ids
Many2many → hr.department
help='Automatically subscribe members of those departments to the channel.'
string='HR Departments'
args: 'hr.department'
write(self, vals)
code
Char
compute='_compute_code'
readonly=False
store=True
country_id
Many2one → res.country
name
Char
required=True
translate=True
sequence
Integer
No public methods.
active
Boolean
default=True
args: 'Active'
child_ids
One2many → hr.department
string='Child Departments'
args: 'hr.department', 'parent_id'
color
Integer
company_id
Many2one → res.company
default=<expr>
index=True
string='Company'
args: 'res.company'
complete_name
Char
compute='_compute_complete_name'
recursive=True
store=True
args: 'Complete Name'
has_read_access
Boolean
export_string_translation=False
search='_search_has_read_access'
store=False
jobs_ids
One2many → hr.job
string='Jobs'
args: 'hr.job', 'department_id'
manager_id
Many2one → hr.employee
domain="['|', ('company_id', '=', False), ('company_id', 'in', allowed_company_ids)]"
string='Manager'
tracking=True
args: 'hr.employee'
master_department_id
Many2one → hr.department
compute='_compute_master_department_id'
store=True
args: 'hr.department', 'Master Department'
member_ids
One2many → hr.employee
readonly=True
string='Members'
args: 'hr.employee', 'department_id'
name
Char
required=True
translate=True
args: 'Department Name'
note
Text
parent_id
Many2one → hr.department
check_company=True
index=True
string='Parent Department'
args: 'hr.department'
parent_path
Char
index=True
plan_ids
One2many → mail.activity.plan
plans_count
Integer
compute='_compute_plan_count'
total_employee
Integer
compute='_compute_total_employee'
export_string_translation=False
string='Total Employee'
action_employee_from_department(self)
action_open_view_child_departments(self)
action_plan_from_department(self)
create(self, vals_list)
get_children_department_ids(self)
get_department_hierarchy(self)
get_formview_action(self, access_uid=None)
name_create(self, name)
write(self, vals)
name
Char
required=True
string='Reason'
translate=True
reason_code
Integer
sequence
Integer
default=10
args: 'Sequence'
No public methods.
departure_date
Date
default=_get_default_departure_date
required=True
string='Departure Date'
departure_description
Html
string='Additional Information'
departure_reason_id
Many2one → hr.departure.reason
default=<expr>
required=True
args: 'hr.departure.reason'
employee_id
Many2one → hr.employee
default=<expr>
required=True
string='Employee'
args: 'hr.employee'
action_register_departure(self)
active
Boolean
default=True
readonly=False
related='resource_id.active'
store=True
args: 'Active'
activity_date_deadline
Date
groups='hr.group_hr_user'
activity_exception_decoration
Selection
groups='hr.group_hr_user'
activity_exception_icon
Char
groups='hr.group_hr_user'
activity_ids
One2many
groups='hr.group_hr_user'
activity_state
Selection
groups='hr.group_hr_user'
activity_summary
Char
groups='hr.group_hr_user'
activity_type_icon
Char
groups='hr.group_hr_user'
activity_type_id
Many2one
groups='hr.group_hr_user'
activity_user_id
Many2one
groups='hr.group_hr_user'
additional_note
Text
groups='hr.group_hr_user'
string='Additional Note'
tracking=True
bank_account_id
Many2one → res.partner.bank
copy=False
domain="[('partner_id', '=', work_contact_id), '|', ('company_id', '=', False), ('company_id', '=', company_id)]"
groups='hr.group_hr_user'
help='Employee bank account to pay salaries'
tracking=True
args: 'res.partner.bank', 'Bank Account'
barcode
Char
copy=False
groups='hr.group_hr_user'
help='ID used for employee identification.'
string='Badge ID'
birthday
Date
groups='hr.group_hr_user'
tracking=True
args: 'Date of Birth'
category_ids
Many2many → hr.employee.category
groups='hr.group_hr_user'
string='Tags'
args: 'hr.employee.category', 'employee_category_rel', 'employee_id', 'category_id'
certificate
Selection
groups='hr.group_hr_user'
tracking=True
args: [('graduate', 'Graduate'), ('bachelor', 'Bachelor'), ('master', 'Master'), ('doctor', 'Doctor'), ('other', 'Other')], 'Certificate Level'
child_ids
One2many → hr.employee
string='Direct subordinates'
args: 'hr.employee', 'parent_id'
children
Integer
groups='hr.group_hr_user'
string='Number of Dependent Children'
tracking=True
color
Integer
default=0
args: 'Color Index'
company_country_code
Char
depends=['company_country_id']
groups='base.group_system,hr.group_hr_user'
readonly=True
related='company_country_id.code'
company_country_id
Many2one → res.country
groups='base.group_system,hr.group_hr_user'
readonly=True
related='company_id.country_id'
args: 'res.country', 'Company Country'
company_id
Many2one → res.company
required=True
args: 'res.company'
country_id
Many2one → res.country
groups='hr.group_hr_user'
tracking=True
args: 'res.country', 'Nationality (Country)'
country_of_birth
Many2one → res.country
groups='hr.group_hr_user'
string='Country of Birth'
tracking=True
args: 'res.country'
currency_id
Many2one → res.currency
groups='hr.group_hr_user'
readonly=True
related='company_id.currency_id'
args: 'res.currency'
department_id
Many2one
tracking=True
departure_date
Date
copy=False
groups='hr.group_hr_user'
string='Departure Date'
tracking=True
departure_description
Html
copy=False
groups='hr.group_hr_user'
string='Additional Information'
departure_reason_id
Many2one → hr.departure.reason
copy=False
groups='hr.group_hr_user'
ondelete='restrict'
string='Departure Reason'
tracking=True
args: 'hr.departure.reason'
distance_home_work
Integer
groups='hr.group_hr_user'
string='Home-Work Distance'
tracking=True
distance_home_work_unit
Selection
default='kilometers'
groups='hr.group_hr_user'
required=True
tracking=True
args: [('kilometers', 'km'), ('miles', 'mi')], 'Home-Work Distance unit'
driving_license
Binary
groups='hr.group_hr_user'
string='Driving License'
emergency_contact
Char
groups='hr.group_hr_user'
tracking=True
args: 'Contact Name'
emergency_phone
Char
groups='hr.group_hr_user'
tracking=True
args: 'Contact Phone'
employee_properties
Properties
definition='company_id.employee_properties_definition'
groups='hr.group_hr_user'
precompute=False
args: 'Properties'
employee_type
Selection
default='employee'
groups='hr.group_hr_user'
help='Categorize your Employees by type. This field also has an impact on contracts. Only Employees, Students and Trainee will have contract history.'
required=True
string='Employee Type'
args: [('employee', 'Employee'), ('worker', 'Worker'), ('student', 'Student'), ('trainee', 'Trainee'), ('contractor', 'Contractor'), ('freelance', 'Freelancer')]
gender
Selection
groups='hr.group_hr_user'
tracking=True
args: [('male', 'Male'), ('female', 'Female'), ('other', 'Other')]
has_message
Boolean
groups='hr.group_hr_user'
has_work_permit
Binary
groups='hr.group_hr_user'
string='Work Permit'
id_card
Binary
groups='hr.group_hr_user'
string='ID Card Copy'
identification_id
Char
groups='hr.group_hr_user'
string='Identification No'
tracking=True
job_id
Many2one
tracking=True
km_home_work
Integer
compute='_compute_km_home_work'
groups='hr.group_hr_user'
inverse='_inverse_km_home_work'
store=True
string='Home-Work Distance in Km'
lang
Selection
groups='hr.group_hr_user'
selection=_lang_get
string='Lang'
marital
Selection
default='single'
groups='hr.group_hr_user'
required=True
selection='_get_marital_status_selection'
string='Marital Status'
tracking=True
message_attachment_count
Integer
groups='hr.group_hr_user'
message_follower_ids
One2many
groups='hr.group_hr_user'
message_has_error
Boolean
groups='hr.group_hr_user'
message_has_error_counter
Integer
groups='hr.group_hr_user'
message_ids
One2many
groups='hr.group_hr_user'
message_is_follower
Boolean
groups='hr.group_hr_user'
message_main_attachment_id
Many2one
groups='hr.group_hr_user'
message_needaction
Boolean
groups='hr.group_hr_user'
message_needaction_counter
Integer
groups='hr.group_hr_user'
message_partner_ids
Many2many
groups='hr.group_hr_user'
my_activity_date_deadline
Date
groups='hr.group_hr_user'
name
Char
readonly=False
related='resource_id.name'
store=True
string='Employee Name'
tracking=True
notes
Text
groups='hr.group_hr_user'
args: 'Notes'
passport_id
Char
groups='hr.group_hr_user'
tracking=True
args: 'Passport No'
permit_no
Char
groups='hr.group_hr_user'
tracking=True
args: 'Work Permit No'
pin
Char
copy=False
groups='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_birth
Char
groups='hr.group_hr_user'
tracking=True
args: 'Place of Birth'
private_car_plate
Char
groups='hr.group_hr_user'
help='If you have more than one car, just separate the plates by a space.'
private_city
Char
groups='hr.group_hr_user'
string='Private City'
private_country_id
Many2one → res.country
groups='hr.group_hr_user'
string='Private Country'
args: 'res.country'
private_email
Char
groups='hr.group_hr_user'
string='Private Email'
private_phone
Char
groups='hr.group_hr_user'
string='Private Phone'
private_state_id
Many2one → res.country.state
domain="[('country_id', '=?', private_country_id)]"
groups='hr.group_hr_user'
string='Private State'
args: 'res.country.state'
private_street
Char
groups='hr.group_hr_user'
string='Private Street'
private_street2
Char
groups='hr.group_hr_user'
string='Private Street2'
private_zip
Char
groups='hr.group_hr_user'
string='Private Zip'
related_partners_count
Integer
compute='_compute_related_partners_count'
groups='hr.group_hr_user'
resource_calendar_id
Many2one
tracking=True
sinid
Char
groups='hr.group_hr_user'
help='Social Insurance Number'
tracking=True
args: 'SIN No'
spouse_birthdate
Date
groups='hr.group_hr_user'
string='Spouse Birthdate'
tracking=True
spouse_complete_name
Char
groups='hr.group_hr_user'
string='Spouse Complete Name'
tracking=True
ssnid
Char
groups='hr.group_hr_user'
help='Social Security Number'
tracking=True
args: 'SSN No'
study_field
Char
groups='hr.group_hr_user'
tracking=True
args: 'Field of Study'
study_school
Char
groups='hr.group_hr_user'
tracking=True
args: 'School'
user_id
Many2one → res.users
check_company=True
ondelete='restrict'
precompute=True
readonly=False
related='resource_id.user_id'
store=True
args: 'res.users', 'User'
user_partner_id
Many2one
related='user_id.partner_id'
related_sudo=False
string="User's partner"
visa_expire
Date
groups='hr.group_hr_user'
tracking=True
args: 'Visa Expiration Date'
visa_no
Char
groups='hr.group_hr_user'
tracking=True
args: 'Visa No'
work_permit_expiration_date
Date
groups='hr.group_hr_user'
tracking=True
args: 'Work Permit Expiration Date'
work_permit_name
Char
compute='_compute_work_permit_name'
groups='hr.group_hr_user'
args: 'work_permit_name'
work_permit_scheduled_activity
Boolean
default=False
groups='hr.group_hr_user'
action_create_user(self)
action_related_contacts(self)
check_field_access_rights(self, operation, field_names)
create(self, vals_list)
fetch(self, field_names)
filter_valid(self, checked_date)
generate_random_barcode(self)
get_formview_action(self, access_uid=None)
get_formview_id(self, access_uid=None)
get_import_templates(self)
get_view(self, view_id=None, view_type='form', **options)
get_views(self, views, options=None)
search_fetch(self, domain, field_names, offset=0, limit=None, order=None)
toggle_active(self)
unlink(self)
write(self, vals)
active
Boolean
address_id
Many2one → res.partner
check_company=True
compute='_compute_address_id'
precompute=True
readonly=False
store=True
string='Work Address'
args: 'res.partner'
coach_id
Many2one → hr.employee
compute='_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=False
store=True
args: 'hr.employee', 'Coach'
color
Integer
default=0
args: 'Color Index'
company_id
Many2one → res.company
department_id
Many2one → hr.department
check_company=True
args: 'hr.department', 'Department'
email
Char
related='user_id.email'
hr_icon_display
Selection
compute='_compute_presence_icon'
args: [('presence_present', 'Present'), ('presence_out_of_working_hour', 'Out of Working hours'), ('presence_absent', 'Absent'), ('presence_archive', 'Archived'), ('presence_undetermined', 'Undetermined')]
hr_presence_state
Selection
compute='_compute_presence_state'
default='out_of_working_hour'
args: [('present', 'Present'), ('absent', 'Absent'), ('archive', 'Archived'), ('out_of_working_hour', 'Out of Working hours')]
im_status
Char
related='user_id.im_status'
is_flexible
Boolean
compute='_compute_is_flexible'
store=True
is_fully_flexible
Boolean
compute='_compute_is_flexible'
store=True
job_id
Many2one → hr.job
check_company=True
args: 'hr.job', 'Job Position'
job_title
Char
compute='_compute_job_title'
readonly=False
store=True
args: 'Job Title'
last_activity
Date
compute='_compute_last_activity'
last_activity_time
Char
compute='_compute_last_activity'
member_of_department
Boolean
compute='_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'
mobile_phone
Char
compute='_compute_work_contact_details'
inverse='_inverse_work_contact_details'
store=True
args: 'Work Mobile'
name
Char
newly_hired
Boolean
compute='_compute_newly_hired'
search='_search_newly_hired'
args: 'Newly Hired'
parent_id
Many2one → hr.employee
compute='_compute_parent_id'
domain="['|', ('company_id', '=', False), ('company_id', 'in', allowed_company_ids)]"
readonly=False
store=True
args: 'hr.employee', 'Manager'
phone
Char
related='user_id.phone'
resource_calendar_id
Many2one → resource.calendar
check_company=True
args: 'resource.calendar'
resource_id
Many2one → resource.resource
share
Boolean
related='user_id.share'
show_hr_icon_display
Boolean
compute='_compute_presence_icon'
tz
Selection
help='This field is used in order to define in which timezone the employee will work.'
readonly=False
related='resource_id.tz'
string='Timezone'
user_id
Many2one → res.users
help=''
args: 'res.users'
work_contact_id
Many2one → res.partner
copy=False
args: 'res.partner', 'Work Contact'
work_email
Char
compute='_compute_work_contact_details'
inverse='_inverse_work_contact_details'
store=True
args: 'Work Email'
work_location_id
Many2one → hr.work.location
domain="[('address_id', '=', address_id)]"
args: 'hr.work.location', 'Work Location'
work_location_name
Char
compute='_compute_work_location_name_type'
args: 'Work Location Name'
work_location_type
Selection
compute='_compute_work_location_name_type'
args: [('home', 'Home'), ('office', 'Office'), ('other', 'Other')]
work_phone
Char
compute='_compute_phones'
readonly=False
store=True
args: 'Work Phone'
get_avatar_card_data(self, fields)
color
Integer
default=_get_default_color
string='Color Index'
employee_ids
Many2many → hr.employee
string='Employees'
args: 'hr.employee', 'employee_category_rel', 'category_id', 'employee_id'
name
Char
required=True
string='Tag Name'
No public methods.
active
Boolean
readonly=True
address_id
Many2one
readonly=True
avatar_1024
Image
compute_sudo=True
related='employee_id.avatar_1024'
args: 'Avatar 1024'
avatar_128
Image
compute_sudo=True
related='employee_id.avatar_128'
args: 'Avatar 128'
avatar_1920
Image
compute_sudo=True
related='employee_id.avatar_1920'
args: 'Avatar'
avatar_256
Image
compute_sudo=True
related='employee_id.avatar_256'
args: 'Avatar 256'
avatar_512
Image
compute_sudo=True
related='employee_id.avatar_512'
args: 'Avatar 512'
child_ids
One2many → hr.employee.public
readonly=True
string='Direct subordinates'
args: 'hr.employee.public', 'parent_id'
coach_id
Many2one → hr.employee.public
readonly=True
args: 'hr.employee.public', 'Coach'
color
Integer
readonly=True
company_id
Many2one
readonly=True
create_date
Datetime
readonly=True
department_id
Many2one
readonly=True
employee_id
Many2one → hr.employee
compute='_compute_employee_id'
compute_sudo=True
search='_search_employee_id'
args: 'hr.employee', 'Employee'
image_1024
Image
compute_sudo=True
related='employee_id.image_1024'
args: 'Image 1024'
image_128
Image
compute_sudo=True
related='employee_id.image_128'
args: 'Image 128'
image_1920
Image
compute_sudo=True
related='employee_id.image_1920'
args: 'Image'
image_256
Image
compute_sudo=True
related='employee_id.image_256'
args: 'Image 256'
image_512
Image
compute_sudo=True
related='employee_id.image_512'
args: 'Image 512'
is_manager
Boolean
compute='_compute_is_manager'
job_id
Many2one
readonly=True
job_title
Char
readonly=True
mobile_phone
Char
readonly=True
name
Char
readonly=True
parent_id
Many2one → hr.employee.public
readonly=True
args: 'hr.employee.public', 'Manager'
resource_id
Many2one
readonly=True
tz
Selection
readonly=True
user_id
Many2one
readonly=True
user_partner_id
Many2one
related='user_id.partner_id'
related_sudo=False
string="User's partner"
work_contact_id
Many2one
readonly=True
work_email
Char
readonly=True
work_location_id
Many2one
readonly=True
work_phone
Char
readonly=True
init(self)
active
Boolean
default=True
company_id
Many2one → res.company
default=<expr>
string='Company'
args: 'res.company'
contract_type_id
Many2one → hr.contract.type
string='Employment Type'
args: 'hr.contract.type'
department_id
Many2one → hr.department
check_company=True
string='Department'
args: 'hr.department'
description
Html
sanitize_attributes=False
string='Job Description'
employee_ids
One2many → hr.employee
groups='base.group_user'
string='Employees'
args: 'hr.employee', 'job_id'
expected_employees
Integer
compute='_compute_employees'
help='Expected number of employees for this job position after new recruitment.'
store=True
string='Total Forecasted Employees'
name
Char
index='trigram'
required=True
string='Job Position'
translate=True
no_of_employee
Integer
compute='_compute_employees'
help='Number of employees currently occupying this job position.'
store=True
string='Current Number of Employees'
no_of_recruitment
Integer
copy=False
default=1
help='Number of new employees you expect to recruit.'
string='Target'
requirements
Text
sequence
Integer
default=10
copy_data(self, default=None)
create(self, vals_list)
write(self, vals)
employee_id
Many2one → hr.employee
readonly=True
string='Employee'
args: 'hr.employee'
has_department_manager_access
Boolean
compute='_compute_has_department_manager_access'
search='_search_has_department_manager_access'
No public methods.
active
Boolean
default=True
address_id
Many2one → res.partner
check_company=True
required=True
string='Work Address'
args: 'res.partner'
company_id
Many2one → res.company
default=<expr>
required=True
args: 'res.company'
location_number
Char
location_type
Selection
default='office'
required=True
string='Cover Image'
args: [('home', 'Home'), ('office', 'Office'), ('other', 'Other')]
name
Char
required=True
string='Work Location'
No public methods.
No new fields.
Public methods (0)No public methods.
department_assignable
Boolean
compute='_compute_department_assignable'
department_id
Many2one → hr.department
check_company=True
compute='_compute_department_id'
ondelete='cascade'
readonly=False
store=True
args: 'hr.department'
No public methods.
responsible_type
Selection
ondelete={'coach': 'cascade', 'manager': 'cascade', 'employee': 'cascade'}
selection_add=[('coach', 'Coach'), ('manager', 'Manager'), ('employee', 'Employee')]
No public methods.
department_id
Many2one → hr.department
compute='_compute_department_id'
args: 'hr.department'
plan_department_filterable
Boolean
compute='_compute_plan_department_filterable'
No public methods.
alias_contact
Selection
ondelete={'employees': 'cascade'}
selection_add=[('employees', 'Authenticated Employees')]
No public methods.
employee_properties_definition
PropertiesDefinition
hr_presence_control_attendance
Boolean
string='Based on attendances'
hr_presence_control_email
Boolean
string='Based on number of emails sent'
hr_presence_control_email_amount
Integer
string='# emails to send'
hr_presence_control_ip
Boolean
string='Based on IP Address'
hr_presence_control_ip_list
Char
string='Valid IP addresses'
hr_presence_control_login
Boolean
default=True
string='Based on user status in system'
No public methods.
hr_employee_self_edit
Boolean
config_parameter='hr.hr_employee_self_edit'
string='Employee Editing'
hr_presence_control_email
Boolean
readonly=False
related='company_id.hr_presence_control_email'
hr_presence_control_email_amount
Integer
readonly=False
related='company_id.hr_presence_control_email_amount'
hr_presence_control_ip
Boolean
readonly=False
related='company_id.hr_presence_control_ip'
hr_presence_control_ip_list
Char
readonly=False
related='company_id.hr_presence_control_ip_list'
hr_presence_control_login
Boolean
readonly=False
related='company_id.hr_presence_control_login'
module_hr_attendance
Boolean
readonly=False
related='company_id.hr_presence_control_attendance'
module_hr_homeworking
Boolean
string='Remote Work'
module_hr_presence
Boolean
string='Advanced Presence Control'
module_hr_skills
Boolean
string='Skills Management'
resource_calendar_id
Many2one → resource.calendar
readonly=False
related='company_id.resource_calendar_id'
args: 'resource.calendar', 'Company Working Hours'
No public methods.
employee_ids
One2many → hr.employee
groups='hr.group_hr_user'
help='Related employees based on their private address'
string='Employees'
args: 'hr.employee', 'work_contact_id'
employees_count
Integer
compute='_compute_employees_count'
groups='hr.group_hr_user'
action_open_employees(self)
No new fields.
Public methods (0)No public methods.
additional_note
Text
readonly=False
related='employee_id.additional_note'
related_sudo=False
address_id
Many2one
readonly=False
related='employee_id.address_id'
related_sudo=False
barcode
Char
readonly=False
related='employee_id.barcode'
related_sudo=False
birthday
Date
readonly=False
related='employee_id.birthday'
related_sudo=False
can_edit
Boolean
compute='_compute_can_edit'
category_ids
Many2many
readonly=False
related='employee_id.category_ids'
related_sudo=False
string='Employee Tags'
certificate
Selection
readonly=False
related='employee_id.certificate'
related_sudo=False
children
Integer
readonly=False
related='employee_id.children'
related_sudo=False
coach_id
Many2one
readonly=False
related='employee_id.coach_id'
related_sudo=False
country_of_birth
Many2one
readonly=False
related='employee_id.country_of_birth'
related_sudo=False
create_employee
Boolean
copy=False
default=False
store=False
string='Technical field, whether to create an employee'
create_employee_id
Many2one → hr.employee
copy=False
store=False
string='Technical field, bind user to this employee on create'
args: 'hr.employee'
department_id
Many2one
readonly=False
related='employee_id.department_id'
related_sudo=False
distance_home_work
Integer
readonly=False
related='employee_id.distance_home_work'
related_sudo=False
distance_home_work_unit
Selection
readonly=False
related='employee_id.distance_home_work_unit'
related_sudo=False
emergency_contact
Char
readonly=False
related='employee_id.emergency_contact'
related_sudo=False
emergency_phone
Char
readonly=False
related='employee_id.emergency_phone'
related_sudo=False
employee_bank_account_id
Many2one
readonly=False
related='employee_id.bank_account_id'
related_sudo=False
string="Employee's Bank Account Number"
employee_count
Integer
compute='_compute_employee_count'
employee_country_code
Char
readonly=True
related='employee_id.company_country_code'
related_sudo=False
string="Employee's Country Code"
employee_country_id
Many2one
readonly=False
related='employee_id.country_id'
related_sudo=False
string="Employee's Country"
employee_id
Many2one → hr.employee
compute='_compute_company_employee'
search='_search_company_employee'
store=False
string='Company employee'
args: 'hr.employee'
employee_ids
One2many → hr.employee
domain=_employee_ids_domain
string='Related employee'
args: 'hr.employee', 'user_id'
employee_parent_id
Many2one
readonly=False
related='employee_id.parent_id'
related_sudo=False
employee_resource_calendar_id
Many2one
readonly=True
related='employee_id.resource_calendar_id'
string="Employee's Working Hours"
employee_type
Selection
readonly=False
related='employee_id.employee_type'
related_sudo=False
gender
Selection
readonly=False
related='employee_id.gender'
related_sudo=False
hr_presence_state
Selection
related='employee_id.hr_presence_state'
identification_id
Char
readonly=False
related='employee_id.identification_id'
related_sudo=False
is_system
Boolean
compute='_compute_is_system'
job_title
Char
readonly=False
related='employee_id.job_title'
related_sudo=False
km_home_work
Integer
readonly=False
related='employee_id.km_home_work'
related_sudo=False
last_activity
Date
related='employee_id.last_activity'
last_activity_time
Char
related='employee_id.last_activity_time'
marital
Selection
readonly=False
related='employee_id.marital'
related_sudo=False
mobile_phone
Char
readonly=False
related='employee_id.mobile_phone'
related_sudo=False
passport_id
Char
readonly=False
related='employee_id.passport_id'
related_sudo=False
permit_no
Char
readonly=False
related='employee_id.permit_no'
related_sudo=False
pin
Char
readonly=False
related='employee_id.pin'
related_sudo=False
place_of_birth
Char
readonly=False
related='employee_id.place_of_birth'
related_sudo=False
private_city
Char
readonly=False
related='employee_id.private_city'
related_sudo=False
string='Private City'
private_country_id
Many2one
readonly=False
related='employee_id.private_country_id'
related_sudo=False
string='Private Country'
private_email
Char
readonly=False
related='employee_id.private_email'
string='Private Email'
private_lang
Selection
readonly=False
related='employee_id.lang'
string='Employee Lang'
private_phone
Char
readonly=False
related='employee_id.private_phone'
related_sudo=False
private_state_id
Many2one
domain="[('country_id', '=?', private_country_id)]"
readonly=False
related='employee_id.private_state_id'
related_sudo=False
string='Private State'
private_street
Char
readonly=False
related='employee_id.private_street'
related_sudo=False
string='Private Street'
private_street2
Char
readonly=False
related='employee_id.private_street2'
related_sudo=False
string='Private Street2'
private_zip
Char
readonly=False
related='employee_id.private_zip'
related_sudo=False
string='Private Zip'
spouse_birthdate
Date
readonly=False
related='employee_id.spouse_birthdate'
related_sudo=False
spouse_complete_name
Char
readonly=False
related='employee_id.spouse_complete_name'
related_sudo=False
ssnid
Char
readonly=False
related='employee_id.ssnid'
related_sudo=False
study_field
Char
readonly=False
related='employee_id.study_field'
related_sudo=False
study_school
Char
readonly=False
related='employee_id.study_school'
related_sudo=False
visa_expire
Date
readonly=False
related='employee_id.visa_expire'
related_sudo=False
visa_no
Char
readonly=False
related='employee_id.visa_no'
related_sudo=False
work_contact_id
Many2one
readonly=False
related='employee_id.work_contact_id'
related_sudo=False
work_email
Char
readonly=False
related='employee_id.work_email'
related_sudo=False
work_location_id
Many2one
readonly=False
related='employee_id.work_location_id'
related_sudo=False
work_location_name
Char
related='employee_id.work_location_name'
work_location_type
Selection
related='employee_id.work_location_type'
work_phone
Char
readonly=False
related='employee_id.work_phone'
related_sudo=False
SELF_READABLE_FIELDS(self)
SELF_WRITEABLE_FIELDS(self)
action_create_employee(self)
action_get(self)
action_open_employees(self)
create(self, vals_list)
get_view(self, view_id=None, view_type='form', **options)
get_views(self, views, options=None)
write(self, vals)
No new fields.
Public methods (0)No public methods.
department_id
Many2one
related='employee_id.department_id'
employee_id
One2many → hr.employee
check_company=True
context={'active_test': False}
args: 'hr.employee', 'resource_id'
hr_icon_display
Selection
related='employee_id.hr_icon_display'
job_title
Char
related='employee_id.job_title'
show_hr_icon_display
Boolean
related='employee_id.show_hr_icon_display'
user_id
Many2one
copy=False
work_email
Char
related='employee_id.work_email'
work_phone
Char
related='employee_id.work_phone'
No public methods.
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
discuss_channel_view_form |
discuss.channel.view.form.inherit.hr | discuss.channel | xpath | Inherits mail.discuss_channel_view_form |
hr_contract_type_view_form |
hr.contract.type | form | New | |
hr_contract_type_view_tree |
hr.contract.type | tree | 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 | tree | New | |
hr_departure_wizard_view_form |
hr.departure.wizard.view.form | hr.departure.wizard | form | 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.tree | hr.employee.public | tree | 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_work_location_form_view |
hr.work.location.view.form | hr.work.location | form | New |
hr_work_location_tree_view |
hr.work.location.view.tree | hr.work.location | tree | New |
mail_activity_plan_template_view_form |
mail.activity.plan.template.view.form.inherit.hr | mail.activity.plan.template | xpath | Inherits mail.mail_activity_plan_template_view_form |
mail_activity_plan_view_form |
mail.activity.plan.view.form.inherit.hr | mail.activity.plan | xpath | Inherits mail.mail_activity_plan_view_form |
mail_activity_plan_view_form_hr_employee |
mail.activity.plan.view.form.hr.employee | mail.activity.plan | xpath | Inherits mail.mail_activity_plan_view_form_fixed_model |
mail_activity_plan_view_tree |
mail.activity.plan.view.tree.inherit.hr | mail.activity.plan | xpath | Inherits mail.mail_activity_plan_view_tree |
mail_activity_schedule_view_form |
mail.activity.schedule.view.form.inherit.hr | mail.activity.schedule | xpath | 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 | xpath | Inherits base.res_config_settings_view_form |
res_partner_view_form |
res.partner.view.form.inherit.hr | res.partner | div | Inherits base.view_partner_form |
res_users_view_form |
res.users.form.inherit | res.users | xpath | Inherits base.view_users_form |
res_users_view_form_profile |
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 | footer | Inherits base.view_users_form_simple_modif |
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.tree | hr.department | tree | 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 | tree | New |
view_employee_filter |
hr.employee.search | hr.employee | search | New |
view_employee_form |
hr.employee.form | hr.employee | form | New |
view_employee_tree |
hr.employee.tree | hr.employee | tree | New |
view_hr_job_form |
hr.job.form | hr.job | form | New |
view_hr_job_tree |
hr.job.tree | hr.job | tree | New |
view_job_filter |
hr.job.search | hr.job | search | New |
view_users_form_simple_modif_resource |
res.users.preferences.form.resource | res.users | field | Inherits base.view_users_form_simple_modif |
view_users_simple_form |
view.users.simple.form.hr | res.users | sheet | Inherits base.view_users_simple_form |
view_users_simple_form_inherit_hr |
view.users.simple.form.inherit.hr | res.users | xpath | Inherits base.view_users_simple_form |
No new fields.
Public methods (0)No public methods.
subscription_department_ids
Many2many → hr.department
help='Automatically subscribe members of those departments to the channel.'
string='HR Departments'
args: 'hr.department'
write(self, vals)
code
Char
compute='_compute_code'
readonly=False
store=True
country_id
Many2one → res.country
name
Char
required=True
translate=True
sequence
Integer
No public methods.
No new fields.
Public methods (0)No public methods.
active
Boolean
default=True
args: 'Active'
child_ids
One2many → hr.department
string='Child Departments'
args: 'hr.department', 'parent_id'
color
Integer
company_id
Many2one → res.company
default=<expr>
index=True
string='Company'
args: 'res.company'
complete_name
Char
compute='_compute_complete_name'
recursive=True
store=True
args: 'Complete Name'
jobs_ids
One2many → hr.job
string='Jobs'
args: 'hr.job', 'department_id'
manager_id
Many2one → hr.employee
check_company=True
string='Manager'
tracking=True
args: 'hr.employee'
master_department_id
Many2one → hr.department
compute='_compute_master_department_id'
store=True
args: 'hr.department', 'Master Department'
member_ids
One2many → hr.employee
readonly=True
string='Members'
args: 'hr.employee', 'department_id'
name
Char
required=True
translate=True
args: 'Department Name'
note
Text
parent_id
Many2one → hr.department
check_company=True
index=True
string='Parent Department'
args: 'hr.department'
parent_path
Char
index=True
unaccent=False
plan_ids
One2many → mail.activity.plan
plans_count
Integer
compute='_compute_plan_count'
total_employee
Integer
compute='_compute_total_employee'
string='Total Employee'
action_plan_from_department(self)
create(self, vals_list)
get_children_department_ids(self)
get_department_hierarchy(self)
get_formview_action(self, access_uid=None)
name_create(self, name)
write(self, vals)
name
Char
required=True
string='Reason'
translate=True
reason_code
Integer
sequence
Integer
default=10
args: 'Sequence'
No public methods.
departure_date
Date
default=_get_default_departure_date
required=True
string='Departure Date'
departure_description
Html
string='Additional Information'
departure_reason_id
Many2one → hr.departure.reason
default=<expr>
required=True
args: 'hr.departure.reason'
employee_id
Many2one → hr.employee
default=<expr>
required=True
string='Employee'
args: 'hr.employee'
action_register_departure(self)
No new fields.
Public methods (0)No public methods.
active
Boolean
default=True
readonly=False
related='resource_id.active'
store=True
args: 'Active'
additional_note
Text
groups='hr.group_hr_user'
string='Additional Note'
tracking=True
bank_account_id
Many2one → res.partner.bank
copy=False
domain="[('partner_id', '=', work_contact_id), '|', ('company_id', '=', False), ('company_id', '=', company_id)]"
groups='hr.group_hr_user'
help='Employee bank account to pay salaries'
tracking=True
args: 'res.partner.bank', 'Bank Account Number'
barcode
Char
copy=False
groups='hr.group_hr_user'
help='ID used for employee identification.'
string='Badge ID'
birthday
Date
groups='hr.group_hr_user'
tracking=True
args: 'Date of Birth'
category_ids
Many2many → hr.employee.category
groups='hr.group_hr_user'
string='Tags'
args: 'hr.employee.category', 'employee_category_rel', 'emp_id', 'category_id'
certificate
Selection
default='other'
groups='hr.group_hr_user'
tracking=True
args: [('graduate', 'Graduate'), ('bachelor', 'Bachelor'), ('master', 'Master'), ('doctor', 'Doctor'), ('other', 'Other')], 'Certificate Level'
child_ids
One2many → hr.employee
string='Direct subordinates'
args: 'hr.employee', 'parent_id'
children
Integer
groups='hr.group_hr_user'
string='Number of Dependent Children'
tracking=True
color
Integer
default=0
args: 'Color Index'
company_country_code
Char
depends=['company_country_id']
readonly=True
related='company_country_id.code'
company_country_id
Many2one → res.country
readonly=True
related='company_id.country_id'
args: 'res.country', 'Company Country'
company_id
Many2one → res.company
required=True
args: 'res.company'
country_id
Many2one → res.country
groups='hr.group_hr_user'
tracking=True
args: 'res.country', 'Nationality (Country)'
country_of_birth
Many2one → res.country
groups='hr.group_hr_user'
string='Country of Birth'
tracking=True
args: 'res.country'
currency_id
Many2one → res.currency
readonly=True
related='company_id.currency_id'
args: 'res.currency'
department_id
Many2one
tracking=True
departure_date
Date
copy=False
groups='hr.group_hr_user'
string='Departure Date'
tracking=True
departure_description
Html
copy=False
groups='hr.group_hr_user'
string='Additional Information'
departure_reason_id
Many2one → hr.departure.reason
copy=False
groups='hr.group_hr_user'
ondelete='restrict'
string='Departure Reason'
tracking=True
args: 'hr.departure.reason'
driving_license
Binary
groups='hr.group_hr_user'
string='Driving License'
emergency_contact
Char
groups='hr.group_hr_user'
tracking=True
args: 'Contact Name'
emergency_phone
Char
groups='hr.group_hr_user'
tracking=True
args: 'Contact Phone'
employee_properties
Properties
definition='company_id.employee_properties_definition'
precompute=False
args: 'Properties'
employee_type
Selection
default='employee'
groups='hr.group_hr_user'
help='The employee type. Although the primary purpose may seem to categorize employees, this field has also an impact in the Contract History. Only Employee type is supposed to be under contract and will have a Contract History.'
required=True
string='Employee Type'
args: [('employee', 'Employee'), ('student', 'Student'), ('trainee', 'Trainee'), ('contractor', 'Contractor'), ('freelance', 'Freelancer')]
gender
Selection
groups='hr.group_hr_user'
tracking=True
args: [('male', 'Male'), ('female', 'Female'), ('other', 'Other')]
has_work_permit
Binary
groups='hr.group_hr_user'
string='Work Permit'
id_card
Binary
groups='hr.group_hr_user'
string='ID Card Copy'
identification_id
Char
groups='hr.group_hr_user'
string='Identification No'
tracking=True
job_id
Many2one
tracking=True
km_home_work
Integer
groups='hr.group_hr_user'
string='Home-Work Distance'
tracking=True
lang
Selection
groups='hr.group_hr_user'
selection=_lang_get
string='Lang'
marital
Selection
default='single'
groups='hr.group_hr_user'
string='Marital Status'
tracking=True
args: [('single', 'Single'), ('married', 'Married'), ('cohabitant', 'Legal Cohabitant'), ('widower', 'Widower'), ('divorced', 'Divorced')]
message_main_attachment_id
Many2one
groups='hr.group_hr_user'
name
Char
readonly=False
related='resource_id.name'
store=True
string='Employee Name'
tracking=True
notes
Text
groups='hr.group_hr_user'
args: 'Notes'
passport_id
Char
groups='hr.group_hr_user'
tracking=True
args: 'Passport No'
permit_no
Char
groups='hr.group_hr_user'
tracking=True
args: 'Work Permit No'
pin
Char
copy=False
groups='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_birth
Char
groups='hr.group_hr_user'
tracking=True
args: 'Place of Birth'
private_car_plate
Char
groups='hr.group_hr_user'
help='If you have more than one car, just separate the plates by a space.'
private_city
Char
groups='hr.group_hr_user'
string='Private City'
private_country_id
Many2one → res.country
groups='hr.group_hr_user'
string='Private Country'
args: 'res.country'
private_email
Char
groups='hr.group_hr_user'
string='Private Email'
private_phone
Char
groups='hr.group_hr_user'
string='Private Phone'
private_state_id
Many2one → res.country.state
domain="[('country_id', '=?', private_country_id)]"
groups='hr.group_hr_user'
string='Private State'
args: 'res.country.state'
private_street
Char
groups='hr.group_hr_user'
string='Private Street'
private_street2
Char
groups='hr.group_hr_user'
string='Private Street2'
private_zip
Char
groups='hr.group_hr_user'
string='Private Zip'
resource_calendar_id
Many2one
tracking=True
sinid
Char
groups='hr.group_hr_user'
help='Social Insurance Number'
tracking=True
args: 'SIN No'
spouse_birthdate
Date
groups='hr.group_hr_user'
string='Spouse Birthdate'
tracking=True
spouse_complete_name
Char
groups='hr.group_hr_user'
string='Spouse Complete Name'
tracking=True
ssnid
Char
groups='hr.group_hr_user'
help='Social Security Number'
tracking=True
args: 'SSN No'
study_field
Char
groups='hr.group_hr_user'
tracking=True
args: 'Field of Study'
study_school
Char
groups='hr.group_hr_user'
tracking=True
args: 'School'
user_id
Many2one → res.users
ondelete='restrict'
readonly=False
related='resource_id.user_id'
store=True
args: 'res.users', 'User'
user_partner_id
Many2one
related='user_id.partner_id'
related_sudo=False
string="User's partner"
visa_expire
Date
groups='hr.group_hr_user'
tracking=True
args: 'Visa Expiration Date'
visa_no
Char
groups='hr.group_hr_user'
tracking=True
args: 'Visa No'
work_permit_expiration_date
Date
groups='hr.group_hr_user'
tracking=True
args: 'Work Permit Expiration Date'
work_permit_name
Char
compute='_compute_work_permit_name'
args: 'work_permit_name'
work_permit_scheduled_activity
Boolean
default=False
groups='hr.group_hr_user'
action_create_user(self)
create(self, vals_list)
fetch(self, field_names)
generate_random_barcode(self)
get_formview_action(self, access_uid=None)
get_formview_id(self, access_uid=None)
get_import_templates(self)
get_view(self, view_id=None, view_type='form', **options)
get_views(self, views, options=None)
search_fetch(self, domain, field_names, offset=0, limit=None, order=None)
toggle_active(self)
unlink(self)
write(self, vals)
active
Boolean
address_id
Many2one → res.partner
check_company=True
compute='_compute_address_id'
precompute=True
readonly=False
store=True
string='Work Address'
args: 'res.partner'
coach_id
Many2one → hr.employee
check_company=True
compute='_compute_coach'
help='Select the "Employee" who is the coach of this employee.\nThe "Coach" has no specific rights or responsibilities by default.'
readonly=False
store=True
args: 'hr.employee', 'Coach'
color
Integer
default=0
args: 'Color Index'
company_id
Many2one → res.company
department_id
Many2one → hr.department
check_company=True
args: 'hr.department', 'Department'
hr_icon_display
Selection
compute='_compute_presence_icon'
args: [('presence_present', 'Present'), ('presence_absent_active', 'Present but not active'), ('presence_absent', 'Absent'), ('presence_to_define', 'To define'), ('presence_undetermined', 'Undetermined')]
hr_presence_state
Selection
compute='_compute_presence_state'
default='to_define'
args: [('present', 'Present'), ('absent', 'Absent'), ('to_define', 'To Define')]
job_id
Many2one → hr.job
check_company=True
args: 'hr.job', 'Job Position'
job_title
Char
compute='_compute_job_title'
readonly=False
store=True
args: 'Job Title'
last_activity
Date
compute='_compute_last_activity'
last_activity_time
Char
compute='_compute_last_activity'
member_of_department
Boolean
compute='_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'
mobile_phone
Char
compute='_compute_work_contact_details'
inverse='_inverse_work_contact_details'
store=True
args: 'Work Mobile'
name
Char
newly_hired
Boolean
compute='_compute_newly_hired'
search='_search_newly_hired'
args: 'Newly Hired'
parent_id
Many2one → hr.employee
compute='_compute_parent_id'
domain="['|', ('company_id', '=', False), ('company_id', 'in', allowed_company_ids)]"
readonly=False
store=True
args: 'hr.employee', 'Manager'
resource_calendar_id
Many2one → resource.calendar
check_company=True
args: 'resource.calendar'
resource_id
Many2one → resource.resource
show_hr_icon_display
Boolean
compute='_compute_presence_icon'
tz
Selection
help='This field is used in order to define in which timezone the resources will work.'
readonly=False
related='resource_id.tz'
string='Timezone'
user_id
Many2one → res.users
work_contact_id
Many2one → res.partner
copy=False
args: 'res.partner', 'Work Contact'
work_email
Char
compute='_compute_work_contact_details'
inverse='_inverse_work_contact_details'
store=True
args: 'Work Email'
work_location_id
Many2one → hr.work.location
domain="[('address_id', '=', address_id)]"
args: 'hr.work.location', 'Work Location'
work_phone
Char
compute='_compute_phones'
readonly=False
store=True
args: 'Work Phone'
No public methods.
No new fields.
Public methods (0)No public methods.
color
Integer
default=_get_default_color
string='Color Index'
employee_ids
Many2many → hr.employee
string='Employees'
args: 'hr.employee', 'employee_category_rel', 'category_id', 'emp_id'
name
Char
required=True
string='Tag Name'
No public methods.
active
Boolean
readonly=True
address_id
Many2one
readonly=True
avatar_1024
Image
compute_sudo=True
related='employee_id.avatar_1024'
args: 'Avatar 1024'
avatar_128
Image
compute_sudo=True
related='employee_id.avatar_128'
args: 'Avatar 128'
avatar_1920
Image
compute_sudo=True
related='employee_id.avatar_1920'
args: 'Avatar'
avatar_256
Image
compute_sudo=True
related='employee_id.avatar_256'
args: 'Avatar 256'
avatar_512
Image
compute_sudo=True
related='employee_id.avatar_512'
args: 'Avatar 512'
child_ids
One2many → hr.employee.public
readonly=True
string='Direct subordinates'
args: 'hr.employee.public', 'parent_id'
coach_id
Many2one → hr.employee.public
readonly=True
args: 'hr.employee.public', 'Coach'
color
Integer
readonly=True
company_id
Many2one
readonly=True
create_date
Datetime
readonly=True
department_id
Many2one
readonly=True
employee_id
Many2one → hr.employee
compute='_compute_employee_id'
compute_sudo=True
search='_search_employee_id'
args: 'hr.employee', 'Employee'
image_1024
Image
compute_sudo=True
related='employee_id.image_1024'
args: 'Image 1024'
image_128
Image
compute_sudo=True
related='employee_id.image_128'
args: 'Image 128'
image_1920
Image
compute_sudo=True
related='employee_id.image_1920'
args: 'Image'
image_256
Image
compute_sudo=True
related='employee_id.image_256'
args: 'Image 256'
image_512
Image
compute_sudo=True
related='employee_id.image_512'
args: 'Image 512'
is_manager
Boolean
compute='_compute_is_manager'
job_id
Many2one
readonly=True
job_title
Char
readonly=True
mobile_phone
Char
readonly=True
name
Char
readonly=True
parent_id
Many2one → hr.employee.public
readonly=True
args: 'hr.employee.public', 'Manager'
resource_id
Many2one
readonly=True
tz
Selection
readonly=True
user_id
Many2one
readonly=True
user_partner_id
Many2one
related='user_id.partner_id'
related_sudo=False
string="User's partner"
work_contact_id
Many2one
readonly=True
work_email
Char
readonly=True
work_location_id
Many2one
readonly=True
work_phone
Char
readonly=True
init(self)
No new fields.
Public methods (0)No public methods.
active
Boolean
default=True
company_id
Many2one → res.company
default=<expr>
string='Company'
args: 'res.company'
contract_type_id
Many2one → hr.contract.type
string='Employment Type'
args: 'hr.contract.type'
department_id
Many2one → hr.department
check_company=True
string='Department'
args: 'hr.department'
description
Html
default='Perform assigned responsibilities, collaborate with team members, and adhere to company policies. Strong communication, problem-solving, and work ethic required. Adaptability, initiative, and willingness to learn are valued.'
sanitize_attributes=False
string='Job Description'
employee_ids
One2many → hr.employee
groups='base.group_user'
string='Employees'
args: 'hr.employee', 'job_id'
expected_employees
Integer
compute='_compute_employees'
help='Expected number of employees for this job position after new recruitment.'
store=True
string='Total Forecasted Employees'
name
Char
index='trigram'
required=True
string='Job Position'
translate=True
no_of_employee
Integer
compute='_compute_employees'
help='Number of employees currently occupying this job position.'
store=True
string='Current Number of Employees'
no_of_hired_employee
Integer
copy=False
help='Number of hired employees for this job position during recruitment phase.'
string='Hired Employees'
no_of_recruitment
Integer
copy=False
default=1
help='Number of new employees you expect to recruit.'
string='Target'
requirements
Text
sequence
Integer
default=10
copy(self, default=None)
create(self, vals_list)
write(self, vals)
No new fields.
Public methods (0)No public methods.
active
Boolean
default=True
address_id
Many2one → res.partner
check_company=True
required=True
string='Work Address'
args: 'res.partner'
company_id
Many2one → res.company
default=<expr>
required=True
args: 'res.company'
location_number
Char
location_type
Selection
default='office'
required=True
string='Cover Image'
args: [('home', 'Home'), ('office', 'Office'), ('other', 'Other')]
name
Char
required=True
string='Work Location'
No public methods.
No new fields.
Public methods (0)No public methods.
department_id
Many2one → hr.department
check_company=True
compute='_compute_department_id'
ondelete='cascade'
readonly=False
store=True
args: 'hr.department'
No public methods.
responsible_type
Selection
ondelete={'coach': 'cascade', 'manager': 'cascade', 'employee': 'cascade'}
selection_add=[('coach', 'Coach'), ('manager', 'Manager'), ('employee', 'Employee')]
No public methods.
department_id
Many2one → hr.department
compute='_compute_department_id'
args: 'hr.department'
No public methods.
alias_contact
Selection
ondelete={'employees': 'cascade'}
selection_add=[('employees', 'Authenticated Employees')]
No public methods.
employee_properties_definition
PropertiesDefinition
hr_presence_control_email_amount
Integer
string='# emails to send'
hr_presence_control_ip_list
Char
string='Valid IP addresses'
No public methods.
hr_employee_self_edit
Boolean
config_parameter='hr.hr_employee_self_edit'
string='Employee Editing'
hr_presence_control_email
Boolean
config_parameter='hr_presence.hr_presence_control_email'
string='Based on number of emails sent'
hr_presence_control_email_amount
Integer
readonly=False
related='company_id.hr_presence_control_email_amount'
hr_presence_control_ip
Boolean
config_parameter='hr_presence.hr_presence_control_ip'
string='Based on IP Address'
hr_presence_control_ip_list
Char
readonly=False
related='company_id.hr_presence_control_ip_list'
hr_presence_control_login
Boolean
config_parameter='hr.hr_presence_control_login'
string='Based on user status in system'
module_hr_attendance
Boolean
string='Based on attendances'
module_hr_homeworking
Boolean
string='Remote Work'
module_hr_presence
Boolean
string='Advanced Presence Control'
module_hr_skills
Boolean
string='Skills Management'
resource_calendar_id
Many2one → resource.calendar
readonly=False
related='company_id.resource_calendar_id'
args: 'resource.calendar', 'Company Working Hours'
No public methods.
employee_ids
One2many → hr.employee
groups='hr.group_hr_user'
help='Related employees based on their private address'
string='Employees'
args: 'hr.employee', 'work_contact_id'
employees_count
Integer
compute='_compute_employees_count'
groups='hr.group_hr_user'
action_open_employees(self)
No new fields.
Public methods (0)No public methods.
additional_note
Text
readonly=False
related='employee_id.additional_note'
related_sudo=False
address_id
Many2one
readonly=False
related='employee_id.address_id'
related_sudo=False
barcode
Char
readonly=False
related='employee_id.barcode'
related_sudo=False
birthday
Date
readonly=False
related='employee_id.birthday'
related_sudo=False
can_edit
Boolean
compute='_compute_can_edit'
category_ids
Many2many
readonly=False
related='employee_id.category_ids'
related_sudo=False
string='Employee Tags'
certificate
Selection
readonly=False
related='employee_id.certificate'
related_sudo=False
children
Integer
readonly=False
related='employee_id.children'
related_sudo=False
coach_id
Many2one
readonly=False
related='employee_id.coach_id'
related_sudo=False
country_of_birth
Many2one
readonly=False
related='employee_id.country_of_birth'
related_sudo=False
create_employee
Boolean
copy=False
default=False
store=False
string='Technical field, whether to create an employee'
create_employee_id
Many2one → hr.employee
copy=False
store=False
string='Technical field, bind user to this employee on create'
args: 'hr.employee'
department_id
Many2one
readonly=False
related='employee_id.department_id'
related_sudo=False
emergency_contact
Char
readonly=False
related='employee_id.emergency_contact'
related_sudo=False
emergency_phone
Char
readonly=False
related='employee_id.emergency_phone'
related_sudo=False
employee_bank_account_id
Many2one
readonly=False
related='employee_id.bank_account_id'
related_sudo=False
string="Employee's Bank Account Number"
employee_count
Integer
compute='_compute_employee_count'
employee_country_code
Char
readonly=True
related='employee_id.company_country_code'
related_sudo=False
string="Employee's Country Code"
employee_country_id
Many2one
readonly=False
related='employee_id.country_id'
related_sudo=False
string="Employee's Country"
employee_id
Many2one → hr.employee
compute='_compute_company_employee'
search='_search_company_employee'
store=False
string='Company employee'
args: 'hr.employee'
employee_ids
One2many → hr.employee
domain=_employee_ids_domain
string='Related employee'
args: 'hr.employee', 'user_id'
employee_parent_id
Many2one
readonly=False
related='employee_id.parent_id'
related_sudo=False
employee_resource_calendar_id
Many2one
readonly=True
related='employee_id.resource_calendar_id'
string="Employee's Working Hours"
employee_type
Selection
readonly=False
related='employee_id.employee_type'
related_sudo=False
gender
Selection
readonly=False
related='employee_id.gender'
related_sudo=False
hr_presence_state
Selection
related='employee_id.hr_presence_state'
identification_id
Char
readonly=False
related='employee_id.identification_id'
related_sudo=False
is_system
Boolean
compute='_compute_is_system'
job_title
Char
readonly=False
related='employee_id.job_title'
related_sudo=False
km_home_work
Integer
readonly=False
related='employee_id.km_home_work'
related_sudo=False
last_activity
Date
related='employee_id.last_activity'
last_activity_time
Char
related='employee_id.last_activity_time'
marital
Selection
readonly=False
related='employee_id.marital'
related_sudo=False
mobile_phone
Char
readonly=False
related='employee_id.mobile_phone'
related_sudo=False
passport_id
Char
readonly=False
related='employee_id.passport_id'
related_sudo=False
permit_no
Char
readonly=False
related='employee_id.permit_no'
related_sudo=False
pin
Char
readonly=False
related='employee_id.pin'
related_sudo=False
place_of_birth
Char
readonly=False
related='employee_id.place_of_birth'
related_sudo=False
private_city
Char
readonly=False
related='employee_id.private_city'
related_sudo=False
string='Private City'
private_country_id
Many2one
readonly=False
related='employee_id.private_country_id'
related_sudo=False
string='Private Country'
private_email
Char
readonly=False
related='employee_id.private_email'
string='Private Email'
private_lang
Selection
readonly=False
related='employee_id.lang'
string='Employee Lang'
private_phone
Char
readonly=False
related='employee_id.private_phone'
related_sudo=False
private_state_id
Many2one
domain="[('country_id', '=?', private_country_id)]"
readonly=False
related='employee_id.private_state_id'
related_sudo=False
string='Private State'
private_street
Char
readonly=False
related='employee_id.private_street'
related_sudo=False
string='Private Street'
private_street2
Char
readonly=False
related='employee_id.private_street2'
related_sudo=False
string='Private Street2'
private_zip
Char
readonly=False
related='employee_id.private_zip'
related_sudo=False
string='Private Zip'
spouse_birthdate
Date
readonly=False
related='employee_id.spouse_birthdate'
related_sudo=False
spouse_complete_name
Char
readonly=False
related='employee_id.spouse_complete_name'
related_sudo=False
ssnid
Char
readonly=False
related='employee_id.ssnid'
related_sudo=False
study_field
Char
readonly=False
related='employee_id.study_field'
related_sudo=False
study_school
Char
readonly=False
related='employee_id.study_school'
related_sudo=False
visa_expire
Date
readonly=False
related='employee_id.visa_expire'
related_sudo=False
visa_no
Char
readonly=False
related='employee_id.visa_no'
related_sudo=False
work_contact_id
Many2one
readonly=False
related='employee_id.work_contact_id'
related_sudo=False
work_email
Char
readonly=False
related='employee_id.work_email'
related_sudo=False
work_location_id
Many2one
readonly=False
related='employee_id.work_location_id'
related_sudo=False
work_phone
Char
readonly=False
related='employee_id.work_phone'
related_sudo=False
SELF_READABLE_FIELDS(self)
SELF_WRITEABLE_FIELDS(self)
action_create_employee(self)
action_get(self)
action_open_employees(self)
create(self, vals_list)
get_view(self, view_id=None, view_type='form', **options)
get_views(self, views, options=None)
write(self, vals)
employee_id
One2many → hr.employee
check_company=True
args: 'hr.employee', 'resource_id'
user_id
Many2one
copy=False
No public methods.
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
hr_contract_type_view_form |
hr.contract.type | form | New | |
hr_contract_type_view_tree |
hr.contract.type | tree | 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 | tree | New | |
hr_departure_wizard_view_form |
hr.departure.wizard.view.form | hr.departure.wizard | form | 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.tree | hr.employee.public | tree | New |
hr_employee_view_activity |
hr.employee.activity | hr.employee | activity | New |
hr_job_view_kanban |
hr.job.kanban | hr.job | kanban | New |
hr_kanban_view_employees |
hr.employee.kanban | hr.employee | kanban | New |
hr_plan_activity_type_view_form |
hr.plan.activity.type.view.form | hr.plan.activity.type | form | New |
hr_plan_activity_type_view_tree |
hr.plan.activity.type.view.tree | hr.plan.activity.type | tree | New |
hr_plan_view_form |
hr.plan.view.form | hr.plan | form | New |
hr_plan_view_search |
hr.plan.view.search | hr.plan | search | New |
hr_plan_view_tree |
hr.plan.view.tree | hr.plan | tree | 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.tree | hr.work.location | tree | New |
mail_channel_view_form_ |
mail.channel.view.form.inherit.hr | mail.channel | xpath | Inherits mail.mail_channel_view_form |
plan_wizard |
plan wizard | hr.plan.wizard | form | New |
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 | xpath | Inherits base.res_config_settings_view_form |
res_partner_view_form |
res.partner.view.form.inherit.hr | res.partner | div | Inherits base.view_partner_form |
res_users_view_form |
res.users.form.inherit | res.users | xpath | Inherits base.view_users_form |
res_users_view_form_profile |
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 | footer | Inherits base.view_users_form_simple_modif |
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.tree | hr.department | tree | 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 | tree | 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 |
view.employee.form.smartbutton | hr.employee | div | Inherits view_employee_form |
view_employee_tree |
hr.employee.tree | hr.employee | tree | New |
view_hr_job_form |
hr.job.form | hr.job | form | New |
view_hr_job_tree |
hr.job.tree | hr.job | tree | New |
view_job_filter |
hr.job.search | hr.job | search | New |
view_partner_tree2 |
hr.employee.tree | hr.employee | tree | New |
view_users_form_simple_modif_resource |
res.users.preferences.form.resource | res.users | field | Inherits base.view_users_form_simple_modif |
view_users_simple_form |
view.users.simple.form.hr | res.users | sheet | Inherits base.view_users_simple_form |
view_users_simple_form_inherit_hr |
view.users.simple.form.inherit.hr | res.users | xpath | Inherits base.view_users_simple_form |
No new fields.
Public methods (0)No public methods.
name
Char
required=True
translate=True
sequence
Integer
No public methods.
No new fields.
Public methods (0)No public methods.
active
Boolean
default=True
args: 'Active'
child_ids
One2many → hr.department
string='Child Departments'
args: 'hr.department', 'parent_id'
color
Integer
company_id
Many2one → res.company
default=<expr>
index=True
string='Company'
args: 'res.company'
complete_name
Char
compute='_compute_complete_name'
recursive=True
store=True
args: 'Complete Name'
jobs_ids
One2many → hr.job
string='Jobs'
args: 'hr.job', 'department_id'
manager_id
Many2one → hr.employee
domain="['|', ('company_id', '=', False), ('company_id', '=', company_id)]"
string='Manager'
tracking=True
args: 'hr.employee'
master_department_id
Many2one → hr.department
compute='_compute_master_department_id'
store=True
args: 'hr.department', 'Master Department'
member_ids
One2many → hr.employee
readonly=True
string='Members'
args: 'hr.employee', 'department_id'
name
Char
required=True
args: 'Department Name'
note
Text
parent_id
Many2one → hr.department
domain="['|', ('company_id', '=', False), ('company_id', '=', company_id)]"
index=True
string='Parent Department'
args: 'hr.department'
parent_path
Char
index=True
unaccent=False
plan_ids
One2many → hr.plan
plans_count
Integer
compute='_compute_plan_count'
total_employee
Integer
compute='_compute_total_employee'
string='Total Employee'
action_plan_from_department(self)
create(self, vals_list)
get_children_department_ids(self)
get_formview_action(self, access_uid=None)
name_create(self, name)
name_get(self)
write(self, vals)
name
Char
required=True
string='Reason'
translate=True
sequence
Integer
default=10
args: 'Sequence'
No public methods.
archive_private_address
Boolean
default=True
args: 'Archive Private Address'
departure_date
Date
default=_get_default_departure_date
required=True
string='Departure Date'
departure_description
Html
string='Additional Information'
departure_reason_id
Many2one → hr.departure.reason
default=<expr>
required=True
args: 'hr.departure.reason'
employee_id
Many2one → hr.employee
default=<expr>
required=True
string='Employee'
args: 'hr.employee'
action_register_departure(self)
No new fields.
Public methods (0)No public methods.
active
Boolean
default=True
readonly=False
related='resource_id.active'
store=True
args: 'Active'
additional_note
Text
groups='hr.group_hr_user'
string='Additional Note'
tracking=True
address_home_id
Many2one → res.partner
domain="['|', ('company_id', '=', False), ('company_id', '=', company_id)]"
groups='hr.group_hr_user'
help='Enter here the private address of the employee, not the one linked to your company.'
tracking=True
args: 'res.partner', 'Address'
bank_account_id
Many2one → res.partner.bank
copy=False
domain="[('partner_id', '=', address_home_id), '|', ('company_id', '=', False), ('company_id', '=', company_id)]"
groups='hr.group_hr_user'
help='Employee bank account to pay salaries'
tracking=True
args: 'res.partner.bank', 'Bank Account Number'
barcode
Char
copy=False
groups='hr.group_hr_user'
help='ID used for employee identification.'
string='Badge ID'
birthday
Date
groups='hr.group_hr_user'
tracking=True
args: 'Date of Birth'
category_ids
Many2many → hr.employee.category
groups='hr.group_hr_user'
string='Tags'
args: 'hr.employee.category', 'employee_category_rel', 'emp_id', 'category_id'
certificate
Selection
default='other'
groups='hr.group_hr_user'
tracking=True
args: [('graduate', 'Graduate'), ('bachelor', 'Bachelor'), ('master', 'Master'), ('doctor', 'Doctor'), ('other', 'Other')], 'Certificate Level'
child_ids
One2many → hr.employee
string='Direct subordinates'
args: 'hr.employee', 'parent_id'
children
Integer
groups='hr.group_hr_user'
string='Number of Dependent Children'
tracking=True
color
Integer
default=0
args: 'Color Index'
company_country_code
Char
depends=['company_country_id']
readonly=True
related='company_country_id.code'
company_country_id
Many2one → res.country
readonly=True
related='company_id.country_id'
args: 'res.country', 'Company Country'
company_id
Many2one → res.company
required=True
args: 'res.company'
country_id
Many2one → res.country
groups='hr.group_hr_user'
tracking=True
args: 'res.country', 'Nationality (Country)'
country_of_birth
Many2one → res.country
groups='hr.group_hr_user'
string='Country of Birth'
tracking=True
args: 'res.country'
currency_id
Many2one → res.currency
readonly=True
related='company_id.currency_id'
args: 'res.currency'
departure_date
Date
copy=False
groups='hr.group_hr_user'
string='Departure Date'
tracking=True
departure_description
Html
copy=False
groups='hr.group_hr_user'
string='Additional Information'
tracking=True
departure_reason_id
Many2one → hr.departure.reason
copy=False
groups='hr.group_hr_user'
ondelete='restrict'
string='Departure Reason'
tracking=True
args: 'hr.departure.reason'
driving_license
Binary
groups='hr.group_hr_user'
string='Driving License'
emergency_contact
Char
groups='hr.group_hr_user'
tracking=True
args: 'Contact Name'
emergency_phone
Char
groups='hr.group_hr_user'
tracking=True
args: 'Contact Phone'
gender
Selection
groups='hr.group_hr_user'
tracking=True
args: [('male', 'Male'), ('female', 'Female'), ('other', 'Other')]
has_work_permit
Binary
groups='hr.group_hr_user'
string='Work Permit'
tracking=True
id_card
Binary
groups='hr.group_hr_user'
string='ID Card Copy'
identification_id
Char
groups='hr.group_hr_user'
string='Identification No'
tracking=True
is_address_home_a_company
Boolean
compute='_compute_is_address_home_a_company'
args: 'The employee address has a company linked'
job_id
Many2one
tracking=True
km_home_work
Integer
groups='hr.group_hr_user'
string='Home-Work Distance'
tracking=True
lang
Selection
groups='hr.group_hr_user'
readonly=False
related='address_home_id.lang'
string='Lang'
marital
Selection
default='single'
groups='hr.group_hr_user'
string='Marital Status'
tracking=True
args: [('single', 'Single'), ('married', 'Married'), ('cohabitant', 'Legal Cohabitant'), ('widower', 'Widower'), ('divorced', 'Divorced')]
message_main_attachment_id
Many2one
groups='hr.group_hr_user'
name
Char
readonly=False
related='resource_id.name'
store=True
string='Employee Name'
tracking=True
notes
Text
groups='hr.group_hr_user'
args: 'Notes'
passport_id
Char
groups='hr.group_hr_user'
tracking=True
args: 'Passport No'
permit_no
Char
groups='hr.group_hr_user'
tracking=True
args: 'Work Permit No'
phone
Char
groups='hr.group_hr_user'
readonly=False
related='address_home_id.phone'
related_sudo=False
string='Private Phone'
pin
Char
copy=False
groups='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_birth
Char
groups='hr.group_hr_user'
tracking=True
args: 'Place of Birth'
private_email
Char
groups='hr.group_hr_user'
related='address_home_id.email'
string='Private Email'
sinid
Char
groups='hr.group_hr_user'
help='Social Insurance Number'
tracking=True
args: 'SIN No'
spouse_birthdate
Date
groups='hr.group_hr_user'
string='Spouse Birthdate'
tracking=True
spouse_complete_name
Char
groups='hr.group_hr_user'
string='Spouse Complete Name'
tracking=True
ssnid
Char
groups='hr.group_hr_user'
help='Social Security Number'
tracking=True
args: 'SSN No'
study_field
Char
groups='hr.group_hr_user'
tracking=True
args: 'Field of Study'
study_school
Char
groups='hr.group_hr_user'
tracking=True
args: 'School'
user_id
Many2one → res.users
readonly=False
related='resource_id.user_id'
store=True
args: 'res.users', 'User'
user_partner_id
Many2one
related='user_id.partner_id'
related_sudo=False
string="User's partner"
visa_expire
Date
groups='hr.group_hr_user'
tracking=True
args: 'Visa Expiration Date'
visa_no
Char
groups='hr.group_hr_user'
tracking=True
args: 'Visa No'
work_permit_expiration_date
Date
groups='hr.group_hr_user'
tracking=True
args: 'Work Permit Expiration Date'
work_permit_name
Char
compute='_compute_work_permit_name'
args: 'work_permit_name'
work_permit_scheduled_activity
Boolean
default=False
groups='hr.group_hr_user'
action_create_user(self)
create(self, vals_list)
generate_random_barcode(self)
get_formview_action(self, access_uid=None)
get_formview_id(self, access_uid=None)
get_import_templates(self)
get_view(self, view_id=None, view_type='form', **options)
get_views(self, views, options)
message_post(self, **kwargs)
name_get(self)
read(self, fields, load='_classic_read')
toggle_active(self)
unlink(self)
write(self, vals)
active
Boolean
address_id
Many2one → res.partner
compute='_compute_address_id'
domain="['|', ('company_id', '=', False), ('company_id', '=', company_id)]"
readonly=False
store=True
args: 'res.partner', 'Work Address'
coach_id
Many2one → hr.employee
compute='_compute_coach'
domain="['|', ('company_id', '=', False), ('company_id', '=', company_id)]"
help='Select the "Employee" who is the coach of this employee.\nThe "Coach" has no specific rights or responsibilities by default.'
readonly=False
store=True
args: 'hr.employee', 'Coach'
color
Integer
default=0
args: 'Color Index'
company_id
Many2one → res.company
department_id
Many2one → hr.department
domain="['|', ('company_id', '=', False), ('company_id', '=', company_id)]"
args: 'hr.department', 'Department'
employee_type
Selection
default='employee'
help='The employee type. Although the primary purpose may seem to categorize employees, this field has also an impact in the Contract History. Only Employee type is supposed to be under contract and will have a Contract History.'
required=True
string='Employee Type'
args: [('employee', 'Employee'), ('student', 'Student'), ('trainee', 'Trainee'), ('contractor', 'Contractor'), ('freelance', 'Freelancer')]
hr_icon_display
Selection
compute='_compute_presence_icon'
args: [('presence_present', 'Present'), ('presence_absent_active', 'Present but not active'), ('presence_absent', 'Absent'), ('presence_to_define', 'To define'), ('presence_undetermined', 'Undetermined')]
hr_presence_state
Selection
compute='_compute_presence_state'
default='to_define'
args: [('present', 'Present'), ('absent', 'Absent'), ('to_define', 'To Define')]
job_id
Many2one → hr.job
domain="['|', ('company_id', '=', False), ('company_id', '=', company_id)]"
args: 'hr.job', 'Job Position'
job_title
Char
compute='_compute_job_title'
readonly=False
store=True
args: 'Job Title'
last_activity
Date
compute='_compute_last_activity'
last_activity_time
Char
compute='_compute_last_activity'
member_of_department
Boolean
compute='_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'
mobile_phone
Char
compute='_compute_work_contact_details'
inverse='_inverse_work_contact_details'
store=True
args: 'Work Mobile'
name
Char
parent_id
Many2one → hr.employee
compute='_compute_parent_id'
domain="['|', ('company_id', '=', False), ('company_id', '=', company_id)]"
readonly=False
store=True
args: 'hr.employee', 'Manager'
related_contact_ids
Many2many → res.partner
compute='_compute_related_contacts'
string='Related Contacts'
args: 'res.partner'
related_contacts_count
Integer
compute='_compute_related_contacts_count'
args: 'Number of related contacts'
resource_calendar_id
Many2one → resource.calendar
domain="['|', ('company_id', '=', False), ('company_id', '=', company_id)]"
args: 'resource.calendar'
resource_id
Many2one → resource.resource
show_hr_icon_display
Boolean
compute='_compute_presence_icon'
tz
Selection
help='This field is used in order to define in which timezone the resources will work.'
readonly=False
related='resource_id.tz'
string='Timezone'
user_id
Many2one → res.users
work_contact_id
Many2one → res.partner
copy=False
args: 'res.partner', 'Work Contact'
work_email
Char
compute='_compute_work_contact_details'
inverse='_inverse_work_contact_details'
store=True
args: 'Work Email'
work_location_id
Many2one → hr.work.location
compute='_compute_work_location_id'
domain="[('address_id', '=', address_id), '|', ('company_id', '=', False), ('company_id', '=', company_id)]"
readonly=False
store=True
args: 'hr.work.location', 'Work Location'
work_phone
Char
compute='_compute_phones'
readonly=False
store=True
args: 'Work Phone'
action_related_contacts(self)
No new fields.
Public methods (0)No public methods.
color
Integer
default=_get_default_color
string='Color Index'
employee_ids
Many2many → hr.employee
string='Employees'
args: 'hr.employee', 'employee_category_rel', 'category_id', 'emp_id'
name
Char
required=True
string='Tag Name'
No public methods.
active
Boolean
readonly=True
address_id
Many2one
readonly=True
avatar_1024
Image
compute_sudo=True
related='employee_id.avatar_1024'
args: 'Avatar 1024'
avatar_128
Image
compute_sudo=True
related='employee_id.avatar_128'
args: 'Avatar 128'
avatar_1920
Image
compute_sudo=True
related='employee_id.avatar_1920'
args: 'Avatar'
avatar_256
Image
compute_sudo=True
related='employee_id.avatar_256'
args: 'Avatar 256'
avatar_512
Image
compute_sudo=True
related='employee_id.avatar_512'
args: 'Avatar 512'
child_ids
One2many → hr.employee.public
readonly=True
string='Direct subordinates'
args: 'hr.employee.public', 'parent_id'
coach_id
Many2one → hr.employee.public
readonly=True
args: 'hr.employee.public', 'Coach'
color
Integer
readonly=True
company_id
Many2one
readonly=True
create_date
Datetime
readonly=True
department_id
Many2one
readonly=True
employee_id
Many2one → hr.employee
compute='_compute_employee_id'
compute_sudo=True
search='_search_employee_id'
args: 'hr.employee', 'Employee'
employee_type
Selection
readonly=True
image_1024
Image
compute_sudo=True
related='employee_id.image_1024'
args: 'Image 1024'
image_128
Image
compute_sudo=True
related='employee_id.image_128'
args: 'Image 128'
image_1920
Image
compute_sudo=True
related='employee_id.image_1920'
args: 'Image'
image_256
Image
compute_sudo=True
related='employee_id.image_256'
args: 'Image 256'
image_512
Image
compute_sudo=True
related='employee_id.image_512'
args: 'Image 512'
job_id
Many2one
readonly=True
job_title
Char
readonly=True
mobile_phone
Char
readonly=True
name
Char
readonly=True
parent_id
Many2one → hr.employee.public
readonly=True
args: 'hr.employee.public', 'Manager'
related_contact_ids
Many2many
readonly=True
resource_calendar_id
Many2one
readonly=True
resource_id
Many2one
readonly=True
tz
Selection
readonly=True
user_id
Many2one
readonly=True
user_partner_id
Many2one
related='user_id.partner_id'
related_sudo=False
string="User's partner"
work_contact_id
Many2one
readonly=True
work_email
Char
readonly=True
work_location_id
Many2one
readonly=True
work_phone
Char
readonly=True
init(self)
No new fields.
Public methods (0)No public methods.
active
Boolean
default=True
company_id
Many2one → res.company
default=<expr>
string='Company'
args: 'res.company'
contract_type_id
Many2one → hr.contract.type
string='Employment Type'
args: 'hr.contract.type'
department_id
Many2one → hr.department
domain="['|', ('company_id', '=', False), ('company_id', '=', company_id)]"
string='Department'
args: 'hr.department'
description
Html
sanitize_attributes=False
string='Job Description'
employee_ids
One2many → hr.employee
groups='base.group_user'
string='Employees'
args: 'hr.employee', 'job_id'
expected_employees
Integer
compute='_compute_employees'
help='Expected number of employees for this job position after new recruitment.'
store=True
string='Total Forecasted Employees'
name
Char
index='trigram'
required=True
string='Job Position'
translate=True
no_of_employee
Integer
compute='_compute_employees'
help='Number of employees currently occupying this job position.'
store=True
string='Current Number of Employees'
no_of_hired_employee
Integer
copy=False
help='Number of hired employees for this job position during recruitment phase.'
string='Hired Employees'
no_of_recruitment
Integer
copy=False
default=1
help='Number of new employees you expect to recruit.'
string='Target'
requirements
Text
sequence
Integer
default=10
copy(self, default=None)
create(self, vals_list)
write(self, vals)
active
Boolean
default=True
company_id
Many2one → res.company
default=<expr>
args: 'res.company'
department_id
Many2one → hr.department
check_company=True
args: 'hr.department'
name
Char
required=True
args: 'Name'
plan_activity_type_ids
One2many → hr.plan.activity.type
domain="[('company_id', '=', company_id)]"
string='Activities'
args: 'hr.plan.activity.type', 'plan_id'
steps_count
Integer
compute='_compute_steps_count'
No public methods.
activity_type_id
Many2one → mail.activity.type
default=<expr>
domain=<expr>
ondelete='restrict'
args: 'mail.activity.type', 'Activity Type'
company_id
Many2one → res.company
default=<expr>
args: 'res.company'
note
Html
plan_id
Many2one → hr.plan
responsible
Selection
default='employee'
required=True
string='Responsible'
args: [('coach', 'Coach'), ('manager', 'Manager'), ('employee', 'Employee'), ('other', 'Other')]
responsible_id
Many2one → res.users
check_company=True
help='Specific responsible of activity if not linked to the employee.'
args: 'res.users', 'Other Responsible'
summary
Char
compute='_compute_default_summary'
readonly=False
store=True
args: 'Summary'
get_responsible_id(self, employee)
company_id
Many2one → res.company
compute='_compute_company_id'
required=True
args: 'res.company', 'Company'
department_id
Many2one → hr.department
compute='_compute_department_id'
args: 'hr.department'
employee_ids
Many2many → hr.employee
default=<expr>
required=True
string='Employee'
args: 'hr.employee', 'hr_employee_hr_plan_wizard_rel', 'employee_id', 'plan_wizard_id'
plan_id
Many2one → hr.plan
default=<expr>
domain="[('company_id', 'in', [False, company_id]), '|', ('department_id', '=', department_id), ('department_id', '=', False)]"
args: 'hr.plan'
warning
Html
compute='_compute_warning'
action_launch(self)
No new fields.
Public methods (0)No public methods.
active
Boolean
default=True
address_id
Many2one → res.partner
domain="['|', ('company_id', '=', False), ('company_id', '=', company_id)]"
required=True
string='Work Address'
args: 'res.partner'
company_id
Many2one → res.company
default=<expr>
required=True
args: 'res.company'
location_number
Char
name
Char
required=True
string='Work Location'
No public methods.
No new fields.
Public methods (0)No public methods.
alias_contact
Selection
ondelete={'employees': 'cascade'}
selection_add=[('employees', 'Authenticated Employees')]
No public methods.
subscription_department_ids
Many2many → hr.department
help='Automatically subscribe members of those departments to the channel.'
string='HR Departments'
args: 'hr.department'
write(self, vals)
hr_presence_control_email_amount
Integer
string='# emails to send'
hr_presence_control_ip_list
Char
string='Valid IP addresses'
No public methods.
hr_employee_self_edit
Boolean
config_parameter='hr.hr_employee_self_edit'
string='Employee Editing'
hr_presence_control_email
Boolean
config_parameter='hr_presence.hr_presence_control_email'
string='Based on number of emails sent'
hr_presence_control_email_amount
Integer
readonly=False
related='company_id.hr_presence_control_email_amount'
hr_presence_control_ip
Boolean
config_parameter='hr_presence.hr_presence_control_ip'
string='Based on IP Address'
hr_presence_control_ip_list
Char
readonly=False
related='company_id.hr_presence_control_ip_list'
hr_presence_control_login
Boolean
config_parameter='hr.hr_presence_control_login'
string='Based on user status in system'
module_hr_attendance
Boolean
string='Based on attendances'
module_hr_homeworking
Boolean
string='Homeworking'
module_hr_presence
Boolean
string='Advanced Presence Control'
module_hr_skills
Boolean
string='Skills Management'
resource_calendar_id
Many2one → resource.calendar
readonly=False
related='company_id.resource_calendar_id'
args: 'resource.calendar', 'Company Working Hours'
No public methods.
employee_ids
One2many → hr.employee
groups='hr.group_hr_user'
help='Related employees based on their private address'
string='Employees'
args: 'hr.employee', 'address_home_id'
employees_count
Integer
compute='_compute_employees_count'
groups='hr.group_hr_user'
action_open_employees(self)
name_get(self)
No new fields.
Public methods (0)No public methods.
additional_note
Text
readonly=False
related='employee_id.additional_note'
related_sudo=False
address_home_id
Many2one
readonly=False
related='employee_id.address_home_id'
related_sudo=False
address_id
Many2one
readonly=False
related='employee_id.address_id'
related_sudo=False
barcode
Char
readonly=False
related='employee_id.barcode'
related_sudo=False
birthday
Date
readonly=False
related='employee_id.birthday'
related_sudo=False
can_edit
Boolean
compute='_compute_can_edit'
category_ids
Many2many
readonly=False
related='employee_id.category_ids'
related_sudo=False
string='Employee Tags'
certificate
Selection
readonly=False
related='employee_id.certificate'
related_sudo=False
children
Integer
readonly=False
related='employee_id.children'
related_sudo=False
coach_id
Many2one
readonly=False
related='employee_id.coach_id'
related_sudo=False
country_of_birth
Many2one
readonly=False
related='employee_id.country_of_birth'
related_sudo=False
create_employee
Boolean
copy=False
default=True
store=False
string='Technical field, whether to create an employee'
create_employee_id
Many2one → hr.employee
copy=False
store=False
string='Technical field, bind user to this employee on create'
args: 'hr.employee'
department_id
Many2one
readonly=False
related='employee_id.department_id'
related_sudo=False
emergency_contact
Char
readonly=False
related='employee_id.emergency_contact'
related_sudo=False
emergency_phone
Char
readonly=False
related='employee_id.emergency_phone'
related_sudo=False
employee_bank_account_id
Many2one
readonly=False
related='employee_id.bank_account_id'
related_sudo=False
string="Employee's Bank Account Number"
employee_count
Integer
compute='_compute_employee_count'
employee_country_id
Many2one
readonly=False
related='employee_id.country_id'
related_sudo=False
string="Employee's Country"
employee_id
Many2one → hr.employee
compute='_compute_company_employee'
search='_search_company_employee'
store=False
string='Company employee'
args: 'hr.employee'
employee_ids
One2many → hr.employee
domain=_employee_ids_domain
string='Related employee'
args: 'hr.employee', 'user_id'
employee_parent_id
Many2one
readonly=False
related='employee_id.parent_id'
related_sudo=False
employee_phone
Char
readonly=False
related='employee_id.phone'
related_sudo=False
employee_resource_calendar_id
Many2one
readonly=True
related='employee_id.resource_calendar_id'
string="Employee's Working Hours"
employee_type
Selection
readonly=False
related='employee_id.employee_type'
related_sudo=False
gender
Selection
readonly=False
related='employee_id.gender'
related_sudo=False
hr_presence_state
Selection
related='employee_id.hr_presence_state'
identification_id
Char
readonly=False
related='employee_id.identification_id'
related_sudo=False
is_address_home_a_company
Boolean
readonly=False
related='employee_id.is_address_home_a_company'
related_sudo=False
is_system
Boolean
compute='_compute_is_system'
job_title
Char
readonly=False
related='employee_id.job_title'
related_sudo=False
km_home_work
Integer
readonly=False
related='employee_id.km_home_work'
related_sudo=False
last_activity
Date
related='employee_id.last_activity'
last_activity_time
Char
related='employee_id.last_activity_time'
marital
Selection
readonly=False
related='employee_id.marital'
related_sudo=False
mobile_phone
Char
readonly=False
related='employee_id.mobile_phone'
related_sudo=False
passport_id
Char
readonly=False
related='employee_id.passport_id'
related_sudo=False
permit_no
Char
readonly=False
related='employee_id.permit_no'
related_sudo=False
pin
Char
readonly=False
related='employee_id.pin'
related_sudo=False
place_of_birth
Char
readonly=False
related='employee_id.place_of_birth'
related_sudo=False
private_city
Char
readonly=False
related='address_home_id.city'
related_sudo=False
string='Private City'
private_country_id
Many2one
readonly=False
related='address_home_id.country_id'
related_sudo=False
string='Private Country'
private_email
Char
readonly=False
related='address_home_id.email'
string='Private Email'
private_lang
Selection
readonly=False
related='address_home_id.lang'
string='Employee Lang'
private_state_id
Many2one
domain="[('country_id', '=?', private_country_id)]"
readonly=False
related='address_home_id.state_id'
related_sudo=False
string='Private State'
private_street
Char
readonly=False
related='address_home_id.street'
related_sudo=False
string='Private Street'
private_street2
Char
readonly=False
related='address_home_id.street2'
related_sudo=False
string='Private Street2'
private_zip
Char
readonly=False
related='address_home_id.zip'
related_sudo=False
string='Private Zip'
spouse_birthdate
Date
readonly=False
related='employee_id.spouse_birthdate'
related_sudo=False
spouse_complete_name
Char
readonly=False
related='employee_id.spouse_complete_name'
related_sudo=False
study_field
Char
readonly=False
related='employee_id.study_field'
related_sudo=False
study_school
Char
readonly=False
related='employee_id.study_school'
related_sudo=False
visa_expire
Date
readonly=False
related='employee_id.visa_expire'
related_sudo=False
visa_no
Char
readonly=False
related='employee_id.visa_no'
related_sudo=False
work_email
Char
readonly=False
related='employee_id.work_email'
related_sudo=False
work_location_id
Many2one
readonly=False
related='employee_id.work_location_id'
related_sudo=False
work_phone
Char
readonly=False
related='employee_id.work_phone'
related_sudo=False
SELF_READABLE_FIELDS(self)
SELF_WRITEABLE_FIELDS(self)
action_create_employee(self)
action_get(self)
create(self, vals_list)
get_view(self, view_id=None, view_type='form', **options)
get_views(self, views, options=None)
write(self, vals)
employee_id
One2many → hr.employee
domain="[('company_id', '=', company_id)]"
args: 'hr.employee', 'resource_id'
user_id
Many2one
copy=False
No public methods.
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
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 | tree | New | |
hr_departure_wizard_view_form |
hr.departure.wizard.view.form | hr.departure.wizard | form | 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.tree | hr.employee.public | tree | New |
hr_employee_view_activity |
hr.employee.activity | hr.employee | activity | New |
hr_job_view_kanban |
hr.job.kanban | hr.job | kanban | New |
hr_kanban_view_employees |
hr.employee.kanban | hr.employee | kanban | New |
hr_plan_activity_type_view_form |
hr.plan.activity.type.view.form | hr.plan.activity.type | form | New |
hr_plan_activity_type_view_tree |
hr.plan.activity.type.view.tree | hr.plan.activity.type | tree | New |
hr_plan_view_form |
hr.plan.view.form | hr.plan | form | New |
hr_plan_view_search |
hr.plan.view.search | hr.plan | search | New |
hr_plan_view_tree |
hr.plan.view.tree | hr.plan | tree | 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.tree | hr.work.location | tree | New |
mail_channel_view_form_ |
mail.channel.view.form.inherit.hr | mail.channel | xpath | Inherits mail.mail_channel_view_form |
plan_wizard |
plan wizard | hr.plan.wizard | form | New |
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 | xpath | Inherits base.res_config_settings_view_form |
res_partner_view_form |
res.partner.view.form.inherit.hr | res.partner | div | Inherits base.view_partner_form |
res_users_view_form |
res.users.form.inherit | res.users | xpath | Inherits base.view_users_form |
res_users_view_form_profile |
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 | footer | Inherits base.view_users_form_simple_modif |
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.tree | hr.department | tree | 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 | tree | New |
view_employee_filter |
hr.employee.search | hr.employee | search | New |
view_employee_form |
hr.employee.form | hr.employee | form | New |
view_employee_tree |
hr.employee.tree | hr.employee | tree | New |
view_hr_job_form |
hr.job.form | hr.job | form | New |
view_hr_job_tree |
hr.job.tree | hr.job | tree | New |
view_job_filter |
hr.job.search | hr.job | search | New |
view_partner_tree2 |
hr.employee.tree | hr.employee | tree | New |
view_users_form_simple_modif_resource |
res.users.preferences.form.resource | res.users | field | Inherits base.view_users_form_simple_modif |
No new fields.
Public methods (0)No public methods.
active
Boolean
default=True
args: 'Active'
child_ids
One2many → hr.department
string='Child Departments'
args: 'hr.department', 'parent_id'
color
Integer
company_id
Many2one → res.company
default=<expr>
index=True
string='Company'
args: 'res.company'
complete_name
Char
compute='_compute_complete_name'
recursive=True
store=True
args: 'Complete Name'
jobs_ids
One2many → hr.job
string='Jobs'
args: 'hr.job', 'department_id'
manager_id
Many2one → hr.employee
domain="['|', ('company_id', '=', False), ('company_id', '=', company_id)]"
string='Manager'
tracking=True
args: 'hr.employee'
member_ids
One2many → hr.employee
readonly=True
string='Members'
args: 'hr.employee', 'department_id'
name
Char
required=True
args: 'Department Name'
note
Text
parent_id
Many2one → hr.department
domain="['|', ('company_id', '=', False), ('company_id', '=', company_id)]"
index=True
string='Parent Department'
args: 'hr.department'
total_employee
Integer
compute='_compute_total_employee'
string='Total Employee'
create(self, vals)
name_create(self, name)
name_get(self)
write(self, vals)
name
Char
required=True
string='Reason'
translate=True
sequence
Integer
default=10
args: 'Sequence'
No public methods.
archive_private_address
Boolean
default=True
args: 'Archive Private Address'
departure_date
Date
default=_get_default_departure_date
required=True
string='Departure Date'
departure_description
Html
string='Additional Information'
departure_reason_id
Many2one → hr.departure.reason
default=<expr>
required=True
args: 'hr.departure.reason'
employee_id
Many2one → hr.employee
default=<expr>
required=True
string='Employee'
args: 'hr.employee'
action_register_departure(self)
active
Boolean
default=True
readonly=False
related='resource_id.active'
store=True
args: 'Active'
additional_note
Text
groups='hr.group_hr_user'
string='Additional Note'
tracking=True
address_home_id
Many2one → res.partner
domain="['|', ('company_id', '=', False), ('company_id', '=', company_id)]"
groups='hr.group_hr_user'
help='Enter here the private address of the employee, not the one linked to your company.'
tracking=True
args: 'res.partner', 'Address'
bank_account_id
Many2one → res.partner.bank
domain="[('partner_id', '=', address_home_id), '|', ('company_id', '=', False), ('company_id', '=', company_id)]"
groups='hr.group_hr_user'
help='Employee bank salary account'
tracking=True
args: 'res.partner.bank', 'Bank Account Number'
barcode
Char
copy=False
groups='hr.group_hr_user'
help='ID used for employee identification.'
string='Badge ID'
birthday
Date
groups='hr.group_hr_user'
tracking=True
args: 'Date of Birth'
category_ids
Many2many → hr.employee.category
groups='hr.group_hr_manager'
string='Tags'
args: 'hr.employee.category', 'employee_category_rel', 'emp_id', 'category_id'
certificate
Selection
default='other'
groups='hr.group_hr_user'
tracking=True
args: [('graduate', 'Graduate'), ('bachelor', 'Bachelor'), ('master', 'Master'), ('doctor', 'Doctor'), ('other', 'Other')], 'Certificate Level'
child_ids
One2many → hr.employee
string='Direct subordinates'
args: 'hr.employee', 'parent_id'
children
Integer
groups='hr.group_hr_user'
string='Number of Children'
tracking=True
color
Integer
default=0
args: 'Color Index'
company_country_code
Char
readonly=True
related='company_country_id.code'
company_country_id
Many2one → res.country
readonly=True
related='company_id.country_id'
args: 'res.country', 'Company Country'
company_id
Many2one → res.company
required=True
args: 'res.company'
country_id
Many2one → res.country
groups='hr.group_hr_user'
tracking=True
args: 'res.country', 'Nationality (Country)'
country_of_birth
Many2one → res.country
groups='hr.group_hr_user'
string='Country of Birth'
tracking=True
args: 'res.country'
departure_date
Date
copy=False
groups='hr.group_hr_user'
string='Departure Date'
tracking=True
departure_description
Html
copy=False
groups='hr.group_hr_user'
string='Additional Information'
tracking=True
departure_reason_id
Many2one → hr.departure.reason
copy=False
groups='hr.group_hr_user'
ondelete='restrict'
string='Departure Reason'
tracking=True
args: 'hr.departure.reason'
driving_license
Binary
groups='hr.group_hr_user'
string='Driving License'
emergency_contact
Char
groups='hr.group_hr_user'
tracking=True
args: 'Emergency Contact'
emergency_phone
Char
groups='hr.group_hr_user'
tracking=True
args: 'Emergency Phone'
gender
Selection
groups='hr.group_hr_user'
tracking=True
args: [('male', 'Male'), ('female', 'Female'), ('other', 'Other')]
has_work_permit
Binary
groups='hr.group_hr_user'
string='Work Permit'
tracking=True
id_card
Binary
groups='hr.group_hr_user'
string='ID Card Copy'
identification_id
Char
groups='hr.group_hr_user'
string='Identification No'
tracking=True
is_address_home_a_company
Boolean
compute='_compute_is_address_home_a_company'
args: 'The employee address has a company linked'
job_id
Many2one
tracking=True
km_home_work
Integer
groups='hr.group_hr_user'
string='Home-Work Distance'
tracking=True
lang
Selection
groups='hr.group_hr_user'
readonly=False
related='address_home_id.lang'
string='Lang'
marital
Selection
default='single'
groups='hr.group_hr_user'
string='Marital Status'
tracking=True
args: [('single', 'Single'), ('married', 'Married'), ('cohabitant', 'Legal Cohabitant'), ('widower', 'Widower'), ('divorced', 'Divorced')]
message_main_attachment_id
Many2one
groups='hr.group_hr_user'
name
Char
readonly=False
related='resource_id.name'
store=True
string='Employee Name'
tracking=True
notes
Text
groups='hr.group_hr_user'
args: 'Notes'
passport_id
Char
groups='hr.group_hr_user'
tracking=True
args: 'Passport No'
permit_no
Char
groups='hr.group_hr_user'
tracking=True
args: 'Work Permit No'
phone
Char
groups='hr.group_hr_user'
readonly=False
related='address_home_id.phone'
related_sudo=False
string='Private Phone'
pin
Char
copy=False
groups='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_birth
Char
groups='hr.group_hr_user'
tracking=True
args: 'Place of Birth'
private_email
Char
groups='hr.group_hr_user'
related='address_home_id.email'
string='Private Email'
sinid
Char
groups='hr.group_hr_user'
help='Social Insurance Number'
tracking=True
args: 'SIN No'
spouse_birthdate
Date
groups='hr.group_hr_user'
string='Spouse Birthdate'
tracking=True
spouse_complete_name
Char
groups='hr.group_hr_user'
string='Spouse Complete Name'
tracking=True
ssnid
Char
groups='hr.group_hr_user'
help='Social Security Number'
tracking=True
args: 'SSN No'
study_field
Char
groups='hr.group_hr_user'
tracking=True
args: 'Field of Study'
study_school
Char
groups='hr.group_hr_user'
tracking=True
args: 'School'
user_id
Many2one → res.users
readonly=False
related='resource_id.user_id'
store=True
args: 'res.users', 'User'
user_partner_id
Many2one
related='user_id.partner_id'
related_sudo=False
string="User's partner"
visa_expire
Date
groups='hr.group_hr_user'
tracking=True
args: 'Visa Expiration Date'
visa_no
Char
groups='hr.group_hr_user'
tracking=True
args: 'Visa No'
work_permit_expiration_date
Date
groups='hr.group_hr_user'
tracking=True
args: 'Work Permit Expiration Date'
work_permit_scheduled_activity
Boolean
default=False
groups='hr.group_hr_user'
create(self, vals)
generate_random_barcode(self)
get_formview_action(self, access_uid=None)
get_formview_id(self, access_uid=None)
get_import_templates(self)
load_views(self, views, options=None)
message_post(self, **kwargs)
name_get(self)
read(self, fields, load='_classic_read')
toggle_active(self)
unlink(self)
write(self, vals)
active
Boolean
address_id
Many2one → res.partner
compute='_compute_address_id'
domain="['|', ('company_id', '=', False), ('company_id', '=', company_id)]"
readonly=False
store=True
args: 'res.partner', 'Work Address'
coach_id
Many2one → hr.employee
compute='_compute_coach'
domain="['|', ('company_id', '=', False), ('company_id', '=', company_id)]"
help='Select the "Employee" who is the coach of this employee.\nThe "Coach" has no specific rights or responsibilities by default.'
readonly=False
store=True
args: 'hr.employee', 'Coach'
color
Integer
default=0
args: 'Color Index'
company_id
Many2one → res.company
department_id
Many2one → hr.department
domain="['|', ('company_id', '=', False), ('company_id', '=', company_id)]"
args: 'hr.department', 'Department'
employee_type
Selection
default='employee'
help='The employee type. Although the primary purpose may seem to categorize employees, this field has also an impact in the Contract History. Only Employee type is supposed to be under contract and will have a Contract History.'
required=True
string='Employee Type'
args: [('employee', 'Employee'), ('student', 'Student'), ('trainee', 'Trainee'), ('contractor', 'Contractor'), ('freelance', 'Freelancer')]
hr_icon_display
Selection
compute='_compute_presence_icon'
args: [('presence_present', 'Present'), ('presence_absent_active', 'Present but not active'), ('presence_absent', 'Absent'), ('presence_to_define', 'To define'), ('presence_undetermined', 'Undetermined')]
hr_presence_state
Selection
compute='_compute_presence_state'
default='to_define'
args: [('present', 'Present'), ('absent', 'Absent'), ('to_define', 'To Define')]
job_id
Many2one → hr.job
domain="['|', ('company_id', '=', False), ('company_id', '=', company_id)]"
args: 'hr.job', 'Job Position'
job_title
Char
compute='_compute_job_title'
readonly=False
store=True
args: 'Job Title'
last_activity
Date
compute='_compute_last_activity'
last_activity_time
Char
compute='_compute_last_activity'
mobile_phone
Char
name
Char
parent_id
Many2one → hr.employee
compute='_compute_parent_id'
domain="['|', ('company_id', '=', False), ('company_id', '=', company_id)]"
readonly=False
store=True
args: 'hr.employee', 'Manager'
resource_calendar_id
Many2one → resource.calendar
domain="['|', ('company_id', '=', False), ('company_id', '=', company_id)]"
args: 'resource.calendar'
resource_id
Many2one → resource.resource
tz
Selection
help='This field is used in order to define in which timezone the resources will work.'
readonly=False
related='resource_id.tz'
string='Timezone'
user_id
Many2one → res.users
work_email
Char
work_location_id
Many2one → hr.work.location
compute='_compute_work_location_id'
domain="[('address_id', '=', address_id), '|', ('company_id', '=', False), ('company_id', '=', company_id)]"
readonly=False
store=True
args: 'hr.work.location', 'Work Location'
work_phone
Char
compute='_compute_phones'
readonly=False
store=True
args: 'Work Phone'
No public methods.
color
Integer
default=_get_default_color
string='Color Index'
employee_ids
Many2many → hr.employee
string='Employees'
args: 'hr.employee', 'employee_category_rel', 'category_id', 'emp_id'
name
Char
required=True
string='Tag Name'
No public methods.
active
Boolean
readonly=True
address_id
Many2one
readonly=True
avatar_1024
Image
compute_sudo=True
related='employee_id.avatar_1024'
args: 'Avatar 1024'
avatar_128
Image
compute_sudo=True
related='employee_id.avatar_128'
args: 'Avatar 128'
avatar_1920
Image
compute_sudo=True
related='employee_id.avatar_1920'
args: 'Avatar'
avatar_256
Image
compute_sudo=True
related='employee_id.avatar_256'
args: 'Avatar 256'
avatar_512
Image
compute_sudo=True
related='employee_id.avatar_512'
args: 'Avatar 512'
child_ids
One2many → hr.employee.public
readonly=True
string='Direct subordinates'
args: 'hr.employee.public', 'parent_id'
coach_id
Many2one → hr.employee.public
readonly=True
args: 'hr.employee.public', 'Coach'
color
Integer
readonly=True
company_id
Many2one
readonly=True
create_date
Datetime
readonly=True
department_id
Many2one
readonly=True
employee_id
Many2one → hr.employee
compute='_compute_employee_id'
compute_sudo=True
search='_search_employee_id'
args: 'hr.employee', 'Employee'
employee_type
Selection
readonly=True
image_1024
Image
compute_sudo=True
related='employee_id.image_1024'
args: 'Image 1024'
image_128
Image
compute_sudo=True
related='employee_id.image_128'
args: 'Image 128'
image_1920
Image
compute_sudo=True
related='employee_id.image_1920'
args: 'Image'
image_256
Image
compute_sudo=True
related='employee_id.image_256'
args: 'Image 256'
image_512
Image
compute_sudo=True
related='employee_id.image_512'
args: 'Image 512'
job_id
Many2one
readonly=True
job_title
Char
readonly=True
mobile_phone
Char
readonly=True
name
Char
readonly=True
parent_id
Many2one → hr.employee.public
readonly=True
args: 'hr.employee.public', 'Manager'
resource_calendar_id
Many2one
readonly=True
resource_id
Many2one
readonly=True
tz
Selection
readonly=True
user_id
Many2one
readonly=True
user_partner_id
Many2one
related='user_id.partner_id'
related_sudo=False
string="User's partner"
work_email
Char
readonly=True
work_location_id
Many2one
readonly=True
work_phone
Char
readonly=True
init(self)
company_id
Many2one → res.company
default=<expr>
string='Company'
args: 'res.company'
department_id
Many2one → hr.department
domain="['|', ('company_id', '=', False), ('company_id', '=', company_id)]"
string='Department'
args: 'hr.department'
description
Html
sanitize_attributes=False
string='Job Description'
employee_ids
One2many → hr.employee
groups='base.group_user'
string='Employees'
args: 'hr.employee', 'job_id'
expected_employees
Integer
compute='_compute_employees'
help='Expected number of employees for this job position after new recruitment.'
store=True
string='Total Forecasted Employees'
name
Char
index=True
required=True
string='Job Position'
translate=True
no_of_employee
Integer
compute='_compute_employees'
help='Number of employees currently occupying this job position.'
store=True
string='Current Number of Employees'
no_of_hired_employee
Integer
copy=False
help='Number of hired employees for this job position during recruitment phase.'
string='Hired Employees'
no_of_recruitment
Integer
copy=False
default=1
help='Number of new employees you expect to recruit.'
string='Expected New Employees'
requirements
Text
sequence
Integer
default=10
state
Selection
copy=False
default='recruit'
help='Set whether the recruitment process is open or closed for this job position.'
readonly=True
required=True
string='Status'
tracking=True
args: [('recruit', 'Recruitment in Progress'), ('open', 'Not Recruiting')]
copy(self, default=None)
create(self, values)
set_open(self)
set_recruit(self)
write(self, vals)
active
Boolean
default=True
name
Char
required=True
args: 'Name'
plan_activity_type_ids
Many2many → hr.plan.activity.type
string='Activities'
args: 'hr.plan.activity.type'
No public methods.
activity_type_id
Many2one → mail.activity.type
default=<expr>
domain=<expr>
ondelete='restrict'
args: 'mail.activity.type', 'Activity Type'
note
Html
responsible
Selection
default='employee'
required=True
string='Responsible'
args: [('coach', 'Coach'), ('manager', 'Manager'), ('employee', 'Employee'), ('other', 'Other')]
responsible_id
Many2one → res.users
help='Specific responsible of activity if not linked to the employee.'
args: 'res.users', 'Name'
summary
Char
compute='_compute_default_summary'
readonly=False
store=True
args: 'Summary'
get_responsible_id(self, employee)
employee_id
Many2one → hr.employee
default=<expr>
required=True
string='Employee'
args: 'hr.employee'
plan_id
Many2one → hr.plan
default=<expr>
args: 'hr.plan'
action_launch(self)
active
Boolean
default=True
address_id
Many2one → res.partner
domain="['|', ('company_id', '=', False), ('company_id', '=', company_id)]"
required=True
string='Work Address'
args: 'res.partner'
company_id
Many2one → res.company
default=<expr>
required=True
args: 'res.company'
location_number
Char
name
Char
required=True
string='Work Location'
No public methods.
No new fields.
Public methods (0)No public methods.
alias_contact
Selection
ondelete={'employees': 'cascade'}
selection_add=[('employees', 'Authenticated Employees')]
No public methods.
subscription_department_ids
Many2many → hr.department
help='Automatically subscribe members of those departments to the channel.'
string='HR Departments'
args: 'hr.department'
write(self, vals)
hr_presence_control_email_amount
Integer
string='# emails to send'
hr_presence_control_ip_list
Char
string='Valid IP addresses'
No public methods.
hr_employee_self_edit
Boolean
config_parameter='hr.hr_employee_self_edit'
string='Employee Editing'
hr_presence_control_email
Boolean
config_parameter='hr_presence.hr_presence_control_email'
string='Based on number of emails sent'
hr_presence_control_email_amount
Integer
readonly=False
related='company_id.hr_presence_control_email_amount'
hr_presence_control_ip
Boolean
config_parameter='hr_presence.hr_presence_control_ip'
string='Based on IP Address'
hr_presence_control_ip_list
Char
readonly=False
related='company_id.hr_presence_control_ip_list'
hr_presence_control_login
Boolean
config_parameter='hr.hr_presence_control_login'
string='Based on user status in system'
module_hr_attendance
Boolean
string='Based on attendances'
module_hr_presence
Boolean
string='Advanced Presence Control'
module_hr_skills
Boolean
string='Skills Management'
resource_calendar_id
Many2one → resource.calendar
readonly=False
related='company_id.resource_calendar_id'
args: 'resource.calendar', 'Company Working Hours'
No public methods.
employee_ids
One2many → hr.employee
groups='hr.group_hr_user'
help='Related employees based on their private address'
string='Employees'
args: 'hr.employee', 'address_home_id'
employees_count
Integer
compute='_compute_employees_count'
groups='hr.group_hr_user'
action_open_employees(self)
name_get(self)
additional_note
Text
readonly=False
related='employee_id.additional_note'
related_sudo=False
address_home_id
Many2one
readonly=False
related='employee_id.address_home_id'
related_sudo=False
address_id
Many2one
readonly=False
related='employee_id.address_id'
related_sudo=False
barcode
Char
readonly=False
related='employee_id.barcode'
related_sudo=False
birthday
Date
readonly=False
related='employee_id.birthday'
related_sudo=False
can_edit
Boolean
compute='_compute_can_edit'
category_ids
Many2many
readonly=False
related='employee_id.category_ids'
related_sudo=False
string='Employee Tags'
certificate
Selection
readonly=False
related='employee_id.certificate'
related_sudo=False
children
Integer
readonly=False
related='employee_id.children'
related_sudo=False
coach_id
Many2one
readonly=False
related='employee_id.coach_id'
related_sudo=False
country_of_birth
Many2one
readonly=False
related='employee_id.country_of_birth'
related_sudo=False
department_id
Many2one
readonly=False
related='employee_id.department_id'
related_sudo=False
emergency_contact
Char
readonly=False
related='employee_id.emergency_contact'
related_sudo=False
emergency_phone
Char
readonly=False
related='employee_id.emergency_phone'
related_sudo=False
employee_bank_account_id
Many2one
readonly=False
related='employee_id.bank_account_id'
related_sudo=False
string="Employee's Bank Account Number"
employee_count
Integer
compute='_compute_employee_count'
employee_country_id
Many2one
readonly=False
related='employee_id.country_id'
related_sudo=False
string="Employee's Country"
employee_id
Many2one → hr.employee
compute='_compute_company_employee'
search='_search_company_employee'
store=False
string='Company employee'
args: 'hr.employee'
employee_ids
One2many → hr.employee
domain=_employee_ids_domain
string='Related employee'
args: 'hr.employee', 'user_id'
employee_parent_id
Many2one
readonly=False
related='employee_id.parent_id'
related_sudo=False
employee_phone
Char
readonly=False
related='employee_id.phone'
related_sudo=False
employee_type
Selection
readonly=False
related='employee_id.employee_type'
related_sudo=False
gender
Selection
readonly=False
related='employee_id.gender'
related_sudo=False
hr_presence_state
Selection
related='employee_id.hr_presence_state'
identification_id
Char
readonly=False
related='employee_id.identification_id'
related_sudo=False
is_address_home_a_company
Boolean
readonly=False
related='employee_id.is_address_home_a_company'
related_sudo=False
is_system
Boolean
compute='_compute_is_system'
job_title
Char
readonly=False
related='employee_id.job_title'
related_sudo=False
km_home_work
Integer
readonly=False
related='employee_id.km_home_work'
related_sudo=False
last_activity
Date
related='employee_id.last_activity'
last_activity_time
Char
related='employee_id.last_activity_time'
marital
Selection
readonly=False
related='employee_id.marital'
related_sudo=False
mobile_phone
Char
readonly=False
related='employee_id.mobile_phone'
related_sudo=False
passport_id
Char
readonly=False
related='employee_id.passport_id'
related_sudo=False
permit_no
Char
readonly=False
related='employee_id.permit_no'
related_sudo=False
pin
Char
readonly=False
related='employee_id.pin'
related_sudo=False
place_of_birth
Char
readonly=False
related='employee_id.place_of_birth'
related_sudo=False
private_city
Char
readonly=False
related='address_home_id.city'
related_sudo=False
string='Private City'
private_country_id
Many2one
readonly=False
related='address_home_id.country_id'
related_sudo=False
string='Private Country'
private_email
Char
readonly=False
related='address_home_id.email'
string='Private Email'
private_lang
Selection
readonly=False
related='address_home_id.lang'
string='Employee Lang'
private_state_id
Many2one
domain="[('country_id', '=?', private_country_id)]"
readonly=False
related='address_home_id.state_id'
related_sudo=False
string='Private State'
private_street
Char
readonly=False
related='address_home_id.street'
related_sudo=False
string='Private Street'
private_street2
Char
readonly=False
related='address_home_id.street2'
related_sudo=False
string='Private Street2'
private_zip
Char
readonly=False
related='address_home_id.zip'
related_sudo=False
string='Private Zip'
spouse_birthdate
Date
readonly=False
related='employee_id.spouse_birthdate'
related_sudo=False
spouse_complete_name
Char
readonly=False
related='employee_id.spouse_complete_name'
related_sudo=False
study_field
Char
readonly=False
related='employee_id.study_field'
related_sudo=False
study_school
Char
readonly=False
related='employee_id.study_school'
related_sudo=False
visa_expire
Date
readonly=False
related='employee_id.visa_expire'
related_sudo=False
visa_no
Char
readonly=False
related='employee_id.visa_no'
related_sudo=False
work_email
Char
readonly=False
related='employee_id.work_email'
related_sudo=False
work_location_id
Many2one
readonly=False
related='employee_id.work_location_id'
related_sudo=False
work_phone
Char
readonly=False
related='employee_id.work_phone'
related_sudo=False
SELF_READABLE_FIELDS(self)
SELF_WRITEABLE_FIELDS(self)
action_create_employee(self)
action_get(self)
fields_view_get(self, view_id=None, view_type='form', toolbar=False, submenu=False)
write(self, vals)
user_id
Many2one
copy=False
No public methods.
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
assets_backend |
hr assets | ir.ui.view | qweb | Inherits web.assets_backend |
hr_department_view_kanban |
hr.department.kanban | hr.department | kanban | New |
hr_departure_wizard_view_form |
hr.departure.wizard.view.form | hr.departure.wizard | form | 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.tree | hr.employee.public | tree | New |
hr_employee_view_activity |
hr.employee.activity | hr.employee | activity | New |
hr_job_view_kanban |
hr.job.kanban | hr.job | kanban | New |
hr_kanban_view_employees |
hr.employee.kanban | hr.employee | kanban | New |
hr_plan_activity_type_view_form |
hr.plan.activity.type.view.form | hr.plan.activity.type | form | New |
hr_plan_activity_type_view_tree |
hr.plan.activity.type.view.tree | hr.plan.activity.type | tree | New |
hr_plan_view_form |
hr.plan.view.form | hr.plan | form | New |
hr_plan_view_search |
hr.plan.view.search | hr.plan | search | New |
hr_plan_view_tree |
hr.plan.view.tree | hr.plan | tree | New |
mail_channel_view_form_ |
mail.channel.view.form.inherit.hr | mail.channel | xpath | Inherits mail.mail_channel_view_form |
plan_wizard |
plan wizard | hr.plan.wizard | form | New |
print_employee_badge |
print_employee_badge | ir.ui.view | qweb | New |
qunit_suite |
hr tests | ir.ui.view | qweb | Inherits web.qunit_suite_tests |
res_config_settings_view_form |
res.config.settings.view.form.inherit.hr | res.config.settings | xpath | Inherits base.res_config_settings_view_form |
res_users_view_form |
res.users.form.inherit | res.users | xpath | Inherits base.view_users_form |
res_users_view_form_profile |
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 | xpath | Inherits base.view_users_form_simple_modif |
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.tree | hr.department | tree | 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 | tree | New |
view_employee_filter |
hr.employee.search | hr.employee | search | New |
view_employee_form |
hr.employee.form | hr.employee | form | New |
view_employee_tree |
hr.employee.tree | hr.employee | tree | New |
view_hr_job_form |
hr.job.form | hr.job | form | New |
view_hr_job_tree |
hr.job.tree | hr.job | tree | New |
view_job_filter |
hr.job.search | hr.job | search | New |
view_partner_tree2 |
hr.employee.tree | hr.employee | tree | New |
view_users_form_simple_modif_resource |
res.users.preferences.form.resource | res.users | field | Inherits base.view_users_form_simple_modif |
No new fields.
Public methods (0)No public methods.
active
Boolean
default=True
args: 'Active'
child_ids
One2many → hr.department
string='Child Departments'
args: 'hr.department', 'parent_id'
color
Integer
company_id
Many2one → res.company
default=<expr>
index=True
string='Company'
args: 'res.company'
complete_name
Char
compute='_compute_complete_name'
store=True
args: 'Complete Name'
jobs_ids
One2many → hr.job
string='Jobs'
args: 'hr.job', 'department_id'
manager_id
Many2one → hr.employee
domain="['|', ('company_id', '=', False), ('company_id', '=', company_id)]"
string='Manager'
tracking=True
args: 'hr.employee'
member_ids
One2many → hr.employee
readonly=True
string='Members'
args: 'hr.employee', 'department_id'
name
Char
required=True
args: 'Department Name'
note
Text
parent_id
Many2one → hr.department
domain="['|', ('company_id', '=', False), ('company_id', '=', company_id)]"
index=True
string='Parent Department'
args: 'hr.department'
create(self, vals)
name_create(self, name)
name_get(self)
write(self, vals)
archive_private_address
Boolean
default=True
args: 'Archive Private Address'
departure_date
Date
default=fields.Date.today
required=True
string='Departure Date'
departure_description
Text
string='Additional Information'
departure_reason
Selection
default='fired'
string='Departure Reason'
args: [('fired', 'Fired'), ('resigned', 'Resigned'), ('retired', 'Retired')]
employee_id
Many2one → hr.employee
default=<expr>
required=True
string='Employee'
args: 'hr.employee'
action_register_departure(self)
active
Boolean
default=True
readonly=False
related='resource_id.active'
store=True
args: 'Active'
additional_note
Text
groups='hr.group_hr_user'
string='Additional Note'
tracking=True
address_home_id
Many2one → res.partner
domain="['|', ('company_id', '=', False), ('company_id', '=', company_id)]"
groups='hr.group_hr_user'
help='Enter here the private address of the employee, not the one linked to your company.'
tracking=True
args: 'res.partner', 'Address'
bank_account_id
Many2one → res.partner.bank
domain="[('partner_id', '=', address_home_id), '|', ('company_id', '=', False), ('company_id', '=', company_id)]"
groups='hr.group_hr_user'
help='Employee bank salary account'
tracking=True
args: 'res.partner.bank', 'Bank Account Number'
barcode
Char
copy=False
groups='hr.group_hr_user'
help='ID used for employee identification.'
string='Badge ID'
birthday
Date
groups='hr.group_hr_user'
tracking=True
args: 'Date of Birth'
category_ids
Many2many → hr.employee.category
groups='hr.group_hr_manager'
string='Tags'
args: 'hr.employee.category', 'employee_category_rel', 'emp_id', 'category_id'
certificate
Selection
default='other'
groups='hr.group_hr_user'
tracking=True
args: [('graduate', 'Graduate'), ('bachelor', 'Bachelor'), ('master', 'Master'), ('doctor', 'Doctor'), ('other', 'Other')], 'Certificate Level'
child_ids
One2many → hr.employee
string='Direct subordinates'
args: 'hr.employee', 'parent_id'
children
Integer
groups='hr.group_hr_user'
string='Number of Children'
tracking=True
color
Integer
default=0
args: 'Color Index'
company_id
Many2one → res.company
required=True
args: 'res.company'
country_id
Many2one → res.country
groups='hr.group_hr_user'
tracking=True
args: 'res.country', 'Nationality (Country)'
country_of_birth
Many2one → res.country
groups='hr.group_hr_user'
string='Country of Birth'
tracking=True
args: 'res.country'
departure_date
Date
copy=False
groups='hr.group_hr_user'
string='Departure Date'
tracking=True
departure_description
Text
copy=False
groups='hr.group_hr_user'
string='Additional Information'
tracking=True
departure_reason
Selection
copy=False
groups='hr.group_hr_user'
string='Departure Reason'
tracking=True
args: [('fired', 'Fired'), ('resigned', 'Resigned'), ('retired', 'Retired')]
emergency_contact
Char
groups='hr.group_hr_user'
tracking=True
args: 'Emergency Contact'
emergency_phone
Char
groups='hr.group_hr_user'
tracking=True
args: 'Emergency Phone'
gender
Selection
groups='hr.group_hr_user'
tracking=True
args: [('male', 'Male'), ('female', 'Female'), ('other', 'Other')]
identification_id
Char
groups='hr.group_hr_user'
string='Identification No'
tracking=True
image_1920
Image
default=_default_image
is_address_home_a_company
Boolean
compute='_compute_is_address_home_a_company'
args: 'The employee address has a company linked'
km_home_work
Integer
groups='hr.group_hr_user'
string='Home-Work Distance'
tracking=True
marital
Selection
default='single'
groups='hr.group_hr_user'
string='Marital Status'
tracking=True
args: [('single', 'Single'), ('married', 'Married'), ('cohabitant', 'Legal Cohabitant'), ('widower', 'Widower'), ('divorced', 'Divorced')]
message_main_attachment_id
Many2one
groups='hr.group_hr_user'
name
Char
readonly=False
related='resource_id.name'
store=True
string='Employee Name'
tracking=True
notes
Text
groups='hr.group_hr_user'
args: 'Notes'
passport_id
Char
groups='hr.group_hr_user'
tracking=True
args: 'Passport No'
permit_no
Char
groups='hr.group_hr_user'
tracking=True
args: 'Work Permit No'
phone
Char
groups='hr.group_hr_user'
readonly=False
related='address_home_id.phone'
related_sudo=False
string='Private Phone'
pin
Char
copy=False
groups='hr.group_hr_user'
help='PIN used to Check In/Out in Kiosk Mode (if enabled in Configuration).'
string='PIN'
place_of_birth
Char
groups='hr.group_hr_user'
tracking=True
args: 'Place of Birth'
private_email
Char
groups='hr.group_hr_user'
related='address_home_id.email'
string='Private Email'
sinid
Char
groups='hr.group_hr_user'
help='Social Insurance Number'
tracking=True
args: 'SIN No'
spouse_birthdate
Date
groups='hr.group_hr_user'
string='Spouse Birthdate'
tracking=True
spouse_complete_name
Char
groups='hr.group_hr_user'
string='Spouse Complete Name'
tracking=True
ssnid
Char
groups='hr.group_hr_user'
help='Social Security Number'
tracking=True
args: 'SSN No'
study_field
Char
groups='hr.group_hr_user'
tracking=True
args: 'Field of Study'
study_school
Char
groups='hr.group_hr_user'
tracking=True
args: 'School'
user_id
Many2one → res.users
readonly=False
related='resource_id.user_id'
store=True
args: 'res.users', 'User'
user_partner_id
Many2one
related='user_id.partner_id'
related_sudo=False
string="User's partner"
visa_expire
Date
groups='hr.group_hr_user'
tracking=True
args: 'Visa Expire Date'
visa_no
Char
groups='hr.group_hr_user'
tracking=True
args: 'Visa No'
create(self, vals)
generate_random_barcode(self)
get_formview_action(self, access_uid=None)
get_formview_id(self, access_uid=None)
get_import_templates(self)
load_views(self, views, options=None)
message_post(self, **kwargs)
name_get(self)
read(self, fields, load='_classic_read')
toggle_active(self)
unlink(self)
write(self, vals)
active
Boolean
address_id
Many2one → res.partner
compute='_compute_address_id'
domain="['|', ('company_id', '=', False), ('company_id', '=', company_id)]"
readonly=False
store=True
args: 'res.partner', 'Work Address'
coach_id
Many2one → hr.employee
compute='_compute_coach'
domain="['|', ('company_id', '=', False), ('company_id', '=', company_id)]"
help='Select the "Employee" who is the coach of this employee.\nThe "Coach" has no specific rights or responsibilities by default.'
readonly=False
store=True
args: 'hr.employee', 'Coach'
color
Integer
default=0
args: 'Color Index'
company_id
Many2one → res.company
department_id
Many2one → hr.department
domain="['|', ('company_id', '=', False), ('company_id', '=', company_id)]"
args: 'hr.department', 'Department'
hr_icon_display
Selection
compute='_compute_presence_icon'
args: [('presence_present', 'Present'), ('presence_absent_active', 'Present but not active'), ('presence_absent', 'Absent'), ('presence_to_define', 'To define'), ('presence_undetermined', 'Undetermined')]
hr_presence_state
Selection
compute='_compute_presence_state'
default='to_define'
args: [('present', 'Present'), ('absent', 'Absent'), ('to_define', 'To Define')]
job_id
Many2one → hr.job
domain="['|', ('company_id', '=', False), ('company_id', '=', company_id)]"
args: 'hr.job', 'Job Position'
job_title
Char
compute='_compute_job_title'
readonly=False
store=True
args: 'Job Title'
last_activity
Date
compute='_compute_last_activity'
last_activity_time
Char
compute='_compute_last_activity'
mobile_phone
Char
name
Char
parent_id
Many2one → hr.employee
compute='_compute_parent_id'
domain="['|', ('company_id', '=', False), ('company_id', '=', company_id)]"
readonly=False
store=True
args: 'hr.employee', 'Manager'
resource_calendar_id
Many2one → resource.calendar
domain="['|', ('company_id', '=', False), ('company_id', '=', company_id)]"
args: 'resource.calendar'
resource_id
Many2one → resource.resource
tz
Selection
help='This field is used in order to define in which timezone the resources will work.'
readonly=False
related='resource_id.tz'
string='Timezone'
user_id
Many2one → res.users
work_email
Char
work_location
Char
work_phone
Char
compute='_compute_phones'
readonly=False
store=True
args: 'Work Phone'
No public methods.
color
Integer
default=_get_default_color
string='Color Index'
employee_ids
Many2many → hr.employee
string='Employees'
args: 'hr.employee', 'employee_category_rel', 'category_id', 'emp_id'
name
Char
required=True
string='Tag Name'
No public methods.
active
Boolean
readonly=True
address_id
Many2one
readonly=True
child_ids
One2many → hr.employee.public
readonly=True
string='Direct subordinates'
args: 'hr.employee.public', 'parent_id'
coach_id
Many2one → hr.employee.public
readonly=True
args: 'hr.employee.public', 'Coach'
color
Integer
readonly=True
company_id
Many2one
readonly=True
create_date
Datetime
readonly=True
department_id
Many2one
readonly=True
image_1024
Image
compute='_compute_image'
compute_sudo=True
args: 'Image 1024'
image_128
Image
compute='_compute_image'
compute_sudo=True
args: 'Image 128'
image_1920
Image
compute='_compute_image'
compute_sudo=True
args: 'Original Image'
image_256
Image
compute='_compute_image'
compute_sudo=True
args: 'Image 256'
image_512
Image
compute='_compute_image'
compute_sudo=True
args: 'Image 512'
job_id
Many2one
readonly=True
job_title
Char
readonly=True
mobile_phone
Char
readonly=True
name
Char
readonly=True
parent_id
Many2one → hr.employee.public
readonly=True
args: 'hr.employee.public', 'Manager'
resource_calendar_id
Many2one
readonly=True
resource_id
Many2one
readonly=True
tz
Selection
readonly=True
user_id
Many2one
readonly=True
user_partner_id
Many2one
related='user_id.partner_id'
related_sudo=False
string="User's partner"
work_email
Char
readonly=True
work_location
Char
readonly=True
work_phone
Char
readonly=True
init(self)
company_id
Many2one → res.company
default=<expr>
string='Company'
args: 'res.company'
department_id
Many2one → hr.department
domain="['|', ('company_id', '=', False), ('company_id', '=', company_id)]"
string='Department'
args: 'hr.department'
description
Text
string='Job Description'
employee_ids
One2many → hr.employee
groups='base.group_user'
string='Employees'
args: 'hr.employee', 'job_id'
expected_employees
Integer
compute='_compute_employees'
help='Expected number of employees for this job position after new recruitment.'
store=True
string='Total Forecasted Employees'
name
Char
index=True
required=True
string='Job Position'
translate=True
no_of_employee
Integer
compute='_compute_employees'
help='Number of employees currently occupying this job position.'
store=True
string='Current Number of Employees'
no_of_hired_employee
Integer
copy=False
help='Number of hired employees for this job position during recruitment phase.'
string='Hired Employees'
no_of_recruitment
Integer
copy=False
default=1
help='Number of new employees you expect to recruit.'
string='Expected New Employees'
requirements
Text
state
Selection
copy=False
default='recruit'
help='Set whether the recruitment process is open or closed for this job position.'
readonly=True
required=True
string='Status'
tracking=True
args: [('recruit', 'Recruitment in Progress'), ('open', 'Not Recruiting')]
copy(self, default=None)
create(self, values)
set_open(self)
set_recruit(self)
active
Boolean
default=True
name
Char
required=True
args: 'Name'
plan_activity_type_ids
Many2many → hr.plan.activity.type
string='Activities'
args: 'hr.plan.activity.type'
No public methods.
activity_type_id
Many2one → mail.activity.type
default=<expr>
domain=<expr>
ondelete='restrict'
args: 'mail.activity.type', 'Activity Type'
note
Html
responsible
Selection
default='employee'
required=True
string='Responsible'
args: [('coach', 'Coach'), ('manager', 'Manager'), ('employee', 'Employee'), ('other', 'Other')]
responsible_id
Many2one → res.users
help='Specific responsible of activity if not linked to the employee.'
args: 'res.users', 'Responsible Person'
summary
Char
compute='_compute_default_summary'
readonly=False
store=True
args: 'Summary'
get_responsible_id(self, employee)
employee_id
Many2one → hr.employee
default=<expr>
required=True
string='Employee'
args: 'hr.employee'
plan_id
Many2one → hr.plan
default=<expr>
args: 'hr.plan'
action_launch(self)
alias_contact
Selection
ondelete={'employees': 'cascade'}
selection_add=[('employees', 'Authenticated Employees')]
No public methods.
subscription_department_ids
Many2many → hr.department
help='Automatically subscribe members of those departments to the channel.'
string='HR Departments'
args: 'hr.department'
write(self, vals)
hr_presence_control_email_amount
Integer
string='# emails to send'
hr_presence_control_ip_list
Char
string='Valid IP addresses'
No public methods.
hr_employee_self_edit
Boolean
config_parameter='hr.hr_employee_self_edit'
string='Employee Editing'
hr_presence_control_email
Boolean
config_parameter='hr_presence.hr_presence_control_email'
string='Based on number of emails sent'
hr_presence_control_email_amount
Integer
readonly=False
related='company_id.hr_presence_control_email_amount'
hr_presence_control_ip
Boolean
config_parameter='hr_presence.hr_presence_control_ip'
string='Based on IP Address'
hr_presence_control_ip_list
Char
readonly=False
related='company_id.hr_presence_control_ip_list'
hr_presence_control_login
Boolean
config_parameter='hr.hr_presence_control_login'
string='Based on user status in system'
module_hr_attendance
Boolean
string='Based on attendances'
module_hr_presence
Boolean
string='Advanced Presence Control'
module_hr_skills
Boolean
string='Skills Management'
resource_calendar_id
Many2one → resource.calendar
readonly=False
related='company_id.resource_calendar_id'
args: 'resource.calendar', 'Company Working Hours'
No public methods.
No new fields.
Public methods (1)name_get(self)
additional_note
Text
readonly=False
related='employee_id.additional_note'
related_sudo=False
address_home_id
Many2one
readonly=False
related='employee_id.address_home_id'
related_sudo=False
address_id
Many2one
readonly=False
related='employee_id.address_id'
related_sudo=False
barcode
Char
readonly=False
related='employee_id.barcode'
related_sudo=False
birthday
Date
readonly=False
related='employee_id.birthday'
related_sudo=False
can_edit
Boolean
compute='_compute_can_edit'
category_ids
Many2many
readonly=False
related='employee_id.category_ids'
related_sudo=False
string='Employee Tags'
certificate
Selection
readonly=False
related='employee_id.certificate'
related_sudo=False
children
Integer
readonly=False
related='employee_id.children'
related_sudo=False
coach_id
Many2one
readonly=False
related='employee_id.coach_id'
related_sudo=False
country_of_birth
Many2one
readonly=False
related='employee_id.country_of_birth'
related_sudo=False
department_id
Many2one
readonly=False
related='employee_id.department_id'
related_sudo=False
emergency_contact
Char
readonly=False
related='employee_id.emergency_contact'
related_sudo=False
emergency_phone
Char
readonly=False
related='employee_id.emergency_phone'
related_sudo=False
employee_bank_account_id
Many2one
readonly=False
related='employee_id.bank_account_id'
related_sudo=False
string="Employee's Bank Account Number"
employee_count
Integer
compute='_compute_employee_count'
employee_country_id
Many2one
readonly=False
related='employee_id.country_id'
related_sudo=False
string="Employee's Country"
employee_id
Many2one → hr.employee
compute='_compute_company_employee'
search='_search_company_employee'
store=False
string='Company employee'
args: 'hr.employee'
employee_ids
One2many → hr.employee
domain=_employee_ids_domain
string='Related employee'
args: 'hr.employee', 'user_id'
employee_parent_id
Many2one
readonly=False
related='employee_id.parent_id'
related_sudo=False
employee_phone
Char
readonly=False
related='employee_id.phone'
related_sudo=False
gender
Selection
readonly=False
related='employee_id.gender'
related_sudo=False
hr_presence_state
Selection
related='employee_id.hr_presence_state'
identification_id
Char
readonly=False
related='employee_id.identification_id'
related_sudo=False
is_address_home_a_company
Boolean
readonly=False
related='employee_id.is_address_home_a_company'
related_sudo=False
job_title
Char
readonly=False
related='employee_id.job_title'
related_sudo=False
km_home_work
Integer
readonly=False
related='employee_id.km_home_work'
related_sudo=False
last_activity
Date
related='employee_id.last_activity'
last_activity_time
Char
related='employee_id.last_activity_time'
marital
Selection
readonly=False
related='employee_id.marital'
related_sudo=False
mobile_phone
Char
readonly=False
related='employee_id.mobile_phone'
related_sudo=False
passport_id
Char
readonly=False
related='employee_id.passport_id'
related_sudo=False
permit_no
Char
readonly=False
related='employee_id.permit_no'
related_sudo=False
pin
Char
readonly=False
related='employee_id.pin'
related_sudo=False
place_of_birth
Char
readonly=False
related='employee_id.place_of_birth'
related_sudo=False
private_email
Char
readonly=False
related='address_home_id.email'
string='Private Email'
spouse_birthdate
Date
readonly=False
related='employee_id.spouse_birthdate'
related_sudo=False
spouse_complete_name
Char
readonly=False
related='employee_id.spouse_complete_name'
related_sudo=False
study_field
Char
readonly=False
related='employee_id.study_field'
related_sudo=False
study_school
Char
readonly=False
related='employee_id.study_school'
related_sudo=False
visa_expire
Date
readonly=False
related='employee_id.visa_expire'
related_sudo=False
visa_no
Char
readonly=False
related='employee_id.visa_no'
related_sudo=False
work_email
Char
readonly=False
related='employee_id.work_email'
related_sudo=False
work_location
Char
readonly=False
related='employee_id.work_location'
related_sudo=False
work_phone
Char
readonly=False
related='employee_id.work_phone'
related_sudo=False
action_create_employee(self)
action_get(self)
fields_view_get(self, view_id=None, view_type='form', toolbar=False, submenu=False)
write(self, vals)
user_id
Many2one
copy=False
No public methods.
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
assets_backend |
hr assets | ir.ui.view | qweb | Inherits web.assets_backend |
hr_department_view_kanban |
hr.department.kanban | hr.department | kanban | New |
hr_departure_wizard_view_form |
hr.departure.wizard.view.form | hr.departure.wizard | form | 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.tree | hr.employee.public | tree | New |
hr_employee_view_activity |
hr.employee.activity | hr.employee | activity | New |
hr_job_view_kanban |
hr.job.kanban | hr.job | kanban | New |
hr_kanban_view_employees |
hr.employee.kanban | hr.employee | kanban | New |
hr_plan_activity_type_view_form |
hr.plan.activity.type.view.form | hr.plan.activity.type | form | New |
hr_plan_activity_type_view_tree |
hr.plan.activity.type.view.tree | hr.plan.activity.type | tree | New |
hr_plan_view_form |
hr.plan.view.form | hr.plan | form | New |
hr_plan_view_search |
hr.plan.view.search | hr.plan | search | New |
hr_plan_view_tree |
hr.plan.view.tree | hr.plan | tree | New |
mail_channel_view_form_ |
mail.channel.view.form.inherit.hr | mail.channel | xpath | Inherits mail.mail_channel_view_form |
plan_wizard |
plan wizard | hr.plan.wizard | form | New |
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 | xpath | Inherits base.res_config_settings_view_form |
res_users_view_form |
res.users.form.inherit | res.users | xpath | Inherits base.view_users_form |
res_users_view_form_profile |
res.users.preferences.form.inherit | res.users | xpath | Inherits res_users_view_form_simple_modif |
res_users_view_form_simple_modif |
res.users.preferences.form.simplified.inherit | res.users | footer | Inherits base.view_users_form_simple_modif |
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.tree | hr.department | tree | 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 | tree | New |
view_employee_filter |
hr.employee.search | hr.employee | search | New |
view_employee_form |
hr.employee.form | hr.employee | form | New |
view_employee_tree |
hr.employee.tree | hr.employee | tree | New |
view_hr_job_form |
hr.job.form | hr.job | form | New |
view_hr_job_tree |
hr.job.tree | hr.job | tree | New |
view_job_filter |
hr.job.search | hr.job | search | New |
view_partner_tree2 |
hr.employee.tree | hr.employee | tree | New |
view_users_form_simple_modif_resource |
res.users.preferences.form.resource | res.users | field | Inherits base.view_users_form_simple_modif |
active
Boolean
default=True
args: 'Active'
child_ids
One2many → hr.department
string='Child Departments'
args: 'hr.department', 'parent_id'
color
Integer
company_id
Many2one → res.company
default=<expr>
index=True
string='Company'
args: 'res.company'
complete_name
Char
compute='_compute_complete_name'
store=True
args: 'Complete Name'
jobs_ids
One2many → hr.job
string='Jobs'
args: 'hr.job', 'department_id'
manager_id
Many2one → hr.employee
domain="['|', ('company_id', '=', False), ('company_id', '=', company_id)]"
string='Manager'
tracking=True
args: 'hr.employee'
member_ids
One2many → hr.employee
readonly=True
string='Members'
args: 'hr.employee', 'department_id'
name
Char
required=True
args: 'Department Name'
note
Text
parent_id
Many2one → hr.department
domain="['|', ('company_id', '=', False), ('company_id', '=', company_id)]"
index=True
string='Parent Department'
args: 'hr.department'
create(self, vals)
name_create(self, name)
name_get(self)
write(self, vals)
departure_description
Text
string='Additional Information'
departure_reason
Selection
default='fired'
string='Departure Reason'
args: [('fired', 'Fired'), ('resigned', 'Resigned'), ('retired', 'Retired')]
employee_id
Many2one → hr.employee
required=True
string='Employee'
args: 'hr.employee'
plan_id
Many2one → hr.plan
default=<expr>
args: 'hr.plan'
action_register_departure(self)
default_get(self, fields)
active
Boolean
default=True
readonly=False
related='resource_id.active'
store=True
args: 'Active'
additional_note
Text
groups='hr.group_hr_user'
string='Additional Note'
tracking=True
address_home_id
Many2one → res.partner
domain="['|', ('company_id', '=', False), ('company_id', '=', company_id)]"
groups='hr.group_hr_user'
help='Enter here the private address of the employee, not the one linked to your company.'
tracking=True
args: 'res.partner', 'Address'
bank_account_id
Many2one → res.partner.bank
domain="[('partner_id', '=', address_home_id), '|', ('company_id', '=', False), ('company_id', '=', company_id)]"
groups='hr.group_hr_user'
help='Employee bank salary account'
tracking=True
args: 'res.partner.bank', 'Bank Account Number'
barcode
Char
copy=False
groups='hr.group_hr_user'
help='ID used for employee identification.'
string='Badge ID'
birthday
Date
groups='hr.group_hr_user'
tracking=True
args: 'Date of Birth'
category_ids
Many2many → hr.employee.category
groups='hr.group_hr_manager'
string='Tags'
args: 'hr.employee.category', 'employee_category_rel', 'emp_id', 'category_id'
certificate
Selection
default='other'
groups='hr.group_hr_user'
tracking=True
args: [('bachelor', 'Bachelor'), ('master', 'Master'), ('other', 'Other')], 'Certificate Level'
child_ids
One2many → hr.employee
string='Direct subordinates'
args: 'hr.employee', 'parent_id'
children
Integer
groups='hr.group_hr_user'
string='Number of Children'
tracking=True
color
Integer
default=0
args: 'Color Index'
country_id
Many2one → res.country
groups='hr.group_hr_user'
tracking=True
args: 'res.country', 'Nationality (Country)'
country_of_birth
Many2one → res.country
groups='hr.group_hr_user'
string='Country of Birth'
tracking=True
args: 'res.country'
departure_description
Text
copy=False
groups='hr.group_hr_user'
string='Additional Information'
tracking=True
departure_reason
Selection
copy=False
groups='hr.group_hr_user'
string='Departure Reason'
tracking=True
args: [('fired', 'Fired'), ('resigned', 'Resigned'), ('retired', 'Retired')]
emergency_contact
Char
groups='hr.group_hr_user'
tracking=True
args: 'Emergency Contact'
emergency_phone
Char
groups='hr.group_hr_user'
tracking=True
args: 'Emergency Phone'
gender
Selection
default='male'
groups='hr.group_hr_user'
tracking=True
args: [('male', 'Male'), ('female', 'Female'), ('other', 'Other')]
identification_id
Char
groups='hr.group_hr_user'
string='Identification No'
tracking=True
image_1920
Image
default=_default_image
is_address_home_a_company
Boolean
compute='_compute_is_address_home_a_company'
args: 'The employee address has a company linked'
km_home_work
Integer
groups='hr.group_hr_user'
string='Km Home-Work'
tracking=True
marital
Selection
default='single'
groups='hr.group_hr_user'
string='Marital Status'
tracking=True
args: [('single', 'Single'), ('married', 'Married'), ('cohabitant', 'Legal Cohabitant'), ('widower', 'Widower'), ('divorced', 'Divorced')]
message_main_attachment_id
Many2one
groups='hr.group_hr_user'
name
Char
readonly=False
related='resource_id.name'
store=True
string='Employee Name'
tracking=True
notes
Text
groups='hr.group_hr_user'
args: 'Notes'
passport_id
Char
groups='hr.group_hr_user'
tracking=True
args: 'Passport No'
permit_no
Char
groups='hr.group_hr_user'
tracking=True
args: 'Work Permit No'
phone
Char
groups='hr.group_hr_user'
readonly=False
related='address_home_id.phone'
related_sudo=False
string='Private Phone'
pin
Char
copy=False
groups='hr.group_hr_user'
help='PIN used to Check In/Out in Kiosk Mode (if enabled in Configuration).'
string='PIN'
place_of_birth
Char
groups='hr.group_hr_user'
tracking=True
args: 'Place of Birth'
private_email
Char
groups='hr.group_hr_user'
related='address_home_id.email'
string='Private Email'
sinid
Char
groups='hr.group_hr_user'
help='Social Insurance Number'
tracking=True
args: 'SIN No'
spouse_birthdate
Date
groups='hr.group_hr_user'
string='Spouse Birthdate'
tracking=True
spouse_complete_name
Char
groups='hr.group_hr_user'
string='Spouse Complete Name'
tracking=True
ssnid
Char
groups='hr.group_hr_user'
help='Social Security Number'
tracking=True
args: 'SSN No'
study_field
Char
groups='hr.group_hr_user'
tracking=True
args: 'Field of Study'
study_school
Char
groups='hr.group_hr_user'
tracking=True
args: 'School'
user_id
Many2one → res.users
readonly=False
related='resource_id.user_id'
store=True
args: 'res.users', 'User'
user_partner_id
Many2one
related='user_id.partner_id'
related_sudo=False
string="User's partner"
visa_expire
Date
groups='hr.group_hr_user'
tracking=True
args: 'Visa Expire Date'
visa_no
Char
groups='hr.group_hr_user'
tracking=True
args: 'Visa No'
create(self, vals)
generate_random_barcode(self)
get_formview_action(self, access_uid=None)
get_formview_id(self, access_uid=None)
get_import_templates(self)
load_views(self, views, options=None)
message_post(self, **kwargs)
name_get(self)
read(self, fields, load='_classic_read')
toggle_active(self)
unlink(self)
write(self, vals)
active
Boolean
address_id
Many2one → res.partner
domain="['|', ('company_id', '=', False), ('company_id', '=', company_id)]"
args: 'res.partner', 'Work Address'
coach_id
Many2one → hr.employee
domain="['|', ('company_id', '=', False), ('company_id', '=', company_id)]"
args: 'hr.employee', 'Coach'
color
Integer
default=0
args: 'Color Index'
company_id
Many2one → res.company
department_id
Many2one → hr.department
domain="['|', ('company_id', '=', False), ('company_id', '=', company_id)]"
args: 'hr.department', 'Department'
hr_presence_state
Selection
compute='_compute_presence_state'
default='to_define'
args: [('present', 'Present'), ('absent', 'Absent'), ('to_define', 'To Define')]
job_id
Many2one → hr.job
domain="['|', ('company_id', '=', False), ('company_id', '=', company_id)]"
args: 'hr.job', 'Job Position'
job_title
Char
last_activity
Date
compute='_compute_last_activity'
last_activity_time
Char
compute='_compute_last_activity'
mobile_phone
Char
name
Char
parent_id
Many2one → hr.employee
domain="['|', ('company_id', '=', False), ('company_id', '=', company_id)]"
args: 'hr.employee', 'Manager'
resource_calendar_id
Many2one → resource.calendar
domain="['|', ('company_id', '=', False), ('company_id', '=', company_id)]"
args: 'resource.calendar'
resource_id
Many2one → resource.resource
tz
Selection
help='This field is used in order to define in which timezone the resources will work.'
readonly=False
related='resource_id.tz'
string='Timezone'
user_id
Many2one → res.users
work_email
Char
work_location
Char
work_phone
Char
No public methods.
color
Integer
string='Color Index'
employee_ids
Many2many → hr.employee
string='Employees'
args: 'hr.employee', 'employee_category_rel', 'category_id', 'emp_id'
name
Char
required=True
string='Tag Name'
No public methods.
active
Boolean
readonly=True
address_id
Many2one
readonly=True
child_ids
One2many → hr.employee.public
readonly=True
string='Direct subordinates'
args: 'hr.employee.public', 'parent_id'
coach_id
Many2one → hr.employee.public
readonly=True
args: 'hr.employee.public', 'Coach'
color
Integer
readonly=True
company_id
Many2one
readonly=True
create_date
Datetime
readonly=True
department_id
Many2one
readonly=True
image_1024
Image
compute='_compute_image'
compute_sudo=True
args: 'Image 1024'
image_128
Image
compute='_compute_image'
compute_sudo=True
args: 'Image 128'
image_1920
Image
compute='_compute_image'
compute_sudo=True
args: 'Original Image'
image_256
Image
compute='_compute_image'
compute_sudo=True
args: 'Image 256'
image_512
Image
compute='_compute_image'
compute_sudo=True
args: 'Image 512'
job_id
Many2one
readonly=True
job_title
Char
readonly=True
mobile_phone
Char
readonly=True
name
Char
readonly=True
parent_id
Many2one → hr.employee.public
readonly=True
args: 'hr.employee.public', 'Manager'
resource_calendar_id
Many2one
readonly=True
resource_id
Many2one
readonly=True
tz
Selection
readonly=True
user_id
Many2one
readonly=True
work_email
Char
readonly=True
work_location
Char
readonly=True
work_phone
Char
readonly=True
init(self)
company_id
Many2one → res.company
default=<expr>
string='Company'
args: 'res.company'
department_id
Many2one → hr.department
domain="['|', ('company_id', '=', False), ('company_id', '=', company_id)]"
string='Department'
args: 'hr.department'
description
Text
string='Job Description'
employee_ids
One2many → hr.employee
groups='base.group_user'
string='Employees'
args: 'hr.employee', 'job_id'
expected_employees
Integer
compute='_compute_employees'
help='Expected number of employees for this job position after new recruitment.'
store=True
string='Total Forecasted Employees'
name
Char
index=True
required=True
string='Job Position'
translate=True
no_of_employee
Integer
compute='_compute_employees'
help='Number of employees currently occupying this job position.'
store=True
string='Current Number of Employees'
no_of_hired_employee
Integer
copy=False
help='Number of hired employees for this job position during recruitment phase.'
string='Hired Employees'
no_of_recruitment
Integer
copy=False
default=1
help='Number of new employees you expect to recruit.'
string='Expected New Employees'
requirements
Text
state
Selection
copy=False
default='recruit'
help='Set whether the recruitment process is open or closed for this job position.'
readonly=True
required=True
string='Status'
tracking=True
args: [('recruit', 'Recruitment in Progress'), ('open', 'Not Recruiting')]
copy(self, default=None)
create(self, values)
set_open(self)
set_recruit(self)
active
Boolean
default=True
name
Char
required=True
args: 'Name'
plan_activity_type_ids
Many2many → hr.plan.activity.type
string='Activities'
args: 'hr.plan.activity.type'
No public methods.
activity_type_id
Many2one → mail.activity.type
default=<expr>
domain=<expr>
args: 'mail.activity.type', 'Activity Type'
note
Html
responsible
Selection
default='employee'
required=True
string='Responsible'
args: [('coach', 'Coach'), ('manager', 'Manager'), ('employee', 'Employee'), ('other', 'Other')]
responsible_id
Many2one → res.users
help='Specific responsible of activity if not linked to the employee.'
args: 'res.users', 'Responsible Person'
summary
Char
get_responsible_id(self, employee)
employee_id
Many2one → hr.employee
required=True
string='Employee'
args: 'hr.employee'
plan_id
Many2one → hr.plan
default=<expr>
args: 'hr.plan'
action_launch(self)
default_get(self, fields_list)
alias_contact
Selection
selection_add=[('employees', 'Authenticated Employees')]
No public methods.
No new fields.
Public methods (0)No public methods.
subscription_department_ids
Many2many → hr.department
help='Automatically subscribe members of those departments to the channel.'
string='HR Departments'
args: 'hr.department'
write(self, vals)
hr_presence_control_email_amount
Integer
string='# emails to send'
hr_presence_control_ip_list
Char
string='Valid IP addresses'
No public methods.
hr_employee_self_edit
Boolean
config_parameter='hr.hr_employee_self_edit'
string='Employee Edition'
hr_presence_control_email
Boolean
config_parameter='hr_presence.hr_presence_control_email'
string='Based on number of emails sent'
hr_presence_control_email_amount
Integer
readonly=False
related='company_id.hr_presence_control_email_amount'
hr_presence_control_ip
Boolean
config_parameter='hr_presence.hr_presence_control_ip'
string='Based on IP Address'
hr_presence_control_ip_list
Char
readonly=False
related='company_id.hr_presence_control_ip_list'
hr_presence_control_login
Boolean
config_parameter='hr.hr_presence_control_login'
string='Based on user status in system'
module_hr_attendance
Boolean
string='Based on attendances'
module_hr_org_chart
Boolean
string='Organizational Chart'
module_hr_presence
Boolean
string='Advanced Presence Control'
module_hr_skills
Boolean
string='Skills Management'
resource_calendar_id
Many2one → resource.calendar
readonly=False
related='company_id.resource_calendar_id'
args: 'resource.calendar', 'Company Working Hours'
No public methods.
No new fields.
Public methods (2)get_static_mention_suggestions(self)
name_get(self)
additional_note
Text
readonly=False
related='employee_id.additional_note'
related_sudo=False
address_home_id
Many2one
readonly=False
related='employee_id.address_home_id'
related_sudo=False
address_id
Many2one
readonly=False
related='employee_id.address_id'
related_sudo=False
barcode
Char
readonly=False
related='employee_id.barcode'
related_sudo=False
birthday
Date
readonly=False
related='employee_id.birthday'
related_sudo=False
can_edit
Boolean
compute='_compute_can_edit'
category_ids
Many2many
readonly=False
related='employee_id.category_ids'
related_sudo=False
string='Employee Tags'
certificate
Selection
readonly=False
related='employee_id.certificate'
related_sudo=False
children
Integer
readonly=False
related='employee_id.children'
related_sudo=False
coach_id
Many2one
readonly=False
related='employee_id.coach_id'
related_sudo=False
country_of_birth
Many2one
readonly=False
related='employee_id.country_of_birth'
related_sudo=False
department_id
Many2one
readonly=False
related='employee_id.department_id'
related_sudo=False
emergency_contact
Char
readonly=False
related='employee_id.emergency_contact'
related_sudo=False
emergency_phone
Char
readonly=False
related='employee_id.emergency_phone'
related_sudo=False
employee_bank_account_id
Many2one
readonly=False
related='employee_id.bank_account_id'
related_sudo=False
string="Employee's Bank Account Number"
employee_count
Integer
compute='_compute_employee_count'
employee_country_id
Many2one
readonly=False
related='employee_id.country_id'
related_sudo=False
string="Employee's Country"
employee_id
Many2one → hr.employee
compute='_compute_company_employee'
search='_search_company_employee'
store=False
string='Company employee'
args: 'hr.employee'
employee_ids
One2many → hr.employee
string='Related employee'
args: 'hr.employee', 'user_id'
employee_parent_id
Many2one
readonly=False
related='employee_id.parent_id'
related_sudo=False
employee_phone
Char
readonly=False
related='employee_id.phone'
related_sudo=False
gender
Selection
readonly=False
related='employee_id.gender'
related_sudo=False
hr_presence_state
Selection
related='employee_id.hr_presence_state'
identification_id
Char
readonly=False
related='employee_id.identification_id'
related_sudo=False
is_address_home_a_company
Boolean
readonly=False
related='employee_id.is_address_home_a_company'
related_sudo=False
job_title
Char
readonly=False
related='employee_id.job_title'
related_sudo=False
km_home_work
Integer
readonly=False
related='employee_id.km_home_work'
related_sudo=False
last_activity
Date
related='employee_id.last_activity'
last_activity_time
Char
related='employee_id.last_activity_time'
marital
Selection
readonly=False
related='employee_id.marital'
related_sudo=False
mobile_phone
Char
readonly=False
related='employee_id.mobile_phone'
related_sudo=False
passport_id
Char
readonly=False
related='employee_id.passport_id'
related_sudo=False
permit_no
Char
readonly=False
related='employee_id.permit_no'
related_sudo=False
pin
Char
readonly=False
related='employee_id.pin'
related_sudo=False
place_of_birth
Char
readonly=False
related='employee_id.place_of_birth'
related_sudo=False
private_email
Char
readonly=False
related='address_home_id.email'
string='Private Email'
spouse_birthdate
Date
readonly=False
related='employee_id.spouse_birthdate'
related_sudo=False
spouse_complete_name
Char
readonly=False
related='employee_id.spouse_complete_name'
related_sudo=False
study_field
Char
readonly=False
related='employee_id.study_field'
related_sudo=False
study_school
Char
readonly=False
related='employee_id.study_school'
related_sudo=False
visa_expire
Date
readonly=False
related='employee_id.visa_expire'
related_sudo=False
visa_no
Char
readonly=False
related='employee_id.visa_no'
related_sudo=False
work_email
Char
readonly=False
related='employee_id.work_email'
related_sudo=False
work_location
Char
readonly=False
related='employee_id.work_location'
related_sudo=False
work_phone
Char
readonly=False
related='employee_id.work_phone'
related_sudo=False
action_create_employee(self)
action_get(self)
fields_view_get(self, view_id=None, view_type='form', toolbar=False, submenu=False)
write(self, vals)
user_id
Many2one
copy=False
No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | odoo/odoo |
| GIT | |
| GIT | https://github.com/odoo/odoo.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/odoo/odoo/tree/12.0/hr |
| VERSION | |
| VERSION | 1.1 |
| CATEGORY | |
| CATEGORY | Human Resources |
| LICENSE | |
| LICENSE | LGPL-3 |
| APPLICATION | |
| APPLICATION | Yes |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | |
| MAINTAINERS | |
| MAINTAINERS | |
| COMMITTERS | |
| COMMITTERS | Raphael Collet, Odoo Translation Bot, Martin Trigaux, Fabien Pinckaers, Thibault Delavallée, Christophe Simonis, Xavier Morel, Goffin Simon, Nicolas Lempereur, xmo-odoo, Richard Mathot, qdp-odoo, Aaron Bohy, Jeremy Kersten, GitHub, Lucas Perais (lpe), Yannick Tivisse, Alexandre Kühn, qsm-odoo, jem-odoo, fda-odoo, Adrian Torres, Julien Castiaux, Xavier-Do, Nasreddin (bon), fw-bot |
| WEBSITE | |
| WEBSITE | https://www.odoo.com/page/employees |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-05 23:57:01 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - base_setup - base - web - bus - web_tour - resource |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
assets_backend |
hr assets | ir.ui.view | qweb | Inherits web.assets_backend |
hr_department_view_kanban |
hr.department.kanban | hr.department | kanban | New |
hr_job_view_kanban |
hr.job.kanban | hr.job | kanban | New |
hr_kanban_view_employees |
hr.employee.kanban | hr.employee | kanban | New |
mail_channel_view_form_ |
mail.channel.view.form.inherit.hr | mail.channel | xpath | Inherits mail.mail_channel_view_form |
res_config_settings_view_form |
res.config.settings.view.form.inherit.hr | res.config.settings | xpath | Inherits base.res_config_settings_view_form |
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.tree | hr.department | tree | 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 | tree | New |
view_employee_filter |
hr.employee.search | hr.employee | search | New |
view_employee_form |
hr.employee.form | hr.employee | form | New |
view_employee_tree |
hr.employee.tree | hr.employee | tree | New |
view_hr_job_form |
hr.job.form | hr.job | form | New |
view_hr_job_tree |
hr.job.tree | hr.job | tree | New |
view_job_filter |
hr.job.search | hr.job | search | New |
view_partner_tree2 |
hr.employee.tree | hr.employee | tree | New |
view_users_form_simple_modif_resource |
res.users.preferences.form.resource | res.users | field | Inherits base.view_users_form_simple_modif |
active
Boolean
default=True
args: 'Active'
child_ids
One2many → hr.department
string='Child Departments'
args: 'hr.department', 'parent_id'
color
Integer
company_id
Many2one → res.company
default=<expr>
index=True
string='Company'
args: 'res.company'
complete_name
Char
compute='_compute_complete_name'
store=True
args: 'Complete Name'
jobs_ids
One2many → hr.job
string='Jobs'
args: 'hr.job', 'department_id'
manager_id
Many2one → hr.employee
string='Manager'
track_visibility='onchange'
args: 'hr.employee'
member_ids
One2many → hr.employee
readonly=True
string='Members'
args: 'hr.employee', 'department_id'
name
Char
required=True
args: 'Department Name'
note
Text
parent_id
Many2one → hr.department
index=True
string='Parent Department'
args: 'hr.department'
create(self, vals)
name_create(self, name)
write(self, vals)
active
Boolean
default=True
readonly=False
related='resource_id.active'
store=True
args: 'Active'
additional_note
Text
groups='hr.group_hr_user'
string='Additional Note'
address_home_id
Many2one → res.partner
groups='hr.group_hr_user'
help='Enter here the private address of the employee, not the one linked to your company.'
args: 'res.partner', 'Private Address'
address_id
Many2one → res.partner
bank_account_id
Many2one → res.partner.bank
domain="[('partner_id', '=', address_home_id)]"
groups='hr.group_hr_user'
help='Employee bank salary account'
args: 'res.partner.bank', 'Bank Account Number'
birthday
Date
groups='hr.group_hr_user'
args: 'Date of Birth'
category_ids
Many2many → hr.employee.category
string='Tags'
args: 'hr.employee.category', 'employee_category_rel', 'emp_id', 'category_id'
certificate
Selection
default='master'
groups='hr.group_hr_user'
args: [('bachelor', 'Bachelor'), ('master', 'Master'), ('other', 'Other')], 'Certificate Level'
child_ids
One2many → hr.employee
string='Subordinates'
args: 'hr.employee', 'parent_id'
children
Integer
groups='hr.group_hr_user'
string='Number of Children'
coach_id
Many2one → hr.employee
color
Integer
default=0
args: 'Color Index'
country_id
Many2one → res.country
groups='hr.group_hr_user'
args: 'res.country', 'Nationality (Country)'
country_of_birth
Many2one → res.country
groups='hr.group_hr_user'
string='Country of Birth'
args: 'res.country'
department_id
Many2one → hr.department
emergency_contact
Char
groups='hr.group_hr_user'
args: 'Emergency Contact'
emergency_phone
Char
groups='hr.group_hr_user'
args: 'Emergency Phone'
gender
Selection
default='male'
groups='hr.group_hr_user'
args: [('male', 'Male'), ('female', 'Female'), ('other', 'Other')]
google_drive_link
Char
groups='hr.group_hr_user'
string='Employee Documents'
identification_id
Char
groups='hr.group_hr_user'
string='Identification No'
image
Binary
attachment=True
default=_default_image
help='This field holds the image used as photo for the employee, limited to 1024x1024px.'
args: 'Photo'
image_medium
Binary
attachment=True
help='Medium-sized photo of the employee. It is automatically resized as a 128x128px image, with aspect ratio preserved. Use this field in form views or some kanban views.'
args: 'Medium-sized photo'
image_small
Binary
attachment=True
help='Small-sized photo of the employee. It is automatically resized as a 64x64px image, with aspect ratio preserved. Use this field anywhere a small image is required.'
args: 'Small-sized photo'
is_address_home_a_company
Boolean
compute='_compute_is_address_home_a_company'
args: 'The employee adress has a company linked'
job_id
Many2one → hr.job
job_title
Char
km_home_work
Integer
groups='hr.group_hr_user'
string='Km home-work'
marital
Selection
default='single'
groups='hr.group_hr_user'
string='Marital Status'
args: [('single', 'Single'), ('married', 'Married'), ('cohabitant', 'Legal Cohabitant'), ('widower', 'Widower'), ('divorced', 'Divorced')]
mobile_phone
Char
name
Char
oldname='name_related'
readonly=False
related='resource_id.name'
store=True
notes
Text
parent_id
Many2one → hr.employee
passport_id
Char
groups='hr.group_hr_user'
args: 'Passport No'
permit_no
Char
groups='hr.group_hr_user'
args: 'Work Permit No'
place_of_birth
Char
groups='hr.group_hr_user'
args: 'Place of Birth'
sinid
Char
groups='hr.group_hr_user'
help='Social Insurance Number'
args: 'SIN No'
spouse_birthdate
Date
groups='hr.group_hr_user'
string='Spouse Birthdate'
spouse_complete_name
Char
groups='hr.group_hr_user'
string='Spouse Complete Name'
ssnid
Char
groups='hr.group_hr_user'
help='Social Security Number'
args: 'SSN No'
study_field
Char
groups='hr.group_hr_user'
placeholder='Computer Science'
args: 'Field of Study'
study_school
Char
groups='hr.group_hr_user'
args: 'School'
user_id
Many2one → res.users
readonly=False
related='resource_id.user_id'
store=True
args: 'res.users', 'User'
visa_expire
Date
groups='hr.group_hr_user'
args: 'Visa Expire Date'
visa_no
Char
groups='hr.group_hr_user'
args: 'Visa No'
work_email
Char
work_location
Char
work_phone
Char
create(self, vals)
get_import_templates(self)
unlink(self)
write(self, vals)
color
Integer
string='Color Index'
employee_ids
Many2many → hr.employee
string='Employees'
args: 'hr.employee', 'employee_category_rel', 'category_id', 'emp_id'
name
Char
required=True
string='Employee Tag'
No public methods.
company_id
Many2one → res.company
default=<expr>
string='Company'
args: 'res.company'
department_id
Many2one → hr.department
string='Department'
args: 'hr.department'
description
Text
string='Job Description'
employee_ids
One2many → hr.employee
groups='base.group_user'
string='Employees'
args: 'hr.employee', 'job_id'
expected_employees
Integer
compute='_compute_employees'
help='Expected number of employees for this job position after new recruitment.'
store=True
string='Total Forecasted Employees'
name
Char
index=True
required=True
string='Job Position'
translate=True
no_of_employee
Integer
compute='_compute_employees'
help='Number of employees currently occupying this job position.'
store=True
string='Current Number of Employees'
no_of_hired_employee
Integer
copy=False
help='Number of hired employees for this job position during recruitment phase.'
string='Hired Employees'
no_of_recruitment
Integer
copy=False
default=1
help='Number of new employees you expect to recruit.'
string='Expected New Employees'
requirements
Text
state
Selection
copy=False
default='recruit'
help='Set whether the recruitment process is open or closed for this job position.'
readonly=True
required=True
string='Status'
track_visibility='always'
args: [('recruit', 'Recruitment in Progress'), ('open', 'Not Recruiting')]
copy(self, default=None)
create(self, values)
set_open(self)
set_recruit(self)
alias_contact
Selection
selection_add=[('employees', 'Authenticated Employees')]
No public methods.
No new fields.
Public methods (0)No public methods.
subscription_department_ids
Many2many → hr.department
help='Automatically subscribe members of those departments to the channel.'
string='HR Departments'
args: 'hr.department'
write(self, vals)
module_hr_org_chart
Boolean
string='Show Organizational Chart'
resource_calendar_id
Many2one → resource.calendar
readonly=False
related='company_id.resource_calendar_id'
args: 'resource.calendar', 'Company Working Hours'
No public methods.
No new fields.
Public methods (1)get_static_mention_suggestions(self)
employee_ids
One2many → hr.employee
string='Related employees'
args: 'hr.employee', 'user_id'
write(self, vals)
| REPOSITORY | |
|---|---|
| REPOSITORY | odoo/odoo |
| GIT | |
| GIT | https://github.com/odoo/odoo.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/odoo/odoo/tree/11.0/hr |
| VERSION | |
| VERSION | 1.1 |
| CATEGORY | |
| CATEGORY | Human Resources |
| LICENSE | |
| LICENSE | LGPL-3 |
| APPLICATION | |
| APPLICATION | Yes |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | |
| MAINTAINERS | |
| MAINTAINERS | |
| COMMITTERS | |
| COMMITTERS | Raphael Collet, Odoo Translation Bot, Martin Trigaux, Fabien Pinckaers, Olivier Dony, Thibault Delavallée, Christophe Simonis, Simon Lejeune, Nicolas Martinelli, Nicolas Lempereur, Jérome Maes, Richard Mathot, qdp-odoo, Aaron Bohy, GitHub, Lucas Perais (lpe), Olivier Colson, Yannick Tivisse, qsm-odoo, Martin Geubelle, Odoo Online, DVE, Adrien Dieudonne, Christophe Monniez, Denis Vermylen, This Is Banana, Nasreddin (bon) |
| WEBSITE | |
| WEBSITE | https://www.odoo.com/page/employees |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-05 23:53:42 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - base_setup - base - web - bus - web_tour - resource |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
assets_backend |
hr assets | ir.ui.view | qweb | Inherits web.assets_backend |
hr_department_view_kanban |
hr.department.kanban | hr.department | kanban | New |
hr_job_view_kanban |
hr.job.kanban | hr.job | kanban | New |
hr_kanban_view_employees |
hr.employee.kanban | hr.employee | kanban | New |
res_config_settings_view_form |
res.config.settings.view.form.inherit.hr | res.config.settings | xpath | Inherits base.res_config_settings_view_form |
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.tree | hr.department | tree | 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 | tree | New |
view_employee_filter |
hr.employee.search | hr.employee | search | New |
view_employee_form |
hr.employee.form | hr.employee | form | New |
view_employee_tree |
hr.employee.tree | hr.employee | tree | New |
view_hr_job_form |
hr.job.form | hr.job | form | New |
view_hr_job_tree |
hr.job.tree | hr.job | tree | New |
view_job_filter |
hr.job.search | hr.job | search | New |
view_partner_tree2 |
hr.employee.tree | hr.employee | tree | New |
active
Boolean
default=True
args: 'Active'
child_ids
One2many → hr.department
string='Child Departments'
args: 'hr.department', 'parent_id'
color
Integer
company_id
Many2one → res.company
default=<expr>
index=True
string='Company'
args: 'res.company'
complete_name
Char
compute='_compute_complete_name'
store=True
args: 'Complete Name'
jobs_ids
One2many → hr.job
string='Jobs'
args: 'hr.job', 'department_id'
manager_id
Many2one → hr.employee
string='Manager'
track_visibility='onchange'
args: 'hr.employee'
member_ids
One2many → hr.employee
readonly=True
string='Members'
args: 'hr.employee', 'department_id'
name
Char
required=True
args: 'Department Name'
note
Text
parent_id
Many2one → hr.department
index=True
string='Parent Department'
args: 'hr.department'
create(self, vals)
name_create(self, name)
write(self, vals)
active
Boolean
default=True
related='resource_id.active'
store=True
args: 'Active'
address_home_id
Many2one → res.partner
groups='hr.group_hr_user'
help='Enter here the private address of the employee, not the one linked to your company.'
args: 'res.partner', 'Private Address'
address_id
Many2one → res.partner
bank_account_id
Many2one → res.partner.bank
domain="[('partner_id', '=', address_home_id)]"
groups='hr.group_hr_user'
help='Employee bank salary account'
args: 'res.partner.bank', 'Bank Account Number'
birthday
Date
groups='hr.group_hr_user'
args: 'Date of Birth'
category_ids
Many2many → hr.employee.category
string='Tags'
args: 'hr.employee.category', 'employee_category_rel', 'emp_id', 'category_id'
child_ids
One2many → hr.employee
string='Subordinates'
args: 'hr.employee', 'parent_id'
coach_id
Many2one → hr.employee
color
Integer
default=0
args: 'Color Index'
country_id
Many2one → res.country
groups='hr.group_hr_user'
args: 'res.country', 'Nationality (Country)'
department_id
Many2one → hr.department
gender
Selection
default='male'
groups='hr.group_hr_user'
args: [('male', 'Male'), ('female', 'Female'), ('other', 'Other')]
identification_id
Char
groups='hr.group_hr_user'
string='Identification No'
image
Binary
attachment=True
default=_default_image
help='This field holds the image used as photo for the employee, limited to 1024x1024px.'
args: 'Photo'
image_medium
Binary
attachment=True
help='Medium-sized photo of the employee. It is automatically resized as a 128x128px image, with aspect ratio preserved. Use this field in form views or some kanban views.'
args: 'Medium-sized photo'
image_small
Binary
attachment=True
help='Small-sized photo of the employee. It is automatically resized as a 64x64px image, with aspect ratio preserved. Use this field anywhere a small image is required.'
args: 'Small-sized photo'
is_address_home_a_company
Boolean
compute='_compute_is_address_home_a_company'
args: 'The employee adress has a company linked'
job_id
Many2one → hr.job
marital
Selection
default='single'
groups='hr.group_hr_user'
string='Marital Status'
args: [('single', 'Single'), ('married', 'Married'), ('cohabitant', 'Legal Cohabitant'), ('widower', 'Widower'), ('divorced', 'Divorced')]
mobile_phone
Char
name
Char
oldname='name_related'
related='resource_id.name'
store=True
notes
Text
parent_id
Many2one → hr.employee
passport_id
Char
groups='hr.group_hr_user'
args: 'Passport No'
permit_no
Char
groups='hr.group_hr_user'
args: 'Work Permit No'
sinid
Char
groups='hr.group_hr_user'
help='Social Insurance Number'
args: 'SIN No'
ssnid
Char
groups='hr.group_hr_user'
help='Social Security Number'
args: 'SSN No'
user_id
Many2one → res.users
related='resource_id.user_id'
args: 'res.users', 'User'
visa_expire
Date
groups='hr.group_hr_user'
args: 'Visa Expire Date'
visa_no
Char
groups='hr.group_hr_user'
args: 'Visa No'
work_email
Char
work_location
Char
work_phone
Char
action_follow(self)
action_unfollow(self)
create(self, vals)
unlink(self)
write(self, vals)
color
Integer
string='Color Index'
employee_ids
Many2many → hr.employee
string='Employees'
args: 'hr.employee', 'employee_category_rel', 'category_id', 'emp_id'
name
Char
required=True
string='Employee Tag'
No public methods.
company_id
Many2one → res.company
default=<expr>
string='Company'
args: 'res.company'
department_id
Many2one → hr.department
string='Department'
args: 'hr.department'
description
Text
string='Job Description'
employee_ids
One2many → hr.employee
groups='base.group_user'
string='Employees'
args: 'hr.employee', 'job_id'
expected_employees
Integer
compute='_compute_employees'
help='Expected number of employees for this job position after new recruitment.'
store=True
string='Total Forecasted Employees'
name
Char
index=True
required=True
string='Job Position'
translate=True
no_of_employee
Integer
compute='_compute_employees'
help='Number of employees currently occupying this job position.'
store=True
string='Current Number of Employees'
no_of_hired_employee
Integer
copy=False
help='Number of hired employees for this job position during recruitment phase.'
string='Hired Employees'
no_of_recruitment
Integer
copy=False
default=1
help='Number of new employees you expect to recruit.'
string='Expected New Employees'
requirements
Text
state
Selection
copy=False
default='recruit'
help='Set whether the recruitment process is open or closed for this job position.'
readonly=True
required=True
string='Status'
track_visibility='always'
args: [('recruit', 'Recruitment in Progress'), ('open', 'Not Recruiting')]
copy(self, default=None)
create(self, values)
set_open(self)
set_recruit(self)
alias_contact
Selection
selection_add=[('employees', 'Authenticated Employees')]
No public methods.
No new fields.
Public methods (0)No public methods.
module_hr_org_chart
Boolean
string='Show Organizational Chart'
resource_calendar_id
Many2one → resource.calendar
related='company_id.resource_calendar_id'
args: 'resource.calendar', 'Company Working Hours'
No public methods.
No new fields.
Public methods (1)get_static_mention_suggestions(self)
employee_ids
One2many → hr.employee
string='Related employees'
args: 'hr.employee', 'user_id'
message_post(self, **kwargs)
write(self, vals)
| REPOSITORY | |
|---|---|
| REPOSITORY | odoo/odoo |
| GIT | |
| GIT | https://github.com/odoo/odoo.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/odoo/odoo/tree/10.0/hr |
| VERSION | |
| VERSION | 1.1 |
| CATEGORY | |
| CATEGORY | Human Resources |
| LICENSE | |
| LICENSE | LGPL-3 |
| APPLICATION | |
| APPLICATION | Yes |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | |
| MAINTAINERS | |
| MAINTAINERS | |
| COMMITTERS | |
| COMMITTERS | Odoo Translation Bot, Martin Trigaux, Fabien Pinckaers, Olivier Dony, Thibault Delavallée, Denis Ledoux, Christophe Simonis, David Monjoie, Nicolas Martinelli, Jérome Maes, Julien Legros, xmo-odoo, qdp-odoo, Aaron Bohy, Damien Bouvy, Yannick Tivisse, qsm-odoo, Denis Vermylen (dve), Tanguy Charlier |
| WEBSITE | |
| WEBSITE | https://www.odoo.com/page/employees |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-05 23:50:47 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - base_setup - base - web_kanban - web - bus - web_tour - resource |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION |
Human Resources Management
==========================
This application enables you to manage important aspects of your company's staff and other details such as their skills, contacts, working time...
You can manage:
---------------
* Employees and hierarchies : You can define your employee with User and display hierarchies
* HR Departments
* HR Jobs
|
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
assets_backend |
hr assets | ir.ui.view | qweb | Inherits web.assets_backend |
hr_department_view_kanban |
hr.department.kanban | hr.department | kanban | New |
hr_kanban_view_employees |
hr.employee.kanban | hr.employee | kanban | 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.tree | hr.department | tree | 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 | tree | New |
view_employee_filter |
hr.employee.search | hr.employee | search | New |
view_employee_form |
hr.employee.form | hr.employee | form | New |
view_employee_tree |
hr.employee.tree | hr.employee | tree | New |
view_hr_job_form |
hr.job.form | hr.job | form | New |
view_hr_job_tree |
hr.job.tree | hr.job | tree | New |
view_job_filter |
hr.job.search | hr.job | search | New |
view_partner_tree2 |
hr.employee.tree | hr.employee | tree | New |
active
Boolean
default=True
args: 'Active'
child_ids
One2many → hr.department
string='Child Departments'
args: 'hr.department', 'parent_id'
color
Integer
company_id
Many2one → res.company
default=<expr>
index=True
string='Company'
args: 'res.company'
jobs_ids
One2many → hr.job
string='Jobs'
args: 'hr.job', 'department_id'
manager_id
Many2one → hr.employee
string='Manager'
track_visibility='onchange'
args: 'hr.employee'
member_ids
One2many → hr.employee
readonly=True
string='Members'
args: 'hr.employee', 'department_id'
name
Char
required=True
args: 'Department Name'
note
Text
parent_id
Many2one → hr.department
index=True
string='Parent Department'
args: 'hr.department'
create(self, vals)
name_get(self)
write(self, vals)
address_home_id
Many2one → res.partner
string='Home Address'
args: 'res.partner'
address_id
Many2one → res.partner
string='Working Address'
args: 'res.partner'
bank_account_id
Many2one → res.partner.bank
domain="[('partner_id', '=', address_home_id)]"
groups='hr.group_hr_user'
help='Employee bank salary account'
string='Bank Account Number'
args: 'res.partner.bank'
birthday
Date
groups='hr.group_hr_user'
args: 'Date of Birth'
category_ids
Many2many → hr.employee.category
string='Tags'
args: 'hr.employee.category', 'employee_category_rel', 'emp_id', 'category_id'
child_ids
One2many → hr.employee
string='Subordinates'
args: 'hr.employee', 'parent_id'
city
Char
related='address_id.city'
coach_id
Many2one → hr.employee
string='Coach'
args: 'hr.employee'
color
Integer
default=0
args: 'Color Index'
country_id
Many2one → res.country
string='Nationality (Country)'
args: 'res.country'
department_id
Many2one → hr.department
string='Department'
args: 'hr.department'
gender
Selection
groups='hr.group_hr_user'
args: [('male', 'Male'), ('female', 'Female'), ('other', 'Other')]
identification_id
Char
groups='hr.group_hr_user'
string='Identification No'
image
Binary
attachment=True
default=_default_image
help='This field holds the image used as photo for the employee, limited to 1024x1024px.'
args: 'Photo'
image_medium
Binary
attachment=True
help='Medium-sized photo of the employee. It is automatically resized as a 128x128px image, with aspect ratio preserved. Use this field in form views or some kanban views.'
args: 'Medium-sized photo'
image_small
Binary
attachment=True
help='Small-sized photo of the employee. It is automatically resized as a 64x64px image, with aspect ratio preserved. Use this field anywhere a small image is required.'
args: 'Small-sized photo'
job_id
Many2one → hr.job
string='Job Title'
args: 'hr.job'
last_login
Datetime
readonly=True
related='user_id.login_date'
string='Latest Connection'
login
Char
readonly=True
related='user_id.login'
marital
Selection
groups='hr.group_hr_user'
string='Marital Status'
args: [('single', 'Single'), ('married', 'Married'), ('widower', 'Widower'), ('divorced', 'Divorced')]
mobile_phone
Char
name_related
Char
readonly=True
related='resource_id.name'
store=True
string='Resource Name'
notes
Text
parent_id
Many2one → hr.employee
string='Manager'
args: 'hr.employee'
passport_id
Char
groups='hr.group_hr_user'
args: 'Passport No'
resource_id
Many2one → resource.resource
auto_join=True
ondelete='cascade'
required=True
string='Resource'
args: 'resource.resource'
sinid
Char
groups='hr.group_hr_user'
help='Social Insurance Number'
args: 'SIN No'
ssnid
Char
groups='hr.group_hr_user'
help='Social Security Number'
args: 'SSN No'
work_email
Char
work_location
Char
work_phone
Char
action_follow(self)
action_unfollow(self)
create(self, vals)
unlink(self)
write(self, vals)
color
Integer
string='Color Index'
employee_ids
Many2many → hr.employee
string='Employees'
args: 'hr.employee', 'employee_category_rel', 'category_id', 'emp_id'
name
Char
required=True
string='Employee Tag'
No public methods.
company_id
Many2one → res.company
default=<expr>
string='Company'
args: 'res.company'
department_id
Many2one → hr.department
string='Department'
args: 'hr.department'
description
Text
string='Job Description'
employee_ids
One2many → hr.employee
groups='base.group_user'
string='Employees'
args: 'hr.employee', 'job_id'
expected_employees
Integer
compute='_compute_employees'
help='Expected number of employees for this job position after new recruitment.'
store=True
string='Total Forecasted Employees'
name
Char
index=True
required=True
string='Job Title'
translate=True
no_of_employee
Integer
compute='_compute_employees'
help='Number of employees currently occupying this job position.'
store=True
string='Current Number of Employees'
no_of_hired_employee
Integer
copy=False
help='Number of hired employees for this job position during recruitment phase.'
string='Hired Employees'
no_of_recruitment
Integer
copy=False
default=1
help='Number of new employees you expect to recruit.'
string='Expected New Employees'
requirements
Text
state
Selection
copy=False
default='recruit'
help='Set whether the recruitment process is open or closed for this job position.'
readonly=True
required=True
string='Status'
track_visibility='always'
args: [('recruit', 'Recruitment in Progress'), ('open', 'Not Recruiting')]
copy(self, default=None)
create(self, values)
set_open(self)
set_recruit(self)
alias_contact
Selection
selection_add=[('employees', 'Authenticated Employees')]
No public methods.
No new fields.
Public methods (1)message_route_verify(self, message, message_dict, route, update_author=True, assert_model=True, create_fallback=True, allow_private=False, drop_alias=False)
No new fields.
Public methods (1)get_static_mention_suggestions(self)
employee_ids
One2many → hr.employee
string='Related employees'
args: 'hr.employee', 'user_id'
message_post(self, **kwargs)
write(self, vals)
| REPOSITORY | |
|---|---|
| REPOSITORY | odoo/odoo |
| GIT | |
| GIT | https://github.com/odoo/odoo.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/odoo/odoo/tree/9.0/hr |
| VERSION | |
| VERSION | 1.1 |
| CATEGORY | |
| CATEGORY | Human Resources |
| LICENSE | |
| LICENSE | LGPL-3 |
| APPLICATION | |
| APPLICATION | Yes |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | |
| MAINTAINERS | |
| MAINTAINERS | |
| COMMITTERS | |
| COMMITTERS | Raphael Collet, Odoo Translation Bot, Martin Trigaux, Fabien Pinckaers, Antony Lesuisse, Olivier Dony, Thibault Delavallée, Denis Ledoux, Fabien Meghazi, Christophe Simonis, David Monjoie, Xavier Morel, Goffin Simon, Nicolas Martinelli, Jérome Maes, Julien Legros, Richard Mathot, Géry Debongnie, Aaron Bohy, Jeremy Kersten, Damien Bouvy, Yannick Tivisse, qsm-odoo, Martin Geubelle, Pierre Masereel, Denis Vermylen (dve), DVE |
| WEBSITE | |
| WEBSITE | https://www.odoo.com/page/employees |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-05 23:48:30 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - base_setup - base - web_kanban - web - bus - resource - web_tip |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION |
Human Resources Management
==========================
This application enables you to manage important aspects of your company's staff and other details such as their skills, contacts, working time...
You can manage:
---------------
* Employees and hierarchies : You can define your employee with User and display hierarchies
* HR Departments
* HR Jobs
|
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
assets_backend |
hr assets | ir.ui.view | qweb | Inherits web.assets_backend |
hr_department_view_kanban |
hr.department.kanban | hr.department | kanban | New |
hr_kanban_view_employees |
HR - Employess Kanban | hr.employee | kanban | New |
view_department_filter |
Departments | hr.department | search | New |
view_department_form |
hr.department.form | hr.department | form | New |
view_department_tree |
hr.department.tree | hr.department | tree | 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 | tree | New |
view_employee_filter |
Employees | hr.employee | search | New |
view_employee_form |
hr.employee.form | hr.employee | form | New |
view_employee_tree |
hr.employee.tree | hr.employee | tree | New |
view_hr_job_form |
hr.job.form | hr.job | form | New |
view_hr_job_tree |
hr.job.tree | hr.job | tree | New |
view_job_filter |
Job | hr.job | search | New |
view_partner_tree2 |
hr.employee.tree | hr.employee | tree | New |
No new fields.
Public methods (0)No public methods.
No new fields.
Public methods (4)copy(self, cr, uid, id, default=None, context=None)
create(self, values)
set_open(self, cr, uid, ids, context=None)
set_recruit(self, cr, uid, ids, context=None)
No new fields.
Public methods (1)get_static_mention_suggestions(self)
No new fields.
Public methods (1)message_post(self, cr, uid, thread_id, context=None, **kwargs)
| REPOSITORY | |
|---|---|
| REPOSITORY | odoo/odoo |
| GIT | |
| GIT | https://github.com/odoo/odoo.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/odoo/odoo/tree/8.0/hr |
| VERSION | |
| VERSION | 1.1 |
| CATEGORY | |
| CATEGORY | Human Resources |
| LICENSE | |
| LICENSE | LGPL-3 |
| APPLICATION | |
| APPLICATION | Yes |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | OpenERP SA |
| MAINTAINERS | |
| MAINTAINERS | OpenERP SA |
| COMMITTERS | |
| COMMITTERS | Raphael Collet, Stephane Wirtel, Odoo Translation Bot, Turkesh Patel (Open ERP), Christophe Matthieu, Martin Trigaux, Ajay Chauhan (OpenERP), Foram Katharotiya (OpenERP), Purnendu Singh (OpenERP), Fabien Pinckaers, Antony Lesuisse, Olivier Dony, Tejas Tank, Thibault Delavallée, Vo Minh Thu, Launchpad Translations on behalf of openerp, Denis Ledoux, Fabien Meghazi, ggh-openerp, Christophe Simonis, Xavier Morel, Anael Closson, Vishmita, Chirag Dodiya (OpenERP Trainee), Amit Bhavsar (Open ERP), Paramjit Singh Sahota, Richard Mathot, Géry Debongnie, Aaron Bohy, bth-openerp, Vishmita Jadeja (openerp), Richard Mathot (OpenERP), ged-odoo, Jeremy Kersten, Randhir Mayatra rma-openerp, sgo@tinyerp.com, Mansi Kariya (OpenERP Trainee), Darshan Kalola (OpenERP), Darshan Kalola, Sunil Sharma (OpenERP) |
| WEBSITE | |
| WEBSITE | https://www.odoo.com/page/employees |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-05 23:45:39 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - base_setup - base - web_kanban - web - resource - board |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION |
Human Resources Management
==========================
This application enables you to manage important aspects of your company's staff and other details such as their skills, contacts, working time...
You can manage:
---------------
* Employees and hierarchies : You can define your employee with User and display hierarchies
* HR Departments
* HR Jobs
|
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
assets_backend |
hr assets | ir.ui.view | qweb | Inherits web.assets_backend |
hr_kanban_view_employees |
HR - Employess Kanban | hr.employee | kanban | New |
view_department_filter |
Departments | hr.department | search | New |
view_department_form |
hr.department.form | hr.department | form | New |
view_department_tree |
hr.department.tree | hr.department | tree | 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 | tree | New |
view_employee_category_tree |
hr.employee.category.tree | hr.employee.category | tree | New |
view_employee_filter |
Employees | hr.employee | search | New |
view_employee_form |
hr.employee.form | hr.employee | form | New |
view_employee_tree |
hr.employee.tree | hr.employee | tree | New |
view_hr_job_form |
hr.job.form | hr.job | form | New |
view_hr_job_tree |
hr.job.tree | hr.job | tree | New |
view_human_resources_configuration |
hr settings | hr.config.settings | form | New |
view_job_filter |
Job | hr.job | search | New |
view_partner_tree2 |
hr.employee.tree | hr.employee | tree | New |
view_users_form_mail |
res.users.form.hr | res.users | data | Inherits mail.view_users_form_mail |
No new fields.
Public methods (1)name_get(self, cr, uid, ids, context=None)
No new fields.
Public methods (3)copy(self, cr, uid, id, default=None, context=None)
set_open(self, cr, uid, ids, context=None)
set_recruit(self, cr, uid, ids, context=None)
No new fields.
Public methods (2)message_post(self, cr, uid, thread_id, context=None, **kwargs)
stop_showing_employees_suggestions(self, cr, uid, user_id, context=None)
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
board_hr_form |
board.hr.form | board.board | form | New |
hr_kanban_view_employees |
HR - Employess Kanban | hr.employee | kanban | New |
view_department_filter |
Departments | hr.department | search | New |
view_department_form |
hr.department.form | hr.department | form | New |
view_department_tree |
hr.department.tree | hr.department | tree | 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 | tree | New |
view_employee_category_tree |
hr.employee.category.tree | hr.employee.category | tree | New |
view_employee_filter |
Employees | hr.employee | search | New |
view_employee_form |
hr.employee.form | hr.employee | form | New |
view_employee_tree |
hr.employee.tree | hr.employee | tree | New |
view_hr_job_employee_form |
hr.job.employee.form | hr.job | form | New |
view_hr_job_form |
hr.job.form | hr.job | form | New |
view_hr_job_tree |
hr.job.tree | hr.job | tree | New |
view_human_resources_configuration |
hr settings | hr.config.settings | form | New |
view_job_filter |
Job | hr.job | search | New |
view_partner_tree2 |
hr.employee.tree | hr.employee | tree | New |
No models found for this module.
| REPOSITORY | |
|---|---|
| REPOSITORY | odoo/odoo |
| GIT | |
| GIT | https://github.com/odoo/odoo.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/odoo/odoo/tree/6.1/hr |
| VERSION | |
| VERSION | 1.1 |
| CATEGORY | |
| CATEGORY | Human Resources |
| LICENSE | |
| LICENSE | LGPL-3 |
| APPLICATION | |
| APPLICATION | Yes |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | OpenERP SA |
| MAINTAINERS | |
| MAINTAINERS | OpenERP SA |
| COMMITTERS | |
| COMMITTERS | Raphael Collet, Jagdish Panchal (Open ERP), Rucha (Open ERP), Stephane Wirtel, Harry (OpenERP), Fabien Pinckaers, Antony Lesuisse, Meera Trambadia (OpenERP), Olivier Dony, Divyesh Makwana (Open ERP), Vo Minh Thu, pso (OpenERP), Launchpad Translations on behalf of openerp, Quentin (OpenERP), Mayur Maheshwari (OpenERP), Jigar Amin - OpenERP, vro, Fabien Meghazi, niv-openerp, Ujjvala Collins (OpenERP), Xavier Morel, Serpent Consulting Services, Amit (OpenERP), Minh Tran, Thibault Francois, Carlos Vásquez, Bogdan Stanciu, ksa (Open ERP), Els Van Vossel, Israel Fermin Montilla, mayur maheshwari (Open ERP), Hardik Ansodariy (OpenERP), ssu, rch-openerp, ARA (OpenERP), aag (OpenERP), mtr, fp, qdp-launchpad@tinyerp.com, Mustufa Rangwala, psi (Open ERP), Tejas (OpenERP), Amit Parmar (OpenERP), Kirti Savalia (OpenERP) |
| WEBSITE | |
| WEBSITE | http://www.openerp.com |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-05 23:41:35 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
odoo/odoo: - base_setup - base - base_tools - resource - process - board |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION |
Module for human resource management.
=====================================
You can manage:
* Employees and hierarchies : You can define your employee with User and display hierarchies
* HR Departments
* HR Jobs
|
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
board_hr_form |
board.hr.form | board.board | form | New |
board_hr_manager_form |
board.hr.manager.form | board.board | form | New |
hr_kanban_view_employees |
HR - Employess Kanban | hr.employee | kanban | New |
view_department_filter |
Departments | hr.department | search | New |
view_department_form |
hr.department.form | hr.department | form | New |
view_department_form_simple_modif_inherited1 |
view.department.form.hr.inherited1 | res.users | group | Inherits base.view_users_form_simple_modif |
view_department_tree |
hr.department.tree | hr.department | tree | 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 | tree | New |
view_employee_category_tree |
hr.employee.category.tree | hr.employee.category | tree | New |
view_employee_filter |
Employees | hr.employee | search | New |
view_employee_form |
hr.employee.form | hr.employee | form | New |
view_employee_tree |
hr.employee.tree | hr.employee | tree | New |
view_hr_job_form |
hr.job.form | hr.job | form | New |
view_hr_job_tree |
hr.job.tree | hr.job | tree | New |
view_job_filter |
Job | hr.job | search | New |
view_partner_tree2 |
hr.employee.tree | hr.employee | tree | New |
view_users_form_inherit |
res.users.form | res.users | group | Inherits base.view_users_form |
No models found for this module.