Purpose ======= 1/ Robustness & security: right now it is not easy to understand and do something clean in term of security (hr people vs employees, private info vs public). A HR officer doesn't know if he can write something on the chatter. Currently, a note will be visible for all the employees who have access to the employee form view for example. 2/ In term of business, it makes sense to let a hr manages payroll stuff (contract, employees private information, ... and other employee see public information (résumé and work information) Specification ============= Introduce 2 new models: - hr.employee.base (AbstractModel): This represents the basic skeleton model on which the shared fields and methods between the public and the private employees models. - hr.employee.public (_auto=False): This is a sql view based on the employee values, readable for an internal user (i.e. an employee). The model hr.employee is not readable anymore for an employee. There are now 3 ways to access the employee data: 1/ From the hr.employee views. HR officer access rights are required 2/ From the public profile. The public data for an employee are accessible but can't be modified. 3/ From the 'My Profile' menu. A classic employee can access its own data from there, and can modify them.
1.4 KiB
1.4 KiB
| 1 | id | name | model_id:id | group_id:id | perm_read | perm_write | perm_create | perm_unlink |
|---|---|---|---|---|---|---|---|---|
| 2 | access_hr_employee_category_user | hr.employee.category.user | model_hr_employee_category | group_hr_user | 1 | 1 | 1 | 1 |
| 3 | access_hr_employee_category_emp | hr.employee.category.emp | model_hr_employee_category | base.group_user | 1 | 0 | 0 | 0 |
| 4 | access_hr_employee_user | hr.employee user | model_hr_employee | group_hr_user | 1 | 1 | 1 | 1 |
| 5 | access_hr_employee_system_user | hr.employee system user | model_hr_employee | base.group_user | 0 | 0 | 0 | 0 |
| 6 | access_hr_employee_public_user | hr.employee_public | model_hr_employee_public | base.group_user | 1 | 0 | 0 | 0 |
| 7 | access_hr_employee_resource_user | resource.resource.user | resource.model_resource_resource | group_hr_user | 1 | 1 | 1 | 1 |
| 8 | access_hr_department_user | hr.department.user | model_hr_department | group_hr_user | 1 | 1 | 1 | 1 |
| 9 | access_hr_department_employee | hr.department.employee | model_hr_department | base.group_user | 1 | 0 | 0 | 0 |
| 10 | access_hr_job_user | hr.job user | model_hr_job | group_hr_user | 1 | 1 | 1 | 1 |
| 11 | access_ir_property_hr_user | ir_property hr_user | base.model_ir_property | group_hr_user | 1 | 1 | 1 | 0 |
| 12 | access_hr_plan_activity_type_employee | access_hr_plan_activity_type | model_hr_plan_activity_type | base.group_user | 1 | 0 | 0 | 0 |
| 13 | access_hr_plan_employee | access_hr_plan_employee | model_hr_plan | base.group_user | 1 | 0 | 0 | 0 |
| 14 | access_hr_plan_activity_type_hr_user | access_hr_plan_activity_type | model_hr_plan_activity_type | group_hr_user | 1 | 1 | 1 | 1 |
| 15 | access_hr_plan_hr_user | access_hr_plan_hr_user | model_hr_plan | group_hr_user | 1 | 1 | 1 | 1 |