mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-07-15 22:12:16 +00:00
Im WaWi kann nun ein Projekt zu einer Bestellung zugeordnet werden,
Im Planner gibt es eigenen Reiter Bestellung
This commit is contained in:
@@ -217,6 +217,47 @@ function treeProjektmenueSelect()
|
||||
document.getElementById('toolbarbutton-projektdokument-zuweisung').disabled=true;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
// Bestellung laden
|
||||
if(projekt_phase_id=='' && projekt_kurzbz!='')
|
||||
{
|
||||
try
|
||||
{
|
||||
url = "<?php echo APP_ROOT; ?>rdf/bestellung.rdf.php?projektKurzbz="+projekt_kurzbz+"&"+gettimestamp();
|
||||
var treeDokument=document.getElementById('tree-bestellung');
|
||||
|
||||
//Alte DS entfernen
|
||||
var oldDatasources = treeDokument.database.GetDataSources();
|
||||
while(oldDatasources.hasMoreElements())
|
||||
{
|
||||
treeDokument.database.RemoveDataSource(oldDatasources.getNext());
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
datasourceTreeDokument.removeXMLSinkObserver(DokumentTreeSinkObserver);
|
||||
treeDokument.builder.removeListener(DokumentTreeListener);
|
||||
}
|
||||
catch(e)
|
||||
{}
|
||||
|
||||
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService);
|
||||
datasourceTreeDokument = rdfService.GetDataSource(url);
|
||||
datasourceTreeDokument.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource);
|
||||
datasourceTreeDokument.QueryInterface(Components.interfaces.nsIRDFXMLSink);
|
||||
treeDokument.database.AddDataSource(datasourceTreeDokument);
|
||||
datasourceTreeDokument.addXMLSinkObserver(DokumentTreeSinkObserver);
|
||||
treeDokument.builder.addListener(DokumentTreeListener);
|
||||
}
|
||||
catch(e)
|
||||
{
|
||||
debug("whoops Documents load failed with exception: "+e);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if(projekt_kurzbz!='')
|
||||
{
|
||||
//Neu Button bei Tasks aktivieren
|
||||
|
||||
@@ -110,8 +110,8 @@ echo '<?xul-overlay href="'.APP_ROOT.'content/projekt/ressource.overlay.xul.php"
|
||||
<tab id="tab-projekttask" label="Tasks" selected="true" />
|
||||
<tab id="tab-dokumente" label="Dokumente" />
|
||||
<tab id="tab-ressource" label="Ressourcen" />
|
||||
<!--
|
||||
<tab id="tab-bestellung" label="Bestellungen" />
|
||||
<!--
|
||||
<tab id="tab-gantt" label="Gantt" />
|
||||
-->
|
||||
<tab id="tab-notiz" label="Eigene Notizen" />
|
||||
@@ -122,8 +122,8 @@ echo '<?xul-overlay href="'.APP_ROOT.'content/projekt/ressource.overlay.xul.php"
|
||||
<vbox id="box-projekttask" />
|
||||
<vbox id="box-dokumente" />
|
||||
<vbox id="box-ressource" />
|
||||
<!--
|
||||
<vbox id="box-bestellung" />
|
||||
<!--
|
||||
<vbox id="box-gantt" />
|
||||
-->
|
||||
<vbox id="box-notiz" />
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<?php
|
||||
/* Copyright (C) 2006 Technikum-Wien
|
||||
/* Copyright (C) 2011 FH 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
|
||||
@@ -15,23 +15,24 @@
|
||||
* 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>
|
||||
* Authors: Andreas Österreicher <andreas.oesterreicher@technikum-wien.at>
|
||||
* Karl Burkhart <burkhart@technikum-wien.at>
|
||||
*/
|
||||
|
||||
require_once('../../config/vilesci.config.inc.php');
|
||||
die('// fuehrt zu Konflikten');
|
||||
?>
|
||||
|
||||
?>
|
||||
// *********** Globale Variablen *****************//
|
||||
var ProjektSelectKurzbz=null; //Kurzbz des Projekt Eintrages der nach dem Refresh markiert werden soll
|
||||
|
||||
var DokumentSelectID=null; //ID des Dokuments das nach dem Refresh markiert werden soll
|
||||
// ********** Observer und Listener ************* //
|
||||
|
||||
// ****
|
||||
// * Observer fuer LV Tree
|
||||
// * Observer fuer Dokument Tree
|
||||
// * startet Rebuild nachdem das Refresh
|
||||
// * der datasource fertig ist
|
||||
// ****
|
||||
var observerTreeProjekt =
|
||||
var DokumentTreeSinkObserver =
|
||||
{
|
||||
onBeginLoad : function(pSink) {},
|
||||
onInterrupt : function(pSink) {},
|
||||
@@ -40,15 +41,15 @@ var observerTreeProjekt =
|
||||
onEndLoad : function(pSink)
|
||||
{
|
||||
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
|
||||
document.getElementById('tree-projekt').builder.rebuild();
|
||||
document.getElementById('tree-bestellung').builder.rebuild();
|
||||
}
|
||||
};
|
||||
|
||||
// ****
|
||||
// * Nach dem Rebuild wird die Lehreinheit wieder
|
||||
// * Nach dem Rebuild wird das Dokument wieder
|
||||
// * markiert
|
||||
// ****
|
||||
var listenerTreeProjekt =
|
||||
var DokumentTreeListener =
|
||||
{
|
||||
willRebuild : function(builder)
|
||||
{
|
||||
@@ -58,7 +59,7 @@ var listenerTreeProjekt =
|
||||
//timeout nur bei Mozilla notwendig da sonst die rows
|
||||
//noch keine values haben. Ab Seamonkey funktionierts auch
|
||||
//ohne dem setTimeout
|
||||
window.setTimeout(ProjektTreeSelectProjekt,10);
|
||||
window.setTimeout(DokumentTreeSelectDokument,10);
|
||||
// Progressmeter stoppen
|
||||
//document.getElementById('statusbar-progressmeter').setAttribute('mode','determined');
|
||||
}
|
||||
@@ -67,173 +68,47 @@ var listenerTreeProjekt =
|
||||
// ****************** FUNKTIONEN ************************** //
|
||||
|
||||
// ****
|
||||
// * Asynchroner (Nicht blockierender) Refresh des LV Trees
|
||||
// * Asynchroner (Nicht blockierender) Refresh des Dokument Trees
|
||||
// ****
|
||||
function ProjektTreeRefresh()
|
||||
function BestellungTreeRefresh()
|
||||
{
|
||||
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
|
||||
|
||||
//markierte Lehreinheit global speichern damit diese LE nach dem
|
||||
//markiertes Dokument global speichern damit es nach dem
|
||||
//refresh wieder markiert werden kann.
|
||||
var tree = document.getElementById('tree-projekt');
|
||||
var tree = document.getElementById('tree-bestellung');
|
||||
|
||||
try
|
||||
{
|
||||
ProjektSelectKurzbz = getTreeCellText(tree, "treecol-projekt-projekt_kurzbz", tree.currentIndex);
|
||||
DokumentSelectID = getTreeCellText(tree, "treecol-bestellung-bestell_nr", tree.currentIndex);
|
||||
}
|
||||
catch(e)
|
||||
{
|
||||
ProjektSelectKurzbz=null;
|
||||
DokumentSelectID=null;
|
||||
}
|
||||
datasourceTreeProjekt.Refresh(false); //non blocking
|
||||
|
||||
datasourceTreeDokument.Refresh(false); //non blocking
|
||||
}
|
||||
|
||||
// ****
|
||||
// * Selectiert die Lektorzuordnung nachdem der Tree
|
||||
// * Selectiert das Dokument nachdem der Tree
|
||||
// * rebuildet wurde.
|
||||
// ****
|
||||
function onselectProjekt()
|
||||
function DokumentTreeSelectDokument()
|
||||
{
|
||||
// Trick 17 (sonst gibt's ein Permission denied)
|
||||
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
|
||||
var tree = document.getElementById('tree-projekt');
|
||||
|
||||
if (tree.currentIndex==-1) return;
|
||||
try
|
||||
{
|
||||
//Ausgewaehltes Projekt holen
|
||||
var projekt_kurzbz = getTreeCellText(tree, "treecol-projekt-projekt_kurzbz", tree.currentIndex);
|
||||
|
||||
if(projekt_kurzbz!='')
|
||||
{
|
||||
//Projekt wurde markiert
|
||||
//Loeschen Button aktivieren
|
||||
document.getElementById('toolbarbutton-projekt-del').disabled=false;
|
||||
}
|
||||
else
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
catch(e)
|
||||
{
|
||||
alert(e);
|
||||
return false;
|
||||
}
|
||||
var req = new phpRequest('<?php echo APP_ROOT; ?>rdf/projekt.rdf.php','','');
|
||||
req.add('projekt_kurzbz',projekt_kurzbz);
|
||||
var response = req.execute();
|
||||
|
||||
// Datasource holen
|
||||
var dsource=parseRDFString(response, 'http://www.technikum-wien.at/projekt/alle-projekte');
|
||||
|
||||
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/projekt/" + projekt_kurzbz);
|
||||
|
||||
var predicateNS = "http://www.technikum-wien.at/projekt/rdf";
|
||||
|
||||
//Daten holen
|
||||
var projekt_kurzbz = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#projekt_kurzbz" ));
|
||||
var oe_kurzbz=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#oe_kurzbz" ));
|
||||
var titel=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#titel" ));
|
||||
var beschreibung=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#beschreibung" ));
|
||||
var nummer=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#nummer" ));
|
||||
var beginn=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#beginn" ));
|
||||
var ende=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#ende" ));
|
||||
var personentage=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#personentage" ));
|
||||
|
||||
//Daten den Feldern zuweisen
|
||||
|
||||
document.getElementById('textbox-projekt-detail-projekt_kurzbz').value=projekt_kurzbz;
|
||||
document.getElementById('textbox-projekt-detail-oe_kurzbz').value=oe_kurzbz;
|
||||
document.getElementById('textbox-projekt-detail-titel').value=titel;
|
||||
document.getElementById('textbox-projekt-detail-beschreibung').value=beschreibung;
|
||||
document.getElementById('textbox-projekt-detail-nummer').value=nummer;
|
||||
document.getElementById('textbox-projekt-detail-beginn').value=beginn;
|
||||
document.getElementById('textbox-projekt-detail-ende').value=ende;
|
||||
document.getElementById('checkbox-projekt-detail-neu').checked=false;
|
||||
|
||||
//Notizen zu einem Projekt Laden
|
||||
notiz = document.getElementById('box-projekt-notizen');
|
||||
notiz.LoadNotizTree(projekt_kurzbz,'','','','','','', '');
|
||||
}
|
||||
// ****
|
||||
// * Speichert die Details
|
||||
// ****
|
||||
function saveProjektDetail()
|
||||
{
|
||||
|
||||
//Werte holen
|
||||
projekt_kurzbz = document.getElementById('textbox-projekt-detail-projekt_kurzbz').value;
|
||||
oe_kurzbz = document.getElementById('textbox-projekt-detail-oe_kurzbz').value;
|
||||
titel = document.getElementById('textbox-projekt-detail-titel').value;
|
||||
beschreibung = document.getElementById('textbox-projekt-detail-beschreibung').value;
|
||||
nummer = document.getElementById('textbox-projekt-detail-nummer').value;
|
||||
beginn = document.getElementById('textbox-projekt-detail-beginn').value;
|
||||
ende = document.getElementById('textbox-projekt-detail-ende').value;
|
||||
neu = document.getElementById('checkbox-projekt-detail-neu').checked;
|
||||
|
||||
var soapBody = new SOAPObject("saveProjekt");
|
||||
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("beschreibung")).val(beschreibung);
|
||||
soapBody.appendChild(new SOAPObject("nummer")).val(nummer);
|
||||
soapBody.appendChild(new SOAPObject("beginn")).val(beginn);
|
||||
soapBody.appendChild(new SOAPObject("ende")).val(ende);
|
||||
|
||||
if(neu)
|
||||
soapBody.appendChild(new SOAPObject("neu")).val('true');
|
||||
else
|
||||
soapBody.appendChild(new SOAPObject("neu")).val('false');
|
||||
var sr = new SOAPRequest("saveProjekt",soapBody);
|
||||
|
||||
SOAPClient.Proxy="<?php echo APP_ROOT;?>soap/projekt.soap.php?"+gettimestamp();
|
||||
SOAPClient.SendRequest(sr, clb_saveProjekt);
|
||||
}
|
||||
// ****
|
||||
// * Callback Funktion nach Speichern eines Projekts
|
||||
// ****
|
||||
function clb_saveProjekt(respObj)
|
||||
{
|
||||
try
|
||||
{
|
||||
var projekt_kurzbz = respObj.Body[0].saveProjektResponse[0].message[0].Text;
|
||||
ProjektSelectKurzbz = projekt_kurzbz;
|
||||
}
|
||||
catch(e)
|
||||
{
|
||||
var fehler = respObj.Body[0].Fault[0].faultstring[0].Text;
|
||||
alert('Fehler: '+fehler);
|
||||
return;
|
||||
}
|
||||
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
|
||||
|
||||
datasourceTreeProjekt.Refresh(false); //non blocking
|
||||
SetStatusBarText('Daten wurden gespeichert');
|
||||
}
|
||||
// ****
|
||||
// * Selectiert ein Projekt nachdem der Tree
|
||||
// * rebuildet wurde.
|
||||
// ****
|
||||
function ProjektTreeSelectProjekt()
|
||||
{
|
||||
var tree=document.getElementById('tree-projekt');
|
||||
var tree=document.getElementById('tree-bestellung');
|
||||
var items = tree.view.rowCount; //Anzahl der Zeilen ermitteln
|
||||
|
||||
//In der globalen Variable ist die zu selektierende ID gespeichert
|
||||
if(ProjektSelectKurzbz!=null)
|
||||
if(DokumentSelectID!=null)
|
||||
{
|
||||
for(var i=0;i<items;i++)
|
||||
{
|
||||
//id der row holen
|
||||
id = getTreeCellText(tree, "treecol-projekt-projekt_kurzbz", i);
|
||||
id = getTreeCellText(tree, "treecol-bestellung-bestell_nr", i);
|
||||
|
||||
//wenn dies die zu selektierende Zeile
|
||||
if(ProjektSelectKurzbz==id)
|
||||
if(DokumentSelectID==id)
|
||||
{
|
||||
//Zeile markieren
|
||||
tree.view.selection.select(i);
|
||||
@@ -243,123 +118,4 @@ function ProjektTreeSelectProjekt()
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
// ****
|
||||
// * Projekt loeschen
|
||||
// ****
|
||||
function ProjektDelete()
|
||||
{
|
||||
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
|
||||
var tree = document.getElementById('tree-projekt');
|
||||
|
||||
if (tree.currentIndex==-1)
|
||||
return;
|
||||
|
||||
try
|
||||
{
|
||||
//Ausgewaehltes Projekt holen
|
||||
id = getTreeCellText(tree, "treecol-projekt-projekt_kurzbz", tree.currentIndex);
|
||||
}
|
||||
catch(e)
|
||||
{
|
||||
alert(e);
|
||||
return false;
|
||||
}
|
||||
|
||||
//Abfrage ob wirklich geloescht werden soll
|
||||
if (confirm('Wollen Sie das Projekt mit der Kurzbz '+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);
|
||||
*/
|
||||
}
|
||||
}
|
||||
|
||||
// ****
|
||||
// * Leert alle Eingabe- und Auswahlfelder
|
||||
// ****
|
||||
function ProjektDetailReset()
|
||||
{
|
||||
/*
|
||||
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 ProjektDisableFields(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;
|
||||
*/
|
||||
}
|
||||
@@ -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");
|
||||
@@ -50,9 +51,7 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
|
||||
</popupset>
|
||||
<toolbox>
|
||||
<toolbar id="toolbar-bestellung-main">
|
||||
<toolbarbutton id="toolbarbutton-bestellung-neu" label="Neues Projekt" oncommand="ProjektNeu();" disabled="true" image="../skin/images/NeuDokument.png" tooltiptext="Neuen Task anlegen" />
|
||||
<toolbarbutton id="toolbarbutton-bestellung-del" label="Loeschen" oncommand="ProjektDelete();" disabled="true" image="../skin/images/DeleteIcon.png" tooltiptext="Task löschen"/>
|
||||
<toolbarbutton id="toolbarbutton-bestellung-refresh" label="Aktualisieren" oncommand="ProjektTreeRefresh()" disabled="false" image="../skin/images/refresh.png" tooltiptext="Liste neu laden"/>
|
||||
<toolbarbutton id="toolbarbutton-bestellung-refresh" label="Aktualisieren" oncommand="BestellungTreeRefresh();" disabled="false" image="../skin/images/refresh.png" tooltiptext="Liste neu laden"/>
|
||||
</toolbar>
|
||||
</toolbox>
|
||||
|
||||
@@ -61,43 +60,23 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
|
||||
<!-- ************* -->
|
||||
<!-- Bem.: style="visibility:collapse" versteckt eine Spalte -->
|
||||
<tree id="tree-bestellung" seltype="single" hidecolumnpicker="false" flex="1"
|
||||
datasources="../../rdf/bestellung.rdf.php?foo=<?php echo time(); ?>" ref="http://www.technikum-wien.at/bestellung"
|
||||
datasources="rdf:null" ref="http://www.technikum-wien.at/bestellung"
|
||||
style="margin:0px;" enableColumnDrag="true"
|
||||
onselect="onselectProjekt(this);"
|
||||
onselect=""
|
||||
persist="height"
|
||||
flags="dont-build-content"
|
||||
context="bestellung-tree-popup"
|
||||
>
|
||||
<treecols>
|
||||
<treecol id="treecol-bestellung-bestell_nr" label="Bestellnummer" flex="4" hidden="false" primary="true" persist="hidden, width, ordinal"
|
||||
<treecol id="treecol-bestellung-bestell_nr" label="Bestellnummer" flex="1" hidden="false" primary="true" persist="hidden, width, ordinal"
|
||||
class="sortDirectionIndicator"
|
||||
sort="rdf:http://www.technikum-wien.at/bestellung/rdf#bestell_nr"/>
|
||||
<splitter class="tree-splitter"/>
|
||||
<treecol id="treecol-bestellung-titel" label="Titel" flex="4" hidden="false" persist="hidden, width, ordinal"
|
||||
<treecol id="treecol-bestellung-titel" label="Titel" flex="8" hidden="false" persist="hidden, width, ordinal"
|
||||
class="sortDirectionIndicator"
|
||||
sort="rdf:http://www.technikum-wien.at/bestellung/rdf#titel"/>
|
||||
<splitter class="tree-splitter"/>
|
||||
<treecol id="treecol-bestellung-titel" label="titel" flex="2" hidden="true" persist="hidden, width, ordinal"
|
||||
class="sortDirectionIndicator"
|
||||
sort="rdf:http://www.technikum-wien.at/bestellung/rdf#titel"/>
|
||||
<splitter class="tree-splitter"/>
|
||||
<treecol id="treecol-bestellung-oe_kurzbz" label="OE (Organisationseinheit)" flex="2" hidden="true" persist="hidden, width, ordinal"
|
||||
class="sortDirectionIndicator"
|
||||
sort="rdf:http://www.technikum-wien.at/bestellung/rdf#oe_kurzbz"/>
|
||||
<splitter class="tree-splitter"/>
|
||||
<treecol id="treecol-bestellung-beschreibung" label="Beschreibung" flex="5" hidden="true" persist="hidden, width, ordinal"
|
||||
class="sortDirectionIndicator"
|
||||
sort="rdf:http://www.technikum-wien.at/bestellung/rdf#beschreibung"/>
|
||||
<splitter class="tree-splitter"/>
|
||||
<treecol id="treecol-bestellung-beginn" label="Start" flex="2" hidden="true" persist="hidden, width, ordinal"
|
||||
class="sortDirectionIndicator"
|
||||
sort="rdf:http://www.technikum-wien.at/bestellung/rdf#beginn" />
|
||||
<splitter class="tree-splitter"/>
|
||||
<treecol id="treecol-bestellung-ende" label="Ende" flex="2" hidden="true" persist="hidden, width, ordinal"
|
||||
class="sortDirectionIndicator"
|
||||
sort="rdf:http://www.technikum-wien.at/bestellung/rdf#ende" />
|
||||
<splitter class="tree-splitter"/>
|
||||
<treecol id="treecol-bestellung-betrag" label="Betrag" flex="2" hidden="false" persist="hidden, width, ordinal"
|
||||
<treecol id="treecol-bestellung-betrag" label="Betrag" flex="1" hidden="false" persist="hidden, width, ordinal"
|
||||
class="sortDirectionIndicator"
|
||||
sort="rdf:http://www.technikum-wien.at/bestellung/rdf#betrag" />
|
||||
</treecols>
|
||||
@@ -106,15 +85,10 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
|
||||
<rule>
|
||||
<treechildren>
|
||||
<treeitem uri="rdf:*">
|
||||
<treerow dbID="rdf:http://www.technikum-wien.at/bestellung/rdf#bestell_nr" >
|
||||
<treerow>
|
||||
<treecell label="rdf:http://www.technikum-wien.at/bestellung/rdf#bestell_nr"/>
|
||||
<treecell label="rdf:http://www.technikum-wien.at/bestellung/rdf#titel"/>
|
||||
<treecell label="rdf:http://www.technikum-wien.at/bestellung/rdf#titel"/>
|
||||
<treecell label="rdf:http://www.technikum-wien.at/bestellung/rdf#oe_kurzbz"/>
|
||||
<treecell label="rdf:http://www.technikum-wien.at/bestellung/rdf#beschreibung"/>
|
||||
<treecell label="rdf:http://www.technikum-wien.at/bestellung/rdf#beginn"/>
|
||||
<treecell label="rdf:http://www.technikum-wien.at/bestellung/rdf#ende"/>
|
||||
<treecell label="rdf:http://www.technikum-wien.at/bestellung/rdf#budget"/>
|
||||
<treecell label="rdf:http://www.technikum-wien.at/bestellung/rdf#betrag"/>
|
||||
</treerow>
|
||||
</treeitem>
|
||||
</treechildren>
|
||||
@@ -122,26 +96,9 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
|
||||
</template>
|
||||
</tree>
|
||||
|
||||
<splitter collapse="after" persist="state">
|
||||
<grippy />
|
||||
</splitter>
|
||||
|
||||
<!-- ************ -->
|
||||
<!-- * Detail * -->
|
||||
<!-- ************ -->
|
||||
<vbox flex="1" style="overflow:auto;margin:0px;" persist="height">
|
||||
<tabbox id="tabbox-bestellung" flex="3" orient="vertical">
|
||||
<tabs id="tabs-bestellung-main" orient="horizontal">
|
||||
<tab id="tab-bestellung-detail" label="Details" />
|
||||
<tab id="tab-bestellung-ressource" label="Ressource" />
|
||||
<tab id="tab-bestellung-notizen" label="Notizen" />
|
||||
</tabs>
|
||||
<tabpanels id="tabpanels-bestellung-main" flex="1">
|
||||
<vbox id="box-bestellung-detail" />
|
||||
<vbox id="box-bestellung-ressource" />
|
||||
<box class="Notiz" id="box-bestellung-notizen"/>
|
||||
</tabpanels>
|
||||
</tabbox>
|
||||
</vbox>
|
||||
|
||||
</vbox>
|
||||
</overlay>
|
||||
|
||||
@@ -285,5 +285,39 @@ class projekt extends basis_db
|
||||
return false;
|
||||
}
|
||||
}
|
||||
public function getProjektFromBestellung($bestellungID)
|
||||
{
|
||||
$qry ="select * from fue.tbl_projekt
|
||||
join wawi.tbl_projekt_bestellung USING (projekt_kurzbz)
|
||||
where bestellung_id= '".addslashes($bestellungID)."'";
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
if($row = $this->db_fetch_object())
|
||||
{
|
||||
$this->projekt_kurzbz = $row->projekt_kurzbz;
|
||||
$this->nummer= $row->nummer;
|
||||
$this->titel= $row->titel;
|
||||
$this->beschreibung= $row->beschreibung;
|
||||
$this->beginn= $row->beginn;
|
||||
$this->ende = $row->ende;
|
||||
$this->oe_kurzbz= $row->oe_kurzbz;
|
||||
$this->budget= $row->budget;
|
||||
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Datensatz wurde nicht gefunden';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden der Daten';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
?>
|
||||
|
||||
@@ -971,6 +971,69 @@ class wawi_bestellung extends basis_db
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* speichert / loescht ein Projekt zu einer Bestellung
|
||||
* @param $bestellungID
|
||||
* @param $projektKurzbz
|
||||
*/
|
||||
public function saveProjektToBestellung($bestellungID, $projektKurzbz)
|
||||
{
|
||||
// Wenn keine ProjektKurzbz übergeben wurde Lösche die Zuteilung
|
||||
if($projektKurzbz == '')
|
||||
{
|
||||
$qry = "DELETE FROM wawi.tbl_projekt_bestellung WHERE bestellung_id = '".addslashes($bestellungID)."';";
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = "Fehler beim Löschen der Zuordnung: Projekt zu Bestellung aufgetreten.";
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$qry1 = "SELECT 1 FROM wawi.tbl_projekt_bestellung WHERE bestellung_id = '".addslashes($bestellungID)."';";
|
||||
|
||||
if($this->db_query($qry1))
|
||||
{
|
||||
if($row = $this->db_fetch_object())
|
||||
{
|
||||
// es gibt eine Zuordnung -> UPDATE
|
||||
$qry ="UPDATE wawi.tbl_projekt_bestellung SET projekt_kurzbz = '".addslashes($projektKurzbz)."'
|
||||
WHERE bestellung_id = '".addslashes($bestellungID)."';";
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = "Fehler beim Zuordnen: Bestellung zu Projekt aufgetreten.";
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
// gibt noch keine Zuordnung -> INSERT
|
||||
$qry ="INSERT INTO wawi.tbl_projekt_bestellung (projekt_kurzbz, bestellung_id, anteil) VALUES ('".addslashes($projektKurzbz)."', '".addslashes($bestellungID)."', '100');";
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = "Fehler beim Zuordnen: Bestellung zu Projekt aufgetreten.";
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
|
||||
+47
-29
@@ -21,34 +21,52 @@ require_once('../config/vilesci.config.inc.php');
|
||||
require_once('../include/rdf.class.php');
|
||||
require_once('../include/wawi_bestellung.class.php');
|
||||
|
||||
$oRdf = new rdf('BESTELLUNG','http://www.technikum-wien.at/bestellung');
|
||||
$oRdf->sendHeader();
|
||||
|
||||
$oBestellung = new wawi_bestellung();
|
||||
$oBestellung->getBestellungProjekt('lernquadrat');
|
||||
|
||||
foreach ($oBestellung->result as $bestellung)
|
||||
{
|
||||
$i=$oRdf->newObjekt($bestellung->bestellung_id);
|
||||
$oRdf->obj[$i]->setAttribut('bestellung_id',$bestellung->bestellung_id,false);
|
||||
$oRdf->obj[$i]->setAttribut('kostenstelle_id',$bestellung->kostenstelle_id,false);
|
||||
$oRdf->obj[$i]->setAttribut('konto_id',$bestellung->konto_id,false);
|
||||
$oRdf->obj[$i]->setAttribut('lieferadresse',$bestellung->lieferadresse,true);
|
||||
$oRdf->obj[$i]->setAttribut('rechnungsadresse',$bestellung->rechnungsadresse,true);
|
||||
$oRdf->obj[$i]->setAttribut('freigegeben',$bestellung->freigegeben,true);
|
||||
$oRdf->obj[$i]->setAttribut('bestell_nr',$bestellung->bestell_nr,false);
|
||||
$oRdf->obj[$i]->setAttribut('titel',$bestellung->titel,true);
|
||||
$oRdf->obj[$i]->setAttribut('bemerkung',$bestellung->bemerkung,true);
|
||||
$oRdf->obj[$i]->setAttribut('liefertermin',$bestellung->liefertermin,true);
|
||||
$oRdf->obj[$i]->setAttribut('besteller_uid',$bestellung->besteller_uid,false);
|
||||
$oRdf->obj[$i]->setAttribut('updateamum',$bestellung->updateamum,true);
|
||||
$oRdf->obj[$i]->setAttribut('updatevon',$bestellung->updatevon,true);
|
||||
$oRdf->obj[$i]->setAttribut('insertamum',$bestellung->insertamum,true);
|
||||
$oRdf->obj[$i]->setAttribut('insertvon',$bestellung->insertvon,true);
|
||||
$oRdf->obj[$i]->setAttribut('ext_id',$bestellung->ext_id,false);
|
||||
$oRdf->obj[$i]->setAttribut('zahlungstyp_kurzbz',$bestellung->zahlungstyp_kurzbz,true);
|
||||
|
||||
if(isset($_GET['projektKurzbz']))
|
||||
{
|
||||
$projektKurzbz = $_GET['projektKurzbz'];
|
||||
$oRdf = new rdf('BESTELLUNG','http://www.technikum-wien.at/bestellung');
|
||||
$oRdf->sendHeader();
|
||||
|
||||
$oBestellung = new wawi_bestellung();
|
||||
$oBestellung->getBestellungProjekt($projektKurzbz);
|
||||
|
||||
|
||||
foreach ($oBestellung->result as $bestellung)
|
||||
{
|
||||
$brutto = $bestellung->getBrutto($bestellung->bestellung_id);
|
||||
if($brutto == '')
|
||||
$brutto = '0';
|
||||
else
|
||||
$brutto = sprintf("%01.2f", $brutto);
|
||||
|
||||
|
||||
$i=$oRdf->newObjekt($bestellung->bestellung_id);
|
||||
$oRdf->obj[$i]->setAttribut('bestellung_id',$bestellung->bestellung_id,false);
|
||||
$oRdf->obj[$i]->setAttribut('kostenstelle_id',$bestellung->kostenstelle_id,false);
|
||||
$oRdf->obj[$i]->setAttribut('konto_id',$bestellung->konto_id,false);
|
||||
$oRdf->obj[$i]->setAttribut('lieferadresse',$bestellung->lieferadresse,true);
|
||||
$oRdf->obj[$i]->setAttribut('rechnungsadresse',$bestellung->rechnungsadresse,true);
|
||||
$oRdf->obj[$i]->setAttribut('freigegeben',$bestellung->freigegeben,true);
|
||||
$oRdf->obj[$i]->setAttribut('bestell_nr',$bestellung->bestell_nr,false);
|
||||
$oRdf->obj[$i]->setAttribut('titel',$bestellung->titel,true);
|
||||
$oRdf->obj[$i]->setAttribut('bemerkung',$bestellung->bemerkung,true);
|
||||
$oRdf->obj[$i]->setAttribut('liefertermin',$bestellung->liefertermin,true);
|
||||
$oRdf->obj[$i]->setAttribut('besteller_uid',$bestellung->besteller_uid,false);
|
||||
$oRdf->obj[$i]->setAttribut('updateamum',$bestellung->updateamum,true);
|
||||
$oRdf->obj[$i]->setAttribut('updatevon',$bestellung->updatevon,true);
|
||||
$oRdf->obj[$i]->setAttribut('insertamum',$bestellung->insertamum,true);
|
||||
$oRdf->obj[$i]->setAttribut('insertvon',$bestellung->insertvon,true);
|
||||
$oRdf->obj[$i]->setAttribut('ext_id',$bestellung->ext_id,false);
|
||||
$oRdf->obj[$i]->setAttribut('betrag',$brutto,false);
|
||||
$oRdf->obj[$i]->setAttribut('zahlungstyp_kurzbz',$bestellung->zahlungstyp_kurzbz,true);
|
||||
|
||||
$oRdf->addSequence($bestellung->bestellung_id);
|
||||
}
|
||||
|
||||
$oRdf->sendRdfText();
|
||||
}
|
||||
else
|
||||
{
|
||||
echo "Parameter: projektKurzbz";
|
||||
}
|
||||
|
||||
$oRdf->sendRdfText();
|
||||
?>
|
||||
|
||||
+48
-5
@@ -40,6 +40,7 @@ require_once '../include/wawi_aufteilung.class.php';
|
||||
require_once '../include/wawi_bestellstatus.class.php';
|
||||
require_once '../include/wawi_zahlungstyp.class.php';
|
||||
require_once '../include/tags.class.php';
|
||||
require_once '../include/projekt.class.php';
|
||||
|
||||
$aktion ='';
|
||||
$test = 0; // Bestelldetail Anzahl
|
||||
@@ -53,6 +54,14 @@ $rechte->getBerechtigungen($user);
|
||||
$kst=new wawi_kostenstelle();
|
||||
$kst->loadArray($rechte->getKostenstelle($berechtigung_kurzbz),'bezeichnung');
|
||||
|
||||
$projekt = new projekt();
|
||||
$projekt->getProjekteMitarbeiter($user);
|
||||
$projektZugeordnet = false;
|
||||
|
||||
// Abfrage ob dem user ein oder mehrere Projekte zugeordnet sind
|
||||
if(count($projekt->result) > 0)
|
||||
$projektZugeordnet = true;
|
||||
|
||||
if(isset($_POST['getKonto']))
|
||||
{
|
||||
$id = $_POST['id'];
|
||||
@@ -885,8 +894,8 @@ if($_GET['method']=='update')
|
||||
$bestellung_new = new wawi_bestellung();
|
||||
$bestellung_new->load($bestellung_id);
|
||||
$bestellung_new_brutto = $bestellung_new->getBrutto($bestellung_id);
|
||||
$status = new wawi_bestellstatus();
|
||||
|
||||
$status = new wawi_bestellstatus();
|
||||
|
||||
if(!$rechte->isberechtigt('wawi/bestellung',null, 'sui',$bestellung_old->kostenstelle_id)
|
||||
&& !$rechte->isberechtigt('wawi/freigabe',null, 's',$bestellung_old->kostenstelle_id)
|
||||
&& !$rechte->isberechtigt('wawi/freigabe_advanced'))
|
||||
@@ -898,6 +907,7 @@ if($_GET['method']=='update')
|
||||
// überprüfen wenn js fehlschlägt, nicht speichern
|
||||
if(isset($_POST['filter_kst']) || isset($_POST['titel']))
|
||||
{
|
||||
|
||||
$aufteilung_anzahl = $_POST['anz_aufteilung'];
|
||||
$bestellung_detail_anz = $_POST['detail_anz'];
|
||||
|
||||
@@ -917,7 +927,13 @@ if($_GET['method']=='update')
|
||||
$bestellung_new->updatevon = $user;
|
||||
$bestellung_new->zahlungstyp_kurzbz = $_POST['filter_zahlungstyp'];
|
||||
$bestellung_new->kostenstelle_id = $_POST['filter_kst'];
|
||||
|
||||
|
||||
if(isset($_POST['filter_projekt']))
|
||||
{
|
||||
// Projekt zu Bestellung speichern
|
||||
$bestellung_new->saveProjektToBestellung($bestellung_new->bestellung_id, $_REQUEST['filter_projekt']);
|
||||
}
|
||||
|
||||
// wenn sich kostenstelle geändert hat, neue bestellnummer generieren
|
||||
if($bestellung_new->kostenstelle_id != $bestellung_old->kostenstelle_id && !$status->isStatiVorhanden($bestellung_id, 'Bestellung') )
|
||||
{
|
||||
@@ -1381,9 +1397,36 @@ if($_GET['method']=='update')
|
||||
echo " <td>Firma: </td>\n";
|
||||
echo " <td><input type='text' name='firmenname' id='firmenname' size='60' maxlength='256' value ='".$firma->name."'>\n";
|
||||
echo " <input type='hidden' name='firma_id' id='firma_id' size='5' maxlength='7' value ='".$bestellung->firma_id."'></td>\n";
|
||||
echo " <td>Kontaktperson:</td><td colspan='2'> <input type='text' name='besteller' id='besteller' size='30' maxlength='256' value ='".$besteller_vorname.' '.$besteller_nachname."'>\n";
|
||||
echo " <input type='hidden' name='besteller_uid' id='besteller_uid' size='5' maxlength='7' value ='".$bestellung->besteller_uid."'></td>\n";
|
||||
echo " <td>Kontaktperson:</td><td> <input type='text' name='besteller' id='besteller' size='30' maxlength='256' value ='".$besteller_vorname.' '.$besteller_nachname."'>\n";
|
||||
echo " <td>";
|
||||
// wenn user projekt zugeordnet ist -> Projekt Drop Down anzeigen
|
||||
$ProjektUser = new projekt();
|
||||
$ProjektUser->getProjektFromBestellung($bestellung->bestellung_id);
|
||||
$Bestellung_Projekt = false; // Projekt DropDown aus allen Projekten von eingeloggten User und dem der Bestellung -> true wenn Projekt aus Bestellung in User Projekten enthalten ist
|
||||
if($projektZugeordnet == true)
|
||||
{
|
||||
echo " Projekt:";
|
||||
echo " <SELECT name='filter_projekt' id='filter_projekt' style='width: 230px;'>\n";
|
||||
echo " <option value=''>-- Kein Projekt ausgewählt --</option>";
|
||||
// Projekte vom User
|
||||
foreach ($projekt->result as $userProjekts)
|
||||
{
|
||||
$selected = "";
|
||||
if($ProjektUser->projekt_kurzbz == $userProjekts->projekt_kurzbz)
|
||||
{
|
||||
$selected = 'selected';
|
||||
$Bestellung_Projekt = true;
|
||||
}
|
||||
echo " <option value='".$userProjekts->projekt_kurzbz."' $selected>".$userProjekts->titel."</option>";
|
||||
}
|
||||
// Projekt von der Bestellung
|
||||
if($Bestellung_Projekt == false && $ProjektUser->projekt_kurzbz != '')
|
||||
echo " <option value='".$ProjektUser->projekt_kurzbz."' selected>".$ProjektUser->titel."</option>";
|
||||
echo "</select>";
|
||||
}
|
||||
|
||||
echo " <input type='hidden' name='besteller_uid' id='besteller_uid' size='5' maxlength='7' value ='".$bestellung->besteller_uid."'></td>\n";
|
||||
echo "</td>";
|
||||
echo "</tr>\n";
|
||||
echo "<tr>\n";
|
||||
$disabled = '';
|
||||
|
||||
Reference in New Issue
Block a user