appraisal result
This commit is contained in:
parent
63c5f125b4
commit
cdba343a2c
|
|
@ -144,15 +144,14 @@ class Appraisal(models.Model):
|
|||
raise exceptions.Warning(
|
||||
_('There is No percentage result for employee appraisal Greater than 100%'))
|
||||
# Determine which appraisal result from appraisal percentage
|
||||
appraisal_result = self.env['appraisal.result'].search([
|
||||
('result_from', '<=', item.level_achieved_percentage),
|
||||
('result_to', '>=', item.level_achieved_percentage)])
|
||||
appraisal_result = self.appraisal_plan_id.mapped('appraisal_result_ids').filtered(lambda
|
||||
r: r.result_from <= item.level_achieved_percentage and r.result_to >= item.level_achieved_percentage)
|
||||
if len(appraisal_result) > 1:
|
||||
for line in appraisal_result:
|
||||
appraisal_result_list.append(line.name)
|
||||
raise exceptions.Warning(
|
||||
_('Please check appraisal result configuration , there is more than result for percentage %s are %s ') % (
|
||||
round(item.level_achieved_percentage, 2), appraisal_result_list))
|
||||
round(item.level_achieved_percentage, 2), appraisal_result_list))
|
||||
else:
|
||||
item.appraisal_result = appraisal_result.id
|
||||
|
||||
|
|
|
|||
|
|
@ -16,42 +16,5 @@ class EmployeeAppraisal(models.Model):
|
|||
return {'domain': {'employee_id': [('id', 'in', employee_list)]}}
|
||||
|
||||
|
||||
@api.onchange('standard_appraisal_employee_line_ids', 'appraisal_plan_id')
|
||||
def onchange_appraisal_lines(self):
|
||||
if self.appraisal_type == 'training' and self.mission_id:
|
||||
|
||||
for item in self:
|
||||
# Initialize
|
||||
total_greed, total_great_level, item.level_achieved, item.great_level, item.level_achieved_percentage = \
|
||||
0.0, 0.0, 0.0, 0.0, 0.0
|
||||
appraisal_result_list = []
|
||||
|
||||
if not item.is_manager:
|
||||
for line in item.standard_appraisal_employee_line_ids:
|
||||
# Update level achieved values when changed in lines
|
||||
total_greed += line.greed
|
||||
total_great_level += line.great_level
|
||||
item.great_level = total_great_level
|
||||
item.level_achieved = total_greed
|
||||
|
||||
# Update level achieved percentage when changed in lines
|
||||
if item.level_achieved > 0.0 and item.great_level > 0.0:
|
||||
item.level_achieved_percentage = (item.level_achieved * 100) / item.great_level
|
||||
|
||||
if item.level_achieved_percentage > 100:
|
||||
raise exceptions.Warning(
|
||||
_('There is No percentage result for employee appraisal Greater than 100%'))
|
||||
# Determine which appraisal result from appraisal percentage
|
||||
appraisal_result = self.appraisal_plan_id.mapped('appraisal_result_ids').filtered(lambda r: r.result_from <= item.level_achieved_percentage and r.result_to >= item.level_achieved_percentage)
|
||||
if len(appraisal_result) > 1:
|
||||
for line in appraisal_result:
|
||||
appraisal_result_list.append(line.name)
|
||||
raise exceptions.Warning(
|
||||
_('Please check appraisal result configuration , there is more than result for percentage %s are %s ') % (
|
||||
round(item.level_achieved_percentage, 2), appraisal_result_list))
|
||||
else:
|
||||
item.appraisal_result = appraisal_result.id
|
||||
else:
|
||||
res = super(EmployeeAppraisal, self).onchange_appraisal_lines()
|
||||
return res
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue