HR
Pracownicy i urlopy
Do czego służy
A register of employees, departments and leave requests, with strict data classes: pay, bank details and national id are visible to managers only and health or union data only to a special reader group. Agents never see the sensitive classes.
Co pakiet robi, a czego nie robi
Employees, departments and leave requests. Personal data is classified strictly: pay, bank and national id are visible to managers only, and health and union data to the special reader group.
Modele
hr_department
A team or department of the company
Grupa odczytu: hr.user. Grupa zapisu: hr.manager.
| Pole | Rodzaj | Klasa danych | Dane osobowe | Grupa | Agenci widzą | Opis |
|---|---|---|---|---|---|---|
name | text | none | nie | hr.user | jawnie | Department name |
head | text | public_directory | tak | hr.user | zamaskowane | Name of the department head |
cost_centre | text | none | nie | hr.user | jawnie | Cost centre code used by finance |
hr_employee
A person employed by the company
Grupa odczytu: hr.user. Grupa zapisu: hr.manager.
| Pole | Rodzaj | Klasa danych | Dane osobowe | Grupa | Agenci widzą | Opis |
|---|---|---|---|---|---|---|
name | text | public_directory | tak | hr.user | zamaskowane | Full name |
job_title | text | public_directory | tak | hr.user | zamaskowane | Job title |
work_email | text | public_directory | tak | hr.user | zamaskowane | Work email address |
work_phone | text | public_directory | tak | hr.user | zamaskowane | Work phone number |
department_id | ref → hr_department | none | nie | hr.user | jawnie | The department the person belongs to |
reports_to_id | ref → hr_employee | none | nie | hr.user | jawnie | The person's line manager |
hired_on | date | internal | tak | hr.user | zamaskowane | First day of employment (YYYY-MM-DD) |
contract_type | select (permanent, fixed_term, contractor, intern) | confidential_hr | tak | hr.manager | wstrzymane | Type of employment contract: permanent, fixed_term, contractor, intern |
private_email | text | confidential_hr | tak | hr.manager | wstrzymane | Private email address |
private_phone | text | confidential_hr | tak | hr.manager | wstrzymane | Private phone number |
home_address | longtext | confidential_hr | tak | hr.manager | wstrzymane | Private home address |
birth_date | date | confidential_hr | tak | hr.manager | wstrzymane | Date of birth (YYYY-MM-DD) |
national_id | text | confidential_hr | tak | hr.manager | wstrzymane | National identity or social security number |
emergency_contact | text | confidential_hr | tak | hr.manager | wstrzymane | Name and phone of the person to call in an emergency |
salary | money | financial | tak | hr.manager | wstrzymane | Gross annual salary (minor currency units, e.g. cents) |
bank_iban | text | financial | tak | hr.manager | wstrzymane | Bank account salary is paid into |
union_member | bool | special_category | tak | hr.special_reader | wstrzymane | Whether the person is a trade union member |
work_permit_expiry | date | special_category | tak | hr.special_reader | wstrzymane | Date the work permit expires, for non-citizens (YYYY-MM-DD) |
health_note | longtext | special_category | tak | hr.special_reader | wstrzymane | Health condition or disability relevant to the workplace |
state | select (onboarding, active, offboarded) | none | nie | hr.user | jawnie | Employment status: onboarding, active, offboarded |
hr_leave_request
A request for time off
Grupa odczytu: hr.user. Grupa zapisu: hr.user.
| Pole | Rodzaj | Klasa danych | Dane osobowe | Grupa | Agenci widzą | Opis |
|---|---|---|---|---|---|---|
employee_id | ref → hr_employee | none | nie | hr.user | jawnie | The employee asking for time off |
leave_kind | select (paid, unpaid, parental, study, other) | confidential_hr | tak | hr.user | wstrzymane | Kind of leave: paid, unpaid, parental, study, other |
start_on | date | internal | tak | hr.user | zamaskowane | First day of absence (YYYY-MM-DD) |
end_on | date | internal | tak | hr.user | zamaskowane | Last day of absence (YYYY-MM-DD) |
days | number | none | nie | hr.user | jawnie | Working days requested |
reason | longtext | confidential_hr | tak | hr.manager | wstrzymane | Why the leave is requested |
is_sick_leave | bool | special_category | tak | hr.special_reader | wstrzymane | Whether the absence is due to illness |
medical_note | longtext | special_category | tak | hr.special_reader | wstrzymane | Reference to the medical certificate, if any |
state | select (draft, requested, approved, refused) | none | nie | hr.user | jawnie | Request status: draft, requested, approved, refused |
Przepływy pracy
hr_employee
| Akcja | Przenosi | Kto może uruchomić | Zatwierdzenie |
|---|---|---|---|
hr_employee.activate | state: onboarding → active | hr.manager | nie |
hr_employee.offboard | state: active → offboarded | hr.manager | tak |
hr_leave_request
| Akcja | Przenosi | Kto może uruchomić | Zatwierdzenie |
|---|---|---|---|
hr_leave_request.request | state: draft → requested | hr.user | nie |
hr_leave_request.approve | state: requested → approved | hr.manager | tak |
hr_leave_request.refuse | state: requested → refused | hr.manager | tak |
Grupy uprawnień
Grupy używane przez tę aplikację:
hr.managerhr.special_readerhr.user
Kroki zatwierdzania
Kroki, które agent może tylko zaproponować:
hr_employee.offboardhr_leave_request.approvehr_leave_request.refuse
Co agenci mogą, a czego nie mogą
Agent może odczytywać, wyszukiwać, tworzyć i aktualizować rekordy tej aplikacji oraz uruchamiać akcje niewymagające zatwierdzenia, w ramach grup uprawnień swojego tokenu.
Te kroki może tylko zaproponować, a człowiek musi je zatwierdzić: hr_employee.offboard, hr_leave_request.approve, hr_leave_request.refuse, hr_department.delete, hr_employee.delete, hr_leave_request.delete.
Dane osobowe są maskowane jako tokeny zastępcze: hr_department.head, hr_employee.name, hr_employee.job_title, hr_employee.work_email, hr_employee.work_phone, hr_employee.hired_on, hr_leave_request.start_on, hr_leave_request.end_on.
Te pola są całkowicie wstrzymane i niedostępne dla agentów: hr_employee.contract_type, hr_employee.private_email, hr_employee.private_phone, hr_employee.home_address, hr_employee.birth_date, hr_employee.national_id, hr_employee.emergency_contact, hr_employee.salary, hr_employee.bank_iban, hr_employee.union_member, hr_employee.work_permit_expiry, hr_employee.health_note, hr_leave_request.leave_kind, hr_leave_request.reason, hr_leave_request.is_sick_leave, hr_leave_request.medical_note.
Zależności
Brak.
Instalacja
Zainstaluj ją w aplikacji Customize (Marketplace) lub z wiersza poleceń:
obop modules install-from hrWymaga bazy danych i uprawnień administratora.
Zbuduj własną
Przewodnik po modułach pokazuje, jak pisze się takie aplikacje