From 007e96a197a5f95fa184f92d75cfdcf21799548f Mon Sep 17 00:00:00 2001 From: mtr Date: Mon, 14 Mar 2011 15:14:29 +0530 Subject: [PATCH] [IMP] hr_payroll:improved code for min and max range condition for amount_type=percentage bzr revid: mtr@mtr-20110314094429-zulakh5vl7cykotu --- addons/hr_payroll/hr_payroll.py | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/addons/hr_payroll/hr_payroll.py b/addons/hr_payroll/hr_payroll.py index ce3c799a726..93bc2cedc4e 100644 --- a/addons/hr_payroll/hr_payroll.py +++ b/addons/hr_payroll/hr_payroll.py @@ -960,13 +960,14 @@ class hr_payslip(osv.osv): raise osv.except_osv(_('Variable Error !'), _('Variable Error: %s ') % (e)) if line.amount_type == 'per': try: + value = line.amount * amt if line.condition_range_min or line.condition_range_max: - if ((line.amount < line.condition_range_min) or (line.amount > line.condition_range_max)): - value = value + if ((value < line.condition_range_min) or (value > line.condition_range_max)): + value = 0.0 else: - value = line.amount * amt + value = value else: - value = line.amount * amt + value = value except Exception, e: raise osv.except_osv(_('Variable Error !'), _('Variable Error: %s ') % (e)) @@ -997,7 +998,7 @@ class hr_payslip(osv.osv): } if line.appears_on_payslip: if line.condition_range_min or line.condition_range_max: - if not ((line.amount < line.condition_range_min) or (line.amount > line.condition_range_max)): + if not ((value < line.condition_range_min) or (value > line.condition_range_max)): update['value']['line_ids'].append(vals) else: update['value']['line_ids'].append(vals)