- Rechtesystem für Vilesci-Menü

- Schule kann jetzt beim Anlegen von Preinteressenten eingetragen werden
This commit is contained in:
Andreas Österreicher
2008-07-30 15:10:20 +00:00
parent e61ffd0738
commit 6c6c3ff548
3 changed files with 103 additions and 17 deletions
+12 -11
View File
@@ -28,7 +28,7 @@ $menu=array
//'Admin'=> array('name'=>'Admin', 'link'=>'admin/menu.html', 'target'=>'main'),
'Lehre'=> array
(
'name'=>'Lehre', 'opener'=>'true', 'hide'=>'false',
'name'=>'Lehre', 'opener'=>'true', 'hide'=>'false', 'permissions'=>array('admin','lv-plan','support'),
'Gruppenverwaltung'=>array('name'=>'Gruppenverwaltung', 'link'=>'stammdaten/lvbgruppenverwaltung.php', 'target'=>'main'),
'Lehrveranstaltung'=>array
(
@@ -75,23 +75,23 @@ $menu=array
'Personen'=> array
(
'name'=>'Personen', 'opener'=>'true', 'hide'=>'true',
'Suche'=>array('name'=>'Suche', 'link'=>'personen/suche.php', 'target'=>'main'),
'Zusammenlegen'=>array('name'=>'Zusammenlegen', 'link'=>'stammdaten/personen_wartung.php', 'target'=>'main'),
'Suche'=>array('name'=>'Suche', 'link'=>'personen/suche.php', 'target'=>'main','permissions'=>array('admin','lv-plan','support')),
'Zusammenlegen'=>array('name'=>'Zusammenlegen', 'link'=>'stammdaten/personen_wartung.php', 'target'=>'main', 'permissions'=>array('admin','lv-plan','support')),
'Gruppen'=>array
(
'name'=>'Gruppen',
'name'=>'Gruppen', 'permissions'=>array('admin','lv-plan','support'),
'Übersicht'=>array('name'=>'Übersicht', 'link'=>'lehre/einheit_menu.php', 'target'=>'main'),
'Neu'=>array('name'=>'Neu', 'link'=>'lehre/einheit_menu.php?newFrm=true', 'target'=>'main')
),
'Benutzer'=>array
(
'name'=>'Benutzer',
'name'=>'Benutzer','permissions'=>array('admin','lv-plan','support'),
'LDAPCheck'=>array('name'=>'LDAPCheck', 'link'=>'personen/ldap_check.php', 'target'=>'main'),
'Funktionen'=>array('name'=>'Funktionen', 'link'=>'personen/funktion.php', 'target'=>'main')
),
'Mitarbeiter'=>array
(
'name'=>'Mitarbeiter',
'name'=>'Mitarbeiter','permissions'=>array('admin','lv-plan','support'),
'Übersicht'=>array('name'=>'Übersicht', 'link'=>'personen/lektor_uebersicht.php', 'target'=>'main'),
'Neu'=>array('name'=>'Neu', 'link'=>'personen/lektor_edit.php?new=1', 'target'=>'main'),
'Institute'=>array('name'=>'Institute', 'link'=>'personen/institutsliste.php', 'target'=>'main'),
@@ -99,16 +99,17 @@ $menu=array
),
'Studenten'=>array
(
'name'=>'Studenten',
'name'=>'Studenten','permissions'=>array('admin','lv-plan','support'),
'Übersicht'=>array('name'=>'Übersicht', 'link'=>'personen/studenten_uebersicht.php', 'target'=>'main'),
'Neu'=>array('name'=>'Neu', 'link'=>'personen/student_edit.php?new=1', 'target'=>'main'),
'Vorrückung'=>array('name'=>'Vorrückung', 'link'=>'personen/student_vorrueckung.php', 'target'=>'main'),
),
'Betriebsmittel'=>array('name'=>'Betriebsmittel', 'link'=>'stammdaten/betriebsmittel_frameset.html', 'target'=>'main')
'Betriebsmittel'=>array('name'=>'Betriebsmittel', 'link'=>'stammdaten/betriebsmittel_frameset.html', 'target'=>'main','permissions'=>array('admin','lv-plan','support')),
'Preinteressenten'=>array('name'=>'Preinteressenten', 'link'=>'personen/preinteressent_frameset.html', 'target'=>'_blank','permissions'=>array('admin','lv-plan','support','preinteressent'))
),
'Stammdaten'=> array
(
'name'=>'Stammdaten', 'opener'=>'true', 'hide'=>'true',
'name'=>'Stammdaten', 'opener'=>'true', 'hide'=>'true', 'permissions'=>array('admin','lv-plan','support'),
'Berechtigungen'=>array('name'=>'Berechtigungen', 'link'=>'stammdaten/benutzerberechtigung_frameset.html', 'target'=>'main'),
'Variablen'=>array('name'=>'Variablen', 'link'=>'stammdaten/variablen_frameset.html', 'target'=>'main'),
'Studiengang'=>array('name'=>'Studiengang', 'link'=>'stammdaten/studiengang_frameset.html', 'target'=>'main'),
@@ -130,13 +131,13 @@ $menu=array
),
'Vorrueckung'=> array
(
'name'=>'Vorrueckung', 'opener'=>'true', 'hide'=>'true',
'name'=>'Vorrueckung', 'opener'=>'true', 'hide'=>'true', 'permissions'=>array('admin','lv-plan','support'),
'Lehreinheiten'=>array('name'=>'Lehreinheiten', 'link'=>'lehre/lehreinheiten_vorrueckung.php', 'target'=>'main'),
'Studenten'=>array('name'=>'Studenten', 'link'=>'personen/student_vorrueckung.php', 'target'=>'main')
),
'Auswertung'=> array
(
'name'=>'Auswertung', 'opener'=>'true', 'hide'=>'true',
'name'=>'Auswertung', 'opener'=>'true', 'hide'=>'true', 'permissions'=>array('admin','lv-plan','support'),
'Raumauslastung'=>array('name'=>'Raumauslastung', 'link'=>'lehre/raumauslastung.php', 'target'=>'main'),
'Zeitwünsche'=>array('name'=>'Zeitwünsche', 'link'=>'lehre/zeitwuensche.php', 'target'=>'main')
)
+31 -4
View File
@@ -33,7 +33,10 @@
$conn=pg_connect(CONN_STRING) or die('Connection zur Portal Datenbank fehlgeschlagen');
$berechtigung=new benutzerberechtigung($conn);
$berechtigung->getBerechtigungen($uid);
if (!($berechtigung->isBerechtigt('admin') || $berechtigung->isBerechtigt('support') || $berechtigung->isBerechtigt('lvplan') ))
if (!($berechtigung->isBerechtigt('admin') ||
$berechtigung->isBerechtigt('support') ||
$berechtigung->isBerechtigt('preinteressent') ||
$berechtigung->isBerechtigt('lv-plan') ))
die ('Keine Berechtigung!');
@@ -80,6 +83,21 @@
</div>
<?php
function checkpermission($permissions)
{
global $berechtigung;
$permission=false;
foreach ($permissions as $perm)
{
if($berechtigung->isBerechtigt($perm))
{
$permission=true;
}
}
return $permission;
}
if ($berechtigung->isBerechtigt('admin'))
{
echo '<div>
@@ -100,6 +118,9 @@ foreach($menu AS $m)
if ($m['hide']=='true')
$hide=true;
if (isset($m['permissions']) && !checkpermission($m['permissions']))
continue;
if ($opener)
{
echo '<SPAN style="cursor: pointer;" id="'.$m['name'].'_dot" onclick="js_toggle_container('."'".$m['name']."'".')" style="font-weight:bold">';
@@ -128,7 +149,7 @@ foreach($menu AS $m)
$display='block';
echo "\n<DIV>\n".'<SPAN id="'.$m['name'].'" style="display:'.$display.'">';
foreach($m AS $m1)
if (is_array($m1))
if (is_array($m1) && isset($m1['name']))
{
$opener=false;
$hide=false;
@@ -138,7 +159,10 @@ foreach($menu AS $m)
if (isset($m1['hide']))
if ($m1['hide']=='true')
$hide=true;
if (isset($m1['permissions']) && !checkpermission($m1['permissions']))
continue;
if ($opener)
{
echo "\n\t".'<SPAN style="cursor: pointer;" onclick="js_toggle_container('."'".$m1['name']."'".')">';
@@ -165,10 +189,13 @@ foreach($menu AS $m)
$display='none';
else
$display='block';
echo "\n\t<DIV>\n\t".'<SPAN id="'.$m1['name'].'" style="display:'.$display.'">';
foreach($m1 AS $m2)
if (is_array($m2))
if (is_array($m2) && isset($m2['name']))
{
if (isset($m2['permissions']) && !checkpermission($m2['permissions']))
continue;
if (isset($m2['link']))
echo "\n\t\t".'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&middot; <a href="'.$m2['link'].'" ';
if (isset($m2['target']))
+60 -2
View File
@@ -99,6 +99,25 @@ function disablefields2(val)
document.getElementById('plz').disabled=val;
document.getElementById('ort').disabled=val;
}
function checkschulid(schuleid)
{
if(schuleid!='')
{
dd = document.getElementById('schuledd')
//preufen ob die id im DD vorhanden ist
myoptions = dd.getElementsByTagName('option');
id='';
for each (var node in myoptions)
{
if(node.value==schuleid)
id=schuleid;
}
document.getElementById('schuledd').value=id;
}
return true;
}
</script>
</head>
<body>
@@ -131,6 +150,16 @@ $svnr = (isset($_POST['svnr'])?$_POST['svnr']:'');
$ersatzkennzeichen = (isset($_POST['ersatzkennzeichen'])?$_POST['ersatzkennzeichen']:'');
$ueberschreiben = (isset($_REQUEST['ueberschreiben'])?$_REQUEST['ueberschreiben']:'');
$studiensemester_kurzbz = (isset($_POST['studiensemester_kurzbz'])?$_POST['studiensemester_kurzbz']:'');
if(isset($_POST['schule_id']) && $_POST['schule_id']!='')
{
$schule = $_POST['schule_id'];
}
elseif(isset($_POST['schule']))
{
$schule = $_POST['schule'];
}
else
$schule='';
//end Parameter
$geburtsdatum_error=false;
@@ -308,7 +337,7 @@ if(isset($_POST['save']))
$preinteressent->studiensemester_kurzbz = $studiensemester_kurzbz;
$preinteressent->aufmerksamdurch_kurzbz = 'k.A.';
$preinteressent->erfassungsdatum = date('Y-m-d');
$preinteressent->firma_id = 1; //TW
$preinteressent->firma_id = ($schule!=''?$schule:0); //default TW
$preinteressent->insertamum = date('Y-m-d H:i:s');
$preinteressent->insertvon = $user;
@@ -428,8 +457,37 @@ foreach ($stsem->studiensemester as $row)
echo "<option value='$row->studiensemester_kurzbz' $selected>$row->studiensemester_kurzbz</option>";
}
echo '</SELECT></td></tr>';
echo '<tr><td></td><td>';
echo '<tr><td>Schule: </td><td><SELECT id="schuledd" name="schule">';
echo "<option value=''>-- keine Auswahl --</option>";
$qry = "SELECT * FROM public.tbl_firma WHERE schule ORDER BY name";
//bei namen die laenger als 40 zeichen sind wird ein teil aus der mitte
//herausgeschnitten damit das DD nicht zu gross wird
function shortname($name)
{
if(strlen($name)>40)
{
return substr($name, 0, 20).' ... '.substr($name, strlen($name)-20);
}
else
return $name;
}
if($result = pg_query($conn, $qry))
{
while($row = pg_fetch_object($result))
{
if($schule==$row->firma_id)
$selected='selected';
else
$selected='';
echo "<option value='$row->firma_id' title='$row->name' $selected>".shortname($row->name)." ( $row->firma_id )</option>";
}
}
echo '</SELECT></td></tr>';
echo '</tr><td>Schule ID:</td><td><input type="text" size="3" name="schule_id" value="'.$schule.'" oninput="checkschulid(this.value)"></td></tr>';
echo '<tr><td></td><td>';
if(($geburtsdatum=='' && $vorname=='' && $nachname=='') || $geburtsdatum_error)
echo '<input type="submit" name="showagain" value="Vorschlag laden">';
else