[IMP] hr_payroll: changed yml for payslip as per the changes in hr_payroll module
bzr revid: mtr@mtr-20110606130157-bmb3g4t9yslx9n11
This commit is contained in:
parent
e41d251cdc
commit
033c241543
|
@ -60,7 +60,7 @@ Generic Payroll system.
|
||||||
'wizard/hr_payroll_year_salary.xml',
|
'wizard/hr_payroll_year_salary.xml',
|
||||||
],
|
],
|
||||||
'test': [
|
'test': [
|
||||||
# 'test/payslip.yml',
|
'test/payslip.yml',
|
||||||
# 'test/payment_advice.yml',
|
# 'test/payment_advice.yml',
|
||||||
# 'test/payroll_register.yml',
|
# 'test/payroll_register.yml',
|
||||||
# 'test/hr_payroll_report.yml',
|
# 'test/hr_payroll_report.yml',
|
||||||
|
|
|
@ -1,12 +1,11 @@
|
||||||
-
|
-
|
||||||
I test the 'Payment Advice' in order to check the hr_payroll in OpenERP
|
I test the 'Payslip' in order to check the hr_payroll module in OpenERP
|
||||||
-
|
-
|
||||||
I Create a bank record
|
I create a bank record
|
||||||
-
|
-
|
||||||
!record {model: res.partner.bank, id: res_partner_bank_0}:
|
!record {model: res.partner.bank, id: res_partner_bank_0}:
|
||||||
acc_number: '987654321'
|
acc_number: '987654321'
|
||||||
partner_id: base.res_partner_desertic_hispafuentes
|
partner_id: base.res_partner_desertic_hispafuentes
|
||||||
sequence: 0.0
|
|
||||||
name: Fortis
|
name: Fortis
|
||||||
state: bank
|
state: bank
|
||||||
bank: base.res_bank_1
|
bank: base.res_bank_1
|
||||||
|
@ -18,77 +17,79 @@
|
||||||
address_id: base.res_partner_address_9
|
address_id: base.res_partner_address_9
|
||||||
birthday: '1984-05-01'
|
birthday: '1984-05-01'
|
||||||
children: 0.0
|
children: 0.0
|
||||||
contract_ids:
|
|
||||||
- advantages_gross: 0.0
|
|
||||||
advantages_net: 0.0
|
|
||||||
date_end: !eval "'%s-%s-%s' %(datetime.now().year+1,datetime.now().month,datetime.now().day)"
|
|
||||||
date_start: !eval time.strftime('%Y-%m-%d')
|
|
||||||
name: reference
|
|
||||||
wage: 5000.0
|
|
||||||
wage_type_id: hr_contract.hr_contract_monthly_gross
|
|
||||||
type_id: hr_contract.hr_contract_type_emp
|
|
||||||
country_id: base.in
|
country_id: base.in
|
||||||
department_id: hr.dep_it
|
department_id: hr.dep_it
|
||||||
gender: male
|
gender: male
|
||||||
marital: hr.hr_employee_marital_status_single
|
marital: single
|
||||||
name: Richard
|
name: Richard
|
||||||
bank_account_id: res_partner_bank_0
|
bank_account_id: res_partner_bank_0
|
||||||
vehicle_distance: 0.0
|
vehicle_distance: 0.0
|
||||||
-
|
-
|
||||||
I create a new payroll structure for software developer
|
I create a salary structure for 'Software Developer'
|
||||||
-
|
-
|
||||||
!record {model: hr.payroll.structure, id: hr_payroll_structure_softwaredeveloper0}:
|
!record {model: hr.payroll.structure, id: hr_payroll_structure_softwaredeveloper}:
|
||||||
|
name: Salary Structure for Software Developer
|
||||||
code: SD
|
code: SD
|
||||||
line_ids:
|
company_id: base.main_company
|
||||||
- amount: 0.40000000000000002
|
parent_id: structure_base
|
||||||
amount_type: per
|
rule_ids:
|
||||||
category_id: hr_payroll.HRA
|
- hr_payslip_line_houserantallowance1
|
||||||
code: HRA
|
- hr_payslip_line_convanceallowance1
|
||||||
company_contrib: 0.0
|
- hr_payslip_line_professionaltax1
|
||||||
name: House Rant Allowance
|
- hr_payslip_line_providentfund1
|
||||||
sequence: 5
|
- hr_salary_rule_meal_voucher
|
||||||
total: 0.0
|
- hr_salary_rule_sales_commission
|
||||||
type: allowance
|
|
||||||
- amount: 10000.0
|
|
||||||
amount_type: fix
|
|
||||||
category_id: hr_payroll.CA
|
|
||||||
code: CA
|
|
||||||
company_contrib: 0.0
|
|
||||||
name: Convance Allowance
|
|
||||||
sequence: 10
|
|
||||||
total: 0.0
|
|
||||||
type: allowance
|
|
||||||
- amount: 10000.0
|
|
||||||
amount_type: fix
|
|
||||||
category_id: hr_payroll.PT
|
|
||||||
code: PT
|
|
||||||
company_contrib: 0.0
|
|
||||||
name: Professional Tax
|
|
||||||
sequence: 15
|
|
||||||
total: 0.0
|
|
||||||
type: deduction
|
|
||||||
- amount: 0.125
|
|
||||||
amount_type: per
|
|
||||||
category_id: hr_payroll.PF
|
|
||||||
code: PF
|
|
||||||
company_contrib: 0.0
|
|
||||||
name: Provident Fund
|
|
||||||
sequence: 20
|
|
||||||
total: 0.0
|
|
||||||
type: deduction
|
|
||||||
name: Software Developer
|
|
||||||
-
|
-
|
||||||
I create a employee payslip record
|
I create a contract for 'Richard'
|
||||||
|
-
|
||||||
|
!record {model: hr.contract, id: hr_contract_richard}:
|
||||||
|
date_end: !eval "'%s-%s-%s' %(datetime.now().year+1,datetime.now().month,datetime.now().day)"
|
||||||
|
date_start: !eval time.strftime('%Y-%m-%d')
|
||||||
|
name: Contract for Richard
|
||||||
|
wage: 5000.0
|
||||||
|
type_id: hr_contract.hr_contract_type_emp
|
||||||
|
employee_id: hr_employee_richard0
|
||||||
|
struct_id: hr_payroll_structure_softwaredeveloper
|
||||||
|
working_hours: resource.timesheet_group1
|
||||||
|
-
|
||||||
|
I create a Payslip
|
||||||
-
|
-
|
||||||
!record {model: hr.payslip, id: hr_payslip_0}:
|
!record {model: hr.payslip, id: hr_payslip_0}:
|
||||||
employee_id: hr_payroll.hr_employee_richard0
|
employee_id: hr_payroll.hr_employee_richard0
|
||||||
|
-
|
||||||
|
I select employee Richard
|
||||||
|
-
|
||||||
|
!python {model: hr.payslip}: |
|
||||||
|
import time
|
||||||
|
from datetime import datetime
|
||||||
|
from dateutil import relativedelta
|
||||||
|
date_from = time.strftime('%Y-%m-01')
|
||||||
|
worked_days_obj = self.pool.get('hr.payslip.worked_days')
|
||||||
|
date_to = str(datetime.now() + relativedelta.relativedelta(months=+1, day=1, days=-1))[:10]
|
||||||
|
res = self.onchange_employee_id(cr, uid, [], date_from, date_to, ref("hr_employee_richard0"), False, None)
|
||||||
|
vals = {
|
||||||
|
'struct_id': res['value']['struct_id'],
|
||||||
|
'contract_id': res['value']['contract_id'],
|
||||||
|
'name': res['value']['name'],
|
||||||
|
}
|
||||||
|
vals['worked_days_line_ids'] = [(0,0,i) for i in res['value']['worked_days_line_ids']]
|
||||||
|
vals['input_line_ids'] = [(0,0,i) for i in res['value']['input_line_ids']]
|
||||||
|
self.write(cr, uid, ref("hr_payslip_0"), vals)
|
||||||
|
-
|
||||||
|
I assign the amount to Input data
|
||||||
|
-
|
||||||
|
!python {model: hr.payslip.input}: |
|
||||||
|
ids = self.search(cr, uid, [('payslip_id', '=', ref("hr_payslip_0"))])
|
||||||
|
self.write(cr, uid, ids, {'amount': 5.0})
|
||||||
|
-
|
||||||
|
I verify the payslip is in draft state
|
||||||
|
-
|
||||||
|
!python {model: hr.payslip}: |
|
||||||
|
from tools.translate import _
|
||||||
|
payslip_brw=self.browse(cr, uid, ref("hr_payslip_0"))
|
||||||
|
assert(payslip_brw.state == 'draft'), _('State not changed!')
|
||||||
-
|
-
|
||||||
I click on 'Compute Sheet' button
|
I click on 'Compute Sheet' button
|
||||||
-
|
|
||||||
!workflow {model: hr.payslip, action: compute_sheet, ref: hr_payslip_0}
|
|
||||||
-
|
|
||||||
just to test
|
|
||||||
-
|
-
|
||||||
!python {model: hr.payslip}: |
|
!python {model: hr.payslip}: |
|
||||||
self.compute_sheet(cr, uid, [ref("hr_payslip_0")], {"lang": "en_US", "tz": False,
|
self.compute_sheet(cr, uid, [ref("hr_payslip_0")], {"lang": "en_US", "tz": False,
|
||||||
|
@ -96,42 +97,13 @@
|
||||||
"section_id": False, "active_id": ref("hr_payroll.menu_department_tree"),
|
"section_id": False, "active_id": ref("hr_payroll.menu_department_tree"),
|
||||||
})
|
})
|
||||||
-
|
-
|
||||||
I check that the order is now in "Waiting for Verification" state
|
Then I click on the 'Confirm' button
|
||||||
|
-
|
||||||
|
!workflow {model: hr.payslip, action: hr_verify_sheet, ref: hr_payslip_0}
|
||||||
|
-
|
||||||
|
I verify that the payslip is in done state
|
||||||
-
|
-
|
||||||
!python {model: hr.payslip}: |
|
!python {model: hr.payslip}: |
|
||||||
from tools.translate import _
|
from tools.translate import _
|
||||||
payslip_brw=self.browse(cr, uid, ref("hr_payslip_0"))
|
payslip_brw=self.browse(cr, uid, ref("hr_payslip_0"))
|
||||||
assert(payslip_brw.state == 'draft'), _('State not changed!')
|
assert(payslip_brw.state == 'done'), _('State not changed!')
|
||||||
-
|
|
||||||
I click on Verify Sheet button.
|
|
||||||
-
|
|
||||||
!workflow {model: hr.payslip, action: verify_sheet, ref: hr_payslip_0}
|
|
||||||
-
|
|
||||||
I check that the order is in the "Waiting for HR Verification" state
|
|
||||||
-
|
|
||||||
!python {model: hr.payslip}: |
|
|
||||||
from tools.translate import _
|
|
||||||
payslip_brw=self.browse(cr, uid, ref("hr_payslip_0"))
|
|
||||||
assert(payslip_brw.state == 'hr_check'), _('State not changed!')
|
|
||||||
-
|
|
||||||
I click on Complete HR Checking button.
|
|
||||||
-
|
|
||||||
!workflow {model: hr.payslip, action: final_verify_sheet, ref: hr_payslip_0}
|
|
||||||
-
|
|
||||||
I check that the order is in "Confirm Sheet" state.
|
|
||||||
-
|
|
||||||
!python {model: hr.payslip}: |
|
|
||||||
from tools.translate import _
|
|
||||||
payslip_brw=self.browse(cr, uid, ref("hr_payslip_0"))
|
|
||||||
assert(payslip_brw.state == 'confirm'), _('State not changed!')
|
|
||||||
-
|
|
||||||
I click on Pay Salary button
|
|
||||||
-
|
|
||||||
!workflow {model: hr.payslip, action: process_sheet, ref: hr_payslip_0}
|
|
||||||
-
|
|
||||||
I check that the order is in "Paid Salary" state.
|
|
||||||
-
|
|
||||||
!python {model: hr.payslip}: |
|
|
||||||
from tools.translate import _
|
|
||||||
payslip_brw=self.browse(cr, uid, ref("hr_payslip_0"))
|
|
||||||
assert(payslip_brw.state == 'done'), _('State not changed!')
|
|
Loading…
Reference in New Issue