LoadTasks() und Filter für Erledigte Tasks hinzgefügt

This commit is contained in:
Karl Burkhart
2011-11-17 16:14:43 +00:00
parent 29858a6e36
commit afb2ddf2ba
2 changed files with 98 additions and 20 deletions
+81 -20
View File
@@ -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 = "<?php echo APP_ROOT; ?>rdf/projekttask.rdf.php?projektphase_id="+currentProjektPhaseID+"&"+gettimestamp();
// überprüfe ob filter gesetzt ist
if(filterErledigt != null)
url = "<?php echo APP_ROOT; ?>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="<?php echo APP_ROOT;?>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="<?php echo APP_ROOT;?>soap/projekttask.soap.php?"+gettimestamp();
SOAPClient.SendRequest(sr, clb_saveProjekttask);
}else
alert('keine gueltige Projektphase_ID eingetragen');
}
// ****
@@ -54,6 +54,13 @@ echo '<?xul-overlay href="'.APP_ROOT.'content/projekt/mantisdetail.overlay.xul.p
<toolbarbutton id="projekttask-toolbar-neu" label="Neuer Task" oncommand="TaskNeu();" disabled="true" image="../skin/images/NeuDokument.png" tooltiptext="Neuen Task anlegen" />
<toolbarbutton id="projekttask-toolbar-del" label="Loeschen" oncommand="TaskDelete();" disabled="true" image="../skin/images/DeleteIcon.png" tooltiptext="Task löschen"/>
<toolbarbutton id="projekttask-toolbar-refresh" label="Aktualisieren" oncommand="TaskTreeRefresh()" disabled="false" image="../skin/images/refresh.png" tooltiptext="Liste neu laden"/>
<toolbarbutton anonid="toolbarbutton-notiz-filter" label="Filter " type="menu">
<menupopup>
<menuitem label="Erledigte Tasks" type="radio" name="sort" oncommand="LoadTasks(currentProjektPhaseID,'erledigt')" tooltiptext="Erledigte Tasks anzeigen"/>
<menuitem label="Offene Tasks" type="radio" name="sort" oncommand="LoadTasks(currentProjektPhaseID,'offen')" tooltiptext="Offene Tasks anzeigen"/>
<menuitem label="Alle Tasks" type="radio" name="sort" oncommand="LoadTasks(currentProjektPhaseID,'alle')" tooltiptext="Alle Tasks anzeigen"/>
</menupopup>
</toolbarbutton>
</toolbar>
</toolbox>
@@ -95,6 +102,14 @@ echo '<?xul-overlay href="'.APP_ROOT.'content/projekt/mantisdetail.overlay.xul.p
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/projekttask/rdf#mantis_id" />
<splitter class="tree-splitter"/>
<treecol id="projekttask-treecol-ende" label="Ende" flex="2" hidden="false" persist="hidden, width, ordinal"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/projekttask/rdf#ende" />
<splitter class="tree-splitter"/>
<treecol id="projekttask-treecol-ressource_bezeichnung" label="Ressource" flex="2" hidden="false" persist="hidden, width, ordinal"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/projekttask/rdf#ressource_bezeichnung" />
<splitter class="tree-splitter"/>
<treecol id="projekttask-treecol-erledigt" label="Erledigt" flex="2" hidden="false" persist="hidden, width, ordinal"
class="sortDirectionIndicator" type="checkbox"
sort="rdf:http://www.technikum-wien.at/projekttask/rdf#erledigt" />
@@ -111,6 +126,8 @@ echo '<?xul-overlay href="'.APP_ROOT.'content/projekt/mantisdetail.overlay.xul.p
<treecell label="rdf:http://www.technikum-wien.at/projekttask/rdf#beschreibung"/>
<treecell label="rdf:http://www.technikum-wien.at/projekttask/rdf#aufwand"/>
<treecell label="rdf:http://www.technikum-wien.at/projekttask/rdf#mantis_id"/>
<treecell label="rdf:http://www.technikum-wien.at/projekttask/rdf#ende"/>
<treecell label="rdf:http://www.technikum-wien.at/projekttask/rdf#ressource_bezeichnung"/>
<treecell label="erledigt" value="rdf:http://www.technikum-wien.at/projekttask/rdf#erledigt"/>
</treerow>
</treeitem>