mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-06-01 12:19:28 +00:00
675 lines
23 KiB
PHP
675 lines
23 KiB
PHP
<?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>.
|
|
*/
|
|
require_once('../../config/vilesci.config.inc.php');
|
|
?>
|
|
// Stunde die zuletzt markiert wurde
|
|
var TimeTableWeekLastMarkedItem='';
|
|
|
|
// LVA-Panel aktualisieren
|
|
function onLVARefresh()
|
|
{
|
|
// LVAs
|
|
var vboxLehrveranstalungPlanung=document.getElementById('vboxLehrveranstalungPlanung');
|
|
var datasources=vboxLehrveranstalungPlanung.getAttribute('datasources');
|
|
//alert (datasources);
|
|
vboxLehrveranstalungPlanung.setAttribute('datasources',datasources+"&bla=");
|
|
}
|
|
|
|
// LVA-Panel filtern
|
|
function onLVAFilter()
|
|
{
|
|
var filter=document.getElementById('tempus-lva-filter').value;
|
|
var vorher='';
|
|
var nachher='';
|
|
|
|
// LVAs
|
|
var vboxLehrveranstalungPlanung=document.getElementById('vboxLehrveranstalungPlanung');
|
|
var datasources=vboxLehrveranstalungPlanung.getAttribute('datasources');
|
|
|
|
var orig=datasources.substring(0);
|
|
var idx = datasources.indexOf("&filter=")
|
|
if(idx!=-1)
|
|
{
|
|
idx2=datasources.indexOf("&",idx+9);
|
|
vorher=datasources.slice(0,idx);
|
|
if(idx2!=-1)
|
|
nachher=datasources.slice(idx2);
|
|
datasources=vorher+nachher;
|
|
}
|
|
|
|
datasources=datasources+"&filter="+encodeURIComponent(filter);
|
|
|
|
//alert('Orig:'+orig+' Source: '+datasources+' Vorher:'+vorher+' Nachher:'+nachher);
|
|
vboxLehrveranstalungPlanung.setAttribute('datasources',datasources);
|
|
}
|
|
|
|
// Liefert die Sortierreihenfolge der Lehrstunden
|
|
function LehrstundeGetSortOrder()
|
|
{
|
|
var toolbar = document.getElementById('toolbarTimeTableSort');
|
|
var tbbuttons = toolbar.getElementsByTagName('toolbarbutton');
|
|
|
|
for each(var button in tbbuttons)
|
|
{
|
|
if(button.getAttribute('checked')=='true')
|
|
{
|
|
return button.getAttribute('value');
|
|
}
|
|
}
|
|
return 'stundenDESC';
|
|
}
|
|
|
|
// LVA-Panel filtern
|
|
function onLVASort(item)
|
|
{
|
|
var vorher='';
|
|
var nachher='';
|
|
var order=item.getAttribute('value');
|
|
|
|
//Sortiermarkierung von allen entfernen
|
|
var toolbar = document.getElementById('toolbarTimeTableSort');
|
|
var tbbuttons = toolbar.getElementsByTagName('toolbarbutton');
|
|
|
|
for each(var button in tbbuttons)
|
|
{
|
|
if(button.id)
|
|
button.setAttribute('checked','false');
|
|
}
|
|
//Element als gedrueckt markieren
|
|
item.setAttribute('checked','true');
|
|
|
|
// LVAs
|
|
var vboxLehrveranstalungPlanung=document.getElementById('vboxLehrveranstalungPlanung');
|
|
var datasources=vboxLehrveranstalungPlanung.getAttribute('datasources');
|
|
|
|
var orig=datasources.substring(0);
|
|
var idx = datasources.indexOf("&order=")
|
|
if(idx!=-1)
|
|
{
|
|
idx2=datasources.indexOf("&",idx+8);
|
|
vorher=datasources.slice(0,idx);
|
|
if(idx2!=-1)
|
|
nachher=datasources.slice(idx2);
|
|
datasources=vorher+nachher;
|
|
}
|
|
|
|
datasources=datasources+"&order="+encodeURIComponent(order);
|
|
|
|
//alert('Orig:'+orig+' Source: '+datasources+' Vorher:'+vorher+' Nachher:'+nachher);
|
|
vboxLehrveranstalungPlanung.setAttribute('datasources',datasources);
|
|
}
|
|
|
|
function onJumpNow()
|
|
{
|
|
var contentFrame=document.getElementById('iframeTimeTableWeek');
|
|
var daten=window.TimeTableWeek.document.getElementById('TimeTableWeekData');
|
|
var datum=parseInt(daten.getAttribute("datum"));
|
|
var type=daten.getAttribute("stpl_type");
|
|
var stg_kz=daten.getAttribute("stg_kz");
|
|
var sem=daten.getAttribute("sem");
|
|
var ver=daten.getAttribute("ver");
|
|
var grp=daten.getAttribute("grp");
|
|
var gruppe=daten.getAttribute("gruppe");
|
|
var ort=daten.getAttribute("ort");
|
|
var fachbereich_kurzbz=daten.getAttribute("fachbereich_kurzbz");
|
|
var pers_uid=daten.getAttribute("pers_uid");
|
|
|
|
var d = new Date();
|
|
var datum=0;
|
|
//Sekunden seit 1.1.1970
|
|
datum = d.getTime()/1000;
|
|
//alert(datum);
|
|
var attributes="?type="+type+"&datum="+datum+"&ort="+encodeURIComponent(ort)+"&pers_uid="+encodeURIComponent(pers_uid)+"&stg_kz="+encodeURIComponent(stg_kz)+"&sem="+encodeURIComponent(sem)+"&ver="+encodeURIComponent(ver)+"&grp="+encodeURIComponent(grp)+"&gruppe="+encodeURIComponent(gruppe)+"&fachbereich_kurzbz="+encodeURIComponent(fachbereich_kurzbz);
|
|
var url = "<?php echo APP_ROOT; ?>content/lvplanung/timetable-week.xul.php";
|
|
url+=attributes;
|
|
if (url)
|
|
contentFrame.setAttribute('src', url);
|
|
}
|
|
|
|
function onJumpDate(wochen)
|
|
{
|
|
var contentFrame=document.getElementById('iframeTimeTableWeek');
|
|
var daten=window.TimeTableWeek.document.getElementById('TimeTableWeekData');
|
|
var datum=parseInt(daten.getAttribute("datum"));
|
|
var type=daten.getAttribute("stpl_type");
|
|
var stg_kz=daten.getAttribute("stg_kz");
|
|
var sem=daten.getAttribute("sem");
|
|
var ver=daten.getAttribute("ver");
|
|
var grp=daten.getAttribute("grp");
|
|
var gruppe=daten.getAttribute("gruppe");
|
|
var ort=daten.getAttribute("ort");
|
|
var pers_uid=daten.getAttribute("pers_uid");
|
|
var fachbereich_kurzbz=daten.getAttribute("fachbereich_kurzbz");
|
|
|
|
// neues Datum berechnen. Eine Woche sind 604800 Sekunden.
|
|
datum+=(604800*wochen)+1;
|
|
|
|
var attributes="?type="+type+"&datum="+datum+"&ort="+encodeURIComponent(ort)+"&pers_uid="+encodeURIComponent(pers_uid)+"&stg_kz="+encodeURIComponent(stg_kz)+"&sem="+encodeURIComponent(sem)+"&ver="+encodeURIComponent(ver)+"&grp="+encodeURIComponent(grp)+"&gruppe="+encodeURIComponent(gruppe)+"&fachbereich_kurzbz="+encodeURIComponent(fachbereich_kurzbz);
|
|
var url = "<?php echo APP_ROOT; ?>content/lvplanung/timetable-week.xul.php";
|
|
url+=attributes;
|
|
if (url)
|
|
contentFrame.setAttribute('src', url);
|
|
}
|
|
|
|
function onJumpDateRel(evt)
|
|
{
|
|
var contentFrame=document.getElementById('iframeTimeTableWeek');
|
|
var daten=window.TimeTableWeek.document.getElementById('TimeTableWeekData');
|
|
var datum=parseInt(daten.getAttribute("datum"));
|
|
var type=daten.getAttribute("stpl_type");
|
|
var stg_kz=daten.getAttribute("stg_kz");
|
|
var sem=daten.getAttribute("sem");
|
|
var ver=daten.getAttribute("ver");
|
|
var grp=daten.getAttribute("grp");
|
|
var gruppe=daten.getAttribute("gruppe");
|
|
var ort=daten.getAttribute("ort");
|
|
var pers_uid=daten.getAttribute("pers_uid");
|
|
var fachbereich_kurzbz=daten.getAttribute("fachbereich_kurzbz");
|
|
var kw=daten.getAttribute("kw");
|
|
var KWZiel=evt.target.getAttribute("kw");
|
|
var wochen=KWZiel-kw;
|
|
|
|
// neues Datum berechnen. Eine Woche sind 604800 Sekunden.
|
|
datum+=(604800*wochen)+1;
|
|
|
|
var attributes="?type="+type+"&datum="+datum+"&ort="+encodeURIComponent(ort)+"&pers_uid="+encodeURIComponent(pers_uid)+"&stg_kz="+encodeURIComponent(stg_kz)+"&sem="+encodeURIComponent(sem)+"&ver="+encodeURIComponent(ver)+"&grp="+encodeURIComponent(grp)+"&gruppe="+encodeURIComponent(gruppe)+"&fachbereich_kurzbz="+encodeURIComponent(fachbereich_kurzbz);
|
|
var url = "<?php echo APP_ROOT; ?>content/lvplanung/timetable-week.xul.php";
|
|
url+=attributes;
|
|
if (url)
|
|
contentFrame.setAttribute('src', url);
|
|
}
|
|
|
|
function onLVAdoStpl(evt)
|
|
{
|
|
saveScrollPositionTimeTableWeek();
|
|
var contentFrame=document.getElementById('iframeTimeTableWeek');
|
|
var daten=window.TimeTableWeek.document.getElementById('TimeTableWeekData');
|
|
var datum=parseInt(daten.getAttribute("datum"));
|
|
var type=daten.getAttribute("stpl_type");
|
|
var stg_kz=daten.getAttribute("stg_kz");
|
|
var sem=daten.getAttribute("sem");
|
|
var ver=daten.getAttribute("ver");
|
|
var grp=daten.getAttribute("grp");
|
|
var gruppe=daten.getAttribute("gruppe");
|
|
var ort=daten.getAttribute("ort");
|
|
var pers_uid=daten.getAttribute("pers_uid");
|
|
var aktion=evt.target.getAttribute("aktion");
|
|
var doIt=true;
|
|
var oneDate=new Date();
|
|
if (aktion=='lva_stpl_del_single')
|
|
doIt=confirm('Es werden alle Lehrveranstaltungen aus dem LV-Plan dieser Woche geloescht!\nSind Sie sicher?')
|
|
else
|
|
if (aktion=='lva_stpl_del_multi')
|
|
doIt=confirm('Es werden alle Lehrveranstaltungen aus dem LV-Plan ab dieser Woche geloescht!\nSind Sie sicher?')
|
|
else
|
|
aktion+="_search";
|
|
var idList=evt.target.getAttribute("idList");
|
|
|
|
var attributes="?type="+type+"&datum="+datum+"&ort="+encodeURIComponent(ort)+"&pers_uid="+pers_uid+"&stg_kz="+stg_kz+"&sem="+sem+"&ver="+ver+"&grp="+grp+"&gruppe="+gruppe;
|
|
attributes+=idList+"&aktion="+aktion+"&time="+oneDate.getTime();
|
|
var url = "<?php echo APP_ROOT; ?>content/lvplanung/timetable-week.xul.php";
|
|
url+=attributes+"&bla=";
|
|
//dump(url);
|
|
if (url && doIt)
|
|
contentFrame.setAttribute('src', url);
|
|
}
|
|
|
|
function onStplSearchRoom(event)
|
|
{
|
|
//alert ("clickCount="+event.clickCount+" button="+event.button);
|
|
if (event.button == 1)
|
|
{
|
|
StplSearchRoom(event.target);
|
|
}
|
|
}
|
|
|
|
function StplSearchRoom(target)
|
|
{
|
|
saveScrollPositionTimeTableWeek();
|
|
if(typeof(target)==='undefined')
|
|
target = document.popupNode;
|
|
|
|
var contentFrame=document.getElementById('iframeTimeTableWeek');
|
|
var daten=document.getElementById('TimeTableWeekData');
|
|
var datum=parseInt(daten.getAttribute("datum"));
|
|
var type=daten.getAttribute("stpl_type");
|
|
var stg_kz=daten.getAttribute("stg_kz");
|
|
var sem=daten.getAttribute("sem");
|
|
var ver=daten.getAttribute("ver");
|
|
var grp=daten.getAttribute("grp");
|
|
var gruppe=daten.getAttribute("gruppe");
|
|
var ort=daten.getAttribute("ort");
|
|
var pers_uid=daten.getAttribute("pers_uid");
|
|
var aktion=target.getAttribute("aktion");
|
|
aktion+="_single_search";
|
|
var idList=target.getAttribute("idList");
|
|
|
|
var attributes="\n?type="+type+"&datum="+datum+"&ort="+ort+"&pers_uid="+pers_uid+"\n&stg_kz="+stg_kz+"&sem="+sem+"&ver="+ver+"&grp="+grp+"\n&gruppe="+gruppe;
|
|
attributes+=idList+"&aktion="+aktion;
|
|
var url = "<?php echo APP_ROOT; ?>content/lvplanung/timetable-week.xul.php";
|
|
url+=attributes;
|
|
//alert(url);
|
|
if (url)
|
|
location.href=url;
|
|
}
|
|
|
|
// ****
|
|
// * Markiert einen LV-Plan Eintrag
|
|
// * item ... Element das markiert werden soll
|
|
// * Wenn kein Item uebergeben wird, dann werden alle markierungen geloescht
|
|
// ****
|
|
function TimeTableWeekMarkiere(item)
|
|
{
|
|
if(!item)
|
|
{
|
|
items = document.getElementsByTagName('button');
|
|
|
|
for each(var button in items)
|
|
{
|
|
if(button.id && button.id.startsWith('buttonSTPL'))
|
|
{
|
|
button.setAttribute('marked','false');
|
|
button.style.color='black';
|
|
//button.style.fontStyle='normal';
|
|
//button.style.fontWeight='normal';
|
|
button.style.border = "1px solid transparent";
|
|
|
|
button.style.MozBorderTopColors='transparent';
|
|
button.style.MozBorderLeftColors='transparent';
|
|
button.style.MozBorderBottomColors='transparent';
|
|
button.style.MozBorderRightColors='transparent';
|
|
}
|
|
}
|
|
TimeTableWeekLastMarkedItem='';
|
|
}
|
|
else
|
|
{
|
|
item.setAttribute('marked','true');
|
|
|
|
item.style.color='darkred';
|
|
//item.style.fontStyle='italic';
|
|
//item.style.fontWeight='bold';
|
|
|
|
item.style.border = "1px solid darkred";
|
|
|
|
item.style.MozBorderTopColors='darkred';
|
|
item.style.MozBorderLeftColors='darkred';
|
|
item.style.MozBorderBottomColors='darkred';
|
|
item.style.MozBorderRightColors='darkred';
|
|
|
|
TimeTableWeekLastMarkedItem=item;
|
|
}
|
|
}
|
|
|
|
// ****
|
|
// * Liefert die IdList der Markierten Stunden
|
|
// ****
|
|
function TimeTableWeekGetMarkedIdList()
|
|
{
|
|
var items = document.getElementsByTagName('button');
|
|
var myidlist = '';
|
|
var i=0;
|
|
for each(var button in items)
|
|
{
|
|
if(button.id && button.id.startsWith('buttonSTPL'))
|
|
{
|
|
marked = button.getAttribute('marked');
|
|
if(marked=='true')
|
|
{
|
|
myidlist = myidlist+button.getAttribute('idList').replace(/&/g,"&x"+i);
|
|
i++;
|
|
}
|
|
}
|
|
}
|
|
return myidlist;
|
|
}
|
|
|
|
// ****
|
|
// * Klick auf eine Stunde im LV-Plan
|
|
// ****
|
|
function TimeTableWeekClick(event)
|
|
{
|
|
|
|
if(event.ctrlKey)
|
|
{
|
|
//Wenn mit Strg auf die Stunde geklickt wird, dann wird diese Stunde zur Markierung hinzugefuegt
|
|
TimeTableWeekMarkiere(event.target);
|
|
}
|
|
else if(event.shiftKey)
|
|
{
|
|
//Wenn mit Shift auf eine Stunde geklickt wird, dann werden alle Stunden markiert,
|
|
//die zwischen der zuletzt markierten und dieser Stunde liegen
|
|
start = parseInt(TimeTableWeekLastMarkedItem.id.substring('buttonSTPL'.length));
|
|
ende = parseInt(event.target.id.substring('buttonSTPL'.length));
|
|
if(start>ende)
|
|
{
|
|
hlp = ende;
|
|
ende = start;
|
|
start = hlp;
|
|
}
|
|
|
|
for(var i=start;i<=ende;i++)
|
|
{
|
|
item = document.getElementById('buttonSTPL'+i);
|
|
TimeTableWeekMarkiere(item);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
|
|
//alle markierungen entfernen
|
|
TimeTableWeekMarkiere();
|
|
|
|
//aktuellen Eintrag markieren
|
|
TimeTableWeekMarkiere(event.target);
|
|
|
|
//Details anzeigen
|
|
onStplDetail(event);
|
|
}
|
|
}
|
|
|
|
// ****
|
|
// * Doppelklick auf eine Stunde im LV-Plan
|
|
// * Markiert alle Stunden mit der selben UNR an diesem Tag
|
|
// ****
|
|
function TimeTableWeekDblClick(event)
|
|
{
|
|
var items = document.getElementsByTagName('button');
|
|
var unr = event.target.getAttribute('unr');
|
|
var wochentag = event.target.getAttribute('wochentag');
|
|
|
|
for each(var button in items)
|
|
{
|
|
if(button.id && button.id.startsWith('buttonSTPL'))
|
|
{
|
|
buttonunr=button.getAttribute('unr');
|
|
buttonwochentag=button.getAttribute('wochentag');
|
|
|
|
if(buttonunr==unr && buttonwochentag==wochentag)
|
|
{
|
|
TimeTableWeekMarkiere(button);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
// ****
|
|
// * Laedt die Details zu einer Stunde
|
|
// ****
|
|
function onStplDetail(event)
|
|
{
|
|
var idList=event.target.getAttribute("idList");
|
|
var type=event.target.getAttribute("stpltype");
|
|
var stg_kz=event.target.getAttribute("stg_kz");
|
|
var sem=event.target.getAttribute("sem");
|
|
var ver=event.target.getAttribute("ver");
|
|
var grp=event.target.getAttribute("grp");
|
|
var gruppe=event.target.getAttribute("gruppe");
|
|
var datum=event.target.getAttribute("datum");
|
|
var stunde=event.target.getAttribute("stunde");
|
|
var pers_uid=event.target.getAttribute("pers_uid");
|
|
var ort_kurzbz=event.target.getAttribute("ort_kurzbz");
|
|
var fachbereich_kurzbz=event.target.getAttribute("fachbereich_kurzbz");
|
|
|
|
var attributes="?type="+type+"&datum="+datum+"&stunde="+stunde+"&ort_kurzbz="+encodeURIComponent(ort_kurzbz)+"&pers_uid="+pers_uid+"&stg_kz="+stg_kz+"&sem="+sem+"&ver="+ver+"&grp="+grp+"&gruppe="+gruppe+"&ort_kurzbz="+encodeURIComponent(ort_kurzbz)+"&fachbereich_kurzbz="+encodeURIComponent(fachbereich_kurzbz);
|
|
//alert(attributes);
|
|
//debug('stpl-week-overlay onStplDetail Attribute:'+attributes);
|
|
attributes+=idList;
|
|
var url = "<?php echo APP_ROOT; ?>rdf/lehrstunde.rdf.php";
|
|
url+=attributes;
|
|
//alert('first:'+window.parent.STPLlastDetailUrl);
|
|
window.parent.STPLlastDetailUrl = url;
|
|
//alert(url+' - '+window.parent.STPLlastDetailUrl);
|
|
var treeStplDetails=parent.document.getElementById('treeStplDetails');
|
|
treeStplDetails.setAttribute('datasources',url);
|
|
}
|
|
|
|
|
|
// ****
|
|
// * oeffnet einen Dialog zum Bearbeiten der StundenplanDetails
|
|
// ****
|
|
function STPLDetailEdit()
|
|
{
|
|
tree = document.getElementById('treeStplDetails');
|
|
if(tree.currentIndex==-1)
|
|
{
|
|
alert('Bitte zuerst einen Eintrag markieren!');
|
|
return false;
|
|
}
|
|
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=500,width=600,left=100,top=100,hotkeys=0,resizable=yes,status=no,scrollbars=yes,toolbar=no,location=no,menubar=no,dependent=yes');
|
|
}
|
|
|
|
// ****
|
|
// * Speichert die Stundenplan-Detail-Daten
|
|
// ****
|
|
function STPLDetailSave(dialog)
|
|
{
|
|
var id = dialog.getElementById('stpl-details-dialog-textbox-id').value;
|
|
var unr = dialog.getElementById('stpl-details-dialog-textbox-unr').value;
|
|
var verband = dialog.getElementById('stpl-details-dialog-textbox-verband').value;
|
|
var gruppe = dialog.getElementById('stpl-details-dialog-textbox-gruppe').value;
|
|
var gruppe_kurzbz = dialog.getElementById('stpl-details-dialog-menulist-gruppe_kurzbz').value;
|
|
var ort_kurzbz = dialog.getElementById('stpl-details-dialog-menulist-ort_kurzbz').value;
|
|
var datum = dialog.getElementById('stpl-details-dialog-box-datum').value;
|
|
var stunde = dialog.getElementById('stpl-details-dialog-menulist-stunde').value;
|
|
var titel = dialog.getElementById('stpl-details-dialog-textbox-titel').value;
|
|
var anmerkung = dialog.getElementById('stpl-details-dialog-textbox-anmerkung').value;
|
|
var fix = dialog.getElementById('stpl-details-dialog-checkbox-fix').checked;
|
|
var mitarbeiter_uid = dialog.getElementById('stpl-details-dialog-menulist-lektor').value;
|
|
var semester = dialog.getElementById('stpl-details-dialog-textbox-semester').value;
|
|
if(semester=='')
|
|
{
|
|
alert('Semester darf nicht leer sein');
|
|
return false;
|
|
}
|
|
var url = '<?php echo APP_ROOT ?>content/tempusDBDML.php';
|
|
var req = new phpRequest(url,'','');
|
|
|
|
req.add('type', 'savestundenplaneintrag');
|
|
|
|
req.add('stundenplan_id', id);
|
|
req.add('unr', unr);
|
|
req.add('verband', verband);
|
|
req.add('gruppe', gruppe);
|
|
req.add('gruppe_kurzbz', gruppe_kurzbz);
|
|
req.add('ort_kurzbz', ort_kurzbz);
|
|
req.add('datum', ConvertDateToISO(datum));
|
|
req.add('stunde', stunde);
|
|
req.add('titel', titel);
|
|
req.add('anmerkung', anmerkung);
|
|
req.add('stundenplan_id', id);
|
|
req.add('fix', fix);
|
|
req.add('mitarbeiter_uid', mitarbeiter_uid);
|
|
req.add('semester',semester);
|
|
|
|
var response = req.executePOST();
|
|
|
|
var val = new ParseReturnValue(response)
|
|
|
|
if (!val.dbdml_return)
|
|
{
|
|
if(val.dbdml_errormsg=='')
|
|
alert(response)
|
|
else
|
|
alert(val.dbdml_errormsg)
|
|
return false;
|
|
}
|
|
else
|
|
{
|
|
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
|
|
|
|
var treeStplDetails=parent.document.getElementById('treeStplDetails');
|
|
//alert('url'+STPLlastDetailUrl);
|
|
treeStplDetails.setAttribute('datasources', '');
|
|
treeStplDetails.setAttribute('datasources', STPLlastDetailUrl);
|
|
return true;
|
|
}
|
|
|
|
}
|
|
|
|
// ****
|
|
// * Loescht den Eintrag der im Detailfenster markiert ist aus der Stundenplantabelle
|
|
// ****
|
|
function STPLDetailDelete()
|
|
{
|
|
//alert('url'+STPLlastDetailUrl);
|
|
//return false;
|
|
|
|
tree = document.getElementById('treeStplDetails');
|
|
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,'','');
|
|
|
|
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();
|
|
|
|
var val = new ParseReturnValue(response)
|
|
|
|
if (!val.dbdml_return)
|
|
{
|
|
if(val.dbdml_errormsg=='')
|
|
alert(response)
|
|
else
|
|
alert(val.dbdml_errormsg)
|
|
}
|
|
else
|
|
{
|
|
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
|
|
|
|
var treeStplDetails=parent.document.getElementById('treeStplDetails');
|
|
//alert('url'+STPLlastDetailUrl);
|
|
treeStplDetails.setAttribute('datasources', '');
|
|
treeStplDetails.setAttribute('datasources', STPLlastDetailUrl);
|
|
}
|
|
}
|
|
}
|
|
|
|
// ****
|
|
// * Speichert die aktuelle Scrollposition der Wochenuebersicht.
|
|
// * Nach dem neuladen der Uebersicht, kann die Scrollposition mit setScrollpositionTimeTableWeek wieder gesetzt werden
|
|
// ****
|
|
function saveScrollPositionTimeTableWeek()
|
|
{
|
|
if(window.TimeTableWeek)
|
|
var sbox = window.TimeTableWeek.document.getElementById('timetable-week-scrollbox');
|
|
else
|
|
var sbox = document.getElementById('timetable-week-scrollbox');
|
|
if(sbox)
|
|
{
|
|
var xpcomInterface = sbox.boxObject.QueryInterface(Components.interfaces.nsIScrollBoxObject);
|
|
var x={};
|
|
var y={};
|
|
xpcomInterface.getPosition(x, y);
|
|
TimeTableWeekPositionX=x.value;
|
|
TimeTableWeekPositionY=y.value;
|
|
window.parent.TimeTableWeekPositionX=x.value;
|
|
window.parent.TimeTableWeekPositionY=y.value;
|
|
}
|
|
}
|
|
|
|
// ****
|
|
// * Setzt die Scrollposition wieder auf den Stand zurueck der zuvor mittels saveScrollPositionTimeTableWeek gespeichert wurde
|
|
// ****
|
|
function setScrollpositionTimeTableWeek()
|
|
{
|
|
var sbox = document.getElementById('timetable-week-scrollbox');
|
|
if(sbox)
|
|
{
|
|
var xpcomInterface = sbox.boxObject.QueryInterface(Components.interfaces.nsIScrollBoxObject);
|
|
xpcomInterface.scrollTo(window.parent.TimeTableWeekPositionX, window.parent.TimeTableWeekPositionY);
|
|
}
|
|
}
|
|
|
|
// ****
|
|
// * Loescht alle markierten Stunden
|
|
// ****
|
|
function TimetableDeleteEntries()
|
|
{
|
|
saveScrollPositionTimeTableWeek();
|
|
var contentFrame=document.getElementById('iframeTimeTableWeek');
|
|
if(window.TimeTableWeek)
|
|
var daten=window.TimeTableWeek.document.getElementById('TimeTableWeekData');
|
|
else
|
|
var daten=document.getElementById('TimeTableWeekData');
|
|
var datum=parseInt(daten.getAttribute("datum"));
|
|
var type=daten.getAttribute("stpl_type");
|
|
var stg_kz=daten.getAttribute("stg_kz");
|
|
var sem=daten.getAttribute("sem");
|
|
var ver=daten.getAttribute("ver");
|
|
var grp=daten.getAttribute("grp");
|
|
var gruppe=daten.getAttribute("gruppe");
|
|
var ort=daten.getAttribute("ort");
|
|
var pers_uid=daten.getAttribute("pers_uid");
|
|
var doIt=true;
|
|
var aktion='stpl_delete_single';
|
|
|
|
doIt=confirm('Es werden die gewaehlten Eintraege aus dem LV-Plan geloescht!\nSind Sie sicher?')
|
|
|
|
var attributes="\n?type="+type+"&datum="+datum+"&ort="+encodeURIComponent(ort)+"&pers_uid="+pers_uid+"\n&stg_kz="+stg_kz+"&sem="+sem+"&ver="+ver+"&grp="+grp+"\n&gruppe="+gruppe;
|
|
attributes+="&aktion="+aktion;
|
|
var url = "<?php echo APP_ROOT; ?>content/lvplanung/timetable-week.xul.php";
|
|
url+=attributes;
|
|
|
|
//IDs der Stunden dazuhaengen
|
|
idList = TimeTableWeekGetMarkedIdList();
|
|
url+=idList
|
|
|
|
if (url && doIt)
|
|
location.href=url;
|
|
}
|
|
function StplWeekOpenNotiz(item)
|
|
{
|
|
var lehreinheit_id=item.getAttribute('lehreinheit_id');
|
|
window.open('<?php echo APP_ROOT; ?>content/notizdialog.xul.php?lehreinheit_id='+lehreinheit_id,'Details', 'height=500,width=600,left=100,top=100,hotkeys=0,resizable=yes,status=no,scrollbars=yes,toolbar=no,location=no,menubar=no,dependent=yes');
|
|
}
|