diff --git a/content/planner.js.php b/content/planner.js.php index 9fffe57d0..99fca178a 100755 --- a/content/planner.js.php +++ b/content/planner.js.php @@ -20,13 +20,6 @@ */ require_once('../config/vilesci.config.inc.php'); ?> -var menuUndoDatasource=0; -var STPLlastDetailUrl='leer'; - -//Speichert die Position der Scrollbalken in der Wochenuebersicht -TimeTableWeekPositionX=0; -TimeTableWeekPositionY=0; - // ---------------------------------------------------------- // ------- CLASS Progressmeter ------------------------------ function Progressmeter(progress_id) @@ -77,10 +70,6 @@ function onLoad() { try { - initLektorTree(); - //Studenten Tab beim starten markieren - //document.getElementById('main-content-tabs').selectedItem=document.getElementById('tab-studenten'); - //Funktion ueberschreiben damit sie nicht nochmal aufgerufen wird //wenn zb ein IFrame geladen wird onLoad=function() {return false}; @@ -103,394 +92,4 @@ function loadURL(event) var url = event.target.getAttribute('value'); if (url) contentFrame.setAttribute('src', url); -} - -// **** -// * Aendert die Stundenplantabelle -// **** -function stpltableChange(db_stpl_table) -{ - variableChange('db_stpl_table', null, db_stpl_table); - return true; -} - -// **** -// * Wechselt von Studiensemester 'stsem' um 'wert' Studiensemester vor bzw zurueck -// **** -function studiensemesterChange(stsem, wert) -{ - if(typeof(wert)=='undefined') - { - wert=0; - if(typeof(stsem)=='undefined') - { - var items = document.getElementsByTagName('menuitem'); - - for(i in items) - { - if(items[i].id=='menu-properies-studiensemester-name' && items[i].getAttribute("checked")=='true') - stsem = items[i].label; - } - } - } - else - stsem = getStudiensemester(); - - netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"); - - // Request absetzen - - var url = 'content/fasDBDML.php'; - - var req = new phpRequest(url,'',''); - - req.add('type', 'variablechange'); - req.add('stsem', stsem); - req.add('wert', wert); - - 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 - { - //Statusbar setzen - document.getElementById("statusbarpanel-text").label = "Studiensemester erfolgreich geaendert"; - document.getElementById("statusbarpanel-semester").label = val.dbdml_data; - //Menue setzen - var items = document.getElementsByTagName('menuitem'); - - for(i in items) - { - if(items[i].label==val.dbdml_data && items[i].id=='menu-properies-studiensemester-name') - { - items[i].setAttribute('checked',true); - break; - } - } - //MitarbeiterDetailStudiensemester_id = dbdml_errormsg; - //Ansichten Refreshen - try - { - StudentTreeRefresh(); - } - catch(e) - {} - - try - { - LvTreeRefresh(); - } - catch(e) - {} - } - - return true; -} - -// **** -// * Oeffnet ein Fenster zum Aendern eines Variablenwertes -// **** -function variableChangeValue(variable) -{ - var variablevalue = getvariable(variable); - - if(variablevalue = prompt('Bitte geben Sie den neuen Wert fuer '+variable+' ein', variablevalue)) - { - variableChange(variable, '', variablevalue); - } -} - -// **** -// * Aendert den Wert der Variable IgnoreKollision -// **** -function toggleIgnoreKollision() -{ - if(getvariable('ignore_kollision')=='true') - variableChange('ignore_kollision','menu-prefs-ignore_kollision', 'false'); - else - variableChange('ignore_kollision','menu-prefs-ignore_kollision', 'true'); -} - -// **** -// * Sendet einen Request zum Aendern einer Variable -// **** -function variableChange(variable, id, wert) -{ - item = document.getElementById(id); - - if(typeof(wert)==='undefined') - { - if(item.getAttribute('checked')=='true') - checked='true'; - else - checked='false'; - } - else - checked=wert; - - netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"); - - // Request absetzen - - var url = 'content/fasDBDML.php'; - - var req = new phpRequest(url,'',''); - - req.add('type', 'variablechange'); - req.add('name', variable); - req.add('wert', checked); - - 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 - { - if(variable=='ignore_kollision') - updateignorekollision(); - if(variable=='db_stpl_table') - { - document.getElementById("statusbarpanel-db_table").label = wert; - updatedbstpltable(); - } - //Statusbar setzen - document.getElementById("statusbarpanel-text").label = "Variable erfolgreich geaendert"; - } -} - -// **** -// * Aktualisiert die IngnoreKollision Anzeige -// * sowohl in der Toolbar als auch im Menue -// **** -function updateignorekollision() -{ - var panel = document.getElementById('statusbarpanel-ignore_kollision'); - if(getvariable('ignore_kollision')=='true') - { - panel.label='Kollisionscheck AUS'; - panel.style.backgroundColor='red'; - document.getElementById('menu-prefs-ignore_kollision').setAttribute('checked','true'); - } - else - { - panel.label='Kollisionscheck AN'; - panel.style.backgroundColor=''; - document.getElementById('menu-prefs-ignore_kollision').setAttribute('checked','false'); - } -} - -// **** -// * Markiert den Eintrag in der Statusleiste rot wenn auf die -// * echte stpl tabelle zugegriffen wird -// **** -function updatedbstpltable() -{ - var panel = document.getElementById('statusbarpanel-db_table'); - - if(panel.label=='stundenplan') - { - panel.style.backgroundColor='red'; - } - else - { - panel.style.backgroundColor='transparent'; - } -} - -// **** -// * Laedt den Wert einer Variable aus der DB -// **** -function getvariable(variable) -{ - netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"); - - // Request absetzen - - var url = 'content/fasDBDML.php'; - - var req = new phpRequest(url,'',''); - - req.add('type', 'getvariable'); - req.add('name', variable); - - 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 - { - return val.dbdml_data; - } -} - -// **** -// * Liefert das eingestellte Studiensemester -// **** -function getStudiensemesterVariable() -{ - if(stsem = getvariable('semester_aktuell')) - { - //Statusbar setzen - document.getElementById("statusbarpanel-text").label = "Studiensemester erfolgreich geaendert"; - document.getElementById("statusbarpanel-semester").label = stsem; - //Menue setzen - var items = document.getElementsByTagName('menuitem'); - - for(i in items) - { - if(items[i].label==stsem && items[i].id=='menu-properies-studiensemester-name') - { - items[i].setAttribute('checked',true); - break; - } - } - - //Ansichten Refreshen - try - { - StudentTreeRefresh(); - } - catch(e) - {} - - try - { - LvTreeRefresh(); - } - catch(e) - {} - } -} - -// **** -// * Laedt das Undo Menue Neu -// **** -function loadUndoList() -{ - menu = document.getElementById('menu-edit-undo'); - - netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"); - if(menuUndoDatasource==0) - { - //Wenn noch keine Datasource angegeben ist, dann wird eine neue hinzugefuegt - var url = 'rdf/undo.rdf.php?'+gettimestamp(); - - //Alte DS entfernen - var oldDatasources = menu.database.GetDataSources(); - while(oldDatasources.hasMoreElements()) - { - menu.database.RemoveDataSource(oldDatasources.getNext()); - } - - var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService); - menuUndoDatasource = rdfService.GetDataSource(url); - menuUndoDatasource.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource); - menu.database.AddDataSource(menuUndoDatasource); - } - else - { - //Wenn die Datasource bereits geladen wurde dann nur neu laden - menuUndoDatasource.Refresh(true); //blocking - menu.builder.rebuild(); - } - - return true; -} - -// **** -// * Fuehrt den Undo Befehl aus -// **** -function UnDo(log_id, bezeichnung) -{ - if(confirm('Wollen Sie folgenden Befehl wirklich Rueckgaengig machen: '+bezeichnung)) - { - //Request absetzen - var req = new phpRequest('tempusDBDML.php','',''); - - req.add('type','undo'); - req.add('log_id',log_id); - - var response = req.executePOST(); - var val = new ParseReturnValue(response) - - if (!val.dbdml_return) - { - alert(val.dbdml_errormsg) - } - else - { - LvTreeRefresh(); - onJumpDate(0); - } - } -} - -// **** -// * Oeffnet die ToDoListe fuers Tempus -// **** -function HelpOpenToDo() -{ - window.open('ToDo_Tempus.html','ToDo'); -} - -// **** -// * Zeigt das Fenster zur Kollisionspruefung auf Studentenebene an -// **** -function KollisionStudentShow() -{ - window.open('vilesci/lehre/stpl_benutzer_kollision_frameset.html', 'Kollision Student'); -} -// **** -// * Zeigt das Fenster zur LVPlanWartung -// **** -function LVPlanWartungShow() -{ - window.open('vilesci/lehre/lvplanwartung.php', 'LVPLanWartung'); -} - -// **** -// * Zeigt das Fenster zur Kollisionspruefung mit Reservierungen -// **** -function ResCheckShow() -{ - window.open('vilesci/lehre/check/res_check.php', 'KollisionReservierung'); -} - -// **** -// * Oeffnet das Handbuch -// **** -function OpenManualTempus() -{ - window.open('content/Tempus.pdf','Manual'); -} - -// **** -// * Oeffnet den About Dialog -// **** -function OpenAboutDialog() -{ - window.open('content/about.xul.php','About','height=520,width=500,left=350,top=350,hotkeys=0,resizable=yes,status=no,scrollbars=yes,toolbar=no,location=no,menubar=no,dependent=yes'); -} +} \ No newline at end of file diff --git a/content/planner.overlay.js.php b/content/planner.overlay.js.php index 2ad75183a..76b26c14d 100755 --- a/content/planner.overlay.js.php +++ b/content/planner.overlay.js.php @@ -22,19 +22,7 @@ include('../config/vilesci.config.inc.php'); ?> -var currentAuswahl=new auswahlValues(); -var LvTreeDatasource; -var StudentTreeDatasource; - -function auswahlValues() -{ - this.stg_kz=null; - this.sem=null; - this.ver=null; - this.grp=null; - this.gruppe=null; - this.lektor_uid=null; -} +var TaskTreeDatasource; function onProjektSelect() { @@ -42,285 +30,67 @@ function onProjektSelect() netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"); //var contentFrame=document.getElementById('iframeTimeTableWeek'); var tree=document.getElementById('tree-projekt'); - // Kommentar bitte! - if(tree.currentIndex==-1) + + // Wenn auf die Ueberschrift geklickt wird, soll nix passieren + if(tree.currentIndex==-1) return; - var col=tree.columns ? tree.columns["tree-projekt-bezeichnung"] : "tree-projekt-bezeichnung"; - var bezeichnung=tree.view.getCellText(tree.currentIndex,col); - col=tree.columns ? tree.columns["tree-projekt-oe"] : "tree-projekt-oe"; - var oe=tree.view.getCellText(tree.currentIndex,col); - col=tree.columns ? tree.columns["tree-projekt-projekt_kurzbz"] : "tree-projekt-projekt_kurzbz"; - var projekt_kurzbz=tree.view.getCellText(tree.currentIndex,col); - col=tree.columns ? tree.columns["tree-projekt-projekt_phase"] : "tree-projekt-projekt_phase"; - var projekt_phase=tree.view.getCellText(tree.currentIndex,col); - col=tree.columns ? tree.columns["tree-projekt-projekt_phase_id"] : "tree-projekt-projekt_phase_id"; - var projekt_phase_id=tree.view.getCellText(tree.currentIndex,col); - alert(projekt_phase_id); - col = tree.columns ? tree.columns["typ"] : "typ"; - var typ=tree.view.getCellText(tree.currentIndex,col); - col = tree.columns ? tree.columns["stsem"] : "stsem"; - var stsem=tree.view.getCellText(tree.currentIndex,col); + + var bezeichnung = getTreeCellText(tree, "tree-projekt-bezeichnung", tree.currentIndex); + var oe=getTreeCellText(tree, "tree-projekt-oe", tree.currentIndex); + var projekt_kurzbz=getTreeCellText(tree, "tree-projekt-projekt_kurzbz", tree.currentIndex); + var projekt_phase=getTreeCellText(tree, "tree-projekt-projekt_phase", tree.currentIndex); + var projekt_phase_id=getTreeCellText(tree, "tree-projekt-projekt_phase_id", tree.currentIndex); + + //alert("Projekt Phase ID "+projekt_phase_id); - var daten=window.TimeTableWeek.document.getElementById('TimeTableWeekData'); - var datum=parseInt(daten.getAttribute("datum")); - var attributes="&stg_kz="+stg_kz+"&sem="+sem+"&ver="+ver+"&grp="+grp+"&gruppe="+gruppe; - var url = "content/lvplanung/timetable-week.xul.php"; - if (gruppe!=null && gruppe!=0 &gruppe!='') - var type="?type=gruppe"; - else - var type="?type=verband"; - url+=type+attributes+"&datum="+datum; - if (url) + if(projekt_phase_id!='') { - //alert(url); - contentFrame.setAttribute('src', url); - } - - currentAuswahl.stg_kz=stg_kz; - currentAuswahl.sem=sem; - currentAuswahl.ver=ver; - currentAuswahl.grp=grp; - currentAuswahl.gruppe=gruppe; - - // Semesterplan - var semesterplan=document.getElementById('tabpanels-main'); - var panelIndex=semesterplan.getAttribute("selectedIndex"); - if (panelIndex==1) - { - //alert (url); - var contentFrame=document.getElementById('iframeTimeTableSemester'); - var url = "content/lvplanung/timetable-week.xul.php"; - if (gruppe!=null && gruppe!=0 &gruppe!='') - var type="?type=gruppe"; - else - var type="?type=verband"; - url+=type+attributes+"&semesterplan=true&"+gettimestamp(); - if (url) - contentFrame.setAttribute('src', url); - } - - var order = LehrstundeGetSortOrder(); - // LVAs - var vboxLehrveranstalungPlanung=document.getElementById('vboxLehrveranstalungPlanung'); - var attribute='../rdf/lehreinheit-lvplan.rdf.php'+type+"&stg_kz="+stg_kz+"&sem="+sem+"&ver="+ver+"&grp="+grp+"&gruppe="+gruppe+"&order="+order; - - vboxLehrveranstalungPlanung.setAttribute('datasources',attribute); - - // -------------- Studenten -------------------------- - try - { - stsem = getStudiensemester(); - url = "rdf/student.rdf.php?studiengang_kz="+stg_kz+"&semester="+sem+"&verband="+ver+"&gruppe="+grp+"&gruppe_kurzbz="+gruppe+"&studiensemester_kurzbz="+stsem+"&typ=student&"+gettimestamp(); - var treeStudent=document.getElementById('student-tree'); - - //Alte DS entfernen - var oldDatasources = treeStudent.database.GetDataSources(); - while(oldDatasources.hasMoreElements()) - { - treeStudent.database.RemoveDataSource(oldDatasources.getNext()); - } - try { - StudentTreeDatasource.removeXMLSinkObserver(StudentTreeSinkObserver); - treeStudent.builder.removeListener(StudentTreeListener); + url = "rdf/projekttask.rdf.php?projektphase_id="+projekt_phase_id+"&"+gettimestamp(); + + var treeTask=document.getElementById('projekttask-tree'); + + //Alte DS entfernen + var oldDatasources = treeTask.database.GetDataSources(); + while(oldDatasources.hasMoreElements()) + { + treeTask.database.RemoveDataSource(oldDatasources.getNext()); + } + + try + { + TaskTreeDatasource.removeXMLSinkObserver(TaskTreeSinkObserver); + treeTask.builder.removeListener(TaskTreeListener); + } + catch(e) + {} + var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService); + TaskTreeDatasource = rdfService.GetDataSource(url); + TaskTreeDatasource.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource); + TaskTreeDatasource.QueryInterface(Components.interfaces.nsIRDFXMLSink); + treeTask.database.AddDataSource(TaskTreeDatasource); + TaskTreeDatasource.addXMLSinkObserver(TaskTreeSinkObserver); + treeTask.builder.addListener(TaskTreeListener); } catch(e) - {} - var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService); - StudentTreeDatasource = rdfService.GetDataSource(url); - StudentTreeDatasource.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource); - StudentTreeDatasource.QueryInterface(Components.interfaces.nsIRDFXMLSink); - treeStudent.database.AddDataSource(StudentTreeDatasource); - StudentTreeDatasource.addXMLSinkObserver(StudentTreeSinkObserver); - treeStudent.builder.addListener(StudentTreeListener); - - //Detailfelder Deaktivieren - StudentDetailReset(); - StudentDetailDisableFields(true); - StudentPrestudentDisableFields(true); - StudentKontoDisableFields(true); - StudentAkteDisableFields(true); - StudentIODisableFields(true); - StudentNoteDisableFields(true); - document.getElementById('student-kontakt').setAttribute('src',''); - document.getElementById('student-betriebsmittel').setAttribute('src',''); - StudentAbschlusspruefungDisableFields(true); - } - catch(e){} - - - // Lehrveranstaltung - try - { - url = 'rdf/lehrveranstaltung_einheiten.rdf.php?stg_kz='+stg_kz+'&sem='+sem+'&ver='+ver+'&grp='+grp+'&gruppe='+gruppe+'&'+gettimestamp(); - var treeLV=document.getElementById('lehrveranstaltung-tree'); - - //Alte DS entfernen - var oldDatasources = treeLV.database.GetDataSources(); - while(oldDatasources.hasMoreElements()) { - treeLV.database.RemoveDataSource(oldDatasources.getNext()); + debug("whoops Projekttask load failed with exception: "+e); } - - var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService); - LvTreeDatasource = rdfService.GetDataSource(url); - LvTreeDatasource.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource); - LvTreeDatasource.QueryInterface(Components.interfaces.nsIRDFXMLSink); - treeLV.database.AddDataSource(LvTreeDatasource); - LvTreeDatasource.addXMLSinkObserver(LvTreeSinkObserver); - treeLV.builder.addListener(LvTreeListener); - } - catch(e) - { - debug(e); - } -} - -function onOrtSelect() -{ - netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"); - var contentFrame=document.getElementById('iframeTimeTableWeek'); - var treeOrt=document.getElementById('tree-ort'); - var col=treeOrt.columns ? treeOrt.columns["ort_kurzbz"] : "ort_kurzbz"; - var ort=treeOrt.view.getCellText(treeOrt.currentIndex,col); - var daten=window.TimeTableWeek.document.getElementById('TimeTableWeekData'); - var datum=parseInt(daten.getAttribute("datum")); - - if(ort=='') - return false; - - var attributes="?type=ort&ort="+ort+"&datum="+datum; - var url = "content/lvplanung/timetable-week.xul.php"; - url+=attributes+'&'+gettimestamp(); - if (url) - contentFrame.setAttribute('src', url); - - // Semesterplan - var semesterplan=document.getElementById('tabpanels-main'); - var panelIndex=semesterplan.getAttribute("selectedIndex"); - if (panelIndex==1) - { - //alert (url); - var contentFrame=document.getElementById('iframeTimeTableSemester'); - var url = "content/lvplanung/timetable-week.xul.php"; - url+=attributes+"&semesterplan=true&"+gettimestamp(); - if (url) - contentFrame.setAttribute('src', url); - } -} - -function onLektorSelect(event) -{ - document.getElementById('tempus-lva-filter').value=''; - netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"); - var contentFrame=document.getElementById('iframeTimeTableWeek'); - var treeLektor=document.getElementById('tree-lektor'); - var col=treeLektor.columns ? treeLektor.columns["uid"] : "uid"; - //debug(col+'-'+treeLektor.currentIndex); - try - { - var uid=treeLektor.view.getCellText(treeLektor.currentIndex,col); - } - catch(e) - { - } - if(uid=='') - return; - //var treeVerband=document.getElementById('tree-verband'); - //var stg_kz=treeVerband.view.getCellText(treeVerband.currentIndex,"stg_kz"); - var daten=window.TimeTableWeek.document.getElementById('TimeTableWeekData'); - var datum=parseInt(daten.getAttribute("datum")); - - var attributes="?type=lektor&pers_uid="+uid+"&datum="+datum; - var url = "content/lvplanung/timetable-week.xul.php"; - url+=attributes+'&'+gettimestamp(); - if (url) - contentFrame.setAttribute('src', url); - - // Semesterplan - var semesterplan=document.getElementById('tabpanels-main'); - var panelIndex=semesterplan.getAttribute("selectedIndex"); - if (panelIndex==1) - { - //alert (url); - var contentFrame=document.getElementById('iframeTimeTableSemester'); - var url = "content/lvplanung/timetable-week.xul.php"; - url+=attributes+"&semesterplan=true&"+gettimestamp(); - if (url) - contentFrame.setAttribute('src', url); } - var order = LehrstundeGetSortOrder(); - // LVAs - var vboxLehrveranstalungPlanung=document.getElementById('vboxLehrveranstalungPlanung'); - vboxLehrveranstalungPlanung.setAttribute('datasources','../rdf/lehreinheit-lvplan.rdf.php?'+"type=lektor&lektor="+uid+"&order="+order+"&"+gettimestamp()); - - var tree=document.getElementById('tree-lektor'); - //Wenn nichts markiert wurde -> beenden - if(tree.currentIndex==-1) - return; - - var row = { }; - var col = { }; - var child = { }; - - tree.treeBoxObject.getCellAt(event.pageX, event.pageY, row, col, child) - - //Wenn es keine Row ist sondern ein Header oder Scrollbar dann abbrechen - if (!col.value) - return false; - - //Wenn eine andere row markiert ist als angeklickt wurde -> beenden. - //Dies kommt vor wenn ein Subtree geoeffnet wird - if(row.value!=tree.currentIndex) - return; - - col = tree.columns ? tree.columns["uid"] : "uid"; - var uid=tree.view.getCellText(tree.currentIndex,col); - - var stg_idx = tree.view.getParentIndex(tree.currentIndex); - var col = tree.columns ? tree.columns["studiengang_kz"] : "studiengang_kz"; - var stg_kz=tree.view.getCellText(stg_idx,col); - - document.getElementById('LehrveranstaltungEditor').setAttribute('stg_kz',stg_kz); - document.getElementById('LehrveranstaltungEditor').setAttribute('uid',uid); - - // Lehrveranstaltung des Lektors laden - netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"); - try + document.getElementById('projekttask-toolbar-del').disabled=true; + + + if(projekt_kurzbz!='') { - //alert(stg_kz); - url = 'rdf/lehrveranstaltung_einheiten.rdf.php?stg_kz='+stg_kz+'&uid='+uid+'&'+gettimestamp(); - var treeLV=document.getElementById('lehrveranstaltung-tree'); - - //Alte DS entfernen - var oldDatasources = treeLV.database.GetDataSources(); - try - { - LvTreeDatasource.removeXMLSinkObserver(LvTreeSinkObserver); - treeLV.builder.removeListener(LvTreeListener); - } - catch(e) - {} - - while(oldDatasources.hasMoreElements()) - { - treeLV.database.RemoveDataSource(oldDatasources.getNext()); - } - - var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService); - LvTreeDatasource = rdfService.GetDataSource(url); - LvTreeDatasource.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource); - LvTreeDatasource.QueryInterface(Components.interfaces.nsIRDFXMLSink); - treeLV.database.AddDataSource(LvTreeDatasource); - LvTreeDatasource.addXMLSinkObserver(LvTreeSinkObserver); - treeLV.builder.addListener(LvTreeListener); - document.getElementById('lehrveranstaltung-toolbar-lehrauftrag').hidden=false; + //Neu Button bei Tasks aktivieren + document.getElementById('projekttask-toolbar-neu').disabled=false; } - catch(e) + else { - debug(e); + document.getElementById('projekttask-toolbar-neu').disabled=true; + document.getElementById('projekttask-toolbar-del').disabled=true; } } @@ -335,9 +105,12 @@ function loadURL(event) function parseRDFString(str, url) { - try { + try + { netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"); - } catch(e) { + } + catch(e) + { alert(e); return; } diff --git a/content/planner.overlay.xul.php b/content/planner.overlay.xul.php index bf82d4640..555d1c42e 100755 --- a/content/planner.overlay.xul.php +++ b/content/planner.overlay.xul.php @@ -31,11 +31,9 @@ echo ' - - - - // *********** Globale Variablen *****************// -var LeDetailLehrfach_id; //Lehrfach_id die nach dem Laden markiert werden soll -var LeDetailLehrfach_label; //Bezeichnung des Lehrfachs das markiert werden soll -var LeDetailGruppeDatasource; //Datasource fuer Gruppen DropDown -var LeDetailLektorDatasource; //Datasource fuer Lektren DropDown -var LvSelectLehreinheit_id; //Lehreinheit_id die nach dem Rebuild des Trees markiert werden soll -var LvOpenLehrveranstaltung_id; //Lehrveranstaltung_id der Lehreinheit die gerade gespeichert wurde. Diese LV muss vor dem Select im Tree geoeffnet werden -var leDetailLektorUid; // UID der Lektorzuordnung die nach dem Rebuild markiert werden soll -var leDetailLektorLehreinheit_id; // Lehreinheit_id der Lektorzuordnung die nach dem Rebuild markiert werden soll -var lehrveranstaltungNotenTreeDatasource; //Datasource des Noten Trees -var lehrveranstaltungNotenSelectUID=null; //UID des Noten Eintrages der nach dem Refresh markiert werden soll -var lehrveranstaltungLvGesamtNotenTreeDatasource; //Datasource des Noten Trees -var lehrveranstaltungLvGesamtNotenSelectUID=null; //LehreinheitID des Noten Eintrages der nach dem Refresh markiert werden soll -var lehrveranstaltungNotenTreeloaded=false; -var lehrveranstaltungGesamtNotenTreeloaded=false; +var TaskTreeDatasource; //Datasource des Task Tree +var TaskSelectID=null; //ID des Task Eintrages der nach dem Refresh markiert werden soll // ********** Observer und Listener ************* // // **** @@ -44,7 +32,7 @@ var lehrveranstaltungGesamtNotenTreeloaded=false; // * startet Rebuild nachdem das Refresh // * der datasource fertig ist // **** -var LvTreeSinkObserver = +var TaskTreeSinkObserver = { onBeginLoad : function(pSink) {}, onInterrupt : function(pSink) {}, @@ -52,9 +40,8 @@ var LvTreeSinkObserver = onError : function(pSink, pStatus, pError) { debug('onerror:'+pError); }, onEndLoad : function(pSink) { - //debug('startrebuild'); netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"); - document.getElementById('lehrveranstaltung-tree').builder.rebuild(); + document.getElementById('projekttask-tree').builder.rebuild(); } }; @@ -62,242 +49,56 @@ var LvTreeSinkObserver = // * Nach dem Rebuild wird die Lehreinheit wieder // * markiert // **** -var LvTreeListener = +var TaskTreeListener = { willRebuild : function(builder) { }, didRebuild : function(builder) { - //debug('didrebuild'); - //timeout nur bei Mozilla notwendig da sonst die rows + //timeout nur bei Mozilla notwendig da sonst die rows //noch keine values haben. Ab Seamonkey funktionierts auch //ohne dem setTimeout - window.setTimeout(LvTreeSelectLehreinheit,10); + window.setTimeout(TaskTreeSelectTask,10); // Progressmeter stoppen //document.getElementById('statusbar-progressmeter').setAttribute('mode','determined'); } }; -// **** -// * Nach dem Rebuild wird die Lektorzuordnung -// * wieder markiert -// **** -var LvLektorTreeListener = -{ - willRebuild : function(builder) { }, - didRebuild : function(builder) - { - window.setTimeout(LeLektorTreeSelectLektor,10); - } -}; - - -// **** -// * Observer fuer Lehrfachdropdown -// **** -var LeDetailLehrfachSinkObserver = -{ - onBeginLoad: function(aSink) { }, - onInterrupt: function(aSink) { }, - onResume: function(aSink) { }, - onEndLoad: function(aSink) { - //Das richtige Lehrfach markieren - if(LeDetailLehrfach_id!='') //Wenn die Lehrfach_id bekannt ist, dann einfach markieren - document.getElementById('lehrveranstaltung-detail-menulist-lehrfach').value=LeDetailLehrfach_id; - else - { - if(LeDetailLehrfach_label!='') //Wenn Name bekannt ist - { - - menulist = document.getElementById('lehrveranstaltung-detail-menulist-lehrfach'); - - //Alle eintraege aus menulist holen - var items = menulist.childNodes[1].childNodes //Anzahl der Zeilen ermitteln - found=false; - for(i in items) - { - //Vom Label des DropDowns den Fachbereich abschneiden - //der dahinter in Klammer steht - lflabel = items[i].label.substr(0, items[i].label.lastIndexOf('(')).trim(); - - //Richtigen Eintrag suchen - if(lflabel==LeDetailLehrfach_label) - { - //Eintrag markieren - menulist.selectedIndex=i; - found=true; - break; - } - } - //Wenn nichts gefunden wurde, wird der erste Eintrag markiert - if(!found) - menulist.selectedIndex=0; - } - } - }, - onError: function(aSink, aStatus, aErrorMsg) { - alert('Bei der Datenuebertragung ist ein Fehler Aufgetreten. Bitte Versuchen Sie es erneut.'); - } -}; - -// **** -// * Observer fuer Noten Tree -// * startet Rebuild nachdem das Refresh -// * der datasource fertig ist -// **** -var LehrveranstaltungNotenTreeSinkObserver = -{ - onBeginLoad : function(pSink) {}, - onInterrupt : function(pSink) {}, - onResume : function(pSink) {}, - onError : function(pSink, pStatus, pError) {}, - onEndLoad : function(pSink) - { - lehrveranstaltungNotenTreeloaded=false; - netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"); - document.getElementById('lehrveranstaltung-noten-tree').builder.rebuild(); - } -}; - -// **** -// * Nach dem Rebuild wird der Eintrag wieder -// * markiert -// **** -var LehrveranstaltungNotenTreeListener = -{ - willRebuild : function(builder) { }, - didRebuild : function(builder) - { - //timeout nur bei Mozilla notwendig da sonst die rows - //noch keine values haben. Ab Seamonkey funktionierts auch - //ohne dem setTimeout - lehrveranstaltungNotenTreeloaded=true; - window.setTimeout(LehrveranstaltungNotenTreeSelectID,10); - } -}; - -// **** -// * Observer fuer LvGesamtNoten Tree -// * startet Rebuild nachdem das Refresh -// * der datasource fertig ist -// **** -var LehrveranstaltungLvGesamtNotenTreeSinkObserver = -{ - onBeginLoad : function(pSink) {}, - onInterrupt : function(pSink) {}, - onResume : function(pSink) {}, - onError : function(pSink, pStatus, pError) {}, - onEndLoad : function(pSink) - { - lehrveranstaltungGesamtNotenTreeloaded=false; - netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"); - document.getElementById('lehrveranstaltung-lvgesamtnoten-tree').builder.rebuild(); - } -}; - -// **** -// * Nach dem Rebuild wird der Eintrag wieder -// * markiert -// **** -var LehrveranstaltungLvGesamtNotenTreeListener = -{ - willRebuild : function(builder) { }, - didRebuild : function(builder) - { - //timeout nur bei Mozilla notwendig da sonst die rows - //noch keine values haben. Ab Seamonkey funktionierts auch - //ohne dem setTimeout - lehrveranstaltungGesamtNotenTreeloaded=true; - window.setTimeout(LehrveranstaltungLvGesamtNotenTreeSelectID,10); - } -}; - -// ***************** KEY Events ************************* // - -// **** -// * Wird ausgefuehrt wenn eine Taste gedrueckt wird und der Focus -// * im Lehrveranstaltungs-tree ist -// * Beim Druecken von ENTF wird die markierte Lehreinheit geloescht -// * Beim Druecken von F5 wird der Lehrveranstaltungstree aktualisiert -// **** -function LvTreeKeyPress(event) -{ - if(event.keyCode==46) // Entf - LeDelete(); - else if(event.keyCode==116) // F5 - LvTreeRefresh(); -} - -// **** -// * Wird ausgefuehrt wenn eine Taste gedrueckt wird und der Focus -// * im Gruppen-tree ist -// * Beim Druecken von ENTF wird die markierte Gruppenzuordnung geloescht -// **** -function LvDetailGruppenTreeKeyPress(event) -{ - if(event.keyCode==46) //Entf - LeGruppeDel(); -} - -// **** -// * Wird ausgefuehrt wenn eine Taste gedrueckt wird und der Focus -// * im Mitarbeiter-tree ist -// * Beim Druecken von ENTF wird die markierte Mitarbeiterzuordnung geloescht -// **** -function LvDetailMitarbeiterTreeKeyPress(event) -{ - if(event.keyCode==46) //Entf - LeMitarbeiterDel(); -} - -// **** -// * Erstellt den Lehrauftrag fuer -// * einen Mitarbeiter -// **** -function LvCreateLehrauftrag() -{ - stg = document.getElementById('LehrveranstaltungEditor').getAttribute('stg_kz'); - uid = document.getElementById('LehrveranstaltungEditor').getAttribute('uid'); - var ss = document.getElementById('statusbarpanel-semester').label; - //window.location.href = 'content/lvplanung/lehrauftrag.php?stg_kz='+stg+'&uid='+uid+'&'+gettimestamp(); - window.location.href = 'content/pdfExport.php?xml=lehrauftrag.xml.php&xsl=Lehrauftrag&stg_kz='+stg+'&uid='+uid+'&ss='+ss+'&'+gettimestamp(); -} - // ****************** FUNKTIONEN ************************** // // **** // * Asynchroner (Nicht blockierender) Refresh des LV Trees // **** -function LvTreeRefresh() +function TaskTreeRefresh() { netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"); //markierte Lehreinheit global speichern damit diese LE nach dem //refresh wieder markiert werden kann. - var tree = document.getElementById('lehrveranstaltung-tree'); - var col = tree.columns ? tree.columns["lehrveranstaltung-treecol-lehreinheit_id"] : "lehrveranstaltung-treecol-lehreinheit_id"; + var tree = document.getElementById('projekttask-tree'); + try { - LvSelectLehreinheit_id=tree.view.getCellText(tree.currentIndex,col); + TaskSelectID = getTreeCellText(tree, "projekttask-treecol-projekttask_id", tree.currentIndex); } catch(e) { - LvSelectLehreinheit_id=null; + TaskSelectID=null; } - LvTreeDatasource.Refresh(false); //non blocking + TaskTreeDatasource.Refresh(false); //non blocking } // **** -// * neue Lehreinheit anlegen +// * neuen Task anlegen // **** -function LeNeu() +function TaskNeu() { - LeDetailDisableFields(false); - // Trick 17 (sonst gibt's ein Permission denied) netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"); + alert('Neuer Task - noch nicht implementiert'); + /* var tree = document.getElementById('lehrveranstaltung-tree'); //Details zuruecksetzen @@ -362,30 +163,27 @@ function LeNeu() //Defaultwert fuer Anmerkung document.getElementById('lehrveranstaltung-detail-textbox-anmerkung').value=''; + */ } // **** // * Selectiert die Lektorzuordnung nachdem der Tree // * rebuildet wurde. // **** -function LeLektorTreeSelectLektor() +function TaskTreeSelectTask() { - var tree=document.getElementById('lehrveranstaltung-detail-tree-lehreinheitmitarbeiter'); + var tree=document.getElementById('projekttask-tree'); var items = tree.view.rowCount; //Anzahl der Zeilen ermitteln - //In der globalen Variable ist die zu selektierende Lehreinheit gespeichert - if(leDetailLektorUid!=null && leDetailLektorLehreinheit_id!=null) + //In der globalen Variable ist die zu selektierende ID gespeichert + if(TaskSelectID!=null) { for(var i=0;i=0;i--) - { - col = tree.columns ? tree.columns["lehrveranstaltung-treecol-lehrveranstaltung_id"] : "lehrveranstaltung-treecol-lehrveranstaltung_id"; - lehrveranstaltung_id=tree.view.getCellText(i,col); - if(lehrveranstaltung_id == LvOpenLehrveranstaltung_id) - { - if(!tree.view.isContainerOpen(i)) - tree.view.toggleOpenState(i); - break; - } - } - LvOpenLehrveranstaltung_id=''; - - //Jetzt die wirkliche Anzahl (aller) Zeilen holen - items = tree.view.rowCount; - for(var i=0;i=0) - idx = tree.currentIndex; - else - { - alert('Bitte zuerst einen Mitarbeiter markieren'); - return false; - } - - try - { - //UID holen - var col = tree.columns ? tree.columns["lehrveranstaltung-lehreinheitmitarbeiter-treecol-mitarbeiter_uid"] : "lehrveranstaltung-lehreinheitmitarbeiter-treecol-mitarbeiter_uid"; - var uid=tree.view.getCellText(idx,col); - //Lehreinheit_id holen - var col = tree.columns ? tree.columns["lehrveranstaltung-lehreinheitmitarbeiter-treecol-lehreinheit_id"] : "lehrveranstaltung-lehreinheitmitarbeiter-treecol-lehreinheit_id"; - var lehreinheit_id=tree.view.getCellText(idx,col); - } - catch(e) - { - alert(e); - return false; - } - - var req = new phpRequest('lvplanung/lehrveranstaltungDBDML.php','',''); - - req.add('type', 'lehreinheit_mitarbeiter_del'); - 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 - { - //Refresh des Trees - LeLektorTreeRefresh(); - } -} - -// **** -// * Wenn bei den Lektorenzuordnungen Felder bearbeitet werden, -// * dann wird der Speichern Button aktiviert -// **** -function LeMitarbeiterValueChanged() -{ - document.getElementById('lehrveranstaltung-lehreinheitmitarbeiter-button-save').disabled=false; -} - -// **** -// * Wenn der Lektor geaendert wird, dann den Stundensatz aus der Tabelle Mitarbeiter holen -// **** -function LeMitarbeiterLektorChange() -{ - mitarbeiter_uid = document.getElementById('lehrveranstaltung-lehreinheitmitarbeiter-menulist-lektor').value; - - var url = 'content/lvplanung/lehrveranstaltungDBDML.php'; - var req = new phpRequest(url,'',''); - - req.add('type', 'getstundensatz'); - req.add('mitarbeiter_uid', mitarbeiter_uid); - - 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 - { - stundensatz = val.dbdml_data; - } - - document.getElementById('lehrveranstaltung-lehreinheitmitarbeiter-textbox-stundensatz').value=stundensatz; -} - -// **** -// * deaktiviert/aktiviert die Lektorendetails und -// * loescht den Inhalt der Felder -// * wenn val=false dann werden die Felder deaktiviert -// * wenn val=true dann werden die Felder aktiviert -// **** -function LeMitarbeiterDisableFields(val) -{ - //Felder Leeren - document.getElementById('lehrveranstaltung-lehreinheitmitarbeiter-menulist-lehrfunktion_kurzbz').value='Lektor'; - //document.getElementById('lehrveranstaltung-lehreinheitmitarbeiter-menulist-lektor').value=''; - document.getElementById('lehrveranstaltung-lehreinheitmitarbeiter-textbox-semesterstunden').value=''; - document.getElementById('lehrveranstaltung-lehreinheitmitarbeiter-textbox-planstunden').value=''; - document.getElementById('lehrveranstaltung-lehreinheitmitarbeiter-textbox-stundensatz').value=''; - document.getElementById('lehrveranstaltung-lehreinheitmitarbeiter-textbox-faktor').value=''; - document.getElementById('lehrveranstaltung-lehreinheitmitarbeiter-textbox-anmerkung').value=''; - document.getElementById('lehrveranstaltung-lehreinheitmitarbeiter-checkbox-bismelden').checked=false; - - //Felder aktivieren/deaktivieren - document.getElementById('lehrveranstaltung-lehreinheitmitarbeiter-menulist-lehrfunktion_kurzbz').disabled=val; - document.getElementById('lehrveranstaltung-lehreinheitmitarbeiter-menulist-lektor').disabled=val; - document.getElementById('lehrveranstaltung-lehreinheitmitarbeiter-textbox-semesterstunden').disabled=val; - document.getElementById('lehrveranstaltung-lehreinheitmitarbeiter-textbox-planstunden').disabled=val; - document.getElementById('lehrveranstaltung-lehreinheitmitarbeiter-textbox-stundensatz').disabled=val; - document.getElementById('lehrveranstaltung-lehreinheitmitarbeiter-textbox-faktor').disabled=val; - document.getElementById('lehrveranstaltung-lehreinheitmitarbeiter-textbox-anmerkung').disabled=val; - document.getElementById('lehrveranstaltung-lehreinheitmitarbeiter-checkbox-bismelden').disabled=val; -} - -// **** -// * Bei Auswaehlen eines Mitarbeiters werden zu zugehoerigen -// * Details geladen und angezeigt -// **** -function LeMitarbeiterAuswahl() -{ - tree = document.getElementById('lehrveranstaltung-detail-tree-lehreinheitmitarbeiter'); - document.getElementById('lehrveranstaltung-lehreinheitmitarbeiter-button-save').disabled=true; - //Falls kein Eintrag gewaehlt wurde, den ersten auswaehlen - var idx; - if(tree.currentIndex>=0) - idx = tree.currentIndex; - else - idx = 0; - - try - { - //Lehreinheit_id holen - var col = tree.columns ? tree.columns["lehrveranstaltung-lehreinheitmitarbeiter-treecol-lehreinheit_id"] : "lehrveranstaltung-lehreinheitmitarbeiter-treecol-lehreinheit_id"; - var lehreinheit_id=tree.view.getCellText(idx,col); - - //Mitarbeiter_uid holen - var col = tree.columns ? tree.columns["lehrveranstaltung-lehreinheitmitarbeiter-treecol-mitarbeiter_uid"] : "lehrveranstaltung-lehreinheitmitarbeiter-treecol-mitarbeiter_uid"; - var mitarbeiter_uid=tree.view.getCellText(idx,col); - } - catch(e) - { - return false; - } - - // Url zum RDF - var url="rdf/lehreinheitmitarbeiter.rdf.php?"+gettimestamp(); - - //RDF laden - var req = new phpRequest(url,'',''); - req.add('lehreinheit_id',lehreinheit_id); - req.add('mitarbeiter_uid',mitarbeiter_uid); - - var response = req.execute(); - - // Trick 17 (sonst gibt's ein Permission denied) - netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"); - - // XML in Datasource parsen - var dsource=parseRDFString(response, 'http://www.technikum-wien.at/lehreinheitmitarbeiter/liste'); - - // Daten aus RDF auslesen - dsource=dsource.QueryInterface(Components.interfaces.nsIRDFDataSource); - var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"]. - getService(Components.interfaces.nsIRDFService); - var subject = rdfService.GetResource("http://www.technikum-wien.at/lehreinheitmitarbeiter/" + lehreinheit_id + "/"+ mitarbeiter_uid); - var predicateNS = "http://www.technikum-wien.at/lehreinheitmitarbeiter/rdf"; - - //Daten in Variablen speichern - lehrfunktion_kurzbz = getTargetHelper(dsource, subject, rdfService.GetResource( predicateNS + "#lehrfunktion_kurzbz" )); - semesterstunden = getTargetHelper(dsource, subject, rdfService.GetResource( predicateNS + "#semesterstunden" )); - planstunden = getTargetHelper(dsource, subject, rdfService.GetResource( predicateNS + "#planstunden" )); - stundensatz = getTargetHelper(dsource, subject, rdfService.GetResource( predicateNS + "#stundensatz" )); - faktor = getTargetHelper(dsource, subject, rdfService.GetResource( predicateNS + "#faktor" )); - anmerkung = getTargetHelper(dsource, subject, rdfService.GetResource( predicateNS + "#anmerkung" )); - bismelden = getTargetHelper(dsource, subject, rdfService.GetResource( predicateNS + "#bismelden" )); - - //Felder aktivieren - LeMitarbeiterDisableFields(false); - //Felder befuellen - document.getElementById('lehrveranstaltung-lehreinheitmitarbeiter-menulist-lehrfunktion_kurzbz').value=lehrfunktion_kurzbz; - document.getElementById('lehrveranstaltung-lehreinheitmitarbeiter-menulist-lektor').value=mitarbeiter_uid; - document.getElementById('lehrveranstaltung-lehreinheitmitarbeiter-textbox-semesterstunden').value=semesterstunden; - document.getElementById('lehrveranstaltung-lehreinheitmitarbeiter-textbox-planstunden').value=planstunden; - document.getElementById('lehrveranstaltung-lehreinheitmitarbeiter-textbox-stundensatz').value=stundensatz; - document.getElementById('lehrveranstaltung-lehreinheitmitarbeiter-textbox-faktor').value=faktor; - document.getElementById('lehrveranstaltung-lehreinheitmitarbeiter-textbox-anmerkung').value=anmerkung; - document.getElementById('lehrveranstaltung-lehreinheitmitarbeiter-textbox-lehreinheit_id').value=lehreinheit_id; - document.getElementById('lehrveranstaltung-lehreinheitmitarbeiter-textbox-mitarbeiter_uid').value=mitarbeiter_uid; - - if(bismelden=='Ja') - document.getElementById('lehrveranstaltung-lehreinheitmitarbeiter-checkbox-bismelden').checked=true; - else - document.getElementById('lehrveranstaltung-lehreinheitmitarbeiter-checkbox-bismelden').checked=false; - - LeMitarbeiterGesamtkosten(); -} - -// **** -// * Refresht den Lehreinheitmitarbeiter Tree -// **** -function LeLektorTreeRefresh() -{ - netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"); - try - { - LeDetailLektorDatasource.Refresh(true); //Blocking - lektortree = document.getElementById('lehrveranstaltung-detail-tree-lehreinheitmitarbeiter'); - lektortree.builder.rebuild(); - } - catch(e) - { - debug(e); - } -} - -// ************* GRUPPEN ******************** // - -// **** -// * Loescht die Zuordnung einer Gruppe zu einer -// * Lehreinheit -// **** -function LeGruppeDel() -{ - tree = document.getElementById('lehrveranstaltung-detail-tree-lehreinheitgruppe'); - - //Nachsehen ob Gruppe markiert wurde - var idx; - if(tree.currentIndex>=0) - idx = tree.currentIndex; - else - { - alert('Bitte zuerst eine Gruppe markieren'); - return false; - } - - try - { - //Lehreinheit_id holen - var col = tree.columns ? tree.columns["lehrveranstaltung-lehreinheitgruppe-treecol-lehreinheitgruppe_id"] : "lehrveranstaltung-lehreinheitgruppe-treecol-lehreinheitgruppe_id"; - var lehreinheitgruppe_id=tree.view.getCellText(idx,col); - } - catch(e) - { - alert(e); - return false; - } - - var req = new phpRequest('lvplanung/lehrveranstaltungDBDML.php','',''); - neu = document.getElementById('lehrveranstaltung-detail-checkbox-new').checked; - - req.add('type', 'lehreinheit_gruppe_del'); - req.add('lehreinheitgruppe_id', lehreinheitgruppe_id); - - var response = req.executePOST(); - var val = new ParseReturnValue(response) - - if (!val.dbdml_return) - { - alert(val.dbdml_errormsg) - } - else - { - //Refresh des Trees - LeDetailGruppeTreeRefresh(); - LvTreeRefresh(); - } -} - -// **** -// * Gruppen Tree Refreshen -// **** -function LeDetailGruppeTreeRefresh() -{ - netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"); - try - { - LeDetailGruppeDatasource.Refresh(true); //Blocking - gruppentree = document.getElementById('lehrveranstaltung-detail-tree-lehreinheitgruppe'); - gruppentree.builder.rebuild(); - } - catch(e) - { - debug(e); - } -} - -// ****************** NOTEN ****************** // - -// **** -// * De-/Aktiviert die Noten Felder -// **** -function LehrveranstaltungNotenDisableFields(val) -{ - document.getElementById('lehrveranstaltung-note-copy').disabled=val; - document.getElementById('lehrveranstaltung-noten-button-import').disabled=val; - - if(val) - LehrveranstaltungNotenDetailDisableFields(val); -} - -// **** -// * De-/Aktiviert die Noten Detail Felder -// **** -function LehrveranstaltungNotenDetailDisableFields(val) -{ - document.getElementById('lehrveranstaltung-noten-button-speichern').disabled=val; - document.getElementById('lehrveranstaltung-noten-menulist-note').disabled=val; -} - -// **** -// * Noten Trees Loeschen -// **** -function LehrveranstaltungNotenTreeUnload() -{ - netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"); - - notentree = document.getElementById('lehrveranstaltung-noten-tree'); - var oldDatasources = notentree.database.GetDataSources(); - while(oldDatasources.hasMoreElements()) - { - notentree.database.RemoveDataSource(oldDatasources.getNext()); - } - //Refresh damit die entfernten DS auch wirklich entfernt werden - notentree.builder.rebuild(); - - var lvgesamtnotentree = document.getElementById('lehrveranstaltung-lvgesamtnoten-tree'); - var oldDatasources = lvgesamtnotentree.database.GetDataSources(); - while(oldDatasources.hasMoreElements()) - { - lvgesamtnotentree.database.RemoveDataSource(oldDatasources.getNext()); - } - //Refresh damit die entfernten DS auch wirklich entfernt werden - lvgesamtnotentree.builder.rebuild(); -} - -// **** -// * Laedt die Notentrees -// **** -function LehrveranstaltungNotenLoad(lehrveranstaltung_id) -{ - // *** ZeugnisNoten *** - notentree = document.getElementById('lehrveranstaltung-noten-tree'); - - url='rdf/zeugnisnote.rdf.php?lehrveranstaltung_id='+lehrveranstaltung_id+"&"+gettimestamp(); - - try - { - LehrveranstaltungNotenTreeDatasource.removeXMLSinkObserver(LehrveranstaltungNotenTreeSinkObserver); - notentree.builder.removeListener(LehrveranstaltungNotenTreeListener); - } - catch(e) - {} - - //Alte DS entfernen - var oldDatasources = notentree.database.GetDataSources(); - while(oldDatasources.hasMoreElements()) - { - notentree.database.RemoveDataSource(oldDatasources.getNext()); - } - //Refresh damit die entfernten DS auch wirklich entfernt werden - notentree.builder.rebuild(); - var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService); - LehrveranstaltungNotenTreeDatasource = rdfService.GetDataSource(url); - LehrveranstaltungNotenTreeDatasource.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource); - LehrveranstaltungNotenTreeDatasource.QueryInterface(Components.interfaces.nsIRDFXMLSink); - notentree.database.AddDataSource(LehrveranstaltungNotenTreeDatasource); - LehrveranstaltungNotenTreeDatasource.addXMLSinkObserver(LehrveranstaltungNotenTreeSinkObserver); - notentree.builder.addListener(LehrveranstaltungNotenTreeListener); - - // *** LvGesamtNoten *** - var lvgesamtnotentree = document.getElementById('lehrveranstaltung-lvgesamtnoten-tree'); - - url='rdf/lvgesamtnote.rdf.php?lehrveranstaltung_id='+lehrveranstaltung_id+"&"+gettimestamp(); - - try - { - LehrveranstaltungLvGesamtNotenTreeDatasource.removeXMLSinkObserver(LehrveranstaltungLvGesamtNotenTreeSinkObserver); - lvgesamtnotentree.builder.removeListener(LehrveranstaltungLvGesamtNotenTreeListener); - } - catch(e) - {} - - //Alte DS entfernen - var oldDatasources = lvgesamtnotentree.database.GetDataSources(); - while(oldDatasources.hasMoreElements()) - { - lvgesamtnotentree.database.RemoveDataSource(oldDatasources.getNext()); - } - //Refresh damit die entfernten DS auch wirklich entfernt werden - lvgesamtnotentree.builder.rebuild(); - - var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService); - LehrveranstaltungLvGesamtNotenTreeDatasource = rdfService.GetDataSource(url); - LehrveranstaltungLvGesamtNotenTreeDatasource.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource); - LehrveranstaltungLvGesamtNotenTreeDatasource.QueryInterface(Components.interfaces.nsIRDFXMLSink); - lvgesamtnotentree.database.AddDataSource(LehrveranstaltungLvGesamtNotenTreeDatasource); - LehrveranstaltungLvGesamtNotenTreeDatasource.addXMLSinkObserver(LehrveranstaltungLvGesamtNotenTreeSinkObserver); - lvgesamtnotentree.builder.addListener(LehrveranstaltungLvGesamtNotenTreeListener); -} - -// **** -// * Selectiert die Noten im LVGesamtNoteTree welche nicht gleich denen -// * im ZeugnisNoteTree sind -// **** -function LehrveranstaltungGesamtNotenTreeSelectDifferent() -{ - var zeugnistree = document.getElementById("lehrveranstaltung-noten-tree"); - var lvgesamttree = document.getElementById("lehrveranstaltung-lvgesamtnoten-tree"); - lvgesamttree.view.selection.clearSelection(); - - if(lehrveranstaltungNotenTreeloaded && lehrveranstaltungGesamtNotenTreeloaded) - { - lvgesamttree.view.selection.clearSelection(); - if(lvgesamttree.view) - var lvgesamtitems = lvgesamttree.view.rowCount; //Anzahl der Zeilen ermitteln - else - return false; - - if(zeugnistree.view) - var zeugnisitems = zeugnistree.view.rowCount; //Anzahl der Zeilen ermitteln - else - return false; - - for(var i=0;ilvgesamtbenotungsdatum) - { - found=true; - break; - } - } - - if(!found) - { - //Zeile markieren - lvgesamttree.view.selection.rangedSelect(i,i,true); - } - } - } -} - -// **** -// * Markiert einen Eintrag im LVGesamtNotenTree -// **** -function LehrveranstaltungLvGesamtNotenTreeSelectID() -{ - LehrveranstaltungGesamtNotenTreeSelectDifferent(); -/* - var tree=document.getElementById('lehrveranstaltung-lvgesamtnoten-tree'); - if(tree.view) - var items = tree.view.rowCount; //Anzahl der Zeilen ermitteln - else - return false; - - //In der globalen Variable ist die zu selektierende Eintrag gespeichert - if(lehrveranstaltungLvGesamtNotenSelectUID!=null) - { - for(var i=0;i'; echo ''; -echo ''; ?> - + - - - - - + @@ -127,12 +123,10 @@ echo ' - - diff --git a/content/projekt/projekttaskdetail.overlay.xul.php b/content/projekt/projekttaskdetail.overlay.xul.php new file mode 100755 index 000000000..ecfce1c81 --- /dev/null +++ b/content/projekt/projekttaskdetail.overlay.xul.php @@ -0,0 +1,47 @@ + + */ + +header("Cache-Control: no-cache"); +header("Cache-Control: post-check=0, pre-check=0",false); +header("Expires Mon, 26 Jul 1997 05:00:00 GMT"); +header("Pragma: no-cache"); +header("Content-type: application/vnd.mozilla.xul+xml"); + +require_once('../../config/vilesci.config.inc.php'); + +echo ''; + +?> + + + + + + + Task Details + + + + Mantis Details + + \ No newline at end of file