From 41fd33e46e83456e7ae26349ba0cea61319b4416 Mon Sep 17 00:00:00 2001 From: "psi (Open ERP)" Date: Mon, 14 Mar 2011 14:27:50 +0530 Subject: [PATCH] [IMP] improve in workflow of hr.payslip object bzr revid: psi@tinyerp.co.in-20110314085750-5qk7f0txo8b003d2 --- addons/hr_payroll/__openerp__.py | 2 +- addons/hr_payroll/hr_payroll.py | 21 ++++++------ addons/hr_payroll/hr_payroll_workflow.xml | 42 ++++++++--------------- 3 files changed, 25 insertions(+), 40 deletions(-) diff --git a/addons/hr_payroll/__openerp__.py b/addons/hr_payroll/__openerp__.py index 67c925cf53e..429e9b44067 100644 --- a/addons/hr_payroll/__openerp__.py +++ b/addons/hr_payroll/__openerp__.py @@ -46,7 +46,7 @@ 'update_xml': [ 'security/hr_security.xml', 'hr_payroll_view.xml', -# 'hr_payroll_workflow.xml', + 'hr_payroll_workflow.xml', 'hr_payroll_sequence.xml', 'hr_paroll_report.xml', 'hr_payroll_data.xml', diff --git a/addons/hr_payroll/hr_payroll.py b/addons/hr_payroll/hr_payroll.py index ebd4e1eea43..4caf49b5966 100644 --- a/addons/hr_payroll/hr_payroll.py +++ b/addons/hr_payroll/hr_payroll.py @@ -411,14 +411,13 @@ class hr_payslip(osv.osv): return result _columns = { - 'struct_id':fields.many2one('hr.payroll.structure', 'Designation', readonly=True, states={'new': [('readonly', False)], 'draft': [('readonly', False)]}), - 'register_id':fields.many2one('hr.payroll.register', 'Register', required=False, readonly=True, states={'new': [('readonly', False)]}), - 'name':fields.char('Name', size=64, required=False, readonly=True, states={'new': [('readonly', False)]}), - 'number':fields.char('Number', size=64, required=False, readonly=True, states={'new': [('readonly', False)]}), - 'employee_id':fields.many2one('hr.employee', 'Employee', required=True, readonly=True, states={'new': [('readonly', False)], 'draft': [('readonly', False)]}), - 'date': fields.date('Date', readonly=True, states={'new': [('readonly', False)]}), + 'struct_id':fields.many2one('hr.payroll.structure', 'Designation', readonly=True, states={'draft': [('readonly', False)]}), + 'register_id':fields.many2one('hr.payroll.register', 'Register', required=False, readonly=True, states={'draft': [('readonly', False)]}), + 'name':fields.char('Name', size=64, required=False, readonly=True, states={'draft': [('readonly', False)]}), + 'number':fields.char('Number', size=64, required=False, readonly=True, states={'draft': [('readonly', False)]}), + 'employee_id':fields.many2one('hr.employee', 'Employee', required=True, readonly=True, states={'draft': [('readonly', False)]}), + 'date': fields.date('Date', readonly=True, states={'draft': [('readonly', False)]}), 'state':fields.selection([ - ('new','New Slip'), ('draft','Wating for Verification'), ('hr_check','Wating for HR Verification'), ('accont_check','Wating for Account Verification'), @@ -436,21 +435,21 @@ class hr_payslip(osv.osv): # 'other_pay': fields.function(_calculate, method=True, store=True, multi='dc', string='Others', digits_compute=dp.get_precision('Account')), 'total_pay': fields.function(_calculate, method=True, store=True, multi='dc', string='Total Payment', digits_compute=dp.get_precision('Account')), # 'total_pay': fields.float('Total Payment', readonly=True, digits_compute=dp.get_precision('Account')), - 'line_ids':fields.one2many('hr.payslip.line', 'slip_id', 'Payslip Line', required=False, readonly=True, states={'new': [('readonly', False)], 'draft': [('readonly', False)]}), + 'line_ids':fields.one2many('hr.payslip.line', 'slip_id', 'Payslip Line', required=False, readonly=True, states={'draft': [('readonly', False)]}), 'company_id':fields.many2one('res.company', 'Company', required=False, readonly=True, states={'draft': [('readonly', False)]}), 'holiday_days': fields.float('No of Leaves', readonly=True), 'worked_days': fields.float('Worked Day', readonly=True), 'working_days': fields.float('Working Days', readonly=True), - 'paid':fields.boolean('Paid ? ', required=False, readonly=True, states={'new': [('readonly', False)], 'draft': [('readonly', False)]}), + 'paid':fields.boolean('Paid ? ', required=False, readonly=True, states={'draft': [('readonly', False)]}), 'note':fields.text('Description'), - 'contract_id':fields.many2one('hr.contract', 'Contract', required=False, readonly=True, states={'new': [('readonly', False)],'draft': [('readonly', False)]}), + 'contract_id':fields.many2one('hr.contract', 'Contract', required=False, readonly=True, states={'draft': [('readonly', False)]}), 'igross': fields.float('Calculaton Field', readonly=True, digits=(16, 2), help="Calculation field used for internal calculation, do not place this on form"), 'inet': fields.float('Calculaton Field', readonly=True, digits=(16, 2), help="Calculation field used for internal calculation, do not place this on form"), 'holiday_ids': fields.function(_get_holidays, method=True, type='one2many', relation='hr.holidays', string='Holiday Lines', required=False), } _defaults = { 'date': lambda *a: time.strftime('%Y-%m-%d'), - 'state': lambda *a: 'new', + 'state': 'draft', 'company_id': lambda self, cr, uid, context: \ self.pool.get('res.users').browse(cr, uid, uid, context=context).company_id.id, diff --git a/addons/hr_payroll/hr_payroll_workflow.xml b/addons/hr_payroll/hr_payroll_workflow.xml index b607205f54b..2956a741f08 100644 --- a/addons/hr_payroll/hr_payroll_workflow.xml +++ b/addons/hr_payroll/hr_payroll_workflow.xml @@ -6,42 +6,34 @@ hr.payslip True - - - - True - new - - + draft - compute_sheet() - OR - function + True - + hr_check hr_check_sheet() function - + confirm verify_sheet() function - + cancel cancel_sheet() function - + done @@ -49,55 +41,49 @@ function True - - - - - compute_sheet - - + verify_sheet - + final_verify_sheet - + process_sheet - + cancel_sheet - + cancel_sheet - + cancel_sheet - + cancel_sheet - +