From 6d29e1ec65783597f281b9a11ddc5d9b0d2ae12a Mon Sep 17 00:00:00 2001 From: Mantavya Gajjar Date: Sat, 5 Jun 2010 13:02:16 +0530 Subject: [PATCH] [IMP]: implement passport, passport based contracts bzr revid: mga@tinyerp.com-20100605073216-kfbka70jhkacfsmo --- addons/hr_payroll/__openerp__.py | 10 +- addons/hr_payroll/hr_payroll.py | 72 ++++++++++++++ addons/hr_payroll/hr_payroll_view.xml | 129 +++++++++++++++++++++++++- 3 files changed, 205 insertions(+), 6 deletions(-) diff --git a/addons/hr_payroll/__openerp__.py b/addons/hr_payroll/__openerp__.py index 9f1c59abc4f..5828ce15389 100644 --- a/addons/hr_payroll/__openerp__.py +++ b/addons/hr_payroll/__openerp__.py @@ -46,11 +46,11 @@ ], 'update_xml': [ 'hr_payroll_view.xml', - 'hr_payroll_workflow.xml', - 'hr_payroll_sequence.xml', - 'hr_paroll_report.xml', - 'hr_payroll_data.xml', - 'hr_payroll_wizard.xml' +# 'hr_payroll_workflow.xml', +# 'hr_payroll_sequence.xml', +# 'hr_paroll_report.xml', +# 'hr_payroll_data.xml', +# 'hr_payroll_wizard.xml' ], 'demo_xml': [ ], diff --git a/addons/hr_payroll/hr_payroll.py b/addons/hr_payroll/hr_payroll.py index 073c855e827..0a0035dfbb8 100644 --- a/addons/hr_payroll/hr_payroll.py +++ b/addons/hr_payroll/hr_payroll.py @@ -20,3 +20,75 @@ # ############################################################################## +import time +import netsvc +from osv import osv +from osv import fields +from tools import config +from tools.translate import _ + +class hr_passport(osv.osv): + ''' + Passport Detail + ''' + _name = 'hr.passport' + _description = 'Passport Detail' + + _columns = { + 'employee_id':fields.many2one('hr.employee', 'Employee', required=True), + 'name':fields.char('Passport No', size=64, required=True, readonly=False), + 'country_id':fields.many2one('res.country', 'Country of Issue', required=True), + 'date_issue': fields.date('Passport Issue Date'), + 'date_expire': fields.date('Passport Expire Date'), + 'address_id':fields.many2one('res.partner.address', 'Address', required=False, help="Address mention in Passport"), + 'contracts_ids':fields.one2many('hr.contract', 'passport_id', 'Contracts', required=False, readonly=True), + 'note': fields.text('Description'), + } +hr_passport() + +class hr_payroll_structure(osv.osv): + ''' + Salary Structure + ''' + _name = 'hr.payroll.structure' + _description = 'Salary structure' + + _columns = { + 'name':fields.char('Name', size=64, required=True), + 'code':fields.char('Code', size=64, required=True), +# 'line_ids':fields.one2many('hr.payslip.line', 'function_id', 'Salary Structure', required=False), + 'account_id':fields.many2one('account.analytic.account', 'Analytic Account', required=False), + 'company_id':fields.many2one('res.company', 'Company', required=False), + } + _defaults = { + 'company_id': lambda self, cr, uid, context: \ + self.pool.get('res.users').browse(cr, uid, uid, + context=context).company_id.id, + } + + def copy(self, cr, uid, id, default=None, context=None): + code = self.browse(cr, uid, id).code + default = { + 'code':code+"(copy)", + 'company_id':self.pool.get('res.users').browse(cr, uid, uid, context=context).company_id.id + } + res_id = super(hr_employee_grade, self).copy(cr, uid, id, default, context) + return res_id + +hr_payroll_structure() + +class hr_contract(osv.osv): + ''' + Passport based Contract + ''' + _inherit = 'hr.contract' + _description = 'Employee Contract' + + _columns = { + 'permit_no':fields.char('Work Permit No', size=256, required=False, readonly=False), + 'passport_id':fields.many2one('hr.passport', 'Passport', required=False), + 'visa_no':fields.char('Visa No', size=64, required=False, readonly=False), + 'visa_expire': fields.date('Visa Expire Date'), + 'struct_id' : fields.many2one('hr.payroll.structure', 'Salary Structure'), + } +hr_contract() diff --git a/addons/hr_payroll/hr_payroll_view.xml b/addons/hr_payroll/hr_payroll_view.xml index b63a7a867f0..4f5a385a131 100644 --- a/addons/hr_payroll/hr_payroll_view.xml +++ b/addons/hr_payroll/hr_payroll_view.xml @@ -1,8 +1,135 @@ - + + + + + + + hr.passport.form + hr.passport + form + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ + hr.passport.tree + hr.passport + tree + + + + + + + + + + + + Passports + hr.passport + form + + + + + + + + hr.contract.view.form + hr.contract + form + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ + Payroll Contract + hr.contract + form + form,tree + + +