commit
a6ae2a16be
|
|
@ -273,15 +273,20 @@ class StandardAppraisalLines(models.Model):
|
|||
('5', '5'),
|
||||
],
|
||||
string='Priority',
|
||||
compute='_compute_priority',
|
||||
inverse='_inverse_priority',
|
||||
store=True,
|
||||
store=True
|
||||
)
|
||||
|
||||
@api.depends('greed', 'great_level')
|
||||
from_greed = fields.Boolean(default=False)
|
||||
from_priority = fields.Boolean(default=False)
|
||||
|
||||
@api.onchange('greed', 'great_level')
|
||||
def _compute_priority(self):
|
||||
for rec in self:
|
||||
rec.priority = '0'
|
||||
if rec.from_priority:
|
||||
# Reset and skip to avoid circular trigger
|
||||
rec.from_priority = False
|
||||
continue
|
||||
rec.from_greed = True
|
||||
if rec.great_level:
|
||||
value = rec.greed / (rec.great_level / 5)
|
||||
if 1 <= value < 2:
|
||||
|
|
@ -295,10 +300,18 @@ class StandardAppraisalLines(models.Model):
|
|||
elif value >= 5:
|
||||
rec.priority = '5'
|
||||
else:
|
||||
rec.priority = '0' # fallback
|
||||
rec.priority = '0'
|
||||
else:
|
||||
rec.priority = '0'
|
||||
|
||||
@api.onchange('priority')
|
||||
def _inverse_priority(self):
|
||||
for rec in self:
|
||||
if rec.from_greed:
|
||||
# Reset and skip to avoid circular trigger
|
||||
rec.from_greed = False
|
||||
continue
|
||||
rec.from_priority = True
|
||||
if rec.great_level and rec.priority:
|
||||
rec.greed = int(rec.priority) * (rec.great_level / 5)
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue