From c87ae7e74d7133da065ba011efaa1e63f592df07 Mon Sep 17 00:00:00 2001 From: kindlm Date: Wed, 6 Dec 2023 18:06:46 +0100 Subject: [PATCH 1/5] Suche Person in OE; OE in Rechteliste OE-Suche --- .../benutzerberechtigung_uebersicht.php | 284 +++++++++++++----- 1 file changed, 213 insertions(+), 71 deletions(-) diff --git a/vilesci/stammdaten/benutzerberechtigung_uebersicht.php b/vilesci/stammdaten/benutzerberechtigung_uebersicht.php index 0be268b70..95ea75082 100644 --- a/vilesci/stammdaten/benutzerberechtigung_uebersicht.php +++ b/vilesci/stammdaten/benutzerberechtigung_uebersicht.php @@ -29,17 +29,20 @@ require_once('../../include/benutzer.class.php'); require_once('../../include/berechtigung.class.php'); require_once ('../../include/organisationseinheit.class.php'); require_once ('../../include/benutzerfunktion.class.php'); +require_once ('../../include/funktion.class.php'); echo ' Berechtigungen Uebersicht -'; + +'; include('../../include/meta/jquery.php'); include('../../include/meta/jquery-tablesorter.php'); echo ' + diff --git a/vilesci/stammdaten/berechtigungrolle.php b/vilesci/stammdaten/berechtigungrolle.php index 7e87a4901..0ae4a3064 100644 --- a/vilesci/stammdaten/berechtigungrolle.php +++ b/vilesci/stammdaten/berechtigungrolle.php @@ -32,10 +32,11 @@ $rechte->getBerechtigungen($user); if(!$rechte->isBerechtigt('basis/berechtigung')) die('Sie habe keine Rechte um diese Seite anzuzeigen'); - +//echo '
', var_dump($_POST), '
';exit(); $rolle_kurzbz = filter_input(INPUT_GET, 'rolle_kurzbz'); $delete = filter_input(INPUT_GET, 'delete', FILTER_VALIDATE_BOOLEAN); $copy = filter_input(INPUT_POST, 'copy'); +$saveRecht = isset($_POST['action']) && $_POST['action'] == 'saveRechtAjax' ? true : false; $vergleich = filter_input(INPUT_GET, 'vergleich'); ?> @@ -157,13 +158,87 @@ $vergleich = filter_input(INPUT_GET, 'vergleich'); else return true; } + + function saveRecht(rolle_kurzbz, recht, art) + { + data = { + action: 'saveRechtAjax', + rolle_ajax: rolle_kurzbz, + recht_ajax: recht, + art_ajax: art + }; + + $.ajax({ + url: 'berechtigungrolle.php', + data: data, + type: 'POST', + dataType: "json", + success: function(data) + { + if(data.status!='ok') + { + //error + console.log('error'); + } + else + { + html = ''+recht+''+art+''; + console.log('#'+rolle_kurzbz+'_'+recht); + $('#'+rolle_kurzbz+'_'+recht).html(html); + } + }, + error: function(data) + { + //error + console.log('error2'); + } + }); + } + rolle_kurzbz = $rolle_kurzbz; + $berechtigung->berechtigung_kurzbz = $recht; + $berechtigung->art = $art; + $berechtigung->insertamum = date('Y-m-d H:i:s'); + $berechtigung->insertvon = $user; + + if($berechtigung->saveRolleBerechtigung()) + { + echo json_encode(array( + 'status' => 'ok', + 'msg' => '' + )); + exit(); + } + else + { + echo json_encode(array( + 'status' => 'error', + 'msg' => 'Fehler beim Speichern der Rolle' + )); + exit(); + } + } + if(isset($rolle_kurzbz)) { echo '

Berechtigungen der Rolle "'.$rolle_kurzbz.'"

'; @@ -335,35 +410,46 @@ $vergleich = filter_input(INPUT_GET, 'vergleich'); Kurzbz Art +   '; foreach ($rollenGesamt AS $recht => $art) { - if (array_key_exists($recht, $rollen1Arr)) + if (array_key_exists($recht, $rollen1Arr) || !array_key_exists($recht, $rollen2Arr)) { if ($art != $rollen1Arr[$recht]) { - echo ' - '.$recht.' - '.$rollen1Arr[$recht].' + echo ' + '.$recht.' + '.$rollen1Arr[$recht].' + + '; + } + elseif (!array_key_exists($recht, $rollen2Arr)) + { + echo ' + '.$recht.' + '.$art.' + '; } else { - echo ' - '.$recht.' - '.$art.' + echo ' + '.$recht.' + '.$art.' + '; } - } else { - echo ' -   -   + echo ' +   +   + '; } } @@ -395,6 +481,7 @@ $vergleich = filter_input(INPUT_GET, 'vergleich'); echo ' + @@ -402,28 +489,39 @@ $vergleich = filter_input(INPUT_GET, 'vergleich'); '; foreach ($rollenGesamt AS $recht => $art) { - if (array_key_exists($recht, $rollen2Arr)) + if (array_key_exists($recht, $rollen2Arr) || !array_key_exists($recht, $rollen1Arr)) { if ($art != $rollen2Arr[$recht]) { - echo ' - - + echo ' + + + + '; + } + elseif (!array_key_exists($recht, $rollen1Arr)) + { + echo ' + + + '; } else { - echo ' - - + echo ' + + + '; } } else { - echo ' - - + echo ' + + + '; } } From 238208f2525c0a1f7ecd403435b03ad6c8f12971 Mon Sep 17 00:00:00 2001 From: kindlm Date: Mon, 5 Feb 2024 16:39:53 +0100 Subject: [PATCH 4/5] =?UTF-8?q?Zeitw=C3=BCnsche=20mit=20mitarbeiter/zeitwu?= =?UTF-8?q?ensche=20einsehen?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- vilesci/personen/zeitwunsch.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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(); From d9caf746a17fb4868d2956a3b4fc80ff7bd3e1bf Mon Sep 17 00:00:00 2001 From: kindlm Date: Thu, 14 Mar 2024 16:39:01 +0100 Subject: [PATCH 5/5] Rechte-GUI verbesserungen MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Inaktive und WaWi-Einträge ausgblenden - Kopie-Anmerkung verkürzt - Inaktive OE Kennzeichnen - Link ins CIS-Profil - Shortcut zum einfügen von Datum und Kürzel - "Mitarbeiter" ist default bei Benutzersuche - GUI-Verbesserungen bei Rollenvergleich --- .../benutzerberechtigung_details.php | 197 +++++++++++++----- .../benutzerberechtigung_uebersicht.php | 22 +- vilesci/stammdaten/berechtigungrolle.php | 76 +++++-- 3 files changed, 223 insertions(+), 72 deletions(-) diff --git a/vilesci/stammdaten/benutzerberechtigung_details.php b/vilesci/stammdaten/benutzerberechtigung_details.php index 62afdaa04..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 .= " @@ -1425,12 +1473,31 @@ if (isset($_REQUEST['uid']) || isset($_REQUEST['funktion_kurzbz'])) { display: none; } - .multi-options - { - display: none; - } + /*.multi-options*/ + /*{*/ + /* display: none;*/ + /*}*/
  Kurzbz Art
'.$recht.''.$rollen2Arr[$recht].'
'.$recht.''.$rollen2Arr[$recht].'
'.$recht.''.$art.'
'.$recht.''.$art.'
 '.$recht.''.$art.'