From 4058da5295ef02e4600492e7110d251a9ff1fb00 Mon Sep 17 00:00:00 2001 From: mtr Date: Wed, 11 May 2011 11:43:49 +0530 Subject: [PATCH] [IMP] hr_payroll: improved code to take into account credit_note while calculating the sum bzr revid: mtr@mtr-20110511061349-dj6jlpmnhjn13iij --- addons/hr_payroll/hr_payroll.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/addons/hr_payroll/hr_payroll.py b/addons/hr_payroll/hr_payroll.py index 31806a6f2ec..b5b9f338b33 100644 --- a/addons/hr_payroll/hr_payroll.py +++ b/addons/hr_payroll/hr_payroll.py @@ -619,13 +619,18 @@ class hr_payslip(osv.osv): context = {} if to_date is None: to_date = datetime.now().strftime('%Y-%m-%d') - cr.execute("SELECT sum(pl.total) \ + sum = 0.0 + cr.execute("SELECT pl.total, hp.credit_note\ FROM hr_payslip as hp, hr_payslip_line as pl \ WHERE hp.employee_id = %s AND hp.state in ('confirm','done') \ AND hp.date_from >= %s AND hp.date_to <= %s AND hp.id = pl.slip_id AND pl.code = %s", (employee, from_date, to_date, code)) - res = cr.fetchone() - return res and res[0] or 0.0 + for r in cr.dictfetchall(): + if r['credit_note'] == False: + sum += r['total'] + else: + sum -= r['total'] + return sum hr_payslip()