Neues Recht "basis/vilesci" als Grundrecht, um Vilesci überhaupt öffnen zu können.

checksystem.php: Jeder User und jede Funktion, der bisher ein (gültiges) schreibrecht in Vilesci hatte, erhält das Recht basis/vilesci wenn er aktiv ist.
lehre/lehrveranstaltung_details.php: Benutzerberechtigungen hinzugefügt
benutzerberechtigung_details.php: Grundlegende Überarbeitung des Skripts
vilesci_menu_main.inc.php: "Rollen" ins Menü eingefügt und nicht mehr innerhalb der Rechteverwaltung
benutzer.class.php: Optionaler Parameter "aktiv" bei funktion "search"
benutzerberechtigung.class.php: ORDER BY bei Funktion loadBenutzerRollen
sprache.class.php: Tippfehler ausgebessert
index.php: Flexcroll entfernt
This commit is contained in:
Manfred Kindl
2014-05-14 15:07:32 +00:00
parent 3ac1c78cb8
commit 08ab82f610
10 changed files with 277 additions and 157 deletions
-4
View File
@@ -113,8 +113,6 @@ $num_rows_lektor=$db->db_num_rows($result_lektor);*/
<title>Lehrveranstaltungsplan</title>
<link href="../../../skin/style.css.php" rel="stylesheet" type="text/css">
<link href="../../../skin/jquery-ui-1.9.2.custom.min.css" rel="stylesheet" type="text/css">
<link href="../../../skin/flexcrollstyles.css" rel="stylesheet" type="text/css" />
<script src="../../../include/js/flexcroll.js" type="text/javascript" ></script>
<script src="../../../include/js/jquery1.9.min.js" type="text/javascript"></script>
<script type="text/javascript" language="JavaScript">
@@ -184,7 +182,6 @@ $(document).ready(function()
</head>
<body id="inhalt">
<div class="flexcroll" style="outline: none;">
<h1><?php echo $p->t("lvplan/lehrveranstaltungsplan");?></h1>
<table class="cmstable" cellspacing="0" cellpadding="0">
<tbody>
@@ -409,6 +406,5 @@ $(document).ready(function()
</tr>
</tbody>
</table>
</div>
</body>
</html>
+10 -5
View File
@@ -290,11 +290,12 @@ class benutzer extends person
}
/**
* Sucht nach Benutzern. Limit optional.
* Sucht nach Benutzern. Limit optional. Aktiv optional.
*
* @param $limit (optional)
* @param $aktiv (optional). Default true. Wenn false werden nur inaktive benutzer geladen, wenn null dann alle
*/
public function search($searchItems, $limit=null)
public function search($searchItems, $limit=null, $aktiv=true)
{
$qry = "SELECT * FROM (SELECT
distinct on (uid) vorname, nachname, uid, mitarbeiter_uid, titelpre, titelpost, lektor, fixangestellt, alias,
@@ -317,9 +318,13 @@ class benutzer extends person
public.tbl_person
JOIN public.tbl_benutzer USING(person_id)
LEFT JOIN public.tbl_mitarbeiter ON(uid=mitarbeiter_uid)
WHERE
tbl_benutzer.aktiv
AND (";
WHERE";
if(is_null($aktiv))
$qry.=" (";
elseif($aktiv==true)
$qry.=" tbl_benutzer.aktiv=true AND (";
elseif($aktiv==false)
$qry.=" tbl_benutzer.aktiv=false AND (";
$qry.=" lower(vorname || ' ' || nachname) like lower('%".addslashes(implode(' ',$searchItems))."%')";
$qry.=" OR lower(nachname || ' ' || vorname) like lower('%".addslashes(implode(' ',$searchItems))."%')";
+1 -1
View File
@@ -300,7 +300,7 @@ class benutzerberechtigung extends basis_db
$this->errormsg = 'Entweder UID oder funktion_kurzbz muss uebergeben werden';
return false;
}
$qry.= " ORDER BY rolle_kurzbz,berechtigung_kurzbz";
if($this->db_query($qry))
{
while($row = $this->db_fetch_object())
+1 -1
View File
@@ -50,7 +50,7 @@ class sprache extends basis_db
/**
*
* Lädt die Sprache der
* Lädt die Sprache
* @param $sprache die geladen werden soll
* @return true bei Erfolg, false wenn ein Fehler aufgetreten ist
*/
+2
View File
@@ -133,6 +133,7 @@ $menu=array
'name'=>'Benutzer','permissions'=>array('admin','lv-plan','support'),
'Funktionen'=>array('name'=>'Funktionen', 'link'=>'personen/funktion.php', 'target'=>'main'),
'Berechtigungen'=>array('name'=>'Berechtigungen', 'link'=>'stammdaten/benutzerberechtigung_frameset.html', 'target'=>'main','permissions'=>array('basis/berechtigung')),
'Rollen'=>array('name'=>'Rollen', 'link'=>'stammdaten/berechtigungrolle.php', 'target'=>'main','permissions'=>array('basis/berechtigung')),
'Variablen'=>array('name'=>'Variablen', 'link'=>'stammdaten/variablen_frameset.html', 'target'=>'main', 'target'=>'main','permissions'=>array('basis/variable')),
),
'Mitarbeiter'=>array
@@ -165,6 +166,7 @@ $menu=array
(
'name'=>'User', 'permissions'=>array('basis/variable','basis/berechtigung'),
'Berechtigungen'=>array('name'=>'Berechtigungen', 'link'=>'stammdaten/benutzerberechtigung_frameset.html', 'target'=>'main','permissions'=>array('basis/berechtigung')),
'Rollen'=>array('name'=>'Rollen', 'link'=>'stammdaten/berechtigungrolle.php', 'target'=>'main','permissions'=>array('basis/berechtigung')),
'Variablen'=>array('name'=>'Variablen', 'link'=>'stammdaten/variablen_frameset.html', 'target'=>'main', 'target'=>'main','permissions'=>array('basis/variable')),
),
/*'Kommunikation'=>array
+28
View File
@@ -1943,6 +1943,7 @@ $berechtigungen = array(
array('basis/studiengang','Studiengangsverwaltung'),
array('basis/testtool','Administrationseite, Gebiete löschen/zurücksetzen'),
array('basis/variable','Variablenverwaltung'),
array('basis/vilesci','Grundrecht, um in VileSci irgendwelche Menüpunkte zu sehen'),
array('inout/incoming','Incomingverwaltung'),
array('inout/outgoing','Outgoingverwaltung'),
array('inout/uebersicht','Verbandsanzeige fuer Incoming/Outgoing im FAS'),
@@ -2029,6 +2030,33 @@ foreach($berechtigungen as $row)
echo '<br>'.$row[$berechtigung_kurzbz].'/'.$row[$beschreibung].' hinzugefügt';
else
echo '<br><span class="error">Fehler: '.$row[$berechtigung_kurzbz].'/'.$row[$beschreibung].' hinzufügen nicht möglich</span>';
//Wenn das Recht basis/vilesci neu angelegt wurde, dann dieses Recht jedem geben, der bisher auch Zugriff auf Vilesci hatte.
if ($row[$berechtigung_kurzbz]=='basis/vilesci')
{
$qry_userrecht="SELECT DISTINCT uid, funktion_kurzbz
FROM system.tbl_benutzerrolle
LEFT JOIN public.tbl_benutzer USING (uid)
WHERE berechtigung_kurzbz IN ('admin','support','preinteressent','lehre','basis/statistik','basis/fhausweis','wawi/inventar','assistenz','lv-plan')
AND (tbl_benutzerrolle.ende>=now() OR tbl_benutzerrolle.ende IS NULL)
AND (tbl_benutzerrolle.start<=now() OR tbl_benutzerrolle.start IS NULL)
AND (tbl_benutzer.aktiv=true OR tbl_benutzerrolle.uid IS NULL) ORDER BY uid";
if($result_insert_userrecht = $db->db_query($qry_userrecht))
{
while ($row_user=$db->db_fetch_object($result_insert_userrecht))
{
$qry_insert_userrecht=" INSERT INTO system.tbl_benutzerrolle (rolle_kurzbz, berechtigung_kurzbz, uid, funktion_kurzbz, oe_kurzbz, art, studiensemester_kurzbz, start, ende, negativ, updateamum, updatevon, insertamum, insertvon, kostenstelle_id)
VALUES (NULL, 'basis/vilesci', ".($row_user->funktion_kurzbz!=""?"NULL,".$db->db_add_param($row_user->funktion_kurzbz):$db->db_add_param($row_user->uid).",NULL").", NULL, 's', NULL, NULL, NULL, FALSE, NULL, NULL, now(), 'checksystem', NULL)";
if($db->db_query($qry_insert_userrecht))
echo '<br>Recht "basis/vilesci" an '.$row_user->uid.' '.($row_user->funktion_kurzbz!=''?'Funktion '.$row_user->funktion_kurzbz:'').' vergeben';
else
echo '<br><span class="error">Fehler: Recht "basis/vilesci" konnte nicht an '.$row_user->uid.' '.($row_user->funktion_kurzbz!=''?'Funktion '.$row_user->funktion_kurzbz:'').' vergeben werden</span>';
}
}
}
}
}
}
+20 -2
View File
@@ -19,13 +19,15 @@
* Andreas Oesterreicher < andreas.oesterreicher@technikum-wien.at >
* Rudolf Hangl < rudolf.hangl@technikum-wien.at >
* Gerald Simane-Sequens < gerald.simane-sequens@technikum-wien.at >
* Stefan Puraner < puraner@technikum-wien.at >
* Stefan Puraner < puraner@technikum-wien.at >
* Manfred Kindl < manfred.kindl@technikum-wien.at >
*/
require_once('../../config/vilesci.config.inc.php');
require_once('../../include/functions.inc.php');
require_once('../../include/lehrveranstaltung.class.php');
require_once('../../include/studiengang.class.php');
require_once('../../include/lehrtyp.class.php');
require_once('../../include/benutzerberechtigung.class.php');
if (!$db = new basis_db())
die('Es konnte keine Verbindung zum Server aufgebaut werden.');
@@ -40,9 +42,17 @@
$stg_arr = array();
$sprache_arr = array();
$lehrform_arr = array();
$rechte = new benutzerberechtigung();
$rechte->getBerechtigungen($user);
if(!$rechte->isBerechtigt('lehre/lehrveranstaltung:begrenzt',null,'s'))
die('Sie haben keine Berechtigung fuer diese Seite');
if(isset($_POST["schick"]))
{
if(!$rechte->isBerechtigt('lehre/lehrveranstaltung',null,'sui'))
die('Sie haben keine Berechtigung fuer diese Aktion');
$lv = new lehrveranstaltung();
if(isset($_POST['lv_id']) && $_POST['lv_id']!='')
@@ -321,7 +331,15 @@
$selected='selected';
else
$selected='';
$htmlstr .= '<option value="'.$row->oe_kurzbz.'" '.$selected.'>'.$row->organisationseinheittyp_kurzbz.' '.$row->bezeichnung.'</option>';
if($row->aktiv=='f')
{
$htmlstr .= '<option value="'.$row->oe_kurzbz.'" '.$selected.' style="color: red;">'.$row->organisationseinheittyp_kurzbz.' '.$row->bezeichnung.'</option>';
}
else
{
$htmlstr .= '<option value="'.$row->oe_kurzbz.'" '.$selected.'>'.$row->organisationseinheittyp_kurzbz.' '.$row->bezeichnung.'</option>';
}
}
}
$htmlstr .= '</select></td>
@@ -19,6 +19,7 @@
* Andreas Oesterreicher < andreas.oesterreicher@technikum-wien.at >
* Rudolf Hangl < rudolf.hangl@technikum-wien.at >
* Gerald Simane-Sequens < gerald.simane-sequens@technikum-wien.at >
* Manfred Kindl <manfred.kindl@technikum-wien.at>
*/
/**
* Detailseite zum Zuweisen von Berechtigungen zu Benutzern
@@ -44,7 +45,7 @@ $rechte->getBerechtigungen($user);
if(!$rechte->isBerechtigt('basis/berechtigung'))
die('Sie haben keine Berechtigung fuer diese Seite');
$reloadstr = ''; // neuladen der liste im oberen frame
//$reloadstr = ''; // neuladen der liste im oberen frame
$htmlstr = '';
$errorstr = ''; //fehler beim insert
$sel = '';
@@ -53,6 +54,7 @@ $oe_arr = array();
$rolle_arr = array();
$berechtigung_arr = array();
$st_arr = array();
$berechtigung_user_arr = array();
$benutzerberechtigung_id = '';
$art = '';
@@ -78,9 +80,9 @@ if(isset($_POST['del']))
if(!$ber->delete($benutzerberechtigung_id))
$errorstr .= 'Datensatz konnte nicht gel&ouml;scht werden!';
$reloadstr .= "<script type='text/javascript'>\n";
$reloadstr .= " parent.uebersicht.location.href='benutzerberechtigung_uebersicht.php';";
$reloadstr .= "</script>\n";
//$reloadstr .= "<script type='text/javascript'>\n";
//$reloadstr .= " parent.uebersicht.location.href='benutzerberechtigung_uebersicht.php';";
//$reloadstr .= "</script>\n";
}
@@ -137,12 +139,12 @@ if(isset($_POST['schick']))
else
$errorstr .= "Datensatz konnte nicht gespeichert werden!".$ber->errormsg;
}
if ($ber->new)
/*if ($ber->new)
{
$reloadstr .= "<script type='text/javascript'>\n";
$reloadstr .= " parent.uebersicht.location.href='benutzerberechtigung_uebersicht.php';";
$reloadstr .= "</script>\n";
}
}*/
}
else
{
@@ -158,13 +160,14 @@ foreach($b->result as $berechtigung)
{
$rolle_arr[] = $berechtigung->rolle_kurzbz;
}
sort($rolle_arr);
$b->getBerechtigungen();
foreach($b->result as $berechtigung)
{
$berechtigung_arr[] = $berechtigung->berechtigung_kurzbz;
$berechtigung_beschreibung_arr[] = $berechtigung->beschreibung;
}
//var_dump($berechtigung_arr);
$st = new studiensemester();
$st->getAll();
foreach($st->studiensemester as $studiensemester)
@@ -187,11 +190,22 @@ if (isset($_REQUEST['uid']) || isset($_REQUEST['funktion_kurzbz']))
{
$uid = $_REQUEST['uid'];
$bn = new benutzerberechtigung();
$bn->getBerechtigungen($uid);
foreach($bn->berechtigungen as $berechtigung)
{
$berechtigung_user_arr[] = $berechtigung->berechtigung_kurzbz;
}
//$berechtigung_user_arr[] = array_unique($berechtigung_user_arr[]);
//var_dump($berechtigung_user_arr);
$ben = new benutzer();
if (!$ben->load($uid))
die('Benutzer existiert nicht');
$rights->loadBenutzerRollen($uid);
$name = new benutzer();
$name->load($uid);
$htmlstr .= "Berechtigungen von <b>".$name->nachname." ".$name->vorname." (".$uid.")</b>\n";
}
elseif(isset($_REQUEST['funktion_kurzbz']) && $_REQUEST['funktion_kurzbz']!='')
{
@@ -202,32 +216,32 @@ if (isset($_REQUEST['uid']) || isset($_REQUEST['funktion_kurzbz']))
die('Funktion existiert nicht');
$rights->loadBenutzerRollen(null, $funktion_kurzbz);
$htmlstr .= "Berechtigungen der Funktion <b>".$funktion->beschreibung."</b>\n";
}
$htmlstr .= "Berechtigungen <b>".$uid.$funktion_kurzbz."</b>\n";
$htmlstr .= '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Filter:
//$htmlstr .= "Berechtigungen von <b>".$name->nachname." ".$name->vorname." (".$uid.")".$funktion_kurzbz."</b>\n";
/*$htmlstr .= '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Filter:
<a href="benutzerberechtigung_details.php?filter=alle&amp;uid='.$uid.'&amp;funktion_kurzbz='.$funktion_kurzbz.'" '.($filter=='alle'?'style="font-weight:bold"':'').'>Alle</a>
| <a href="benutzerberechtigung_details.php?filter=wawi&amp;uid='.$uid.'&amp;funktion_kurzbz='.$funktion_kurzbz.'" '.($filter=='wawi'?'style="font-weight:bold"':'').'>nur WaWi</a>
| <a href="benutzerberechtigung_details.php?filter=ohnewawi&amp;uid='.$uid.'&amp;funktion_kurzbz='.$funktion_kurzbz.'" '.($filter=='ohnewawi'?'style="font-weight:bold"':'').'>ohne WaWi</a>
';
$htmlstr .= "<table class='detail' style='padding-top:10px;'>\n";
$htmlstr .= "<tr></tr>\n";
';*/
$htmlstr .= "<table id='t1' class='tablesorter'>\n";
$htmlstr .= "<thead><tr></tr>\n";
$htmlstr .= "<tr>
<td>Rolle</td>
<td>Berechtigung</td>
<td>Art</td>
<td>Organisationseinheit</td>
<td>Kostenstelle</td>
<td>Semester</td>
<td>Neg</td>
<td>Start</td>
<td>Ende</td>
<td></td>
<td></td>
<td></td>
</tr>\n";
<th>Rolle</th>
<th>Berechtigung</th>
<th>Art</th>
<th>Organisationseinheit</th>
<th>Kostenstelle</th>
<!--<th>Semester</th>-->
<th>Neg</th>
<th>Gültig ab</th>
<th>Gültig bis</th>
<th></th>
<th></th>
<!--<th></th>-->
</tr></thead><tbody>\n";
foreach($rights->berechtigungen as $b)
{
switch($filter)
@@ -243,44 +257,47 @@ if (isset($_REQUEST['uid']) || isset($_REQUEST['funktion_kurzbz']))
break;
default: break;
}
$htmlstr .= " <tr id='".$b->benutzerberechtigung_id."'>\n";
$htmlstr .= "<form action='benutzerberechtigung_details.php?filter=".$filter."' method='POST' name='berechtigung".$b->benutzerberechtigung_id."'>\n";
$htmlstr .= "<input type='hidden' name='benutzerberechtigung_id' value='".$b->benutzerberechtigung_id."'>\n";
$htmlstr .= "<input type='hidden' name='uid' value='".$b->uid."'>\n";
$htmlstr .= "<input type='hidden' name='funktion_kurzbz' value='".$b->funktion_kurzbz."'>\n";
$htmlstr .= " <tr id='".$b->benutzerberechtigung_id."'>\n";
//Rolle
$htmlstr .= " <td><select name='rolle_kurzbz' id='rolle_kurzbz_$b->benutzerberechtigung_id' onchange='markier(\"".$b->benutzerberechtigung_id."\"); setnull(\"berechtigung_kurzbz_$b->benutzerberechtigung_id\");'>\n";
$htmlstr .= " <option value=''></option>\n";
$htmlstr .= " <td style='padding: 1px;' name='td_$b->benutzerberechtigung_id'><select name='rolle_kurzbz' id='rolle_kurzbz_$b->benutzerberechtigung_id' onchange='markier(\"td_".$b->benutzerberechtigung_id."\"); setnull(\"berechtigung_kurzbz_$b->benutzerberechtigung_id\");' ".($b->berechtigung_kurzbz!=''?'disabled':'').">\n";
$htmlstr .= " <option id='aaa' value='' name='' onclick='enable(\"berechtigung_kurzbz_".$b->benutzerberechtigung_id."\");'>&nbsp;</option>\n";
for ($i = 0; $i < sizeof($rolle_arr); $i++)
{
if ($b->rolle_kurzbz == $rolle_arr[$i])
{
$sel = " selected";
}
else
$sel = "";
$htmlstr .= " <option value='".$rolle_arr[$i]."' ".$sel.">".$rolle_arr[$i]."</option>";
$htmlstr .= "<option id='".$rolle_arr[$i]."' value='".$rolle_arr[$i]."' ".$sel." onclick='disable(\"berechtigung_kurzbz_".$b->benutzerberechtigung_id."\");' >".$rolle_arr[$i]."</option>";
}
$htmlstr .= " </select></td>\n";
//Berechtigung
$htmlstr .= " <td><select name='berechtigung_kurzbz' id='berechtigung_kurzbz_$b->benutzerberechtigung_id' onchange='markier(\"".$b->benutzerberechtigung_id."\"); setnull(\"rolle_kurzbz_$b->benutzerberechtigung_id\");''>\n";
$htmlstr .= " <option value=''></option>\n";
$htmlstr .= " <td name='td_$b->benutzerberechtigung_id'><select name='berechtigung_kurzbz' id='berechtigung_kurzbz_$b->benutzerberechtigung_id' ".($b->rolle_kurzbz!=''?'disabled':'')." onchange='markier(\"td_".$b->benutzerberechtigung_id."\"); setnull(\"rolle_kurzbz_$b->benutzerberechtigung_id\");'>\n";
$htmlstr .= " <option value='' name='' onclick='enable(\"rolle_kurzbz_".$b->benutzerberechtigung_id."\");'>&nbsp;</option>\n";
for ($i = 0; $i < sizeof($berechtigung_arr); $i++)
{
if ($b->berechtigung_kurzbz == $berechtigung_arr[$i])
$sel = " selected";
else
$sel = "";
$htmlstr .= " <option value='".$berechtigung_arr[$i]."' ".$sel.">".$berechtigung_arr[$i]."</option>";
$htmlstr .= " <option title='".$berechtigung_beschreibung_arr[$i]."' ".(array_search($berechtigung_arr[$i],$berechtigung_user_arr)!==false?"style='color: #666;'":"")." value='".$berechtigung_arr[$i]."' name='".$berechtigung_arr[$i]."' ".$sel." onclick='disable(\"rolle_kurzbz_".$b->benutzerberechtigung_id."\");'>".$berechtigung_arr[$i]."</option>";
}
$htmlstr .= " </select></td>\n";
//Art
$htmlstr .= " <td><input type='text' name='art' value='".$b->art."' size='5' maxlength='5' onchange='markier(\"".$b->benutzerberechtigung_id."\")'></td>\n";
$htmlstr .= " <td name='td_$b->benutzerberechtigung_id'><input id='art_$b->benutzerberechtigung_id' type='text' name='art' value='".$b->art."' size='5' maxlength='5' onChange='validateArt(\"art_$b->benutzerberechtigung_id\"); markier(\"td_".$b->benutzerberechtigung_id."\")'></td>\n";
//Organisationseinheit
$htmlstr .= " <td><select name='oe_kurzbz' onchange='markier(\"".$b->benutzerberechtigung_id."\")'>\n";
$htmlstr .= " <option value=''>-- Alle --</option>\n";
$htmlstr .= " <td name='td_$b->benutzerberechtigung_id'><select id='oe_".$b->benutzerberechtigung_id."' name='oe_kurzbz' ".($b->kostenstelle_id!=''?'disabled':'')." onchange='markier(\"td_".$b->benutzerberechtigung_id."\")' style='width: 300px;'>\n";
$htmlstr .= " <option value='' onclick='enable(\"kostenstelle_".$b->benutzerberechtigung_id."\");'>-- Alle --</option>\n";
foreach ($oe->result as $oekey)
{
@@ -292,13 +309,13 @@ if (isset($_REQUEST['uid']) || isset($_REQUEST['funktion_kurzbz']))
$class='class="inactive"';
else
$class='';
$htmlstr .= " <option value='".$oekey->oe_kurzbz."' ".$sel." ".$class.">".$oekey->organisationseinheittyp_kurzbz.' '.$oekey->bezeichnung.'</option>';
$htmlstr .= " <option value='".$oekey->oe_kurzbz."' ".$sel." ".$class." onclick='disable(\"kostenstelle_".$b->benutzerberechtigung_id."\");'>".$oekey->organisationseinheittyp_kurzbz.' '.$oekey->bezeichnung.'</option>';
}
$htmlstr .= " </select></td>\n";
//Kostenstelle
$htmlstr .= " <td><select name='kostenstelle_id' onchange='markier(\"".$b->benutzerberechtigung_id."\")'>\n";
$htmlstr .= " <option value=''>-- keine Auswahl --</option>\n";
$htmlstr .= " <td name='td_$b->benutzerberechtigung_id'><select id='kostenstelle_".$b->benutzerberechtigung_id."'name='kostenstelle_id' ".($b->oe_kurzbz!=''?'disabled':'')." onchange='markier(\"td_".$b->benutzerberechtigung_id."\")' style='width: 300px;'>\n";
$htmlstr .= " <option value='' onclick='enable(\"oe_".$b->benutzerberechtigung_id."\");'>&nbsp;</option>\n";
foreach ($kostenstelle->result as $kst)
{
@@ -311,12 +328,12 @@ if (isset($_REQUEST['uid']) || isset($_REQUEST['funktion_kurzbz']))
else
$class='';
$htmlstr .= " <option value='".$kst->kostenstelle_id."' ".$sel." ".$class.">".$kst->bezeichnung.'</option>';
$htmlstr .= " <option value='".$kst->kostenstelle_id."' ".$sel." ".$class." onclick='disable(\"oe_".$b->benutzerberechtigung_id."\");'>".$kst->bezeichnung.'</option>';
}
$htmlstr .= " </select></td>\n";
//Studiensemester
$htmlstr .= " <td><select name='studiensemester_kurzbz' onchange='markier(\"".$b->benutzerberechtigung_id."\")'>\n";
/*$htmlstr .= " <td><select name='studiensemester_kurzbz' onchange='markier(\"".$b->benutzerberechtigung_id."\")'>\n";
$htmlstr .= " <option value=''></option>\n";
for ($i = 0; $i < sizeof($st_arr); $i++)
{
@@ -326,52 +343,54 @@ if (isset($_REQUEST['uid']) || isset($_REQUEST['funktion_kurzbz']))
$sel = "";
$htmlstr .= " <option value='".$st_arr[$i]."' ".$sel.">".$st_arr[$i]."</option>";
}
$htmlstr .= " </select></td>\n";
$htmlstr .= " </select></td>\n";*/
$htmlstr .= " <td><input type='checkbox' name='negativ' ".($b->negativ?'checked="checked"':'')." onchange='markier(\"".$b->benutzerberechtigung_id."\")'></td>\n";
$htmlstr .= " <td><input type='text' name='start' value='".$b->start."' size='10' maxlength='10' onchange='markier(\"".$b->benutzerberechtigung_id."\")'></td>\n";
$htmlstr .= " <td><input type='text' name='ende' value='".$b->ende."' size='10' maxlength='10' onchange='markier(\"".$b->benutzerberechtigung_id."\")'></td>\n";
$htmlstr .= " <td align='center' name='td_$b->benutzerberechtigung_id'><input type='checkbox' name='negativ' ".($b->negativ?'checked="checked"':'')." onchange='markier(\"td_".$b->benutzerberechtigung_id."\")'></td>\n";
$htmlstr .= " <td name='td_$b->benutzerberechtigung_id'><input class='datepicker_datum' type='text' name='start' value='".$b->start."' size='10' maxlength='10' onchange='markier(\"td_".$b->benutzerberechtigung_id."\")'></td>\n";
$htmlstr .= " <td name='td_$b->benutzerberechtigung_id'><input class='datepicker_datum' type='text' name='ende' value='".$b->ende."' size='10' maxlength='10' onchange='markier(\"td_".$b->benutzerberechtigung_id."\")'></td>\n";
$htmlstr .= " <td><input type='submit' name='schick' value='speichern'></td>";
$htmlstr .= " <td><input type='submit' name='del' value='l&ouml;schen'></td>";
$htmlstr .= " </tr>\n";
$htmlstr .= " <td name='td_$b->benutzerberechtigung_id'><input type='submit' name='schick' value='speichern'></td>";
$htmlstr .= " <td name='td_$b->benutzerberechtigung_id'><input type='submit' name='del' value='l&ouml;schen'></td>";
$htmlstr .= "</form>\n";
$htmlstr .= " </tr>\n";
}
$htmlstr .= " </tbody><tfooter><tr id='neu'>\n";
$htmlstr .= "<form action='benutzerberechtigung_details.php' method='POST' name='berechtigung_neu'>\n";
$htmlstr .= "<input type='hidden' name='neu' value='1'>\n";
$htmlstr .= "<input type='hidden' name='benutzerberechtigung_id' value=''>\n";
$htmlstr .= "<input type='hidden' name='uid' value='".$uid."'>\n";
$htmlstr .= "<input type='hidden' name='funktion_kurzbz' value='".$funktion_kurzbz."'>\n";
$htmlstr .= " <tr id='neu'>\n";
//Rolle
$htmlstr .= " <td><select name='rolle_kurzbz' id='rolle_kurzbz_neu' onchange='markier(\"neu\"); setnull(\"berechtigung_kurzbz_neu\");'>\n";
$htmlstr .= " <option value=''></option>\n";
$htmlstr .= " <td style='padding-top: 15px;'><select name='rolle_kurzbz' id='rolle_kurzbz_neu' onchange='markier(\"neu\"); setnull(\"berechtigung_kurzbz_neu\"); setnull(\"art_neu\");'>\n";
$htmlstr .= " <option value='' onclick='enable(\"berechtigung_kurzbz_neu\");'>&nbsp;</option>\n";
for ($i = 0; $i < sizeof($rolle_arr); $i++)
{
$sel = "";
$htmlstr .= " <option value='".$rolle_arr[$i]."' ".$sel.">".$rolle_arr[$i]."</option>";
$htmlstr .= " <option value='".$rolle_arr[$i]."' ".$sel." onclick='disable(\"berechtigung_kurzbz_neu\");'>".$rolle_arr[$i]."</option>";
}
$htmlstr .= " </select></td>\n";
//Berechtigung_kurzbz
$htmlstr .= " <td><select name='berechtigung_kurzbz' id='berechtigung_kurzbz_neu' onchange='markier(\"neu\"); setnull(\"rolle_kurzbz_neu\");'>\n";
$htmlstr .= " <option value=''></option>\n";
$htmlstr .= " <td style='padding-top: 15px;'><select name='berechtigung_kurzbz' id='berechtigung_kurzbz_neu' onchange='markier(\"neu\"); setnull(\"rolle_kurzbz_neu\");'>\n";
$htmlstr .= " <option value='' onclick='enable(\"rolle_kurzbz_neu\");'>&nbsp;</option>\n";
for ($i = 0; $i < sizeof($berechtigung_arr); $i++)
{
$sel = "";
$htmlstr .= " <option value='".$berechtigung_arr[$i]."' ".$sel.">".$berechtigung_arr[$i]."</option>";
$htmlstr .= " <option title='".$berechtigung_beschreibung_arr[$i]."' ".(array_search($berechtigung_arr[$i],$berechtigung_user_arr)!==false?"style='color: #666'":"")." value='".$berechtigung_arr[$i]."' ".$sel." onclick='disable(\"rolle_kurzbz_neu\");'>".$berechtigung_arr[$i]."</option>";
}
$htmlstr .= " </select></td>\n";
//Art
$htmlstr .= " <td><input type='text' name='art' value='' size='5' maxlength='5' onchange='markier(\"neu\")'></td>\n";
$htmlstr .= " <td style='padding-top: 15px;'><input id='art_neu' type='text' name='art' value='' size='5' maxlength='5' onBlur='checkrequired(\"art_neu\")' onChange='validateArt(\"art_neu\")' placeholder='suid'></td>\n";
//Organisationseinheit
$htmlstr .= " <td><select name='oe_kurzbz' onchange='markier(\"neu\")'>\n";
$htmlstr .= " <option value=''>-- Alle --</option>\n";
$htmlstr .= " <td style='padding-top: 15px;'><select id='oe_kurzbz_neu' name='oe_kurzbz' onchange='markier(\"neu\")' style='width: 300px;'>\n";
$htmlstr .= " <option value='' onclick='enable(\"kostenstelle_neu\");'>-- Alle --</option>\n";
foreach ($oe->result as $oekey)
{
@@ -379,13 +398,13 @@ if (isset($_REQUEST['uid']) || isset($_REQUEST['funktion_kurzbz']))
$class='class="inactive"';
else
$class='';
$htmlstr .= " <option value='".$oekey->oe_kurzbz."' ".$class.">".$oekey->organisationseinheittyp_kurzbz.' '.$oekey->bezeichnung.'</option>';
$htmlstr .= " <option value='".$oekey->oe_kurzbz."' ".$class." onclick='disable(\"kostenstelle_neu\");'>".$oekey->organisationseinheittyp_kurzbz.' '.$oekey->bezeichnung.'</option>';
}
$htmlstr .= " </select></td>\n";
//Kostenstelle
$htmlstr .= " <td><select name='kostenstelle_id' onchange='markier(\"".(isset($b->benutzerberechtigung_id)?$b->benutzerberechtigung_id:'')."\")'>\n";
$htmlstr .= " <option value=''>-- keine Auswahl --</option>\n";
$htmlstr .= " <td style='padding-top: 15px;'><select id='kostenstelle_neu' name='kostenstelle_id' onchange='markier(\"".(isset($b->benutzerberechtigung_id)?$b->benutzerberechtigung_id:'')."\")' style='width: 300px;'>\n";
$htmlstr .= " <option value='' onclick='enable(\"oe_kurzbz_neu\");'>&nbsp;</option>\n";
foreach ($kostenstelle->result as $kst)
{
@@ -394,29 +413,30 @@ if (isset($_REQUEST['uid']) || isset($_REQUEST['funktion_kurzbz']))
else
$class='';
$htmlstr .= " <option value='".$kst->kostenstelle_id."' ".$class.">".$kst->bezeichnung.'</option>';
$htmlstr .= " <option value='".$kst->kostenstelle_id."' ".$class." onclick='disable(\"oe_kurzbz_neu\");'>".$kst->bezeichnung.'</option>';
}
$htmlstr .= " </select></td>\n";
//Studiensemester
$htmlstr .= " <td><select name='studiensemester_kurzbz' onchange='markier(\"neu\")'>\n";
/*$htmlstr .= " <td style='padding-top: 10px;'><select name='studiensemester_kurzbz' onchange='markier(\"neu\")'>\n";
$htmlstr .= " <option value=''></option>\n";
for ($i = 0; $i < sizeof($st_arr); $i++)
{
$sel = "";
$htmlstr .= " <option value='".$st_arr[$i]."' ".$sel.">".$st_arr[$i]."</option>";
}
$htmlstr .= " </select></td>\n";
$htmlstr .= " </select></td>\n";*/
$htmlstr .= " <td><input type='checkbox' name='negativ' onchange='markier(\"neu\")'></td>\n";
$htmlstr .= " <td><input type='text' name='start' value='' size='10' maxlength='10' onchange='markier(\"neu\")'></td>\n";
$htmlstr .= " <td><input type='text' name='ende' value='' size='10' maxlength='10' onchange='markier(\"neu\")'></td>\n";
$htmlstr .= " <td align='center' style='padding-top: 15px;'><input type='checkbox' name='negativ' onchange='markier(\"neu\")'></td>\n";
$htmlstr .= " <td style='padding-top: 15px;'><input class='datepicker_datum' type='text' name='start' value='' size='10' maxlength='10' onchange='markier(\"neu\")'></td>\n";
$htmlstr .= " <td style='padding-top: 15px;'><input class='datepicker_datum' type='text' name='ende' value='' size='10' maxlength='10' onchange='markier(\"neu\")'></td>\n";
$htmlstr .= " <td><input type='submit' name='schick' value='neu'></td>";
$htmlstr .= " </tr>\n";
$htmlstr .= " <td style='padding-top: 15px;'><input type='submit' name='schick' value='neu'></td>";
$htmlstr .= "</form>\n";
$htmlstr .= " </tr>\n";
$htmlstr .= "</table>\n";
$htmlstr .= "</tfooter></table>\n";
}
$htmlstr .= "<div class='inserterror'>".$errorstr."</div>\n";
@@ -428,19 +448,47 @@ $htmlstr .= "<div class='inserterror'>".$errorstr."</div>\n";
<title>Berechtigung - Details</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" href="../../skin/vilesci.css" type="text/css">
<link href="../../skin/tablesort.css" rel="stylesheet" type="text/css"/>
<link href="../../skin/jquery-ui-1.9.2.custom.min.css" rel="stylesheet" type="text/css">
<script src="../../include/js/mailcheck.js"></script>
<script src="../../include/js/datecheck.js"></script>
<script src="../../include/js/jquery1.9.min.js" type="text/javascript"></script>
<style type="text/css">
table.tablesorter tbody td
{
padding: 1px;
}
</style>
<script type="text/javascript">
$(document).ready(function()
{
$( ".datepicker_datum" ).datepicker({
changeMonth: true,
changeYear: true,
dateFormat: 'yy-mm-dd',
});
$("#t1").tablesorter(
{
//sortList: [[2,0]],
//widgets: ["zebra"],
headers: {5:{sorter:false},8:{sorter:false},9:{sorter:false}}
});
});
function confdel()
{
if(confirm("Diesen Datensatz wirklick loeschen?"))
if(confirm("Diesen Datensatz wirklich löschen?"))
return true;
return false;
}
function markier(id)
{
document.getElementById(id).style.background = "#FC988D";
for (var i = 0; i < document.getElementsByName(id).length; i++)
{
document.getElementsByName(id)[i].style.background = "#FC988D";
}
}
function unmarkier(id)
@@ -466,22 +514,55 @@ $htmlstr .= "<div class='inserterror'>".$errorstr."</div>\n";
}
}
function checkrequired(feld)
function checkrequired(id)
{
if(feld.value == "")
if(document.getElementById(id).value == "")
{
feld.className = "input_error";
document.getElementById(id).style.border = "solid red 2px";
return false;
}
else
{
feld.className = "input_ok";
document.getElementById(id).style.border = "";
return true;
}
}
function setnull(id)
{
document.getElementById(id).selectedIndex=0;
}
function disable(id)
{
document.getElementById(id).disabled = true;
//document.getElementById("art_"+id).value="";
}
function enable(id)
{
document.getElementById(id).disabled = false;
}
function validateArt(id)
{
var eingabe, c, erlaubt = 'suid', laenge;
eingabe = document.getElementById(id).value;;
eingabe = eingabe.toLowerCase();
laenge = eingabe.length;
if (eingabe == '')
{
alert('Geben Sie bitte einen Wert bei "Art" ein!');
return false;
}
for (c = 0; c < laenge; c++)
{
d = eingabe.charAt(c);
if (erlaubt.indexOf(d) == -1)
{
alert ('Erlaubte Werte sind s,u,i,d');
document.getElementById(id).style.border = "solid red 2px";
return false;
}
else
document.getElementById(id).style.border = "";
}
}
</script>
</head>
@@ -489,7 +570,7 @@ $htmlstr .= "<div class='inserterror'>".$errorstr."</div>\n";
<?php
echo $htmlstr;
echo $reloadstr;
//echo $reloadstr;
?>
</body>
@@ -19,34 +19,49 @@
* Andreas Oesterreicher < andreas.oesterreicher@technikum-wien.at >
* Rudolf Hangl < rudolf.hangl@technikum-wien.at >
* Gerald Simane-Sequens < gerald.simane-sequens@technikum-wien.at >
* Manfred Kindl <manfred.kindl@technikum-wien.at>
*/
require_once('../../config/vilesci.config.inc.php');
require_once('../../include/functions.inc.php');
require_once('../../include/studiengang.class.php');
require_once('../../include/benutzerberechtigung.class.php');
require_once('../../include/benutzer.class.php');
echo '<html>
<head>
<title>Berechtigungen Uebersicht</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" href="../../skin/vilesci.css" type="text/css">
<link rel="stylesheet" href="../../include/js/tablesort/table.css" type="text/css">
<script src="../../include/js/tablesort/table.js" type="text/javascript"></script>
<link rel="stylesheet" href="../../skin/tablesort.css" type="text/css"/>
<script src="../../include/js/jquery1.9.min.js" type="text/javascript"></script>
<script language="JavaScript" type="text/javascript">
function confdel()
function checkLength()
{
if(confirm("Diesen Datensatz wirklick loeschen?"))
return true;
return false;
filter = document.getElementById("searchbox").value;
if(filter.length<2)
{
alert ("Bitte geben Sie mindestens 2 Zeichen für die Suche ein");
return false;
}
else
return true;
}
$(document).ready(function()
{
$("#t1").tablesorter(
{
sortList: [[0,0],[1,0],[2,0]],
widgets: ["zebra"],
headers: {4:{sorter:false}}
});
});
</script>
</head>
<body class="background_main" onload="document.getElementById(\'searchbox\').focus()">
<h2>Benutzerberechtigungen &Uuml;bersicht</h2>';
<h2>Benutzerberechtigungen Übersicht</h2>';
if (!$db = new basis_db())
die('Es konnte keine Verbindung zum Server aufgebaut werden.');
@@ -71,66 +86,49 @@ $htmlstr='
<table width="100%">
<tr>
<td>
<form accept-charset="UTF-8" name="search" method="GET">
Bitte Suchbegriff eingeben:
<input type="text" id="searchbox" name="searchstr" size="30" value="'.$searchstr.'">
<form accept-charset="UTF-8" name="search" method="GET" onsubmit="return checkLength();">
BenutzerIn suchen:
<input type="text" id="searchbox" name="searchstr" size="30" value="'.$searchstr.'" placeholder="Name oder UID eingeben">
<input type="submit" value="Suchen">
</form>
</td>
<td align="right">
<form name="neuform" action="benutzerberechtigung_details.php" target="vilesci_detail">
UID <input type="text" value="" name="uid">&nbsp;
<input type="submit" name="neuschick" value="anlegen">
</form>
</td>
</tr>
</table>
';
$htmlstr .= "<div style='float:left'><a href='berechtigungrolle.php' target='main'>Rollen Administrieren</a></div>";
//Benutzer suchen und Tabelle anzeigen
if(isset($_GET['searchstr']))
{
$sql_query = "SELECT distinct(tbl_benutzerrolle.uid), tbl_person.nachname, tbl_person.vorname
FROM system.tbl_benutzerrolle, public.tbl_benutzer, public.tbl_person
WHERE tbl_benutzerrolle.uid = tbl_benutzer.uid
AND tbl_benutzer.person_id = tbl_person.person_id
";
if($searchstr!='')
{
$sql_query.= " and (
nachname ~* '".addslashes($searchstr)."' OR
vorname ~* '".addslashes($searchstr)."' OR
alias ~* '".addslashes($searchstr)."' OR
nachname || ' ' || vorname = '".addslashes($searchstr)."' OR
vorname || ' ' || nachname = '".addslashes($searchstr)."' OR
tbl_benutzerrolle.uid ~* '".addslashes($searchstr)."' )";
}
$sql_query.= " ORDER BY tbl_benutzerrolle.uid";
if(!$erg=$db->db_query($sql_query))
{
$htmlstr='Fehler beim Laden der Berechtigungen';
}
else
{
$htmlstr .= "<table id='t1' class='liste table-autosort:2 table-stripeclass:alternate table-autostripe'> <thead><tr class='liste'>\n";
$htmlstr .= " <th class='table-sortable:default'>UID</th><th class='table-sortable:default'>Vorname</th><th class='table-sortable:alphanumeric'>Nachname</th>";
$htmlstr .= " </tr></thead><tbody>\n";
$i = 0;
while($row=$db->db_fetch_object($erg))
{
//$htmlstr .= " <tr class='liste". ($i%2) ."'>\n";
$benutzer = new benutzer();
$searchItems = explode(' ',$searchstr);
$benutzer->search($searchItems,"",null);
if(count($benutzer->result)!=0)
{
$htmlstr .= "<table id='t1' class='tablesorter'><thead><tr>\n";
$htmlstr .= "<th>Nachname</th><th>Vorname</th><th>UID</th><th>Aktiv</th><th>Aktion</th>";
$htmlstr .= "</tr></thead><tbody>\n";
foreach($benutzer->result as $row)
{
$benutzerrolle = new benutzerberechtigung();
$benutzerrolle->loadBenutzerRollen($row->uid);
$aktiv = new benutzer();
$aktiv->load($row->uid);
$htmlstr .= " <tr>\n";
$htmlstr .= " <td>".$row->uid."</td>\n";
$htmlstr .= " <td>".$row->vorname."</td>\n";
$htmlstr .= " <td><a href='benutzerberechtigung_details.php?uid=".$row->uid."' target='vilesci_detail'>".$row->nachname."</a></td>\n";
$htmlstr .= " <td>".$row->nachname."</td>\n";
$htmlstr .= " <td>".$row->vorname."</td>\n";
$htmlstr .= " <td>".$row->uid."</td>\n";
$htmlstr .= " <td>".($aktiv->bnaktiv?"Ja":"Nein")."</td>\n";
$htmlstr .= " <td><a href='benutzerberechtigung_details.php?uid=".$row->uid."' target='vilesci_detail'>".(count($benutzerrolle->berechtigungen)!=0?"Rechte bearbeiten":"Rechte vergeben")."</a></td>\n";
$htmlstr .= " </tr>\n";
$i++;
}
$htmlstr .= "</tbody></table>\n";
}
$htmlstr .= "</tbody></table>\n";
}
else
{
$htmlstr .= "Es wurden keine Übereinstimmungen mit Ihrem Suchbegriff gefunden";
}
}
+1 -9
View File
@@ -37,15 +37,7 @@
$berechtigung=new benutzerberechtigung();
$berechtigung->getBerechtigungen($uid);
if (!($berechtigung->isBerechtigt('admin') ||
$berechtigung->isBerechtigt('support') ||
$berechtigung->isBerechtigt('preinteressent') ||
$berechtigung->isBerechtigt('lehre') ||
$berechtigung->isBerechtigt('basis/statistik') ||
$berechtigung->isBerechtigt('basis/fhausweis') ||
$berechtigung->isBerechtigt('wawi/inventar') ||
$berechtigung->isBerechtigt('assistenz') ||
$berechtigung->isBerechtigt('lv-plan') ))
if (!($berechtigung->isBerechtigt('basis/vilesci', null, 's')))
die ('Keine Berechtigung!');
?>