Bugfix beim Löschen von Reservierungen im Tempus

This commit is contained in:
Andreas Österreicher
2010-06-25 07:56:18 +00:00
parent 23278ca329
commit 963a658386
6 changed files with 97 additions and 27 deletions
@@ -140,6 +140,10 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
class="sortDirectionIndicator" persist="hidden, width, ordinal"
sort="rdf:http://www.technikum-wien.at/lehrstunde/rdf#gruppe_beschreibung" />
<splitter class="tree-splitter"/>
<treecol id="stpl-details-overlay-lehrstunde-reservierung" label="Reservierung" flex="2" hidden="true"
class="sortDirectionIndicator" persist="hidden, width, ordinal"
sort="rdf:http://www.technikum-wien.at/lehrstunde/rdf#reservierung" />
<splitter class="tree-splitter"/>
</treecols>
<template>
@@ -167,6 +171,7 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
<treecell label="rdf:http://www.technikum-wien.at/lehrstunde/rdf#titel" />
<treecell label="rdf:http://www.technikum-wien.at/lehrstunde/rdf#gruppe_bezeichnung" />
<treecell label="rdf:http://www.technikum-wien.at/lehrstunde/rdf#gruppe_beschreibung" />
<treecell label="rdf:http://www.technikum-wien.at/lehrstunde/rdf#reservierung" />
</treerow>
</treeitem>
</treechildren>
+27 -19
View File
@@ -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('<?php echo APP_ROOT; ?>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('<?php echo APP_ROOT; ?>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 = '<?php echo APP_ROOT ?>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();
+26
View File
@@ -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')
+24
View File
@@ -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());
+4 -4
View File
@@ -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))
{
+11 -4
View File
@@ -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 = '';
}
}
?>
<RDF:li>
<RDF:Description id="<?php echo $ls->stundenplan_id; ?>" about="<?php echo $rdf_url.'/'. $ls->stundenplan_id; ?>" >
<LEHRSTUNDE:id><?php echo $ls->stundenplan_id ?></LEHRSTUNDE:id>
<LEHRSTUNDE:reservierung><?php echo ($ls->reservierung?'true':'false'); ?></LEHRSTUNDE:reservierung>
<LEHRSTUNDE:lehreinheit_id><?php echo $ls->lehreinheit_id ?></LEHRSTUNDE:lehreinheit_id>
<LEHRSTUNDE:datum><?php echo $ls->datum ?></LEHRSTUNDE:datum>
<LEHRSTUNDE:stunde><?php echo $ls->stunde ?></LEHRSTUNDE:stunde>