- Reservierung auf neues Berechtigungskonzept umgestellt

- Reservierungen haben insertamum und insertvon Feld
- Erweiterte Reservierung mit Auswahl des Lektors, Studienganges, Semester und Gruppe
This commit is contained in:
Andreas Österreicher
2010-01-27 16:52:04 +00:00
parent 4d9e0e6d01
commit e87bc58fc6
11 changed files with 671 additions and 455 deletions
+121 -67
View File
@@ -19,30 +19,30 @@
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
require_once('../../../config/cis.config.inc.php');
require_once('../../../include/functions.inc.php');
require_once('../../../include/benutzerberechtigung.class.php');
require_once('../../../config/cis.config.inc.php');
require_once('../../../include/functions.inc.php');
require_once('../../../include/datum.class.php');
require_once('../../../include/benutzerberechtigung.class.php');
if (!$db = new basis_db())
die('Fehler beim Oeffnen der Datenbankverbindung');
$uid=get_uid();
if (isset($_GET['id']))
$id=$_GET['id'];
else if (isset($_POST['id']))
$id=$_POST['id'];
$rechte = new benutzerberechtigung();
$rechte->getBerechtigungen($uid);
if (isset($id))
{
$sql_query="DELETE FROM campus.tbl_reservierung WHERE reservierung_id=$id";
$erg=$db->db_query($sql_query);
}
if (!$db = new basis_db())
die('Fehler beim Oeffnen der Datenbankverbindung');
$uid = get_uid();
if (isset($_GET['id']))
$id=$_GET['id'];
else if (isset($_POST['id']))
$id=$_POST['id'];
$datum_obj = new datum();
$rechte = new benutzerberechtigung();
$rechte->getBerechtigungen($uid);
if(!$rechte->isBerechtigt('lehre/reservierung:begrenzt', null, 'suid'))
die('Sie haben keine Berechtigung fuer diese Seite');
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
@@ -50,21 +50,36 @@
<link rel="stylesheet" href="../../../skin/style.css.php" type="text/css">
</head>
<body id="inhalt">
<H2><table class="tabcontent">
<tr>
<td>&nbsp;<a class="Item" href="index.php">Lehrveranstaltungsplan</a> &gt;&gt; Reservierungen</td>
<td align="right"><A href="help/index.html" class="hilfe" target="_blank">HELP&nbsp;</A></td>
</tr>
<H2>
<table class="tabcontent">
<tr>
<td>&nbsp;<a class="Item" href="index.php">Lehrveranstaltungsplan</a> &gt;&gt; Reservierungen</td>
<td align="right"><A href="help/index.html" class="hilfe" target="_blank">HELP&nbsp;</A></td>
</tr>
</table>
</H2>
<?php
//Loeschen von Reservierungen
if (isset($id))
{
if(!is_numeric($id))
die('ungueltige ID');
$sql_query="DELETE FROM campus.tbl_reservierung WHERE reservierung_id='".addslashes($id)."'";
if($db->db_query($sql_query))
echo '<b>Reservierung wurde geloescht</b><br>';
else
echo '<b>Fehler beim Loeschen der Reservierung!</b><br>';
}
//Aktuelle Reservierungen abfragen.
$datum=mktime();
$datum=date("Y-m-d",$datum);
$datum = mktime();
$datum = date("Y-m-d",$datum);
//EIGENE
$sql_query="SELECT * FROM campus.vw_reservierung WHERE datum>='$datum' AND uid='$uid'";
$sql_query.=" ORDER BY datum, titel, ort_kurzbz, stunde";
$sql_query="SELECT * FROM campus.vw_reservierung
WHERE datum>='$datum' AND uid='$uid'
ORDER BY datum, titel, ort_kurzbz, stunde";
if (!$erg_res=$db->db_query($sql_query))
die($db->db_last_error());
@@ -74,7 +89,16 @@
{
echo 'Eigene Reservierungen:<br>';
echo '<table border="0">';
echo '<tr class="liste"><th>Datum</th><th>Titel</th><th>Stunde</th><th>Ort</th><th>Person</th><th>Beschreibung</th><th>Aktion</th></tr>';
echo '
<tr class="liste">
<th>Datum</th>
<th>Titel</th>
<th>Stunde</th>
<th>Ort</th>
<th>Person</th>
<th>Beschreibung</th>
<th>Aktion</th>
</tr>';
for ($i=0; $i<$num_rows_res; $i++)
{
$zeile=$i % 2;
@@ -85,7 +109,12 @@
$ort_kurzbz=$db->db_result($erg_res,$i,"ort_kurzbz");
$pers_uid=$db->db_result($erg_res,$i,"uid");
$beschreibung=$db->db_result($erg_res,$i,"beschreibung");
echo '<tr class="liste'.$zeile.'">';
$insertamum=$db->db_result($erg_res,$i,"insertamum");
$insertvon=$db->db_result($erg_res,$i,"insertvon");
$datum1 = $datum_obj->formatDatum($datum1, 'd.m.Y');
if($insertamum!='')
$insertamum = $datum_obj->formatDatum($insertamum, 'd.m.Y H:i:s');
echo '<tr class="liste'.$zeile.'" title="angelegt am '.$insertamum.' von '.$insertvon.'">';
echo '<td>'.$datum1.'</td>';
echo '<td>'.$titel.'</td>';
echo '<td>'.$stunde.'</td>';
@@ -93,8 +122,8 @@
echo '<td>'.$pers_uid.'</td>';
echo '<td>'.$beschreibung.'<a name="liste'.$i.'">&nbsp;</a></td>';
$z=$i-1;
if (($pers_uid==$uid)|| $rechte->isBerechtigt('admin', 0, 'suid'))
echo '<td><A class="Item" href="stpl_reserve_list.php?id='.$id.'#liste'.$z.'">Delete</A></td>';
if (($pers_uid==$uid)|| $rechte->isBerechtigt('lehre/reservierung', null, 'suid'))
echo '<td><A class="Item" href="stpl_reserve_list.php?id='.$id.(isset($_GET['alle'])?'&alle=true':'').'#liste'.$z.'">Delete</A></td>';
echo '</tr>';
}
echo '</table>';
@@ -103,43 +132,68 @@
echo '<br><br>';
flush();
//ALLE
$sql_query="SELECT * FROM campus.vw_reservierung WHERE datum>='$datum' ";
$sql_query.=" ORDER BY datum, titel, ort_kurzbz, stunde";
if (!$erg_res=$db->db_query($sql_query))
die($db->db_last_error());
$num_rows_res=$db->db_num_rows($erg_res);
if ($num_rows_res>0)
if(isset($_GET['alle']))
{
echo 'Alle Reservierungen:<br>';
echo '<table border="0">';
echo '<tr class="liste"><th>Datum</th><th>Titel</th><th>Stunde</th><th>Ort</th><th>Person</th><th>Beschreibung</th><th>Aktion</th></tr>';
for ($i=0; $i<$num_rows_res; $i++)
//ALLE
$sql_query="SELECT * FROM campus.vw_reservierung
WHERE datum>='$datum'
ORDER BY datum, titel, ort_kurzbz, stunde";
if (!$erg_res=$db->db_query($sql_query))
die($db->db_last_error());
$num_rows_res=$db->db_num_rows($erg_res);
if ($num_rows_res>0)
{
$zeile=$i % 2;
$id=$db->db_result($erg_res,$i,"reservierung_id");
$datum=$db->db_result($erg_res,$i,"datum");
$titel=$db->db_result($erg_res,$i,"titel");
$stunde=$db->db_result($erg_res,$i,"stunde");
$ort_kurzbz=$db->db_result($erg_res,$i,"ort_kurzbz");
$pers_uid=$db->db_result($erg_res,$i,"uid");
$beschreibung=$db->db_result($erg_res,$i,"beschreibung");
echo '<tr class="liste'.$zeile.'">';
echo '<td>'.$datum.'</td>';
echo '<td>'.$titel.'</td>';
echo '<td>'.$stunde.'</td>';
echo '<td>'.$ort_kurzbz.'</td>';
echo '<td>'.$pers_uid.'</td>';
echo '<td>'.$beschreibung.'<a name="liste'.$i.'">&nbsp;</a></td>';
$z=$i-1;
if (($pers_uid==$uid) || $rechte->isBerechtigt('admin', 0, 'suid'))
echo '<td><A class="Item" href="stpl_reserve_list.php?id='.$id.'#liste'.$z.'">Delete</A></td>';
echo '</tr>';
echo 'Alle Reservierungen:<br>';
echo '<table border="0">';
echo '
<tr class="liste">
<th>Datum</th>
<th>Titel</th>
<th>Stunde</th>
<th>Ort</th>
<th>Person</th>
<th>Beschreibung</th>
<th>Aktion</th>
</tr>';
for ($i=0; $i<$num_rows_res; $i++)
{
$zeile=$i % 2;
$id=$db->db_result($erg_res,$i,"reservierung_id");
$datum=$db->db_result($erg_res,$i,"datum");
$titel=$db->db_result($erg_res,$i,"titel");
$stunde=$db->db_result($erg_res,$i,"stunde");
$ort_kurzbz=$db->db_result($erg_res,$i,"ort_kurzbz");
$pers_uid=$db->db_result($erg_res,$i,"uid");
$beschreibung=$db->db_result($erg_res,$i,"beschreibung");
$insertamum=$db->db_result($erg_res,$i,"insertamum");
$insertvon=$db->db_result($erg_res,$i,"insertvon");
$datum = $datum_obj->formatDatum($datum, 'd.m.Y');
if($insertamum!='')
$insertamum = $datum_obj->formatDatum($insertamum, 'd.m.Y H:i:s');
echo '<tr class="liste'.$zeile.'" title="angelegt am '.$insertamum.' von '.$insertvon.'">';
echo '<td>'.$datum.'</td>';
echo '<td>'.$titel.'</td>';
echo '<td>'.$stunde.'</td>';
echo '<td>'.$ort_kurzbz.'</td>';
echo '<td>'.$pers_uid.'</td>';
echo '<td>'.$beschreibung.'<a name="liste'.$i.'">&nbsp;</a></td>';
$z=$i-1;
if (($pers_uid==$uid) || $rechte->isBerechtigt('lehre/reservierung', null, 'suid'))
echo '<td><A class="Item" href="stpl_reserve_list.php?id='.$id.(isset($_GET['alle'])?'&alle=true':'').'#liste'.$z.'">Delete</A></td>';
echo '</tr>';
}
echo '</table>';
flush();
}
echo '</table>';
flush();
}
else
echo '<a href="stpl_reserve_list.php?alle=true">Alle Reservierungen anzeigen</a>';
?>
</body>
</html>
+33 -18
View File
@@ -144,11 +144,11 @@ if (isset($_POST['titel']))
$berechtigung=new benutzerberechtigung();
$berechtigung->getBerechtigungen($uid);
if ($berechtigung->isBerechtigt('raumres'))
if ($berechtigung->isBerechtigt('lehre/reservierung:begrenzt', null, 'sui'))
$raumres=true;
else
$raumres=false;
unset($berechtigung);
// Authentifizierung
if (check_student($uid))
$user='student';
@@ -172,7 +172,7 @@ if (isset($_POST['reserve']))
else if (isset($_GET['reserve']))
$reserve=$_GET['reserve'];
// Reservieren
if (isset($reserve) && ($user=='lektor' || $raumres))
if (isset($reserve) && $raumres)
{
if(!$erg_std=$db->db_query("SELECT * FROM lehre.tbl_stunde ORDER BY stunde"))
{
@@ -204,21 +204,36 @@ if (isset($reserve) && ($user=='lektor' || $raumres))
echo "<br>Eingabe Beschreibung fehlt! <br>";
else
{
$reservierung = new reservierung();
$reservierung->datum = $datum_res;
$reservierung->uid = $uid;
$reservierung->ort_kurzbz = $ort_kurzbz;
$reservierung->stunde = $stunde;
$reservierung->beschreibung = $_REQUEST['beschreibung'];
$reservierung->titel = $_REQUEST['titel'];
$reservierung->studiengang_kz='0';
if(!$reservierung->save(true))
echo $reservierung->errormsg;
else
$count++;
}
}
$reservierung = new reservierung();
$reservierung->datum = $datum_res;
$reservierung->ort_kurzbz = $ort_kurzbz;
$reservierung->stunde = $stunde;
$reservierung->beschreibung = $_REQUEST['beschreibung'];
$reservierung->titel = $_REQUEST['titel'];
$reservierung->insertamum=date('Y-m-d H:i:s');
$reservierung->insertvon=$uid;
if(isset($_REQUEST['studiengang_kz']))
{
$reservierung->studiengang_kz = $_REQUEST['studiengang_kz'];
$reservierung->semester = $_REQUEST['semester'];
$reservierung->verband = $_REQUEST['verband'];
$reservierung->gruppe = $_REQUEST['gruppe'];
$reservierung->gruppe_kurzbz = $_REQUEST['gruppe_kurzbz'];
$reservierung->uid = $_REQUEST['user_uid'];
}
else
{
$reservierung->studiengang_kz='0';
$reservierung->uid = $uid;
}
if(!$reservierung->save(true))
echo $reservierung->errormsg;
else
$count++;
}
}
else
{
echo "<br>$ort_kurzbz bereits reserviert von ".$db->db_result($suchen_std,0,'"uid"')." $datum_res - Stunde $stunde <br>";
+46 -6
View File
@@ -318,7 +318,17 @@ class benutzerberechtigung extends basis_db
public function getBerechtigungen($uid,$all=false)
{
// Berechtigungen holen
/*
Direkte Berechtigungszuordnung
UNION
Berechtigung ueber Rolle
UNION
Berechtigung ueber Funktion
UNION
Berechtigung ueber Funktion Mitarbeiter
UNION
Berechtigung ueber Funktion Student
*/
$qry = "SELECT
benutzerberechtigung_id, tbl_benutzerrolle.uid, tbl_benutzerrolle.funktion_kurzbz,
tbl_benutzerrolle.rolle_kurzbz, tbl_benutzerrolle.berechtigung_kurzbz, tbl_benutzerrolle.art, tbl_benutzerrolle.art art1,
@@ -354,15 +364,45 @@ class benutzerberechtigung extends basis_db
FROM
system.tbl_benutzerrolle JOIN public.tbl_benutzerfunktion USING(funktion_kurzbz)
WHERE tbl_benutzerfunktion.uid='".addslashes($uid)."'
ORDER BY negativ DESC";
UNION
SELECT
benutzerberechtigung_id, '', tbl_benutzerrolle.funktion_kurzbz,
tbl_benutzerrolle.rolle_kurzbz, tbl_benutzerrolle.berechtigung_kurzbz, tbl_benutzerrolle.art, tbl_benutzerrolle.art art1,
tbl_benutzerrolle.oe_kurzbz, tbl_benutzerrolle.studiensemester_kurzbz, tbl_benutzerrolle.start,
tbl_benutzerrolle.ende, tbl_benutzerrolle.negativ, tbl_benutzerrolle.updateamum, tbl_benutzerrolle.updatevon,
tbl_benutzerrolle.insertamum, tbl_benutzerrolle.insertvon
FROM
system.tbl_benutzerrolle
WHERE
tbl_benutzerrolle.funktion_kurzbz='Mitarbeiter' AND
EXISTS (SELECT mitarbeiter_uid FROM public.tbl_mitarbeiter WHERE mitarbeiter_uid='".addslashes($uid)."')
if(!$this->db_query($qry))
UNION
SELECT
benutzerberechtigung_id, '', tbl_benutzerrolle.funktion_kurzbz,
tbl_benutzerrolle.rolle_kurzbz, tbl_benutzerrolle.berechtigung_kurzbz, tbl_benutzerrolle.art, tbl_benutzerrolle.art art1,
tbl_benutzerrolle.oe_kurzbz, tbl_benutzerrolle.studiensemester_kurzbz, tbl_benutzerrolle.start,
tbl_benutzerrolle.ende, tbl_benutzerrolle.negativ, tbl_benutzerrolle.updateamum, tbl_benutzerrolle.updatevon,
tbl_benutzerrolle.insertamum, tbl_benutzerrolle.insertvon
FROM
system.tbl_benutzerrolle
WHERE
tbl_benutzerrolle.funktion_kurzbz='Student' AND
EXISTS (SELECT student_uid FROM public.tbl_student WHERE student_uid='".addslashes($uid)."')
ORDER BY negativ DESC";
if(!$result = $this->db_query($qry))
{
$this->errormsg='Fehler beim Laden der Berechtigungen';
return false;
}
while($row=$this->db_fetch_object())
while($row=$this->db_fetch_object($result))
{
//wenn die Berechtigung an einer Organisationseinheit haengt, dann werden
//auch die Berechtigungen fuer die darunterliegenden Organisationseinheiten angelegt
@@ -405,9 +445,9 @@ class benutzerberechtigung extends basis_db
$this->berechtigungen[]=$b;
}
}
unset($result);
// Attribute des Mitarbeiters holen
$sql_query="SELECT * FROM public.tbl_mitarbeiter WHERE mitarbeiter_uid='".addslashes($uid)."'";
$sql_query="SELECT fixangestellt, lektor FROM public.tbl_mitarbeiter WHERE mitarbeiter_uid='".addslashes($uid)."'";
if(!$this->db_query($sql_query))
{
$this->errormsg='Fehler beim Laden der Berechtigungen';
+6 -2
View File
@@ -40,6 +40,8 @@ class reservierung extends basis_db
public $verband; // char(1)
public $gruppe; // char(1)
public $gruppe_kurzbz; // varchar(10)
public $insertamum;
public $insertvon;
/**
* Konstruktor - Uebergibt die Connection und laedt optional eine Reservierung
@@ -132,7 +134,7 @@ class reservierung extends basis_db
if($this->new)
{
$qry = 'INSERT INTO campus.tbl_reservierung (ort_kurzbz, studiengang_kz, uid, stunde, datum, titel,
beschreibung, semester, verband, gruppe, gruppe_kurzbz)
beschreibung, semester, verband, gruppe, gruppe_kurzbz, insertamum, insertvon)
VALUES('.$this->addslashes($this->ort_kurzbz).','.
$this->addslashes($this->studiengang_kz).','.
$this->addslashes($this->uid).','.
@@ -143,7 +145,9 @@ class reservierung extends basis_db
$this->addslashes($this->semester).','.
$this->addslashes($this->verband).','.
$this->addslashes($this->gruppe).','.
$this->addslashes($this->gruppe_kurzbz).');';
$this->addslashes($this->gruppe_kurzbz).','.
$this->addslashes($this->insertamum).','.
$this->addslashes($this->insertvon).');';
}
else
{
+1 -1
View File
@@ -227,7 +227,7 @@ class studiengang extends basis_db
$this->errormsg = 'Datensatz konnte nicht geladen werden';
return false;
}
while($row = $this->db_fetch_object($result))
{
$stg_obj = new studiengang();
+130 -9
View File
@@ -32,6 +32,8 @@ require_once(dirname(__FILE__).'/basis_db.class.php');
require_once(dirname(__FILE__).'/lehrstunde.class.php');
require_once(dirname(__FILE__).'/ferien.class.php');
require_once(dirname(__FILE__).'/benutzerberechtigung.class.php');
require_once(dirname(__FILE__).'/studiengang.class.php');
require_once(dirname(__FILE__).'/mitarbeiter.class.php');
require_once(dirname(__FILE__).'/datum.class.php');
class wochenplan extends basis_db
@@ -686,7 +688,7 @@ class wochenplan extends basis_db
$datum_res_lektor_start_m = date('Y-m-d', $datum_res_lektor_start);
$datum_res_lektor_ende_m = date('Y-m-d', $datum_res_lektor_ende);
$datum_m = date('Y-m-d',$datum);
if (($raumres || $this->user=='lektor') && $this->type=='ort' && ($datum_m>=$datum_res_lektor_start_m && $datum_m<=$datum_res_lektor_ende_m))
if ($raumres && $this->type=='ort' && ($datum_m>=$datum_res_lektor_start_m && $datum_m<=$datum_res_lektor_ende_m))
echo '<INPUT type="checkbox" name="reserve'.$i.'_'.$j.'" value="'.date("Y-m-d",$datum).'">'; //&& $datum>=$datum_now
echo '</td>'.$this->crlf;
}
@@ -695,16 +697,135 @@ class wochenplan extends basis_db
$datum=jump_day($datum, 1);
}
echo ' </table>'.$this->crlf;
if ($this->user=='lektor' && $this->type=='ort' && ($datum>=$datum_now && $datum>=$datum_res_lektor_start && $datum_mon<=$datum_res_lektor_ende))
if ($raumres && $this->type=='ort' && ($datum>=$datum_now && $datum>=$datum_res_lektor_start && $datum_mon<=$datum_res_lektor_ende))
{
echo ' <br />Titel: <input onchange="if (this.value.length>0 && document.getElementById(\'beschreibung\').value.length<1) {document.getElementById(\'beschreibung\').value=document.getElementById(\'titel\').value;document.getElementById(\'beschreibung\').focus();};" type="text" id="titel" name="titel" size="10" maxlength="10" value="" /> '.$this->crlf;
echo ' Beschreibung: <input onchange="if (this.value.length<1 && document.getElementById(\'titel\').value.length>0) {alert(\'Achtung! Speichern nur mit Beschreibung moeglich!\');this.focus();};" type="text" id="beschreibung" name="beschreibung" size="20" maxlength="32" value="" /> '.$this->crlf;
echo ' <input type="submit" name="reserve" value="Reservieren" />'.$this->crlf;
echo '<table><tr>';
echo ' <td>Titel:</td><td><input onchange="if (this.value.length>0 && document.getElementById(\'beschreibung\').value.length<1) {document.getElementById(\'beschreibung\').value=document.getElementById(\'titel\').value;document.getElementById(\'beschreibung\').focus();};" type="text" id="titel" name="titel" size="10" maxlength="10" value="" /></td> '.$this->crlf;
echo ' <td>Beschreibung:</td><td colspan="6"> <input onchange="if (this.value.length<1 && document.getElementById(\'titel\').value.length>0) {alert(\'Achtung! Speichern nur mit Beschreibung moeglich!\');this.focus();};" type="text" id="beschreibung" name="beschreibung" size="20" maxlength="32" value="" /> </td>'.$this->crlf;
$rechte = new benutzerberechtigung();
$rechte->getBerechtigungen($user_uid);
//Pruefen ob die erweiterte Reservierungsrechte vorhanden sind
if($rechte->isBerechtigt('lehre/reservierung', null, 'sui'))
{
//Lektor
echo '<td>Lektor</td>
<td><SELECT name="user_uid">'.$this->crlf;
$qry = "SELECT uid, kurzbz FROM public.tbl_mitarbeiter JOIN public.tbl_benutzer ON(uid=mitarbeiter_uid)
WHERE aktiv=true
ORDER BY kurzbz, uid";
if($result = $this->db_query($qry))
{
while($row = $this->db_fetch_object($result))
{
if($row->uid==$user_uid)
$selected='selected="selected"';
else
$selected='';
echo '<OPTION value="'.$row->uid.'" '.$selected.'>'.$row->kurzbz.'</OPTION>'.$this->crlf;
}
}
echo '</SELECT></td>'.$this->crlf;
echo '</tr><tr>'.$this->crlf;
//Studiengaenge Laden fuer die eine erweiterte Reservierungsberechtigung vorhanden ist
$stg = new studiengang();
$stg->loadArray($rechte->getStgKz('lehre/reservierung'),'typ, kurzbz',true);
//Studiengang
echo '<td>Studiengang</td><td> <SELECT name="studiengang_kz">'.$this->crlf;
echo '<OPTION value="0">*</OPTION>'.$this->crlf;
foreach($stg->result as $row)
{
echo '<OPTION value="'.$row->studiengang_kz.'">'.$row->kuerzel.' ('.$row->kurzbzlang.')</OPTION>'.$this->crlf;
}
echo '</SELECT></td>';
//Semester
echo '<td>Semester </td>
<td>
<SELECT name="semester" />
<OPTION value="">*</OPTION>
<OPTION value="1">1</OPTION>
<OPTION value="2">2</OPTION>
<OPTION value="3">3</OPTION>
<OPTION value="4">4</OPTION>
<OPTION value="5">5</OPTION>
<OPTION value="6">6</OPTION>
<OPTION value="7">7</OPTION>
<OPTION value="8">8</OPTION>
</SELECT>
<td>
'.$this->crlf;
//Verband
echo '<td>Verband</td>
<td>
<SELECT name="verband" />
<OPTION value="">*</OPTION>
<OPTION value="A">A</OPTION>
<OPTION value="B">B</OPTION>
<OPTION value="C">C</OPTION>
<OPTION value="D">D</OPTION>
<OPTION value="F">F</OPTION>
<OPTION value="V">V</OPTION>
</SELECT>
</td>'.$this->crlf;
//Gruppe
echo '<td>Gruppe</td>
<td>
<SELECT name="gruppe" />
<OPTION value="">*</OPTION>
<OPTION value="1">1</OPTION>
<OPTION value="2">2</OPTION>
<OPTION value="3">3</OPTION>
<OPTION value="4">4</OPTION>
</SELECT>
</td>'.$this->crlf;
//Spezialgruppe
echo '<td>Spezialgruppe</td><td><SELECT name="gruppe_kurzbz">'.$this->crlf;
echo '<OPTION value="">*</OPTION>'.$this->crlf;
//Spezialgruppen aus den Studiengaengen mit erweiterten Reservierungsberechtigung holen
$stgs = $rechte->getStgKz('lehre/reservierung');
$in='';
foreach($stgs as $stg)
{
$in .= "'".addslashes($stg)."',";
}
$in = substr($in, 0, -1);
$qry = "SELECT * FROM public.tbl_gruppe WHERE studiengang_kz in($in) AND lehre=true AND sichtbar=true ORDER BY gruppe_kurzbz";
if($result = $this->db_query($qry))
{
while($row = $this->db_fetch_object($result))
{
echo '<OPTION value="'.$row->gruppe_kurzbz.'">'.$row->gruppe_kurzbz.'</OPTION>'.$this->crlf;
}
}
echo '</SELECT></td>'.$this->crlf;
}
else
{
echo ' <input type="hidden" name="user_uid" value="'.$this->user_uid.'" />'.$this->crlf;
echo ' <input type="hidden" name="ort_kurzbz" value="'.$this->ort_kurzbz.'" />'.$this->crlf;
echo ' <input type="hidden" name="datum" value="'.$this->datum.'" />'.$this->crlf;
echo ' <input type="hidden" name="type" value="'.$this->type.'" />'.$this->crlf;
echo '</form>';
}
echo '<td>';
echo ' <input type="submit" name="reserve" value="Reservieren" />'.$this->crlf;
echo ' <input type="hidden" name="ort_kurzbz" value="'.$this->ort_kurzbz.'" />'.$this->crlf;
echo ' <input type="hidden" name="datum" value="'.$this->datum.'" />'.$this->crlf;
echo ' <input type="hidden" name="type" value="'.$this->type.'" />'.$this->crlf;
echo '</td>';
echo '</tr></table></form>';
echo ' <a href="/cis/private/lvplan/stpl_reserve_list.php">Reservierungen löschen </a>';
}
}
+1 -1
View File
@@ -43,7 +43,7 @@ echo '
<RDF:Seq about="'.$rdf_url.'/liste">
';
$qry = 'SELECT * FROM public.tbl_funktion ORDER BY beschreibung';
$qry = 'SELECT * FROM public.tbl_funktion WHERE aktiv ORDER BY beschreibung';
$db = new basis_db();
if($db->db_query($qry))
+142 -202
View File
@@ -19549,7 +19549,6 @@
<LineList>
<Id>{8E243342-98D3-4EAF-A5AE-FCCA6C21FA92}</Id>
<Id>{C467E70C-FDB5-4077-A1BB-E9EDAD431133}</Id>
<Id>{DC74EFF2-A9DA-41DE-BE50-F671A7C13AF6}</Id>
<Id>{5BFF7FBF-9925-4030-9FA3-24C164B0E4A9}</Id>
<Id>{F932700D-7ED7-4302-82CD-454174D51965}</Id>
<Id>{D0AFF09F-C978-4863-B564-5BEAC0BD76BB}</Id>
@@ -20329,8 +20328,8 @@
<FontStyle>0</FontStyle>
<FormatLocked>0</FormatLocked>
<FontHeight>-28</FontHeight>
<Top>3637</Top>
<Left>196</Left>
<Top>3332</Top>
<Left>190</Left>
<z>0</z>
<Width>827</Width>
<Height>200</Height>
@@ -20403,8 +20402,8 @@
<FontStyle>0</FontStyle>
<FormatLocked>0</FormatLocked>
<FontHeight>-28</FontHeight>
<Top>2964</Top>
<Left>157</Left>
<Top>2659</Top>
<Left>151</Left>
<z>0</z>
<Width>904</Width>
<Height>551</Height>
@@ -20915,7 +20914,6 @@
<Id>{4C600B20-1BBE-473A-96C8-99BF0FFA188E}</Id>
<Id>{933927C5-9BCC-40A3-A80A-FCF852D73769}</Id>
<Id>{3421DA78-A78B-4D5E-81BF-1F12D75BC5A7}</Id>
<Id>{82685A93-6953-4B04-843D-2FF2824B33B5}</Id>
<Id>{99704522-73F2-46DE-966E-EFF206DD1A41}</Id>
<Id>{B1C17E11-0CBD-471C-9B9A-FCB45C7D8200}</Id>
</LineList>
@@ -21117,44 +21115,6 @@
<DisplayGraphicalKeys>1</DisplayGraphicalKeys>
<Gradient>1</Gradient>
</WorkSpaceShapePEREntityPG83>
<WorkSpaceShapePEREntityPG83 ObjectType="2502" CSAOName="WorkSpaceShapePEREntityPG83">
<Id>{91BA0243-304A-4001-80BF-C75C622D009C}</Id>
<Name>tbl_reservierung</Name>
<Ordinal>0</Ordinal>
<HistoryID>{4F6AF445-FC9D-442F-B186-00EFEA54EFF6}</HistoryID>
<GlobalOrder>0</GlobalOrder>
<ParentBaseID>{A99B42E5-E7D3-4396-98DB-D4A5C5BE71BD}</ParentBaseID>
<PenWidth>1</PenWidth>
<PenColor>0</PenColor>
<BrushColor>15780518</BrushColor>
<FontCharset>238</FontCharset>
<FontColor>0</FontColor>
<FontName>Arial</FontName>
<FontStyle>0</FontStyle>
<FormatLocked>0</FormatLocked>
<FontHeight>-28</FontHeight>
<Top>2315</Top>
<Left>163</Left>
<z>0</z>
<Width>858</Width>
<Height>551</Height>
<dz>0</dz>
<RecalculateSizes>1</RecalculateSizes>
<UseWorkSpaceRecalculateSizes>1</UseWorkSpaceRecalculateSizes>
<Shadow>1</Shadow>
<FullBackground>1</FullBackground>
<LineList>
<Id>{DC74EFF2-A9DA-41DE-BE50-F671A7C13AF6}</Id>
<Id>{82685A93-6953-4B04-843D-2FF2824B33B5}</Id>
</LineList>
<DisplayIndexes>1</DisplayIndexes>
<AlignInColumns>1</AlignInColumns>
<DisplayMode>5</DisplayMode>
<DisplayTypes>1</DisplayTypes>
<DisplayDictTypesAsDataTypes>0</DisplayDictTypesAsDataTypes>
<DisplayGraphicalKeys>1</DisplayGraphicalKeys>
<Gradient>1</Gradient>
</WorkSpaceShapePEREntityPG83>
<WorkSpaceShapePEREntityPG83 ObjectType="2502" CSAOName="WorkSpaceShapePEREntityPG83">
<Id>{02818E50-653A-4992-BBE2-4140B5EA18A4}</Id>
<Name>tbl_organisationseinheit</Name>
@@ -21431,57 +21391,6 @@
</Point>
</Points>
</WorkSpaceLinePERRelationPG83>
<WorkSpaceLinePERRelationPG83 ObjectType="2504" CSAOName="WorkSpaceLinePERRelationPG83">
<Id>{DC74EFF2-A9DA-41DE-BE50-F671A7C13AF6}</Id>
<Name>fk_studiengang_reservierung</Name>
<Ordinal>0</Ordinal>
<HistoryID>{968C3305-6B62-44CA-8843-16B64A78BD68}</HistoryID>
<GlobalOrder>0</GlobalOrder>
<ParentBaseID>{5DA5E226-881B-4D94-8690-081CF88C8633}</ParentBaseID>
<PenWidth>1</PenWidth>
<PenColor>0</PenColor>
<BrushColor>16777215</BrushColor>
<FontCharset>238</FontCharset>
<FontColor>0</FontColor>
<FontName>Arial</FontName>
<FontStyle>0</FontStyle>
<FormatLocked>0</FormatLocked>
<FontHeight>-28</FontHeight>
<WorkSpaceShape1>
<Id>{4C98A428-14DD-4587-B44B-5A31CAA42B19}</Id>
</WorkSpaceShape1>
<WorkSpaceShape2>
<Id>{91BA0243-304A-4001-80BF-C75C622D009C}</Id>
</WorkSpaceShape2>
<NamePositionX>1161</NamePositionX>
<NamePositionY>2530</NamePositionY>
<Points>
<Point>
<x>1701</x>
<y>2293</y>
</Point>
<Point>
<x>1701</x>
<y>2324</y>
</Point>
<Point>
<x>1376</x>
<y>2324</y>
</Point>
<Point>
<x>1052</x>
<y>2324</y>
</Point>
<Point>
<x>1052</x>
<y>2499</y>
</Point>
<Point>
<x>1021</x>
<y>2499</y>
</Point>
</Points>
</WorkSpaceLinePERRelationPG83>
<WorkSpaceLinePERRelationPG83 ObjectType="2504" CSAOName="WorkSpaceLinePERRelationPG83">
<Id>{5BFF7FBF-9925-4030-9FA3-24C164B0E4A9}</Id>
<Name>fk_studiengang_reihungstest</Name>
@@ -22274,7 +22183,7 @@
<Id>{4C98A428-14DD-4587-B44B-5A31CAA42B19}</Id>
</WorkSpaceShape2>
<NamePositionX>1414</NamePositionX>
<NamePositionY>2368</NamePositionY>
<NamePositionY>2283</NamePositionY>
<Points>
<Point>
<x>2424</x>
@@ -22293,11 +22202,11 @@
<y>2324</y>
</Point>
<Point>
<x>2042</x>
<x>1872</x>
<y>2324</y>
</Point>
<Point>
<x>2042</x>
<x>1872</x>
<y>2293</y>
</Point>
</Points>
@@ -22580,7 +22489,7 @@
<Id>{C2303976-8004-4530-A9DC-543D000F94C9}</Id>
</WorkSpaceShape2>
<NamePositionX>6559</NamePositionX>
<NamePositionY>2343</NamePositionY>
<NamePositionY>2339</NamePositionY>
<Points>
<Point>
<x>3226</x>
@@ -22600,11 +22509,11 @@
</Point>
<Point>
<x>7609</x>
<y>2402</y>
<y>2581</y>
</Point>
<Point>
<x>7640</x>
<y>2402</y>
<y>2581</y>
</Point>
</Points>
</WorkSpaceLinePERRelationPG83>
@@ -22834,7 +22743,7 @@
<WorkSpaceShape2>
<Id>{CA4F7EAC-55C4-480E-B7C9-180DB66AC5B0}</Id>
</WorkSpaceShape2>
<NamePositionX>8730</NamePositionX>
<NamePositionX>8741</NamePositionX>
<NamePositionY>2237</NamePositionY>
<Points>
<Point>
@@ -22855,11 +22764,11 @@
</Point>
<Point>
<x>8843</x>
<y>2312</y>
<y>2289</y>
</Point>
<Point>
<x>8874</x>
<y>2312</y>
<y>2289</y>
</Point>
</Points>
</WorkSpaceLinePERRelationPG83>
@@ -22885,16 +22794,16 @@
<WorkSpaceShape2>
<Id>{0C663600-4D6D-4A2E-800A-153F59399066}</Id>
</WorkSpaceShape2>
<NamePositionX>8615</NamePositionX>
<NamePositionX>8626</NamePositionX>
<NamePositionY>1691</NamePositionY>
<Points>
<Point>
<x>8874</x>
<y>2029</y>
<y>2052</y>
</Point>
<Point>
<x>8843</x>
<y>2029</y>
<y>2052</y>
</Point>
<Point>
<x>8843</x>
@@ -22987,32 +22896,32 @@
<WorkSpaceShape2>
<Id>{C1125389-C466-4DFA-88C1-872A5EAA6C84}</Id>
</WorkSpaceShape2>
<NamePositionX>7478</NamePositionX>
<NamePositionY>263</NamePositionY>
<NamePositionX>4244</NamePositionX>
<NamePositionY>2586</NamePositionY>
<Points>
<Point>
<x>7640</x>
<y>2581</y>
<y>2402</y>
</Point>
<Point>
<x>7609</x>
<y>2581</y>
<y>2402</y>
</Point>
<Point>
<x>4350</x>
<y>2581</y>
<x>4344</x>
<y>2276</y>
</Point>
<Point>
<x>4350</x>
<y>3331</y>
<x>4344</x>
<y>3026</y>
</Point>
<Point>
<x>1092</x>
<y>3331</y>
<x>1086</x>
<y>3026</y>
</Point>
<Point>
<x>1061</x>
<y>3331</y>
<x>1055</x>
<y>3026</y>
</Point>
</Points>
</WorkSpaceLinePERRelationPG83>
@@ -23501,32 +23410,32 @@
<WorkSpaceShape2>
<Id>{C1125389-C466-4DFA-88C1-872A5EAA6C84}</Id>
</WorkSpaceShape2>
<NamePositionX>524</NamePositionX>
<NamePositionY>3503</NamePositionY>
<NamePositionX>518</NamePositionX>
<NamePositionY>3198</NamePositionY>
<Points>
<Point>
<x>610</x>
<y>3637</y>
<x>604</x>
<y>3332</y>
</Point>
<Point>
<x>610</x>
<y>3606</y>
<x>604</x>
<y>3301</y>
</Point>
<Point>
<x>610</x>
<y>3576</y>
<x>604</x>
<y>3271</y>
</Point>
<Point>
<x>609</x>
<y>3576</y>
<x>603</x>
<y>3271</y>
</Point>
<Point>
<x>609</x>
<y>3546</y>
<x>603</x>
<y>3241</y>
</Point>
<Point>
<x>609</x>
<y>3515</y>
<x>603</x>
<y>3210</y>
</Point>
</Points>
</WorkSpaceLinePERRelationPG83>
@@ -23909,8 +23818,8 @@
<WorkSpaceShape2>
<Id>{C1125389-C466-4DFA-88C1-872A5EAA6C84}</Id>
</WorkSpaceShape2>
<NamePositionX>1090</NamePositionX>
<NamePositionY>2847</NamePositionY>
<NamePositionX>1009</NamePositionX>
<NamePositionY>2542</NamePositionY>
<Points>
<Point>
<x>1291</x>
@@ -23921,20 +23830,20 @@
<y>2693</y>
</Point>
<Point>
<x>1260</x>
<y>2920</y>
<x>1254</x>
<y>2615</y>
</Point>
<Point>
<x>1092</x>
<y>2920</y>
<x>1086</x>
<y>2615</y>
</Point>
<Point>
<x>1092</x>
<y>3148</y>
<x>1086</x>
<y>2843</y>
</Point>
<Point>
<x>1061</x>
<y>3148</y>
<x>1055</x>
<y>2843</y>
</Point>
</Points>
</WorkSpaceLinePERRelationPG83>
@@ -24346,57 +24255,6 @@
</Point>
</Points>
</WorkSpaceLinePERRelationPG83>
<WorkSpaceLinePERRelationPG83 ObjectType="2504" CSAOName="WorkSpaceLinePERRelationPG83">
<Id>{82685A93-6953-4B04-843D-2FF2824B33B5}</Id>
<Name>fk_benutzer_reservierung</Name>
<Ordinal>0</Ordinal>
<HistoryID>{0FE17FC5-E5C9-4BFB-9D0F-E5F84E3CAAF1}</HistoryID>
<GlobalOrder>0</GlobalOrder>
<ParentBaseID>{A80BE599-3CAF-4616-AF5B-29650AB78786}</ParentBaseID>
<PenWidth>1</PenWidth>
<PenColor>0</PenColor>
<BrushColor>16777215</BrushColor>
<FontCharset>238</FontCharset>
<FontColor>0</FontColor>
<FontName>Arial</FontName>
<FontStyle>0</FontStyle>
<FormatLocked>0</FormatLocked>
<FontHeight>-28</FontHeight>
<WorkSpaceShape1>
<Id>{CA4F7EAC-55C4-480E-B7C9-180DB66AC5B0}</Id>
</WorkSpaceShape1>
<WorkSpaceShape2>
<Id>{91BA0243-304A-4001-80BF-C75C622D009C}</Id>
</WorkSpaceShape2>
<NamePositionX>5948</NamePositionX>
<NamePositionY>2337</NamePositionY>
<Points>
<Point>
<x>8874</x>
<y>2218</y>
</Point>
<Point>
<x>8843</x>
<y>2218</y>
</Point>
<Point>
<x>4947</x>
<y>2218</y>
</Point>
<Point>
<x>4947</x>
<y>2682</y>
</Point>
<Point>
<x>1052</x>
<y>2682</y>
</Point>
<Point>
<x>1021</x>
<y>2682</y>
</Point>
</Points>
</WorkSpaceLinePERRelationPG83>
<WorkSpaceLinePERRelationPG83 ObjectType="2504" CSAOName="WorkSpaceLinePERRelationPG83">
<Id>{99704522-73F2-46DE-966E-EFF206DD1A41}</Id>
<Name>fk_benutzer_benutzerfunktion</Name>
@@ -24424,11 +24282,11 @@
<Points>
<Point>
<x>8874</x>
<y>2123</y>
<y>2170</y>
</Point>
<Point>
<x>8843</x>
<y>2123</y>
<y>2170</y>
</Point>
<Point>
<x>6384</x>
@@ -29054,7 +28912,7 @@
<Left>54</Left>
<z>0</z>
<Width>858</Width>
<Height>551</Height>
<Height>629</Height>
<dz>0</dz>
<RecalculateSizes>1</RecalculateSizes>
<UseWorkSpaceRecalculateSizes>1</UseWorkSpaceRecalculateSizes>
@@ -29783,7 +29641,7 @@
<Id>{8331BBC6-0552-4561-BD23-4079196ABB79}</Id>
</WorkSpaceShape2>
<NamePositionX>768</NamePositionX>
<NamePositionY>3269</NamePositionY>
<NamePositionY>3281</NamePositionY>
<Points>
<Point>
<x>1012</x>
@@ -29803,11 +29661,11 @@
</Point>
<Point>
<x>943</x>
<y>3270</y>
<y>3310</y>
</Point>
<Point>
<x>912</x>
<y>3270</y>
<y>3310</y>
</Point>
</Points>
</WorkSpaceLinePERRelationPG83>
@@ -34686,7 +34544,7 @@
<Company>Technikum Wien</Company>
<Version>2.0</Version>
<CreatedDate>2009-04-17T10:15:21.000+01:00</CreatedDate>
<ModifiedDate>2010-01-15T16:09:43.265+01:00</ModifiedDate>
<ModifiedDate>2010-01-27T16:25:24.031+01:00</ModifiedDate>
<Project>FH-Complete 2.0</Project>
<Description></Description>
</ModelTitlePG83>
@@ -47443,6 +47301,88 @@ Studiengang&gt;0 und Semester&gt;0 -&gt; News fuer bestimmtes Semester im Studie
<ArrDims></ArrDims>
<IsArray>0</IsArray>
</PERAttributePG83>
<PERAttributePG83 ObjectType="2003" CSAOName="PERAttributePG83">
<Id>{062FE967-1B4C-49AE-8B1F-D622926B172E}</Id>
<Name>insertamum</Name>
<Ordinal>0</Ordinal>
<HistoryID>{F1B322C0-2F68-4C57-8DD8-B8A2367EF231}</HistoryID>
<GlobalOrder>0</GlobalOrder>
<RNOffset>0</RNOffset>
<RNLength>0</RNLength>
<IgnoreNC>0</IgnoreNC>
<GenerateCode>1</GenerateCode>
<BeforeScript></BeforeScript>
<AfterScript></AfterScript>
<Notes></Notes>
<Comments></Comments>
<DataTypeParam1></DataTypeParam1>
<DataTypeParam2></DataTypeParam2>
<KeepForeignKey>0</KeepForeignKey>
<DefaultValue></DefaultValue>
<NotNull>0</NotNull>
<Migrated>0</Migrated>
<Caption>insertamum</Caption>
<Unique>0</Unique>
<OriginalName></OriginalName>
<CheckConstraint></CheckConstraint>
<CheckConstraintName></CheckConstraintName>
<KeyConstraintItems/>
<PKForeignKeys/>
<FKForeignKeys/>
<DictType/>
<Domain/>
<DataType>
<Id>{342E3F36-138D-40F7-B1B2-D9489C848835}</Id>
</DataType>
<UserDataType/>
<IndexItems/>
<Default/>
<CheckConstraints/>
<KeyConstraint/>
<ArrDims></ArrDims>
<IsArray>0</IsArray>
</PERAttributePG83>
<PERAttributePG83 ObjectType="2003" CSAOName="PERAttributePG83">
<Id>{77BD873A-E512-457F-8AE4-FF08703E1765}</Id>
<Name>insertvon</Name>
<Ordinal>0</Ordinal>
<HistoryID>{A46EB17F-EBA1-481B-AEF6-60E6E42254B0}</HistoryID>
<GlobalOrder>0</GlobalOrder>
<RNOffset>0</RNOffset>
<RNLength>0</RNLength>
<IgnoreNC>0</IgnoreNC>
<GenerateCode>1</GenerateCode>
<BeforeScript></BeforeScript>
<AfterScript></AfterScript>
<Notes></Notes>
<Comments></Comments>
<DataTypeParam1>32</DataTypeParam1>
<DataTypeParam2></DataTypeParam2>
<KeepForeignKey>0</KeepForeignKey>
<DefaultValue></DefaultValue>
<NotNull>0</NotNull>
<Migrated>0</Migrated>
<Caption>insertvon</Caption>
<Unique>0</Unique>
<OriginalName></OriginalName>
<CheckConstraint></CheckConstraint>
<CheckConstraintName></CheckConstraintName>
<KeyConstraintItems/>
<PKForeignKeys/>
<FKForeignKeys/>
<DictType/>
<Domain/>
<DataType>
<Id>{ECB8F02F-B683-4252-8508-ED9D064C9AF3}</Id>
</DataType>
<UserDataType/>
<IndexItems/>
<Default/>
<CheckConstraints/>
<KeyConstraint/>
<ArrDims></ArrDims>
<IsArray>0</IsArray>
</PERAttributePG83>
</Attributes>
<Keys>
<PERKeyConstraintPG83 ObjectType="2010" CSAOName="PERKeyConstraintPG83">
@@ -159767,7 +159707,7 @@ SELECT tbl_benutzer.uid, tbl_benutzergruppe.gruppe_kurzbz, tbl_gruppe.studiengan
<Comments></Comments>
<SQL>
<![CDATA[AS
SELECT tbl_reservierung.reservierung_id, tbl_reservierung.ort_kurzbz, tbl_reservierung.studiengang_kz, tbl_reservierung.uid, tbl_reservierung.stunde, tbl_reservierung.datum, tbl_reservierung.titel, tbl_reservierung.beschreibung, tbl_reservierung.semester, tbl_reservierung.verband, tbl_reservierung.gruppe, tbl_reservierung.gruppe_kurzbz, tbl_studiengang.kurzbz AS stg_kurzbz FROM (campus.tbl_reservierung JOIN tbl_studiengang USING (studiengang_kz))]]>
SELECT tbl_reservierung.reservierung_id, tbl_reservierung.ort_kurzbz, tbl_reservierung.studiengang_kz, tbl_reservierung.uid, tbl_reservierung.stunde, tbl_reservierung.datum, tbl_reservierung.titel, tbl_reservierung.beschreibung, tbl_reservierung.semester, tbl_reservierung.verband, tbl_reservierung.gruppe, tbl_reservierung.gruppe_kurzbz, tbl_studiengang.kurzbz AS stg_kurzbz, tbl_reservierung.insertamum, tbl_reservierung.insertvon FROM (campus.tbl_reservierung JOIN tbl_studiengang USING (studiengang_kz))]]>
</SQL>
<Caption>vw_reservierung</Caption>
<GenerateSQLOnly>0</GenerateSQLOnly>
+22 -1
View File
@@ -325,6 +325,27 @@ if(@$db->db_query("SELECT organisationsform FROM public.tbl_studiengang LIMIT 1"
echo 'public.tbl_studiengang: Spalte organisationsform entfernt!<br>';
}
if(@$db->db_query("SELECT insertamum FROM campus.tbl_reservierung LIMIT 1;"))
{
$qry = "ALTER TABLE campus.tbl_reservierung ADD COLUMN insertamum timestamp;
ALTER TABLE campus.tbl_reservierung ADD COLUMN insertvon varchar(32);
DROP VIEW campus.vw_reservierung;
CREATE VIEW campus.vw_reservierung AS
SELECT tbl_reservierung.reservierung_id, tbl_reservierung.ort_kurzbz, tbl_reservierung.studiengang_kz,
tbl_reservierung.uid, tbl_reservierung.stunde, tbl_reservierung.datum, tbl_reservierung.titel,
tbl_reservierung.beschreibung, tbl_reservierung.semester, tbl_reservierung.verband, tbl_reservierung.gruppe,
tbl_reservierung.gruppe_kurzbz, tbl_studiengang.kurzbz AS stg_kurzbz, tbl_reservierung.insertamum, tbl_reservierung.insertvon
FROM campus.tbl_reservierung JOIN public.tbl_studiengang USING (studiengang_kz);
GRANT SELECT ON campus.vw_reservierung TO GROUP web;
GRANT SELECT ON campus.vw_reservierung TO GROUP admin;";
if(!$db->db_query($qry))
echo '<strong>campus.tbl_reservierung: '.$db->db_last_error().'</strong><br>';
else
echo 'campus.tbl_reservierung: Spalte insertamum und insertvon hinzugefuegt!<br>';
}
echo '<br>';
@@ -364,7 +385,7 @@ $tabellen=array(
"campus.tbl_notenschluesseluebung" => array("uebung_id","note","punkte"),
"campus.tbl_paabgabetyp" => array("paabgabetyp_kurzbz","bezeichnung"),
"campus.tbl_paabgabe" => array("paabgabe_id","projektarbeit_id","paabgabetyp_kurzbz","fixtermin","datum","kurzbz","abgabedatum", "insertvon","insertamum","updatevon","updateamum"),
"campus.tbl_reservierung" => array("reservierung_id","ort_kurzbz","studiengang_kz","uid","stunde","datum","titel","beschreibung","semester","verband","gruppe","gruppe_kurzbz","veranstaltung_id"),
"campus.tbl_reservierung" => array("reservierung_id","ort_kurzbz","studiengang_kz","uid","stunde","datum","titel","beschreibung","semester","verband","gruppe","gruppe_kurzbz","veranstaltung_id","insertamum","insertvon"),
"campus.tbl_resturlaub" => array("mitarbeiter_uid","resturlaubstage","mehrarbeitsstunden","updateamum","updatevon","insertamum","insertvon","urlaubstageprojahr"),
"campus.tbl_studentbeispiel" => array("student_uid","beispiel_id","vorbereitet","probleme","updateamum","updatevon","insertamum","insertvon"),
"campus.tbl_studentuebung" => array("student_uid","mitarbeiter_uid","abgabe_id","uebung_id","note","mitarbeitspunkte","punkte","anmerkung","benotungsdatum","updateamum","updatevon","insertamum","insertvon"),
+4 -1
View File
@@ -28,7 +28,7 @@
require_once('../../config/vilesci.config.inc.php');
require_once('../../include/basis_db.class.php');
if (!$db = new basis_db())
die('Es konnte keine Verbindung zum Server aufgebaut werden.');
die('Es konnte keine Verbindung zum Server aufgebaut werden.');
$sql_query="SELECT funktion_kurzbz, beschreibung FROM public.tbl_funktion ORDER BY funktion_kurzbz";
$result_funktion=$db->db_query($sql_query);
@@ -59,6 +59,7 @@ if ($result_funktion!=0)
echo '<th></th>';
for ($i=0;$i<$num_fields; $i++)
echo "<th class='table-sortable:default'>".$db->db_field_name($result_funktion,$i)."</th>";
echo '<th></th>';
echo '</tr></thead><tbody>';
for ($j=0; $j<$num_rows;$j++)
{
@@ -68,6 +69,8 @@ if ($result_funktion!=0)
echo "<td><a href=\"funktion_det.php?kurzbz=$row[0]\">Details</a></td>";
for ($i=0; $i<$num_fields; $i++)
echo "<td>$row[$i]</td>";
echo "<td><a href=\"../stammdaten/benutzerberechtigung_details.php?funktion_kurzbz=$row[0]\">Berechtigungen</a></td>";
echo "</tr>\n";
}
}
@@ -31,6 +31,7 @@
require_once('../../include/studiensemester.class.php');
require_once('../../include/person.class.php');
require_once('../../include/benutzer.class.php');
require_once('../../include/funktion.class.php');
$user = get_uid();
@@ -64,6 +65,9 @@
if(isset($_POST['del']))
{
if(!$rechte->isBerechtigt('basis/berechtigung', null, 'suid'))
die('Sie haben keine Berechtigung fuer diese Aktion');
$benutzerberechtigung_id = $_POST['benutzerberechtigung_id'];
$ber = new benutzerberechtigung();
@@ -86,6 +90,7 @@
$berechtigung_kurzbz = $_POST['berechtigung_kurzbz'];
$rolle_kurzbz = $_POST['rolle_kurzbz'];
$uid = $_POST['uid'];
$funktion_kurzbz = $_POST['funktion_kurzbz'];
$studiensemester_kurzbz = $_POST['studiensemester_kurzbz'];
$start = $_POST['start'];
$ende = $_POST['ende'];
@@ -113,6 +118,7 @@
$ber->berechtigung_kurzbz = $berechtigung_kurzbz;
$ber->rolle_kurzbz = $rolle_kurzbz;
$ber->uid = $uid;
$ber->funktion_kurzbz = $funktion_kurzbz;
$ber->studiensemester_kurzbz = $studiensemester_kurzbz;
$ber->start = $start;
$ber->ende = $ende;
@@ -163,101 +169,116 @@
$oe = new organisationseinheit();
$oe->getAll();
if (isset($_REQUEST['uid']))
if (isset($_REQUEST['uid']) || isset($_REQUEST['funktion_kurzbz']))
{
$uid = $_REQUEST['uid'];
$ben = new benutzer();
if (!$ben->load($uid))
$htmlstr .= "<br><div class='kopf'>Benutzer <b>".$uid."</b> existiert nicht</div>";
else
$uid='';
$funktion_kurzbz='';
$rights = new benutzerberechtigung();
if(isset($_REQUEST['uid']) && $_REQUEST['uid']!='')
{
$rights = new benutzerberechtigung();
$uid = $_REQUEST['uid'];
$ben = new benutzer();
if (!$ben->load($uid))
die('Benutzer existiert nicht');
$rights->loadBenutzerRollen($uid);
$htmlstr .= "<br><div class='kopf'>Berechtigungen <b>".$uid."</b></div>\n";
$htmlstr .= "<table class='detail' style='padding-top:10px;'>\n";
$htmlstr .= "<tr></tr>\n";
$htmlstr .= "<tr><td>Rolle</td><td>Berechtigung</td><td>Art</td><td>Organisationseinheit</td><td>Semester</td><td>Neg</td><td>Start</td><td>Ende</td><td></td><td></td><td></td></tr>\n";
foreach($rights->berechtigungen as $b)
{
$htmlstr .= "<form action='benutzerberechtigung_details.php' 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 .= " <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";
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 .= " </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";
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 .= " </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";
//Organisationseinheit
$htmlstr .= " <td><select name='oe_kurzbz' onchange='markier(\"".$b->benutzerberechtigung_id."\")'>\n";
$htmlstr .= " <option value=''>-- Alle --</option>\n";
foreach ($oe->result as $oekey)
{
if ($b->oe_kurzbz == $oekey->oe_kurzbz && $b->oe_kurzbz != null)
$sel = " selected";
else
$sel = "";
$htmlstr .= " <option value='".$oekey->oe_kurzbz."' ".$sel.">".$oekey->organisationseinheittyp_kurzbz.' '.$oekey->bezeichnung.'</option>';
}
$htmlstr .= " </select></td>\n";
//Studiensemester
$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++)
{
if ($b->studiensemester_kurzbz == $st_arr[$i])
$sel = " selected";
else
$sel = "";
$htmlstr .= " <option value='".$st_arr[$i]."' ".$sel.">".$st_arr[$i]."</option>";
}
$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><input type='submit' name='schick' value='speichern'></td>";
$htmlstr .= " <td><input type='submit' name='del' value='l&ouml;schen'></td>";
$htmlstr .= " </tr>\n";
$htmlstr .= "</form>\n";
}
elseif(isset($_REQUEST['funktion_kurzbz']) && $_REQUEST['funktion_kurzbz']!='')
{
$funktion_kurzbz = $_REQUEST['funktion_kurzbz'];
$funktion = new funktion();
if(!$funktion->load($funktion_kurzbz))
die('Funktion existiert nicht');
$rights->loadBenutzerRollen(null, $funktion_kurzbz);
}
$htmlstr .= "<br><div class='kopf'>Berechtigungen <b>".$uid.$funktion_kurzbz."</b></div>\n";
$htmlstr .= "<table class='detail' style='padding-top:10px;'>\n";
$htmlstr .= "<tr></tr>\n";
$htmlstr .= "<tr><td>Rolle</td><td>Berechtigung</td><td>Art</td><td>Organisationseinheit</td><td>Semester</td><td>Neg</td><td>Start</td><td>Ende</td><td></td><td></td><td></td></tr>\n";
foreach($rights->berechtigungen as $b)
{
$htmlstr .= "<form action='benutzerberechtigung_details.php' 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";
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 .= " </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";
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 .= " </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";
//Organisationseinheit
$htmlstr .= " <td><select name='oe_kurzbz' onchange='markier(\"".$b->benutzerberechtigung_id."\")'>\n";
$htmlstr .= " <option value=''>-- Alle --</option>\n";
foreach ($oe->result as $oekey)
{
if ($b->oe_kurzbz == $oekey->oe_kurzbz && $b->oe_kurzbz != null)
$sel = " selected";
else
$sel = "";
$htmlstr .= " <option value='".$oekey->oe_kurzbz."' ".$sel.">".$oekey->organisationseinheittyp_kurzbz.' '.$oekey->bezeichnung.'</option>';
}
$htmlstr .= " </select></td>\n";
//Studiensemester
$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++)
{
if ($b->studiensemester_kurzbz == $st_arr[$i])
$sel = " selected";
else
$sel = "";
$htmlstr .= " <option value='".$st_arr[$i]."' ".$sel.">".$st_arr[$i]."</option>";
}
$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><input type='submit' name='schick' value='speichern'></td>";
$htmlstr .= " <td><input type='submit' name='del' value='l&ouml;schen'></td>";
$htmlstr .= " </tr>\n";
$htmlstr .= "</form>\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
@@ -316,8 +337,6 @@
$htmlstr .= "</form>\n";
$htmlstr .= "</table>\n";
}
}
$htmlstr .= "<div class='inserterror'>".$errorstr."</div>\n";
@@ -326,66 +345,65 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<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">
<script src="../../include/js/mailcheck.js"></script>
<script src="../../include/js/datecheck.js"></script>
<script type="text/javascript">
function confdel()
{
if(confirm("Diesen Datensatz wirklick loeschen?"))
return true;
return false;
}
function markier(id)
{
document.getElementById(id).style.background = "#FC988D";
}
function unmarkier(id)
{
document.getElementById(id).style.background = "#eeeeee";
}
function checkdate(feld)
{
if ((feld.value != "") && (!dateCheck(feld)))
{
//document.studiengangform.schick.disabled = true;
feld.className = "input_error";
return false;
}
else
{
if(feld.value != "")
feld.value = dateCheck(feld);
feld.className = "input_ok";
return true;
}
}
function checkrequired(feld)
{
if(feld.value == "")
{
feld.className = "input_error";
return false;
}
else
{
feld.className = "input_ok";
return true;
}
}
function setnull(id)
{
document.getElementById(id).selectedIndex=0;
}
</script>
<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">
<script src="../../include/js/mailcheck.js"></script>
<script src="../../include/js/datecheck.js"></script>
<script type="text/javascript">
function confdel()
{
if(confirm("Diesen Datensatz wirklick loeschen?"))
return true;
return false;
}
function markier(id)
{
document.getElementById(id).style.background = "#FC988D";
}
function unmarkier(id)
{
document.getElementById(id).style.background = "#eeeeee";
}
function checkdate(feld)
{
if ((feld.value != "") && (!dateCheck(feld)))
{
//document.studiengangform.schick.disabled = true;
feld.className = "input_error";
return false;
}
else
{
if(feld.value != "")
feld.value = dateCheck(feld);
feld.className = "input_ok";
return true;
}
}
function checkrequired(feld)
{
if(feld.value == "")
{
feld.className = "input_error";
return false;
}
else
{
feld.className = "input_ok";
return true;
}
}
function setnull(id)
{
document.getElementById(id).selectedIndex=0;
}
</script>
</head>
<body style="background-color:#eeeeee;">