diff --git a/content/planner.overlay.xul.php b/content/planner.overlay.xul.php index 555d1c42e..50ab226a7 100755 --- a/content/planner.overlay.xul.php +++ b/content/planner.overlay.xul.php @@ -7,6 +7,7 @@ echo ''; /*echo ''; echo ''; echo '';*/ +echo ''; echo ''; ?> @@ -139,18 +140,20 @@ echo ' + - - - + + + + - + - + diff --git a/content/planner.xul.php b/content/planner.xul.php index 5b6329591..5a5c00673 100755 --- a/content/planner.xul.php +++ b/content/planner.xul.php @@ -249,12 +249,10 @@ echo ''; - - diff --git a/content/projekt/projektphase.overlay.js.php b/content/projekt/projektphase.overlay.js.php new file mode 100755 index 000000000..76c51db90 --- /dev/null +++ b/content/projekt/projektphase.overlay.js.php @@ -0,0 +1,599 @@ + + */ + +require_once('../../config/vilesci.config.inc.php'); + +?> +// *********** Globale Variablen *****************// + +var TaskTreeDatasource; //Datasource des Task Tree +var TaskSelectID=null; //ID des Task Eintrages der nach dem Refresh markiert werden soll +// ********** Observer und Listener ************* // + +// **** +// * Observer fuer LV Tree +// * startet Rebuild nachdem das Refresh +// * der datasource fertig ist +// **** +var TaskTreeSinkObserver = +{ + onBeginLoad : function(pSink) {}, + onInterrupt : function(pSink) {}, + onResume : function(pSink) {}, + onError : function(pSink, pStatus, pError) { debug('onerror:'+pError); }, + onEndLoad : function(pSink) + { + netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"); + document.getElementById('projekttask-tree').builder.rebuild(); + } +}; + +// **** +// * Nach dem Rebuild wird die Lehreinheit wieder +// * markiert +// **** +var TaskTreeListener = +{ + 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 + window.setTimeout(TaskTreeSelectTask,10); + // Progressmeter stoppen + //document.getElementById('statusbar-progressmeter').setAttribute('mode','determined'); + } +}; + +// ****************** FUNKTIONEN ************************** // + +// **** +// * Asynchroner (Nicht blockierender) Refresh des LV Trees +// **** +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('projekttask-tree'); + + try + { + TaskSelectID = getTreeCellText(tree, "projekttask-treecol-projekttask_id", tree.currentIndex); + } + catch(e) + { + TaskSelectID=null; + } + TaskTreeDatasource.Refresh(false); //non blocking +} + +// **** +// * neuen Task anlegen +// **** +function TaskNeu() +{ + // 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 + LeDetailReset(); + + //Detail Tab als aktiv setzen + document.getElementById('lehrveranstaltung-tabbox').selectedIndex=0; + + //Lektor-Tab und GruppenTree ausblenden + document.getElementById('lehrveranstaltung-detail-tree-lehreinheitgruppe').hidden=true; + document.getElementById('lehrveranstaltung-detail-label-lehreinheitgruppe').hidden=true; + document.getElementById('lehrveranstaltung-tab-lektor').collapsed=true; + + //Lehrveranstaltungs_id holen + var col = tree.columns ? tree.columns["lehrveranstaltung-treecol-lehrveranstaltung_id"] : "lehrveranstaltung-treecol-lehrveranstaltung_id"; + var lehrveranstaltung_id=tree.view.getCellText(tree.currentIndex,col); + + //Lehrform setzen + var col = tree.columns ? tree.columns["lehrveranstaltung-treecol-lehrform"] : "lehrveranstaltung-treecol-lehrform"; + var lehrform_kurzbz=tree.view.getCellText(tree.currentIndex,col); + + //Lehrfach drop down setzen + + //ID in globale Variable speichern + LeDetailLehrfach_id=''; + var col = tree.columns ? tree.columns["lehrveranstaltung-treecol-bezeichnung"] : "lehrveranstaltung-treecol-bezeichnung"; + LeDetailLehrfach_label=tree.view.getCellText(tree.currentIndex,col); + + lehrfachmenulist = document.getElementById('lehrveranstaltung-detail-menulist-lehrfach'); + var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService); + + //Entfernen der alten Datasources + var oldDatasources = lehrfachmenulist.database.GetDataSources(); + while(oldDatasources.hasMoreElements()) + { + lehrfachmenulist.database.RemoveDataSource(oldDatasources.getNext()); + } + //Refresh damit die entfernten DS auch wirklich entfernt werden + lehrfachmenulist.builder.rebuild(); + + //Url zusammenbauen + var url = 'rdf/lehrfach.rdf.php?lehrveranstaltung_id='+lehrveranstaltung_id+'&'+gettimestamp(); + + //RDF holen + var newDs = rdfService.GetDataSource(url); + lehrfachmenulist.database.AddDataSource(newDs); + + //SinkObserver hinzufuegen + var sink = newDs.QueryInterface(Components.interfaces.nsIRDFXMLSink); + sink.addXMLSinkObserver(LeDetailLehrfachSinkObserver); + + document.getElementById('lehrveranstaltung-detail-textbox-lehrveranstaltung').value=lehrveranstaltung_id; + document.getElementById('lehrveranstaltung-detail-checkbox-new').checked=true; + document.getElementById('lehrveranstaltung-detail-textbox-stundenblockung').value='2'; + document.getElementById('lehrveranstaltung-detail-textbox-wochenrythmus').value='1'; + if(lehrform_kurzbz=='') + lehrform_kurzbz='UE'; + document.getElementById('lehrveranstaltung-detail-menulist-lehrform').value=lehrform_kurzbz; + + var stsem = getStudiensemester(); + document.getElementById('lehrveranstaltung-detail-menulist-studiensemester').value=stsem; + + //Defaultwert fuer Anmerkung + document.getElementById('lehrveranstaltung-detail-textbox-anmerkung').value=''; + */ +} +// **** +// * Selectiert die Lektorzuordnung nachdem der Tree +// * rebuildet wurde. +// **** +function TaskTreeSelectTask() +{ + var tree=document.getElementById('projekttask-tree'); + var items = tree.view.rowCount; //Anzahl der Zeilen ermitteln + + //In der globalen Variable ist die zu selektierende ID gespeichert + if(TaskSelectID!=null) + { + for(var i=0;i + */ + +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 ''; + +/*echo '';*/ +?> + + +