diff --git a/addons/hr/hr.py b/addons/hr/hr.py index e2b9a7089f3..d45d0f90e22 100644 --- a/addons/hr/hr.py +++ b/addons/hr/hr.py @@ -148,7 +148,7 @@ class hr_employee(osv.osv): 'address_id': fields.many2one('res.partner.address', 'Working Address'), 'address_home_id': fields.many2one('res.partner.address', 'Home Address'), 'partner_id': fields.related('address_home_id', 'partner_id', type='many2one', relation='res.partner', readonly=True, help="Partner that is related to the current employee. Accounting transaction will be written on this partner belongs to employee."), - 'bank_account_id':fields.many2one('res.partner.bank', 'Bank Account', domain="[('partner_id','=',partner_id)]", help="Employee bank salary account"), + 'bank_account_id':fields.many2one('res.partner.bank', 'Bank Account Number', domain="[('partner_id','=',partner_id)]", help="Employee bank salary account"), 'work_phone': fields.char('Work Phone', size=32, readonly=False), 'mobile_phone': fields.char('Mobile', size=32, readonly=False), 'work_email': fields.char('Work E-mail', size=240), diff --git a/addons/hr_payroll_account/hr_payroll_account.py b/addons/hr_payroll_account/hr_payroll_account.py index 4668827ef89..9b0ce82c077 100644 --- a/addons/hr_payroll_account/hr_payroll_account.py +++ b/addons/hr_payroll_account/hr_payroll_account.py @@ -64,7 +64,7 @@ class hr_employee(osv.osv): method=True, domain="[('type', '=', 'liquidity')]", view_load=True, - help="Select Bank Account from where Salary Expense will be Paid"), + help="Select Bank Account from where Salary Expense will be Paid, to be used for payslip verification."), 'salary_account':fields.property( 'account.account', type='many2one', @@ -295,6 +295,10 @@ class hr_payslip(osv.osv): self.create_voucher(cr, uid, [slip.id], name, move_id) name = "To %s account" % (slip.employee_id.name) + + if not slip.employee_id.property_bank_account.id: + raise osv.except_osv(_('Warning !'), _('Employee Bank Account is not defined for %s') % slip.employee_id.name) + ded_rec = { 'move_id': move_id, 'name': name, @@ -426,10 +430,10 @@ class hr_payslip(osv.osv): partner_id = False if not slip.employee_id.bank_account_id: - raise osv.except_osv(_('Integrity Error !'), _('Please defined bank account for %s !') % (slip.employee_id.name)) + raise osv.except_osv(_('Integrity Error !'), _('Please define bank account for %s !') % (slip.employee_id.name)) if not slip.employee_id.bank_account_id.partner_id: - raise osv.except_osv(_('Integrity Error !'), _('Please defined partner in bank account for %s !') % (slip.employee_id.name)) + raise osv.except_osv(_('Integrity Error !'), _('Please define partner in bank account for %s !') % (slip.employee_id.name)) partner = slip.employee_id.bank_account_id.partner_id partner_id = slip.employee_id.bank_account_id.partner_id.id @@ -463,7 +467,10 @@ class hr_payslip(osv.osv): } move_id = move_pool.create(cr, uid, move, context=context) self.create_voucher(cr, uid, [slip.id], slip.name, move_id) - + + if not slip.employee_id.salary_account.id: + raise osv.except_osv(_('Warning !'), _('Please define Salary Account for %s.') % slip.employee_id.name) + line = { 'move_id':move_id, 'name': "By Basic Salary / " + slip.employee_id.name, @@ -477,7 +484,6 @@ class hr_payslip(osv.osv): 'analytic_account_id': False, 'ref':slip.number } - #Setting Analysis Account for Basic Salary if slip.employee_id.analytic_account: line['analytic_account_id'] = slip.employee_id.analytic_account.id @@ -485,9 +491,12 @@ class hr_payslip(osv.osv): move_line_id = movel_pool.create(cr, uid, line, context=context) line_ids += [move_line_id] + if not slip.employee_id.employee_account.id: + raise osv.except_osv(_('Warning !'), _('Please define Employee Payable Account for %s.') % slip.employee_id.name) + line = { 'move_id':move_id, - 'name': "To Basic Paysble Salary / " + slip.employee_id.name, + 'name': "To Basic Payable Salary / " + slip.employee_id.name, 'partner_id': partner_id, 'date': slip.date, 'account_id': slip.employee_id.employee_account.id, @@ -498,6 +507,7 @@ class hr_payslip(osv.osv): 'period_id': period_id, 'ref':slip.number } + line_ids += [movel_pool.create(cr, uid, line, context=context)] for line in slip.line_ids: diff --git a/addons/hr_payroll_account/hr_payroll_account_view.xml b/addons/hr_payroll_account/hr_payroll_account_view.xml index e62d2aecba3..e53070cd1e1 100644 --- a/addons/hr_payroll_account/hr_payroll_account_view.xml +++ b/addons/hr_payroll_account/hr_payroll_account_view.xml @@ -221,5 +221,22 @@ + + + + + hr.employee.payroll.property.form + hr.employee + + + + + + + + + + +