This commit is contained in:
Paolo
2018-11-27 17:00:41 +01:00
2 changed files with 49 additions and 48 deletions
-48
View File
@@ -1113,52 +1113,4 @@ function setLeadingZero($number, $length = 2)
return str_pad($number, $length, "0", STR_PAD_LEFT);
}
}
/** Check if uid is a supervisor
*
* @param string $uid
* @param string $employee_uid
* @return boolean True if $uid is direct leader of $employee_uid.
*/
function check_isVorgesetzter($uid, $employee_uid)
{
$mitarbeiter = new Mitarbeiter();
$mitarbeiter->getUntergebene($uid);
$untergebenen_arr = $mitarbeiter->untergebene;
// Check, if uid is an employee of supervisor
if (!empty($untergebenen_arr) &&
in_array($employee_uid, $untergebenen_arr))
{
return true;
}
else
{
return false;
}
}
/** Check if uid is a supervisor on higher oe level
*
* @param string $uid
* @param string $employee_uid
* @return boolean True if $uid is indirect supervisor (leader on higher oe-level)
* of $employee_uid.
*/
function check_isVorgesetzter_indirekt($uid, $employee_uid)
{
$mitarbeiter = new Mitarbeiter();
$mitarbeiter->getUntergebene($uid, true);
$untergebenen_ofChildOEs_arr = $mitarbeiter->untergebene;
if (!empty($untergebenen_ofChildOEs_arr) &&
in_array($employee_uid, $untergebenen_ofChildOEs_arr))
{
return true;
}
else
{
return false;
}
}
?>
+49
View File
@@ -1490,6 +1490,55 @@ class mitarbeiter extends benutzer
return false;
}
}
/** Check if uid is a supervisor
*
* @param string $uid
* @param string $employee_uid
* @return boolean True if $uid is direct leader of $employee_uid.
*/
function check_isVorgesetzter($uid, $employee_uid)
{
$this->getUntergebene($uid);
$untergebenen_arr = $this->untergebene;
// Check, if uid is an employee of supervisor
if (!empty($untergebenen_arr) &&
in_array($employee_uid, $untergebenen_arr))
{
return true;
}
else
{
return false;
}
}
/** Check if uid is a supervisor on higher oe level
*
* @param string $uid
* @param string $employee_uid
* @return boolean True if $uid is indirect supervisor (leader on higher oe-level)
* of $employee_uid.
* :NOTE: as all children oes also include the direct oe, the return value is also true when
* uid is ONLY direct leader. To distinguish you might check in the calling script:
* isVorgesetzter_indirekt && isVorgesetzter --> direct leader
* isVorgesetzter_indirekt && !isVorgesetzter --> only super leader on higher level
*/
function check_isVorgesetzter_indirekt($uid, $employee_uid)
{
$this->getUntergebene($uid, true);
$untergebenen_ofChildOEs_arr = $this->untergebene;
if (!empty($untergebenen_ofChildOEs_arr) &&
in_array($employee_uid, $untergebenen_ofChildOEs_arr))
{
return true;
}
else
{
return false;
}
}
}
?>