diff --git a/vilesci/personen/zeitwunsch.php b/vilesci/personen/zeitwunsch.php
index 8e365fb68..520bb5e4d 100644
--- a/vilesci/personen/zeitwunsch.php
+++ b/vilesci/personen/zeitwunsch.php
@@ -56,7 +56,7 @@ $uid_benutzer = get_uid();
$rechte = new benutzerberechtigung();
$rechte->getBerechtigungen($uid_benutzer);
-if(!$rechte->isBerechtigt('mitarbeiter', null, 's'))
+if(!$rechte->isBerechtigt('mitarbeiter/zeitwuensche', null, 's'))
die($rechte->errormsg);
$datum_obj = new datum();
diff --git a/vilesci/stammdaten/benutzerberechtigung_details.php b/vilesci/stammdaten/benutzerberechtigung_details.php
index b230d702f..d1f88102d 100644
--- a/vilesci/stammdaten/benutzerberechtigung_details.php
+++ b/vilesci/stammdaten/benutzerberechtigung_details.php
@@ -38,6 +38,8 @@ require_once('../../include/benutzer.class.php');
require_once('../../include/funktion.class.php');
require_once('../../include/wawi_kostenstelle.class.php');
require_once('../../include/log.class.php');
+require_once('../../include/mitarbeiter.class.php');
+require_once('../../include/datum.class.php');
/*
* TODOs
@@ -60,6 +62,7 @@ BEschreibungstexte bestehender Rechte
*/
$user = get_uid();
+$datum = new datum();
$rechte = new benutzerberechtigung();
$rechte->getBerechtigungen($user);
@@ -68,7 +71,14 @@ if (!$db = new basis_db())
die('Fehler beim öffnen der Datenbankverbindung');
if(!$rechte->isBerechtigt('basis/berechtigung'))
- die('Sie haben keine Berechtigung fuer diese Seite');
+ die($rechte->errormsg);
+
+$mitarbeiter = new mitarbeiter($user);
+$userKuerzel = $user;
+if ($mitarbeiter->kurzbz != '')
+{
+ $userKuerzel = $mitarbeiter->kurzbz;
+}
//$reloadstr = ''; // neuladen der liste im oberen frame
$htmlstr = '';
@@ -104,7 +114,27 @@ if(isset($_POST['delete']) && $_POST['delete'] != '')
$ber = new benutzerberechtigung();
if(!$ber->delete($benutzerberechtigung_id))
+ {
$errorstr .= 'Datensatz konnte nicht gelöscht werden!';
+ }
+ else
+ {
+ //Log schreiben
+ $log = new log();
+
+ $logdata = var_export((array) $ber, true);
+ $log->new = true;
+ $log->sql = $logdata;
+ $log->sqlundo = 'Kein Undo vorhanden';
+ $log->executetime = date('Y-m-d H:i:s');
+ $log->mitarbeiter_uid = $user;
+ $log->beschreibung = 'Berechtigung gelöscht';
+
+ if(!$log->save())
+ {
+ $errorstr .= "Fehler beim schreiben des Log-Eintrags
";
+ }
+ }
//$reloadstr .= "";
+
+}
+
+if(isset($_POST['save_anmerkung_multi']) && $_POST['anmerkung_multi'] != '')
+{
+ if(!$rechte->isBerechtigt('basis/berechtigung', null, 'su'))
+ die($rechte->errormsg);
+
+ $anmerkungNeu = $_POST['anmerkung_multi'];
+
+ if (isset($_POST['dataset']))
+ {
+ $i = 0;
+ foreach ($_POST['dataset'] AS $benutzerberechtigung_id => $value)
+ {
+ // Nur markierte Einträge bearbeiten
+ if (!isset($value['check']))
+ {
+ continue;
+ }
+
+ $ber = new benutzerberechtigung();
+ if(!$ber->load($benutzerberechtigung_id))
+ {
+ die('Fehler beim Laden der Berechtigung');
+ }
+
+ // Bestehende Anmerkungen belassen und neue Ergänzen
+ if ($ber->anmerkung != '')
+ {
+ $ber->anmerkung = $ber->anmerkung.'; '.$anmerkungNeu;
+ }
+ else
+ {
+ $ber->anmerkung = $anmerkungNeu;
+ }
+
+ // Wenn Anmerkung länger als 256 Zeichen ist (DB-Beschränkung), String kürzen und Warnung ausgeben
+ if (strlen($ber->anmerkung) > 256)
+ {
+ $ber->anmerkung = cutString($ber->anmerkung, 256, '...');
+ $errorstr .= "Die Anmerkung bei der ID ".$benutzerberechtigung_id." übersteigt die maximale Länge von 256 Zeichen und wurde nicht vollständig gespeichert
";
+ }
+
+ $ber->updateamum = date('Y-m-d H:i:s');
+ $ber->updatevon = $user;
+
+ if(!$ber->save())
+ {
+ $errorstr .= "Die Anmerkung des Datensatzes mit der ID ".$benutzerberechtigung_id." konnte nicht gespeichert werden!".$ber->errormsg;
+ }
+ else
+ {
+ $i ++;
+ //Log schreiben
+ $log = new log();
+
+ $logdata = var_export((array) $ber, true);
+ $log->new = true;
+ $log->sql = $logdata;
+ $log->sqlundo = 'Kein Undo vorhanden';
+ $log->executetime = date('Y-m-d H:i:s');
+ $log->mitarbeiter_uid = $user;
+ $log->beschreibung = 'Anmerkung bearbeitet';
+
+ if(!$log->save())
+ {
+ $errorstr .= "Fehler beim schreiben des Log-Eintrags
";
+ }
+ }
+ }
+ if ($i > 0)
+ {
+ $successstr .= "Anmerkung bei ".$i." Einträgen erfolgreich gespeichert
";
+ }
+ }
+
+
+
//$reloadstr .= "";
@@ -424,6 +542,10 @@ if(isset($_POST['schick']))
}
}
}
+ if ($errorstr == '')
+ {
+ $successstr .= "Änderungen erfolgreich gespeichert
";
+ }
}
}
else
@@ -503,14 +625,16 @@ $oe = new organisationseinheit();
$oe->getAll();
foreach ($oe->result AS $row)
{
- $oe_arr[$row->oe_kurzbz] = $row->organisationseinheittyp_kurzbz.' '.$row->bezeichnung;
+ $oe_arr[$row->oe_kurzbz]['bezeichnung'] = $row->organisationseinheittyp_kurzbz.' '.$row->bezeichnung;
+ $oe_arr[$row->oe_kurzbz]['aktiv'] = $row->aktiv;
}
$kostenstelle = new wawi_kostenstelle();
$kostenstelle->getAll();
foreach ($kostenstelle->result AS $row)
{
- $kst_arr[$row->kostenstelle_id] = $row->bezeichnung;
+ $kst_arr[$row->kostenstelle_id]['bezeichnung'] = $row->bezeichnung;
+ $kst_arr[$row->kostenstelle_id]['aktiv'] = $row->aktiv;
}
if (isset($_REQUEST['uid']) || isset($_REQUEST['funktion_kurzbz']))
@@ -536,23 +660,27 @@ if (isset($_REQUEST['uid']) || isset($_REQUEST['funktion_kurzbz']))
$name = new benutzer();
$name->load($uid);
- $htmlstr .= "Berechtigungen von ".$name->nachname." ".$name->vorname." (".$uid.")";
+ $htmlstr .= "Berechtigungen von ".$name->nachname." ".$name->vorname." (".$uid.") Zum CIS-Profil";
+
$message = '';
$class = '';
+ $messageString = '';
if ($errorstr != '' || $successstr != '')
{
if ($successstr != '')
{
$class = 'class="alert alert-success"';
$message = $successstr;
+ $messageString .= '