- lector_choice.php berechtigungsfix

- lvaliste nun mit LV-bezeichnung
- Ansprechpartner aktualisiert
- Zeitsperre eingefügt
This commit is contained in:
Andreas Österreicher
2007-02-15 16:57:30 +00:00
parent 9cf08d9811
commit b0df896f20
7 changed files with 594 additions and 87 deletions
+2 -2
View File
@@ -108,9 +108,9 @@
$sql_query = "SELECT DISTINCT vorname, nachname, uid FROM lehre.tbl_lehreinheit, lehre.tbl_lehreinheitmitarbeiter, campus.vw_mitarbeiter
WHERE tbl_lehreinheit.lehrveranstaltung_id='$lvid' AND
studiensemester_kurzbz='$stsem' AND
tbl_lehreinheit.lehreinheit_id=tbl_lehreinheitmitarbeiter.lehreinheit_id AND
mitarbeiter_uid=uid ORDER BY nachname, vorname, uid";
mitarbeiter_uid=uid AND uid='$user' ORDER BY nachname, vorname, uid";
//studiensemester_kurzbz='$stsem' AND
if($result = pg_query($sql_conn, $sql_query))
{
+2 -1
View File
@@ -61,7 +61,8 @@ $qry = "SELECT
WHERE
person.uid='$user' AND
person.person_pk=student.person_fk AND
studiengang.studiengang_pk=student.studiengang_fk
studiengang.studiengang_pk=student.studiengang_fk
ORDER BY aufgenommenam DESC LIMIT 1
";
if(!$row=pg_fetch_object(pg_query($conn,$qry)))
+5 -1
View File
@@ -63,7 +63,7 @@
if ($num_rows>0)
{
echo '<BR><BR><table border="0">';
echo '<tr class="liste"><th>LVNR</th><th>Lehrfach</th><th>Lehrform</th><th>Bezeichnung</th><th>Lektor</th><th>STG</th><th>S</th><th>V</th><th>G</th><th>Gruppe</th><th>Raumtyp</th><th>Alternativ</th><th>Block</th><th>WR</th><th>Std</th><th>KW</th><th>Anmerkung</th></tr>';
echo '<tr class="liste"><th>LVNR</th><th>Lehrfach</th><th>Lehrform</th><th>LV Bezeichnung</th><th>Lehrfach Bezeichnung</th><th>Lektor</th><th>STG</th><th>S</th><th>V</th><th>G</th><th>Gruppe</th><th>Raumtyp</th><th>Alternativ</th><th>Block</th><th>WR</th><th>Std</th><th>KW</th><th>Anmerkung</th></tr>';
for ($i=0; $i<$num_rows; $i++)
{
$zeile=$i % 2;
@@ -73,6 +73,10 @@
echo '<td>'.$row->lvnr.'</td>';
echo '<td>'.$row->lehrfach.'</td>';
echo '<td>'.$row->lehrform_kurzbz.'</td>';
$qry = "SELECT bezeichnung FROM lehre.tbl_lehrveranstaltung WHERE lehrveranstaltung_id='$row->lehrveranstaltung_id'";
$result_lv = pg_query($conn, $qry);
$row_lv = pg_fetch_object($result_lv);
echo '<td>'.$row_lv->bezeichnung.'</td>';
echo '<td>'.$row->lehrfach_bez.'</td>';
echo '<td>'.$row->lektor.'</td>';
echo '<td>'.$row->stg_kurzbz.'</td>';
+256 -74
View File
@@ -1,25 +1,43 @@
<?php
include('../../config.inc.php');
include('../../../include/functions.inc.php');
/*
if (isset($REMOTE_USER))
$uid=$REMOTE_USER;
else
$uid='pam';
*/
/* Copyright (C) 2006 Technikum-Wien
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
*
* Authors: Christian Paminger <[email protected]>,
* Andreas Oesterreicher <[email protected]> and
* Rudolf Hangl <[email protected]>.
*/
require_once('../../config.inc.php');
require_once('../../../include/functions.inc.php');
require_once('../../../include/zeitsperre.class.php');
require_once('../../../include/datum.class.php');
$uid = get_uid();
if(isset($_GET['type']))
$type=$_GET['type'];
if (!$conn = @pg_pconnect(CONN_STRING))
die("Es konnte keine Verbindung zum Server aufgebaut werden.");
$datum_obj = new datum();
//Stundentabelleholen
if(! $result_stunde=pg_exec($conn, "SET search_path TO campus; SELECT * FROM lehre.tbl_stunde ORDER BY stunde"))
if(! $result_stunde=pg_query($conn, "SET search_path TO campus; SELECT * FROM lehre.tbl_stunde ORDER BY stunde"))
die(pg_last_error($conn));
$num_rows_stunde=pg_numrows($result_stunde);
$num_rows_stunde=pg_num_rows($result_stunde);
// Zeitwuensche speichern
if (isset($type) && $type=='save')
@@ -45,7 +63,7 @@
{
$query="UPDATE tbl_zeitwunsch SET gewicht=$gewicht WHERE mitarbeiter_uid='$uid' AND stunde=$stunde AND tag=$t";
//echo $query;
if(!($erg=pg_exec($conn, $query)))
if(!($erg=pg_query($conn, $query)))
die(pg_last_error($conn));
}
else
@@ -55,7 +73,7 @@
if(!($erg=pg_query($conn, "SELECT * FROM tbl_zeitwunsch WHERE mitarbeiter_uid='$uid'")))
die(pg_last_error($conn));
$num_rows=pg_numrows($erg);
$num_rows=pg_num_rows($erg);
for ($i=0;$i<$num_rows;$i++)
{
$tag=pg_result($erg,$i,"tag");
@@ -67,9 +85,9 @@
// Personendaten
if(! $result=pg_exec($conn, "SELECT * FROM vw_benutzer WHERE uid='$uid'"))
if(! $result=pg_query($conn, "SELECT * FROM vw_benutzer WHERE uid='$uid'"))
die(pg_last_error($conn));
if (pg_numrows($result)==1)
if (pg_num_rows($result)==1)
$person=pg_fetch_object($result);
?>
@@ -79,6 +97,12 @@
<title>Profil</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" href="../../../skin/cis.css" type="text/css">
<script language="Javascript">
function conf_del()
{
return confirm('Wollen Sie diesen Eintrag wirklich löschen?');
}
</script>
</head>
<body>
@@ -88,11 +112,11 @@
&nbsp;<a href="index.php">Userprofil</a> &gt;&gt;
&nbsp;Zeitw&uuml;nsche
</td>
<td align="right"><A href="../lvplan/help/index.html" class="hilfe" target="_blank">HELP&nbsp;</A></td>
<td align="right"><A onclick="window.open('zeitwunsch_help.html','Hilfe', 'height=320,width=480,left=0,top=0,hotkeys=0,resizable=yes,status=no,scrollbars=yes,toolbar=no,location=no,menubar=no,dependent=yes');" class="hilfe" target="_blank">HELP&nbsp;</A></td>
</tr>
</table>
</H2>
<div align="right">Results: <?php echo $num_rows; ?> - <?php echo $uid; ?></div>
<!--<div align="right">Results: <?php echo $num_rows; ?> - <?php echo $uid; ?></div>-->
<H3>
Zeitw&uuml;nsche von <?php echo $person->titelpre.' '.$person->vorname.' '.$person->nachname; ?>
</H3>
@@ -133,61 +157,219 @@
<INPUT type="hidden" name="uid" value="<?php echo $uid; ?>">
<INPUT type="submit" name="Abschicken" value="Speichern">
</FORM>
<br>
<hr>
<H3>Erkl&auml;rung:</H3>
<P>Bitte kontrollieren/&auml;ndern Sie Ihre Zeitw&uuml;nsche und klicken Sie anschlie&szlig;end
auf &quot;Speichern&quot;!<BR><BR>
</P>
<TABLE width="50%" align="center" name="Zeitwerte">
<TR>
<TH><B>Wert</B></TH>
<TH>
<DIV align="center"><B>Bedeutung</B></DIV>
</TH>
</TR>
<TR>
<TD>
<DIV align="right">2</DIV>
</TD>
<TD>Hier m&ouml;chte ich unterrichten</TD>
</TR>
<TR>
<TD>
<DIV align="right">1</DIV>
</TD>
<TD>Hier kann ich unterrichten</TD>
</TR>
<TR>
<TD>
<DIV align="right">0</DIV>
</TD>
<TD>keine Bedeutung</TD>
</TR>
<TR>
<TD>
<DIV align="right">-1</DIV>
</TD>
<TD>Hier nur in extremen Notf&auml;llen</TD>
</TR>
<TR>
<TD>
<DIV align="right">-2</DIV>
</TD>
<TD>Hier auf gar keinen Fall !!!</TD>
</TR>
</TABLE>
<P>&nbsp;</P>
<H3>Folgende Punkte sind zu beachten:</H3>
<OL>
<LI> Verwenden Sie den Wert -2 nur, wenn Sie zu dieser Stunde wirklich nicht
k&ouml;nnen, um eine bessere Optimierung zu erm&ouml;glichen.</LI>
<LI>Es sollten f&uuml;r jede Stunde die tats&auml;chlich unterrichtet wird,
mindestens das 3-fache an positiven Zeitw&uuml;nschen angegeben werden.<BR>
Beispiel: Sie unterrichten 4 Stunden/Woche, dann sollten Sie mindestens
12 Stunden im Raster mit positiven Werten ausf&uuml;llen.</LI>
</OL>
<P>Bei Problemen wenden Sie sich bitte an die <A href="mailto:[email protected]">LV-Koordinationsstelle</A>.</P>
<P>&nbsp;</P>
<!-- ZEITSPERREN -->
<H3>Zeitsperren</h3>
<table width="100%">
<tr>
<td valign='top'>
<?php
//Zeitsperre Speichern
if(isset($_GET['type']) && ($_GET['type']=='edit_sperre' || $_GET['type']=='new_sperre'))
{
$error=false;
$error_msg='';
if(!ereg("([0-9]{2}).([0-9]{2}).([0-9]{4})",$_POST['vondatum']))
{
$error=true;
$errormsg .= 'Von-Datum ist ungueltig ';
}
if(!ereg("([0-9]{2}).([0-9]{2}).([0-9]{4})",$_POST['bisdatum']))
{
$error=true;
$errormsg .= 'Bis-Datum ist ungueltig ';
}
$zeitsperre = new zeitsperre($conn);
if($_GET['type']=='edit_sperre')
{
if(!is_numeric($_GET['id']))
{
$error=true;
$error_msg.='Invalid id ';
}
else
{
$zeitsperre->load($_GET['id']);
$zeitsperre->new=false;
$zeitsperre->zeitsperre_id = $_GET['id'];
}
}
else
{
$zeitsperre->new=true;
$zeitsperre->insertamum = date('Y-m-d H:i:s');
$zeitsperre->insertvon = $uid;
}
if(!$error)
{
$zeitsperre->zeitsperretyp_kurzbz = $_POST['zeitsperretyp_kurzbz'];
$zeitsperre->mitarbeiter_uid = $uid;
$zeitsperre->bezeichnung = $_POST['bezeichnung'];
$zeitsperre->vondatum = $_POST['vondatum'];
$zeitsperre->vonstunde = $_POST['vonstunde'];
$zeitsperre->bisdatum = $_POST['bisdatum'];
$zeitsperre->bisstunde = $_POST['bisstunde'];
$zeitsperre->erreichbarkeit = $_POST['erreichbarkeit'];
$zeitsperre->vertretung_uid = $_POST['vertretung_uid'];
$zeitsperre->updateamum = date('Y-m-d H:i:s');
$zeitsperre->updatevon = $uid;
if($zeitsperre->save())
{
echo "Daten wurden erfolgreich gespeichert";
}
else
echo "<span class='error'>Fehler beim Speichern der Daten</span>";
}
else
echo "<span class='error'>$error_msg</span>";
}
if(isset($_GET['type']) && $_GET['type']=='delete_sperre')
{
$zeit = new zeitsperre($conn);
$zeit->load($_GET['id']);
if($zeit->mitarbeiter_uid==$uid)
{
if($zeit->delete($_GET['id']))
{
echo "Eintrag wurde geloescht";
}
else
echo "<span class='error'>Fehler beim loeschen des Eintrages</span>";
}
else
echo "<span class='error'>Sie haben keine Berechtigung diesen Datensatz zu loeschen</span>";
}
$zeit = new zeitsperre($conn);
$zeit->getzeitsperren($uid);
if(count($zeit->result)>0)
{
echo '<table><tr class="liste" style="font-size: 14;"><th>Bezeichnung</th><th>Grund</th><th>Von</th><th>Bis</th><th>Vertretung</th><th>Erreichbarkeit</th></tr>';
foreach ($zeit->result as $row)
{
echo "<tr class='liste'><td>$row->bezeichnung</td><td>$row->zeitsperretyp_kurzbz</td><td nowrap>$row->vondatum ".($row->vonstunde!=''?'('.$row->vonstunde.')':'')."</td><td nowrap>$row->bisdatum ".($row->bisstunde!=''?'('.$row->bisstunde.')':'')."</td><td>$row->vertretung_uid</td><td>$row->erreichbarkeit</td><td><a href='$PHP_SELF?type=edit&id=$row->zeitsperre_id' class='Item'>edit</a></td><td><a href='$PHP_SELF?type=delete_sperre&id=$row->zeitsperre_id' onclick='return conf_del()' class='Item'>delete</a></td></tr>";
}
echo '</table>';
}
else
echo "Derzeit sind keine Zeitsperren eingetragen!";
echo '</td>';
echo '<td>';
$zeitsperre = new zeitsperre($conn);
$action = "$PHP_SELF?type=new_sperre";
if(isset($_GET['type']) && $_GET['type']=='edit')
{
if(isset($_GET['id']) && is_numeric($_GET['id']))
{
$zeitsperre->load($_GET['id']);
if($zeitsperre->mitarbeiter_uid!=$uid)
{
die("<span class='error'>Sie haben keine Berechtigung diese Zeitsperre zu aendern</span>");
}
$action = "$PHP_SELF?type=edit_sperre&id=".$_GET['id'];
}
else
{
die("<span class='error'>Fehlerhafte Parameteruebergabe</span>");
}
}
echo '<form method="POST" action="'.$action.'">';
echo "<table>\n";
echo '<tr><td>Grund</td><td><SELECT name="zeitsperretyp_kurzbz">';
$qry = "SELECT * FROM campus.tbl_zeitsperretyp ORDER BY zeitsperretyp_kurzbz";
if($result = pg_query($conn, $qry))
{
while($row=pg_fetch_object($result))
{
if($zeitsperre->zeitsperretyp_kurzbz == $row->zeitsperretyp_kurzbz)
echo "<OPTION value='$row->zeitsperretyp_kurzbz' selected>$row->zeitsperretyp_kurzbz</OPTION>";
else
echo "<OPTION value='$row->zeitsperretyp_kurzbz'>$row->zeitsperretyp_kurzbz</OPTION>";
}
}
echo '</SELECT>';
echo '<tr><td>Bezeichnung</td><td><input type="text" name="bezeichnung" maxlength="32" value="'.$zeitsperre->bezeichnung.'"></td></tr>';
echo '<tr><td>von</td><td><input type="text" size="10" maxlength="10" name="vondatum" value="'.($zeitsperre->vondatum!=''?date('d.m.Y',$datum_obj->mktime_fromdate($zeitsperre->vondatum)):date('d.m.Y')).'"> ';
$qry = "SELECT stunde FROM lehre.tbl_stunde ORDER BY stunde";
echo "Stunde (inklusive)";
echo "<SELECT name='vonstunde'>\n";
if($zeitsperre->vonstunde=='')
echo "<OPTION value='' selectd>*</OPTION>\n";
else
echo "<OPTION value=''>*</OPTION>\n";
if($result = pg_query($conn, $qry))
{
while($row = pg_fetch_object($result))
{
if($zeitsperre->vonstunde==$row->stunde)
echo "<OPTION value='$row->stunde' selected>$row->stunde</OPTION>\n";
else
echo "<OPTION value='$row->stunde'>$row->stunde</OPTION>\n";
}
}
echo "</SELECT></td></tr>";
echo '<tr><td>bis</td><td><input type="text" size="10" maxlength="10" name="bisdatum" value="'.($zeitsperre->bisdatum!=''?date('d.m.Y',$datum_obj->mktime_fromdate($zeitsperre->bisdatum)):date('d.m.Y')).'"> ';
$qry = "SELECT stunde FROM lehre.tbl_stunde ORDER BY stunde";
echo "Stunde (inklusive)";
echo "<SELECT name='bisstunde'>\n";
if($zeitsperre->bisstunde=='')
echo "<OPTION value='' selectd>*</OPTION>\n";
else
echo "<OPTION value=''>*</OPTION>\n";
if($result = pg_query($conn, $qry))
{
while($row = pg_fetch_object($result))
{
if($zeitsperre->bisstunde==$row->stunde)
echo "<OPTION value='$row->stunde' selected>$row->stunde</OPTION>\n";
else
echo "<OPTION value='$row->stunde'>$row->stunde</OPTION>\n";
}
}
echo "</SELECT></td></tr>";
echo '<tr><td>Erreichbarkeit</td><td><input type="text" name="erreichbarkeit" value="'.$zeitsperre->erreichbarkeit.'" maxlength="5" size="5"></td></tr>';
echo "<tr><td>Vertretung</td><td><SELECT name='vertretung_uid'>";
$qry = "SELECT * FROM campus.vw_mitarbeiter WHERE uid not LIKE '\\\_%' ORDER BY nachname, vorname";
if($result = pg_query($conn, $qry))
{
while($row = pg_fetch_object($result))
{
if($zeitsperre->vertretung_uid == $row->uid)
echo "<OPTION value='$row->uid' selected>$row->nachname $row->vorname ($row->uid)</OPTION>\n";
else
echo "<OPTION value='$row->uid'>$row->nachname $row->vorname ($row->uid)</OPTION>\n";
}
}
echo '</SELECT></td></tr>';
echo '<tr><td>&nbsp;</td><td>';
if(isset($_GET['type']) && $_GET['type']=='edit')
echo "<input type='submit' name='submit_zeitsperre' value='Speichern'>";
else
echo "<input type='submit' name='submit_zeitsperre' value='Hinzufügen'>";
echo '</td></tr>';
echo '</table>';
?>
</td>
</tr>
</table>
</body>
</html>
+15 -8
View File
@@ -68,14 +68,7 @@ else
<td nowrap>&nbsp;</td>
</tr>
<tr>
<td width="260" nowrap>Braunstorfer Michael (Leitung)</td>
<td width="50" nowrap>240</td>
<td nowrap><?php echo ($visible?'<a class="Item" href="mailto:[email protected]">[email protected]</a>':'')?></td>
<td width="56" nowrap>&nbsp;</td>
<td nowrap>Termin nach Vereinbarung</td>
</tr>
<tr>
<td width="260" nowrap>Ing. Esberger Franz </td>
<td width="260" nowrap>Ing. Esberger Franz (Leitung interimistisch)</td>
<td width="50" nowrap>243</td>
<td nowrap><?php echo ($visible?'<a class="Item" href="mailto:[email protected]">[email protected]</a>':'')?></td>
<td width="56" nowrap>&nbsp;</td>
@@ -95,6 +88,20 @@ else
<td width="56" nowrap>&nbsp;</td>
<td nowrap>Termin nach Vereinbarung</td>
</tr>
<tr>
<td width="260" nowrap>Lechner Martin</td>
<td width="50" nowrap>240</td>
<td nowrap><?php echo ($visible?'<a class="Item" href="mailto:[email protected]">[email protected]</a>':'')?></td>
<td width="56" nowrap>&nbsp;</td>
<td nowrap>Termin nach Vereinbarung</td>
</tr>
<tr>
<td width="260" nowrap>Braunstorfer Michael</td>
<td width="50" nowrap>240</td>
<td nowrap><?php echo ($visible?'<a class="Item" href="mailto:[email protected]">[email protected]</a>':'')?></td>
<td width="56" nowrap>&nbsp;</td>
<td nowrap>Termin nach Vereinbarung</td>
</tr>
<tr>
<td colspan="2" nowrap>&nbsp;</td>
<td nowrap>&nbsp;</td>