diff --git a/content/lehrveranstaltungoverlay.js.php b/content/lehrveranstaltungoverlay.js.php index f9e88b14c..1a3af7a0d 100644 --- a/content/lehrveranstaltungoverlay.js.php +++ b/content/lehrveranstaltungoverlay.js.php @@ -132,8 +132,13 @@ function LvTreeRefresh() //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"; - LvSelectLehreinheit_id=tree.view.getCellText(tree.currentIndex,col); - LvTreeDatasource.Refresh(false); //non blocking + try + { + LvSelectLehreinheit_id=tree.view.getCellText(tree.currentIndex,col); + LvTreeDatasource.Refresh(false); //non blocking + } + catch(e) + {} } // **** diff --git a/content/tempus.js.php b/content/tempus.js.php index ef22a87ba..59152132e 100644 --- a/content/tempus.js.php +++ b/content/tempus.js.php @@ -1,6 +1,7 @@ +var menuUndoDatasource=0; function closeWindow() { @@ -98,17 +99,44 @@ function studiensemesterChange() return true; } +// **** +// * Laedt das Undo Menue Neu +// **** function loadUndoList() { menu = document.getElementById('menu-edit-undo'); - - var url = 'rdf/undo.rdf.php?'+gettimestamp(); - menu.setAttribute('datasources', url); - debug('load:'+url); + + 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)) diff --git a/content/tempus.xul.php b/content/tempus.xul.php index 633781632..db4e33135 100644 --- a/content/tempus.xul.php +++ b/content/tempus.xul.php @@ -72,15 +72,15 @@ echo ''; accesskey = "&menu-file-close:accesskey;"/> - - + +