, * Andreas Oesterreicher and * Rudolf Hangl . */ require_once('../config/vilesci.config.inc.php'); require_once('../include/functions.inc.php'); $user = get_uid(); loadVariables($user); ?> // *********** Globale Variablen *****************// var BetriebsmittelTreeDatasource; //Datasource des BetriebsmittelTrees var BetriebsmittelSelectBetriebsmittelperson_id=null; //Betriebsmittelzurodnung die nach dem Refresh markiert werden soll var Betriebsmittel_Person_id; var Betriebsmittel_Person_UID; // ********** Observer und Listener ************* // // **** // * Observer fuer Betriebsmittel Tree // * startet Rebuild nachdem das Refresh // * der datasource fertig ist // **** var BetriebsmittelTreeSinkObserver = { onBeginLoad : function(pSink) {}, onInterrupt : function(pSink) {}, onResume : function(pSink) {}, onError : function(pSink, pStatus, pError) {}, onEndLoad : function(pSink) { netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"); document.getElementById('betriebsmittel-tree').builder.rebuild(); } }; // **** // * Nach dem Rebuild wird die Betriebsmittelzuordnung wieder // * markiert // **** var BetriebsmittelTreeListener = { 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(BetriebsmittelTreeSelectZuordnung,10); } }; // ***************** KEY Events ************************* // // ****************** FUNKTIONEN ************************** // // **** // * Laedt den Betriebsmitteltree // **** function loadBetriebsmittel(person_id, uid) { netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"); Betriebsmittel_Person_id = person_id; Betriebsmittel_Person_UID = uid; // *** Betriebsmittel *** betriebsmitteltree = document.getElementById('betriebsmittel-tree'); url='rdf/betriebsmittelperson.rdf.php?person_id='+person_id+"&"+gettimestamp(); //Alte DS entfernen var oldDatasources = betriebsmitteltree.database.GetDataSources(); while(oldDatasources.hasMoreElements()) { betriebsmitteltree.database.RemoveDataSource(oldDatasources.getNext()); } //Refresh damit die entfernten DS auch wirklich entfernt werden betriebsmitteltree.builder.rebuild(); try { BetriebsmittelTreeDatasource.removeXMLSinkObserver(BetriebsmittelTreeSinkObserver); betriebsmitteltree.builder.removeListener(BetriebsmittelTreeListener); } catch(e) {} var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService); BetriebsmittelTreeDatasource = rdfService.GetDataSource(url); BetriebsmittelTreeDatasource.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource); BetriebsmittelTreeDatasource.QueryInterface(Components.interfaces.nsIRDFXMLSink); betriebsmitteltree.database.AddDataSource(BetriebsmittelTreeDatasource); BetriebsmittelTreeDatasource.addXMLSinkObserver(BetriebsmittelTreeSinkObserver); betriebsmitteltree.builder.addListener(BetriebsmittelTreeListener); } // ********** Betriebsmittel ****************** // **** // * Selectiert die Betriebsmittelzuordnung nachdem der Tree // * rebuildet wurde. // **** function BetriebsmittelTreeSelectZuordnung() { var tree=document.getElementById('betriebsmittel-tree'); if(tree.view) var items = tree.view.rowCount; //Anzahl der Zeilen ermitteln else return false; //In der globalen Variable ist die zu selektierende Buchung gespeichert if(BetriebsmittelSelectBetriebsmittelperson_id!=null) { for(var i=0;i2) { var url = 'rdf/betriebsmittel.rdf.php?filter='+encodeURIComponent(v)+'&'+gettimestamp(); var oldDatasources = menulist.database.GetDataSources(); while(oldDatasources.hasMoreElements()) { menulist.database.RemoveDataSource(oldDatasources.getNext()); } //Refresh damit die entfernten DS auch wirklich entfernt werden menulist.builder.rebuild(); var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService); if(typeof(filter)=='undefined') var datasource = rdfService.GetDataSource(url); else var datasource = rdfService.GetDataSourceBlocking(url); datasource.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource); datasource.QueryInterface(Components.interfaces.nsIRDFXMLSink); menulist.database.AddDataSource(datasource); if(typeof(filter)!='undefined') menulist.builder.rebuild(); } } // **** // * Erstellt eine Uebernahmebestaetigung // **** function BetriebsmittelPrintUebernahmebestaetigung() { id = document.getElementById('betriebsmittel-textbox-betriebsmittelperson_id').value; if(id=='') { alert('Sie muessen zuerst einen Eintrag auswaehlen'); return false; } var url = 'content/pdfExport.php?xsl=Uebernahme&xml=betriebsmittelperson.rdf.php&id='+id; window.open(url); }