diff --git a/content/lvplanung/stpl-details-overlay.xul.php b/content/lvplanung/stpl-details-overlay.xul.php
index 059caa148..a2704dc41 100644
--- a/content/lvplanung/stpl-details-overlay.xul.php
+++ b/content/lvplanung/stpl-details-overlay.xul.php
@@ -140,6 +140,10 @@ echo '';
class="sortDirectionIndicator" persist="hidden, width, ordinal"
sort="rdf:http://www.technikum-wien.at/lehrstunde/rdf#gruppe_beschreibung" />
+
+
@@ -167,6 +171,7 @@ echo '';
+
diff --git a/content/lvplanung/stpl-week-overlay.js.php b/content/lvplanung/stpl-week-overlay.js.php
index c52f4b9c7..89414b952 100644
--- a/content/lvplanung/stpl-week-overlay.js.php
+++ b/content/lvplanung/stpl-week-overlay.js.php
@@ -447,18 +447,19 @@ function onStplDetail(event)
function STPLDetailEdit()
{
tree = document.getElementById('treeStplDetails');
- var col = tree.columns ? tree.columns["stundenplan_id"] : "stundenplan_id";
- if(tree.currentIndex!=-1)
- {
- var id = tree.view.getCellText(tree.currentIndex,col);
- }
- else
+ if(tree.currentIndex==-1)
{
alert('Bitte zuerst einen Eintrag markieren!');
return false;
}
-
- window.open('content/lvplanung/stpl-details-dialog.xul.php?id='+id,'Details', 'height=400,width=350,left=100,top=100,hotkeys=0,resizable=yes,status=no,scrollbars=yes,toolbar=no,location=no,menubar=no,dependent=yes');
+ var col = tree.columns ? tree.columns["stundenplan_id"] : "stundenplan_id";
+ var id = tree.view.getCellText(tree.currentIndex,col);
+ var col = tree.columns ? tree.columns["stpl-details-overlay-lehrstunde-reservierung"] : "stpl-details-overlay-lehrstunde-reservierung";
+ var reservierung = tree.view.getCellText(tree.currentIndex,col);
+ if(reservierung=='true')
+ alert('Reservierungen koennen hier nicht editiert werden');
+ else
+ window.open('content/lvplanung/stpl-details-dialog.xul.php?id='+id,'Details', 'height=400,width=350,left=100,top=100,hotkeys=0,resizable=yes,status=no,scrollbars=yes,toolbar=no,location=no,menubar=no,dependent=yes');
}
// ****
@@ -532,26 +533,33 @@ function STPLDetailDelete()
//return false;
tree = document.getElementById('treeStplDetails');
- var col = tree.columns ? tree.columns["stundenplan_id"] : "stundenplan_id";
-
- if(tree.currentIndex!=-1)
- {
- var stundenplanid = tree.view.getCellText(tree.currentIndex,col);
- }
- else
+ if(tree.currentIndex==-1)
{
alert('Bitte zuerst einen Eintrag markieren!');
return false;
}
+
+ var col = tree.columns ? tree.columns["stundenplan_id"] : "stundenplan_id";
+ var stundenplanid = tree.view.getCellText(tree.currentIndex,col);
+
+ var col = tree.columns ? tree.columns["stpl-details-overlay-lehrstunde-reservierung"] : "stpl-details-overlay-lehrstunde-reservierung";
+ var reservierung = tree.view.getCellText(tree.currentIndex,col);
if(confirm('Wollen Sie diesen Datensatz wirklich loeschen?'))
{
var url = 'content/tempusDBDML.php';
var req = new phpRequest(url,'','');
-
- req.add('type', 'deletestundenplaneintrag');
-
- req.add('stundenplan_id', stundenplanid);
+
+ if(reservierung=='true')
+ {
+ req.add('type', 'deletereservierung');
+ req.add('reservierung_id', stundenplanid);
+ }
+ else
+ {
+ req.add('type', 'deletestundenplaneintrag');
+ req.add('stundenplan_id', stundenplanid);
+ }
var response = req.executePOST();
diff --git a/content/lvplanung/timetable-week.xul.php b/content/lvplanung/timetable-week.xul.php
index 9bd4248d0..cc7459a0b 100644
--- a/content/lvplanung/timetable-week.xul.php
+++ b/content/lvplanung/timetable-week.xul.php
@@ -211,6 +211,21 @@ if ($aktion=='stpl_move' || $aktion=='stpl_single_search' || $aktion=='stpl_set'
$res_id[]=$_GET[$name_res_id];
$name_res_id='reservierung_id'.++$i;
}
+
+ // Mehrfachauswahl uebernehmen
+ $j=0;
+ $name_res_idx='x'.$j.'reservierung_id0';
+ while ($j<100 && isset($_GET[$name_res_idx]))
+ {
+ $i=0;
+ $name_res_id='x'.$j.'reservierung_id'.$i;
+ while ($i<100 && isset($_GET[$name_res_id]))
+ {
+ $res_idx[]=$_GET[$name_res_id];
+ $name_res_id='x'.$j.'reservierung_id'.++$i;
+ }
+ $name_res_idx='x'.++$j.'reservierung_id0';
+ }
}
// ****************************************************************************
@@ -323,6 +338,17 @@ elseif ($aktion=='stpl_delete_single' || $aktion=='stpl_delete_block')
$error_msg.=$reservierung->errormsg;
}
}
+
+ //Loeschen von mehreren Reservierungen
+ if(isset($res_idx))
+ {
+ $reservierung=new reservierung();
+ foreach ($res_idx as $reservierung_id)
+ {
+ $reservierung->delete($reservierung_id);
+ $error_msg.=$reservierung->errormsg;
+ }
+ }
}
// ******************** Lehrveranstaltung setzen ******************************
elseif ($aktion=='lva_single_set')
diff --git a/content/tempusDBDML.php b/content/tempusDBDML.php
index 5461dd205..a8082e471 100644
--- a/content/tempusDBDML.php
+++ b/content/tempusDBDML.php
@@ -31,6 +31,7 @@ require_once('../include/log.class.php');
require_once('../include/benutzerfunktion.class.php');
require_once('../include/stundenplan.class.php');
require_once('../include/studiengang.class.php');
+require_once('../include/reservierung.class.php');
$user = get_uid();
@@ -190,6 +191,29 @@ if(!$error)
$errormsg = 'ID ist ungueltig';
}
}
+ elseif(isset($_POST['type']) && $_POST['type']=='deletereservierung')
+ {
+ //Loescht eine Reservierung
+ if(isset($_POST['reservierung_id']) && is_numeric($_POST['reservierung_id']))
+ {
+ $reservierung = new reservierung();
+ if($reservierung->delete($_POST['reservierung_id']))
+ {
+ $return = true;
+ }
+ else
+ {
+ $errormsg='Fehler beim Loeschen: '.$reservierung->errormsg;
+ $return = false;
+ $data = '';
+ }
+ }
+ else
+ {
+ $return = false;
+ $errormsg = 'ID ist ungueltig';
+ }
+ }
elseif(isset($_POST['type']) && $_POST['type']=='savestundenplaneintrag')
{
loadVariables(get_uid());
diff --git a/include/lehrverband.class.php b/include/lehrverband.class.php
index b32afda28..82189b3dd 100644
--- a/include/lehrverband.class.php
+++ b/include/lehrverband.class.php
@@ -95,10 +95,10 @@ class lehrverband extends basis_db
public function load($studiengang_kz, $semester, $verband, $gruppe)
{
$qry = "SELECT * FROM public.tbl_lehrverband
- WHERE studiengang_kz='".addslashes($studiengang_kz)."'
- AND semester='".addslashes($semester)."'
- AND verband='".addslashes($verband)."'
- AND gruppe='".addslashes($gruppe)."'";
+ WHERE studiengang_kz=".$this->addslashes($studiengang_kz)."
+ AND semester=".$this->addslashes($semester)."
+ AND verband=".$this->addslashes($verband)."
+ AND gruppe=".$this->addslashes($gruppe);
if($this->db_query($qry))
{
diff --git a/rdf/lehrstunde.rdf.php b/rdf/lehrstunde.rdf.php
index 129db7938..d823856e8 100644
--- a/rdf/lehrstunde.rdf.php
+++ b/rdf/lehrstunde.rdf.php
@@ -141,6 +141,9 @@ $db = new basis_db();
function getAnzahl($studiengang_kz, $semester, $verband, $gruppe, $gruppe_kurzbz, $studiensemester_kurzbz)
{
global $db;
+
+ if($semester=='')
+ return 0;
if($gruppe_kurzbz=='')
{
$qry = "SELECT count(*) as anzahl FROM public.tbl_studentlehrverband
@@ -159,6 +162,7 @@ function getAnzahl($studiengang_kz, $semester, $verband, $gruppe, $gruppe_kurzbz
WHERE studiensemester_kurzbz='".addslashes($studiensemester_kurzbz)."'
AND gruppe_kurzbz='".addslashes($gruppe_kurzbz)."'";
}
+
if($res_anz = $db->db_query($qry))
{
if($row_anz = $db->db_fetch_object($res_anz))
@@ -178,6 +182,7 @@ if (is_array($lehrstunden->lehrstunden))
$stsem = getStudiensemesterFromDatum($ls->datum);
$anzahl = getAnzahl($ls->studiengang_kz, $ls->sem, $ls->ver, $ls->grp, $ls->gruppe_kurzbz, $stsem);
$gruppenbezeichnung = '';
+ $gruppenbeschreibung = '';
if($ls->gruppe_kurzbz!='')
{
@@ -190,15 +195,17 @@ if (is_array($lehrstunden->lehrstunden))
else
{
$obj = new lehrverband();
- if(!$obj->load($ls->studiengang_kz, $ls->sem, $ls->ver, $ls->grp))
- die($obj->errormsg);
- $gruppenbezeichnung = $obj->bezeichnung;
- $gruppenbeschreibung = '';
+ if($obj->load($ls->studiengang_kz, $ls->sem, $ls->ver, $ls->grp))
+ {
+ $gruppenbezeichnung = $obj->bezeichnung;
+ $gruppenbeschreibung = '';
+ }
}
?>
stundenplan_id ?>
+ reservierung?'true':'false'); ?>
lehreinheit_id ?>
datum ?>
stunde ?>