From afb2ddf2ba5a7cfcc27f9f0c3f3e81d71baa4675 Mon Sep 17 00:00:00 2001 From: Karl Burkhart Date: Thu, 17 Nov 2011 16:14:43 +0000 Subject: [PATCH] =?UTF-8?q?LoadTasks()=20und=20Filter=20f=C3=BCr=20Erledig?= =?UTF-8?q?te=20Tasks=20hinzgef=C3=BCgt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- content/projekt/projekttask.overlay.js.php | 101 ++++++++++++++++---- content/projekt/projekttask.overlay.xul.php | 17 ++++ 2 files changed, 98 insertions(+), 20 deletions(-) diff --git a/content/projekt/projekttask.overlay.js.php b/content/projekt/projekttask.overlay.js.php index 73ce47723..182552b74 100755 --- a/content/projekt/projekttask.overlay.js.php +++ b/content/projekt/projekttask.overlay.js.php @@ -24,6 +24,8 @@ require_once('../../config/vilesci.config.inc.php'); // *********** Globale Variablen *****************// var TaskSelectID=null; //ID des Task Eintrages der nach dem Refresh markiert werden soll +var filterErledigt; //Tasks filtern +var currentProjektPhaseID; // ********** Observer und Listener ************* // // **** @@ -68,6 +70,61 @@ var TaskTreeListener = +// **** +// * Laedt dynamisch die Tasks +// **** +function LoadTasks(projekt_phase_id, filter) +{ + netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"); + + try + { + // wenn phase übergeben wurde -> setzte globale variable + if(projekt_phase_id != null && projekt_phase_id != '' && typeof optional && "undefined") + currentProjektPhaseID = projekt_phase_id; + + // wenn filter übergeben wurde -> setze globale variable + if(filter != null && filter != '' && typeof filter != "undefined") + filterErledigt = filter; + + url = "rdf/projekttask.rdf.php?projektphase_id="+currentProjektPhaseID+"&"+gettimestamp(); + + // überprüfe ob filter gesetzt ist + if(filterErledigt != null) + url = "rdf/projekttask.rdf.php?projektphase_id="+currentProjektPhaseID+"&filter="+filterErledigt+"&"+gettimestamp(); + + var treeTask=document.getElementById('projekttask-tree'); + //Alte DS entfernen + var oldDatasources = treeTask.database.GetDataSources(); + while(oldDatasources.hasMoreElements()) + { + treeTask.database.RemoveDataSource(oldDatasources.getNext()); + } + + try + { + datasourceTreeTask.removeXMLSinkObserver(TaskTreeSinkObserver); + treeTask.builder.removeListener(TaskTreeListener); + } + catch(e) + {} + + var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService); + datasourceTreeTask = rdfService.GetDataSource(url); + datasourceTreeTask.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource); + datasourceTreeTask.QueryInterface(Components.interfaces.nsIRDFXMLSink); + treeTask.database.AddDataSource(datasourceTreeTask); + datasourceTreeTask.addXMLSinkObserver(TaskTreeSinkObserver); + treeTask.builder.addListener(TaskTreeListener); + + } + catch(e) + { + debug("whoops Projekttask load failed with exception: "+e); + } +} + + // **** // * Laedt dynamisch die Personen fuer das DropDown Menue // **** @@ -281,26 +338,30 @@ function saveProjekttaskDetail() ressource_id = MenulistGetSelectedValue('textbox-projekttask-detail-ressource'); ende = document.getElementById('textbox-projekttask-detail-ende').iso; - var soapBody = new SOAPObject("saveProjekttask"); - //soapBody.appendChild(new SOAPObject("username")).val('joe'); - //soapBody.appendChild(new SOAPObject("passwort")).val('waschl'); - - var task = new SOAPObject("task"); - task.appendChild(new SOAPObject("projekttask_id")).val(projekttask_id); - task.appendChild(new SOAPObject("projektphase_id")).val(projektphase_id); - task.appendChild(new SOAPObject("bezeichnung")).val(bezeichnung); - task.appendChild(new SOAPObject("beschreibung")).val(beschreibung); - task.appendChild(new SOAPObject("aufwand")).val(aufwand); - task.appendChild(new SOAPObject("mantis_id")).val(mantis_id); - task.appendChild(new SOAPObject("user")).val(getUsername()); - task.appendChild(new SOAPObject("ressource_id")).val(ressource_id); - task.appendChild(new SOAPObject("ende")).val(ende); - soapBody.appendChild(task); - - var sr = new SOAPRequest("saveProjekttask",soapBody); - - SOAPClient.Proxy="soap/projekttask.soap.php?"+gettimestamp(); - SOAPClient.SendRequest(sr, clb_saveProjekttask); + if(!isNaN(projektphase_id) && projektphase_id != '') + { + var soapBody = new SOAPObject("saveProjekttask"); + //soapBody.appendChild(new SOAPObject("username")).val('joe'); + //soapBody.appendChild(new SOAPObject("passwort")).val('waschl'); + + var task = new SOAPObject("task"); + task.appendChild(new SOAPObject("projekttask_id")).val(projekttask_id); + task.appendChild(new SOAPObject("projektphase_id")).val(projektphase_id); + task.appendChild(new SOAPObject("bezeichnung")).val(bezeichnung); + task.appendChild(new SOAPObject("beschreibung")).val(beschreibung); + task.appendChild(new SOAPObject("aufwand")).val(aufwand); + task.appendChild(new SOAPObject("mantis_id")).val(mantis_id); + task.appendChild(new SOAPObject("user")).val(getUsername()); + task.appendChild(new SOAPObject("ressource_id")).val(ressource_id); + task.appendChild(new SOAPObject("ende")).val(ende); + soapBody.appendChild(task); + + var sr = new SOAPRequest("saveProjekttask",soapBody); + + SOAPClient.Proxy="soap/projekttask.soap.php?"+gettimestamp(); + SOAPClient.SendRequest(sr, clb_saveProjekttask); + }else + alert('keine gueltige Projektphase_ID eingetragen'); } // **** diff --git a/content/projekt/projekttask.overlay.xul.php b/content/projekt/projekttask.overlay.xul.php index 1e73c0f9b..3dc6fb7c9 100755 --- a/content/projekt/projekttask.overlay.xul.php +++ b/content/projekt/projekttask.overlay.xul.php @@ -54,6 +54,13 @@ echo ' + + + + + + + @@ -95,6 +102,14 @@ echo ' +