Betriebsmittel Erstversion hinzugefügt

This commit is contained in:
Andreas Österreicher
2007-05-30 15:51:23 +00:00
parent 5abd7993e2
commit 9968773976
8 changed files with 916 additions and 78 deletions
+25
View File
@@ -43,6 +43,7 @@ require_once('../../include/akte.class.php');
require_once('../../include/konto.class.php');
require_once('../../include/dokument.class.php');
require_once('../../include/studiensemester.class.php');
require_once('../../include/betriebsmittelperson.class.php');
$user = get_uid();
@@ -887,6 +888,30 @@ if(!$error)
else
$return = false;
}
elseif(isset($_POST['type']) && $_POST['type']=='deletebetriebsmittel')
{
//Loescht eine Buchung
if(isset($_POST['betriebsmittel_id']) && is_numeric($_POST['betriebsmittel_id']) &&
isset($_POST['person_id']) && is_numeric($_POST['person_id']))
{
$btm = new betriebsmittelperson($conn, null,null, true);
if($btm->delete($_POST['betriebsmittel_id'], $_POST['person_id']))
{
$return = true;
}
else
{
$errormsg = $btm->errormsg;
$return = false;
}
}
else
{
$return = false;
$errormsg = 'Fehlerhafte Parameteruebergabe';
}
}
else
{
$return = false;
@@ -0,0 +1,199 @@
<?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('../../vilesci/config.inc.php');
echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
?>
<overlay id="StudentBetriebsmittel"
xmlns:html="http://www.w3.org/1999/xhtml"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
>
<!-- Zeugnis Overlay -->
<vbox id="student-betriebsmittel" style="margin:0px;" flex="1">
<popupset>
<popup id="student-betriebsmittel-tree-popup">
<menuitem label="Entfernen" oncommand="StudentBetriebsmittelDelete();" id="student-betriebsmittel-tree-popup-delete" hidden="false"/>
</popup>
</popupset>
<hbox flex="1">
<grid id="student-betriebsmittel-grid-detail" style="overflow:auto;margin:4px;" flex="1">
<columns >
<column flex="1"/>
<column flex="1"/>
</columns>
<rows>
<row>
<tree id="student-betriebsmittel-tree" seltype="single" hidecolumnpicker="false" flex="1"
datasources="rdf:null" ref="http://www.technikum-wien.at/betriebsmittel/liste"
style="margin-left:10px;margin-right:10px;margin-bottom:5px;margin-top: 10px;" height="100px" enableColumnDrag="true"
onselect="StudentBetriebsmittelAuswahl()"
context="student-betriebsmittel-tree-popup"
>
<treecols>
<treecol id="student-betriebsmittel-tree-nummer" label="Nummer" flex="2" hidden="false" primary="true"
class="sortDirectionIndicator"
sortActive="true"
sortDirection="ascending"
sort="rdf:http://www.technikum-wien.at/betriebsmittel/rdf#nummer"/>
<splitter class="tree-splitter"/>
<treecol id="student-betriebsmittel-tree-betriebsmitteltyp" label="Typ" flex="5" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/betriebsmittel/rdf#betriebsmitteltyp"/>
<splitter class="tree-splitter"/>
<treecol id="student-betriebsmittel-tree-anmerkung" label="Anmerkung" flex="2" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/betriebsmittel/rdf#anmerkung" />
<splitter class="tree-splitter"/>
<treecol id="student-betriebsmittel-tree-kaution" label="Kaution" flex="2" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/betriebsmittel/rdf#kaution" />
<splitter class="tree-splitter"/>
<treecol id="student-betriebsmittel-tree-ausgegebenam" label="Ausgabedatum" flex="2" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/konto/rdf#ausgegebenam" />
<splitter class="tree-splitter"/>
<treecol id="student-betriebsmittel-tree-retouram" label="Retourdatum" flex="2" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/betriebsmittel/rdf#retouram" />
<splitter class="tree-splitter"/>
<treecol id="student-betriebsmittel-tree-betriebsmittel_id" label="Betriebsmittel_id" flex="2" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/betriebsmittel/rdf#betriebsmittel_id" />
<splitter class="tree-splitter"/>
<treecol id="student-betriebsmittel-tree-person_id" label="Person_id" flex="2" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/betriebsmittel/rdf#person_id" />
<splitter class="tree-splitter"/>
</treecols>
<template>
<treechildren flex="1" >
<treeitem uri="rdf:*">
<treerow>
<treecell label="rdf:http://www.technikum-wien.at/betriebsmittel/rdf#nummer"/>
<treecell label="rdf:http://www.technikum-wien.at/betriebsmittel/rdf#betriebsmitteltyp"/>
<treecell label="rdf:http://www.technikum-wien.at/betriebsmittel/rdf#anmerkung"/>
<treecell label="rdf:http://www.technikum-wien.at/betriebsmittel/rdf#kaution"/>
<treecell label="rdf:http://www.technikum-wien.at/betriebsmittel/rdf#ausgegebenam"/>
<treecell label="rdf:http://www.technikum-wien.at/betriebsmittel/rdf#retouram"/>
<treecell label="rdf:http://www.technikum-wien.at/betriebsmittel/rdf#betriebsmittel_id"/>
<treecell label="rdf:http://www.technikum-wien.at/betriebsmittel/rdf#person_id"/>
</treerow>
</treeitem>
</treechildren>
</template>
</tree>
<vbox>
<hbox>
<button id="student-betriebsmittel-button-neu" label="Neu" oncommand="StudentBetriebsmittelNeu();" disabled="true"/>
<button id="student-betriebsmittel-button-loeschen" label="Loeschen" oncommand="StudentBetriebsmittelDelete();" disabled="true"/>
</hbox>
<vbox hidden="true">
<label value="betriebsmittel_id" control="student-betriebsmittel-textbox-betriebsmittel_id"/>
<textbox id="student-betriebsmittel-textbox-betriebsmittel_id" disabled="true"/>
<label value="person_id" control="student-betriebsmittel-textbox-person_id"/>
<textbox id="student-betriebsmittel-textbox-person_id" disabled="true"/>
<label value="person_id" control="student-betriebsmittel-checkbox-neu"/>
<checkbox id="student-betriebsmittel-checkbox-neu" disabled="true" checked="false"/>
</vbox>
<groupbox id="student-betriebsmittel-groupbox" flex="1">
<caption label="Details"/>
<grid id="student-betriebsmittel-grid-detail" style="overflow:auto;margin:4px;" flex="1">
<columns >
<column flex="1"/>
<column flex="5"/>
</columns>
<rows>
<row>
<label value="Typ" control="student-betriebsmittel-menulist-betriebsmitteltyp"/>
<menulist id="student-betriebsmittel-menulist-betriebsmitteltyp" disabled="true"
datasources="<?php echo APP_ROOT ?>rdf/betriebsmitteltyp.rdf.php" flex="1"
ref="http://www.technikum-wien.at/betriebsmitteltyp/liste" >
<template>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/betriebsmitteltyp/rdf#betriebsmitteltyp"
label="rdf:http://www.technikum-wien.at/betriebsmitteltyp/rdf#betriebsmitteltyp"
uri="rdf:*"/>
</menupopup>
</template>
</menulist>
</row>
<row>
<label value="Nummer" control="student-betriebsmittel-textbox-nummer"/>
<hbox>
<textbox id="student-betriebsmittel-textbox-nummer" disabled="true" maxlength="32"/>
<spacer flex="1" />
</hbox>
</row>
<row>
<label value="Beschreibung" control="student-betriebsmittel-textbox-beschreibung"/>
<textbox id="student-betriebsmittel-textbox-beschreibung" disabled="true" multiline="true"/>
</row>
<row>
<label value="Kaution" control="student-betriebsmittel-textbox-kaution"/>
<hbox>
<textbox id="student-betriebsmittel-textbox-kaution" disabled="true" maxlength="8"/>
<spacer flex="1" />
</hbox>
</row>
<row>
<label value="Anmerkung" control="student-betriebsmittel-textbox-anmerkung"/>
<textbox id="student-betriebsmittel-textbox-anmerkung" disabled="true" multiline="true"/>
</row>
<row>
<label value="Ausgegeben am" control="student-betriebsmittel-textbox-ausgegebenam"/>
<hbox>
<textbox id="student-betriebsmittel-textbox-ausgegebenam" disabled="true" maxlength="10"/>
<spacer flex="1" />
</hbox>
</row>
<row>
<label value="Retour am" control="student-betriebsmittel-textbox-retouram"/>
<hbox>
<textbox id="student-betriebsmittel-textbox-retouram" disabled="true" maxlength="10"/>
<spacer flex="1" />
</hbox>
</row>
</rows>
</grid>
<hbox>
<spacer flex="1" />
<button id="student-betriebsmittel-button-speichern" oncommand="StudentBetriebsmittelDetailSpeichern()" label="Speichern" disabled="true"/>
</hbox>
</groupbox>
</vbox>
</row>
</rows>
</grid>
</hbox>
<spacer flex="1" />
</vbox>
</overlay>
+3
View File
@@ -32,6 +32,7 @@ echo '<?xml version="1.0" encoding="ISO-8859-15" standalone="yes" ?>';
echo '<?xul-overlay href="'.APP_ROOT.'content/student/studentdetailoverlay.xul.php"?>';
echo '<?xul-overlay href="'.APP_ROOT.'content/student/studentzeugnisoverlay.xul.php"?>';
echo '<?xul-overlay href="'.APP_ROOT.'content/student/studentkontooverlay.xul.php"?>';
echo '<?xul-overlay href="'.APP_ROOT.'content/student/studentbetriebsmitteloverlay.xul.php"?>';
?>
<!DOCTYPE overlay >
@@ -176,12 +177,14 @@ echo '<?xul-overlay href="'.APP_ROOT.'content/student/studentkontooverlay.xul.ph
<tab id="student-tab-prestudent" label="PreStudent" />
<tab id="student-tab-konto" label="Konto" />
<tab id="student-tab-zeugnis" label="Zeugnis" />
<tab id="student-tab-betriebsmittel" label="Betriebsmittel" />
</tabs>
<tabpanels id="student-tabpanels-main" flex="1">
<vbox id="student-detail" style="margin-top:10px;" />
<vbox id="student-prestudent" style="margin-top:10px;" />
<vbox id="student-konto" style="margin-top:10px;" />
<vbox id="student-zeugnis" style="margin-top:10px;" />
<vbox id="student-betriebsmittel" style="margin-top:10px;" />
</tabpanels>
</tabbox>
</vbox>
+284 -2
View File
@@ -33,6 +33,9 @@ var StudentSelectUid=null; //Student der nach dem Refresh markiert werden soll
var StudentKontoSelectBuchung=null; //Buchung die nach dem Refresh markiert werden soll
var StudentKontoTreeDatasource; //Datasource des KontoTrees
var StudentTreeLoadDataOnSelect=true; //Gib an ob beim Selectieren im Tree die Daten geladen werden sollen
var StudentBetriebsmittelTreeDatasource; //Datasource des BetriebsmittelTrees
var StudentBetriebsmittelSelectBetriebsmittel_id=null; //Betriebsmittelzurodnung die nach dem Refresh markiert werden soll
var StudentBetriebsmittelSelectPerson_id=null; //Betriebsmittelzurodnung die nach dem Refresh markiert werden soll
// ********** Observer und Listener ************* //
@@ -103,6 +106,41 @@ var StudentKontoTreeListener =
window.setTimeout(StudentKontoTreeSelectBuchung,10);
}
};
// ****
// * Observer fuer Betriebsmittel Tree
// * startet Rebuild nachdem das Refresh
// * der datasource fertig ist
// ****
var StudentBetriebsmittelTreeSinkObserver =
{
onBeginLoad : function(pSink) {},
onInterrupt : function(pSink) {},
onResume : function(pSink) {},
onError : function(pSink, pStatus, pError) {},
onEndLoad : function(pSink)
{
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
document.getElementById('student-betriebsmittel-tree').builder.rebuild();
}
};
// ****
// * Nach dem Rebuild wird die Betriebsmittelzuordnung wieder
// * markiert
// ****
var StudentBetriebsmittelTreeListener =
{
willRebuild : function(builder) { },
didRebuild : function(builder)
{
//timeout nur bei Mozilla notwendig da sonst die rows
//noch keine values haben. Ab Seamonkey funktionierts auch
//ohne dem setTimeout
window.setTimeout(StudentBetriebsmittelTreeSelectZuordnung,10);
}
};
// ***************** KEY Events ************************* //
// ****
@@ -553,6 +591,7 @@ function StudentAuswahl()
StudentDetailDisableFields(false);
StudentPrestudentDisableFields(false);
StudentKontoDisableFields(false);
StudentBetriebsmittelDisableFields(false);
document.getElementById('student-detail-button-save').disabled=false;
}
else
@@ -736,7 +775,7 @@ function StudentAuswahl()
var datasource = rdfService.GetDataSource(url);
rollentree.database.AddDataSource(datasource);
//Konto
// *** Konto ***
kontotree = document.getElementById('student-konto-tree');
filter = document.getElementById('student-konto-button-filter').value;
url='<?php echo APP_ROOT;?>rdf/konto.rdf.php?person_id='+person_id+"&filter="+filter+"&"+gettimestamp();
@@ -758,7 +797,7 @@ function StudentAuswahl()
StudentKontoTreeDatasource.addXMLSinkObserver(StudentKontoTreeSinkObserver);
kontotree.builder.addListener(StudentKontoTreeListener);
//Zeugnis
// *** Zeugnis ***
zeugnistree = document.getElementById('student-zeugnis-tree');
url='<?php echo APP_ROOT;?>rdf/akte.rdf.php?person_id='+person_id+"&dokument_kurzbz=Zeugnis&"+gettimestamp();
@@ -774,6 +813,27 @@ function StudentAuswahl()
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService);
var datasource = rdfService.GetDataSource(url);
zeugnistree.database.AddDataSource(datasource);
// *** Betriebsmittel ***
betriebsmitteltree = document.getElementById('student-betriebsmittel-tree');
url='<?php echo APP_ROOT;?>rdf/betriebsmittelperson.rdf.php?person_id='+person_id+"&"+gettimestamp();
//Alte DS entfernen
var oldDatasources = betriebsmitteltree.database.GetDataSources();
while(oldDatasources.hasMoreElements())
{
betriebsmitteltree.database.RemoveDataSource(oldDatasources.getNext());
}
//Refresh damit die entfernten DS auch wirklich entfernt werden
betriebsmitteltree.builder.rebuild();
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService);
StudentBetriebsmittelTreeDatasource = rdfService.GetDataSource(url);
StudentBetriebsmittelTreeDatasource.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource);
StudentBetriebsmittelTreeDatasource.QueryInterface(Components.interfaces.nsIRDFXMLSink);
betriebsmitteltree.database.AddDataSource(StudentBetriebsmittelTreeDatasource);
StudentBetriebsmittelTreeDatasource.addXMLSinkObserver(StudentBetriebsmittelTreeSinkObserver);
betriebsmitteltree.builder.addListener(StudentBetriebsmittelTreeListener);
}
// ****
@@ -1316,4 +1376,226 @@ function StudentCreateZeugnis()
semester=tree_lvb.view.getCellText(tree_lvb.currentIndex,col);
window.open('<?php echo APP_ROOT; ?>content/student/zeugnis.php?uid='+uid+'&studiengang_kz='+studiengang_kz+'&semester='+semester,'Zeugnis', 'height=200,width=350,left=0,top=0,hotkeys=0,resizable=yes,status=no,scrollbars=yes,toolbar=no,location=no,menubar=no,dependent=yes');
}
// ********** Betriebsmittel ******************
// ****
// * Selectiert die Betriebsmittelzuordnung nachdem der Tree
// * rebuildet wurde.
// ****
function StudentBetriebsmittelTreeSelectZuordnung()
{
var tree=document.getElementById('student-betriebsmittel-tree');
if(tree.view)
var items = tree.view.rowCount; //Anzahl der Zeilen ermitteln
else
return false;
//In der globalen Variable ist die zu selektierende Buchung gespeichert
if(StudentBetriebsmittelSelectBetriebsmittel_id!=null && StudentBetriebsmittelSelectPerson_id!=null)
{
for(var i=0;i<items;i++)
{
//ids der row holen
col = tree.columns ? tree.columns["student-betriebsmittel-tree-betriebsmittel_id"] : "student-betriebsmittel-tree-betriebsmittel_id";
betriebsmittel_id=tree.view.getCellText(i,col);
col = tree.columns ? tree.columns["student-betriebsmittel-tree-person_id"] : "student-betriebsmittel-tree-person_id";
person_id=tree.view.getCellText(i,col);
//wenn dies die zu selektierende Zeile ist
if(betriebsmittel_id == StudentBetriebsmittelSelectBetriebsmittel_id &&
person_id == StudentBetriebsmittelSelectPerson_id)
{
//Zeile markieren
tree.view.selection.select(i);
//Sicherstellen, dass die Zeile im sichtbaren Bereich liegt
tree.treeBoxObject.ensureRowIsVisible(i);
StudentBetriebsmittelSelectBetriebsmittel_id=null;
StudentBetriebsmittelSelectPerson_id=null;
return true;
}
}
}
}
// ****
// * Wenn ein Betriebsmittel ausgewaehlt wird, dann
// * werden die zugehoerigen Details geladen
// ****
function StudentBetriebsmittelAuswahl()
{
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
var tree = document.getElementById('student-betriebsmittel-tree');
if (tree.currentIndex==-1) return;
StudentBetriebsmittelDetailDisableFields(false);
document.getElementById('student-betriebsmittel-checkbox-neu').checked=false;
//Ausgewaehlte Nr holen
var col = tree.columns ? tree.columns["student-betriebsmittel-tree-betriebsmittel_id"] : "student-betriebsmittel-tree-betriebsmittel_id";
var betriebsmittel_id=tree.view.getCellText(tree.currentIndex,col);
var col = tree.columns ? tree.columns["student-betriebsmittel-tree-person_id"] : "student-betriebsmittel-tree-person_id";
var person_id=tree.view.getCellText(tree.currentIndex,col);
//Daten holen
var url = '<?php echo APP_ROOT ?>rdf/betriebsmittelperson.rdf.php?betriebsmittel_id='+betriebsmittel_id+'&person_id='+person_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/betriebsmittel/"+person_id+'/'+betriebsmittel_id);
var predicateNS = "http://www.technikum-wien.at/betriebsmittel/rdf";
//Daten holen
person_id = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#person_id" ));
betriebsmittel_id = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#betriebsmittel_id" ));
anmerkung = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#anmerkung" ));
kaution = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#kaution" ));
ausgegebenam = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#ausgegebenam" ));
retouram = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#retouram" ));
betriebsmitteltyp = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#betriebsmitteltyp" ));
nummer = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#nummer" ));
beschreibung = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#beschreibung" ));
document.getElementById('student-betriebsmittel-textbox-person_id').value=person_id;
document.getElementById('student-betriebsmittel-textbox-betriebsmittel_id').value=betriebsmittel_id;
document.getElementById('student-betriebsmittel-textbox-anmerkung').value=anmerkung;
document.getElementById('student-betriebsmittel-textbox-kaution').value=kaution;
document.getElementById('student-betriebsmittel-textbox-ausgegebenam').value=ausgegebenam;
document.getElementById('student-betriebsmittel-textbox-retouram').value=retouram;
document.getElementById('student-betriebsmittel-menulist-betriebsmitteltyp').value=betriebsmitteltyp;
document.getElementById('student-betriebsmittel-textbox-nummer').value=nummer;
document.getElementById('student-betriebsmittel-textbox-beschreibung').value=beschreibung;
}
// ****
// * Aktiviert / Deaktiviert die Betriebsmittel Felder
// ****
function StudentBetriebsmittelDisableFields(val)
{
document.getElementById('student-betriebsmittel-button-neu').disabled=val;
document.getElementById('student-betriebsmittel-button-loeschen').disabled=val;
StudentBetriebsmittelDetailDisableFields(true);
}
// ****
// * Aktiviert / Deaktiviert die Betriebsmitteldetail Felder
// ****
function StudentBetriebsmittelDetailDisableFields(val)
{
document.getElementById('student-betriebsmittel-menulist-betriebsmitteltyp').disabled=val;
document.getElementById('student-betriebsmittel-textbox-nummer').disabled=val;
document.getElementById('student-betriebsmittel-textbox-beschreibung').disabled=val;
document.getElementById('student-betriebsmittel-textbox-kaution').disabled=val;
document.getElementById('student-betriebsmittel-textbox-anmerkung').disabled=val;
document.getElementById('student-betriebsmittel-textbox-ausgegebenam').disabled=val;
document.getElementById('student-betriebsmittel-textbox-retouram').disabled=val;
document.getElementById('student-betriebsmittel-button-speichern').disabled=val;
}
// ****
// * Loescht eine Betriebsmittelzuordnung
// ****
function StudentBetriebsmittelDelete()
{
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
var tree = document.getElementById('student-betriebsmittel-tree');
if (tree.currentIndex==-1) return;
StudentBetriebsmittelDetailDisableFields(false);
//Ausgewaehlte Nr holen
var col = tree.columns ? tree.columns["student-betriebsmittel-tree-betriebsmittel_id"] : "student-betriebsmittel-tree-betriebsmittel_id";
var betriebsmittel_id=tree.view.getCellText(tree.currentIndex,col);
var col = tree.columns ? tree.columns["student-betriebsmittel-tree-person_id"] : "student-betriebsmittel-tree-person_id";
var person_id=tree.view.getCellText(tree.currentIndex,col);
if(confirm('Diesen Eintrag wirklich loeschen?'))
{
var url = '<?php echo APP_ROOT ?>content/student/studentDBDML.php';
var req = new phpRequest(url,'','');
req.add('type', 'deletebetriebsmittel');
req.add('betriebsmittel_id', betriebsmittel_id);
req.add('person_id', person_id);
var response = req.executePOST();
var val = new ParseReturnValue(response)
if (!val.dbdml_return)
{
if(val.dbdml_errormsg=='')
alert(response)
else
alert(val.dbdml_errormsg)
}
else
{
StudentBetriebsmittelTreeDatasource.Refresh(false);
SetStatusBarText('Daten wurden gespeichert');
}
}
}
// ****
// * Speichert die Betriebsmittelzuordnung
// ****
function StudentBetriebsmittelDetailSpeichern()
{
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
person_id = document.getElementById('student-betriebsmittel-textbox-person_id').value;
betriebsmittel_id = document.getElementById('student-betriebsmittel-textbox-betriebsmittel_id').value;
anmerkung = document.getElementById('student-betriebsmittel-textbox-anmerkung').value;
kaution = document.getElementById('student-betriebsmittel-textbox-kaution').value;
ausgegebenam = document.getElementById('student-betriebsmittel-textbox-ausgegebenam').value;
retouram = document.getElementById('student-betriebsmittel-textbox-retouram').value;
betriebsmitteltyp = document.getElementById('student-betriebsmittel-menulist-betriebsmitteltyp').value;
nummer = document.getElementById('student-betriebsmittel-textbox-nummer').value;
beschreibung = document.getElementById('student-betriebsmittel-textbox-beschreibung').value;
neu = document.getElementById('student-betriebsmittel-checkbox-neu').checked;
var url = '<?php echo APP_ROOT ?>content/student/studentDBDML.php';
var req = new phpRequest(url,'','');
req.add('type', 'savebetriebsmittel');
req.add('neu', neu);
req.add('person_id', person_id);
req.add('betriebsmittel_id', betriebsmittel_id);
req.add('anmerkung', anmerkung);
req.add('kaution', kaution);
req.add('ausgegebenam', ausgegebenam);
req.add('retouram', retouram);
req.add('betriebsmitteltyp', betriebsmitteltyp);
req.add('nummer', nummer);
req.add('beschreibung', beschreibung);
var response = req.executePOST();
var val = new ParseReturnValue(response)
if (!val.dbdml_return)
{
if(val.dbdml_errormsg=='')
alert(response)
else
alert(val.dbdml_errormsg)
}
else
{
StudentBetriebsmittelSelectBetriebsmittel_id=betriebsmittel_id;
StudentBetriebsmittelSelectPerson_id=person_id;
StudentBetriebsmittelTreeDatasource.Refresh(false); //non blocking
SetStatusBarText('Daten wurden gespeichert');
}
}
+169 -43
View File
@@ -29,53 +29,106 @@ class betriebsmittelperson
var $conn; // @var resource DB-Handle
var $new; // @var boolean
var $errormsg; // @var string
var $result = array();
var $done=false; // @var boolean
//Tabellenspalten
Var $betriebsmittel_id; // @var integer
var $person_id; // @var integer
var $anmerkung; // @var string
var $person_id; // @var integer
var $anmerkung; // @var string
var $kaution; // @var numeric(5,2)
var $ausgegebenam; // @var date
var $retouram; // @var date
var $ausgegebenam; // @var date
var $retouram; // @var date
var $ext_id; // @var integer
var $insertamum; // @var timestamp
var $insertvon; // @var bigint
var $insertvon; // @var bigint
var $updateamum; // @var timestamp
var $updatevon; // @var bigint
var $updatevon; // @var bigint
/**
* Konstruktor
* @param $conn Connection
*
*/
function betriebsmittelperson($conn,$betriebsmittel_id=null, $unicode=false)
// ************************************
// * Konstruktor
// * @param $conn Connection
// * $betriebsmittel_id
// * $person_id
// * $unicode
// ************************************
function betriebsmittelperson($conn,$betriebsmittel_id=null,$person_id=null, $unicode=false)
{
$this->conn = $conn;
if ($unicode)
if($unicode!=null)
{
$qry = "SET CLIENT_ENCODING TO 'UNICODE';";
}
else
{
$qry="SET CLIENT_ENCODING TO 'LATIN9';";
}
if(!pg_query($conn,$qry))
{
$this->errormsg = "Encoding konnte nicht gesetzt werden";
return false;
if ($unicode)
{
$qry = "SET CLIENT_ENCODING TO 'UNICODE';";
}
else
{
$qry="SET CLIENT_ENCODING TO 'LATIN9';";
}
if(!pg_query($conn,$qry))
{
$this->errormsg = "Encoding konnte nicht gesetzt werden";
return false;
}
}
if($betriebsmittel_id!=null && $person_id!=null)
$this->load($betriebsmittel_id, $person_id);
}
/**
* Laedt das Betriebsmittel mit der ID $betriebsmittel_id, person_id
* @param $betriebsmittel_id ID des zu ladenden Betriebsmittels
* @param $person_id ID der zu ladenden Person
* @return true wenn ok, false im Fehlerfall
*/
// *********************************************************************
// * Laedt das Betriebsmittel mit der ID $betriebsmittel_id, person_id
// * @param $betriebsmittel_id ID des zu ladenden Betriebsmittels
// * $person_id ID der zu ladenden Person
// * @return true wenn ok, false im Fehlerfall
// *********************************************************************
function load($betriebsmittel_id, $person_id)
{
//noch nicht implementiert
if(!is_numeric($betriebsmittel_id))
{
$this->errormsg = 'Betriebsmittel_id ist ungueltig';
return false;
}
if(!is_numeric($person_id))
{
$this->errormsg = 'Person_id ist ungueltig';
return false;
}
$qry = "SELECT * FROM public.tbl_betriebsmittel JOIN public.tbl_betriebsmittelperson USING(betriebsmittel_id)
WHERE betriebsmittel_id='$betriebsmittel_id' AND person_id='$person_id'";
if($result = pg_query($this->conn, $qry))
{
if($row = pg_fetch_object($result))
{
$this->betriebsmittel_id = $row->betriebsmittel_id;
$this->beschreibung = $row->beschreibung;
$this->betriebsmitteltyp = $row->betriebsmitteltyp;
$this->nummer = $row->nummer;
$this->reservieren = ($row->reservieren=='t'?true:false);
$this->ort_kurzbz = $row->ort_kurzbz;
$this->person_id = $row->person_id;
$this->anmerkung = $row->anmerkung;
$this->kaution = $row->kaution;
$this->ausgegebenam = $row->ausgegebenam;
$this->retouram = $row->retouram;
$this->insertamum = $row->insertamum;
$this->insertvon = $row->insertvon;
$this->updateamum = $row->updateamum;
$this->updatevon = $row->updatevon;
$this->ext_id = $row->ext_id;
return true;
}
else
{
$this->errormsg = 'Es wurde kein passender Datensatz gefunden';
return false;
}
}
else
{
$this->errormsg = 'Fehler beim laden der Daten';
return false;
}
}
// ************************************************
@@ -88,12 +141,13 @@ class betriebsmittelperson
{
return ($var!=''?"'".addslashes($var)."'":'null');
}
/**
* Speichert den aktuellen Datensatz in die Datenbank
* Wenn $neu auf true gesetzt ist wird ein neuer Datensatz angelegt
* andernfalls wird der Datensatz mit der ID in $betriebsmittel_id, $person_id aktualisiert
* @return true wenn ok, false im Fehlerfall
*/
// ******************************************************************************************
// * Speichert den aktuellen Datensatz in die Datenbank
// * Wenn $neu auf true gesetzt ist wird ein neuer Datensatz angelegt
// * andernfalls wird der Datensatz mit der ID in $betriebsmittel_id, $person_id aktualisiert
// * @return true wenn ok, false im Fehlerfall
// ******************************************************************************************
function save()
{
$this->done=false;
@@ -197,15 +251,87 @@ class betriebsmittelperson
}
}
/**
* Loescht den Datenensatz mit der ID die uebergeben wird
* @param $betriebsmittel_id ID die geloescht werden soll
* @param $person_id ID die geloescht werden soll
* @return true wenn ok, false im Fehlerfall
*/
// ********************************************************
// * Loescht den Datenensatz mit der ID die uebergeben wird
// * @param $betriebsmittel_id ID die geloescht werden soll
// * @param $person_id ID die geloescht werden soll
// * @return true wenn ok, false im Fehlerfall
// ********************************************************
function delete($betriebsmittel_id, $person_id)
{
//noch nicht implementiert!
if(!is_numeric($betriebsmittel_id))
{
$this->errormsg = 'Betriebsmittel_id ist ungueltig';
return false;
}
if(!is_numeric($person_id))
{
$this->errormsg = 'Person_id ist ungueltig';
return false;
}
$qry = "DELETE FROM public.tbl_betriebsmittelperson WHERE betriebsmittel_id='$betriebsmittel_id' AND person_id='$person_id'";
if(pg_query($this->conn, $qry))
return true;
else
{
$this->errormsg = 'Fehler beim loeschen der Daten';
return false;
}
}
// *****************************************
// * Laedt alle Betriebsmittel einer Person
// * @param person_id, $betriebsmittel_id
// * @return true wenn ok, false wenn Fehler
// *****************************************
function getBetriebsmittelPerson($person_id, $betriebsmitteltyp=null)
{
if(!is_numeric($person_id))
{
$this->errormsg = 'Person_id ist ungueltig';
return false;
}
$qry = "SELECT * FROM public.tbl_betriebsmittel JOIN public.tbl_betriebsmittelperson USING(betriebsmittel_id) WHERE person_id='".addslashes($person_id)."'";
if(!is_null($betriebsmitteltyp))
$qry.=" AND betriebsmitteltyp='".addslashes($betriebsmitteltyp)."'";
$qry.=" ORDER BY betriebsmitteltyp, nummer";
if($result = pg_query($this->conn, $qry))
{
while($row = pg_fetch_object($result))
{
$bm = new betriebsmittelperson($this->conn, null, null, null);
$bm->betriebsmittel_id = $row->betriebsmittel_id;
$bm->beschreibung = $row->beschreibung;
$bm->betriebsmitteltyp = $row->betriebsmitteltyp;
$bm->nummer = $row->nummer;
$bm->reservieren = ($row->reservieren=='t'?true:false);
$bm->ort_kurzbz = $row->ort_kurzbz;
$bm->person_id = $row->person_id;
$bm->anmerkung = $row->anmerkung;
$bm->kaution = $row->kaution;
$bm->ausgegebenam = $row->ausgegebenam;
$bm->retouram = $row->retouram;
$bm->insertamum = $row->insertamum;
$bm->insertvon = $row->insertvon;
$bm->updateamum = $row->updateamum;
$bm->updatevon = $row->updatevon;
$bm->ext_id = $row->ext_id;
$this->result[] = $bm;
}
return true;
}
else
{
$this->errormsg = 'Fehler beim laden der Daten';
return false;
}
}
}
?>
+62 -33
View File
@@ -27,62 +27,91 @@
class betriebsmitteltyp
{
var $conn; // resource DB-Handle
var $conn; // resource DB-Handle
var $errormsg; // string
var $new; // boolean
//var $schluesseltyp = array(); // schluesseltyp Objekt
var $new; // boolean
var $result = array();
//Tabellenspalten
var $betriebsmitteltyp; //string
var $beschreibung; //string
var $anzahl; //smallint
var $kaution; //numeric(5,2)
var $betriebsmitteltyp; //string
var $beschreibung; //string
var $anzahl; //smallint
var $kaution; //numeric(5,2)
/**
* Konstruktor
* @param $conn Connection
* $code Zu ladende Betriebsmitteltyp
*/
function betriebsmitteltyp($conn, $code=null, $unicode=false)
// ************************************************
// * Konstruktor
// * @param $conn Connection zur DB
// * $betriebsmitteltyp
// ************************************************
function betriebsmitteltyp($conn, $betriebsmitteltyp=null, $unicode=false)
{
$this->conn = $conn;
if($unicode)
$qry = "SET CLIENT_ENCODING TO 'UNICODE';";
else
$qry = "SET CLIENT_ENCODING TO 'LATIN9';";
if(!pg_query($conn,$qry))
if($unicode!=null)
{
$this->errormsg = 'Encoding konnte nicht gesetzt werden';
return false;
if($unicode)
$qry = "SET CLIENT_ENCODING TO 'UNICODE';";
else
$qry = "SET CLIENT_ENCODING TO 'LATIN9';";
if(!pg_query($conn,$qry))
{
$this->errormsg = 'Encoding konnte nicht gesetzt werden';
return false;
}
}
if($betriebsmitteltyp!=null)
$this->load($betriebsmitteltyp);
}
/**
* Laedt die Funktion mit der ID $betriebsmitteltyp
* @param $code code des zu ladenden betriebsmitteltyps
* @return true wenn ok, false im Fehlerfall
*/
// *******************************************************
// * Laedt die Funktion mit der ID $betriebsmitteltyp
// * @param $betriebsmitteltyp
// * @return true wenn ok, false im Fehlerfall
// ********************************************************
function load($code)
{
$this->errormsg = 'Noch nicht implementiert';
return false;
}
/**
* Laedt alle betriebsmitteltypen
*/
// *****************************************
// * Laedt alle betriebsmitteltypen
// * @return true wenn ok, false wenn Fehler
// *****************************************
function getAll()
{
$this->errormsg = 'Noch nicht implementiert';
return false;
$qry = "SELECT * FROM public.tbl_betriebsmitteltyp ORDER BY betriebsmitteltyp";
if($result = pg_query($this->conn, $qry))
{
while($row = pg_fetch_object($result))
{
$bmt = new betriebsmitteltyp($this->conn, null, null);
$bmt->betriebsmitteltyp = $row->betriebsmitteltyp;
$bmt->beschreibung = $row->beschreibung;
$bmt->anzahl = $row->anzahl;
$bmt->kaution = $row->kaution;
$this->result[] = $bmt;
}
return true;
}
else
{
$this->errormsg = 'Fehler beim laden der Daten';
return false;
}
}
function addslashes($var)
{
return ($var!=''?"'".addslashes($var)."'":'null');
}
// ************************************************************
// * Speichert die Daten in die Datenbank
// * @return true wenn erfolgreich, false im Fehlerfall
+103
View File
@@ -0,0 +1,103 @@
<?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 für no cache
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");
// content type setzen
header("Content-type: application/xhtml+xml");
// xml
echo '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>';
// DAO
require_once('../vilesci/config.inc.php');
require_once('../include/betriebsmittelperson.class.php');
// Datenbank Verbindung
if (!$conn = @pg_pconnect(CONN_STRING))
$error_msg='Es konnte keine Verbindung zum Server aufgebaut werden!';
if(isset($_GET['person_id']))
$person_id = $_GET['person_id'];
else
$person_id = '';
if(isset($_GET['betriebsmitteltyp']))
$betriebsmitteltyp = $_GET['betriebsmitteltyp'];
else
$betriebsmitteltyp = null;
if(isset($_GET['betriebsmittel_id']))
$betriebsmittel_id = $_GET['betriebsmittel_id'];
else
$betriebsmittel_id = null;
$rdf_url='http://www.technikum-wien.at/betriebsmittel';
?>
<RDF:RDF
xmlns:RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:BTM="<?php echo $rdf_url; ?>/rdf#"
>
<RDF:Seq about="<?php echo $rdf_url ?>/liste">
<?php
$betriebsmittel = new betriebsmittelperson($conn, null, null, true);
if($betriebsmittel_id=='')
if($betriebsmittel->getBetriebsmittelPerson($person_id, $betriebsmitteltyp))
foreach ($betriebsmittel->result as $row)
draw_content($row);
else
die($betriebsmittel->errormsg);
else
if($betriebsmittel->load($betriebsmittel_id, $person_id))
draw_content($betriebsmittel);
else
die($betriebsmittel->errormsg);
function draw_content($row)
{
global $rdf_url;
?>
<RDF:li>
<RDF:Description id="<?php echo $row->person_id.'/'.$row->betriebsmittel_id; ?>" about="<?php echo $rdf_url.'/'.$row->person_id.'/'.$row->betriebsmittel_id; ?>" >
<BTM:betriebsmittel_id><![CDATA[<?php echo $row->betriebsmittel_id ?>]]></BTM:betriebsmittel_id>
<BTM:beschreibung><![CDATA[<?php echo $row->beschreibung ?>]]></BTM:beschreibung>
<BTM:betriebsmitteltyp><![CDATA[<?php echo $row->betriebsmitteltyp ?>]]></BTM:betriebsmitteltyp>
<BTM:nummer><![CDATA[<?php echo $row->nummer ?>]]></BTM:nummer>
<BTM:reservieren><![CDATA[<?php echo ($row->reservieren?'Ja':'Nein') ?>]]></BTM:reservieren>
<BTM:ort_kurzbz><![CDATA[<?php echo $row->ort_kurzbz ?>]]></BTM:ort_kurzbz>
<BTM:person_id><![CDATA[<?php echo $row->person_id ?>]]></BTM:person_id>
<BTM:anmerkung><![CDATA[<?php echo $row->anmerkung ?>]]></BTM:anmerkung>
<BTM:kaution><![CDATA[<?php echo $row->kaution ?>]]></BTM:kaution>
<BTM:ausgegebenam><![CDATA[<?php echo $row->ausgegebenam ?>]]></BTM:ausgegebenam>
<BTM:retouram><![CDATA[<?php echo $row->retouram ?>]]></BTM:retouram>
</RDF:Description>
</RDF:li>
<?php
}
?>
</RDF:Seq>
</RDF:RDF>
+71
View File
@@ -0,0 +1,71 @@
<?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 für no cache
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");
// content type setzen
header("Content-type: application/xhtml+xml");
// xml
echo '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>';
// DAO
require_once('../vilesci/config.inc.php');
require_once('../include/betriebsmitteltyp.class.php');
// Datenbank Verbindung
if (!$conn = @pg_pconnect(CONN_STRING))
$error_msg='Es konnte keine Verbindung zum Server aufgebaut werden!';
$rdf_url='http://www.technikum-wien.at/betriebsmitteltyp';
?>
<RDF:RDF
xmlns:RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:BTM="<?php echo $rdf_url; ?>/rdf#"
>
<RDF:Seq about="<?php echo $rdf_url ?>/liste">
<?php
$btm = new betriebsmitteltyp($conn, null, null, true);
if(!$btm->getAll())
die($btm->errormsg);
foreach ($btm->result as $row)
{
?>
<RDF:li>
<RDF:Description id="<?php echo $row->betriebsmitteltyp; ?>" about="<?php echo $rdf_url.'/'.$row->betriebsmitteltyp; ?>" >
<BTM:betriebsmitteltyp><![CDATA[<?php echo $row->betriebsmitteltyp ?>]]></BTM:betriebsmitteltyp>
<BTM:beschreibung><![CDATA[<?php echo $row->beschreibung ?>]]></BTM:beschreibung>
<BTM:anzahl><![CDATA[<?php echo $row->anzahl ?>]]></BTM:anzahl>
<BTM:kaution><![CDATA[<?php echo $row->kaution ?>]]></BTM:kaution>
</RDF:Description>
</RDF:li>
<?php
}
?>
</RDF:Seq>
</RDF:RDF>