[IMP] improve in workflow of hr.payslip object

bzr revid: psi@tinyerp.co.in-20110314085750-5qk7f0txo8b003d2
This commit is contained in:
psi (Open ERP) 2011-03-14 14:27:50 +05:30
parent 03514546bc
commit 41fd33e46e
3 changed files with 25 additions and 40 deletions

View File

@ -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',

View File

@ -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,

View File

@ -6,42 +6,34 @@
<field name="osv">hr.payslip</field>
<field name="on_create">True</field>
</record>
<record id="act_new" model="workflow.activity">
<field name="wkf_id" ref="wkf"/>
<field name="flow_start">True</field>
<field name="name">new</field>
</record>
<record id="act_draft" model="workflow.activity">
<field name="wkf_id" ref="wkf"/>
<field name="name">draft</field>
<field name="action">compute_sheet()</field>
<field name="split_mode">OR</field>
<field name="kind">function</field>
<field name="flow_start">True</field>
</record>
<record id="act_hr_check" model="workflow.activity">
<field name="wkf_id" ref="wkf"/>
<field name="name">hr_check</field>
<field name="action">hr_check_sheet()</field>
<field name="kind">function</field>
</record>
<record id="act_confirm" model="workflow.activity">
<field name="wkf_id" ref="wkf"/>
<field name="name">confirm</field>
<field name="action">verify_sheet()</field>
<field name="kind">function</field>
</record>
<record id="act_cancel" model="workflow.activity">
<field name="wkf_id" ref="wkf"/>
<field name="name">cancel</field>
<field name="action">cancel_sheet()</field>
<field name="kind">function</field>
</record>
<record id="act_done" model="workflow.activity">
<field name="wkf_id" ref="wkf"/>
<field name="name">done</field>
@ -49,55 +41,49 @@
<field name="kind">function</field>
<field name="flow_stop">True</field>
</record>
<record id="t1" model="workflow.transition">
<field name="act_from" ref="act_new"/>
<field name="act_to" ref="act_draft"/>
<field name="signal">compute_sheet</field>
</record>
<record id="t2" model="workflow.transition">
<field name="act_from" ref="act_draft"/>
<field name="act_to" ref="act_hr_check"/>
<field name="signal">verify_sheet</field>
</record>
<record id="t3" model="workflow.transition">
<field name="act_from" ref="act_hr_check"/>
<field name="act_to" ref="act_confirm"/>
<field name="signal">final_verify_sheet</field>
</record>
<record id="t4" model="workflow.transition">
<field name="act_from" ref="act_confirm"/>
<field name="act_to" ref="act_done"/>
<field name="signal">process_sheet</field>
</record>
<record id="t7" model="workflow.transition">
<field name="act_from" ref="act_draft"/>
<field name="act_to" ref="act_cancel"/>
<field name="signal">cancel_sheet</field>
</record>
<record id="t8" model="workflow.transition">
<field name="act_from" ref="act_hr_check"/>
<field name="act_to" ref="act_cancel"/>
<field name="signal">cancel_sheet</field>
</record>
<record id="t9" model="workflow.transition">
<field name="act_from" ref="act_confirm"/>
<field name="act_to" ref="act_cancel"/>
<field name="signal">cancel_sheet</field>
</record>
<record id="t11" model="workflow.transition">
<field name="act_from" ref="act_done"/>
<field name="act_to" ref="act_cancel"/>
<field name="signal">cancel_sheet</field>
</record>
<record id="t12" model="workflow.transition">
<field name="act_from" ref="act_cancel"/>
<field name="act_to" ref="act_draft"/>