From 2da5a625cebaaf25926082e0bbf673693d0cc470 Mon Sep 17 00:00:00 2001 From: Karl Burkhart Date: Mon, 10 Oct 2011 11:56:35 +0000 Subject: [PATCH] =?UTF-8?q?projektphase=20fk=20dropdown=20hinzugef=C3=BCgt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- content/projekt/projektphase.overlay.js.php | 41 +++++++++++++++++-- .../projektphasedetail.overlay.xul.php | 18 +++++++- rdf/projektphase.rdf.php | 40 ++++++++++++++++++ 3 files changed, 94 insertions(+), 5 deletions(-) diff --git a/content/projekt/projektphase.overlay.js.php b/content/projekt/projektphase.overlay.js.php index 25d18106d..c5ec43f9e 100755 --- a/content/projekt/projektphase.overlay.js.php +++ b/content/projekt/projektphase.overlay.js.php @@ -16,6 +16,7 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. * * Authors: Christian Paminger + * Karl Burkhart */ require_once('../../config/vilesci.config.inc.php'); @@ -64,6 +65,39 @@ var ProjektphaseTreeListener = }; // ****************** FUNKTIONEN ************************** // + +// **** +// * Laedt dynamisch die Personen fuer das DropDown Menue +// **** +function ProjektphaseFkLoad(menulist, id) +{ + netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"); + + var url = 'rdf/projektphase.rdf.php?projekt_kurzbz='+id+'&optional&'+gettimestamp(); + //nurmittitel=& + 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); + menulist.builder.rebuild(); + +} + + // **** // * Auswahl einer Phase // **** @@ -122,10 +156,10 @@ function onselectTreeProjektphase() var personentage=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#personentage" )); //Daten den Feldern zuweisen - + var menulist = document.getElementById('menulist-projektphase-detail-projektphase_fk'); + ProjektphaseFkLoad(menulist, projekt_kurzbz); document.getElementById('textbox-projektphase-detail-projekt_kurzbz').value=projekt_kurzbz; document.getElementById('textbox-projektphase-detail-projektphase_id').value=projektphase_id; - document.getElementById('textbox-projektphase-detail-projektphase_fk').value=projektphase_fk; document.getElementById('textbox-projektphase-detail-beschreibung').value=beschreibung; document.getElementById('textbox-projektphase-detail-bezeichnung').value=bezeichnung; document.getElementById('textbox-projektphase-detail-start').value=start; @@ -133,6 +167,7 @@ function onselectTreeProjektphase() document.getElementById('textbox-projektphase-detail-budget').value=budget; document.getElementById('textbox-projektphase-detail-personentage').value=personentage; document.getElementById('checkbox-projektphase-detail-neu').checked=false; + MenulistSelectItemOnValue('menulist-projektphase-detail-projektphase_fk', projektphase_fk); //Notizen zu einer Phase Laden notiz = document.getElementById('box-projektphase-notizen'); @@ -172,7 +207,7 @@ function saveProjektphaseDetail() //Werte holen projektphase_id = document.getElementById('textbox-projektphase-detail-projektphase_id').value; - projektphase_fk = document.getElementById('textbox-projektphase-detail-projektphase_fk').value; + projektphase_fk = document.getElementById('menulist-projektphase-detail-projektphase_fk').value; projekt_kurzbz = document.getElementById('textbox-projektphase-detail-projekt_kurzbz').value; bezeichnung = document.getElementById('textbox-projektphase-detail-bezeichnung').value; beschreibung = document.getElementById('textbox-projektphase-detail-beschreibung').value; diff --git a/content/projekt/projektphasedetail.overlay.xul.php b/content/projekt/projektphasedetail.overlay.xul.php index 1843b5f00..1095a4d3a 100755 --- a/content/projekt/projektphasedetail.overlay.xul.php +++ b/content/projekt/projektphasedetail.overlay.xul.php @@ -16,6 +16,7 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. * * Authors: Christian Paminger + * Karl Burkhart */ header("Cache-Control: no-cache"); @@ -57,8 +58,21 @@ echo ''; -