TIP: You can type at any time to perform a new search.
Appraisal Oca
hr_appraisal_oca · OCA/hr
- Repository
- OCA/hr · module folder · Try on Runboat
- Module version
- 1.2.0
- Category
- Human Resources/Employees
- Folder size
- 0.3 MB
- License
- AGPL-3
- Application
- No
- Auto-installable
- No
- Website
- https://github.com/OCA/hr
- Last tracking update
- 2026-08-07 08:43:00
- Authors
- Odoo Community Association (OCA), Fundación Esment
- Maintainers
- Odoo Community Association (OCA), Fundación Esment
- Committers
- Weblate, OCA-git-bot, oca-ci, christian-ramos-tecnativa, Estefanía Bauzá Illán
- Odoo dependencies
- Python dependencies
- None
- System dependencies
- None
- Required by
- None
- Description
This module helps maintain the employee motivation process through periodic performance appraisals. Managers can evaluate employee performance and enable employees to perform self-assessments. Review forms can be customized according to organizational needs.
Code Analysis ⓘ
Views touched (12)
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
hr_appraisal_form_view |
hr.appraisal.form.view | hr.appraisal | form | New |
hr_appraisal_kanban_view |
hr.appraisal.kanban.view | hr.appraisal | kanban | New |
hr_appraisal_request_wizard_view |
hr.appraisal.request.wizard.view | hr.appraisal.request.wizard | form | New |
hr_appraisal_search_view |
hr.appraisal.search.view | hr.appraisal | search | New |
hr_appraisal_tag_form_view |
hr.appraisal.tag.form.view | hr.appraisal.tag | form | New |
hr_appraisal_tag_tree_view |
hr.appraisal.tag.list.view | hr.appraisal.tag | list | New |
hr_appraisal_template_form_view |
hr.appraisal.template.form.view | hr.appraisal.template | form | New |
hr_appraisal_template_tree_view |
hr.appraisal.template.list.view | hr.appraisal.template | list | New |
hr_appraisal_tree_view |
hr.appraisal.list.view | hr.appraisal | list | New |
hr_appraisal_wizard_form_view |
hr.appraisal.wizard.form.view | hr.appraisal.wizard | form | New |
res_config_settings_view_form |
res.config.settings.view.form.inherit.hr.appraisal.oca | res.config.settings | form | Inherits base.res_config_settings_view_form |
view_employee_form |
hr.employee.form.view | hr.employee | form | Inherits hr.view_employee_form |
HTTP endpoints (0)
No HTTP endpoints found for this module.
Models touched (9)
New fields (26)
-
activeBooleandefault=True -
activity_idsOne2many → mail.activityargs: 'mail.activity', 'res_id', 'Activities' -
appraisal_template_idMany2one → hr.appraisal.templatecheck_company=Truestring='Appraisal Template' args: 'hr.appraisal.template' -
can_see_employee_publishBooleancompute='_compute_can_see_employee_manager_publish'default=False -
can_see_manager_publishBooleancompute='_compute_can_see_employee_manager_publish'default=False -
colorIntegerstring='Color Index' -
company_idMany2one → res.companyrelated='employee_id.company_id'store=Truestring='Company' args: 'res.company' -
created_byMany2one → res.usersdefault=<expr> args: 'res.users' -
date_closeDatehelp='Closing date of the current appraisal'required=Truestring='Appraisal Date' -
department_idMany2one → hr.departmentrelated='employee_id.department_id'string='Department' args: 'hr.department' -
employee_appraisal_countIntegerrelated='employee_id.appraisal_count'string='Appraisal Count' -
employee_domain_idsMany2many → hr.employeecompute='_compute_employee_domain_ids' args: 'hr.employee' -
employee_feedbackHtmlcopy=Falsereadonly=False -
employee_feedback_publishedBooleandefault=Truetracking=True -
employee_idMany2one → hr.employeedefault=<expr>domain="[('id', 'in', employee_domain_ids)]"readonly=Truerequired=Truestring='Employee' args: 'hr.employee' -
employee_user_idMany2one → res.usersrelated='employee_id.user_id'string='Employee User' args: 'res.users' -
is_managerBooleancompute='_compute_is_manager' -
job_idMany2one → hr.jobrelated='employee_id.job_id'string='Job Position' args: 'hr.job' -
manager_feedbackHtmlcopy=Falsereadonly=False -
manager_feedback_publishedBooleandefault=Truetracking=True -
manager_idsMany2many → hr.employeecheck_company=Truecompute='_compute_manager_ids'domain="[('id', '!=', employee_id)]"inverse='_inverse_manager_ids'required=Truestore=True args: 'hr.employee', 'hr_appraisal_managers_rel', 'hr_appraisal_id' -
manager_user_idsMany2many → res.userscompute='_compute_manager_user'string='Manager Users' args: 'res.users' -
noteHtmlhelp='The content of this note is not visible by the Employee.'string='Private Note' -
stateSelectiondefault='1_new'index=Truerequired=Truestring='Status'tracking=True args: [('1_new', 'To Confirm'), ('2_pending', 'Confirmed'), ('3_done', 'Done')] -
tag_idsMany2many → hr.appraisal.tagstring='Tags' args: 'hr.appraisal.tag' -
visibilitySelectiondefault='all'help="If set to 'Visible to managers', the appraisal is only visible to managers and HR officers."required=Trueselection=[('all', 'Visible to all'), ('manager', 'Visible to managers')]
-
action_back(self) -
action_confirm(self)Confirm the appraisal by setting its state to 'pending' and resetting feedback flags. - Sends confirmation emails to the employee and managers. - Creates CFR activities for the employee and managers if they have associated users. - If the appraisal is only visible to managers, the employee is not notified and no employee activity is created. -
action_done(self)Mark the appraisal as done, publish feedback flags, send completion emails, and log the status change. - Sends completion email to employee only if visible. - Managers are always notified. -
action_open_employee_appraisals(self) -
action_publish_employee_feedback(self) -
action_publish_manager_feedback(self) -
action_send_appraisal_request(self) -
default_get(self, fields_list)@api.modelSet default template and initialize feedback fields. - If user already provided values, preserve them. - If no template is provided, use the default from config. - If no feedback is provided, populate from the selected template. -
write(self, vals)
New fields (5)
-
appraisal_idMany2one → hr.appraisalrequired=True args: 'hr.appraisal' -
recipient_idsMany2many → res.partnerrequired=Truestring='Recipients' args: 'res.partner' -
recipient_usersMany2many → res.usersstore=Falsestring='Recipients Users' args: 'res.users' -
subjectChar -
user_bodyHtmlstring='User Contents'
-
default_get(self, fields)@api.modelProvide default values based on 'default_appraisal_id' in context. Prefills recipients, users, subject, and appraisal ID using related appraisal and appropriate email template. -
send_button(self)Send appraisal request email using the appropriate template.
New fields (2)
-
colorIntegerdefault=_get_default_color -
nameCharrequired=True args: 'Tag Name'
No public methods.
New fields (5)
-
appraisal_employee_feedback_templateHtmlstring='Employee Feedback'translate=True -
appraisal_manager_feedback_templateHtmlstring='Manager Feedback'translate=True -
company_idMany2one → res.companydefault=<expr> args: 'res.company' -
descriptionTextrequired=True -
is_defaultBooleancompute='_compute_is_default'
No public methods.
New fields (2)
-
res_idIntegerrequired=Truestring='Resource ID' -
res_modelCharrequired=Truestring='HR Appraisal'
-
ok_button(self)Publish employee feedback as manager.
New fields (5)
-
allowed_user_idsMany2many → res.userscolumn1='employee_id'column2='user_id'compute='_compute_allowed_user_ids'relation='hr_employee_manager_user_rel'store=Truestring='Allowed Users' args: 'res.users' -
appraisal_countIntegercompute='_compute_appraisal_count'groups='hr.group_hr_user'store=True -
appraisal_idsOne2many → hr.appraisalstring='Appraisal' args: 'hr.appraisal', 'employee_id' -
last_appraisal_stateSelectionrelated='last_appraisal_id.state'string='Status' -
ongoing_appraisal_countIntegercompute='_compute_ongoing_appraisal_count'groups='hr.group_hr_user'store=True
No public methods.
New fields (2)
-
can_open_last_appraisalBooleancompute='_compute_can_open_last_appraisal' -
last_appraisal_idMany2one → hr.appraisalcompute='_compute_last_appraisal_id'search='_search_last_appraisal_id' args: 'hr.appraisal'
-
action_open_last_appraisal(self)
New fields (1)
-
appraisal_default_template_idMany2one → hr.appraisal.templatecomodel_name='hr.appraisal.template'config_parameter='hr_appraisal_oca.default_appraisal_template_id'domain="['|', ('company_id', '=', False), ('company_id', '=', company_id)]"help='Default template used for appraisals'string='Default Appraisal Template'
No public methods.
New fields (0)
No new fields.
Public methods (1)-
send_email_with_template(self, template_xml_id, recipient_id, email, ctx)@api.model
Loading…