141 lines
5.0 KiB
YAML
141 lines
5.0 KiB
YAML
-
|
|
In order to test hr module in OpenERP, I will create new Employee, Department and Job Position.
|
|
-
|
|
I create "RD Department" in Department form.
|
|
-
|
|
!record {model: hr.department, id: hr_department_rd0}:
|
|
manager_id: base.user_root
|
|
name: 'R & D'
|
|
-
|
|
Now, I create a new employee “Mark Johnson”, and select department as “RD Department”.
|
|
-
|
|
!record {model: hr.employee, id: hr_employee_mark}:
|
|
address_home_id: base.res_partner_address_1
|
|
company_id: base.main_company
|
|
gender: male
|
|
marital: 'single'
|
|
name: Mark Johnson
|
|
-
|
|
I change the company of the employee.
|
|
-
|
|
!python {model: hr.employee}: |
|
|
res = self.onchange_company(cr, uid, [ref('hr_employee_mark')], ref('base.main_company'), None)
|
|
values = dict([('company_id', ref('base.main_company'))] + res['value'].items())
|
|
self.write(cr, uid, [ref('hr_employee_mark')], values, None)
|
|
-
|
|
I assign department for employee “Mark Johnson”.
|
|
-
|
|
!python {model: hr.employee}: |
|
|
res = self.onchange_department_id(cr, uid, [ref('hr_employee_mark')], ref('hr_department_rd0'), None)
|
|
assert res['value']['parent_id']
|
|
values = dict([('department_id', ref('hr_department_rd0'))] + res['value'].items())
|
|
self.write(cr, uid, [ref('hr_employee_mark')], values, None)
|
|
-
|
|
Now I create a user for employee “Mark Johnson”.
|
|
-
|
|
!record {model: res.users, id: hr_users_markjohnson0}:
|
|
context_lang: en_US
|
|
groups_id:
|
|
- base.group_user
|
|
login: markjohnson
|
|
name: Mark Johnson
|
|
password: markjohnson
|
|
-
|
|
I assign user to employee “Mark Johnson”.
|
|
-
|
|
!python {model: hr.employee}: |
|
|
res = self.onchange_user(cr, uid, [ref('hr_employee_mark')], ref('hr_users_markjohnson0'), None)
|
|
values = dict([('user_id', ref('hr_users_markjohnson0'))] + res['value'].items())
|
|
self.write(cr, uid, [ref('hr_employee_mark')], values, None)
|
|
-
|
|
In order to check the wizard “Employee Hierarchy” , I will create new employee “Phil Graves” and select “Mark Johnson” as
|
|
Manager.
|
|
-
|
|
!record {model: hr.employee, id: hr_employee_phil}:
|
|
address_home_id: base.res_partner_address_3000
|
|
company_id: base.main_company
|
|
gender: male
|
|
name: Phil Graves
|
|
user_id: base.user_demo
|
|
parent_id: 'hr_employee_mark'
|
|
-
|
|
I fill the Working address for Employee.
|
|
-
|
|
!python {model: hr.employee}: |
|
|
res = self.onchange_address_id(cr, uid, ref('hr_employee_phil'), ref('base.res_partner_address_3000'), None)
|
|
assert res['value']
|
|
values = dict([('address_id', ref('base.res_partner_address_3000'))] + res['value'].items())
|
|
self.write(cr, uid, [ref('hr_employee_phil')], values, None)
|
|
-
|
|
I will open up form view of “Mark Johnson” and test the wizard “Employee Hierarchy” so it display the employee
|
|
hierarchy starting from “Mark Johnson”.
|
|
|
|
-
|
|
I will create new Job Position. I will check successful creation of new Job Position by adding the information.
|
|
-
|
|
!record {model: hr.job, id: hr_job_jea0}:
|
|
department_id: 'hr_department_rd0'
|
|
description: 'Position of Junior Application Engineer'
|
|
expected_employees: 5
|
|
name: 'JAE'
|
|
-
|
|
I check that Employee form is in "Open" state.
|
|
-
|
|
!assert {model: hr.job, id: hr_job_jea0}:
|
|
- state == 'open'
|
|
-
|
|
I create Employee for job position.
|
|
-
|
|
!record {model: hr.job, id: hr_job_jea0}:
|
|
employee_ids:
|
|
- address_home_id: base.res_partner_address_1
|
|
name: Manuel Lehba
|
|
department_id: 'hr_department_rd0'
|
|
gender: male
|
|
parent_id: 'hr_employee_mark'
|
|
-
|
|
I check that "Number of Employees" field have some value.
|
|
-
|
|
!assert {model: hr.job, id: hr_job_jea0}:
|
|
- no_of_employee != False
|
|
-
|
|
As more requirements on the said job position are come, I increase the number of expected employees.
|
|
-
|
|
!python {model: hr.job}: |
|
|
res = self.on_change_expected_employee(cr, uid, [ref('hr_job_jea0')], 6, 3, None)
|
|
assert res['value']['expected_employees']
|
|
values = dict([('expected_employees', ref('hr_job_jea0'))] + res['value'].items())
|
|
self.write(cr, uid, [ref('hr_job_jea0')], values, None)
|
|
-
|
|
I open the job position for recruitment.
|
|
-
|
|
!python {model: hr.job}: |
|
|
self.job_recruitement(cr, uid, [ref('hr_job_jea0')])
|
|
-
|
|
I assign the job position to employee and mark the position.
|
|
-
|
|
!python {model: hr.job}: |
|
|
self.job_open(cr, uid, [ref('hr_job_jea0')])
|
|
-
|
|
Now the process is over so I don't want to use this position. I mark it as Old.
|
|
-
|
|
!python {model: hr.job}: |
|
|
self.job_old(cr, uid, [ref('hr_job_jea0')])
|
|
-
|
|
I create a parent category for the new recruited employees who are Freshers.
|
|
-
|
|
!record {model: hr.employee.category, id: hr_employee_category_fresher0}:
|
|
name: Fresher
|
|
-
|
|
I create another category for Junior Level freshers.
|
|
-
|
|
!record {model: hr.employee.category, id: hr_employee_category_juniorlevel0}:
|
|
name: Junior Level
|
|
parent_id: hr_employee_category_fresher0
|
|
-
|
|
I open the tree view of Categories and see the categories in a hierarchical manner.
|
|
-
|
|
!python {model: hr.employee.category}: |
|
|
res = self.name_get(cr, uid, [ref('hr_employee_category_juniorlevel0')], None)
|
|
assert res
|