Bugfix beim Speichern der Lehreinheiten

Kontakt Modul Erstversion
Jahresplan aenderungen
This commit is contained in:
Andreas Österreicher
2007-06-14 15:44:49 +00:00
parent c5800aae47
commit bb9841e113
17 changed files with 1016 additions and 211 deletions
+6 -1
View File
@@ -9,10 +9,15 @@ Die Liste ist in Module geteilt. Innerhalb eines Moduls erfolgt die
Auflistung nach Priorit&auml;t (h&ouml;chste oben).<br>
<h2>&Auml;nderungen</h2>
<ul>
<li>Manche Trees lassen sich nicht sortieren</li>
<li>Nach dem sortieren einiger Trees ist danach ein anderer Datensatz markiert als vorher</li>
</ul>
<br>
<h2>Fehler</h2>
<h3>Dokumente</h3>
<ul>
<li>LVA Liste fuer Geschäftsstelle fehlt noch</li>
</ul>
<h3>Listen</h3>
<ul>
<li> Anzahl: Anzahl stimmt nicht immer? </li>
+210
View File
@@ -0,0 +1,210 @@
<?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('../vilesci/config.inc.php');
require_once('../include/functions.inc.php');
$conn = pg_pconnect(CONN_STRING);
$user = get_uid();
loadVariables($conn, $user);
?>
// ********** GLOBALE VARIABLEN ********** //
var AdressenTreeDatasource=''; // Datasource des Adressen Trees
var KontaktAdresseSelectID=null; // ID der Adresse die nach dem Rebuild markiert werden soll
var KontaktTreeDatasource=''; // Datasource des Kontakt Trees
var KontaktKontaktSelectID=null; // ID des Kontaktes der nach dem Rebuild markiert werden soll
// ********** LISTENER UND OBSERVER ********** //
// ****
// * Observer fuer Adressen Tree
// * startet Rebuild nachdem das Refresh
// * der Datasource fertig ist
// ****
var KontaktAdressenTreeSinkObserver =
{
onBeginLoad : function(pSink) {},
onInterrupt : function(pSink) {},
onResume : function(pSink) {},
onError : function(pSink, pStatus, pError) {},
onEndLoad : function(pSink)
{
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
document.getElementById('kontakt-adressen-tree').builder.rebuild();
}
};
// ****
// * Nach dem Rebuild wird der Eintrag wieder
// * markiert
// ****
var KontaktAdressenTreeListener =
{
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(KontaktAdressenTreeSelectID,10);
}
};
// ****
// * Observer fuer Kontakt Tree
// * startet Rebuild nachdem das Refresh
// * der Datasource fertig ist
// ****
var KontaktKontaktTreeSinkObserver =
{
onBeginLoad : function(pSink) {},
onInterrupt : function(pSink) {},
onResume : function(pSink) {},
onError : function(pSink, pStatus, pError) {},
onEndLoad : function(pSink)
{
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
document.getElementById('kontakt-kontakt-tree').builder.rebuild();
}
};
// ****
// * Nach dem Rebuild wird der Eintrag wieder
// * markiert
// ****
var KontaktKontaktTreeListener =
{
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(KontaktKontaktTreeSelectID,10);
}
};
// ********** FUNKTIONEN ********** //
function loadKontakte(person_id)
{
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
//Adressen laden
url = "<?php echo APP_ROOT; ?>rdf/adresse.rdf.php?person_id="+person_id+"&"+gettimestamp();
var treeAdressen=document.getElementById('kontakt-adressen-tree');
//Alte DS entfernen
var oldDatasources = treeAdressen.database.GetDataSources();
while(oldDatasources.hasMoreElements())
{
treeAdressen.database.RemoveDataSource(oldDatasources.getNext());
}
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService);
AdressenTreeDatasource = rdfService.GetDataSource(url);
AdressenTreeDatasource.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource);
AdressenTreeDatasource.QueryInterface(Components.interfaces.nsIRDFXMLSink);
treeAdressen.database.AddDataSource(AdressenTreeDatasource);
AdressenTreeDatasource.addXMLSinkObserver(KontaktAdressenTreeSinkObserver);
treeAdressen.builder.addListener(KontaktAdressenTreeListener);
//Kontakte laden
url = "<?php echo APP_ROOT; ?>rdf/kontakt.rdf.php?person_id="+person_id+"&"+gettimestamp();
var treeKontakt=document.getElementById('kontakt-kontakt-tree');
//Alte DS entfernen
var oldDatasources = treeKontakt.database.GetDataSources();
while(oldDatasources.hasMoreElements())
{
treeKontakt.database.RemoveDataSource(oldDatasources.getNext());
}
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService);
KontaktTreeDatasource = rdfService.GetDataSource(url);
KontaktTreeDatasource.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource);
KontaktTreeDatasource.QueryInterface(Components.interfaces.nsIRDFXMLSink);
treeKontakt.database.AddDataSource(KontaktTreeDatasource);
KontaktTreeDatasource.addXMLSinkObserver(KontaktKontaktTreeSinkObserver);
treeKontakt.builder.addListener(KontaktKontaktTreeListener);
}
// ********** ADRESSEN ********** //
// ****
// * Selectiert eine Adresse nachdem der Tree
// * rebuildet wurde.
// ****
function KontaktAdressenTreeSelectID()
{
var tree=document.getElementById('kontakt-adressen-tree');
var items = tree.view.rowCount; //Anzahl der Zeilen ermitteln
//In der globalen Variable ist die zu selektierende Adresse gespeichert
if(KontaktAdresseSelectID!=null)
{
for(var i=0;i<items;i++)
{
//ID der row holen
col = tree.columns ? tree.columns["kontakt-adresse-treecol-adresse_id"] : "kontakt_adresse-treecol-adresse_id";
id=tree.view.getCellText(i,col);
if(id == KontaktAdresseSelectID)
{
//Zeile markieren
tree.view.selection.select(i);
//Sicherstellen, dass die Zeile im sichtbaren Bereich liegt
tree.treeBoxObject.ensureRowIsVisible(i);
return true;
}
}
}
}
// ********** KONTAKTE ********** //
// ****
// * Selectiert eine Adresse nachdem der Tree
// * rebuildet wurde.
// ****
function KontaktKontaktTreeSelectID()
{
var tree=document.getElementById('kontakt-kontakt-tree');
var items = tree.view.rowCount; //Anzahl der Zeilen ermitteln
//In der globalen Variable ist die zu selektierende Adresse gespeichert
if(KontaktKontaktSelectID!=null)
{
for(var i=0;i<items;i++)
{
//ID der row holen
col = tree.columns ? tree.columns["kontakt-kontakt-treecol-kontakt_id"] : "kontakt_kontakt-treecol-kontakt_id";
id=tree.view.getCellText(i,col);
if(id == KontaktKontaktSelectID)
{
//Zeile markieren
tree.view.selection.select(i);
//Sicherstellen, dass die Zeile im sichtbaren Bereich liegt
tree.treeBoxObject.ensureRowIsVisible(i);
return true;
}
}
}
}
+303
View File
@@ -0,0 +1,303 @@
<?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");
include('../vilesci/config.inc.php');
echo '<?xml version="1.0" encoding="UTF-8"?>'."\n";
echo '<?xml-stylesheet href="'.APP_ROOT.'skin/tempus.css" type="text/css"?>';
echo '<?xml-stylesheet href="'.APP_ROOT.'content/bindings.css" type="text/css"?>';
if(isset($_GET['person_id']) && is_numeric($_GET['person_id']))
$person_id = $_GET['person_id'];
else
die('Parameter person_id muss uebergeben werden');
?>
<window id="kontakt-window" title="Kontakt"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
onload="loadKontakte(<?php echo $person_id; ?>);"
>
<script type="application/x-javascript" src="<?php echo APP_ROOT; ?>content/kontakt.js.php" />
<script type="application/x-javascript" src="<?php echo APP_ROOT; ?>content/functions.js.php" />
<!--<script type="application/x-javascript" src="<?php echo APP_ROOT; ?>content/fasoverlay.js.php" />-->
<vbox>
<!-- ADRESSEN -->
<groupbox id="kontakt-groupbox-adresse">
<caption label="Adressen" />
<hbox>
<tree id="kontakt-adressen-tree" seltype="single" hidecolumnpicker="false" flex="1"
datasources="rdf:null" ref="http://www.technikum-wien.at/adresse/liste"
onselect="KontaktAdresseSelect();"
flags="dont-build-content"
enableColumnDrag="true"
style="margin-left:10px;margin-right:10px;margin-bottom:5px;" height="100"
persist="hidden, height"
>
<treecols>
<treecol id="kontakt-adressen-treecol-name" label="Name" flex="1" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/adresse/rdf#name" onclick="KontaktAdressenTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="kontakt-adressen-treecol-strasse" label="Strasse" flex="1" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/adresse/rdf#strasse" onclick="KontaktAdressenTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="kontakt-adressen-treecol-plz" label="Plz" flex="1" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/adresse/rdf#plz" onclick="KontaktAdressenTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="kontakt-adressen-treecol-ort" label="Ort" flex="1" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/adresse/rdf#ort" onclick="KontaktAdressenTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="kontakt-adressen-treecol-gemeinde" label="Gemeinde" flex="1" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/adresse/rdf#gemeinde" onclick="KontaktAdressenTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="kontakt-adressen-treecol-nation" label="Nation" flex="1" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/adresse/rdf#nation" onclick="KontaktAdressenTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="kontakt-adressen-treecol-typ" label="Typ" flex="1" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/adresse/rdf#typ" onclick="KontaktAdressenTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="kontakt-adressen-treecol-heimatadresse" label="Heimatadresse" flex="1" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/adresse/rdf#heimatadresse" onclick="KontaktAdressenTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="kontakt-adressen-treecol-zustelladresse" label="Zustelladresse" flex="1" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/adresse/rdf#zustelladresse" onclick="KontaktAdressenTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="kontakt-adressen-treecol-firma_id" label="Firma_id" flex="1" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/adresse/rdf#firma_id" onclick="KontaktAdressenTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="kontakt-adressen-treecol-adresse_id" label="Adresse_id" flex="1" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/adresse/rdf#adresse_id" onclick="KontaktAdressenTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="kontakt-adressen-treecol-person_id" label="Person_id" flex="1" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/adresse/rdf#person_id" onclick="KontaktAdressenTreeSort()"/>
<splitter class="tree-splitter"/>
</treecols>
<template>
<rule>
<treechildren>
<treeitem uri="rdf:*">
<treerow>
<treecell label="rdf:http://www.technikum-wien.at/adresse/rdf#name" />
<treecell label="rdf:http://www.technikum-wien.at/adresse/rdf#strasse" />
<treecell label="rdf:http://www.technikum-wien.at/adresse/rdf#plz" />
<treecell label="rdf:http://www.technikum-wien.at/adresse/rdf#ort" />
<treecell label="rdf:http://www.technikum-wien.at/adresse/rdf#gemeinde" />
<treecell label="rdf:http://www.technikum-wien.at/adresse/rdf#nation" />
<treecell label="rdf:http://www.technikum-wien.at/adresse/rdf#typ" />
<treecell label="rdf:http://www.technikum-wien.at/adresse/rdf#heimatadresse" />
<treecell label="rdf:http://www.technikum-wien.at/adresse/rdf#zustelladresse" />
<treecell label="rdf:http://www.technikum-wien.at/adresse/rdf#firma_id" />
<treecell label="rdf:http://www.technikum-wien.at/adresse/rdf#adresse_id" />
<treecell label="rdf:http://www.technikum-wien.at/adresse/rdf#person_id" />
</treerow>
</treeitem>
</treechildren>
</rule>
</template>
</tree>
<vbox>
<button id='kontakt-adressen-neu' label='Neu' oncommand='' />
<button id='kontakt-adressen-bearbeiten' label='Bearbeiten' oncommand='' />
<button id='kontakt-adressen-loeschen' label='Loeschen' oncommand='' />
</vbox>
</hbox>
</groupbox>
<groupbox id="kontakt-groupbox-adresse">
<caption label="Kontakt" />
<hbox>
<tree id="kontakt-kontakt-tree" seltype="single" hidecolumnpicker="false" flex="1"
datasources="rdf:null" ref="http://www.technikum-wien.at/kontakt/liste"
onselect="KontaktKontaktSelect();"
flags="dont-build-content"
enableColumnDrag="true"
style="margin-left:10px;margin-right:10px;margin-bottom:5px;" height="100"
persist="hidden, height"
>
<treecols>
<treecol id="kontakt-kontakt-treecol-kontakttyp" label="Typ" flex="1" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/kontakt/rdf#kontakttyp" onclick="KontaktKontaktTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="kontakt-kontakt-treecol-kontakt" label="Kontakt" flex="1" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/kontakt/rdf#kontakt" onclick="KontaktKontaktTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="kontakt-adressen-treecol-zustellung" label="Zustellung" flex="1" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/kontakt/rdf#zustellung" onclick="KontaktKontaktTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="kontakt-adressen-treecol-anmerkung" label="Anmerkung" flex="1" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/kontakt/rdf#anmerkung" onclick="KontaktKontaktTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="kontakt-adressen-treecol-firma_id" label="Firma_id" flex="1" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/kontakt/rdf#firma_id" onclick="KontaktKontaktTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="kontakt-adressen-treecol-person_id" label="Person_id" flex="1" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/kontakt/rdf#person_id" onclick="KontaktKontaktTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="kontakt-adressen-treecol-kontakt_id" label="Kontakt_id" flex="1" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/kontakt/rdf#kontakt_id" onclick="KontaktKontaktTreeSort()"/>
<splitter class="tree-splitter"/>
</treecols>
<template>
<rule>
<treechildren>
<treeitem uri="rdf:*">
<treerow>
<treecell label="rdf:http://www.technikum-wien.at/kontakt/rdf#kontakttyp" />
<treecell label="rdf:http://www.technikum-wien.at/kontakt/rdf#kontakt" />
<treecell label="rdf:http://www.technikum-wien.at/kontakt/rdf#zustellung" />
<treecell label="rdf:http://www.technikum-wien.at/kontakt/rdf#anmerkung" />
<treecell label="rdf:http://www.technikum-wien.at/kontakt/rdf#firma_is" />
<treecell label="rdf:http://www.technikum-wien.at/kontakt/rdf#person_id" />
<treecell label="rdf:http://www.technikum-wien.at/kontakt/rdf#kontakt_id" />
</treerow>
</treeitem>
</treechildren>
</rule>
</template>
</tree>
<vbox>
<button id='kontakt-kontakt-neu' label='Neu' oncommand='' />
<button id='kontakt-kontakt-bearbeiten' label='Bearbeiten' oncommand='' />
<button id='kontakt-kontakt-loeschen' label='Loeschen' oncommand='' />
</vbox>
</hbox>
</groupbox>
<groupbox id="kontakt-groupbox-adresse">
<caption label="Bankverbindungen" />
<hbox>
<tree id="kontakt-bankverbindung-tree" seltype="single" hidecolumnpicker="false" flex="1"
datasources="rdf:null" ref="http://www.technikum-wien.at/bankverbindung/liste"
onselect="KontakBankverbindungSelect();"
flags="dont-build-content"
enableColumnDrag="true"
style="margin-left:10px;margin-right:10px;margin-bottom:5px;" height="100"
persist="hidden, height"
>
<treecols>
<treecol id="kontakt-bankverbindung-treecol-name" label="Name" flex="1" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/bankverbindung/rdf#name" onclick="KontaktBankverbindungTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="kontakt-bankverbindung-treecol-anschrift" label="Anschrift" flex="1" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/bankverbindung/rdf#anschrift" onclick="KontaktBankverbindungTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="kontakt-bankverbindung-treecol-bic" label="BIC" flex="1" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/bankverbindung/rdf#bic" onclick="KontaktBankverbindungTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="kontakt-bankverbindung-treecol-blz" label="BLZ" flex="1" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/bankverbindung/rdf#blz" onclick="KontaktBankverbindungTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="kontakt-bankverbindung-treecol-iban" label="IBAN" flex="1" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/bankverbindung/rdf#iban" onclick="KontaktBankverbindungTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="kontakt-bankverbindung-treecol-kontonr" label="Kontonummer" flex="1" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/bankverbindung/rdf#kontonr" onclick="KontaktBankverbindungTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="kontakt-bankverbindung-treecol-typ" label="Typ" flex="1" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/bankverbindung/rdf#typ" onclick="KontaktBankverbindungTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="kontakt-bankverbindung-treecol-verrechnung" label="Verrechnung" flex="1" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/bankverbindung/rdf#verrechnung" onclick="KontaktBankverbindungTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="kontakt-bankverbindung-treecol-person_id" label="Person_id" flex="1" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/bankverbindung/rdf#person_id" onclick="KontaktBankverbindungTreeSort()"/>
<splitter class="tree-splitter"/>
<treecol id="kontakt-bankverbindung-treecol-bankverbindung_id" label="Bankverbindung_id" flex="1" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/bankverbindung/rdf#bankverbindung_id" onclick="KontaktBankverbindungTreeSort()"/>
<splitter class="tree-splitter"/>
</treecols>
<template>
<rule>
<treechildren>
<treeitem uri="rdf:*">
<treerow>
<treecell label="rdf:http://www.technikum-wien.at/bankverbindung/rdf#name" />
<treecell label="rdf:http://www.technikum-wien.at/bankverbindung/rdf#anschrift" />
<treecell label="rdf:http://www.technikum-wien.at/bankverbindung/rdf#bic" />
<treecell label="rdf:http://www.technikum-wien.at/bankverbindung/rdf#blz" />
<treecell label="rdf:http://www.technikum-wien.at/bankverbindung/rdf#iban" />
<treecell label="rdf:http://www.technikum-wien.at/bankverbindung/rdf#kontonr" />
<treecell label="rdf:http://www.technikum-wien.at/bankverbindung/rdf#typ" />
<treecell label="rdf:http://www.technikum-wien.at/bankverbindung/rdf#verrechnung" />
<treecell label="rdf:http://www.technikum-wien.at/bankverbindung/rdf#person_id" />
<treecell label="rdf:http://www.technikum-wien.at/bankverbindung/rdf#bankverbindung_id" />
</treerow>
</treeitem>
</treechildren>
</rule>
</template>
</tree>
<vbox>
<button id='kontakt-bankverbindung-neu' label='Neu' oncommand='' />
<button id='kontakt-bankverbindung-bearbeiten' label='Bearbeiten' oncommand='' />
<button id='kontakt-bankverbindung-loeschen' label='Loeschen' oncommand='' />
</vbox>
</hbox>
</groupbox>
<!--
<textbox id="kontakt-textbox-adresse" value="Schulgasse" />
<button onclick="getData();" label="Show" />
<button onclick="alert(parent.document)" label="Show" />
-->
</vbox>
</window>
+3 -1
View File
@@ -1,3 +1,4 @@
/*
.stplDetailRow
{
margin:0px;
@@ -86,4 +87,5 @@ treechildren::-moz-tree-row(odd) { background-color: #EEEEEE; }
treechildren::-moz-tree-row(odd, selected) { background-color: #FFFFAA; }
treechildren::-moz-tree-row(even, selected) { background-color: #FFFFAA; }
treechildren::-moz-tree-cell-text(selected) { color: #000000; }
treechildren::-moz-tree-cell-text(odd, selected) { color: #000000; }
treechildren::-moz-tree-cell-text(odd, selected) { color: #000000; }
/*
@@ -27,7 +27,6 @@ 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" ?>';
echo "<?xml-stylesheet href=\"".APP_ROOT."content/lvplanung/lehrveranstaltung.css\" type=\"text/css\" ?>";
?>
@@ -340,7 +339,7 @@ echo "<?xml-stylesheet href=\"".APP_ROOT."content/lvplanung/lehrveranstaltung.cs
</row>
<row>
<label control="lehrveranstaltung-lehreinheitmitarbeiter-textbox-semesterstunden" value="Semesterstunden: "/>
<textbox id="lehrveranstaltung-lehreinheitmitarbeiter-textbox-semesterstunden" disabled="true" maxlength="3" flex="1" oninput="LeMitarbeiterValueChanged();"/>
<textbox id="lehrveranstaltung-lehreinheitmitarbeiter-textbox-semesterstunden" disabled="true" maxlength="6" flex="1" oninput="LeMitarbeiterValueChanged();"/>
<label control="lehrveranstaltung-lehreinheitmitarbeiter-textbox-planstunden" value="Planstunden: "/>
<textbox id="lehrveranstaltung-lehreinheitmitarbeiter-textbox-planstunden" disabled="true" maxlength="3" flex="1" oninput="LeMitarbeiterValueChanged();"/>
</row>
@@ -850,7 +850,7 @@ function LeMitarbeiterValueChanged()
function LeMitarbeiterDisableFields(val)
{
//Felder Leeren
document.getElementById('lehrveranstaltung-lehreinheitmitarbeiter-menulist-lehrfunktion_kurzbz').value='lektor';
document.getElementById('lehrveranstaltung-lehreinheitmitarbeiter-menulist-lehrfunktion_kurzbz').value='Lektor';
//document.getElementById('lehrveranstaltung-lehreinheitmitarbeiter-menulist-lektor').value='';
document.getElementById('lehrveranstaltung-lehreinheitmitarbeiter-textbox-semesterstunden').value='';
document.getElementById('lehrveranstaltung-lehreinheitmitarbeiter-textbox-planstunden').value='';
@@ -934,7 +934,6 @@ function LeMitarbeiterAuswahl()
//Felder aktivieren
LeMitarbeiterDisableFields(false);
//Felder befuellen
document.getElementById('lehrveranstaltung-lehreinheitmitarbeiter-menulist-lehrfunktion_kurzbz').value=lehrfunktion_kurzbz;
document.getElementById('lehrveranstaltung-lehreinheitmitarbeiter-menulist-lektor').value=mitarbeiter_uid;
@@ -175,12 +175,14 @@ echo '<?xul-overlay href="'.APP_ROOT.'content/student/interessentkontooverlay.xu
<tab id="interessent-tab-prestudent" label="PreStudent" />
<tab id="interessent-tab-dokumente" label="Dokumente" />
<tab id="interessent-tab-konto" label="Konto" />
<tab id="interessent-tab-kontakt" label="Kontakt" />
</tabs>
<tabpanels id="interessent-tabpanels-main" flex="1">
<vbox id="interessent-detail" style="margin-top:10px;" />
<vbox id="interessent-prestudent" style="margin-top:10px;" />
<vbox id="interessent-dokumente" style="margin-top:10px;" />
<vbox id="interessent-konto" style="margin-top:10px;" />
<iframe id="interessent-kontakt" src="" style="margin-top:10px;"/>
</tabpanels>
</tabbox>
</vbox>
@@ -673,6 +673,8 @@ function InteressentAuswahl()
InteressentKontoTreeDatasource.addXMLSinkObserver(InteressentKontoTreeSinkObserver);
kontotree.builder.addListener(InteressentKontoTreeListener);
// KONTAKTE
document.getElementById('interessent-kontakt').setAttribute('src', 'kontakt.xul.php?person_id='+person_id);
}
// ****
+2
View File
@@ -185,6 +185,7 @@ echo '<?xul-overlay href="'.APP_ROOT.'content/student/studentnotenoverlay.xul.ph
<tab id="student-tab-betriebsmittel" label="Betriebsmittel" />
<tab id="student-tab-io" label="Incoming/Outgoing" />
<tab id="student-tab-noten" label="Noten" />
<tab id="student-tab-kontakt" label="Kontakt" />
</tabs>
<tabpanels id="student-tabpanels-main" flex="1">
<vbox id="student-detail" style="margin-top:10px;" />
@@ -194,6 +195,7 @@ echo '<?xul-overlay href="'.APP_ROOT.'content/student/studentnotenoverlay.xul.ph
<vbox id="student-betriebsmittel" style="margin-top:10px;" />
<vbox id="student-io" style="margin-top:10px;" />
<vbox id="student-noten" style="margin-top:10px;" />
<iframe id="student-kontakt" src="" style="margin-top:10px;" />
</tabpanels>
</tabbox>
</vbox>
+3
View File
@@ -973,6 +973,9 @@ function StudentAuswahl()
lvgesamtnotentree.database.AddDataSource(StudentLvGesamtNotenTreeDatasource);
StudentLvGesamtNotenTreeDatasource.addXMLSinkObserver(StudentLvGesamtNotenTreeSinkObserver);
lvgesamtnotentree.builder.addListener(StudentLvGesamtNotenTreeListener);
// KONTAKTE
document.getElementById('student-kontakt').setAttribute('src','kontakt.xul.php?person_id='+person_id);
}
// ****
+4
View File
@@ -15,6 +15,10 @@ function onLoad()
initLektorTree();
//Studenten Tab beim starten markieren
document.getElementById('tabbox-main').selectedIndex="1";
//Funktion ueberschreiben damit sie nicht nochmal aufgerufen wird
//wenn zb ein IFrame geladen wird
onLoad=function() {return false};
}
catch(e)
{
+118 -168
View File
@@ -20,7 +20,7 @@
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
/**
* Klasse Adresse (FAS-Online)
* Klasse Adresse
* @create 13-03-2006
*/
@@ -46,52 +46,58 @@ class adresse
var $zustelladresse; // @var boolean
var $firma_id; // @var integer
var $updateamum; // @var timestamp
var $updatevon=0; // @var string
var $updatevon; // @var string
var $insertamum; // @var timestamp
var $insertvon=0; // @var string
var $insertvon; // @var string
var $ext_id; // @var integer
/**
* Konstruktor
* @param $conn Connection
* $adress_id ID der Adresse die geladen werden soll (Default=null)
*/
function adresse($conn,$adress_id=null,$unicode=false)
// *************************************************************************
// * Konstruktor
// * @param $conn Connection
// * $adress_id ID der Adresse die geladen werden soll (Default=null)
// * $unicode wenn false dann wird das Encoding auf LATIN9 gesetzt
// * wenn true dann auf UNICODE
// * wenn null dann wird das Encoding nicht veraendert
// *************************************************************************
function adresse($conn,$adresse_id=null,$unicode=false)
{
$this->conn = $conn;
if ($unicode)
if($unicode!=null)
{
$qry = "SET CLIENT_ENCODING TO 'UNICODE';";
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;
}
}
else
{
$qry="SET CLIENT_ENCODING TO 'LATIN9';";
}
if(!pg_query($conn,$qry))
{
$this->errormsg = "Encoding konnte nicht gesetzt werden";
return false;
}
//if($adress_id != null) $this->load($adress_id);
if($adresse_id != null)
$this->load($adresse_id);
}
/**
* Laedt die Funktion mit der ID $adress_id
* @param $adress_id ID der zu ladenden Funktion
* @return true wenn ok, false im Fehlerfall
*/
function load($adress_id)
// ***********************************************
// * Laedt die Adresse mit der ID $adresse_id
// * @param $adress_id ID der zu ladenden Adresse
// * @return true wenn ok, false im Fehlerfall
// ***********************************************
function load($adresse_id)
{
//Pruefen ob adress_id eine gueltige Zahl ist
if(!is_numeric($adress_id) || $adress_id == '')
if(!is_numeric($adresse_id) || $adresse_id == '')
{
$this->errormsg = 'Adress_id muss eine Zahl sein';
$this->errormsg = 'Adresse_id muss eine Zahl sein';
return false;
}
//Daten aus der Datenbank lesen
$qry = "SELECT * FROM tbl_adresse WHERE adresse_id=$adress_id";
$qry = "SELECT * FROM public.tbl_adresse WHERE adresse_id='$adresse_id'";
if(!$res = pg_query($this->conn,$qry))
{
@@ -101,22 +107,22 @@ class adresse
if($row = pg_fetch_object($res))
{
$this->adresse_id = $row->adresse_id;
$this->heimatadresse = ($row->heimatadresse=='t'?true:false);
$this->zustelladresse = ($row->zustelladresse=='t'?true:false);
$this->gemeinde = $row->gemeinde;
$this->name = $row->name;
$this->nation = $row->nation;
$this->ort = $row->ort;
$this->person_id = $row->person_id;
$this->plz = $row->plz;
$this->strasse = $row->strasse;
$this->typ = $row->typ;
$this->updateamum = $row->updateamum;
$this->updatevon = $row->updatevon;
$this->updateamum = $row->insertamum;
$this->updatevon = $row->insertvon;
$this->firma_id=$row->firma_id;
$this->adresse_id = $row->adresse_id;
$this->heimatadresse = ($row->heimatadresse=='t'?true:false);
$this->zustelladresse = ($row->zustelladresse=='t'?true:false);
$this->gemeinde = $row->gemeinde;
$this->name = $row->name;
$this->nation = $row->nation;
$this->ort = $row->ort;
$this->person_id = $row->person_id;
$this->plz = $row->plz;
$this->strasse = $row->strasse;
$this->typ = $row->typ;
$this->updateamum = $row->updateamum;
$this->updatevon = $row->updatevon;
$this->insertamum = $row->insertamum;
$this->insertvon = $row->insertvon;
$this->firma_id = $row->firma_id;
}
else
{
@@ -127,11 +133,11 @@ class adresse
return true;
}
/**
* Laedt alle adressen zu der Person die uebergeben wird
* @param $pers_id ID der Person zu der die Adressen geladen werden sollen
* @return true wenn ok, false im Fehlerfall
*/
// *************************************************************************
// * Laedt alle adressen zu der Person die uebergeben wird
// * @param $pers_id ID der Person zu der die Adressen geladen werden sollen
// * @return true wenn ok, false im Fehlerfall
// *************************************************************************
function load_pers($pers_id)
{
//Pruefen ob pers_id eine gueltige Zahl ist
@@ -142,7 +148,7 @@ class adresse
}
//Lesen der Daten aus der Datenbank
$qry = "SELECT * FROM public.tbl_adresse WHERE person_id=$pers_id";
$qry = "SELECT * FROM public.tbl_adresse WHERE person_id='$pers_id'";
if(!$res = pg_query($this->conn,$qry))
{
@@ -152,10 +158,10 @@ class adresse
while($row = pg_fetch_object($res))
{
$adr_obj = new adresse($this->conn);
$adr_obj = new adresse($this->conn, null, null);
$adr_obj->adresse_id = $row->adresse_id;
$adr_obj->heimatdresse = ($row->heimatadresse=='t'?true:false);
$adr_obj->heimatadresse = ($row->heimatadresse=='t'?true:false);
$adr_obj->gemeinde = $row->gemeinde;
$adr_obj->name = $row->name;
$adr_obj->nation = $row->nation;
@@ -174,50 +180,12 @@ class adresse
}
return true;
}
/**
* Laedt alle Adressen aus der Datenbank
* @return true wenn ok, false im Fehlerfall
*/
function getAll()
{
$qry = "SELECT * FROM adresse";
if(!$res = pg_query($this->conn,$qry))
{
$this->errormsg = 'Fehler bei einer Datenbankabfrage';
return false;
}
while($row = pg_fetch_object($res))
{
$adr_obj = new adresse($this->conn);
$adr_obj->adresse_id = $row->adresse_pk;
$adr_obj->bismeldeadresse = ($row->bismeldeadresse=='J'?true:false);
$adr_obj->gemeinde = $row->gemeinde;
$adr_obj->name = $row->name;
$adr_obj->nation = $row->nation;
$adr_obj->ort = $row->ort;
$adr_obj->person_id = $row->person_fk;
$adr_obj->plz = $row->plz;
$adr_obj->strasse = $row->strasse;
$adr_obj->typ = $row->typ;
$adr_obj->updateamum = $row->creationdate;
$adr_obj->updatevon = $row->creationuser;
$adr_obj->zustelladresse = ($row->zustelladresse=='J'?true:false);
$this->result[] = $adr_obj;
}
return true;
}
/**
* Prueft die Variablen auf gueltigkeit
* @return true wenn ok, false im Fehlerfall
*/
function checkvars()
// *******************************************
// * Prueft die Variablen auf Gueltigkeit
// * @return true wenn ok, false im Fehlerfall
// *******************************************
function validate()
{
//Zahlenfelder pruefen
if(!is_numeric($this->person_id))
@@ -262,6 +230,7 @@ class adresse
$this->errormsg = '';
return true;
}
// ************************************************
// * wenn $var '' ist wird "null" zurueckgegeben
// * wenn $var !='' ist werden datenbankkritische
@@ -273,34 +242,23 @@ class adresse
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 $adresse_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 $adresse_id aktualisiert
// * @return true wenn ok, false im Fehlerfall
// ***********************************************************************
function save()
{
//Variablen pruefen
if(!$this->checkvars())
if(!$this->validate())
return false;
if($this->new)
{
//Neuen Datensatz einfuegen
//naechste ID aus der Sequence holen
$qry="SELECT nextval('tbl_adresse_adresse_id_seq') as id;";
if(!$row = pg_fetch_object(pg_query($this->conn,$qry)))
{
$this->errormsg = 'Fehler beim auslesen der Sequence'."\n";
return false;
}
$this->adresse_id = $row->id;
$qry='INSERT INTO tbl_adresse (adresse_id, person_id, name, strasse, plz, typ, ort, nation, insertamum, insertvon,
$qry='BEGIN;INSERT INTO tbl_adresse (person_id, name, strasse, plz, typ, ort, nation, insertamum, insertvon,
gemeinde, heimatadresse, zustelladresse, firma_id, updateamum, updatevon, ext_id) VALUES('.
$this->addslashes($this->adresse_id).', '.
$this->addslashes($this->person_id).', '.
$this->addslashes($this->name).', '.
$this->addslashes($this->strasse).', '.
@@ -315,6 +273,7 @@ class adresse
($this->firma_id!=null?$this->addslashes($this->firma_id):'null').', now(), '.
$this->addslashes($this->updatevon).', '.
$this->addslashes($this->ext_id).');';
$this->done=true;
}
else
@@ -327,7 +286,7 @@ class adresse
$this->errormsg = 'adresse_id muss eine gueltige Zahl sein: '.$this->adresse_id."\n";
return false;
}
$qryz="SELECT * FROM tbl_adresse WHERE adresse_id='$this->adresse_id';";
$qryz="SELECT * FROM public.tbl_adresse WHERE adresse_id='$this->adresse_id';";
if($resultz = pg_query($this->conn, $qryz))
{
if($rowz = pg_fetch_object($resultz))
@@ -346,20 +305,20 @@ class adresse
if($update)
{
$qry='UPDATE tbl_adresse SET'.
$qry='UPDATE public.tbl_adresse SET'.
' person_id='.$this->addslashes($this->person_id).', '.
' name='.$this->addslashes($this->name).', '.
' strasse='.$this->addslashes($this->strasse).', '.
' plz='.$this->addslashes($this->plz).', '.
' typ='.$this->addslashes($this->typ).', '.
' ort='.$this->addslashes($this->ort).', '.
' nation='.$this->addslashes($this->nation).', '.
' gemeinde='.$this->addslashes($this->gemeinde).', '.
' updateamum= now(), '.
' updatevon='.$this->addslashes($this->updatevon).', '.
' heimatadresse='.($this->heimatadresse?'true':'false').', '.
' zustelladresse='.($this->zustelladresse?'true':'false').' '.
'WHERE adresse_id='.$this->adresse_id.';';
' typ='.$this->addslashes($this->typ).', '.
' ort='.$this->addslashes($this->ort).', '.
' nation='.$this->addslashes($this->nation).', '.
' gemeinde='.$this->addslashes($this->gemeinde).', '.
' updateamum= now(), '.
' updatevon='.$this->addslashes($this->updatevon).', '.
' heimatadresse='.($this->heimatadresse?'true':'false').', '.
' zustelladresse='.($this->zustelladresse?'true':'false').' '.
'WHERE adresse_id='.$this->adresse_id.';';
$this->done=true;
}
}
@@ -370,24 +329,31 @@ class adresse
{
if(pg_query($this->conn,$qry))
{
//Log schreiben
/*$sql = $qry;
$qry = "SELECT nextval('log_seq') as id;";
if(!$row = pg_fetch_object(pg_query($this->conn, $qry)))
if($this->new)
{
$this->errormsg = 'Fehler beim Auslesen der Log-Sequence';
return false;
//naechste ID aus der Sequence holen
$qry="SELECT nextval('public.tbl_adresse_adresse_id_seq') as id;";
if($result = pg_query($this->conn, $qry))
{
if($row = pg_fetch_object($result))
{
$this->adresse_id = $row->id;
pg_query($this->conn, 'COMMIT');
}
else
{
pg_query($this->conn, 'ROLLBACK');
$this->errormsg = "Fehler beim Auslesen der Sequence";
return false;
}
}
else
{
pg_query($this->conn, 'ROLLBACK');
$this->errormsg = 'Fehler beim Auslesen der Sequence';
return false;
}
}
$qry = "INSERT INTO log(log_pk, creationdate, creationuser, sql) VALUES('$row->id', now(), '$this->updatevon', '".addslashes($sql)."')";
if(pg_query($this->conn, $qry))
return true;
else
{
$this->errormsg = 'Fehler beim Speichern des Log-Eintrages';
return false;
} */
return true;
}
else
{
@@ -401,42 +367,26 @@ class adresse
}
}
/**
* Loescht den Datenensatz mit der ID die uebergeben wird
* @param $adress_id ID die geloescht werden soll
* @return true wenn ok, false im Fehlerfall
*/
function delete($adress_id)
// ********************************************************
// * Loescht den Datenensatz mit der ID die uebergeben wird
// * @param $adresse_id ID die geloescht werden soll
// * @return true wenn ok, false im Fehlerfall
// ********************************************************
function delete($adresse_id)
{
//Pruefen ob adresse_id eine gueltige Zahl ist
if(!is_numeric($adress_id) || $adress_id == '')
if(!is_numeric($adresse_id) || $adresse_id == '')
{
$this->errormsg = 'adresse_id muss eine gueltige Zahl sein'."\n";
return false;
}
//loeschen des Datensatzes
$qry="DELETE FROM adresse WHERE adresse_pk=$adress_id;";
$qry="DELETE FROM public.tbl_adresse WHERE adresse_id='$adresse_id';";
if(pg_query($this->conn,$qry))
{
//Log schreiben
$sql = $qry;
$qry = "SELECT nextval('log_seq') as id;";
if(!$row = pg_fetch_object(pg_query($this->conn, $qry)))
{
$this->errormsg = 'Fehler beim Auslesen der Log-Sequence';
return false;
}
$qry = "INSERT INTO log(log_pk, creationdate, creationuser, sql) VALUES('$row->id', now(), '$this->updatevon', '".addslashes($sql)."')";
if(pg_query($this->conn, $qry))
return true;
else
{
$this->errormsg = "Fehler beim Speichern des Log-Eintrages\n";
return false;
}
return true;
}
else
{
+133 -35
View File
@@ -54,30 +54,66 @@ class kontakt
function kontakt($conn,$kontakt_id=null, $unicode=false)
{
$this->conn = $conn;
if ($unicode)
if($unicode!=null)
{
$qry = "SET CLIENT_ENCODING TO 'UNICODE';";
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;
}
}
else
{
$qry="SET CLIENT_ENCODING TO 'LATIN9';";
}
if(!pg_query($conn,$qry))
{
$this->errormsg = "Encoding konnte nicht gesetzt werden";
return false;
}
//if($firma_id != null) $this->load($firma_id);
if($kontakt_id != null)
$this->load($kontakt_id);
}
/**
* Laedt die Funktion mit der ID $kontakt_id
* @param $kontakt_id ID der zu ladenden Email
* Laedt einen Kontakt mit der ID $kontakt_id
* @param $kontakt_id ID des zu ladenden Kontaktes
* @return true wenn ok, false im Fehlerfall
*/
function load($kontakt_id)
{
//noch nicht implementiert
if(!is_numeric($kontakt_id))
{
$this->errormsg = 'Kontakt_id ist ungueltig';
return false;
}
$qry = "SELECT * FROM public.tbl_kontakt WHERE kontakt_id='$kontakt_id'";
if($result = pg_query($this->conn, $qry))
{
if($row = pg_fetch_object($result))
{
$this->kontakt_id = $row->kontakt_id;
$this->person_id = $row->person_id;
$this->firma_id = $row->firma_id;
$this->kontakttyp = $row->kontakttyp;
$this->anmerkung = $row->anmerkung;
$this->kontakt = $row->kontakt;
$this->zustellung = ($row->zustellung=='t'?true:false);
$this->updateamum = $row->updateamum;
$this->updatevon = $row->updatevon;
$this->insertamum = $row->insertamum;
$this->insertvon = $row->insertvon;
$this->ext_id = $row->ext_id;
}
else
{
$this->errormsg = 'Datensatz wurde nicht gefunden';
return false;
}
}
else
{
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
}
/**
@@ -107,6 +143,7 @@ class kontakt
$this->errormsg = '';
return true;
}
// ************************************************
// * wenn $var '' ist wird "null" zurueckgegeben
// * wenn $var !='' ist werden datenbankkritische
@@ -117,6 +154,7 @@ class kontakt
{
return ($var!=''?"'".addslashes($var)."'":'null');
}
/**
* Speichert den aktuellen Datensatz in die Datenbank
* Wenn $neu auf true gesetzt ist wird ein neuer Datensatz angelegt
@@ -134,7 +172,7 @@ class kontakt
{
//Neuen Datensatz einfuegen
$qry='INSERT INTO tbl_kontakt (person_id, firma_id, kontakttyp, anmerkung, kontakt, zustellung, ext_id, insertamum, insertvon, updateamum, updatevon) VALUES('.
$qry='BEGIN;INSERT INTO tbl_kontakt (person_id, firma_id, kontakttyp, anmerkung, kontakt, zustellung, ext_id, insertamum, insertvon, updateamum, updatevon) VALUES('.
$this->addslashes($this->person_id).', '.
$this->addslashes($this->firma_id).', '.
$this->addslashes($this->kontakttyp).', '.
@@ -193,23 +231,32 @@ class kontakt
{
if(pg_query($this->conn, $qry))
{
//Log schreiben
/*$sql = $qry;
$qry = "SELECT nextval('log_seq') as id;";
if(!$row = pg_fetch_object(pg_query($this->conn, $qry)))
if($this->new)
{
$this->errormsg = 'Fehler beim Auslesen der Log-Sequence';
return false;
}
$qry = "INSERT INTO log(log_pk, creationdate, creationuser, sql) VALUES('$row->id', now(), '$this->updatevon', '".addslashes($sql)."')";
if(pg_query($this->conn, $qry))
return true;
else
{
$this->errormsg = 'Fehler beim Speichern des Log-Eintrages';
return false;
} */
$qry = "SELECT currval('public.tbl_kontakt_kontakt_id_seq') as id";
if($result = pg_query($this->conn, $qry))
{
if($row = pg_fetch_object($result))
{
$this->kontakt_id = $row->id;
pg_query($this->conn, 'COMMIT');
return true;
}
else
{
$this->errormsg = 'Fehler beim Auslesen er Sequence';
pg_query($this->conn, 'ROLLBACK');
return false;
}
}
else
{
$this->errormsg = 'Fehler beim Auslesen der Sequence';
pg_query($this->conn, 'ROLLBACK');
return false;
}
}
return true;
}
else
@@ -226,12 +273,63 @@ class kontakt
/**
* Loescht den Datenensatz mit der ID die uebergeben wird
* @param $firma_id ID die geloescht werden soll
* @param $kontakt_id ID die geloescht werden soll
* @return true wenn ok, false im Fehlerfall
*/
function delete($firma_id)
function delete($kontakt_id)
{
//noch nicht implementiert!
if(!is_numeric($kontakt_id))
{
$this->errormsg = 'Kontakt_id ist ungueltig';
return false;
}
$qry = "DELETE FROM public.tbl_kontakt WHERE kontakt_id='$kontakt_id'";
if(pg_query($this->conn, $qry))
return true;
else
{
$this->errormsg = 'Fehler beim Loeschen der Daten';
return false;
}
}
// **
// * Laedt alle Kontaktdaten einer Person
// **
function load_pers($person_id)
{
if(!is_numeric($person_id))
{
$this->errormsg = 'Person_id ist ungueltig';
return false;
}
$qry = "SELECT * FROM public.tbl_kontakt WHERE person_id='$person_id'";
if($result = pg_query($this->conn, $qry))
{
while($row = pg_fetch_object($result))
{
$obj = new kontakt($this->conn, null, null);
$obj->kontakt_id = $row->kontakt_id;
$obj->person_id = $row->person_id;
$obj->firma_id = $row->firma_id;
$obj->kontakttyp = $row->kontakttyp;
$obj->anmerkung = $row->anmerkung;
$obj->kontakt = $row->kontakt;
$obj->zustellung = $row->zustellung;
$obj->updateamum = $row->updateamum;
$obj->updatevon = $row->updatevon;
$obj->insertamum = $row->insertamum;
$obj->insertvon = $row->insertvon;
$obj->ext_id = $row->ext_id;
$this->result[] = $obj;
}
}
}
}
?>
+1 -1
View File
@@ -267,7 +267,7 @@ class lehreinheitmitarbeiter
}
else
{
$this->errormsg = 'Fehler beim Speichern der LEMitarbeiter:'.$qry;
$this->errormsg = 'Fehler beim Speichern der LEMitarbeiter:'.$qry.pg_errormessage($this->conn);
return false;
}
}
+102
View File
@@ -0,0 +1,102 @@
<?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/adresse.class.php');
require_once('../include/datum.class.php');
// Datenbank Verbindung
if (!$conn = pg_pconnect(CONN_STRING))
die('Es konnte keine Verbindung zum Server aufgebaut werden!');
if(isset($_GET['person_id']))
$person_id = $_GET['person_id'];
else
$person_id = '';
if(isset($_GET['adresse_id']))
$adresse_id = $_GET['adresse_id'];
else
$adresse_id = '';
$datum = new datum();
$adresse = new adresse($conn, null, true);
$rdf_url='http://www.technikum-wien.at/adresse';
echo '
<RDF:RDF
xmlns:RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:ADRESSE="'.$rdf_url.'/rdf#"
>
<RDF:Seq about="'.$rdf_url.'/liste">
';
if($adresse_id!='')
{
$adresse->load($adresse_id);
draw_rdf($adresse);
}
else
{
$adresse->load_pers($person_id);
foreach ($adresse->result as $row)
draw_rdf($row);
}
function draw_rdf($row)
{
global $rdf_url;
echo '
<RDF:li>
<RDF:Description id="'.$row->adresse_id.'" about="'.$rdf_url.'/'.$row->adresse_id.'" >
<ADRESSE:adresse_id><![CDATA['.$row->adresse_id.']]></ADRESSE:adresse_id>
<ADRESSE:person_id><![CDATA['.$row->person_id.']]></ADRESSE:person_id>
<ADRESSE:name><![CDATA['.$row->name.']]></ADRESSE:name>
<ADRESSE:strasse><![CDATA['.$row->strasse.']]></ADRESSE:strasse>
<ADRESSE:plz><![CDATA['.$row->plz.']]></ADRESSE:plz>
<ADRESSE:ort><![CDATA['.$row->ort.']]></ADRESSE:ort>
<ADRESSE:gemeinde><![CDATA['.$row->gemeinde.']]></ADRESSE:gemeinde>
<ADRESSE:nation><![CDATA['.$row->nation.']]></ADRESSE:nation>
<ADRESSE:typ><![CDATA['.$row->typ.']]></ADRESSE:typ>
<ADRESSE:heimatadresse><![CDATA['.($row->heimatadresse?'Ja':'Nein').']]></ADRESSE:heimatadresse>
<ADRESSE:zustelladresse><![CDATA['.($row->zustelladresse?'Ja':'Nein').']]></ADRESSE:zustelladresse>
<ADRESSE:firma_id><![CDATA['.$row->firma_id.']]></ADRESSE:firma_id>
</RDF:Description>
</RDF:li>
';
}
?>
</RDF:Seq>
</RDF:RDF>
+97
View File
@@ -0,0 +1,97 @@
<?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/kontakt.class.php');
require_once('../include/datum.class.php');
// Datenbank Verbindung
if (!$conn = pg_pconnect(CONN_STRING))
die('Es konnte keine Verbindung zum Server aufgebaut werden!');
if(isset($_GET['person_id']))
$person_id = $_GET['person_id'];
else
$person_id = '';
if(isset($_GET['kontakt_id']))
$kontakt_id = $_GET['kontakt_id'];
else
$kontakt_id = '';
$datum = new datum();
$kontakt = new kontakt($conn, null, true);
$rdf_url='http://www.technikum-wien.at/kontakt';
echo '
<RDF:RDF
xmlns:RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:KONTAKT="'.$rdf_url.'/rdf#"
>
<RDF:Seq about="'.$rdf_url.'/liste">
';
if($kontakt_id!='')
{
$kontakt->load($kontakt_id);
draw_rdf($kontakt);
}
else
{
$kontakt->load_pers($person_id);
foreach ($kontakt->result as $row)
draw_rdf($row);
}
function draw_rdf($row)
{
global $rdf_url;
echo '
<RDF:li>
<RDF:Description id="'.$row->kontakt_id.'" about="'.$rdf_url.'/'.$row->kontakt_id.'" >
<KONTAKT:kontakt_id><![CDATA['.$row->kontakt_id.']]></KONTAKT:kontakt_id>
<KONTAKT:person_id><![CDATA['.$row->person_id.']]></KONTAKT:person_id>
<KONTAKT:firma_id><![CDATA['.$row->firma_id.']]></KONTAKT:firma_id>
<KONTAKT:kontakttyp><![CDATA['.$row->kontakttyp.']]></KONTAKT:kontakttyp>
<KONTAKT:anmerkung><![CDATA['.$row->anmerkung.']]></KONTAKT:anmerkung>
<KONTAKT:kontakt><![CDATA['.$row->kontakt.']]></KONTAKT:kontakt>
<KONTAKT:zustellung><![CDATA['.($row->zustellung?'Ja':'Nein').']]></KONTAKT:zustellung>
</RDF:Description>
</RDF:li>
';
}
?>
</RDF:Seq>
</RDF:RDF>
+28 -1
View File
@@ -49,4 +49,31 @@ grid.lvaStundenplan button
padding-bottom: 0px;
padding-left: 0px;
padding-right: 0px;
}
}
tree treecol {
background-color: #FFFFCC;
border: 1px solid black;
}
tree {
font-size:9pt;
font-family:Arial;
}
box.studentDetail {
-moz-binding: url('lehrveranstaltungbinding.xml.php#studentDetail');
}
label,textbox {
font-size:9pt;
font-family:Arial;
}
treechildren::-moz-tree-row(selected) { background-color: #FFFFAA; }
treechildren::-moz-tree-row(odd) { background-color: #EEEEEE; }
treechildren::-moz-tree-row(odd, selected) { background-color: #FFFFAA; }
treechildren::-moz-tree-row(even, selected) { background-color: #FFFFAA; }
treechildren::-moz-tree-cell-text(selected) { color: #000000; }
treechildren::-moz-tree-cell-text(odd, selected) { color: #000000; }