Projektphase Insert ueber SOAP

This commit is contained in:
Christian Paminger
2011-08-11 06:50:13 +00:00
parent bed7a14d9e
commit 7db5420473
13 changed files with 572 additions and 510 deletions
+67 -21
View File
@@ -20,7 +20,9 @@
include('../config/vilesci.config.inc.php');
?>
var TaskTreeDatasource;
var datasourceTreeProjekt;
var datasourceTreeProjektphase;
var datasourceTreeProjekttask;
function treeProjektSelect()
{
@@ -33,19 +35,63 @@ function treeProjektSelect()
if(tree.currentIndex==-1)
return;
var bezeichnung = getTreeCellText(tree, "tree-projekt-bezeichnung", tree.currentIndex);
var oe=getTreeCellText(tree, "tree-projekt-oe", tree.currentIndex);
var projekt_kurzbz=getTreeCellText(tree, "tree-projekt-projekt_kurzbz", tree.currentIndex);
var projekt_phase=getTreeCellText(tree, "tree-projekt-projekt_phase", tree.currentIndex);
var projekt_phase_id=getTreeCellText(tree, "tree-projekt-projekt_phase_id", tree.currentIndex);
var bezeichnung = getTreeCellText(tree, "treecol-projektmenue-bezeichnung", tree.currentIndex);
var oe=getTreeCellText(tree, "treecol-projektmenue-oe", tree.currentIndex);
var projekt_kurzbz=getTreeCellText(tree, "treecol-projektmenue-projekt_kurzbz", tree.currentIndex);
var projekt_phase=getTreeCellText(tree, "treecol-projektmenue-projekt_phase", tree.currentIndex);
var projekt_phase_id=getTreeCellText(tree, "treecol-projektmenue-projekt_phase_id", tree.currentIndex);
//alert("Projekt Phase ID "+projekt_phase_id);
// Neu und Delete Button fuer Projekte aktivieren/deaktivieren
// Neu und Delete Button fuer Projekte und Phasen aktivieren/deaktivieren
if (projekt_kurzbz=='')
document.getElementById('toolbarbutton-projekt-neu').disabled=false;
{
document.getElementById('toolbarbutton-projektmenue-neu').disabled=false;
document.getElementById('toolbarbutton-projektphase-neu').disabled=true;
}
else
document.getElementById('toolbarbutton-projekt-neu').disabled=true;
{
document.getElementById('toolbarbutton-projektmenue-neu').disabled=true;
document.getElementById('toolbarbutton-projektphase-neu').disabled=false;
}
// Projekte neu laden
if(projekt_phase_id=='' && projekt_kurzbz=='')
{
try
{
var datasource="<?php echo APP_ROOT; ?>rdf/projekt.rdf.php?oe="+oe+"&foo=<?php echo time(); ?>";
//alert("OE "+oe+" | Projekt KurzBZ "+projekt_kurzbz+" | Datasource "+datasource);
var treeProjekt=document.getElementById('tree-projekt');
//treeProjekt.datasources=datasource;
//Alte DS entfernen
var oldDatasources = treeProjekt.database.GetDataSources();
while(oldDatasources.hasMoreElements())
{
treeProjekt.database.RemoveDataSource(oldDatasources.getNext());
}
try
{
datasourceTreeProjekt.removeXMLSinkObserver(observerTreeProjekt);
treeProjekt.builder.removeListener(listenerTreeProjekt);
}
catch(e)
{}
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService);
datasourceTreeProjekt = rdfService.GetDataSource(datasource);
datasourceTreeProjekt.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource);
datasourceTreeProjekt.QueryInterface(Components.interfaces.nsIRDFXMLSink);
treeProjekt.database.AddDataSource(datasourceTreeProjekt);
datasourceTreeProjekt.addXMLSinkObserver(observerTreeProjekt);
treeProjekt.builder.addListener(listenerTreeProjekt);
}
catch(e)
{
debug("whoops Projekt load failed with exception: "+e);
}
}
// Projektphasen neu laden
if(projekt_phase_id=='' && projekt_kurzbz!='')
@@ -66,18 +112,18 @@ function treeProjektSelect()
try
{
TaskTreeDatasource.removeXMLSinkObserver(TaskTreeSinkObserver);
datasourceTreeProjektphase.removeXMLSinkObserver(observerTreeProjektphase);
treePhase.builder.removeListener(TaskTreeListener);
}
catch(e)
{}
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService);
TaskTreeDatasource = rdfService.GetDataSource(datasources);
TaskTreeDatasource.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource);
TaskTreeDatasource.QueryInterface(Components.interfaces.nsIRDFXMLSink);
treePhase.database.AddDataSource(TaskTreeDatasource);
TaskTreeDatasource.addXMLSinkObserver(TaskTreeSinkObserver);
datasourceTreeTask = rdfService.GetDataSource(datasources);
datasourceTreeTask.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource);
datasourceTreeTask.QueryInterface(Components.interfaces.nsIRDFXMLSink);
treePhase.database.AddDataSource(datasourceTreeTask);
datasourceTreeTask.addXMLSinkObserver(observerTreeProjektphase);
treePhase.builder.addListener(TaskTreeListener);
treePhase.ref=ref;
}
@@ -105,18 +151,18 @@ function treeProjektSelect()
try
{
TaskTreeDatasource.removeXMLSinkObserver(TaskTreeSinkObserver);
datasourceTreeTask.removeXMLSinkObserver(TaskTreeSinkObserver);
treeTask.builder.removeListener(TaskTreeListener);
}
catch(e)
{}
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService);
TaskTreeDatasource = rdfService.GetDataSource(url);
TaskTreeDatasource.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource);
TaskTreeDatasource.QueryInterface(Components.interfaces.nsIRDFXMLSink);
treeTask.database.AddDataSource(TaskTreeDatasource);
TaskTreeDatasource.addXMLSinkObserver(TaskTreeSinkObserver);
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)
+1 -1
View File
@@ -39,7 +39,7 @@ echo '<?xul-overlay href="'.APP_ROOT.'content/projekt/gantt.overlay.xul.php"?>';
</toolbox>
<tree id="tree-projektmenue" onselect="treeProjektSelect();"
seltype="single" hidecolumnpicker="false" flex="1"
datasources="../rdf/projektphase.rdf.php?foo=<?php echo time(); ?>" ref="http://www.technikum-wien.at/projektphase/alle-projektphasen"
datasources="<?php echo APP_ROOT; ?>rdf/projektphase.rdf.php?foo=<?php echo time(); ?>" ref="http://www.technikum-wien.at/projektphase/alle-projektphasen"
enableColumnDrag="true"
ondraggesture="nsDragAndDrop.startDrag(event,lvbgrpDDObserver);"
ondragdrop="nsDragAndDrop.drop(event,verbandtreeDDObserver)"
+5 -5
View File
@@ -23,8 +23,8 @@ require_once('../../config/vilesci.config.inc.php');
?>
// *********** Globale Variablen *****************//
var TaskTreeDatasource; //Datasource des Task Tree
var TaskSelectID=null; //ID des Task Eintrages der nach dem Refresh markiert werden soll
var datasourceTreeProjekt; //Datasource des Projekt Tree
var IDProjektSelect=null; //ID des Task Eintrages der nach dem Refresh markiert werden soll
// ********** Observer und Listener ************* //
// ****
@@ -32,7 +32,7 @@ var TaskSelectID=null; //ID des Task Eintrages der nach dem Refresh markiert wer
// * startet Rebuild nachdem das Refresh
// * der datasource fertig ist
// ****
var TaskTreeSinkObserver =
var observerTreeProjekt =
{
onBeginLoad : function(pSink) {},
onInterrupt : function(pSink) {},
@@ -41,7 +41,7 @@ var TaskTreeSinkObserver =
onEndLoad : function(pSink)
{
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
document.getElementById('projekttask-tree').builder.rebuild();
document.getElementById('tree-projekt').builder.rebuild();
}
};
@@ -49,7 +49,7 @@ var TaskTreeSinkObserver =
// * Nach dem Rebuild wird die Lehreinheit wieder
// * markiert
// ****
var TaskTreeListener =
var listenerTreeProjekt =
{
willRebuild : function(builder)
{
+10 -10
View File
@@ -30,7 +30,7 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
/*echo '<?xul-overlay href="'.APP_ROOT.'content/projekt/projektdetail.overlay.xul.php"?>';*/
?>
<overlay id="OverlayProjekt"
<overlay id="overlay-projekt"
xmlns:html="http://www.w3.org/1999/xhtml"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
>
@@ -45,11 +45,11 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
<vbox id="box-projekt" flex="1" uid="" stg_kz="">
<popupset>
<popup id="projekt-tree-popup">
<menuitem label="Entfernen" oncommand="TaskDelete();" id="projekt-tree-popup-entf" disabled="false"/>
<menuitem id="menuitem-popup-projekt-entf" label="Entfernen" oncommand="ProjektDelete();" disabled="false"/>
</popup>
</popupset>
<toolbox>
<toolbar id="projekt-nav-toolbar">
<toolbar id="toolbar-projekt-main">
<toolbarbutton id="toolbarbutton-projekt-neu" label="Neues Projekt" oncommand="ProjektNeu();" disabled="true" image="../skin/images/NeuDokument.png" tooltiptext="Neuen Task anlegen" />
<toolbarbutton id="toolbarbutton-projekt-del" label="Loeschen" oncommand="ProjektDelete();" disabled="true" image="../skin/images/DeleteIcon.png" tooltiptext="Task löschen"/>
<toolbarbutton id="toolbarbutton-projekt-refresh" label="Aktualisieren" oncommand="ProjektTreeRefresh()" disabled="false" image="../skin/images/refresh.png" tooltiptext="Liste neu laden"/>
@@ -130,14 +130,14 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
<!-- * Detail * -->
<!-- ************ -->
<vbox flex="1" style="overflow:auto;margin:0px;" persist="height">
<tabbox id="projekt-tabbox" flex="3" orient="vertical">
<tabs orient="horizontal" id="projekt-tabs">
<tab id="projekt-tab-detail" label="Details" />
<tab id="projekt-tab-mantis" label="Mantis" />
<tabbox id="tabbox-projekt" flex="3" orient="vertical">
<tabs id="tabs-projekt-main" orient="horizontal">
<tab id="tab-projekt-detail" label="Details" />
<tab id="tab-projekt-mantis" label="Mantis" />
</tabs>
<tabpanels id="projekt-tabpanels-main" flex="1">
<vbox id="projekt-detail" />
<vbox id="projekt-mantis" />
<tabpanels id="tabpanels-projekt-main" flex="1">
<vbox id="box-projekt-detail" />
<vbox id="box-projekt-mantis" />
</tabpanels>
</tabbox>
</vbox>
+41 -15
View File
@@ -21,7 +21,7 @@
*/
require_once('../../config/vilesci.config.inc.php');
//require_once('../include/functions.inc.php');
require_once('../../include/functions.inc.php');
$user = get_uid();
loadVariables($user);
@@ -30,11 +30,11 @@ loadVariables($user);
// ****
// * Laedt die zu bearbeitenden Daten
// ****
function ProjektInit(projekt_kurzbz)
function initProjekt(projekt_kurzbz)
{
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
if(bankverbindung_id!='')
/*if(projekt_kurzbz!='')
{
//Daten holen
var url = '<?php echo APP_ROOT ?>rdf/bankverbindung.rdf.php?bankverbindung_id='+bankverbindung_id+'&'+gettimestamp();
@@ -88,25 +88,51 @@ function ProjektInit(projekt_kurzbz)
if(verrechnung=='Ja')
document.getElementById('bankverbindung-checkbox-verrechnung').checked=true;
else
document.getElementById('bankverbindung-checkbox-verrechnung').checked=false;
document.getElementById('bankverbindung-checkbox-verrechnung').checked=false; */
}
// ****
// * Speichern der Daten
// ****
function ProjektSpeichern()
function saveProjekt()
{
var oe=document.getElementById('textbox-projekt-oe').value;
var oe=document.getElementById('textbox-projekt-projekt_kurzbz').value;
var oe=document.getElementById('textbox-projekt-titel').value;
var oe=document.getElementById('textbox-projekt-nummer').value;
var oe=document.getElementById('textbox-projekt-beschreibung').value;
var oe=document.getElementById('textbox-projekt-beginn').value;
var oe=document.getElementById('textbox-projekt-ende').value;
var oe_kurzbz=document.getElementById('textbox-projekt-oe').value;
var projekt_kurzbz=document.getElementById('textbox-projekt-projekt_kurzbz').value;
//alert (projekt_kurzbz);
var titel=document.getElementById('textbox-projekt-titel').value;
var nummer=document.getElementById('textbox-projekt-nummer').value;
var beschreibung=document.getElementById('textbox-projekt-beschreibung').value;
var beginn=document.getElementById('textbox-projekt-beginn').value;
var ende=document.getElementById('textbox-projekt-ende').value;
// Variablen checken
// SOAP-Action
if(window.opener.KontaktBankverbindungSpeichern(document))
window.close();
var soapBody = new SOAPObject("saveProjektDaten");
soapBody.appendChild(new SOAPObject("projekt_kurzbz")).val(projekt_kurzbz);
soapBody.appendChild(new SOAPObject("oe_kurzbz")).val(oe_kurzbz);
soapBody.appendChild(new SOAPObject("titel")).val(titel);
soapBody.appendChild(new SOAPObject("nummer")).val(nummer);
soapBody.appendChild(new SOAPObject("beschreibung")).val(beschreibung);
soapBody.appendChild(new SOAPObject("beginn")).val(beginn);
soapBody.appendChild(new SOAPObject("ende")).val(ende);
var sr = new SOAPRequest("saveProjektDaten",soapBody);
SOAPClient.Proxy="<?php echo APP_ROOT;?>soap/projekt.soap.php";
SOAPClient.SendRequest(sr, clb_saveProjekt);
// if(window.opener.KontaktBankverbindungSpeichern(document))
// window.close();
}
function clb_saveProjekt(respObj)
{
try
{
var msg = respObj.Body[0].saveProjektDatenResponse[0].message[0].Text;
alert('Antwort: '+msg);
}
catch(e)
{
var fehler = respObj.Body[0].Fault[0].faultstring[0].Text;
alert('Fehler: '+fehler);
}
}
+23 -23
View File
@@ -42,14 +42,14 @@ else
<window id="window-projekt-neu" title="Neues Projekt anlegen"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
onload="ProjektInit(<?php echo ($projekt_kurzbz!=''?$projekt_kurzbz:"''"); ?>)"
onload="initProjekt(<?php echo ($projekt_kurzbz!=''?$projekt_kurzbz:"''"); ?>)"
>
<script type="application/x-javascript" src="<?php echo APP_ROOT; ?>content/projekt.window.js.php" />
<script type="text/javascript" language="JavaScript" src="<?php echo APP_ROOT; ?>include/js/jquery.js"></script>
<script type="text/javascript" language="JavaScript" src="<?php echo APP_ROOT; ?>include/js/jqSOAPClient.js"></script>
<script type="text/javascript" language="JavaScript" src="<?php echo APP_ROOT; ?>include/js/jqXMLUtils.js"></script>
<script type="text/javascript" language="JavaScript" src="<?php echo APP_ROOT; ?>content/projekt/projekt.window.js.php" />
<vbox>
<textbox id="textbox-projekt-projekt_kurzbz" hidden="true"/>
<checkbox id="checkbox-projekt-neu" hidden="true"/>
<groupbox id="groupbox-projekt" flex="1">
@@ -65,28 +65,28 @@ else
<textbox id="textbox-projekt-oe" value="<?php echo $oe; ?>" maxlength="64"/>
</row>
<row>
<label value="Kurzbezeichnung" control="textbox-projekt-"/>
<textbox id="textbox-projekt-" maxlength="128"/>
</row>
<label value="Kurzbezeichnung" control="textbox-projekt-projekt_kurzbz"/>
<textbox id="textbox-projekt-projekt_kurzbz" maxlength="128"/>
</row>
<row>
<label value="Titel" control="textbox-projekt-"/>
<textbox id="textbox-projekt-" maxlength="64"/>
<label value="Titel" control="textbox-projekt-titel"/>
<textbox id="textbox-projekt-titel" maxlength="64"/>
</row>
<row>
<label value="Nummer" control="textbox-projekt-"/>
<textbox id="textbox-projekt-" checked="true"/>
</row>
<row>
<label value="Beschreibung" control="textbox-projekt-"/>
<textbox id="textbox-projekt-" checked="true"/>
</row>
<label value="Nummer" control="textbox-projekt-nummer"/>
<textbox id="textbox-projekt-nummer" checked="true"/>
</row>
<row>
<label value="Beginn" control="textbox-projekt-"/>
<textbox id="textbox-projekt-" checked="true"/>
</row>
<label value="Beschreibung" control="textbox-projekt-beschreibung"/>
<textbox id="textbox-projekt-beschreibung" checked="true"/>
</row>
<row>
<label value="Beginn" control="textbox-projekt-beginn"/>
<textbox id="textbox-projekt-beginn" checked="true"/>
</row>
<row>
<label value="Ende" control="textbox-projekt-"/>
<textbox id="textbox-projekt-" checked="true"/>
<label value="Ende" control="textbox-projekt-ende"/>
<textbox id="textbox-projekt-ende" checked="true"/>
</row><row>
<label value="Test" control="textbox-projekt-test"/>
<menulist id="menulist-projekt-test" flex="1">
@@ -104,7 +104,7 @@ else
</grid>
<hbox>
<spacer flex="1" />
<button id="button-projekt-speichern" oncommand="ProjektSpeichern()" label="Speichern" />
<button id="button-projekt-speichern" oncommand="saveProjekt()" label="Speichern" />
</hbox>
</groupbox>
</vbox>
+17 -407
View File
@@ -23,8 +23,8 @@ require_once('../../config/vilesci.config.inc.php');
?>
// *********** Globale Variablen *****************//
var TaskTreeDatasource; //Datasource des Task Tree
var TaskSelectID=null; //ID des Task Eintrages der nach dem Refresh markiert werden soll
var datasourceTreeProjektphase; //Datasource des Tree Projektphase
var selectIDProjektphase=null; //ID des Task Eintrages der nach dem Refresh markiert werden soll
// ********** Observer und Listener ************* //
// ****
@@ -32,7 +32,7 @@ var TaskSelectID=null; //ID des Task Eintrages der nach dem Refresh markiert wer
// * startet Rebuild nachdem das Refresh
// * der datasource fertig ist
// ****
var TaskTreeSinkObserver =
var observerTreeProjektphase =
{
onBeginLoad : function(pSink) {},
onInterrupt : function(pSink) {},
@@ -80,13 +80,13 @@ function TaskTreeRefresh()
try
{
TaskSelectID = getTreeCellText(tree, "projekttask-treecol-projekttask_id", tree.currentIndex);
selectIDProjektphase = getTreeCellText(tree, "projekttask-treecol-projekttask_id", tree.currentIndex);
}
catch(e)
{
TaskSelectID=null;
selectIDProjektphase=null;
}
TaskTreeDatasource.Refresh(false); //non blocking
datasourceTreeProjektphase.Refresh(false); //non blocking
}
// ****
@@ -175,7 +175,7 @@ function TaskTreeSelectTask()
var items = tree.view.rowCount; //Anzahl der Zeilen ermitteln
//In der globalen Variable ist die zu selektierende ID gespeichert
if(TaskSelectID!=null)
if(selectIDProjektphase!=null)
{
for(var i=0;i<items;i++)
{
@@ -183,7 +183,7 @@ function TaskTreeSelectTask()
id = getTreeCellText(tree, "projekttask-treecol-projekttask_id", i);
//wenn dies die zu selektierende Zeile
if(TaskSelectID==id)
if(selectIDProjektphase==id)
{
//Zeile markieren
tree.view.selection.select(i);
@@ -195,405 +195,15 @@ function TaskTreeSelectTask()
}
}
// ****
// * Task loeschen
// ****
function TaskDelete()
// Dialog fuer neues Projekt starten
function ProjektphaseNeu()
{
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
var tree = document.getElementById('projekttask-tree');
// Trick 17 (sonst gibt's ein Permission denied)
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
if (tree.currentIndex==-1)
return;
try
{
//Ausgewaehlten Task holen
id = getTreeCellText(tree, "projekttask-treecol-projekttask_id", tree.currentIndex);
}
catch(e)
{
alert(e);
return false;
}
//Abfrage ob wirklich geloescht werden soll
if (confirm('Wollen Sie den Task mit der ID '+id+' wirklich loeschen?'))
{
//Script zum loeschen der Lehreinheit aufrufen
alert('Ist noch nicht implementiert!');
/*
var req = new phpRequest('lvplanung/lehrveranstaltungDBDML.php','','');
req.add('type','lehreinheit');
req.add('do','delete');
req.add('lehreinheit_id',lehreinheit_id);
var response = req.executePOST();
var val = new ParseReturnValue(response)
if(!val.dbdml_return)
alert(val.dbdml_errormsg)
LvTreeRefresh();
LeDetailReset();
LeDetailDisableFields(true);
*/
}
var tree=document.getElementById('tree-projektmenue');
alert(tree);
var projekt_kurzbz=getTreeCellText(tree, "treecol-projektmenue-projekt_kurzbz", tree.currentIndex);
window.open('<?php echo APP_ROOT; ?>content/projekt/projektphase.window.xul.php?projekt_kurzbz='+projekt_kurzbz,'Projektphase anlegen', 'height=384,width=512,resizable=yes,status=no,scrollbars=yes,toolbar=no,location=no,menubar=no');
//alert (oe);
}
// ****
// * Leert alle Eingabe- und Auswahlfelder
// ****
function TaskDetailReset()
{
/*
document.getElementById('lehrveranstaltung-detail-textbox-lvnr').value='';
document.getElementById('lehrveranstaltung-detail-textbox-unr').value='';
document.getElementById('lehrveranstaltung-detail-textbox-lehrveranstaltung').value='';
document.getElementById('lehrveranstaltung-detail-checkbox-lehre').checked=true;
document.getElementById('lehrveranstaltung-detail-textbox-stundenblockung').value='';
document.getElementById('lehrveranstaltung-detail-textbox-wochenrythmus').value='';
document.getElementById('lehrveranstaltung-detail-textbox-startkw').value='';
document.getElementById('lehrveranstaltung-detail-textbox-anmerkung').value='';
document.getElementById('lehrveranstaltung-detail-menulist-sprache').value='German';
document.getElementById('lehrveranstaltung-detail-menulist-raumtyp').value='Dummy';
document.getElementById('lehrveranstaltung-detail-menulist-raumtypalternativ').value='Dummy';
document.getElementById('lehrveranstaltung-detail-menulist-studiensemester').value=getStudiensemester();
document.getElementById('lehrveranstaltung-detail-menulist-lehrform').value='UE';
document.getElementById('lehrveranstaltung-detail-textbox-lehreinheit_id').value='';
//mitarbeiterlehreinheit tree leeren
lektortree = document.getElementById('lehrveranstaltung-detail-tree-lehreinheitmitarbeiter');
//Alte DS entfernen
var oldDatasources = lektortree.database.GetDataSources();
while(oldDatasources.hasMoreElements())
{
lektortree.database.RemoveDataSource(oldDatasources.getNext());
}
//Refresh damit die entfernten DS auch wirklich entfernt werden
lektortree.builder.rebuild();
//Gruppentree leeren
gruppentree = document.getElementById('lehrveranstaltung-detail-tree-lehreinheitgruppe');
//Alte DS entfernen
var oldDatasources = gruppentree.database.GetDataSources();
while(oldDatasources.hasMoreElements())
{
gruppentree.database.RemoveDataSource(oldDatasources.getNext());
}
//Refresh damit die entfernten DS auch wirklich entfernt werden
gruppentree.builder.rebuild();
*/
}
// ****
// * Deaktiviert alle Eingabe- und Auswahlfelder
// ****
function TaskDisableFields(val)
{
/*
//document.getElementById('lehrveranstaltung-detail-textbox-lvnr').disabled=val;
//document.getElementById('lehrveranstaltung-detail-textbox-unr').disabled=val;
//document.getElementById('lehrveranstaltung-detail-textbox-lehrveranstaltung').disabled=val;
document.getElementById('lehrveranstaltung-detail-checkbox-lehre').disabled=val;
document.getElementById('lehrveranstaltung-detail-textbox-stundenblockung').disabled=val;
document.getElementById('lehrveranstaltung-detail-textbox-wochenrythmus').disabled=val;
document.getElementById('lehrveranstaltung-detail-textbox-startkw').disabled=val;
document.getElementById('lehrveranstaltung-detail-textbox-anmerkung').disabled=val;
document.getElementById('lehrveranstaltung-detail-menulist-sprache').disabled=val;
document.getElementById('lehrveranstaltung-detail-menulist-lehrfach').disabled=val;
document.getElementById('lehrveranstaltung-detail-menulist-raumtyp').disabled=val;
document.getElementById('lehrveranstaltung-detail-menulist-raumtypalternativ').disabled=val;
document.getElementById('lehrveranstaltung-detail-menulist-studiensemester').disabled=val;
document.getElementById('lehrveranstaltung-detail-menulist-lehrform').disabled=val;
document.getElementById('lehrveranstaltung-detail-tree-lehreinheitgruppe').disabled=val;
document.getElementById('lehrveranstaltung-detail-button-save').disabled=val;
document.getElementById('lehrveranstaltung-detail-textbox-unr').disabled=val;
*/
}
// ****
// * Speichert die Details
// ****
function TaskDetailSave()
{
/*
//Werte holen
lvnr = document.getElementById('lehrveranstaltung-detail-textbox-lvnr').value;
unr = document.getElementById('lehrveranstaltung-detail-textbox-unr').value;
lehrveranstaltung = document.getElementById('lehrveranstaltung-detail-textbox-lehrveranstaltung').value;
lehre = document.getElementById('lehrveranstaltung-detail-checkbox-lehre').checked;
stundenblockung = document.getElementById('lehrveranstaltung-detail-textbox-stundenblockung').value;
wochenrythmus = document.getElementById('lehrveranstaltung-detail-textbox-wochenrythmus').value;
start_kw = document.getElementById('lehrveranstaltung-detail-textbox-startkw').value;
anmerkung = document.getElementById('lehrveranstaltung-detail-textbox-anmerkung').value;
sprache = document.getElementById('lehrveranstaltung-detail-menulist-sprache').value;
lehrfach = document.getElementById('lehrveranstaltung-detail-menulist-lehrfach').value;
raumtyp = document.getElementById('lehrveranstaltung-detail-menulist-raumtyp').value;
raumtypalternativ = document.getElementById('lehrveranstaltung-detail-menulist-raumtypalternativ').value;
studiensemester = document.getElementById('lehrveranstaltung-detail-menulist-studiensemester').value;
lehrform = document.getElementById('lehrveranstaltung-detail-menulist-lehrform').value;
if(lehrveranstaltung=='')
return false;
if(raumtyp=='')
{
alert('Raumtyp muss ausgewaehlt werden');
return false;
}
if(raumtypalternativ=='')
{
alert('RaumtypAlternativ muss ausgewaehlt werden');
return false;
}
if(sprache=='')
{
alert('Sprache muss ausgewaehlt werden');
return false;
}
var req = new phpRequest('lvplanung/lehrveranstaltungDBDML.php','','');
neu = document.getElementById('lehrveranstaltung-detail-checkbox-new').checked;
if (neu)
{
req.add('do','create');
}
else
{
req.add('do','update');
lehreinheit_id = document.getElementById('lehrveranstaltung-detail-textbox-lehreinheit_id').value;
req.add('lehreinheit_id',lehreinheit_id);
}
//alert(lehreinheit_id);
req.add('type', 'lehreinheit');
req.add('unr', unr);
req.add('lvnr', lvnr);
req.add('sprache', sprache);
req.add('lehrveranstaltung', lehrveranstaltung);
req.add('lehrfach_id', lehrfach);
req.add('raumtyp', raumtyp);
req.add('raumtypalternativ', raumtypalternativ);
req.add('lehre', lehre);
req.add('stundenblockung', stundenblockung);
req.add('wochenrythmus', wochenrythmus);
req.add('start_kw', start_kw);
req.add('studiensemester_kurzbz', studiensemester);
req.add('lehrform', lehrform);
req.add('anmerkung', anmerkung);
var response = req.executePOST();
var val = new ParseReturnValue(response)
if (!val.dbdml_return)
{
alert(val.dbdml_errormsg)
}
else
{
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
document.getElementById('lehrveranstaltung-detail-checkbox-new').checked=false;
//LvTreeRefresh();
LvSelectLehreinheit_id=val.dbdml_data;
LvOpenLehrveranstaltung_id=lehrveranstaltung;
LvTreeDatasource.Refresh(false); //non blocking
SetStatusBarText('Daten wurden gespeichert');
}
*/
}
// ****
// * Auswahl eines Tasks
// * bei Auswahl eines Tasks wird diese geladen
// * und die Daten unten angezeigt
// ****
function TaskAuswahl()
{
// Trick 17 (sonst gibt's ein Permission denied)
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
var tree = document.getElementById('projekttask-tree');
if (tree.currentIndex==-1) return;
try
{
//Ausgewaehlte Lehreinheit holen
id = getTreeCellText(tree, "projekttask-treecol-projekttask_id", tree.currentIndex);
if(id!='')
{
//Task wurde markiert
//Loeschen Button aktivieren
document.getElementById('projekttask-toolbar-del').disabled=false;
}
else
{
return false;
}
}
catch(e)
{
alert(e);
return false;
}
alert("Details Laden von Task "+id);
/*
var req = new phpRequest('../rdf/lehreinheit.rdf.php','','');
req.add('lehreinheit_id',lehreinheit_id);
var response = req.execute();
// Datasource holen
var dsource=parseRDFString(response, 'http://www.technikum-wien.at/lehreinheit/liste');
dsource=dsource.QueryInterface(Components.interfaces.nsIRDFDataSource);
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].
getService(Components.interfaces.nsIRDFService);
var subject = rdfService.GetResource("http://www.technikum-wien.at/lehreinheit/" + lehreinheit_id);
var predicateNS = "http://www.technikum-wien.at/lehreinheit/rdf";
//Daten holen
unr = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#unr" ));
lvnr=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#lvnr" ));
sprache=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#sprache" ));
lehrveranstaltung=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#lehrveranstaltung_id" ));
lehrfach=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#lehrfach_id" ));
raumtyp=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#raumtyp" ));
raumtyp_alt=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#raumtypalternativ" ));
lehre=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#lehre" ));
stundenblockung=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#stundenblockung" ));
wochenrythmus=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#wochenrythmus" ));
start_kw=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#start_kw" ));
anmerkung=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#anmerkung" ));
studiensemester=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#studiensemester_kurzbz" ));
lehrform=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#lehrform_kurzbz" ));
anzahl_studenten=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#anzahl_studenten" ));
//Lehrfach drop down setzen
//ID in globale Variable speichern
LeDetailLehrfach_id=lehrfach;
lehrfachmenulist = document.getElementById('lehrveranstaltung-detail-menulist-lehrfach');
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService);
//Entfernen der alten Datasources
var oldDatasources = lehrfachmenulist.database.GetDataSources();
while(oldDatasources.hasMoreElements())
{
lehrfachmenulist.database.RemoveDataSource(oldDatasources.getNext());
}
//Refresh damit die entfernten DS auch wirklich entfernt werden
lehrfachmenulist.builder.rebuild();
//Url zusammenbauen
var url = '<?php echo APP_ROOT;?>rdf/lehrfach.rdf.php?lehrveranstaltung_id='+lehrveranstaltung+'&lehrfach_id='+lehrfach+'&'+gettimestamp();
//RDF holen
var newDs = rdfService.GetDataSourceBlocking(url);
newDs.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource);
newDs.QueryInterface(Components.interfaces.nsIRDFXMLSink);
lehrfachmenulist.database.AddDataSource(newDs);
lehrfachmenulist.builder.rebuild();
//SinkObserver hinzufuegen
//var sink = newDs.QueryInterface(Components.interfaces.nsIRDFXMLSink);
//sink.addXMLSinkObserver(LeDetailLehrfachSinkObserver);
//Daten den Feldern zuweisen
document.getElementById('lehrveranstaltung-detail-textbox-unr').value=unr;
document.getElementById('lehrveranstaltung-detail-textbox-lvnr').value=lvnr;
document.getElementById('lehrveranstaltung-detail-textbox-lehrveranstaltung').value=lehrveranstaltung;
if(lehre=='Ja')
document.getElementById('lehrveranstaltung-detail-checkbox-lehre').checked=true;
else
document.getElementById('lehrveranstaltung-detail-checkbox-lehre').checked=false;
document.getElementById('lehrveranstaltung-detail-textbox-stundenblockung').value=stundenblockung;
document.getElementById('lehrveranstaltung-detail-textbox-wochenrythmus').value=wochenrythmus;
document.getElementById('lehrveranstaltung-detail-textbox-startkw').value=start_kw;
document.getElementById('lehrveranstaltung-detail-textbox-anmerkung').value=anmerkung;
document.getElementById('lehrveranstaltung-detail-menulist-sprache').value=sprache;
document.getElementById('lehrveranstaltung-detail-menulist-lehrfach').value=lehrfach;
document.getElementById('lehrveranstaltung-detail-menulist-raumtyp').value=raumtyp;
document.getElementById('lehrveranstaltung-detail-menulist-raumtypalternativ').value=raumtyp_alt;
document.getElementById('lehrveranstaltung-detail-menulist-studiensemester').value=studiensemester;
document.getElementById('lehrveranstaltung-detail-menulist-lehrform').value=lehrform;
document.getElementById('lehrveranstaltung-detail-checkbox-new').checked=false;
document.getElementById('lehrveranstaltung-detail-textbox-lehreinheit_id').value=lehreinheit_id;
document.getElementById('lehrveranstaltung-detail-groupbox-caption').label='Details - Anzahl TeilnehmerInnen: '+anzahl_studenten;
//Lehreinheitmitarbeiter tree setzen
url='<?php echo APP_ROOT;?>rdf/lehreinheitmitarbeiter.rdf.php?lehreinheit_id='+lehreinheit_id+"&"+gettimestamp();
try
{
lektortree = document.getElementById('lehrveranstaltung-detail-tree-lehreinheitmitarbeiter');
try
{
lektortree.builder.removeListener(LvLektorTreeListener);
}
catch(e)
{}
//Alte DS entfernen
var oldDatasources = lektortree.database.GetDataSources();
while(oldDatasources.hasMoreElements())
{
lektortree.database.RemoveDataSource(oldDatasources.getNext());
}
//Refresh damit die entfernten DS auch wirklich entfernt werden
lektortree.builder.rebuild();
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService);
LeDetailLektorDatasource = rdfService.GetDataSource(url);
LeDetailLektorDatasource.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource);
LeDetailLektorDatasource.QueryInterface(Components.interfaces.nsIRDFXMLSink);
lektortree.database.AddDataSource(LeDetailLektorDatasource);
lektortree.builder.addListener(LvLektorTreeListener);
}
catch(e)
{
debug(e);
}
//Lehreinheitgruppe tree setzen
url='<?php echo APP_ROOT; ?>rdf/lehreinheitgruppe.rdf.php?lehreinheit_id='+lehreinheit_id+"&"+gettimestamp();
try
{
gruppentree = document.getElementById('lehrveranstaltung-detail-tree-lehreinheitgruppe');
//Alte DS entfernen
var oldDatasources = gruppentree.database.GetDataSources();
while(oldDatasources.hasMoreElements())
{
gruppentree.database.RemoveDataSource(oldDatasources.getNext());
}
//Refresh damit die entfernten DS auch wirklich entfernt werden
gruppentree.builder.rebuild();
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService);
LeDetailGruppeDatasource = rdfService.GetDataSource(url);
LeDetailGruppeDatasource.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource);
LeDetailGruppeDatasource.QueryInterface(Components.interfaces.nsIRDFXMLSink);
gruppentree.database.AddDataSource(LeDetailGruppeDatasource);
}
catch(e)
{
debug(e);
}
*/
}
+4 -4
View File
@@ -50,9 +50,9 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
</popupset>
<toolbox>
<toolbar id="projektphase-nav-toolbar">
<toolbarbutton id="projektphase-toolbar-neu" label="Neue Phase" oncommand="PhaseNeu();" disabled="true" image="../skin/images/NeuDokument.png" tooltiptext="Neuen Task anlegen" />
<toolbarbutton id="projektphase-toolbar-del" label="Loeschen" oncommand="PhaseDelete();" disabled="true" image="../skin/images/DeleteIcon.png" tooltiptext="Task löschen"/>
<toolbarbutton id="projektphase-toolbar-refresh" label="Aktualisieren" oncommand="PhaseTreeRefresh()" disabled="false" image="../skin/images/refresh.png" tooltiptext="Liste neu laden"/>
<toolbarbutton id="toolbarbutton-projektphase-neu" label="Neue Phase" oncommand="ProjektphaseNeu();" disabled="true" image="../skin/images/NeuDokument.png" tooltiptext="Neuen Task anlegen" />
<toolbarbutton id="toolbarbutton-projektphase-del" label="Loeschen" oncommand="ProjektphaseDelete();" disabled="true" image="../skin/images/DeleteIcon.png" tooltiptext="Task löschen"/>
<toolbarbutton id="toolbarbutton-projektphase-refresh" label="Aktualisieren" oncommand="ProjektphaseTreeRefresh()" disabled="false" image="../skin/images/refresh.png" tooltiptext="Liste neu laden"/>
</toolbar>
</toolbox>
@@ -63,7 +63,7 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
<tree id="tree-projektphase" seltype="single" hidecolumnpicker="false" flex="1"
datasources="../../rdf/projektphase.rdf.php?foo=<?php echo time(); ?>" ref="http://www.technikum-wien.at/projektphase/Systementwicklung/Lernquadrat"
style="margin:0px;" enableColumnDrag="true"
onselect="TaskAuswahl(this);"
onselect="onselectTreeProjektphase(this);"
persist="height"
flags="dont-build-content"
context="projektphase-tree-popup"
+140
View File
@@ -0,0 +1,140 @@
<?php
/* Copyright (C) 2006 Technikum-Wien
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
*
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
require_once('../../config/vilesci.config.inc.php');
require_once('../../include/functions.inc.php');
$user = get_uid();
loadVariables($user);
?>
// ****
// * Laedt die zu bearbeitenden Daten
// ****
function initProjektphase(projektphase_id)
{
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
/*if(projekt_kurzbz!='')
{
//Daten holen
var url = '<?php echo APP_ROOT ?>rdf/bankverbindung.rdf.php?bankverbindung_id='+bankverbindung_id+'&'+gettimestamp();
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].
getService(Components.interfaces.nsIRDFService);
var dsource = rdfService.GetDataSourceBlocking(url);
var subject = rdfService.GetResource("http://www.technikum-wien.at/bankverbindung/" + bankverbindung_id);
var predicateNS = "http://www.technikum-wien.at/bankverbindung/rdf";
//RDF parsen
person_id = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#person_id" ));
name = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#name" ));
anschrift = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#anschrift" ));
bic = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#bic" ));
blz = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#blz" ));
iban = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#iban" ));
kontonr = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#kontonr" ));
typ = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#typ" ));
verrechnung = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#verrechnung" ));
neu = false;
}
else
{
//Defaultwerte bei Neuem Datensatz
neu = true;
name='';
anschrift='';
bic='';
blz='';
iban='';
kontonr='';
typ='p';
verrechnung='Ja';
}
document.getElementById('bankverbindung-checkbox-neu').checked=neu;
document.getElementById('bankverbindung-textbox-person_id').value=person_id;
document.getElementById('bankverbindung-textbox-bankverbindung_id').value=bankverbindung_id;
document.getElementById('bankverbindung-textbox-name').value=name;
document.getElementById('bankverbindung-textbox-anschrift').value=anschrift;
document.getElementById('bankverbindung-textbox-bic').value=bic;
document.getElementById('bankverbindung-textbox-blz').value=blz;
document.getElementById('bankverbindung-textbox-iban').value=iban;
document.getElementById('bankverbindung-textbox-kontonr').value=kontonr;
document.getElementById('bankverbindung-menulist-typ').value=typ;
if(verrechnung=='Ja')
document.getElementById('bankverbindung-checkbox-verrechnung').checked=true;
else
document.getElementById('bankverbindung-checkbox-verrechnung').checked=false; */
}
// ****
// * Speichern der Daten
// ****
function saveProjektphase()
{
var projektphase_id=document.getElementById('textbox-projektphase-projektphase_id').value;
var projekt_kurzbz=document.getElementById('textbox-projektphase-projekt_kurzbz').value;
var projektphase_fk=document.getElementById('textbox-projektphase-projektphase_fk').value;
var bezeichnung=document.getElementById('textbox-projektphase-bezeichnung').value;
var beschreibung=document.getElementById('textbox-projektphase-beschreibung').value;
var start=document.getElementById('textbox-projektphase-start').value;
var ende=document.getElementById('textbox-projektphase-ende').value;
var budget=document.getElementById('textbox-projektphase-budget').value;
alert (projekt_kurzbz);
// Variablen checken
// SOAP-Action
var soapBody = new SOAPObject("saveProjektphase");
soapBody.appendChild(new SOAPObject("projektphase_id")).val(projektphase_id);
soapBody.appendChild(new SOAPObject("projekt_kurzbz")).val(projekt_kurzbz);
soapBody.appendChild(new SOAPObject("projektphase_fk")).val(projektphase_fk);
soapBody.appendChild(new SOAPObject("bezeichnung")).val(bezeichnung);
soapBody.appendChild(new SOAPObject("beschreibung")).val(beschreibung);
soapBody.appendChild(new SOAPObject("start")).val(start);
soapBody.appendChild(new SOAPObject("ende")).val(ende);
soapBody.appendChild(new SOAPObject("budget")).val(budget);
var sr = new SOAPRequest("saveProjektDaten",soapBody);
SOAPClient.Proxy="<?php echo APP_ROOT;?>soap/projektphase.soap.php";
SOAPClient.SendRequest(sr, clb_saveProjekt);
// if(window.opener.KontaktBankverbindungSpeichern(document))
// window.close();
}
function clb_saveProjekt(respObj)
{
try
{
var msg = respObj.Body[0].saveProjektDatenResponse[0].message[0].Text;
alert('Antwort: '+msg);
}
catch(e)
{
var fehler = respObj.Body[0].Fault[0].faultstring[0].Text;
alert('Fehler: '+fehler);
}
}
+123
View File
@@ -0,0 +1,123 @@
<?php
/* Copyright (C) 2006 Technikum-Wien
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
*
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
header("Cache-Control: no-cache");
header("Cache-Control: post-check=0, pre-check=0",false);
header("Expires Mon, 26 Jul 1997 05:00:00 GMT");
header("Pragma: no-cache");
header("Content-type: application/vnd.mozilla.xul+xml");
require_once('../../config/vilesci.config.inc.php');
echo '<?xml version="1.0" encoding="UTF-8"?>'."\n";
// projektphase_id wenn das Formular zum bearbeiten verwendet wird
if(isset($_GET['projektphase_id']))
$projektphase_id=$_GET['projektphase_id'];
else
$projektphase_id='';
//echo $oe;
// projekt_kurzbz muss immer gesetzt sein
if(isset($_GET['projekt_kurzbz']))
$projekt_kurzbz=$_GET['projekt_kurzbz'];
else
$errormsg='projekt_kurzbz ist nicht gesetzt';
// projektphase_fk wenn eine neue Phase unter einer bestehenden angelegt wird
if(isset($_GET['projektphase_fk']))
$projektphase_fk=$_GET['projektphase_fk'];
else
$projektphase_fk='';
?>
<window id="window-projektphase-neu" title="Neue Projektphase anlegen"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
onload="initProjektphase(<?php echo ($projekt_kurzbz!=''?$projekt_kurzbz:"''"); ?>)"
>
<script type="text/javascript" language="JavaScript" src="<?php echo APP_ROOT; ?>include/js/jquery.js"></script>
<script type="text/javascript" language="JavaScript" src="<?php echo APP_ROOT; ?>include/js/jqSOAPClient.js"></script>
<script type="text/javascript" language="JavaScript" src="<?php echo APP_ROOT; ?>include/js/jqXMLUtils.js"></script>
<script type="text/javascript" language="JavaScript" src="<?php echo APP_ROOT; ?>content/projekt/projektphase.window.js.php" />
<vbox>
<checkbox id="checkbox-projektphase-neu" hidden="true"/>
<groupbox id="groupbox-projektphase" flex="1">
<caption label="Details"/>
<grid id="grid-projektphase-detail" style="overflow:auto;margin:4px;" flex="1">
<columns >
<column flex="1"/>
<column flex="5"/>
</columns>
<rows>
<row>
<label value="ID" control="textbox-projektphase-projektphase_id "/>
<textbox id="textbox-projektphase-projektphase_id" value="<?php echo $projektphase_id; ?>" maxlength="64"/>
</row>
<row>
<label value="Projekt (Kurzbz)" control="textbox-projektphase-projekt_kurzbz"/>
<textbox id="textbox-projektphase-projekt_kurzbz" value="<?php echo $projekt_kurzbz; ?>" maxlength="128"/>
</row>
<row>
<label value="Projektphase (FK)" control="textbox-projektphase-projektphase_fk"/>
<textbox id="textbox-projektphase-projektphase_fk" value="<?php echo $projektphase_fk; ?>" maxlength="64"/>
</row>
<row>
<label value="Bezeichnung" control="textbox-projektphase-bezeichnung"/>
<textbox id="textbox-projektphase-bezeichnung" checked="true"/>
</row>
<row>
<label value="Beschreibung" control="textbox-projektphase-beschreibung"/>
<textbox id="textbox-projektphase-beschreibung" checked="true"/>
</row>
<row>
<label value="Start" control="textbox-projektphase-start"/>
<textbox id="textbox-projektphase-start" checked="true"/>
</row>
<row>
<label value="Ende" control="textbox-projektphase-ende"/>
<textbox id="textbox-projektphase-ende" checked="true"/>
</row>
<row>
<label value="Budget" control="textbox-projektphase-budget"/>
<textbox id="textbox-projektphase-budget" checked="true"/>
</row>
<row>
<label value="Test" control="textbox-projektphase-test"/>
<menulist id="menulist-projektphase-test" flex="1">
<menupopup>
<menuitem value="p" label="Privatkonto"/>
<menuitem value="f" label="Firmenkonto"/>
</menupopup>
</menulist>
</row>
<row>
<label value="Verrechnungskonto" control="bankverbindung-textbox-verrechnung"/>
<checkbox id="bankverbindung-checkbox-verrechnung" checked="true"/>
</row>
</rows>
</grid>
<hbox>
<spacer flex="1" />
<button id="button-projektphase-speichern" oncommand="saveProjektphase()" label="Speichern" />
</hbox>
</groupbox>
</vbox>
</window>
+15 -24
View File
@@ -231,8 +231,8 @@ class projektphase extends basis_db
public function save($new=null)
{
//Variablen pruefen
if(!$this->validate())
return false;
//if(!$this->validate())
// return false;
if($new==null)
$new = $this->new;
@@ -241,29 +241,20 @@ class projektphase extends basis_db
{
//Neuen Datensatz einfuegen
$qry='BEGIN; INSERT INTO lehre.tbl_projektarbeit (projekttyp_kurzbz, titel, lehreinheit_id, student_uid, firma_id, note, punkte,
beginn, ende, faktor, freigegeben, gesperrtbis, stundensatz, gesamtstunden, themenbereich, anmerkung,
ext_id, insertamum, insertvon, updateamum, updatevon, titel_english) VALUES('.
$this->addslashes($this->projekttyp_kurzbz).', '.
$this->addslashes($this->titel).', '.
$this->addslashes($this->lehreinheit_id).', '.
$this->addslashes($this->student_uid).', '.
$this->addslashes($this->firma_id).', '.
$this->addslashes($this->note).', '.
$this->addslashes($this->punkte).', '.
$this->addslashes($this->beginn).', '.
$qry='BEGIN; INSERT INTO fue.tbl_projektphase (projekt_kurzbz, projektphase_fk, bezeichnung,
beschreibung, start, ende, budget, insertvon, insertamum, updatevon, updateamum) VALUES ('.
$this->addslashes($this->projekt_kurzbz).', ';
if ($this->projektphase_fk=='')
$qry.='NULL, ';
else
$qry.=$this->projektphase_fk.', ';
$qry.=$this->addslashes($this->bezeichnung).', '.
$this->addslashes($this->beschreibung).', '.
$this->addslashes($this->start).', '.
$this->addslashes($this->ende).', '.
$this->addslashes($this->faktor).', '.
($this->freigegeben?'true':'false').', '.
$this->addslashes($this->gesperrtbis).', '.
$this->addslashes($this->stundensatz).', '.
$this->addslashes($this->gesamtstunden).', '.
$this->addslashes($this->themenbereich).', '.
$this->addslashes($this->anmerkung).', '.
$this->addslashes($this->ext_id).', now(), '.
$this->addslashes($this->budget).', '.
$this->addslashes($this->insertvon).', now(), '.
$this->addslashes($this->updatevon).','.
$this->addslashes($this->titel_english).');';
$this->addslashes($this->updatevon).', now() );';
}
else
{
@@ -304,7 +295,7 @@ class projektphase extends basis_db
if($new)
{
//Sequence auslesen
$qry = "SELECT currval('lehre.tbl_projektarbeit_projekt_kurzbz_seq') as id;";
$qry = "SELECT currval('fue.tbl_projektphase_projektphase_id_seq') as id;";
if($this->db_query($qry))
{
if($row = $this->db_fetch_object())
+71
View File
@@ -0,0 +1,71 @@
<?php
/* Copyright (C) 2010 Technikum-Wien
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
*
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Karl Burkhart <burkhart@technikum-wien.at>.
*/
header("Cache-Control: no-cache");
header("Cache-Control: post-check=0, pre-check=0",false);
header("Expires Mon, 26 Jul 1997 05:00:00 GMT");
header("Pragma: no-cache");
require_once('../config/vilesci.config.inc.php');
require_once('../include/basis_db.class.php');
require_once('../include/projektphase.class.php');
require_once('../include/datum.class.php');
$SOAPServer = new SoapServer(APP_ROOT."/soap/projektphase.wsdl.php");
$SOAPServer->addFunction("saveProjektphase");
$SOAPServer->handle();
// WSDL Chache auf aus
ini_set("soap.wsdl_cache_enabled", "0");
/**
*
* Speichert die vom Webservice übergebenen Parameter in die DB
* @param string $projektphase_id
* @param string $projekt_kurzbz
* @param string $projektphase_fk
* @param string $bezeichnung
* @param string $beschreibung
* @param date $start
* @param date $ende
* @param string $budget
*/
function saveProjektphase($projektphase_id, $projekt_kurzbz, $projektphase_fk, $bezeichnung, $beschreibung, $start, $ende, $budget)
{
$projektphase = new projektphase();
$projektphase->projektphase_id=$projektphase_id;
$projektphase->projekt_kurzbz=$projekt_kurzbz;
$projektphase->projektphase_fk=$projektphase_fk;
$projektphase->bezeichnung = $bezeichnung;
$projektphase->beschreibung = $beschreibung;
$projektphase->start = $start;
$projektphase->ende = $ende;
$projektphase->budget = $budget;
$projektphase->new = true;
if($projektphase->save($new = true))
return "OK";
else
return new SoapFault("Server", $projektphase->errormsg);
}
?>
+55
View File
@@ -0,0 +1,55 @@
<?php
require_once('../config/vilesci.config.inc.php');
header("Content-type: text/plain");
echo "<?xml version='1.0' encoding='utf-8' ?>";
?>
<wsdl:definitions name="Projektphase"
targetNamespace="http://localhost/soap/"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:tns="http://localhost/soap/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsd1="http://localhost/soap/projektphase.xsd"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/">
<wsdl:message name="SaveProjektphaseRequest">
<wsdl:part name="projektphase_id" type="xsd:string"></wsdl:part>
<wsdl:part name="oe_kurzbz" type="xsd:string"></wsdl:part>
<wsdl:part name="projektphase_fk" type="xsd:string"></wsdl:part>
<wsdl:part name="bezeichnung" type="xsd:string"></wsdl:part>
<wsdl:part name="beschreibung" type="xsd:string"></wsdl:part>
<wsdl:part name="start" type="xsd:string"></wsdl:part>
<wsdl:part name="ende" type="xsd:string"></wsdl:part>
<wsdl:part name="budget" type="xsd:string"></wsdl:part>
</wsdl:message>
<wsdl:message name="SaveProjektphaseResponse">
<wsdl:part name="message" type="xsd:string"></wsdl:part>
</wsdl:message>
<wsdl:portType name="ConfigPortType" >
<wsdl:operation name="saveProjektphase">
<wsdl:input message="tns:SaveProjektphaseRequest"></wsdl:input>
<wsdl:output message="tns:SaveProjektphaseResponse"></wsdl:output>
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="ConfigBinding" type="tns:ConfigPortType">
<soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http" />
<wsdl:operation name="saveProjektphase">
<soap:operation soapAction="<?php echo APP_ROOT."soap/saveProjektphase";?>" />
<wsdl:input>
<soap:body use="encoded" namespace="http://localhost/soap/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
</wsdl:input>
<wsdl:output>
<soap:body use="encoded" namespace="http://localhost/soap/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="Projektphase">
<wsdl:port name="ConfigWebservicePort" binding="tns:ConfigBinding">
<soap:address location="<?php echo APP_ROOT."soap/projektphase.soap.php";?>"/>
</wsdl:port>
</wsdl:service>
</wsdl:definitions>