summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMustufa Rangwala <mra@mra-laptop>2011-04-12 19:05:42 +0530
committerMustufa Rangwala <mra@mra-laptop>2011-04-12 19:05:42 +0530
commite4f4d851b8cd92e5cd7bea85639bfb22f8ec1ba7 (patch)
tree7dff21e602f5dec8d1cc72386375fe251e70890a
parent43af0b6cdfb11c8787f104aa1cd53a5d3a2cc869 (diff)
[IMP] Payroll: payslip lines with appears on payslip = true only
bzr revid: mra@mra-laptop-20110412133542-etbmskrdx05fml2q
-rw-r--r--addons/hr_payroll/hr_payroll.py18
1 files changed, 17 insertions, 1 deletions
diff --git a/addons/hr_payroll/hr_payroll.py b/addons/hr_payroll/hr_payroll.py
index 8807d4ba61c..9b2f2811205 100644
--- a/addons/hr_payroll/hr_payroll.py
+++ b/addons/hr_payroll/hr_payroll.py
@@ -189,6 +189,21 @@ class hr_salary_head(osv.osv):
hr_salary_head()
+class one2many_mod2(fields.one2many):
+
+ def get(self, cr, obj, ids, name, user=None, offset=0, context=None, values=None):
+ if context is None:
+ context = {}
+ if not values:
+ values = {}
+ res = {}
+ for id in ids:
+ res[id] = []
+ ids2 = obj.pool.get(self._obj).search(cr, user, [(self._fields_id,'in',ids), ('appears_on_payslip', '=', True)], limit=self._limit)
+ for r in obj.pool.get(self._obj)._read_flat(cr, user, ids2, [self._fields_id], context=context, load='_classic_write'):
+ res[r[self._fields_id]].append( r['id'] )
+ return res
+
class hr_payslip(osv.osv):
'''
Pay Slip
@@ -231,7 +246,8 @@ class hr_payslip(osv.osv):
\n* It is confirmed by the accountant and the state set to \'Confirm Sheet\'.\
\n* If the salary is paid then state is set to \'Paid Salary\'.\
\n* The \'Reject\' state is used when user cancel payslip.'),
- 'line_ids': fields.one2many('hr.payslip.line', 'slip_id', 'Payslip Line', required=False, readonly=True, states={'draft': [('readonly', False)]}),
+# 'line_ids': fields.one2many('hr.payslip.line', 'slip_id', 'Payslip Line', required=False, readonly=True, states={'draft': [('readonly', False)]}),
+ 'line_ids': one2many_mod2('hr.payslip.line', 'slip_id', 'Payslip Line',readonly=True, states={'draft':[('readonly',False)]}),
'company_id': fields.many2one('res.company', 'Company', required=False, readonly=True, states={'draft': [('readonly', False)]}),
'input_line_ids': fields.one2many('hr.payslip.input', 'payslip_id', 'Payslip Inputs', required=False, readonly=True, states={'draft': [('readonly', False)]}),
'paid': fields.boolean('Made Payment Order ? ', required=False, readonly=True, states={'draft': [('readonly', False)]}),