[IMP] hr_payroll:improved code for min and max range condition for amount_type=percentage
authormtr <mtr@mtr>
Mon, 14 Mar 2011 09:44:29 +0000 (15:14 +0530)
committermtr <mtr@mtr>
Mon, 14 Mar 2011 09:44:29 +0000 (15:14 +0530)
bzr revid: mtr@mtr-20110314094429-zulakh5vl7cykotu

addons/hr_payroll/hr_payroll.py

index ce3c799..93bc2ce 100644 (file)
@@ -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)