From 9527fd006f12d8cb00a2dc5d6100d6d977cbf385 Mon Sep 17 00:00:00 2001
From: Manfred
Date: Mon, 27 Mar 2023 17:08:22 +0200
Subject: [PATCH] Rechte-Detailansicht
---
.../benutzerberechtigung_detailliste.php | 166 ++++++++++++++++++
.../benutzerberechtigung_details.php | 50 +++---
2 files changed, 193 insertions(+), 23 deletions(-)
create mode 100644 vilesci/stammdaten/benutzerberechtigung_detailliste.php
diff --git a/vilesci/stammdaten/benutzerberechtigung_detailliste.php b/vilesci/stammdaten/benutzerberechtigung_detailliste.php
new file mode 100644
index 000000000..a5e352075
--- /dev/null
+++ b/vilesci/stammdaten/benutzerberechtigung_detailliste.php
@@ -0,0 +1,166 @@
+
+ * Andreas Oesterreicher < andreas.oesterreicher@technikum-wien.at >
+ * Rudolf Hangl < rudolf.hangl@technikum-wien.at >
+ * Gerald Simane-Sequens < gerald.simane-sequens@technikum-wien.at >
+ */
+require_once('../../config/vilesci.config.inc.php');
+require_once('../../include/functions.inc.php');
+require_once('../../include/berechtigung.class.php');
+require_once('../../include/benutzerberechtigung.class.php');
+require_once('../../include/funktion.class.php');
+require_once('../../include/organisationseinheit.class.php');
+require_once('../../include/wawi_kostenstelle.class.php');
+require_once('../../include/benutzer.class.php');
+
+$user = get_uid();
+
+$rechte = new benutzerberechtigung();
+$rechte->getBerechtigungen($user);
+
+$uid = isset($_GET['uid']) && $_GET['uid']!='' ? $_GET['uid'] : die('UID muss übergeben werden');
+$benutzer = new benutzer();
+$benutzer->load($uid);
+
+if(!$rechte->isBerechtigt('basis/berechtigung'))
+ die('Sie habe keine Rechte um diese Seite anzuzeigen');
+
+?>
+
+
+ Detaillierte Berechtigungsliste
+
+
+
+
+
+
+
+
+
+
+ Detaillierte Berechtigungsliste von vorname.' '.$benutzer->nachname ?>
+
+ getBerechtigungen($uid);
+
+ $funktionsArray = array();
+ $funktionen = new funktion();
+ $funktionen->getAll();
+
+ foreach ($funktionen->result as $item)
+ {
+ $funktionsArray[$item->funktion_kurzbz] = $item->beschreibung;
+ }
+
+ $kostenstelleArray = array();
+ $kostenstellen = new wawi_kostenstelle();
+ $kostenstellen->getAll();
+
+ foreach ($kostenstellen->result as $item)
+ {
+ $kostenstelleArray[$item->kostenstelle_id] = $item->bezeichnung.' ('.$item->kostenstelle_id.')';
+ }
+
+ $oeArray = array();
+ $oes = new organisationseinheit();
+ $oes->getAll();
+
+ foreach ($oes->result as $item)
+ {
+ $oeArray[$item->oe_kurzbz] = $item->organisationseinheittyp_kurzbz.' '.$item->bezeichnung;
+ }
+ $heute = strtotime(date('Y-m-d'));
+
+ echo '
+
+ | Funktion |
+ Rolle |
+ Recht |
+ Art |
+ Organisationseinheit |
+ Kostenstelle |
+ Gültig ab |
+ Gültig bis |
+ Status |
+
';
+ foreach ($rechte->berechtigungen AS $key)
+ {
+
+ if ($key->ende!='' && strtotime($key->ende) < $heute)
+ {
+ $titel="Inaktiv";
+ }
+ elseif ($key->start!='' && strtotime($key->start) > $heute)
+ {
+ $titel="Wartend";
+ }
+ else
+ {
+ $titel="Aktiv";
+ }
+ echo '';
+ echo '| '.($key->funktion_kurzbz != '' ? $funktionsArray[$key->funktion_kurzbz] : '').' | ';
+ echo ''.($key->rolle_kurzbz != '' ? $key->rolle_kurzbz : '').' | ';
+ echo ''.($key->berechtigung_kurzbz != '' ? $key->berechtigung_kurzbz : '').' | ';
+ echo ''.($key->art != '' ? $key->art : '').' | ';
+ echo ''.($key->oe_kurzbz != '' ? $oeArray[$key->oe_kurzbz] : '').' | ';
+ echo ''.($key->kostenstelle_id != '' ? $kostenstelleArray[$key->kostenstelle_id] : '').' | ';
+ echo ''.($key->start != '' ? $key->start : '').' | ';
+ echo ''.($key->ende != '' ? $key->ende : '').' | ';
+ echo ''.$titel.' | ';
+ echo '
';
+ }
+ echo '
';
+
+ ?>
+
+
+
diff --git a/vilesci/stammdaten/benutzerberechtigung_details.php b/vilesci/stammdaten/benutzerberechtigung_details.php
index 1cc1593e0..ac7c2d355 100644
--- a/vilesci/stammdaten/benutzerberechtigung_details.php
+++ b/vilesci/stammdaten/benutzerberechtigung_details.php
@@ -65,7 +65,7 @@ $rechte = new benutzerberechtigung();
$rechte->getBerechtigungen($user);
if (!$db = new basis_db())
- die($p->t("global/fehlerBeimOeffnenDerDatenbankverbindung"));
+ die('Fehler beim öffnen der Datenbankverbindung');
if(!$rechte->isBerechtigt('basis/berechtigung'))
die('Sie haben keine Berechtigung fuer diese Seite');
@@ -554,14 +554,7 @@ if (isset($_REQUEST['uid']) || isset($_REQUEST['funktion_kurzbz']))
}
}
$htmlstr .= ' '.$message.'
';
- //$htmlstr .= "".$errorstr."
".$successstr."
";
- //Formular zum Kopieren von Berechtigungen
- //$htmlstr .= "";
$i = 0;
// Zusätzlich jede Funktion mit einer gültigen Berechtigung anzeigen
@@ -605,6 +598,10 @@ if (isset($_REQUEST['uid']) || isset($_REQUEST['funktion_kurzbz']))
$htmlstr .= '
';
}
}
+ if (count($bn) > 0)
+ {
+ $htmlstr .= "Detailliste Rechte
";
+ }
}
elseif(isset($_REQUEST['funktion_kurzbz']) && $_REQUEST['funktion_kurzbz']!='')
{
@@ -784,29 +781,32 @@ if (isset($_REQUEST['uid']) || isset($_REQUEST['funktion_kurzbz']))
if ($b->ende!='' && strtotime($b->ende) < $heute)
{
$titel="ccc";
- $style = 'style="border-left: 10px solid tomato; border-right: 10px solid transparent; text-align: center; vertical-align: middle"';
+ $style = 'style="border-left: 10px solid tomato; border-right: 10px solid transparent; text-align: center; vertical-align: middle; background-color: #d0d7e0;"';
+ $inaktiv_style = 'style="background-color: #d0d7e0;"';
$data = 'rot';
}
elseif ($b->start!='' && strtotime($b->start) > $heute)
{
$titel="bbb";
$style = 'style="border-left: 10px solid gold; border-right: 10px solid transparent; text-align: center; vertical-align: middle"';
+ $inaktiv_style = '';
$data = 'gelb';
}
else
{
$titel="aaa";
$style = 'style="border-left: 10px solid LightGreen; border-right: 10px solid transparent; text-align: center; vertical-align: middle"';
+ $inaktiv_style = '';
$data = 'gruen';
}
// Auswahlcheckbox
- $htmlstr .= " ";
+ $htmlstr .= " | ";
$htmlstr .= " ".$titel."";
$htmlstr .= " ";
$htmlstr .= " | ";
//Rolle
- $htmlstr .= " ";
+ $htmlstr .= " | ";
$htmlstr .= " | ";
//Berechtigung
- $htmlstr .= " ";
+ $htmlstr .= " | ";
$htmlstr .= " ".$b->berechtigung_kurzbz."";
$htmlstr .= " art."";
$htmlstr .= " ";
$htmlstr .= " | ";
@@ -858,11 +858,11 @@ if (isset($_REQUEST['uid']) || isset($_REQUEST['funktion_kurzbz']))
//Organisationseinheit
if($funktion_kurzbz != '')
{
- $htmlstr .= " OE aus MA-Funktion | ";
+ $htmlstr .= " OE aus MA-Funktion | ";
}
else
{
- $htmlstr .= " ";
+ $htmlstr .= " | ";
$htmlstr .= " ".($b->oe_kurzbz != '' ? $oe_arr[$b->oe_kurzbz] : '')."";
$htmlstr .= " ";
$htmlstr .= " oe_kurzbz] : '')."'>";
@@ -870,7 +870,7 @@ if (isset($_REQUEST['uid']) || isset($_REQUEST['funktion_kurzbz']))
}
//Kostenstelle
- $htmlstr .= " | ";
+ $htmlstr .= " | ";
$htmlstr .= " ".$b->kostenstelle_id."";
$htmlstr .= " ";
$htmlstr .= " kostenstelle_id] : '')."'>";
@@ -897,24 +897,24 @@ if (isset($_REQUEST['uid']) || isset($_REQUEST['funktion_kurzbz']))
$htmlstr .= " | ";*/
//Negativ-Checkbox
- $htmlstr .= " ";
+ $htmlstr .= " | ";
$htmlstr .= " negativ?'checked="checked"':'').">";
$htmlstr .= " | ";
//Gültig ab
- $htmlstr .= " ";
+ $htmlstr .= " | ";
$htmlstr .= " ".$b->start."";
$htmlstr .= " ";
$htmlstr .= " | ";
// Gültig bis
- $htmlstr .= " ";
+ $htmlstr .= " | ";
$htmlstr .= " ".$b->ende."";
$htmlstr .= " ";
$htmlstr .= " | ";
//Anmerkung
- $htmlstr .= " ";
+ $htmlstr .= " | ";
$htmlstr .= "
| ";
- $htmlstr .= " ";
+ $htmlstr .= " | ";
$htmlstr .= " |