projektphase fk dropdown hinzugefügt

This commit is contained in:
Karl Burkhart
2011-10-10 11:56:35 +00:00
parent e96a59f613
commit 2da5a625ce
3 changed files with 94 additions and 5 deletions
+38 -3
View File
@@ -16,6 +16,7 @@
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
*
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>
* Karl Burkhart <burkhart@technikum-wien.>
*/
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 = '<?php echo APP_ROOT; ?>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;
@@ -16,6 +16,7 @@
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
*
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>
* Karl Burkhart <burkhart@technikum-wien.at>
*/
header("Cache-Control: no-cache");
@@ -57,8 +58,21 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
<textbox id="textbox-projektphase-detail-projekt_kurzbz"/>
</row>
<row>
<label value="Projektphase FK" control="textbox-projektphase-detail-projektphase_fk "/>
<textbox id="textbox-projektphase-detail-projektphase_fk"/>
<label value="Projektphase FK" control="menulist-projektphase-detail-projektphase_fk"/>
<menulist id="menulist-projektphase-detail-projektphase_fk"
datasources="rdf:null"
ref="http://www.technikum-wien.at/projektphase"
oncommand=""
>
<template>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/projektphase/rdf#projektphase_id"
label="rdf:http://www.technikum-wien.at/projektphase/rdf#bezeichnung"
uri="rdf:*"/>
</menupopup>
</template>
</menulist>
</row>
<row>
<label value="Bezeichnung" control="textbox-projektphase-detail-bezeichnung"/>
+40
View File
@@ -62,6 +62,46 @@ if(isset($_GET['projektphase_id']))
$oRdf->addSequence($phase->projektphase_id, $phase->projektphase_fk);
else
$oRdf->addSequence($phase->projektphase_id);
}else if(isset($_GET['projekt_kurzbz']))
{
$projektphase = new projektphase();
$projektphase->getProjektphasen($_GET['projekt_kurzbz']);
if(isset($_GET['optional']))
{
$idx=$oRdf->newObjekt('opt');
$oRdf->obj[$idx]->setAttribut('projektphase_id','');
$oRdf->obj[$idx]->setAttribut('projekt_kurzbz', '');
$oRdf->obj[$idx]->setAttribut('projektphase_fk', '');
$oRdf->obj[$idx]->setAttribut('bezeichnung','< Auswahl >');
$oRdf->obj[$idx]->setAttribut('beschreibung', '');
$oRdf->obj[$idx]->setAttribut('start', '');
$oRdf->obj[$idx]->setAttribut('ende', '');
$oRdf->obj[$idx]->setAttribut('budget', '');
$oRdf->obj[$idx]->setAttribut('personentage', '');
$oRdf->addSequence('opt');
}
foreach($projektphase->result as $phase)
{
$idx=$oRdf->newObjekt($phase->projektphase_id);
$oRdf->obj[$idx]->setAttribut('projektphase_id',$phase->projektphase_id);
$oRdf->obj[$idx]->setAttribut('projekt_kurzbz', $phase->projekt_kurzbz);
$oRdf->obj[$idx]->setAttribut('projektphase_fk', $phase->projektphase_fk);
$oRdf->obj[$idx]->setAttribut('bezeichnung',$phase->bezeichnung);
$oRdf->obj[$idx]->setAttribut('beschreibung', $phase->beschreibung);
$oRdf->obj[$idx]->setAttribut('start', $phase->start);
$oRdf->obj[$idx]->setAttribut('ende', $phase->ende);
$oRdf->obj[$idx]->setAttribut('budget', $phase->budget);
$oRdf->obj[$idx]->setAttribut('personentage', $phase->personentage);
$oRdf->addSequence($phase->projektphase_id);
}
}
else
{