mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-06-06 14:49:27 +00:00
c742fc1231
- Kollisionscheck ueberarbeitet - Kollisionsgrund wird nun im Tooltip angezeigt - Ressourcenzuordnung zu Stunden - Option hinzugefuegt um alle Einträge einer Stunde anzuzeigen (zB Incominggruppen) - Option zum Drop auf bestehende Stunden hinzugefügt (UNR wird automatisch gleichgesetzt) - Fehler behoben beim Anlegen von Gruppen mit Logins > 16 Zeichen - Es koennen jetzt mehrere Lektoren definiert werden die nicht kollidieren sollen Anwesenheitslisten mit Barcode koennen nur fuer alle Studiengaenge auf einmal erstellt werden
687 lines
19 KiB
PHP
687 lines
19 KiB
PHP
<?php
|
|
/* 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 <christian.paminger@technikum-wien.at>,
|
|
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
|
|
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
|
|
*/
|
|
include('../config/vilesci.config.inc.php');
|
|
?>
|
|
function lehrstunde(id,idList)
|
|
{
|
|
this.id=id;
|
|
this.idList=idList;
|
|
}
|
|
var lehrstunden=new Array();
|
|
|
|
/***** Drag Observer fuer Lehrveranstaltungen *****/
|
|
//zum verplanen der LVAs im Stundenplan
|
|
var lvaObserver=
|
|
{
|
|
onDragStart: function (evt,transferData,action)
|
|
{
|
|
var idList=evt.target.getAttribute("idList");
|
|
var aktion=evt.target.getAttribute("aktion");
|
|
aktion+="_set";
|
|
var paramList="?aktion="+aktion+"&lva_ids="+idList;
|
|
transferData.data=new TransferData();
|
|
transferData.data.addDataForFlavour("application/tempus-lehrveranstaltung",paramList);
|
|
//alert("test");
|
|
}
|
|
};
|
|
|
|
/***** Drag Observer fuer Gruppen *****/
|
|
var lvbgrpDDObserver=
|
|
{
|
|
onDragStart: function (evt,transferData,action)
|
|
{
|
|
var tree = document.getElementById('tree-verband')
|
|
var row = { }
|
|
var col = { }
|
|
var child = { }
|
|
|
|
//Index der Quell-Row ermitteln
|
|
tree.treeBoxObject.getCellAt(evt.pageX, evt.pageY, row, col, child)
|
|
|
|
//Beim Scrollen soll kein DnD gemacht werden
|
|
if(col.value==null)
|
|
return false;
|
|
|
|
//Daten ermitteln
|
|
col = tree.columns ? tree.columns["stg_kz"] : "stg_kz";
|
|
stg_kz=tree.view.getCellText(row.value,col);
|
|
|
|
col = tree.columns ? tree.columns["sem"] : "sem";
|
|
sem=tree.view.getCellText(row.value,col);
|
|
|
|
col = tree.columns ? tree.columns["ver"] : "ver";
|
|
ver=tree.view.getCellText(row.value,col);
|
|
|
|
col = tree.columns ? tree.columns["grp"] : "grp";
|
|
grp=tree.view.getCellText(row.value,col);
|
|
|
|
col = tree.columns ? tree.columns["gruppe"] : "gruppe";
|
|
gruppe=tree.view.getCellText(row.value,col);
|
|
|
|
var paramList= stg_kz+'&'+sem+'&'+ver+'&'+grp+'&'+gruppe;
|
|
//debug('param:'+paramList);
|
|
transferData.data=new TransferData();
|
|
transferData.data.addDataForFlavour("application/tempus-lvbgruppe",paramList);
|
|
}
|
|
};
|
|
|
|
/***** Drag Observer fuer Studenten *****/
|
|
var studentDDObserver=
|
|
{
|
|
onDragStart: function (evt,transferData,action)
|
|
{
|
|
|
|
var tree = document.getElementById('student-tree')
|
|
var row = { }
|
|
var col = { }
|
|
var child = { }
|
|
|
|
//Index der Quell-Row ermitteln
|
|
tree.treeBoxObject.getCellAt(evt.pageX, evt.pageY, row, col, child)
|
|
|
|
//Beim Scrollen soll kein DnD gemacht werden
|
|
if(col.value==null)
|
|
return false;
|
|
|
|
var start = new Object();
|
|
var end = new Object();
|
|
var numRanges = tree.view.selection.getRangeCount();
|
|
var paramList= '';
|
|
|
|
for (var t = 0; t < numRanges; t++)
|
|
{
|
|
tree.view.selection.getRangeAt(t,start,end);
|
|
for (var v = start.value; v <= end.value; v++)
|
|
{
|
|
col = tree.columns ? tree.columns["student-treecol-uid"] : "student-treecol-uid";
|
|
uid = tree.view.getCellText(v,col);
|
|
if(uid=='')
|
|
{
|
|
alert('Es koennen nur Personen mit UID (Studenten/Mitarbeiter) verschoben werden');
|
|
return false;
|
|
}
|
|
paramList += ';'+uid;
|
|
}
|
|
}
|
|
|
|
transferData.data=new TransferData();
|
|
transferData.data.addDataForFlavour("application/tempus-student",paramList);
|
|
}
|
|
};
|
|
|
|
// ****
|
|
// * Observer fuer den Gruppen Tree im Lehreinheiten-Modul
|
|
// ****
|
|
var LeLvbgrpDDObserver=
|
|
{
|
|
getSupportedFlavours : function ()
|
|
{
|
|
var flavours = new FlavourSet();
|
|
flavours.appendFlavour("application/tempus-lvbgruppe");
|
|
return flavours;
|
|
},
|
|
onDragEnter: function (evt,flavour,session)
|
|
{
|
|
},
|
|
onDragExit: function (evt,flavour,session)
|
|
{
|
|
},
|
|
onDragOver: function(evt,flavour,session)
|
|
{
|
|
evt.preventDefault();
|
|
},
|
|
onDrop: function (evt,dropdata,session)
|
|
{
|
|
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
|
|
try
|
|
{
|
|
dragservice_ds = Components.classes["@mozilla.org/widget/dragservice;1"].getService(Components.interfaces.nsIDragService);
|
|
}
|
|
catch (e)
|
|
{
|
|
debug('treeDragDrop: e');
|
|
}
|
|
|
|
var ds = dragservice_ds;
|
|
|
|
var ses = ds.getCurrentSession()
|
|
var sourceNode = ses.sourceNode
|
|
var lehreinheit_id = document.getElementById('lehrveranstaltung-detail-textbox-lehreinheit_id').value;
|
|
var row = { }
|
|
var col = { }
|
|
var child = { }
|
|
|
|
if(lehreinheit_id=='')
|
|
{
|
|
alert('Eine Gruppe kann nur zu einer Lehreinheit hinzugefügt werden. Nicht aber zu einer Lehrveranstaltung');
|
|
return false;
|
|
}
|
|
|
|
quell_gruppe=dropdata.data;
|
|
var arr = quell_gruppe.split("&");
|
|
|
|
var stg_kz = arr[0];
|
|
var sem = arr[1];
|
|
var ver = arr[2];
|
|
var grp = arr[3];
|
|
var gruppe = arr[4];
|
|
//alert("stg: "+stg_kz+" sem: "+sem+" ver: "+ver+" grp: "+grp+" gruppe: "+gruppe+" TO Lehreinheit:"+lehreinheit_id);
|
|
|
|
var req = new phpRequest('lvplanung/lehrveranstaltungDBDML.php','','');
|
|
neu = document.getElementById('lehrveranstaltung-detail-checkbox-new').checked;
|
|
|
|
req.add('type','lehreinheit_gruppe_add');
|
|
|
|
req.add('lehreinheit_id', lehreinheit_id);
|
|
req.add('studiengang_kz', stg_kz);
|
|
req.add('semester', sem);
|
|
req.add('verband', ver);
|
|
req.add('gruppe', grp);
|
|
req.add('gruppe_kurzbz', gruppe);
|
|
|
|
var response = req.executePOST();
|
|
|
|
var val = new ParseReturnValue(response)
|
|
|
|
if (!val.dbdml_return)
|
|
{
|
|
alert(val.dbdml_errormsg);
|
|
}
|
|
else
|
|
{
|
|
//GruppenTree Refreshen
|
|
LeDetailGruppeTreeRefresh();
|
|
LvTreeRefresh();
|
|
}
|
|
}
|
|
};
|
|
|
|
/***** Drag Observer fuer Lektoren *****/
|
|
var mitarbeiterDDObserver=
|
|
{
|
|
onDragStart: function (evt,transferData,action)
|
|
{
|
|
var tree = document.getElementById('tree-lektor')
|
|
var row = { }
|
|
var col = { }
|
|
var child = { }
|
|
|
|
//Index der Quell-Row ermitteln
|
|
tree.treeBoxObject.getCellAt(evt.pageX, evt.pageY, row, col, child)
|
|
|
|
//Beim Scrollen soll kein DnD gemacht werden
|
|
if(col.value==null)
|
|
return false;
|
|
|
|
//Daten ermitteln
|
|
col = tree.columns ? tree.columns["uid"] : "uid";
|
|
uid=tree.view.getCellText(row.value,col);
|
|
|
|
var paramList= uid;
|
|
transferData.data=new TransferData();
|
|
transferData.data.addDataForFlavour("application/tempus-mitarbeiter",paramList);
|
|
}
|
|
};
|
|
|
|
// ****
|
|
// * Observer fuer Drop eines Lektors auf einen Studiengang
|
|
// ****
|
|
var LektorFunktionDDObserver=
|
|
{
|
|
getSupportedFlavours : function ()
|
|
{
|
|
var flavours = new FlavourSet();
|
|
flavours.appendFlavour("application/tempus-mitarbeiter");
|
|
return flavours;
|
|
},
|
|
onDragEnter: function (evt,flavour,session)
|
|
{
|
|
},
|
|
onDragExit: function (evt,flavour,session)
|
|
{
|
|
},
|
|
onDragOver: function(evt,flavour,session)
|
|
{
|
|
evt.preventDefault();
|
|
},
|
|
onDrop: function (evt,dropdata,session)
|
|
{
|
|
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
|
|
try
|
|
{
|
|
dragservice_ds = Components.classes["@mozilla.org/widget/dragservice;1"].getService(Components.interfaces.nsIDragService);
|
|
}
|
|
catch (e)
|
|
{
|
|
debug('treeDragDrop: e');
|
|
}
|
|
|
|
var ds = dragservice_ds;
|
|
|
|
var tree = document.getElementById('tree-lektor')
|
|
var row = { }
|
|
var col = { }
|
|
var child = { }
|
|
|
|
//Index der Quell-Row ermitteln
|
|
tree.treeBoxObject.getCellAt(evt.pageX, evt.pageY, row, col, child)
|
|
|
|
//Beim Scrollen soll kein DnD gemacht werden
|
|
if(col.value==null)
|
|
return false;
|
|
|
|
//Daten ermitteln
|
|
col = tree.columns ? tree.columns["studiengang_kz"] : "studiengang_kz";
|
|
var stg=tree.view.getCellText(row.value,col);
|
|
|
|
if(stg=='')
|
|
{
|
|
alert('Mitarbeiter kann nur auf einen Studiengang gezogen werden');
|
|
return false;
|
|
}
|
|
|
|
uid=dropdata.data;
|
|
|
|
var req = new phpRequest('tempusDBDML.php','','');
|
|
|
|
req.add('type', 'addFunktionToMitarbeiter');
|
|
req.add('uid', uid);
|
|
req.add('studiengang_kz', stg);
|
|
|
|
var response = req.executePOST();
|
|
|
|
var val = new ParseReturnValue(response)
|
|
|
|
if (!val.dbdml_return)
|
|
{
|
|
alert(val.dbdml_errormsg)
|
|
}
|
|
else
|
|
{
|
|
//Tree Refreshen
|
|
//keine Ahnung warum ich da ein setTimeout brauche
|
|
//aber wenns nicht da ist dann stuerzt Mozilla ab?!
|
|
//mit seamonkey funktionierts auch ohne!
|
|
LektorTreeOpenStudiengang = stg;
|
|
window.setTimeout(RefreshLektorTree,10);
|
|
}
|
|
}
|
|
};
|
|
|
|
// ****
|
|
// * Observer fuer Lektor-Tree bei Lehreinheit-Modul
|
|
// * Bei OnDrop eines mitarbeiters wird dieser der
|
|
// * Lehreinheit zugeordnet
|
|
// ****
|
|
var LeLektorDDObserver=
|
|
{
|
|
getSupportedFlavours : function ()
|
|
{
|
|
var flavours = new FlavourSet();
|
|
flavours.appendFlavour("application/tempus-mitarbeiter");
|
|
return flavours;
|
|
},
|
|
onDragEnter: function (evt,flavour,session)
|
|
{
|
|
|
|
},
|
|
onDragExit: function (evt,flavour,session)
|
|
{
|
|
},
|
|
onDragOver: function(evt,flavour,session)
|
|
{
|
|
evt.preventDefault();
|
|
},
|
|
onDrop: function (evt,dropdata,session)
|
|
{
|
|
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
|
|
try
|
|
{
|
|
dragservice_ds = Components.classes["@mozilla.org/widget/dragservice;1"].getService(Components.interfaces.nsIDragService);
|
|
}
|
|
catch (e)
|
|
{
|
|
debug('treeDragDrop: e');
|
|
}
|
|
|
|
var ds = dragservice_ds;
|
|
|
|
var ses = ds.getCurrentSession()
|
|
var sourceNode = ses.sourceNode
|
|
var lehreinheit_id = document.getElementById('lehrveranstaltung-detail-textbox-lehreinheit_id').value;
|
|
var row = { }
|
|
var col = { }
|
|
var child = { }
|
|
|
|
if(lehreinheit_id=='')
|
|
return false;
|
|
|
|
uid=dropdata.data;
|
|
//alert("uid: "+uid);
|
|
|
|
var req = new phpRequest('lvplanung/lehrveranstaltungDBDML.php','','');
|
|
neu = document.getElementById('lehrveranstaltung-detail-checkbox-new').checked;
|
|
|
|
req.add('type','lehreinheit_mitarbeiter_add');
|
|
|
|
req.add('lehreinheit_id', lehreinheit_id);
|
|
req.add('mitarbeiter_uid', uid);
|
|
|
|
var response = req.executePOST();
|
|
|
|
var val = new ParseReturnValue(response)
|
|
|
|
if (!val.dbdml_return)
|
|
{
|
|
alert(val.dbdml_errormsg)
|
|
}
|
|
else
|
|
{
|
|
//LektorTree Refreshen
|
|
LeLektorTreeRefresh();
|
|
}
|
|
}
|
|
};
|
|
/***** Drag Observer fuer STPL-Verschiebung *****/
|
|
var listObserver=
|
|
{
|
|
onDragStart: function (evt,transferData,action)
|
|
{
|
|
var type=evt.target.getAttribute("stpltype");
|
|
var dragdatum=evt.target.getAttribute("datum");
|
|
var pers_uid=evt.target.getAttribute("pers_uid");
|
|
var idList=evt.target.getAttribute("idList");
|
|
var stg_kz=evt.target.getAttribute("stg_kz");
|
|
var sem=evt.target.getAttribute("sem");
|
|
var ver=evt.target.getAttribute("ver");
|
|
var grp=evt.target.getAttribute("grp");
|
|
var einheit=evt.target.getAttribute("einheit");
|
|
var old_ort=evt.target.getAttribute("ort");
|
|
var aktion=evt.target.getAttribute("aktion");
|
|
aktion+="_set";
|
|
var paramList="?dragtype="+type+"&dragdatum="+dragdatum+"&pers_uid="+pers_uid+"&stg_kz="+stg_kz+"&sem="+sem+"&ver="+ver+"&grp="+grp+"&einheit="+einheit+"&old_ort="+old_ort+idList+"&aktion="+aktion;
|
|
idList = TimeTableWeekGetMarkedIdList();
|
|
paramList = paramList+idList;
|
|
|
|
//die Buttons die verschoben werden grau einfaerben
|
|
var styleNow=evt.target.getAttribute("style");
|
|
evt.target.setAttribute("style",styleNow+"color:gray;");
|
|
|
|
var items = document.getElementsByTagName('button');
|
|
for each(var button in items)
|
|
{
|
|
if(button.id && button.id.startsWith('buttonSTPL'))
|
|
{
|
|
marked = button.getAttribute('marked');
|
|
if(marked=='true')
|
|
{
|
|
var styleNow=button.getAttribute("style");
|
|
button.setAttribute("style",styleNow+"color:gray;");
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
transferData.data=new TransferData();
|
|
transferData.data.addDataForFlavour("application/tempus-lehrstunde",paramList);
|
|
}
|
|
};
|
|
|
|
/***** Board Observer fuer STPL- und LVA-Verschiebung *****/
|
|
var boardObserver=
|
|
{
|
|
getSupportedFlavours : function ()
|
|
{
|
|
var flavours = new FlavourSet();
|
|
flavours.appendFlavour("application/tempus-lehrveranstaltung");
|
|
flavours.appendFlavour("application/tempus-lehrstunde");
|
|
return flavours;
|
|
},
|
|
onDragEnter: function (evt,flavour,session)
|
|
{
|
|
var styleNow=evt.target.getAttribute("style");
|
|
if (evt.target.tagName=="label")
|
|
evt.target.setAttribute("style","background-color:#AAFFAA;");
|
|
else
|
|
evt.target.setAttribute("style",styleNow+";border:1px dashed black;");
|
|
},
|
|
onDragExit: function (evt,flavour,session)
|
|
{
|
|
var styleNow=evt.target.getAttribute("style");
|
|
if (evt.target.tagName=="label")
|
|
evt.target.setAttribute("style","");
|
|
else
|
|
evt.target.setAttribute("style",styleNow+";border:1px solid black;");
|
|
},
|
|
onDragOver: function(evt,flavour,session)
|
|
{
|
|
evt.preventDefault();
|
|
},
|
|
onDrop: function (evt,dropdata,session)
|
|
{
|
|
|
|
if (dropdata.data!="")
|
|
{
|
|
saveScrollPositionTimeTableWeek();
|
|
var stplData=document.getElementById('TimeTableWeekData');
|
|
var datum=stplData.getAttribute("datum");
|
|
var type=stplData.getAttribute("stpl_type");
|
|
var stg_kz=stplData.getAttribute("stg_kz");
|
|
var sem=stplData.getAttribute("sem");
|
|
var ver=stplData.getAttribute("ver");
|
|
var grp=stplData.getAttribute("grp");
|
|
var pers_uid=stplData.getAttribute("pers_uid");
|
|
var ort=stplData.getAttribute("ort");
|
|
var einheit=stplData.getAttribute("gruppe");
|
|
|
|
var stunde=evt.target.getAttribute("stunde");
|
|
var new_datum=evt.target.getAttribute("datum");
|
|
|
|
if (evt.target.tagName=="label")
|
|
{
|
|
var new_ort=evt.target.getAttribute("ort_kurzbz");
|
|
var kollisionsanzahl=evt.target.getAttribute("kollision");
|
|
}
|
|
else if(evt.target.tagName=="button")
|
|
{
|
|
|
|
if(getvariable('allow_lehrstunde_drop')=='true')
|
|
{
|
|
// Wenn direkt auf die Stunde gezogen wird, wird der Raum uebernommen und die unr gleich gesetzt
|
|
ort=evt.target.getAttribute("ort_kurzbz");
|
|
var new_unr=evt.target.getAttribute("unr");
|
|
var new_ort=ort;
|
|
|
|
// zusaetzlich wird diese zu allen Stunden (gesamter Block) dazugebucht
|
|
var new_blockung=getNewBlockung(evt.target);
|
|
}
|
|
else
|
|
{
|
|
alert('Bitte waehlen Sie einen Ort oder aktivieren Sie die Option allow_lehrstunde_drop');
|
|
return false;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (dropdata.flavour.contentType=="application/tempus-lehrveranstaltung")
|
|
{
|
|
var new_ort=ort;
|
|
var kollisionsanzahl=0;
|
|
}
|
|
}
|
|
|
|
var url="<?php echo APP_ROOT; ?>content/lvplanung/timetable-week.xul.php";
|
|
url+=dropdata.data+"&new_stunde="+stunde+"&new_datum="+new_datum;
|
|
url+="&type="+type+"&datum="+datum+"&ort="+ort+"&pers_uid="+pers_uid;
|
|
url+="&stg_kz="+stg_kz+"&sem="+sem+"&ver="+ver+"&grp="+grp+"&gruppe="+einheit;
|
|
if (evt.target.tagName=="label" || dropdata.flavour.contentType=="application/tempus-lehrveranstaltung")
|
|
url+="&new_ort="+new_ort+"&kollisionsanzahl="+kollisionsanzahl;
|
|
else
|
|
url+="&aktion=stpl_move";
|
|
|
|
if(new_unr)
|
|
url+="&new_unr="+new_unr;
|
|
if(new_blockung)
|
|
url+="&new_blockung="+new_blockung;
|
|
|
|
url+="&mime="+dropdata.flavour.contentType;
|
|
//IDs der Stunden die verschoben werden dazuhaengen
|
|
//idList = TimeTableWeekGetMarkedIdList();
|
|
//url+=idList;
|
|
//alert("url:"+url);
|
|
if(new_ort=='' && ort=='')
|
|
{
|
|
alert('Es muss ein Ort gewaehlt werden');
|
|
}
|
|
else
|
|
{
|
|
location.href=url;
|
|
}
|
|
}
|
|
}
|
|
};
|
|
|
|
// Holt die Anzahl der Bloecke nach dem uebergebenen mit der selben unr
|
|
function getNewBlockung(item)
|
|
{
|
|
var items = document.getElementsByTagName('button');
|
|
var unr = item.getAttribute('unr');
|
|
var stunde = item.getAttribute('stunde');
|
|
var wochentag = item.getAttribute('wochentag');
|
|
var blockung=1;
|
|
for each(var button in items)
|
|
{
|
|
if(button.id && button.id.startsWith('buttonSTPL'))
|
|
{
|
|
buttonunr=button.getAttribute('unr');
|
|
buttonwochentag=button.getAttribute('wochentag');
|
|
buttonstunde=button.getAttribute('stunde');
|
|
|
|
if(buttonunr==unr && buttonwochentag==wochentag && buttonstunde>stunde)
|
|
{
|
|
blockung=blockung+1;
|
|
}
|
|
}
|
|
}
|
|
return blockung;
|
|
}
|
|
|
|
// ****
|
|
// * Observer fuer den Lehrverbandstree
|
|
// ****
|
|
var verbandtreeDDObserver=
|
|
{
|
|
getSupportedFlavours : function ()
|
|
{
|
|
var flavours = new FlavourSet();
|
|
flavours.appendFlavour("application/tempus-student");
|
|
return flavours;
|
|
},
|
|
onDragEnter: function (evt,flavour,session)
|
|
{
|
|
},
|
|
onDragExit: function (evt,flavour,session)
|
|
{
|
|
},
|
|
onDragOver: function(evt,flavour,session)
|
|
{
|
|
evt.preventDefault();
|
|
},
|
|
onDrop: function (evt,dropdata,session)
|
|
{
|
|
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
|
|
try
|
|
{
|
|
dragservice_ds = Components.classes["@mozilla.org/widget/dragservice;1"].getService(Components.interfaces.nsIDragService);
|
|
}
|
|
catch (e)
|
|
{
|
|
debug('treeDragDrop: e');
|
|
}
|
|
|
|
var ds = dragservice_ds;
|
|
|
|
var tree = document.getElementById('tree-verband')
|
|
var row = { }
|
|
var col = { }
|
|
var child = { }
|
|
|
|
tree.treeBoxObject.getCellAt(evt.pageX, evt.pageY, row, col, child)
|
|
|
|
if(row.value!=-1) //Drop on Row
|
|
{
|
|
//Ziel holen
|
|
col = tree.columns ? tree.columns["gruppe"] : "gruppe";
|
|
gruppe_kurzbz=tree.view.getCellText(row.value,col);
|
|
|
|
col = tree.columns ? tree.columns["stg_kz"] : "stg_kz";
|
|
stg_kz=tree.view.getCellText(row.value,col);
|
|
|
|
col = tree.columns ? tree.columns["sem"] : "sem";
|
|
sem=tree.view.getCellText(row.value,col);
|
|
|
|
col = tree.columns ? tree.columns["ver"] : "ver";
|
|
ver=tree.view.getCellText(row.value,col);
|
|
|
|
col = tree.columns ? tree.columns["grp"] : "grp";
|
|
grp=tree.view.getCellText(row.value,col);
|
|
}
|
|
else
|
|
return false;
|
|
|
|
if(gruppe_kurzbz=='' && sem=='')
|
|
{
|
|
alert('Zuteilung ist nur zu Spezial- oder Lehrverbandsgruppen moeglich');
|
|
return false;
|
|
}
|
|
|
|
uid=dropdata.data;
|
|
|
|
var req = new phpRequest('student/studentDBDML.php','','');
|
|
|
|
req.add('type','gruppenzuteilung');
|
|
|
|
req.add('uid', uid);
|
|
req.add('gruppe_kurzbz', gruppe_kurzbz);
|
|
req.add('stg_kz', stg_kz);
|
|
req.add('semester', sem);
|
|
req.add('verband', ver);
|
|
req.add('gruppe', grp);
|
|
|
|
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
|
|
{
|
|
StudentTreeRefresh();
|
|
}
|
|
}
|
|
};
|