From: mtr Date: Wed, 4 May 2011 12:56:27 +0000 (+0530) Subject: [IMP] hr_payroll: added payslip_sum method to compute 'payslip' on other payslip' X-Git-Tag: 6.1.0-rc1-addons~3203^2~32^2~25 X-Git-Url: http://git.inspyration.org/?a=commitdiff_plain;h=f97c21c40cc48c09a127a1efb25a6a3bbd7bc602;p=odoo%2Fodoo.git [IMP] hr_payroll: added payslip_sum method to compute 'payslip' on other payslip' bzr revid: mtr@mtr-20110504125627-5zyck6tp8438gyd5 --- diff --git a/addons/hr_payroll/hr_payroll.py b/addons/hr_payroll/hr_payroll.py index 132d8fc..1a45e89 100644 --- a/addons/hr_payroll/hr_payroll.py +++ b/addons/hr_payroll/hr_payroll.py @@ -612,6 +612,19 @@ class hr_payslip(osv.osv): res['value'].update({'struct_id': False}) return self.onchange_employee_id(cr, uid, ids, date_from=date_from, date_to=date_to, employee_id=employee_id, contract_id=contract_id, context=context) + def payslip_sum(self, cr, uid, code, from_date, to_date=datetime.now().strftime('%Y-%m-%d'), employee, context=None): + if context is None: + context = {} + if not employee: + employee = 0 + cr.execute("SELECT sum(pl.total) \ + 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 + hr_payslip() class hr_payslip_input(osv.osv):