[WIP]allow_negative_leaves

This commit is contained in:
2025-10-29 14:02:51 +01:00
parent d340a931de
commit 7974452512

View File

@@ -26,10 +26,10 @@ class HolidaysType(models.Model):
for holiday_type in self: for holiday_type in self:
if holiday_type.allows_negative: if holiday_type.allows_negative:
# if left != usable : remaining_leaves_allowing_negative = left + usable # if left != usable : remaining_leaves_allowing_negative = left + usable
if (holiday_type.max_leaves - holiday_type.virtual_leaves_taken) != holiday_type.virtual_remaining_leaves: if holiday_type.virtual_remaining_leaves < 0 (holiday_type.max_leaves - holiday_type.virtual_leaves_taken) != holiday_type.virtual_remaining_leaves:
holiday_type.remaining_leaves_allowing_negative = holiday_type.max_leaves - holiday_type.virtual_leaves_taken + holiday_type.virtual_remaining_leaves holiday_type.remaining_leaves_allowing_negative = holiday_type.max_leaves - holiday_type.virtual_leaves_taken + holiday_type.virtual_remaining_leaves
else: else:
# else : remaining_leaves_allowing_negative = left # else : remaining_leaves_allowing_negative = left as usual
holiday_type.remaining_leaves_allowing_negative = holiday_type.max_leaves - holiday_type.virtual_leaves_taken holiday_type.remaining_leaves_allowing_negative = holiday_type.max_leaves - holiday_type.virtual_leaves_taken
else: else:
holiday_type.remaining_leaves_allowing_negative = None holiday_type.remaining_leaves_allowing_negative = None
@@ -47,8 +47,7 @@ class HolidaysType(models.Model):
res[1]['allows_negative'] = self.allows_negative res[1]['allows_negative'] = self.allows_negative
res[1]['remaining_leaves_negative'] = ('%.2f' % (self.remaining_leaves_allowing_negative)).rstrip('0').rstrip('.'), res[1]['remaining_leaves_negative'] = ('%.2f' % (self.remaining_leaves_allowing_negative)).rstrip('0').rstrip('.'),
# if left != usable : recalculate leaves_approved, virtual_remaining_leaves and usable_remaining_leaves # if left != usable : recalculate leaves_approved, virtual_remaining_leaves and usable_remaining_leaves
if self.allows_negative and ((self.max_leaves - self.virtual_leaves_taken) != self.virtual_remaining_leaves): if self.allows_negative and self.virtual_remaining_leaves < 0 and ((self.max_leaves - self.virtual_leaves_taken) != self.virtual_remaining_leaves):
res[1]['virtual_remaining_leaves'] = ('%.2f' % (self.remaining_leaves_allowing_negative)).rstrip('0').rstrip('.'),
res[1]['usable_remaining_leaves'] = ('%.2f' % (self.remaining_leaves_allowing_negative)).rstrip('0').rstrip('.'), res[1]['usable_remaining_leaves'] = ('%.2f' % (self.remaining_leaves_allowing_negative)).rstrip('0').rstrip('.'),
res[1]['leaves_approved'] = ('%.2f' % (abs(self.virtual_remaining_leaves) - abs(self.leaves_taken))).rstrip('0').rstrip('.'), res[1]['leaves_approved'] = ('%.2f' % (abs(self.virtual_remaining_leaves) - abs(self.leaves_taken))).rstrip('0').rstrip('.'),
return res return res