This commit is contained in:
Andreas Österreicher
2008-10-09 15:55:40 +00:00
parent 6c8cf24d02
commit 0fb1d250a0
7 changed files with 108 additions and 59 deletions
+1 -2
View File
@@ -180,11 +180,10 @@ $qry = "SELECT
campus.vw_student_lehrveranstaltung JOIN public.tbl_benutzer USING(uid)
JOIN public.tbl_person USING(person_id) JOIN public.tbl_student ON(uid=student_uid)
LEFT JOIN public.tbl_studentlehrverband USING(student_uid)
LEFT JOIN lehre.tbl_zeugnisnote on(vw_student_lehrveranstaltung.lehrveranstaltung_id=tbl_zeugnisnote.lehrveranstaltung_id AND tbl_zeugnisnote.student_uid=tbl_student.student_uid)
LEFT JOIN lehre.tbl_zeugnisnote on(vw_student_lehrveranstaltung.lehrveranstaltung_id=tbl_zeugnisnote.lehrveranstaltung_id AND tbl_zeugnisnote.student_uid=tbl_student.student_uid AND tbl_zeugnisnote.studiensemester_kurzbz=tbl_studentlehrverband.studiensemester_kurzbz)
LEFT JOIN bis.tbl_bisio ON(uid=tbl_bisio.student_uid)
WHERE
vw_student_lehrveranstaltung.lehrveranstaltung_id='".addslashes($lvid)."' AND
(tbl_zeugnisnote.studiensemester_kurzbz='".addslashes($stsem)."' OR tbl_zeugnisnote.studiensemester_kurzbz is null) AND
vw_student_lehrveranstaltung.studiensemester_kurzbz='".addslashes($stsem)."' AND
tbl_studentlehrverband.studiensemester_kurzbz='".addslashes($stsem)."'";
+23 -30
View File
@@ -54,9 +54,7 @@ Detailfenster f&uuml;r diese Lehreinheit anzeigen.<br>
</td>
</tr>
<tr class="liste0">
<td>Ignore_kollision sauber programmieren (funktioniert derzeit
nur bei der Verplanung aber nicht bei der Verschiebung von bereits
verplanten Stunden oder bei Raumvorschlag)<br>
<td>Ignore_kollision funktioniert nicht bei Raumvorschlag<br>
</td>
<td style="font-weight: bold;" align="center">high<br>
</td>
@@ -89,15 +87,6 @@ tbl_stundenplan</span> einbauen<br>
<td align="center">?<br>
</td>
</tr>
<tr class="liste0">
<td>Farbcodierung des Zeitwunschs modifizieren (derzeit
ungeeignete Farben)<br>
</td>
<td align="center">med<br>
</td>
<td align="center">?<br>
</td>
</tr>
<tr class="liste1">
<td>Kollision von externen R&auml;umen und GLAB deaktivieren<br>
</td>
@@ -115,24 +104,6 @@ melden aber trotzdem verplanen und wie bei den Feiertagen auslassen<br>
<td align="center"><br>
</td>
</tr>
<tr class="liste1">
<td>Liste der Raumvorschl&auml;ge nach Druck auf mittlerer Taste
einschr&auml;nken (Liste derzeit unbrauchbar weil viel zu lang)<br>
</td>
<td style="font-style: italic;" align="center">low<br>
</td>
<td align="center">?<br>
</td>
</tr>
<tr class="liste0">
<td>Beim Raumvorschlag f&uuml;r Studentenverschiebung (mittlere
Taste) Raumtypen ber&uuml;cksichtigen<br>
</td>
<td style="font-style: italic;" align="center">med<br>
</td>
<td align="center">?<br>
</td>
</tr>
<tr class="liste0">
<td>Lehrf&auml;cherverteilung in Lektorenansicht auf Berechtigung
einschr&auml;nken. (Zur Zeit kann jeder Tempususer aus der
@@ -460,6 +431,28 @@ zugeordnet sind)</td>
<hr>
<h2 align="left">Erledigte Anforderungen</h2>
<ul>
<li>Farbcodierung des Zeitwunschs modifizieren (derzeit
ungeeignete Farben)</li>
<ul>
<li>09.10.2008<br>
</li>
</ul>
<li>ignore_kollision funktioniert nun auch bei der Stundenverschiebung</li>
<ul>
<li>09.10.2008<br>
</li>
</ul>
<li>Umlaute werden bei den Stunden jetzt richtig dargestellt.</li>
<ul>
<li>09.10.2008<br>
</li>
</ul>
<li>Liste der Raumvorschl&auml;ge nach Druck auf mittlerer Taste
einschr&auml;nken (Liste derzeit unbrauchbar weil viel zu lang)</li>
<ul>
<li>09.10.2008<br>
</li>
</ul>
<li>In der Registerkarte "Ort" die Detailspalte "Planbezeichnung"
einblenden</li>
<ul>
@@ -1,4 +1,25 @@
<?php
/* Copyright (C) 2008 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 <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
* Gerald Simane-Sequens <gerald.simane-sequens@technikum-wien.at>.
*/
header("Content-type: application/vnd.mozilla.xul+xml");
include('../../vilesci/config.inc.php');
@@ -8,11 +29,7 @@ echo '<?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>';
/*echo '<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>';
echo '<?xml-stylesheet href="'.APP_ROOT.'skin/tempus.css" type="text/css"?>';*/
// Testumgebung
if (!isset($REMOTE_USER))
$REMOTE_USER='pam';
$uid=$REMOTE_USER;
$uid=get_uid();
if (!$conn = pg_pconnect(CONN_STRING))
$error_msg='Fehler: Es konnte keine Verbindung zum Server aufgebaut werden!';
+34 -5
View File
@@ -1,4 +1,25 @@
<?php
/* Copyright (C) 2008 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 <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
* Gerald Simane-Sequens <gerald.simane-sequens@technikum-wien.at>.
*/
header("Content-type: application/vnd.mozilla.xul+xml");
include('../../vilesci/config.inc.php');
@@ -19,9 +40,7 @@ $db_stpl_table=null;
echo '<?xml-stylesheet href="'.APP_ROOT.'skin/tempus.css" type="text/css"?>';
//echo $_SERVER[REQUEST_URI];
if (!isset($REMOTE_USER))
$REMOTE_USER='pam';
$uid=$REMOTE_USER;
$uid = get_uid();
$error_msg='';
if (!$conn = pg_pconnect(CONN_STRING))
@@ -485,6 +504,9 @@ while ($begin<=$ende)
// Stundenplan einer Woche laden
if (! $stdplan->load_week($datum,$db_stpl_table))
$error_msg.=$stdplan->errormsg;
//Raumvorschlag setzen
//echo 'load_week'.$error_msg;
if ($aktion=='lva_single_search' || $aktion=='lva_multi_search')
if (! $stdplan->load_lva_search($datum,$lva_id,$db_stpl_table, $aktion))
@@ -493,8 +515,15 @@ while ($begin<=$ende)
$error_msg.=$stdplan->errormsg;
//echo 'load_lva_search'.$error_msg;
if ($aktion=='stpl_single_search')
if (! $stdplan->load_stpl_search($datum,$stpl_id,$db_stpl_table))
$error_msg.=$stdplan->errormsg;
{
if(isset($stpl_id))
{
if (! $stdplan->load_stpl_search($datum,$stpl_id,$db_stpl_table))
$error_msg.=$stdplan->errormsg;
}
else
$error_msg.='Derzeit gibt es keinen Raumvorschlag fuer Reservierungen';
}
//echo 'load_stpl_search'.$error_msg;
// Stundenplan der Woche drucken
+1 -2
View File
@@ -255,11 +255,10 @@ $qry = "SELECT
campus.vw_student_lehrveranstaltung JOIN public.tbl_benutzer USING(uid)
JOIN public.tbl_person USING(person_id) JOIN public.tbl_student ON(uid=student_uid)
LEFT JOIN public.tbl_studentlehrverband USING(student_uid)
LEFT JOIN lehre.tbl_zeugnisnote on(vw_student_lehrveranstaltung.lehrveranstaltung_id=tbl_zeugnisnote.lehrveranstaltung_id AND tbl_zeugnisnote.student_uid=tbl_student.student_uid)
LEFT JOIN lehre.tbl_zeugnisnote on(vw_student_lehrveranstaltung.lehrveranstaltung_id=tbl_zeugnisnote.lehrveranstaltung_id AND tbl_zeugnisnote.student_uid=tbl_student.student_uid AND tbl_zeugnisnote.studiensemester_kurzbz=tbl_studentlehrverband.studiensemester_kurzbz)
LEFT JOIN bis.tbl_bisio ON(uid=tbl_bisio.student_uid)
WHERE
vw_student_lehrveranstaltung.lehrveranstaltung_id='".addslashes($lvid)."' AND
(tbl_zeugnisnote.studiensemester_kurzbz='".addslashes($stsem)."' OR tbl_zeugnisnote.studiensemester_kurzbz is null) AND
vw_student_lehrveranstaltung.studiensemester_kurzbz='".addslashes($stsem)."' AND
tbl_studentlehrverband.studiensemester_kurzbz='".addslashes($stsem)."'";
+1 -2
View File
@@ -130,11 +130,10 @@ $qry = "SELECT
campus.vw_student_lehrveranstaltung JOIN public.tbl_benutzer USING(uid)
JOIN public.tbl_person USING(person_id) JOIN public.tbl_student ON(uid=student_uid)
LEFT JOIN public.tbl_studentlehrverband USING(student_uid)
LEFT JOIN lehre.tbl_zeugnisnote on(vw_student_lehrveranstaltung.lehrveranstaltung_id=tbl_zeugnisnote.lehrveranstaltung_id AND tbl_zeugnisnote.student_uid=tbl_student.student_uid)
LEFT JOIN lehre.tbl_zeugnisnote on(vw_student_lehrveranstaltung.lehrveranstaltung_id=tbl_zeugnisnote.lehrveranstaltung_id AND tbl_zeugnisnote.student_uid=tbl_student.student_uid AND tbl_zeugnisnote.studiensemester_kurzbz=tbl_studentlehrverband.studiensemester_kurzbz)
LEFT JOIN bis.tbl_bisio ON(uid=tbl_bisio.student_uid)
WHERE
vw_student_lehrveranstaltung.lehrveranstaltung_id='".addslashes($lvid)."' AND
(tbl_zeugnisnote.studiensemester_kurzbz='".addslashes($stsem)."' OR tbl_zeugnisnote.studiensemester_kurzbz is null) AND
vw_student_lehrveranstaltung.studiensemester_kurzbz='".addslashes($stsem)."' AND
tbl_studentlehrverband.studiensemester_kurzbz='".addslashes($stsem)."'";
+26 -13
View File
@@ -945,7 +945,7 @@ class wochenplan
datum="'.date("Y-m-d",$datum).'" stunde="'.$j.'"
pers_uid="'.$this->pers_uid.'" ort_kurzbz="'.utf8_encode($this->ort_kurzbz).'">';
echo '<label align="center">'.$blink_ein;
echo $lf;
echo utf8_encode($lf);
echo $lvb;
if ($this->type!='lektor')
echo utf8_encode($lkt);
@@ -1043,6 +1043,7 @@ class wochenplan
die(pg_last_error($this->conn));
$num_rows_stpl=pg_numrows($result_stpl);
// Daten aufbereiten
$leids='';
for ($i=0;$i<$num_rows_stpl;$i++)
{
$row=pg_fetch_object($result_stpl,$i);
@@ -1057,18 +1058,28 @@ class wochenplan
$lehrverband[$i]->sem=$row->semester;
$lehrverband[$i]->ver=$row->verband;
$lehrverband[$i]->grp=$row->gruppe;
$leids.="$row->lehreinheit_id,";
$lektor[$i]=$row->uid;
$unr=$row->unr;
}
// Raumtypen
//$raumtyp=array_unique($raumtyp);
//$rtype='';
//foreach ($raumtyp as $r)
// $rtype.=" OR raumtyp_kurzbz='$r'";
//$raumtypalt=array_unique($raumtypalt);
//foreach ($raumtypalt as $r)
// $rtype.=" OR raumtyp_kurzbz='$r'";
//$rtype=substr($rtype,3);
if($leids!='')
{
// Raumtypen
$leids = substr($leids, 0, strlen($leids)-1);
$qry = "SELECT raumtyp, raumtypalternativ FROM lehre.tbl_lehreinheit WHERE lehreinheit_id IN ($leids)";
if($result = pg_query($this->conn, $qry)){
while($row = pg_fetch_object($result))
{
$raumtyp[]=$row->raumtyp;
$raumtyp[]=$row->raumtypalternativ;
}
}
}
$raumtyp=array_unique($raumtyp);
$rtype='';
foreach ($raumtyp as $r)
$rtype.=" OR raumtyp_kurzbz='$r'";
$rtype=substr($rtype,3);
//Lektor
$lektor=array_unique($lektor);
$lkt='';
@@ -1099,10 +1110,12 @@ class wochenplan
$lvb.=')';
}
$lvb=substr($lvb,3);
//if($rtype=='')
// $rtype='1=1';
// Raeume die in Frage kommen, aufgrund der Raumtypen
$sql_query="SELECT DISTINCT ort_kurzbz FROM public.tbl_ort
WHERE aktiv AND lehre AND ort_kurzbz NOT LIKE '\\\\_%' ORDER BY ort_kurzbz"; // NATURAL JOIN tbl_ortraumtyp WHERE $rtype hierarchie
$sql_query="SELECT DISTINCT ort_kurzbz, hierarchie FROM public.tbl_ort
JOIN public.tbl_ortraumtyp USING (ort_kurzbz) WHERE ($rtype) AND aktiv AND ort_kurzbz NOT LIKE '\\\\_%' ORDER BY hierarchie,ort_kurzbz";
// WHERE aktiv AND lehre AND ort_kurzbz NOT LIKE '\\\\_%' ORDER BY ort_kurzbz"; // NATURAL JOIN tbl_ortraumtyp WHERE $rtype hierarchie
//echo $sql_query;
if(!$result=pg_exec($this->conn, $sql_query))
die(pg_last_error($this->conn));