HR

Anställda och ledighet

MarknadsplatsPersonal och projektVersion 0.1.0manifest

Vad den är till för ​

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.

Vad paketet gör och inte gör ​

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.

Modeller ​

hr_department ​

A team or department of the company

Läsgrupp: hr.user. Skrivgrupp: hr.manager.

FältTypDataklassPersonuppgiftGruppAgenter serBeskrivning
nametextnonenejhr.useri klartextDepartment name
headtextpublic_directoryjahr.usermaskeradName of the department head
cost_centretextnonenejhr.useri klartextCost centre code used by finance

hr_employee ​

A person employed by the company

Läsgrupp: hr.user. Skrivgrupp: hr.manager.

FältTypDataklassPersonuppgiftGruppAgenter serBeskrivning
nametextpublic_directoryjahr.usermaskeradFull name
job_titletextpublic_directoryjahr.usermaskeradJob title
work_emailtextpublic_directoryjahr.usermaskeradWork email address
work_phonetextpublic_directoryjahr.usermaskeradWork phone number
department_idref → hr_departmentnonenejhr.useri klartextThe department the person belongs to
reports_to_idref → hr_employeenonenejhr.useri klartextThe person's line manager
hired_ondateinternaljahr.usermaskeradFirst day of employment (YYYY-MM-DD)
contract_typeselect (permanent, fixed_term, contractor, intern)confidential_hrjahr.managerundanhållenType of employment contract: permanent, fixed_term, contractor, intern
private_emailtextconfidential_hrjahr.managerundanhållenPrivate email address
private_phonetextconfidential_hrjahr.managerundanhållenPrivate phone number
home_addresslongtextconfidential_hrjahr.managerundanhållenPrivate home address
birth_datedateconfidential_hrjahr.managerundanhållenDate of birth (YYYY-MM-DD)
national_idtextconfidential_hrjahr.managerundanhållenNational identity or social security number
emergency_contacttextconfidential_hrjahr.managerundanhållenName and phone of the person to call in an emergency
salarymoneyfinancialjahr.managerundanhållenGross annual salary (minor currency units, e.g. cents)
bank_ibantextfinancialjahr.managerundanhållenBank account salary is paid into
union_memberboolspecial_categoryjahr.special_readerundanhållenWhether the person is a trade union member
work_permit_expirydatespecial_categoryjahr.special_readerundanhållenDate the work permit expires, for non-citizens (YYYY-MM-DD)
health_notelongtextspecial_categoryjahr.special_readerundanhållenHealth condition or disability relevant to the workplace
stateselect (onboarding, active, offboarded)nonenejhr.useri klartextEmployment status: onboarding, active, offboarded

hr_leave_request ​

A request for time off

Läsgrupp: hr.user. Skrivgrupp: hr.user.

FältTypDataklassPersonuppgiftGruppAgenter serBeskrivning
employee_idref → hr_employeenonenejhr.useri klartextThe employee asking for time off
leave_kindselect (paid, unpaid, parental, study, other)confidential_hrjahr.userundanhållenKind of leave: paid, unpaid, parental, study, other
start_ondateinternaljahr.usermaskeradFirst day of absence (YYYY-MM-DD)
end_ondateinternaljahr.usermaskeradLast day of absence (YYYY-MM-DD)
daysnumbernonenejhr.useri klartextWorking days requested
reasonlongtextconfidential_hrjahr.managerundanhållenWhy the leave is requested
is_sick_leaveboolspecial_categoryjahr.special_readerundanhållenWhether the absence is due to illness
medical_notelongtextspecial_categoryjahr.special_readerundanhållenReference to the medical certificate, if any
stateselect (draft, requested, approved, refused)nonenejhr.useri klartextRequest status: draft, requested, approved, refused

Arbetsflöden ​

hr_employee ​

ÅtgärdFlyttarVem får köra denGodkännande
hr_employee.activatestate: onboarding → activehr.managernej
hr_employee.offboardstate: active → offboardedhr.managerja

hr_leave_request ​

ÅtgärdFlyttarVem får köra denGodkännande
hr_leave_request.requeststate: draft → requestedhr.usernej
hr_leave_request.approvestate: requested → approvedhr.managerja
hr_leave_request.refusestate: requested → refusedhr.managerja

Behörighetsgrupper ​

Grupper som den här appen använder:

  • hr.manager
  • hr.special_reader
  • hr.user

Steg som kräver godkännande ​

Steg som en agent bara kan föreslå:

  • hr_employee.offboard
  • hr_leave_request.approve
  • hr_leave_request.refuse

Vad agenter kan och inte kan göra ​

En agent kan läsa, söka, skapa och uppdatera poster i den här appen, och köra de åtgärder som inte kräver godkännande, inom behörighetsgrupperna för sin token.

Den kan bara föreslå de här stegen, och en person måste godkänna dem: hr_employee.offboard, hr_leave_request.approve, hr_leave_request.refuse, hr_department.delete, hr_employee.delete, hr_leave_request.delete.

Personuppgifter maskeras som platshållare: 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.

De här fälten undanhålls helt från agenter: 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.

Beroenden ​

Inga.

Installera ​

Installera den från appen Customize (Marknadsplats), eller från kommandoraden:

bash
obop modules install-from hr

Kräver en databas och administratörsbehörighet.

Bygg din egen ​

Modulguiden visar hur appar som den här skrivs