Details
Description
The absence module is used to view/edit one's own absences - or to view/edit another person's absences. It includes an API and few key screens ("My Absences", "View Contact => Absences", "New/Edit/View Absence Request") which should respect role-based access controls.
Available permissions:
- administer CiviCRM
- edit HRAbsences
- view HRAbsences
- manage own HRAbsences
(Note: "CRUD" == "Create, Read, Update, Delete")
The impact of each permission:
- Employee Absence Widget ("My Absences", "View Contact => Absences")
+ administer CiviCRM => View widget; enable "New Absence" and enable editing under "Entitlements"
+ edit HRAbsences => View widget; enable "New Absence" and enable editing under "Entitlements". (Respect contact ACLs)
+ view HRAbsences =>View widget; disable "New Absence" and disable editing under "Entitlements". (Respect contact ACLs)
+ manage own HRAbsences => View widget for self. enable "New Absence" and disable editing under "Entitlements" - "New/Edit/View Absence Request"
+ "administer CiviCRM" => Create new absences. Always use "Edit" mode when viewing an absence. (All contacts)
+ "edit HRAbsences" => Create new absences. Always use "Edit" mode when viewing an absence. (Respect contact ACLs)
+ "view HRAbsences" => Do not create new absences . Always use "View" mode when viewing an absence. (Respect contact ACLs)
+ "manage own HRAbsences" => Create new absences. Use "Edit" mode for absences that are still pending review. Use "View" mode for any approved or cancelled absences. (See also:HR-273) - API
+ administer CiviCRM => CRUD all HRAbsence* entities
+ edit HRAbsences => Read HRAbsence* entities; CRUD activities with absence-types. (Respect contact ACLs)
+ view HRAbsences => Read HRAbsence* entities; read activities with absence-types. (Respect contact ACLs)
+ manage own HRAbsences => Read HRAbsence* entities; CRUD activities with absence-types if target is oneself
==================================================================================================
Additional Changes(already merged):
a) Permission allocation to Navigation menu
access HRReport - Calendar, Absence Report
edit HRAbsences or administer CiviCRM or manage own HRabsences - New Absence (and it absence type sublinks)
administer CiviCRM - Absence Types, Absence Periods, Public Holidays
b) (Uninstall/disable HRReport, Install/enable HRabsence) scenario Absence Report and Calendar Menu hides