#fix: Employee Performance Management Module and few HRMS bugs

This commit is contained in:
seshikanth 2026-06-24 15:23:48 +05:30
parent adc4733e15
commit 3ff97c7c8a
6 changed files with 68 additions and 35 deletions

View File

@ -13,7 +13,7 @@
'depends': ['base', 'hr','hr_employee_extended'],
'data': [
'data/reminder_corn.xml',
# 'data/reminder_corn.xml',
'security/ir.model.access.csv',
'security/security_groups.xml',
'security/performace_record_rules.xml',

View File

@ -90,6 +90,7 @@ class AppraisalTemplate(models.Model):
name = fields.Char(string="Name")
employee_evaluator_name_id = fields.Many2one('employee.appraisal.evaluator', string="Employee Appraisal Evaluator")
employee_eva_id = fields.Many2one('hr.employee',string="Manager")
image_template = fields.Image(related='employee_eva_id.image_1920', string="Image")
hr_employee_id = fields.Many2one('hr.employee',string="Employee HR Employee")
employee_department_id = fields.Many2one('hr.department',string="Department")
company_id = fields.Many2one('res.company', string="Company",default=lambda self: self.env.company)

View File

@ -11,6 +11,7 @@ class HrHeadNofication(models.Model):
return self.env.user.employee_id
hr_employee_id = fields.Many2one('hr.employee', string='Employee', default=_default_employee_get)
image_1920 = fields.Image(related='hr_employee_id.image_1920')
name = fields.Char("Subject")
appraisal_type_id = fields.Many2one('employee.appraisal.type')
appraisal_period_id = fields.Many2one('employee.appraisal.year',

View File

@ -47,6 +47,7 @@ class HrNoticeAppraisal(models.Model):
new_end_date = fields.Datetime(string="New End Date")
stage_config = fields.Many2many('employee.stage.config',string='Stages')
hr_department_ids = fields.Many2many('hr.department', string="Departments")
image_1920 = fields.Image(related='hr_employee_id.image_1920',string='Employee Image')
# @api.model
# def create(self, vals):

View File

@ -15,17 +15,22 @@
<field name="employee_state" widget="statusbar"/>
</header>
<sheet>
<field name="image_template"
widget="image"
class="oe_avatar"
options="{'preview_image': 'image_template'}"/>
<group string="Details" col="2">
<group>
<field name="seq" string="Performance Id"/>
<field name="name" string="Reference" placeholder="Administration Appraisal Template"/>
<field name="manager_ids" widget="many2many_tags" string="Performance Evaluator" invisible="1"/>
<field name="employee_eva_id"/>
<field name="employee_department_id"/>
<field name="appraisal_period_type_id" string="Performance Type"/>
<field name="appraisal_period_id" string="Performance Period"/>
<field name="hr_employee_id" string="HR"/>
<field name="stage_config_ids" widget="many2many_tags"/>
<field name="seq" string="Reference"/>
<field name="name" string="Subject" readonly="1" placeholder="Administration Appraisal Template"/>
<field name="manager_ids" widget="many2many_tags" string="Performance Evaluator"
invisible="1"/>
<field name="employee_eva_id" readonly="1" options="{'no_open': True}"/>
<field name="employee_department_id" readonly="1" options="{'no_open': True}"/>
<field name="appraisal_period_type_id" string="Appraisal Type" readonly="1" options="{'no_open' : True}"/>
<field name="appraisal_period_id" string="Appraisal Period" readonly="1" options="{'no_open' : True}"/>
<field name="hr_employee_id" string="HR" readonly="1" options="{'no_open' : True}"/>
<field name="stage_config_ids" widget="many2many_tags" readonly="1"/>
</group>
<group>
<field name="company_id" string="Company"/>
@ -34,8 +39,8 @@
<!-- <field name="hr_email_notify" string="Send Email if HR APPROVE or REJECT Evaluation?"/>-->
<field name="start_date" readonly="1"/>
<field name="end_date" readonly="1"/>
<field name="template_rating_bool"/>
<field name="template_point_bool"/>
<field name="template_rating_bool" string="Employee Rating"/>
<field name="template_point_bool" string="Employee points"/>
<field name="kra_weightage"/>
</group>
</group>

View File

@ -6,7 +6,8 @@
<form string="HR Notice">
<header>
<button name="action_send_notice" string="Send Appraisal Initiation" type="object"
class="btn btn-success" groups="hrms_employee_appraisal.group_appraisal_hr,hrms_employee_appraisal.group_appraisal_management"
class="btn btn-success"
groups="hrms_employee_appraisal.group_appraisal_hr,hrms_employee_appraisal.group_appraisal_management"
invisible="state != 'draft'"/>
<button name="action_open_postpone_wizard" string="Postpone" type="object"
class="btn-warning" invisible="state != 'sent'"/>
@ -15,19 +16,33 @@
<field name="state" widget="statusbar"/>
</header>
<sheet>
<!-- <div class="oe_title" style="display:flex; align-items:center; gap:20px;">-->
<!-- <field name="image_1920"-->
<!-- widget="image"-->
<!-- class="oe_avatar"-->
<!-- readonly="1"/>-->
<!-- <h1>-->
<!-- <field name="seq" readonly="1"/>-->
<!-- </h1>-->
<!-- </div>-->
<field name="image_1920"
widget="image"
class="oe_avatar"
readonly="1"/>
<group col="2">
<group>
<field name="seq"/>
<field name="hr_employee_id" string="Created BY" readonly="1" options="{'no_open': True}"/>
<field name="hr_employee_id" string="Employee" readonly="1" options="{'no_open': True}"/>
<field name="appraisal_type_id"
options="{'no_edit': True, 'no_create': True, 'no_open': True}"
readonly="state != 'draft'"/>
readonly="1"/>
<field name="appraisal_notice_id"
options="{'no_edit': True, 'no_create': True, 'no_open': True}"
readonly="state != 'draft'"/>
<field name="subject" readonly="state != 'draft'"/>
<field name="start_date" readonly="state != 'draft'" force_save="1"/>
<field name="end_date" readonly="state != 'draft'" force_save="1"/>
readonly="1"/>
<field name="subject" readonly="1"/>
<field name="start_date" readonly="1" force_save="1"/>
<field name="end_date" readonly="1" force_save="1"/>
</group>
<group>
<field name="employee_ids" widget="many2many_tags" required="1"
@ -35,13 +50,13 @@
<field name="manager_ids" widget="many2many_tags" readonly="state != 'draft'"/>
<field name="hr_department_ids" widget="many2many_tags" readonly="state != 'draft'"/>
<field name="stage_config" widget="many2many_tags" required="1"
readonly="state != 'draft'"/>
readonly="1"/>
<field name="employee_rating" readonly="state != 'draft'"/>
<field name="employee_points" readonly="state != 'draft'"/>
</group>
</group>
<group>
<field name="body" widget="html" readonly="state != 'draft'"/>
<field name="body" widget="html" readonly="1"/>
</group>
<notebook>
<page string="Postponed Details">
@ -119,39 +134,49 @@
<field name="state" widget="statusbar"/>
</header>
<sheet>
<div class="oe_button_box" name="button_box"/>
<field name="image_1920"
widget="image"
class="oe_avatar"
options="{'preview_image': 'image_1920'}"/>
<div class="oe_title">
<h1>
<field name="name" placeholder="Performance Appraisal Notification"/>
<field name="name" placeholder="Performance Appraisal Notification" required="1"
readonly="state != 'draft'"/>
</h1>
</div>
<group col="2">
<group string="Appraisal Details">
<field name="seq"/>
<field name="hr_employee_id"/>
<field name="appraisal_type_id" options="{'no_create': True,'no_open': True}"/>
<field name="appraisal_period_id" options="{'no_create': True,'no_open': True}"/>
<field name="start_date"/>
<field name="end_date"/>
<field name="hr_employee_id" readonly="1" options="{'no_open':True}"/>
<field name="appraisal_type_id" options="{'no_create': True,'no_open': True}"
readonly="state != 'draft'"/>
<field name="appraisal_period_id" options="{'no_create': True,'no_open': True}"
readonly="state != 'draft'"/>
<field name="start_date" readonly="state != 'draft'"/>
<field name="end_date" readonly="state != 'draft'"/>
</group>
<group string="Assignment">
<!-- <field name="hr_employee_domain_ids" invisible="1"/>-->
<!-- <field name="hr_ids"-->
<!-- widget="many2many_tags"/>-->
<!-- <field name="hr_user_domain_ids" invisible="1"/>-->
<!-- <field name="hr_ids"-->
<!-- widget="many2many_tags"/>-->
<!-- <field name="hr_user_domain_ids" invisible="1"/>-->
<field name="hr_users_ids"
widget="many2many_tags"/>
<field name="stage_config_ids" widget="many2many_tags" required="1"/>
widget="many2many_tags" readonly="state != 'draft'"/>
<field name="stage_config_ids" widget="many2many_tags" required="1"
readonly="state != 'draft'"/>
</group>
</group>
<notebook>
<page string="Notification Message">
<field name="body" widget="html"/>
<field name="body" widget="html" readonly="state != 'draft'"/>
</page>
<page string="Audit">
<group>
<field name="create_uid" readonly="1"/>
<field name="create_uid" readonly="1" options="{'no_open':True}"/>
<field name="create_date" readonly="1"/>
<field name="write_uid" readonly="1"/>
<field name="write_uid" readonly="1" options="{'no_open':True}"/>
<field name="write_date" readonly="1"/>
</group>
</page>