GUI zur Verwaltung der Verträge im FAS

This commit is contained in:
Andreas Österreicher
2014-10-31 05:56:56 +00:00
parent 6da3af7879
commit c245dd101b
17 changed files with 2046 additions and 135 deletions
+257
View File
@@ -35,6 +35,10 @@ require_once('../../include/bisfunktion.class.php');
require_once('../../include/entwicklungsteam.class.php');
require_once('../../include/resturlaub.class.php');
require_once('../../include/buchung.class.php');
require_once('../../include/pruefung.class.php');
require_once('../../include/projektbetreuer.class.php');
require_once('../../include/vertrag.class.php');
require_once('../../include/lehreinheitmitarbeiter.class.php');
$user = get_uid();
@@ -402,6 +406,259 @@ if(!$error)
}
}
}
elseif(isset($_POST['type']) && $_POST['type']=='vertraggenerate')
{
if(!$rechte->isBerechtigt('vertrag/mitarbeiter',null,'suid'))
{
$return = false;
$errormsg = 'Sie haben keine Berechtigung für diesen Vorgang';
}
else
{
$errormsg='';
$person_id = $_POST['person_id'];
$person = new person();
$person->load($person_id);
$vertrag = new vertrag();
$neu = false;
if($_POST['vertrag_id']!='')
{
// Bearbeiten eines Vertrags
$vertrag_id=$_POST['vertrag_id'];
if($vertrag->load($vertrag_id))
{
$vertrag->updatevon = $user;
$vertrag->updateamum = date('Y-m-d H:i:s');
}
else
{
$errormsg.=$vertrag->errormsg;
}
}
else
{
// Neuen Vertrag erstellen
$vertrag->person_id = $person_id;
$vertrag->inservon = $user;
$vertrag->insertamum = date('Y-m-d H:i:s');
$neu = true;
}
$vertrag->vertragstyp_kurzbz=$_POST['vertragstyp_kurzbz'];
$vertrag->betrag=str_replace(',','.',$_POST['betrag']);
$vertrag->bezeichnung = $_POST['bezeichnung'];
if($errormsg=='')
{
if($vertrag->save())
{
$vertrag_id = $vertrag->vertrag_id;
// Vertragselemente zuordnen
foreach($_POST as $key=>$value)
{
if(strstr($key, 'type_'))
{
$index = mb_substr($key,5);
$type = $_POST['type_'.$index];
$projektarbeit_id = $_POST['projektarbeit_id_'.$index];
$betreuerart_kurzbz = $_POST['betreuerart_kurzbz_'.$index];
$pruefung_id = $_POST['pruefung_id_'.$index];
$lehreinheit_id = $_POST['lehreinheit_id_'.$index];
$mitarbeiter_uid = $_POST['mitarbeiter_uid_'.$index];
$stsem = $_POST['stsem_'.$index];
switch($type)
{
case 'Lehrauftrag':
$lehreinheitmitarbeiter = new lehreinheitmitarbeiter();
if($lehreinheitmitarbeiter->load($lehreinheit_id, $mitarbeiter_uid))
{
$lehreinheitmitarbeiter->vertrag_id=$vertrag_id;
if(!$lehreinheitmitarbeiter->save())
$errormsg.=$lehreinheitmitarbeiter->errormsg;
}
else
$errormsg.=$lehreinheitmitarbeiter->errormsg;
break;
case 'Pruefung':
$pruefung = new pruefung();
if($pruefung->load($pruefung_id))
{
$pruefung->vertrag_id=$vertrag_id;
if(!$pruefung->save())
$errormsg.=$pruefung->errormsg;
}
else
$errormsg.=$pruefung->errormsg;
break;
case 'Betreuung':
$projektbetreuer = new projektbetreuer();
if($projektbetreuer->load($person_id, $projektarbeit_id, $betreuerart_kurzbz))
{
$projektbetreuer->vertrag_id=$vertrag_id;
if(!$projektbetreuer->save())
$errormsg.=$projektbetreuer->errormsg;
}
else
$errormsg.=$projektbetreuer->errormsg;
break;
default:
$errormsg.='Unknown type '.$type;
break;
}
}
}
if($errormsg=='' && $neu)
{
// Neu Status setzen
$vertrag = new vertrag();
$vertrag->vertrag_id = $vertrag_id;
$vertrag->vertragsstatus_kurzbz = 'neu';
$vertrag->datum = date('Y-m-d H:i:s');
$vertrag->uid = $user;
if(!$vertrag->saveVertragsstatus(true))
$errormsg.=$vertrag->erromsg;
}
if($errormsg=='')
$return=true;
else
$return=false;
}
else
{
$return = false;
$errormsg = $vertrag->errormsg;
}
}
else
{
$return = false;
}
}
}
elseif(isset($_POST['type']) && $_POST['type']=='vertragsstatusadd')
{
if(!$rechte->isBerechtigt('vertrag/mitarbeiter',null,'suid'))
{
$return = false;
$errormsg = 'Sie haben keine Berechtigung für diesen Vorgang';
}
else
{
$vertrag_id = $_POST['vertrag_id'];
$status = $_POST['status'];
$vertrag = new vertrag();
$vertrag->vertrag_id = $vertrag_id;
$vertrag->vertragsstatus_kurzbz = $status;
$vertrag->datum = date('Y-m-d H:i:s');
$vertrag->uid = $user;
if($vertrag->saveVertragsstatus(true))
{
$return=true;
}
else
{
$return = false;
$errormsg = $vertrag->errormsg;
}
}
}
elseif(isset($_POST['type']) && $_POST['type']=='vertragsdetaildelete')
{
if(!$rechte->isBerechtigt('vertrag/mitarbeiter',null,'suid'))
{
$return = false;
$errormsg = 'Sie haben keine Berechtigung für diesen Vorgang';
}
else
{
$errormsg='';
$vertragstype = $_POST['vertragstype'];
$projektarbeit_id = $_POST['projektarbeit_id'];
$betreuerart_kurzbz = $_POST['betreuerart_kurzbz'];
$pruefung_id = $_POST['pruefung_id'];
$lehreinheit_id = $_POST['lehreinheit_id'];
$mitarbeiter_uid = $_POST['mitarbeiter_uid'];
$stsem = $_POST['stsem'];
$vertrag_id = $_POST['vertrag_id'];
$betrag = $_POST['betrag'];
switch($vertragstype)
{
case 'Lehrauftrag':
$lehreinheitmitarbeiter = new lehreinheitmitarbeiter();
if($lehreinheitmitarbeiter->load($lehreinheit_id, $mitarbeiter_uid))
{
$lehreinheitmitarbeiter->vertrag_id='';
if(!$lehreinheitmitarbeiter->save())
$errormsg.=$lehreinheitmitarbeiter->errormsg;
}
else
$errormsg.=$lehreinheitmitarbeiter->errormsg;
break;
case 'Pruefung':
$pruefung = new pruefung();
if($pruefung->load($pruefung_id))
{
$pruefung->vertrag_id='';
if(!$pruefung->save())
$errormsg.=$pruefung->errormsg;
}
else
$errormsg.=$pruefung->errormsg;
break;
case 'Betreuung':
$projektbetreuer = new projektbetreuer();
if($projektbetreuer->load($person_id, $projektarbeit_id, $betreuerart_kurzbz))
{
$projektbetreuer->vertrag_id='';
if(!$projektbetreuer->save())
$errormsg.=$projektbetreuer->errormsg;
}
else
$errormsg.=$projektbetreuer->errormsg;
break;
default:
$errormsg.='Unknown type '.$vertragstype;
break;
}
if($errormsg=='')
{
$vertrag = new vertrag();
if($vertrag->load($vertrag_id))
{
$vertrag->betrag = $vertrag->betrag-$betrag;
if($vertrag->save(false))
{
$return =true;
}
else
{
$errormsg.=$vertrag->errormsg;
$return =false;
}
}
}
else
$return = false;
}
}
else
{
$return = false;
@@ -686,10 +686,13 @@ function MitarbeiterAuswahl()
document.getElementById('mitarbeiter-funktionen').setAttribute('src',url);
}
// Buchungen laden falls vorhanden
if(document.getElementById('mitarbeiter-tab-buchung'))
{
MitarbeiterBuchungLoad(person_id)
}
// Vertraege laden falls vorhanden
if(document.getElementById('mitarbeiter-tab-vertrag'))
MitarbeiterVertragLoad(person_id)
// Selektierungsfunktion der Addons aufrufen
for(i in addon)
@@ -39,6 +39,7 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
echo '<?xul-overlay href="'.APP_ROOT.'content/mitarbeiter/mitarbeiterdetailoverlay.xul.php"?>';
echo '<?xul-overlay href="'.APP_ROOT.'content/mitarbeiter/mitarbeiterfunktionoverlay.xul.php"?>';
echo '<?xul-overlay href="'.APP_ROOT.'content/mitarbeiter/mitarbeiterbuchungoverlay.xul.php"?>';
echo '<?xul-overlay href="'.APP_ROOT.'content/mitarbeiter/mitarbeitervertragoverlay.xul.php"?>';
?>
<!DOCTYPE overlay >
@@ -246,6 +247,9 @@ echo '<?xul-overlay href="'.APP_ROOT.'content/mitarbeiter/mitarbeiterbuchungover
<?php
if($rechte->isBerechtigt('buchung/mitarbeiter'))
echo '<tab id="mitarbeiter-tab-buchung" label="Buchungen" />';
if($rechte->isBerechtigt('vertrag/mitarbeiter'))
echo '<tab id="mitarbeiter-tab-vertrag" label="Verträge" />';
?>
</tabs>
<tabpanels id="mitarbeiter-tabpanels-main" flex="1">
@@ -257,6 +261,8 @@ echo '<?xul-overlay href="'.APP_ROOT.'content/mitarbeiter/mitarbeiterbuchungover
<?php
if($rechte->isBerechtigt('buchung/mitarbeiter'))
echo '<vbox id="mitarbeiter-buchung" style="margin-top:10px;" />';
if($rechte->isBerechtigt('vertrag/mitarbeiter'))
echo '<vbox id="mitarbeiter-vertrag" style="margin-top:10px;" />';
?>
</tabpanels>
</tabbox>
@@ -0,0 +1,328 @@
<?php
/* Copyright (C) 2014 fhcomplete.org
*
* 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: Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at>
*/
require_once('../../config/vilesci.config.inc.php');
require_once('../../include/functions.inc.php');
$user = get_uid();
?>
var MitarbeiterVertragLoadedPerson=null
// ****************** FUNKTIONEN ************************** //
function MitarbeiterVertragLoad(person_id)
{
if(person_id=='')
return;
MitarbeiterVertragLoadedPerson=person_id;
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
// *** Vertrag ***
var treevertrag = document.getElementById('mitarbeiter-vertrag-tree');
url='<?php echo APP_ROOT;?>rdf/vertrag.rdf.php?person_id='+person_id+"&"+gettimestamp();
//Alte DS entfernen
var oldDatasources = treevertrag.database.GetDataSources();
while(oldDatasources.hasMoreElements())
{
treevertrag.database.RemoveDataSource(oldDatasources.getNext());
}
//Refresh damit die entfernten DS auch wirklich entfernt werden
treevertrag.builder.rebuild();
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService);
var myDatasource = rdfService.GetDataSourceBlocking(url);
treevertrag.database.AddDataSource(myDatasource);
treevertrag.builder.rebuild();
// Detail Tree leeren
vertragzugeordnettree = document.getElementById('mitarbeiter-vertrag-tree-zugeordnet');
//Alte DS entfernen
var oldDatasources = vertragzugeordnettree.database.GetDataSources();
while(oldDatasources.hasMoreElements())
{
vertragzugeordnettree.database.RemoveDataSource(oldDatasources.getNext());
}
//Refresh damit die entfernten DS auch wirklich entfernt werden
vertragzugeordnettree.builder.rebuild();
// Status Tree leeren
vertragsstatustree = document.getElementById('mitarbeiter-vertrag-tree-vertragsstatus');
//Alte DS entfernen
var oldDatasources = vertragsstatustree.database.GetDataSources();
while(oldDatasources.hasMoreElements())
{
vertragsstatustree.database.RemoveDataSource(oldDatasources.getNext());
}
//Refresh damit die entfernten DS auch wirklich entfernt werden
vertragsstatustree.builder.rebuild();
MitarbeiterVertragDisableFields(false);
}
function MitarbeiterVertragDisableFields(val)
{
}
function MitarbeiterVertragSelectVertrag()
{
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
var tree=document.getElementById('mitarbeiter-vertrag-tree');
var col = tree.columns ? tree.columns["mitarbeiter-vertrag-tree-vertrag_id"] : "mitarbeiter-vertrag-tree-vertrag_id";
if(tree.currentIndex==-1)
return false;
var vertrag_id=tree.view.getCellText(tree.currentIndex,col);
// *** Zugeordnete Vertragselemente laden
vertragzugeordnettree = document.getElementById('mitarbeiter-vertrag-tree-zugeordnet');
url='<?php echo APP_ROOT;?>rdf/vertragdetails.rdf.php?vertrag_id='+vertrag_id+"&"+gettimestamp();
//Alte DS entfernen
var oldDatasources = vertragzugeordnettree.database.GetDataSources();
while(oldDatasources.hasMoreElements())
{
vertragzugeordnettree.database.RemoveDataSource(oldDatasources.getNext());
}
//Refresh damit die entfernten DS auch wirklich entfernt werden
vertragzugeordnettree.builder.rebuild();
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService);
var datasource = rdfService.GetDataSource(url);
vertragzugeordnettree.database.AddDataSource(datasource);
// *** Status laden
vertragsstatustree = document.getElementById('mitarbeiter-vertrag-tree-vertragsstatus');
url='<?php echo APP_ROOT;?>rdf/vertragsstatus.rdf.php?vertrag_id='+vertrag_id+"&"+gettimestamp();
//Alte DS entfernen
var oldDatasources = vertragsstatustree.database.GetDataSources();
while(oldDatasources.hasMoreElements())
{
vertragsstatustree.database.RemoveDataSource(oldDatasources.getNext());
}
//Refresh damit die entfernten DS auch wirklich entfernt werden
vertragsstatustree.builder.rebuild();
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService);
var datasource = rdfService.GetDataSource(url);
vertragsstatustree.database.AddDataSource(datasource);
}
/**
* Generiert einen Vertrag aus den markierten Elementen
*/
function MitarbeiterVertragGenerateVertrag(windowdocument)
{
var tree = windowdocument.getElementById('mitarbeiter-vertrag-tree-nichtzugeordnet');
var start = new Object();
var end = new Object();
var numRanges = tree.view.selection.getRangeCount();
var url = '<?php echo APP_ROOT ?>content/mitarbeiter/mitarbeiterDBDML.php';
var req = new phpRequest(url,'','');
req.add('type', 'vertraggenerate');
req.add('person_id',MitarbeiterVertragLoadedPerson);
var betrag = windowdocument.getElementById('mitarbeiter-vertrag-neu-textbox-betrag').value;
var vertragstyp_kurzbz = windowdocument.getElementById('mitarbeiter-vertrag-neu-menulist-vertragstyp').value;
var bezeichnung = windowdocument.getElementById('mitarbeiter-vertrag-neu-textbox-bezeichnung').value;
var vertrag_id = windowdocument.getElementById('mitarbeiter-vertrag-neu-textbox-vertrag_id').value;
if(betrag=='')
{
alert('Bitte geben Sie einen Betrag ein');
return false;
}
req.add('betrag',betrag);
req.add('vertragstyp_kurzbz',vertragstyp_kurzbz);
req.add('bezeichnung',bezeichnung);
req.add('vertrag_id',vertrag_id);
var anzahl=0;
for (var t = 0; t < numRanges; t++)
{
tree.view.selection.getRangeAt(t,start,end);
for (var v = start.value; v <= end.value; v++)
{
type = getTreeCellText(tree, "mitarbeiter-vertrag-tree-nichtzugeordnet-type", v);
stsem = getTreeCellText(tree, "mitarbeiter-vertrag-tree-nichtzugeordnet-studiensemester_kurzbz",v);
pruefung_id = getTreeCellText(tree, "mitarbeiter-vertrag-tree-nichtzugeordnet-pruefung_id",v);
projektarbeit_id = getTreeCellText(tree, "mitarbeiter-vertrag-tree-nichtzugeordnet-projektarbeit_id",v);
mitarbeiter_uid = getTreeCellText(tree, "mitarbeiter-vertrag-tree-nichtzugeordnet-mitarbeiter_uid",v);
lehreinheit_id = getTreeCellText(tree, "mitarbeiter-vertrag-tree-nichtzugeordnet-lehreinheit_id",v);
betreuerart_kurzbz = getTreeCellText(tree, "mitarbeiter-vertrag-tree-nichtzugeordnet-betreuerart_kurzbz",v);
req.add('type_'+anzahl, type);
req.add('stsem_'+anzahl, stsem);
req.add('pruefung_id_'+anzahl, pruefung_id);
req.add('projektarbeit_id_'+anzahl, projektarbeit_id);
req.add('mitarbeiter_uid_'+anzahl, mitarbeiter_uid);
req.add('lehreinheit_id_'+anzahl, lehreinheit_id);
req.add('betreuerart_kurzbz_'+anzahl, betreuerart_kurzbz);
anzahl++;
}
}
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
{
MitarbeiterVertragLoad(MitarbeiterVertragLoadedPerson);
return true;
}
}
/**
* Oeffnet den Dialog zum Erstellen eines neuen Vertrags
*/
function MitarbeiterVertragAddVertrag()
{
window.open('<?php echo APP_ROOT?>content/mitarbeiter/mitarbeitervertragneudialog.xul.php?person_id='+MitarbeiterVertragLoadedPerson,"Vertrag","status=no, width=500, height=300, centerscreen, resizable");
}
/**
* Fuegt einen neuen Status zu einem Vertrag hinzu
*/
function MitarbeiterVertragStatusAdd(status)
{
var tree=document.getElementById('mitarbeiter-vertrag-tree');
var col = tree.columns ? tree.columns["mitarbeiter-vertrag-tree-vertrag_id"] : "mitarbeiter-vertrag-tree-vertrag_id";
if(tree.currentIndex==-1)
return false;
var vertrag_id=tree.view.getCellText(tree.currentIndex,col);
var url = '<?php echo APP_ROOT ?>content/mitarbeiter/mitarbeiterDBDML.php';
var req = new phpRequest(url,'','');
req.add('type', 'vertragsstatusadd');
req.add('vertrag_id',vertrag_id);
req.add('status',status);
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
{
MitarbeiterVertragSelectVertrag();
return true;
}
}
/**
* Editieren eines Vertrags
*/
function MitarbeiterVertragEdit()
{
var tree=document.getElementById('mitarbeiter-vertrag-tree');
var col = tree.columns ? tree.columns["mitarbeiter-vertrag-tree-vertrag_id"] : "mitarbeiter-vertrag-tree-vertrag_id";
if(tree.currentIndex==-1)
return false;
var vertrag_id=tree.view.getCellText(tree.currentIndex,col);
window.open('<?php echo APP_ROOT?>content/mitarbeiter/mitarbeitervertragneudialog.xul.php?person_id='+MitarbeiterVertragLoadedPerson+'&vertrag_id='+vertrag_id,"Vertrag","status=no, width=500, height=300, centerscreen, resizable");
}
function MitarbeiterVertragDetailDelete()
{
var tree=document.getElementById('mitarbeiter-vertrag-tree');
var col = tree.columns ? tree.columns["mitarbeiter-vertrag-tree-vertrag_id"] : "mitarbeiter-vertrag-tree-vertrag_id";
if(tree.currentIndex==-1)
return false;
var vertrag_id=tree.view.getCellText(tree.currentIndex,col);
var url = '<?php echo APP_ROOT ?>content/mitarbeiter/mitarbeiterDBDML.php';
var req = new phpRequest(url,'','');
req.add('vertrag_id',vertrag_id);
var tree=document.getElementById('mitarbeiter-vertrag-tree-zugeordnet');
type = getTreeCellText(tree, "mitarbeiter-vertrag-tree-zugeordnet-type", tree.currentIndex);
stsem = getTreeCellText(tree, "mitarbeiter-vertrag-tree-zugeordnet-studiensemester_kurzbz",tree.currentIndex);
pruefung_id = getTreeCellText(tree, "mitarbeiter-vertrag-tree-zugeordnet-pruefung_id",tree.currentIndex);
projektarbeit_id = getTreeCellText(tree, "mitarbeiter-vertrag-tree-zugeordnet-projektarbeit_id",tree.currentIndex);
mitarbeiter_uid = getTreeCellText(tree, "mitarbeiter-vertrag-tree-zugeordnet-mitarbeiter_uid",tree.currentIndex);
lehreinheit_id = getTreeCellText(tree, "mitarbeiter-vertrag-tree-zugeordnet-lehreinheit_id",tree.currentIndex);
betreuerart_kurzbz = getTreeCellText(tree, "mitarbeiter-vertrag-tree-zugeordnet-betreuerart_kurzbz",tree.currentIndex);
betrag = getTreeCellText(tree, "mitarbeiter-vertrag-tree-zugeordnet-betrag",tree.currentIndex);
req.add('type', 'vertragsdetaildelete');
req.add('vertragstype', type);
req.add('stsem', stsem);
req.add('pruefung_id', pruefung_id);
req.add('projektarbeit_id', projektarbeit_id);
req.add('mitarbeiter_uid', mitarbeiter_uid);
req.add('lehreinheit_id', lehreinheit_id);
req.add('betreuerart_kurzbz', betreuerart_kurzbz);
req.add('betrag', betrag);
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
{
MitarbeiterVertragLoad(MitarbeiterVertragLoadedPerson);
return true;
}
}
@@ -0,0 +1,130 @@
<?php
/* Copyright (C) 2014 fhcomplete.org
*
* 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: Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at>
*/
require_once('../../config/vilesci.config.inc.php');
require_once('../../include/functions.inc.php');
$user = get_uid();
?>
var MitarbeiterVertragNeuBetragOld=0;
function MitarbeiterVertragNeuInit(person_id, vertrag_id)
{
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
// *** Nicht zugeordnete Vertragselemente laden
vertragoffentree = document.getElementById('mitarbeiter-vertrag-tree-nichtzugeordnet');
url='<?php echo APP_ROOT;?>rdf/vertragdetails.rdf.php?person_id='+person_id+"&"+gettimestamp();
//Alte DS entfernen
var oldDatasources = vertragoffentree.database.GetDataSources();
while(oldDatasources.hasMoreElements())
{
vertragoffentree.database.RemoveDataSource(oldDatasources.getNext());
}
//Refresh damit die entfernten DS auch wirklich entfernt werden
vertragoffentree.builder.rebuild();
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService);
var datasource = rdfService.GetDataSource(url);
vertragoffentree.database.AddDataSource(datasource);
if(typeof(vertrag_id)=='undefined' || vertrag_id=='')
{
// Neuer Eintrag
// Aktuelles Datum holen
var now = new Date();
var jahr = now.getFullYear();
var monat = now.getMonth()+1;
var tag = now.getDate();
// Zweistellige Monats und Tagangaben
monat = ((monat<10)?"0":"")+monat;
tag = ((tag<10)?"0":"")+tag;
document.getElementById('mitarbeiter-vertrag-neu-textbox-bezeichnung').value=jahr+monat+tag+'';
}
else
{
// Bearbeiten eines bestehenden Eintrages
var url = '<?php echo APP_ROOT ?>rdf/vertrag.rdf.php?vertrag_id='+vertrag_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/vertrag/" + vertrag_id);
var predicateNS = "http://www.technikum-wien.at/vertrag/rdf";
//Daten holen
vertragstyp_kurzbz = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#vertragstyp_kurzbz" ));
betrag = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#betrag" ));
bezeichnung = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#bezeichnung" ));
MitarbeiterVertragNeuBetragOld = betrag;
document.getElementById('mitarbeiter-vertrag-neu-textbox-bezeichnung').value=bezeichnung;
document.getElementById('mitarbeiter-vertrag-neu-textbox-betrag').value=betrag;
MenulistSelectItemOnValue('mitarbeiter-vertrag-neu-menulist-vertragstyp', vertragstyp_kurzbz)
document.getElementById('mitarbeiter-vertrag-neu-textbox-vertrag_id').value=vertrag_id;
}
}
/**
* Generiert einen Vertrag aus den markierten Elementen
*/
function MitarbeiterVertragNeuGenerateVertrag()
{
if(window.opener.MitarbeiterVertragGenerateVertrag(document))
window.close();
}
/**
* Wenn im Baum Eintraege markiert werden, wird die Summe der markierten Eintraege berechnet
* und in das Betrag Feld geschrieben
*/
function MitarbeiterVertragNeuSelectEntry()
{
var tree = document.getElementById('mitarbeiter-vertrag-tree-nichtzugeordnet');
if (tree.currentIndex==-1)
return;
var start = new Object();
var end = new Object();
var numRanges = tree.view.selection.getRangeCount();
var betragssumme = MitarbeiterVertragNeuBetragOld;
for (var t = 0; t < numRanges; t++)
{
tree.view.selection.getRangeAt(t,start,end);
for (var v = start.value; v <= end.value; v++)
{
betrag = getTreeCellText(tree, "mitarbeiter-vertrag-tree-nichtzugeordnet-betrag", v);
betragssumme = (parseFloat(betragssumme)+parseFloat(betrag));
}
}
document.getElementById('mitarbeiter-vertrag-neu-textbox-betrag').value=betragssumme;
}
@@ -0,0 +1,172 @@
<?php
/* Copyright (C) 2014 fhcomplete.org
*
* 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: Andreas Oesterreicher <andreas.oesterreicher@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('../../config/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"?>';
echo '<?xml-stylesheet href="'.APP_ROOT.'content/datepicker/datepicker.css" type="text/css"?>';
if(isset($_GET['person_id']) && is_numeric($_GET['person_id']))
$person_id = $_GET['person_id'];
else
$person_id='';
if(isset($_GET['vertrag_id']) && is_numeric($_GET['vertrag_id']))
$vertrag_id = $_GET['vertrag_id'];
else
$vertrag_id='';
?>
<window id="mitarbeiter-vertrag-neu-dialog" title="Neu"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
onload="MitarbeiterVertragNeuInit(<?php echo "'".$person_id."','".$vertrag_id."'"; ?>)"
>
<script type="application/x-javascript" src="<?php echo APP_ROOT; ?>content/mitarbeiter/mitarbeitervertragneudialog.js.php" />
<script type="application/x-javascript" src="<?php echo APP_ROOT; ?>content/functions.js.php" />
<vbox flex="1">
<hbox hidden="true">
<label value="VertragID" control="mitarbeiter-vertrag-neu-textbox-vertrag_id" />
<textbox id="mitarbeiter-vertrag-neu-textbox-vertrag_id" value=""/>
</hbox>
<description>Die folgenden Lehraufträge sind noch keinem Vertrag zugeordnet.
Markieren Sie die Lehraufträge um diese dem Vertrag zuzuordnen:</description>
<tree id="mitarbeiter-vertrag-tree-nichtzugeordnet" seltype="multi" hidecolumnpicker="false" flex="1"
datasources="rdf:null" ref="http://www.technikum-wien.at/vertragdetails"
enableColumnDrag="true"
context="mitarbeiter-vertrag-tree-popup"
flags="dont-build-content"
onselect="MitarbeiterVertragNeuSelectEntry()"
>
<treecols>
<treecol id="mitarbeiter-vertrag-tree-nichtzugeordnet-type" label="Typ" flex="2" hidden="false" primary="true"
class="sortDirectionIndicator"
sortActive="true"
sortDirection="descending"
sort="rdf:http://www.technikum-wien.at/vertragdetails/rdf#type"/>
<splitter class="tree-splitter"/>
<treecol id="mitarbeiter-vertrag-tree-nichtzugeordnet-betrag" label="Betrag" flex="2" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/vertragdetails/rdf#betrag" />
<splitter class="tree-splitter"/>
<treecol id="mitarbeiter-vertrag-tree-nichtzugeordnet-bezeichnung" label="Bezeichnung" flex="2" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/vertragdetails/rdf#bezeichnung" />
<splitter class="tree-splitter"/>
<treecol id="mitarbeiter-vertrag-tree-nichtzugeordnet-studiensemester_kurzbz" label="Studiensemester" flex="2" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/vertragdetails/rdf#studiensemester_kurzbz" />
<splitter class="tree-splitter"/>
<treecol id="mitarbeiter-vertrag-tree-nichtzugeordnet-pruefung_id" label="PruefungID" flex="2" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/vertragdetails/rdf#pruefung_id" />
<splitter class="tree-splitter"/>
<treecol id="mitarbeiter-vertrag-tree-nichtzugeordnet-mitarbeiter_uid" label="mitarbeiter_uid" flex="2" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/vertragdetails/rdf#mitarbeiter_uid" />
<splitter class="tree-splitter"/>
<treecol id="mitarbeiter-vertrag-tree-nichtzugeordnet-projektarbeit_id" label="ProjektarbeitID" flex="2" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/vertragdetails/rdf#projektarbeit_id" />
<splitter class="tree-splitter"/>
<treecol id="mitarbeiter-vertrag-tree-nichtzugeordnet-lehreinheit_id" label="LehreinheitID" flex="2" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/vertragdetails/rdf#lehreinheit_id" />
<splitter class="tree-splitter"/>
<treecol id="mitarbeiter-vertrag-tree-nichtzugeordnet-betreuerart_kurzbz" label="BetreuerartKurzbz" flex="2" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/vertragdetails/rdf#betreuerart_kurzbz" />
</treecols>
<template>
<treechildren flex="1" >
<treeitem uri="rdf:*">
<treerow>
<treecell label="rdf:http://www.technikum-wien.at/vertragdetails/rdf#type"/>
<treecell label="rdf:http://www.technikum-wien.at/vertragdetails/rdf#betrag"/>
<treecell label="rdf:http://www.technikum-wien.at/vertragdetails/rdf#bezeichnung"/>
<treecell label="rdf:http://www.technikum-wien.at/vertragdetails/rdf#studiensemester_kurzbz"/>
<treecell label="rdf:http://www.technikum-wien.at/vertragdetails/rdf#pruefung_id"/>
<treecell label="rdf:http://www.technikum-wien.at/vertragdetails/rdf#mitarbeiter_uid"/>
<treecell label="rdf:http://www.technikum-wien.at/vertragdetails/rdf#projektarbeit_id"/>
<treecell label="rdf:http://www.technikum-wien.at/vertragdetails/rdf#lehreinheit_id"/>
<treecell label="rdf:http://www.technikum-wien.at/vertragdetails/rdf#betreuerart_kurzbz"/>
</treerow>
</treeitem>
</treechildren>
</template>
</tree>
<hbox>
<grid id="mitarbeiter-buchung-grid-detail" style="margin:4px;" flex="1">
<columns >
<column flex="1"/>
<column flex="8"/>
</columns>
<rows>
<row>
<label value="Bezeichnung" control="mitarbeiter-vertrag-neu-textbox-bezeichnung" />
<hbox>
<textbox id="mitarbeiter-vertrag-neu-textbox-bezeichnung" value=""/>
<spacer />
</hbox>
</row>
<row>
<label value="Typ" control="mitarbeiter-vertrag-neu-menulist-vertragstyp"/>
<menulist id="mitarbeiter-vertrag-neu-menulist-vertragstyp" disabled="false"
datasources="<?php echo APP_ROOT ?>rdf/vertragstyp.rdf.php"
ref="http://www.technikum-wien.at/vertragstyp" >
<menupopup>
<menuitem value=""
label="-- Keine Auswahl --"
/>
</menupopup>
<template>
<rule>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/vertragstyp/rdf#vertragstyp_kurzbz"
label="rdf:http://www.technikum-wien.at/vertragstyp/rdf#vertragstyp_bezeichnung"
uri="rdf:*"/>
</menupopup>
</rule>
</template>
</menulist>
</row>
<row>
<label value="Betrag" control="mitarbeiter-vertrag-neu-textbox-betrag" />
<hbox>
<textbox id="mitarbeiter-vertrag-neu-textbox-betrag" value="" size="10" />
<spacer />
</hbox>
</row>
</rows>
</grid>
</hbox>
<button label="Vertrag erstellen" oncommand="MitarbeiterVertragNeuGenerateVertrag()" />
</vbox>
</window>
@@ -0,0 +1,232 @@
<?php
/* Copyright (C) 2014 fhcomplete.org
*
* 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: Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at>
*/
header("Cache-Control: no-cache");
header("Cache-Control: post-check=0, pre-check=0",false);
header("Expires Mon, 26 Jul 1997 05:00:00 GMT");
header("Pragma: no-cache");
header("Content-type: application/vnd.mozilla.xul+xml");
require_once('../../config/vilesci.config.inc.php');
require_once('../../include/vertrag.class.php');
echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
?>
<overlay id="Mitarbeitervertrag"
xmlns:html="http://www.w3.org/1999/xhtml"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
>
<script type="application/x-javascript" src="<?php echo APP_ROOT; ?>content/mitarbeiter/mitarbeitervertrag.js.php" />
<vbox id="mitarbeiter-vertrag" style="overflow:auto;margin:0px;" flex="1">
<popupset>
<menupopup id="mitarbeiter-vertrag-tree-vertragsstatus-popup">
<?php
$vertrag = new vertrag();
$vertrag->loadVertragsstatus();
foreach($vertrag->result as $row)
{
echo '<menuitem label="'.$row->bezeichnung.'" oncommand="MitarbeiterVertragStatusAdd(\''.$row->vertragsstatus_kurzbz.'\');" hidden="false"/>';
}
?>
</menupopup>
<menupopup id="mitarbeiter-vertrag-tree-popup">
<menuitem label="Bearbeiten" oncommand="MitarbeiterVertragEdit()" />
</menupopup>
<menupopup id="mitabeiter-vertrag-tree-detail-popup">
<menuitem label="Entfernen" oncommand="MitarbeiterVertragDetailDelete()" />
</menupopup>
</popupset>
<vbox flex="1">
<vbox flex="1">
<hbox>
<description>Verträge</description>
<spacer flex="1" />
<button label="Neuen Vertrag erstellen" oncommand="MitarbeiterVertragAddVertrag()" />
</hbox>
<tree id="mitarbeiter-vertrag-tree" hidecolumnpicker="false" flex="1"
datasources="rdf:null" ref="http://www.technikum-wien.at/vertrag"
enableColumnDrag="true"
flags="dont-build-content"
context="mitarbeiter-vertrag-tree-popup"
onselect="MitarbeiterVertragSelectVertrag();"
ondblclick="MitarbeiterVertragEdit()"
>
<treecols>
<treecol id="mitarbeiter-vertrag-tree-bezeichnung" label="Bezeichnung" flex="2" hidden="false" primary="true"
class="sortDirectionIndicator"
sortActive="true"
sortDirection="descending"
sort="rdf:http://www.technikum-wien.at/vertrag/rdf#bezeichnung"/>
<splitter class="tree-splitter"/>
<treecol id="mitarbeiter-vertrag-tree-betrag" label="Betrag" flex="2" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/vertrag/rdf#betrag" />
<splitter class="tree-splitter"/>
<treecol id="mitarbeiter-vertrag-tree-vertragstyp" label="Vertragstyp" flex="2" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/vertrag/rdf#vertragstyp_bezeichnung" />
<splitter class="tree-splitter"/>
<treecol id="mitarbeiter-vertrag-tree-vertragstyp_kurzbz" label="VertragstypKurzbz" flex="2" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/vertrag/rdf#vertragstyp_kurzbz" />
<splitter class="tree-splitter"/>
<treecol id="mitarbeiter-vertrag-tree-vertrag_id" label="vertragID" flex="2" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/vertrag/rdf#vertrag_id" />
<splitter class="tree-splitter"/>
</treecols>
<template>
<treechildren flex="1" >
<treeitem uri="rdf:*">
<treerow>
<treecell label="rdf:http://www.technikum-wien.at/vertrag/rdf#bezeichnung"/>
<treecell label="rdf:http://www.technikum-wien.at/vertrag/rdf#betrag"/>
<treecell label="rdf:http://www.technikum-wien.at/vertrag/rdf#vertragstyp_bezeichnung"/>
<treecell label="rdf:http://www.technikum-wien.at/vertrag/rdf#vertragstyp_kurzbz"/>
<treecell label="rdf:http://www.technikum-wien.at/vertrag/rdf#vertrag_id"/>
</treerow>
</treeitem>
</treechildren>
</template>
</tree>
</vbox>
</vbox>
<hbox flex="1" id="mitarbeiter-vertrag-vbox-vertragsdetails">
<vbox flex="1">
<description>Vertragsdetails</description>
<tree id="mitarbeiter-vertrag-tree-zugeordnet" hidecolumnpicker="false" flex="1"
datasources="rdf:null" ref="http://www.technikum-wien.at/vertragdetails"
enableColumnDrag="true"
context="mitabeiter-vertrag-tree-detail-popup"
flags="dont-build-content"
>
<treecols>
<treecol id="mitarbeiter-vertrag-tree-zugeordnet-type" label="Typ" flex="2" hidden="false" primary="true"
class="sortDirectionIndicator"
sortActive="true"
sortDirection="descending"
sort="rdf:http://www.technikum-wien.at/vertragdetails/rdf#type"/>
<splitter class="tree-splitter"/>
<treecol id="mitarbeiter-vertrag-tree-zugeordnet-betrag" label="Betrag" flex="2" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/vertragdetails/rdf#betrag" />
<splitter class="tree-splitter"/>
<treecol id="mitarbeiter-vertrag-tree-zugeordnet-bezeichnung" label="Bezeichnung" flex="2" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/vertragdetails/rdf#bezeichnung" />
<splitter class="tree-splitter"/>
<treecol id="mitarbeiter-vertrag-tree-zugeordnet-studiensemester_kurzbz" label="Studiensemester" flex="2" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/vertragdetails/rdf#studiensemester_kurzbz" />
<splitter class="tree-splitter"/>
<treecol id="mitarbeiter-vertrag-tree-zugeordnet-pruefung_id" label="PruefungID" flex="2" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/vertragdetails/rdf#pruefung_id" />
<splitter class="tree-splitter"/>
<treecol id="mitarbeiter-vertrag-tree-zugeordnet-mitarbeiter_uid" label="mitarbeiter_uid" flex="2" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/vertragdetails/rdf#mitarbeiter_uid" />
<splitter class="tree-splitter"/>
<treecol id="mitarbeiter-vertrag-tree-zugeordnet-projektarbeit_id" label="ProjektarbeitID" flex="2" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/vertragdetails/rdf#projektarbeit_id" />
<splitter class="tree-splitter"/>
<treecol id="mitarbeiter-vertrag-tree-zugeordnet-lehreinheit_id" label="LehreinheitID" flex="2" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/vertragdetails/rdf#lehreinheit_id" />
<splitter class="tree-splitter"/>
<treecol id="mitarbeiter-vertrag-tree-zugeordnet-betreuerart_kurzbz" label="BetreuerartKurzbz" flex="2" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/vertragdetails/rdf#betreuerart_kurzbz" />
</treecols>
<template>
<treechildren flex="1" >
<treeitem uri="rdf:*">
<treerow>
<treecell label="rdf:http://www.technikum-wien.at/vertragdetails/rdf#type"/>
<treecell label="rdf:http://www.technikum-wien.at/vertragdetails/rdf#betrag"/>
<treecell label="rdf:http://www.technikum-wien.at/vertragdetails/rdf#bezeichnung"/>
<treecell label="rdf:http://www.technikum-wien.at/vertragdetails/rdf#studiensemester_kurzbz"/>
<treecell label="rdf:http://www.technikum-wien.at/vertragdetails/rdf#pruefung_id"/>
<treecell label="rdf:http://www.technikum-wien.at/vertragdetails/rdf#mitarbeiter_uid"/>
<treecell label="rdf:http://www.technikum-wien.at/vertragdetails/rdf#projektarbeit_id"/>
<treecell label="rdf:http://www.technikum-wien.at/vertragdetails/rdf#lehreinheit_id"/>
<treecell label="rdf:http://www.technikum-wien.at/vertragdetails/rdf#betreuerart_kurzbz"/>
</treerow>
</treeitem>
</treechildren>
</template>
</tree>
</vbox>
<vbox flex="1">
<description>Vertragsstatus</description>
<tree id="mitarbeiter-vertrag-tree-vertragsstatus" hidecolumnpicker="false" flex="1"
datasources="rdf:null" ref="http://www.technikum-wien.at/vertragsstatus"
enableColumnDrag="true"
context="mitarbeiter-vertrag-tree-vertragsstatus-popup"
flags="dont-build-content"
>
<treecols>
<treecol id="mitarbeiter-vertrag-tree-vertragsstatus-vertragsstatus_bezeichnung" label="Status" flex="2" hidden="false" primary="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/vertragsstatus/rdf#vertragsstatus_bezeichnung"/>
<splitter class="tree-splitter"/>
<treecol id="mitarbeiter-vertrag-tree-vertragsstatus-datum" label="Datum" flex="2" hidden="false"
class="sortDirectionIndicator"
sortActive="true"
sortDirection="descending"
sort="rdf:http://www.technikum-wien.at/vertragsstatus/rdf#datum" />
<splitter class="tree-splitter"/>
<treecol id="mitarbeiter-vertrag-tree-vertragsstatus-vertrag_id" label="VertragID" flex="1" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/vertragsstatus/rdf#vertrag_id" />
<splitter class="tree-splitter"/>
<treecol id="mitarbeiter-vertrag-tree-vertragsstatus-uid" label="User" flex="1" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/vertragsstatus/rdf#uid" />
<splitter class="tree-splitter"/>
<treecol id="mitarbeiter-vertrag-tree-vertragsstatus-vertragsstatus_kurzbz" label="VertragsstatusKurzbz" flex="1" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/vertragsstatus/rdf#vertragsstatus_kurzbz" />
</treecols>
<template>
<treechildren flex="1" >
<treeitem uri="rdf:*">
<treerow>
<treecell label="rdf:http://www.technikum-wien.at/vertragsstatus/rdf#vertragsstatus_bezeichnung"/>
<treecell label="rdf:http://www.technikum-wien.at/vertragsstatus/rdf#datum"/>
<treecell label="rdf:http://www.technikum-wien.at/vertragsstatus/rdf#vertrag_id"/>
<treecell label="rdf:http://www.technikum-wien.at/vertragsstatus/rdf#uid"/>
<treecell label="rdf:http://www.technikum-wien.at/vertragsstatus/rdf#vertragsstatus_kurzbz"/>
</treerow>
</treeitem>
</treechildren>
</template>
</tree>
</vbox>
</hbox>
</vbox>
</overlay>
+6 -2
View File
@@ -42,6 +42,7 @@ class lehreinheitmitarbeiter extends basis_db
public $updateamum; // timestamp
public $updatevon; // varchar(16)
public $ext_id; // bigint
public $vertrag_id;
/**
* Konstruktor - Laedt optional einee LEMitarbeiterzuordnung
@@ -91,6 +92,7 @@ class lehreinheitmitarbeiter extends basis_db
$this->insertamum = $row->insertamum;
$this->insertvon = $row->insertvon;
$this->ext_id = $row->ext_id;
$this->new=false;
return true;
}
else
@@ -228,7 +230,7 @@ class lehreinheitmitarbeiter extends basis_db
//ToDo ID entfernen
$qry = 'INSERT INTO lehre.tbl_lehreinheitmitarbeiter (lehreinheit_id, mitarbeiter_uid, semesterstunden, planstunden,
stundensatz, faktor, anmerkung, lehrfunktion_kurzbz, bismelden, ext_id, insertamum, insertvon)
stundensatz, faktor, anmerkung, lehrfunktion_kurzbz, bismelden, ext_id, insertamum, insertvon, vertrag_id)
VALUES('.$this->db_add_param($this->lehreinheit_id, FHC_INTEGER).','.
$this->db_add_param($this->mitarbeiter_uid).','.
$this->db_add_param($this->semesterstunden).','.
@@ -240,7 +242,8 @@ class lehreinheitmitarbeiter extends basis_db
$this->db_add_param($this->bismelden, FHC_BOOLEAN).','.
$this->db_add_param($this->ext_id, FHC_INTEGER).','.
$this->db_add_param($this->insertamum).','.
$this->db_add_param($this->insertvon).');';
$this->db_add_param($this->insertvon).','.
$this->db_add_param($this->vertrag_id).');';
}
else
{
@@ -266,6 +269,7 @@ class lehreinheitmitarbeiter extends basis_db
' bismelden='.$this->db_add_param($this->bismelden, FHC_BOOLEAN).','.
' updateamum='.$this->db_add_param($this->updateamum).','.
' updatevon='.$this->db_add_param($this->updatevon).','.
' vertrag_id='.$this->db_add_param($this->vertrag_id).','.
' ext_id = '.$this->db_add_param($this->ext_id, FHC_INTEGER).
$setinsert.
" WHERE lehreinheit_id=".$this->db_add_param($this->lehreinheit_id, FHC_INTEGER)." AND
+42 -27
View File
@@ -45,6 +45,7 @@ class projektbetreuer extends basis_db
public $insertvon; // bigint
public $updateamum; // timestamp
public $updatevon; // bigint
public $vertrag_id; // bigint
public $person_id_old;
@@ -80,7 +81,14 @@ class projektbetreuer extends basis_db
return false;
}
$qry = "SELECT * FROM lehre.tbl_projektbetreuer WHERE person_id='$person_id' AND projektarbeit_id='$projektarbeit_id' AND betreuerart_kurzbz='".addslashes($betreuerart_kurzbz)."'";
$qry = "SELECT
*
FROM
lehre.tbl_projektbetreuer
WHERE
person_id=".$this->db_add_param($person_id, FHC_INTEGER)."
AND projektarbeit_id=".$this->db_add_param($projektarbeit_id, FHC_INTEGER)."
AND betreuerart_kurzbz=".$this->db_add_param($betreuerart_kurzbz);
if($this->db_query($qry))
{
@@ -100,6 +108,8 @@ class projektbetreuer extends basis_db
$this->insertamum = $row->insertamum;
$this->insertvon = $row->insertvon;
$this->ext_id = $row->ext_id;
$this->vertrag_id = $row->vertrag_id;
$this->new=false;
return true;
}
else
@@ -193,19 +203,20 @@ class projektbetreuer extends basis_db
{
//Neuen Datensatz einfuegen
$qry='INSERT INTO lehre.tbl_projektbetreuer (person_id, projektarbeit_id, note, betreuerart_kurzbz, faktor, name,
punkte, stunden, stundensatz, ext_id, insertamum, insertvon, updateamum, updatevon) VALUES('.
$this->addslashes($this->person_id).', '.
$this->addslashes($this->projektarbeit_id).', '.
$this->addslashes($this->note).', '.
$this->addslashes($this->betreuerart_kurzbz).', '.
$this->addslashes($this->faktor).', '.
$this->addslashes($this->name).', '.
$this->addslashes($this->punkte).', '.
$this->addslashes($this->stunden).', '.
$this->addslashes($this->stundensatz).', '.
$this->addslashes($this->ext_id).', now(), '.
$this->addslashes($this->insertvon).', now(), '.
$this->addslashes($this->updatevon).');';
punkte, stunden, stundensatz, ext_id, insertamum, insertvon, updateamum, updatevon, vertrag_id) VALUES('.
$this->db_add_param($this->person_id).', '.
$this->db_add_param($this->projektarbeit_id).', '.
$this->db_add_param($this->note).', '.
$this->db_add_param($this->betreuerart_kurzbz).', '.
$this->db_add_param($this->faktor).', '.
$this->db_add_param($this->name).', '.
$this->db_add_param($this->punkte).', '.
$this->db_add_param($this->stunden).', '.
$this->db_add_param($this->stundensatz).', '.
$this->db_add_param($this->ext_id).', now(), '.
$this->db_add_param($this->insertvon).', now(), '.
$this->db_add_param($this->updatevon).', '.
$this->db_add_param($this->vertrag_id).');';
}
else
{
@@ -213,21 +224,24 @@ class projektbetreuer extends basis_db
if($this->person_id_old=='')
$this->person_id_old = $this->person_id;
if($this->betreuerart_kurzbz_old=='')
if(!isset($this->betreuerart_kurzbz_old) || $this->betreuerart_kurzbz_old=='')
$this->betreuerart_kurzbz_old = $this->betreuerart_kurzbz;
$qry='UPDATE lehre.tbl_projektbetreuer SET '.
'person_id='.$this->addslashes($this->person_id).', '.
'note='.$this->addslashes($this->note).', '.
'betreuerart_kurzbz='.$this->addslashes($this->betreuerart_kurzbz).', '.
'faktor='.$this->addslashes($this->faktor).', '.
'name='.$this->addslashes($this->name).', '.
'punkte='.$this->addslashes($this->punkte).', '.
'stunden='.$this->addslashes($this->stunden).', '.
'stundensatz='.$this->addslashes($this->stundensatz).', '.
'updateamum='.$this->addslashes($this->updateamum).', '.
'updatevon='.$this->addslashes($this->updatevon).' '.
"WHERE projektarbeit_id='".addslashes($this->projektarbeit_id)."' AND person_id='".addslashes($this->person_id_old)."' AND betreuerart_kurzbz='".addslashes($this->betreuerart_kurzbz_old)."';";
'person_id='.$this->db_add_param($this->person_id).', '.
'note='.$this->db_add_param($this->note).', '.
'betreuerart_kurzbz='.$this->db_add_param($this->betreuerart_kurzbz).', '.
'faktor='.$this->db_add_param($this->faktor).', '.
'name='.$this->db_add_param($this->name).', '.
'punkte='.$this->db_add_param($this->punkte).', '.
'stunden='.$this->db_add_param($this->stunden).', '.
'stundensatz='.$this->db_add_param($this->stundensatz).', '.
'updateamum='.$this->db_add_param($this->updateamum).', '.
'updatevon='.$this->db_add_param($this->updatevon).', '.
'vertrag_id='.$this->db_add_param($this->vertrag_id).' '.
"WHERE projektarbeit_id=".$this->db_add_param($this->projektarbeit_id, FHC_INTEGER,false).
" AND person_id=".$this->db_add_param($this->person_id_old, FHC_INTEGER,false).
" AND betreuerart_kurzbz=".$this->db_add_param($this->betreuerart_kurzbz_old).";";
}
if($this->db_query($qry))
@@ -261,7 +275,7 @@ class projektbetreuer extends basis_db
return false;
}
$qry = "DELETE FROM lehre.tbl_projektbetreuer WHERE person_id='".$person_id."' AND projektarbeit_id='".$projektarbeit_id."' AND betreuerart_kurzbz='".addslashes($betreuerart_kurzbz)."';";
$qry = "DELETE FROM lehre.tbl_projektbetreuer WHERE person_id=".$this->db_add_param($person_id, FHC_INTEGER)." AND projektarbeit_id=".$this->db_add_param($projektarbeit_id, FHC_INTEGER)." AND betreuerart_kurzbz=".$this->db_add_param($betreuerart_kurzbz).";";
if($this->db_query($qry))
{
@@ -308,6 +322,7 @@ class projektbetreuer extends basis_db
$obj->insertamum = $row->insertamum;
$obj->insertvon = $row->insertvon;
$obj->ext_id = $row->ext_id;
$obj->vertrag_id = $row->vertrag_id;
$this->result[] = $obj;
}
+44 -39
View File
@@ -40,7 +40,8 @@ class pruefung extends basis_db
public $updateamum; // timestamp
public $updatevon; // varchar(16)
public $ext_id; // bigint
public $pruefungsanmeldung_id; // bigint
public $pruefungsanmeldung_id; // bigint
public $vertrag_id; // bigint
public $lehrveranstaltung_bezeichnung;
public $lehrveranstaltung_id;
@@ -93,6 +94,7 @@ class pruefung extends basis_db
$this->updateamum=$row->updateamum;
$this->updatevon=$row->updatevon;
$this->ext_id=$row->ext_id;
$this->vertrag_id = $row->vertrag_id;
$this->pruefungsanmeldung_id=$row->pruefungsanmeldung_id;
$this->lehrveranstaltung_id = $row->lehrveranstaltung_id;
$this->studiensemester_kurzbz = $row->studiensemester_kurzbz;
@@ -111,11 +113,11 @@ class pruefung extends basis_db
* Liefert alle Pruefungen
* @return true wenn ok, false im Fehlerfall
*/
public function getAll($order=null, $student=null)
public function getAll($order=null, $student_uid=null)
{
$qry = 'SELECT * FROM lehre.tbl_pruefung';
if ($student)
$qry.=' WHERE student ="'.addslashes($student).'"';
if ($student_uid)
$qry.=" WHERE student_uid =".$this->db_add_param($student);
if($order!=null)
$qry .=" ORDER BY $order";
@@ -142,6 +144,7 @@ class pruefung extends basis_db
$pruef_obj->updatevon=$row->updatevon;
$pruef_obj->ext_id=$row->ext_id;
$pruef_obj->pruefungsanmeldung_id=$row->pruefungsanmeldung_id;
$pruef_obj->vertrag_id = $row->vertrag_id;
$this->result[] = $pruef_obj;
}
@@ -206,20 +209,21 @@ class pruefung extends basis_db
if($this->new)
{
//Neuen Datensatz anlegen
$qry = 'BEGIN;INSERT INTO lehre.tbl_pruefung (lehreinheit_id, student_uid, mitarbeiter_uid, note, pruefungstyp_kurzbz, datum, anmerkung, insertamum, insertvon, updateamum, updatevon, ext_id, pruefungsanmeldung_id) VALUES ('.
$this->addslashes($this->lehreinheit_id).', '.
$this->addslashes($this->student_uid).', '.
$this->addslashes($this->mitarbeiter_uid).', '.
$this->addslashes($this->note).', '.
$this->addslashes($this->pruefungstyp_kurzbz).', '.
$this->addslashes($this->datum).', '.
$this->addslashes($this->anmerkung).', '.
$this->addslashes($this->insertamum).', '.
$this->addslashes($this->insertvon).', '.
$this->addslashes($this->updateamum).', '.
$this->addslashes($this->updatevon).', '.
$this->addslashes($this->ext_id).', '.
$this->addslashes($this->pruefungsanmeldung_id).');';
$qry = 'BEGIN;INSERT INTO lehre.tbl_pruefung (lehreinheit_id, student_uid, mitarbeiter_uid, note, pruefungstyp_kurzbz, datum, anmerkung, insertamum, insertvon, updateamum, updatevon, ext_id, pruefungsanmeldung_id, vertrag_id) VALUES ('.
$this->db_add_param($this->lehreinheit_id).', '.
$this->db_add_param($this->student_uid).', '.
$this->db_add_param($this->mitarbeiter_uid).', '.
$this->db_add_param($this->note).', '.
$this->db_add_param($this->pruefungstyp_kurzbz).', '.
$this->db_add_param($this->datum).', '.
$this->db_add_param($this->anmerkung).', '.
$this->db_add_param($this->insertamum).', '.
$this->db_add_param($this->insertvon).', '.
$this->db_add_param($this->updateamum).', '.
$this->db_add_param($this->updatevon).', '.
$this->db_add_param($this->ext_id).', '.
$this->db_add_param($this->pruefungsanmeldung_id).','.
$this->db_add_param($this->vertrag_id).');';
}
else
{
@@ -233,20 +237,21 @@ class pruefung extends basis_db
}
$qry = 'UPDATE lehre.tbl_pruefung SET '.
'lehreinheit_id='.$this->addslashes($this->lehreinheit_id).', '.
'student_uid='.$this->addslashes($this->student_uid).', '.
'mitarbeiter_uid='.$this->addslashes($this->mitarbeiter_uid).', '.
'note='.$this->addslashes($this->note).', '.
'pruefungstyp_kurzbz='.$this->addslashes($this->pruefungstyp_kurzbz).', '.
'datum='.$this->addslashes($this->datum).', '.
'anmerkung='.$this->addslashes($this->anmerkung).', '.
'insertamum='.$this->addslashes($this->insertamum).', '.
'insertvon='.$this->addslashes($this->insertvon).', '.
'updateamum='.$this->addslashes($this->updateamum).', '.
'updatevon='.$this->addslashes($this->updatevon).', '.
'ext_id='.$this->addslashes($this->ext_id).', '.
'pruefungsanmeldung_id='.$this->addslashes($this->pruefungsanmeldung_id).' '.
'WHERE pruefung_id='.$this->addslashes($this->pruefung_id).';';
'lehreinheit_id='.$this->db_add_param($this->lehreinheit_id).', '.
'student_uid='.$this->db_add_param($this->student_uid).', '.
'mitarbeiter_uid='.$this->db_add_param($this->mitarbeiter_uid).', '.
'note='.$this->db_add_param($this->note).', '.
'pruefungstyp_kurzbz='.$this->db_add_param($this->pruefungstyp_kurzbz).', '.
'datum='.$this->db_add_param($this->datum).', '.
'anmerkung='.$this->db_add_param($this->anmerkung).', '.
'insertamum='.$this->db_add_param($this->insertamum).', '.
'insertvon='.$this->db_add_param($this->insertvon).', '.
'updateamum='.$this->db_add_param($this->updateamum).', '.
'updatevon='.$this->db_add_param($this->updatevon).', '.
'ext_id='.$this->db_add_param($this->ext_id).', '.
'pruefungsanmeldung_id='.$this->db_add_param($this->pruefungsanmeldung_id).', '.
'vertrag_id='.$this->db_add_param($this->vertrag_id).' '.
'WHERE pruefung_id='.$this->db_add_param($this->pruefung_id).';';
}
if($this->db_query($qry))
@@ -297,17 +302,17 @@ class pruefung extends basis_db
$qry = "SELECT tbl_pruefung.*, tbl_lehrveranstaltung.bezeichnung as lehrveranstaltung_bezeichnung, tbl_lehrveranstaltung.lehrveranstaltung_id,
tbl_note.bezeichnung as note_bezeichnung, tbl_pruefungstyp.beschreibung as typ_beschreibung, tbl_lehreinheit.studiensemester_kurzbz as studiensemester_kurzbz
FROM lehre.tbl_pruefung, lehre.tbl_lehreinheit, lehre.tbl_lehrveranstaltung, lehre.tbl_note, lehre.tbl_pruefungstyp
WHERE student_uid='".addslashes($student_uid)."'
WHERE student_uid=".$this->db_add_param($student_uid)."
AND tbl_pruefung.lehreinheit_id=tbl_lehreinheit.lehreinheit_id
AND tbl_lehreinheit.lehrveranstaltung_id=tbl_lehrveranstaltung.lehrveranstaltung_id
AND tbl_pruefung.note = tbl_note.note
AND tbl_pruefung.pruefungstyp_kurzbz=tbl_pruefungstyp.pruefungstyp_kurzbz";
if ($pruefungstyp != null)
$qry .= " AND tbl_pruefungstyp.pruefungstyp_kurzbz = '".addslashes($pruefungstyp)."'";
$qry .= " AND tbl_pruefungstyp.pruefungstyp_kurzbz = ".$this->db_add_param($pruefungstyp);
if ($lv_id != null)
$qry .= " AND tbl_lehrveranstaltung.lehrveranstaltung_id = '".addslashes($lv_id)."'";
$qry .= " AND tbl_lehrveranstaltung.lehrveranstaltung_id = ".$this->db_add_param($lv_id);
if ($stsem != null)
$qry .= " AND tbl_lehreinheit.studiensemester_kurzbz = '".addslashes($stsem)."'";
$qry .= " AND tbl_lehreinheit.studiensemester_kurzbz = ".$this->db_add_param($stsem);
$qry .= " ORDER BY datum DESC";
if($this->db_query($qry))
@@ -364,11 +369,11 @@ class pruefung extends basis_db
AND tbl_pruefung.note = tbl_note.note
AND tbl_pruefung.pruefungstyp_kurzbz=tbl_pruefungstyp.pruefungstyp_kurzbz";
if ($pruefungstyp != null)
$qry .= " AND tbl_pruefungstyp.pruefungstyp_kurzbz = '".addslashes($pruefungstyp)."'";
$qry .= " AND tbl_pruefungstyp.pruefungstyp_kurzbz = ".$this->db_add_param($pruefungstyp);
if ($lv_id != null)
$qry .= " AND tbl_lehrveranstaltung.lehrveranstaltung_id = '".addslashes($lv_id)."'";
$qry .= " AND tbl_lehrveranstaltung.lehrveranstaltung_id = ".$this->db_add_param($lv_id);
if ($stsem != null)
$qry .= " AND tbl_lehreinheit.studiensemester_kurzbz = '".addslashes($stsem)."'";
$qry .= " AND tbl_lehreinheit.studiensemester_kurzbz = ".$this->db_add_param($stsem);
$qry .= " ORDER BY datum DESC";
+496 -27
View File
@@ -15,19 +15,31 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
*
* Authors: Nikolaus Krondraf <nikolaus.krondraf@technikum-wien.at>
* Authors: Nikolaus Krondraf <nikolaus.krondraf@technikum-wien.at>,
* Andreas Österreicher <andreas.oesterreicher@technikum-wien.at>
*/
require_once(dirname(__FILE__).'/basis_db.class.php');
class vertrag extends basis_db
{
public $new;
public $new=true;
public $result = array();
public $vertragtyp_kurzbz;
public $vertragtyp_bezeichnung;
public $vertragstyp_bezeichnung;
/**
public $vertrag_id; // bigint
public $bezeichnung; // varchar(256)
public $person_id; // bigint
public $vertragstyp_kurzbz; // varchar(32)
public $betrag; // numeric(8,2)
public $insertamum; // timestamp
public $insertvon; // varchar(32)
public $updateamum; // timestamp
public $updatevon; // varchar(32)
public $ext_id; // bigint
/**
* Konstruktor
*/
public function __construct()
@@ -35,20 +47,95 @@ class vertrag extends basis_db
parent::__construct();
}
public function load($vertrag_id)
{
$qry = "SELECT * FROM lehre.tbl_vertrag WHERE vertrag_id=".$this->db_add_param($vertrag_id, FHC_INTEGER);
if($result = $this->db_query($qry))
{
if($row = $this->db_fetch_object($result))
{
$this->vertrag_id = $row->vertrag_id;
$this->vertragstyp_kurzbz = $row->vertragstyp_kurzbz;
$this->bezeichnung = $row->bezeichnung;
$this->betrag = $row->betrag;
$this->person_id = $row->person_id;
$this->new=false;
return true;
}
else
{
$this->errormsg = 'Eintrag wurde nicht gefunden';
return false;
}
}
else
{
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
}
/**
* Laedt die Verträge einer Person
* @param $person_id
* @return boolean true wenn ok ,false im Fehlerfall
*/
public function loadVertrag($person_id)
{
$qry = "SELECT
*,
tbl_vertrag.bezeichnung as bezeichnung,
tbl_vertragstyp.bezeichnung as vertragstyp_bezeichnung
FROM
lehre.tbl_vertrag
LEFT JOIN lehre.tbl_vertragstyp USING(vertragstyp_kurzbz)
WHERE person_id=".$this->db_add_param($person_id);
if($result = $this->db_query($qry))
{
while($row = $this->db_fetch_object($result))
{
$obj = new vertrag();
$obj->vertrag_id = $row->vertrag_id;
$obj->bezeichnung = $row->bezeichnung;
$obj->person_id = $row->person_id;
$obj->vertragstyp_kurzbz = $row->vertragstyp_kurzbz;
$obj->betrag = $row->betrag;
$obj->insertamum = $row->insertamum;
$obj->insertvon = $row->insertvon;
$obj->updateamum = $row->updateamum;
$obj->updatevon = $row->updatevon;
$obj->vertragstyp_bezeichnung = $row->vertragstyp_bezeichnung;
$this->result[] = $obj;
}
return true;
}
else
{
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
}
/**
* Speichert den Vertragstyp in der Datenbank
* Wenn $new auf true gesetzt ist wird ein neuer Datensatz
* angelegt, ansonsten der Datensatz upgedated
* @return true wenn erfolgreich, false im Fehlerfall
*/
public function saveVertragtyp($new=null)
public function saveVertragstyp($new=null)
{
if(is_null($new))
$new = $this->new;
if($this->vertragtyp_kurzbz=='')
if($this->vertragstyp_kurzbz=='')
{
$this->errormsg = 'Vertragtyp_kurzbz muss angegeben werden';
$this->errormsg = 'Vertragstyp_kurzbz muss angegeben werden';
return false;
}
@@ -56,7 +143,7 @@ class vertrag extends basis_db
{
//Prüfung, ob Eintrag bereits vorhanden
$qry='SELECT vertragstyp_kurzbz FROM lehre.tbl_vertragstyp
WHERE vertragstyp_kurzbz='.$this->db_add_param($this->vertragtyp_kurzbz);
WHERE vertragstyp_kurzbz='.$this->db_add_param($this->vertragstyp_kurzbz);
if($this->db_query($qry))
{
if($this->db_fetch_object())
@@ -75,14 +162,14 @@ class vertrag extends basis_db
if($new)
{
$qry = 'INSERT INTO lehre.tbl_vertragstyp(vertragstyp_kurzbz, bezeichnung) VALUES('.
$this->db_add_param($this->vertragtyp_kurzbz).','.
$this->db_add_param($this->vertragtyp_bezeichnung).');';
$this->db_add_param($this->vertragstyp_kurzbz).','.
$this->db_add_param($this->vertragstyp_bezeichnung).');';
}
else
{
$qry = 'UPDATE lehre.tbl_vertragstyp SET '.
'bezeichnung = '.$this->db_add_param($this->vertragtyp_bezeichnung).
'WHERE vertragstyp_kurzbz = '.$this->db_add_param($this->vertragtyp_kurzbz);
'bezeichnung = '.$this->db_add_param($this->vertragstyp_bezeichnung).
'WHERE vertragstyp_kurzbz = '.$this->db_add_param($this->vertragstyp_kurzbz);
}
if($this->db_query($qry))
@@ -98,13 +185,13 @@ class vertrag extends basis_db
/**
* Loescht einen Vertragstyp wenn er noch nicht verwendet wird
* @param vertragtyp_kurzbz
* @param vertragstyp_kurzbz
*/
public function deleteVertragtyp($vertragtyp_kurzbz)
public function deleteVertragstyp($vertragstyp_kurzbz)
{
// prüfen ob Vertrag bereits verwendet wird
$qry = "SELECT vertragstyp_kurzbz FROM lehre.tbl_vertrag
WHERE vertragstyp_kurzbz = " . $this->db_add_param($vertragtyp_kurzbz);
WHERE vertragstyp_kurzbz = " . $this->db_add_param($vertragstyp_kurzbz);
if($this->db_query($qry))
{
@@ -120,14 +207,14 @@ class vertrag extends basis_db
return false;
}
if(is_null($vertragtyp_kurzbz))
if(is_null($vertragstyp_kurzbz))
{
$this->errormsg = 'Vertragtyp_kurzbz darf nicht leer sein';
$this->errormsg = 'Vertragstyp_kurzbz darf nicht leer sein';
return false;
}
$qry = "DELETE FROM lehre.tbl_vertragstyp
WHERE vertragstyp_kurzbz=".$this->db_add_param($vertragtyp_kurzbz).";";
WHERE vertragstyp_kurzbz=".$this->db_add_param($vertragstyp_kurzbz).";";
if($this->db_query($qry))
return true;
@@ -142,7 +229,7 @@ class vertrag extends basis_db
* Liefert alle Vertragsytpen
* @return true wenn ok false im Fehlerfall
*/
public function getAllVertragtypen()
public function getAllVertragstypen()
{
$qry = "SELECT * FROM lehre.tbl_vertragstyp ORDER BY bezeichnung;";
@@ -152,8 +239,8 @@ class vertrag extends basis_db
{
$vertrag = new vertrag();
$vertrag->vertragtyp_kurzbz = $row->vertragstyp_kurzbz;
$vertrag->vertragtyp_bezeichnung = $row->bezeichnung;
$vertrag->vertragstyp_kurzbz = $row->vertragstyp_kurzbz;
$vertrag->vertragstyp_bezeichnung = $row->bezeichnung;
$this->result[] = $vertrag;
}
@@ -169,21 +256,21 @@ class vertrag extends basis_db
/**
* Laedt einen Vertragstyp
*
* @param $vertragtyp_kurzbz
* @param $vertragstyp_kurzbz
* @return true wenn ok, false im Fehlerfall
*/
public function loadVertragtyp($vertragtyp_kurzbz)
public function loadVertragstyp($vertragstyp_kurzbz)
{
$qry="SELECT * FROM lehre.tbl_vertragstyp
WHERE
vertragstyp_kurzbz=".$this->db_add_param($vertragtyp_kurzbz);
vertragstyp_kurzbz=".$this->db_add_param($vertragstyp_kurzbz);
if($result = $this->db_query($qry))
{
if($row = $this->db_fetch_object($result))
{
$this->vertragtyp_kurzbz = $row->vertragstyp_kurzbz;
$this->vertragtyp_bezeichnung = $row->bezeichnung;
$this->vertragstyp_kurzbz = $row->vertragstyp_kurzbz;
$this->vertragstyp_bezeichnung = $row->bezeichnung;
return true;
}
else
@@ -198,5 +285,387 @@ class vertrag extends basis_db
return false;
}
}
/**
* Laedt die Vertragselemente die noch keinem Vertrag zugeordnet sind
* @param $person_id
* @return boolean true wenn ok ,false im Fehlerfall
*/
public function loadNichtZugeordnet($person_id)
{
/*
Lehrauftraege
UNION
Betreuungen
UNION
Pruefungen
*/
$qry = "
SELECT
'Lehrauftrag' as type,
lehreinheit_id,
mitarbeiter_uid,
null as pruefung_id,
null as projektarbeit_id,
(tbl_lehreinheitmitarbeiter.faktor*tbl_lehreinheitmitarbeiter.semesterstunden*tbl_lehreinheitmitarbeiter.stundensatz) as betrag,
tbl_lehreinheit.studiensemester_kurzbz,
null as betreuerart_kurzbz,
( SELECT
upper(tbl_studiengang.typ || tbl_studiengang.kurzbz) || tbl_lehrveranstaltung.semester || '-' || tbl_lehrveranstaltung.kurzbz || '-' || tbl_lehreinheit.lehrform_kurzbz
FROM
lehre.tbl_lehrveranstaltung
JOIN public.tbl_studiengang USING(studiengang_kz)
WHERE
lehrveranstaltung_id=tbl_lehreinheit.lehrveranstaltung_id)
as bezeichnung
FROM
lehre.tbl_lehreinheitmitarbeiter
JOIN lehre.tbl_lehreinheit USING(lehreinheit_id)
WHERE
mitarbeiter_uid IN (SELECT uid FROM public.tbl_benutzer WHERE person_id=".$this->db_add_param($person_id, FHC_INTEGER).")
AND vertrag_id IS NULL
UNION
SELECT
'Betreuung' as type,
tbl_projektarbeit.lehreinheit_id as lehreinheit_id,
null as mitarbeiter_uid,
null::integer as pruefung_id,
projektarbeit_id,
(tbl_projektbetreuer.faktor*tbl_projektbetreuer.stunden*tbl_projektbetreuer.stundensatz) as betrag,
tbl_lehreinheit.studiensemester_kurzbz,
tbl_projektbetreuer.betreuerart_kurzbz,
(SELECT nachname || ' ' || vorname FROM public.tbl_person JOIN public.tbl_benutzer USING(person_id) WHERE uid=tbl_projektarbeit.student_uid)
as bezeichnung
FROM
lehre.tbl_projektbetreuer
JOIN lehre.tbl_projektarbeit USING(projektarbeit_id)
JOIN lehre.tbl_lehreinheit USING(lehreinheit_id)
WHERE
person_id=".$this->db_add_param($person_id, FHC_INTEGER)."
AND vertrag_id IS NULL
UNION
SELECT
'Pruefung' as type,
lehreinheit_id,
mitarbeiter_uid,
pruefung_id,
null as projektarbeit_id,
'".PRUEFUNGSHONORAR."' as betrag,
tbl_lehreinheit.studiensemester_kurzbz AS studiensemester_kurzbz,
null as betreuerart_kurzbz,
( SELECT
nachname || ' ' || vorname || ' ' || (SELECT kurzbz FROM lehre.tbl_lehrveranstaltung WHERE lehrveranstaltung_id=tbl_lehreinheit.lehrveranstaltung_id)
FROM
public.tbl_person
JOIN public.tbl_benutzer USING(person_id)
WHERE uid=tbl_pruefung.student_uid)
as bezeichnung
FROM
lehre.tbl_pruefung
JOIN lehre.tbl_lehreinheit USING(lehreinheit_id)
WHERE
mitarbeiter_uid IN (SELECT uid FROM public.tbl_benutzer WHERE person_id=".$this->db_add_param($person_id, FHC_INTEGER).")
AND vertrag_id IS NULL
";
if($result = $this->db_query($qry))
{
while($row = $this->db_fetch_object($result))
{
$obj = new stdClass();
$obj->type = $row->type;
$obj->lehreinheit_id = $row->lehreinheit_id;
$obj->mitarbeiter_uid = $row->mitarbeiter_uid;
$obj->projektarbeit_id = $row->projektarbeit_id;
$obj->pruefung_id = $row->pruefung_id;
$obj->betrag = $row->betrag;
$obj->studiensemester_kurzbz = $row->studiensemester_kurzbz;
$obj->betreuerart_kurzbz = $row->betreuerart_kurzbz;
$obj->bezeichnung = $row->bezeichnung;
$this->result[] = $obj;
}
return true;
}
else
{
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
}
/**
* Laedt die Vertragselemente die einem Vertrag zugeordnet sind
* @param $vertrag_id
* @return boolean true wenn ok ,false im Fehlerfall
*/
public function loadZugeordnet($vertrag_id)
{
/*
Lehrauftraege
UNION
Betreuungen
UNION
Pruefungen
*/
$qry = "
SELECT
'Lehrauftrag' as type,
lehreinheit_id,
mitarbeiter_uid,
null as pruefung_id,
null as projektarbeit_id,
(tbl_lehreinheitmitarbeiter.faktor*tbl_lehreinheitmitarbeiter.semesterstunden*tbl_lehreinheitmitarbeiter.stundensatz) as betrag,
tbl_lehreinheit.studiensemester_kurzbz,
null as betreuerart_kurzbz,
( SELECT
upper(tbl_studiengang.typ || tbl_studiengang.kurzbz) || tbl_lehrveranstaltung.semester || '-' || tbl_lehrveranstaltung.kurzbz || '-' || tbl_lehreinheit.lehrform_kurzbz
FROM
lehre.tbl_lehrveranstaltung
JOIN public.tbl_studiengang USING(studiengang_kz)
WHERE
lehrveranstaltung_id=tbl_lehreinheit.lehrveranstaltung_id)
as bezeichnung
FROM
lehre.tbl_lehreinheitmitarbeiter
JOIN lehre.tbl_lehreinheit USING(lehreinheit_id)
WHERE
vertrag_id=".$this->db_add_param($vertrag_id, FHC_INTEGER)."
UNION
SELECT
'Betreuung' as type,
tbl_projektarbeit.lehreinheit_id as lehreinheit_id,
null as mitarbeiter_uid,
null::integer as pruefung_id,
projektarbeit_id,
(tbl_projektbetreuer.faktor*tbl_projektbetreuer.stunden*tbl_projektbetreuer.stundensatz) as betrag,
tbl_lehreinheit.studiensemester_kurzbz,
tbl_projektbetreuer.betreuerart_kurzbz,
(SELECT nachname || ' ' || vorname FROM public.tbl_person JOIN public.tbl_benutzer USING(person_id) WHERE uid=tbl_projektarbeit.student_uid)
as bezeichnung
FROM
lehre.tbl_projektbetreuer
JOIN lehre.tbl_projektarbeit USING(projektarbeit_id)
JOIN lehre.tbl_lehreinheit USING(lehreinheit_id)
WHERE
vertrag_id=".$this->db_add_param($vertrag_id, FHC_INTEGER)."
UNION
SELECT
'Pruefung' as type,
lehreinheit_id,
mitarbeiter_uid,
pruefung_id,
null as projektarbeit_id,
'".PRUEFUNGSHONORAR."' as betrag,
tbl_lehreinheit.studiensemester_kurzbz AS studiensemester_kurzbz,
null as betreuerart_kurzbz,
( SELECT
nachname || ' ' || vorname || ' ' || (SELECT kurzbz FROM lehre.tbl_lehrveranstaltung WHERE lehrveranstaltung_id=tbl_lehreinheit.lehrveranstaltung_id)
FROM
public.tbl_person
JOIN public.tbl_benutzer USING(person_id)
WHERE uid=tbl_pruefung.student_uid)
as bezeichnung
FROM
lehre.tbl_pruefung
JOIN lehre.tbl_lehreinheit USING(lehreinheit_id)
WHERE
vertrag_id=".$this->db_add_param($vertrag_id, FHC_INTEGER);
if($result = $this->db_query($qry))
{
while($row = $this->db_fetch_object($result))
{
$obj = new stdClass();
$obj->type = $row->type;
$obj->lehreinheit_id = $row->lehreinheit_id;
$obj->mitarbeiter_uid = $row->mitarbeiter_uid;
$obj->projektarbeit_id = $row->projektarbeit_id;
$obj->pruefung_id = $row->pruefung_id;
$obj->betrag = $row->betrag;
$obj->studiensemester_kurzbz = $row->studiensemester_kurzbz;
$obj->betreuerart_kurzbz = $row->betreuerart_kurzbz;
$obj->bezeichnung = $row->bezeichnung;
$this->result[] = $obj;
}
return true;
}
else
{
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
}
/**
* Speichert einen Vertrag
*/
public function save($new=null)
{
if(is_null($new))
$new = $this->new;
if($new)
{
$qry = "BEGIN;INSERT INTO lehre.tbl_vertrag(bezeichnung, person_id, vertragstyp_kurzbz, betrag, insertamum, insertvon, updateamum, updatevon)
VALUES(".
$this->db_add_param($this->bezeichnung).','.
$this->db_add_param($this->person_id,FHC_INTEGER).','.
$this->db_add_param($this->vertragstyp_kurzbz).','.
$this->db_add_param($this->betrag).','.
$this->db_add_param($this->insertamum).','.
$this->db_add_param($this->insertvon).','.
$this->db_add_param($this->updateamum).','.
$this->db_add_param($this->updatevon).');';
}
else
{
$qry = "UPDATE lehre.tbl_vertrag SET ".
" bezeichnung=".$this->db_add_param($this->bezeichnung).','.
" person_id=".$this->db_add_param($this->person_id, FHC_INTEGER).','.
" vertragstyp_kurzbz=".$this->db_add_param($this->vertragstyp_kurzbz).','.
" betrag=".$this->db_add_param($this->betrag).','.
" updateamum=".$this->db_add_param($this->updateamum).','.
" updatevon=".$this->db_add_param($this->updatevon).
" WHERE vertrag_id=".$this->db_add_param($this->vertrag_id, FHC_INTEGER,false);
}
if($this->db_query($qry))
{
if($new)
{
//Sequence auslesen
$qry = "SELECT currval('lehre.seq_vertrag_vertrag_id') as id;";
if($this->db_query($qry))
{
if($row = $this->db_fetch_object())
{
$this->vertrag_id = $row->id;
$this->new=false;
$this->db_query('COMMIT');
return true;
}
else
{
$this->errormsg = 'Fehler beim Auslesen der Sequence';
$this->db_query('ROLLBACK;');
return false;
}
}
else
{
$this->errormsg = 'Fehler beim Auslesen der Sequence';
$this->db_query('ROLLBACK;');
return false;
}
}
else
return true;
}
else
{
$this->errormsg='Fehler beim Speichern der Daten';
return false;
}
}
/**
* Laedt alle Stati eines Vertrags
*
* @param $vertrag_id
* @return boolean
*/
public function getAllStatus($vertrag_id)
{
$qry="SELECT
*
FROM
lehre.tbl_vertrag_vertragsstatus
JOIN lehre.tbl_vertragsstatus USING(vertragsstatus_kurzbz)
WHERE
tbl_vertrag_vertragsstatus.vertrag_id=".$this->db_add_param($vertrag_id)."
ORDER BY datum DESC";
if($result = $this->db_query($qry))
{
while($row = $this->db_fetch_object($result))
{
$obj = new stdClass();
$obj->vertrag_id = $row->vertrag_id;
$obj->vertragsstatus_kurzbz = $row->vertragsstatus_kurzbz;
$obj->vertragsstatus_bezeichnung = $row->bezeichnung;
$obj->datum = $row->datum;
$obj->uid = $row->uid;
$this->result[] = $obj;
}
return true;
}
else
{
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
}
public function saveVertragsstatus($new=null)
{
if(is_null($new))
$new = $this->new;
if($new)
{
$qry = "INSERT INTO lehre.tbl_vertrag_vertragsstatus(vertragsstatus_kurzbz, vertrag_id, uid, datum) VALUES(".
$this->db_add_param($this->vertragsstatus_kurzbz).','.
$this->db_add_param($this->vertrag_id).','.
$this->db_add_param($this->uid).','.
$this->db_add_param($this->datum).');';
}
else
{
$this->errormsg = 'Update not implemented';
return false;
}
if($this->db_query($qry))
{
return true;
}
else
{
$this->errormsg = 'Fehler beim Speichern der Daten';
return false;
}
}
/**
* Laedt alle Vorhandenen Vertragsstati
* @return boolean true wenn ok, false im Fehlerfall
*/
public function loadVertragsstatus()
{
$qry = "SELECT * FROM lehre.tbl_vertragsstatus ORDER BY bezeichnung";
if($result = $this->db_query($qry))
{
while($row = $this->db_fetch_object($result))
{
$obj = new stdClass();
$obj->vertragsstatus_kurzbz = $row->vertragsstatus_kurzbz;
$obj->bezeichnung = $row->bezeichnung;
$this->result[] = $obj;
}
return true;
}
else
{
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
}
}
?>
+70
View File
@@ -0,0 +1,70 @@
<?php
/* Copyright (C) 2009 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>,
* Rudolf Hangl <rudolf.hangl@technikum-wien.at> and
* Gerald Simane-Sequens <gerald.simane-sequens@technikum-wien.at>.
*/
require_once('../config/vilesci.config.inc.php');
require_once('../include/rdf.class.php');
require_once('../include/vertrag.class.php');
require_once('../include/functions.inc.php');
require_once('../include/benutzerberechtigung.class.php');
$uid = get_uid();
$rechte = new benutzerberechtigung();
$rechte->getBerechtigungen($uid);
if(!$rechte->isBerechtigt('vertrag/mitarbeiter'))
die('Sie haben keine Berechtigung für diese Seite');
if(isset($_GET['person_id']))
{
$person_id=$_GET['person_id'];
$vertrag = new vertrag();
if(!$vertrag->loadVertrag($person_id))
die('Fehlgeschlagen:'.$vertrag->errormsg);
}
elseif(isset($_GET['vertrag_id']))
{
$vertrag_id = $_GET['vertrag_id'];
$vertrag = new vertrag();
if(!$vertrag->load($vertrag_id))
die('Fehlgeschlagen:'.$vertrag->errormsg);
$vertrag->result[] = $vertrag;
}
$oRdf = new rdf('VER','http://www.technikum-wien.at/vertrag');
$oRdf->sendHeader();
foreach($vertrag->result as $row)
{
$i=$oRdf->newObjekt($row->vertrag_id);
$oRdf->obj[$i]->setAttribut('vertrag_id',$row->vertrag_id,true);
$oRdf->obj[$i]->setAttribut('person_id',$row->person_id,true);
$oRdf->obj[$i]->setAttribut('bezeichnung',$row->bezeichnung,true);
$oRdf->obj[$i]->setAttribut('vertragstyp_kurzbz',$row->vertragstyp_kurzbz,true);
$oRdf->obj[$i]->setAttribut('vertragstyp_bezeichnung',$row->vertragstyp_bezeichnung,true);
$oRdf->obj[$i]->setAttribut('betrag',$row->betrag,true);
$oRdf->addSequence($row->vertrag_id);
}
$oRdf->sendRdfText();
?>
+89
View File
@@ -0,0 +1,89 @@
<?php
/* Copyright (C) 2009 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>,
* Rudolf Hangl <rudolf.hangl@technikum-wien.at> and
* Gerald Simane-Sequens <gerald.simane-sequens@technikum-wien.at>.
*/
require_once('../config/vilesci.config.inc.php');
require_once('../config/global.config.inc.php');
require_once('../include/rdf.class.php');
require_once('../include/vertrag.class.php');
require_once('../include/functions.inc.php');
require_once('../include/benutzerberechtigung.class.php');
$uid = get_uid();
$rechte = new benutzerberechtigung();
$rechte->getBerechtigungen($uid);
if(!$rechte->isBerechtigt('vertrag/mitarbeiter'))
die('Sie haben keine Berechtigung für diese Seite');
$vertrag = new vertrag();
if(isset($_GET['person_id']))
{
$person_id=$_GET['person_id'];
if(!$vertrag->loadNichtZugeordnet($person_id))
die('Fehlgeschlagen:'.$vertrag->errormsg);
}
elseif(isset($_GET['vertrag_id']))
{
$vertrag_id = $_GET['vertrag_id'];
if(!$vertrag->loadZugeordnet($vertrag_id))
die('Fehlgeschlagen:'.$vertrag->errormsg);
}
else
die('Fehlerhafte Parameterübergabe');
$oRdf = new rdf('VER','http://www.technikum-wien.at/vertragdetails');
$oRdf->sendHeader();
foreach($vertrag->result as $row)
{
switch($row->type)
{
case 'Lehrauftrag':
$key = $row->type.'/'.$row->studiensemester_kurzbz.'/'.$row->lehreinheit_id.'/'.$row->mitarbeiter_uid;
break;
case 'Pruefung':
$key = $row->type.'/'.$row->pruefung_id;
break;
case 'Betreuung':
$key = $row->type.'/'.$row->mitarbeiter_uid.'/'.$row->projektarbeit_id.'/'.$row->betreuerart_kurzbz;
break;
default:
$key = 'unknowntype';
}
$i=$oRdf->newObjekt($key);
$oRdf->obj[$i]->setAttribut('type',$row->type,true);
$oRdf->obj[$i]->setAttribut('betrag',number_format($row->betrag,2),true);
$oRdf->obj[$i]->setAttribut('studiensemester_kurzbz',$row->studiensemester_kurzbz,true);
$oRdf->obj[$i]->setAttribut('lehreinheit_id',$row->lehreinheit_id,true);
$oRdf->obj[$i]->setAttribut('pruefung_id',$row->pruefung_id,true);
$oRdf->obj[$i]->setAttribut('mitarbeiter_uid',$row->mitarbeiter_uid,true);
$oRdf->obj[$i]->setAttribut('projektarbeit_id',$row->projektarbeit_id,true);
$oRdf->obj[$i]->setAttribut('betreuerart_kurzbz',$row->betreuerart_kurzbz,true);
$oRdf->obj[$i]->setAttribut('bezeichnung',$row->bezeichnung,true);
$oRdf->addSequence($key);
}
$oRdf->sendRdfText();
?>
+66
View File
@@ -0,0 +1,66 @@
<?php
/* Copyright (C) 2009 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>,
* Rudolf Hangl <rudolf.hangl@technikum-wien.at> and
* Gerald Simane-Sequens <gerald.simane-sequens@technikum-wien.at>.
*/
require_once('../config/vilesci.config.inc.php');
require_once('../include/rdf.class.php');
require_once('../include/vertrag.class.php');
require_once('../include/functions.inc.php');
require_once('../include/benutzerberechtigung.class.php');
require_once('../include/datum.class.php');
$uid = get_uid();
$rechte = new benutzerberechtigung();
$rechte->getBerechtigungen($uid);
if(!$rechte->isBerechtigt('vertrag/mitarbeiter'))
die('Sie haben keine Berechtigung für diese Seite');
if(isset($_GET['vertrag_id']))
$vertrag_id=$_GET['vertrag_id'];
else
die('Falsche Parameterübergabe');
$datum_obj = new datum();
$vertrag = new vertrag();
if(!$vertrag->getAllStatus($vertrag_id))
die('Fehlgeschlagen:'.$vertrag->errormsg);
$oRdf = new rdf('VER','http://www.technikum-wien.at/vertragsstatus');
$oRdf->sendHeader();
foreach($vertrag->result as $row)
{
$key = $row->vertragsstatus_kurzbz.'/'.$row->vertrag_id;
$i=$oRdf->newObjekt($key);
$oRdf->obj[$i]->setAttribut('vertrag_id',$row->vertrag_id,true);
$oRdf->obj[$i]->setAttribut('vertragsstatus_kurzbz',$row->vertragsstatus_kurzbz,true);
$oRdf->obj[$i]->setAttribut('vertragsstatus_bezeichnung',$row->vertragsstatus_bezeichnung,true);
$oRdf->obj[$i]->setAttribut('datum',$datum_obj->formatDatum($row->datum,'d.m.Y H:i'),true);
$oRdf->obj[$i]->setAttribut('datum_iso',$row->datum,true);
$oRdf->obj[$i]->setAttribut('uid',$row->uid,true);
$oRdf->addSequence($key);
}
$oRdf->sendRdfText();
?>
+54
View File
@@ -0,0 +1,54 @@
<?php
/* Copyright (C) 2014 fhcomplete.org
*
* 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: Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at>
*/
require_once('../config/vilesci.config.inc.php');
require_once('../include/rdf.class.php');
require_once('../include/vertrag.class.php');
require_once('../include/functions.inc.php');
require_once('../include/benutzerberechtigung.class.php');
require_once('../include/datum.class.php');
$uid = get_uid();
$rechte = new benutzerberechtigung();
$rechte->getBerechtigungen($uid);
if(!$rechte->isBerechtigt('vertrag/mitarbeiter'))
die('Sie haben keine Berechtigung für diese Seite');
$datum_obj = new datum();
$vertrag = new vertrag();
if(!$vertrag->getAllVertragstypen())
die('Fehlgeschlagen:'.$vertrag->errormsg);
$oRdf = new rdf('VT','http://www.technikum-wien.at/vertragstyp');
$oRdf->sendHeader();
foreach($vertrag->result as $row)
{
$key = $row->vertragstyp_kurzbz;
$i=$oRdf->newObjekt($key);
$oRdf->obj[$i]->setAttribut('vertragstyp_kurzbz',$row->vertragstyp_kurzbz,true);
$oRdf->obj[$i]->setAttribut('vertragstyp_bezeichnung',$row->vertragstyp_bezeichnung,true);
$oRdf->addSequence($key);
}
$oRdf->sendRdfText();
?>
+13 -2
View File
@@ -2085,6 +2085,18 @@ if(!$result = @$db->db_query("SELECT ext_id FROM wawi.tbl_konto LIMIT 1;"))
echo ' wawi.tbl_konto: Spalte ext_id hinzugefuegt!<br>';
}
// Spalte vertrag_id Tabelle lehre.tbl_pruefung
if(!$result = @$db->db_query("SELECT vertrag_id FROM lehre.tbl_pruefung LIMIT 1;"))
{
$qry = "ALTER TABLE lehre.tbl_pruefung ADD COLUMN vertrag_id bigint;
ALTER TABLE lehre.tbl_pruefung ADD CONSTRAINT fk_pruefung_vertrag FOREIGN KEY (vertrag_id) REFERENCES lehre.tbl_vertrag(vertrag_id) ON DELETE RESTRICT ON UPDATE CASCADE;";
if(!$db->db_query($qry))
echo '<strong>lehre.tbl_pruefung: '.$db->db_last_error().'</strong><br>';
else
echo ' lehre.tbl_pruefung: Spalte vertrag_id hinzugefuegt!<br>';
}
// Spalte sort in lehre.tbl_studienplan_lehrveranstaltung
if(!$result = @$db->db_query("SELECT sort FROM lehre.tbl_studienplan_lehrveranstaltung LIMIT 1;"))
{
@@ -2096,7 +2108,6 @@ if(!$result = @$db->db_query("SELECT sort FROM lehre.tbl_studienplan_lehrveranst
echo ' lehre.tbl_studienplan_lehrveranstaltung: Spalte sort hinzugefuegt!<br>';
}
echo '<br><br><br>';
$tabellen=array(
@@ -2214,7 +2225,7 @@ $tabellen=array(
"lehre.tbl_projektarbeit" => array("projektarbeit_id","projekttyp_kurzbz","titel","lehreinheit_id","student_uid","firma_id","note","punkte","beginn","ende","faktor","freigegeben","gesperrtbis","stundensatz","gesamtstunden","themenbereich","anmerkung","updateamum","updatevon","insertamum","insertvon","ext_id","titel_english","seitenanzahl","abgabedatum","kontrollschlagwoerter","schlagwoerter","schlagwoerter_en","abstract", "abstract_en", "sprache"),
"lehre.tbl_projektbetreuer" => array("person_id","projektarbeit_id","betreuerart_kurzbz","note","faktor","name","punkte","stunden","stundensatz","updateamum","updatevon","insertamum","insertvon","ext_id","vertrag_id"),
"lehre.tbl_projekttyp" => array("projekttyp_kurzbz","bezeichnung"),
"lehre.tbl_pruefung" => array("pruefung_id","lehreinheit_id","student_uid","mitarbeiter_uid","note","pruefungstyp_kurzbz","datum","anmerkung","insertamum","insertvon","updateamum","updatevon","ext_id","pruefungsanmeldung_id"),
"lehre.tbl_pruefung" => array("pruefung_id","lehreinheit_id","student_uid","mitarbeiter_uid","note","pruefungstyp_kurzbz","datum","anmerkung","insertamum","insertvon","updateamum","updatevon","ext_id","pruefungsanmeldung_id","vertrag_id"),
"lehre.tbl_pruefungstyp" => array("pruefungstyp_kurzbz","beschreibung","abschluss"),
"lehre.tbl_studienordnung" => array("studienordnung_id","studiengang_kz","version","gueltigvon","gueltigbis","bezeichnung","ects","studiengangbezeichnung","studiengangbezeichnung_englisch","studiengangkurzbzlang","akadgrad_id","insertamum","insertvon","updateamum","updatevon"),
"lehre.tbl_studienordnung_semester" => array("studienordnung_semester_id","studienordnung_id","studiensemester_kurzbz","semester"),
+29 -29
View File
@@ -26,8 +26,8 @@ require_once('../../include/functions.inc.php');
require_once('../../include/vertrag.class.php');
require_once('../../include/benutzerberechtigung.class.php');
$vertragtyp_kurzbz=isset($_REQUEST['vertragtyp_kurzbz'])?$_REQUEST['vertragtyp_kurzbz']:'';
$vertragtyp_bezeichnung=isset($_REQUEST['vertragtyp_bezeichnung'])?$_REQUEST['vertragtyp_bezeichnung']:'';
$vertragstyp_kurzbz=isset($_REQUEST['vertragstyp_kurzbz'])?$_REQUEST['vertragstyp_kurzbz']:'';
$vertragstyp_bezeichnung=isset($_REQUEST['vertragstyp_bezeichnung'])?$_REQUEST['vertragstyp_bezeichnung']:'';
$action=isset($_GET['action'])?$_GET['action']:'';
if(isset($_POST['add']))
@@ -44,21 +44,21 @@ if(!$rechte->isBerechtigt('vertrag/typen', $stg_kz, 'suid'))
if($action=='add')
{
if($vertragtyp_kurzbz != '')
if($vertragstyp_kurzbz != '')
{
$vertrag = new vertrag();
$vertrag->vertragtyp_kurzbz = $vertragtyp_kurzbz;
$vertrag->vertragtyp_bezeichnung = $vertragtyp_bezeichnung;
$vertrag->saveVertragtyp();
$vertrag->vertragstyp_kurzbz = $vertragstyp_kurzbz;
$vertrag->vertragstyp_bezeichnung = $vertragstyp_bezeichnung;
$vertrag->savevertragstyp();
}
}
if($action=='delete')
{
if($vertragtyp_kurzbz != '')
if($vertragstyp_kurzbz != '')
{
$vertrag = new vertrag();
if(!$vertrag->deleteVertragtyp($vertragtyp_kurzbz))
if(!$vertrag->deletevertragstyp($vertragstyp_kurzbz))
echo 'Fehler beim Löschen: ' . $vertrag->errormsg;
}
}
@@ -95,29 +95,29 @@ if(isset($_GET['type']))
if($_GET['type']=='delete')
{
$vertrag = new vertrag();
if(!$vertrag->deleteVertragtyp($_GET['vertragtyp_kurzbz']))
if(!$vertrag->deletevertragstyp($_GET['vertragstyp_kurzbz']))
echo $vertrag->errormsg;
}
}
if(isset($_POST['saveVertragtyp']))
if(isset($_POST['savevertragstyp']))
{
$vertrag = new vertrag();
$vertrag->vertragtyp_kurzbz=$_POST['vertragtyp_kurzbz'];
$vertrag->vertragtyp_bezeichnung = $_POST['vertragtyp_bezeichnung'];
$vertrag->vertragstyp_kurzbz=$_POST['vertragstyp_kurzbz'];
$vertrag->vertragstyp_bezeichnung = $_POST['vertragstyp_bezeichnung'];
if(isset($_POST['neu']) && $_POST['neu']=='true')
$neu=true;
else
$neu=false;
if(!$vertrag->saveVertragtyp($neu))
if(!$vertrag->savevertragstyp($neu))
echo $vertrag->errormsg;
}
$vertrag = new vertrag();
$vertrag->getAllVertragtypen();
$vertrag->getAllvertragstypen();
echo '
<form action="'.$_SERVER['PHP_SELF'].'?action=vertragtypen" method="post">
<form action="'.$_SERVER['PHP_SELF'].'?action=vertragstypen" method="post">
<table id="t1" class="tablesorter" style="width:auto">
<thead>
<th></th>
@@ -130,30 +130,30 @@ foreach($vertrag->result as $row)
{
echo '<tr>
<td>
<a href="'.$_SERVER['PHP_SELF'].'?action=vertragtypen&type=edit&vertragtyp_kurzbz='.$row->vertragtyp_kurzbz.'"><img src="../../skin/images/edit.png" title="Bearbeiten" /></a>
<a href="'.$_SERVER['PHP_SELF'].'?action=vertragstypen&type=edit&vertragstyp_kurzbz='.$row->vertragstyp_kurzbz.'"><img src="../../skin/images/edit.png" title="Bearbeiten" /></a>
';
// Lichtbil und Zeugnis duerfen nicht geloescht werden da diese fuer Bildupload und
// Zeugnisarchivierung verwendet werden
if(!in_array($row->vertragtyp_kurzbz,array('Lichtbil','Zeugnis')))
echo '<a href="'.$_SERVER['PHP_SELF'].'?action=vertragtypen&type=delete&vertragtyp_kurzbz='.$row->vertragtyp_kurzbz.'"><img src="../../skin/images/cross.png" title="Löschen" /></a>';
if(!in_array($row->vertragstyp_kurzbz,array('Lichtbil','Zeugnis')))
echo '<a href="'.$_SERVER['PHP_SELF'].'?action=vertragstypen&type=delete&vertragstyp_kurzbz='.$row->vertragstyp_kurzbz.'"><img src="../../skin/images/cross.png" title="Löschen" /></a>';
echo '
</td>
<td>'.$vertrag->convert_html_chars($row->vertragtyp_kurzbz).'</td>
<td>'.$vertrag->convert_html_chars($row->vertragtyp_bezeichnung).'</td>
<td>'.$vertrag->convert_html_chars($row->vertragstyp_kurzbz).'</td>
<td>'.$vertrag->convert_html_chars($row->vertragstyp_bezeichnung).'</td>
</tr>';
}
$vertragtyp_kurzbz='';
$vertragtyp_bezeichnung='';
$vertragstyp_kurzbz='';
$vertragstyp_bezeichnung='';
if(isset($_GET['type']) && $_GET['type']=='edit')
{
$vertrag = new vertrag();
if($vertrag->loadVertragtyp($_GET['vertragtyp_kurzbz']))
if($vertrag->loadvertragstyp($_GET['vertragstyp_kurzbz']))
{
$vertragtyp_kurzbz = $vertrag->vertragtyp_kurzbz;
$vertragtyp_bezeichnung = $vertrag->vertragtyp_bezeichnung;
$vertragstyp_kurzbz = $vertrag->vertragstyp_kurzbz;
$vertragstyp_bezeichnung = $vertrag->vertragstyp_bezeichnung;
}
}
@@ -163,11 +163,11 @@ echo '
<tr>
<td></td>
<td>
<input typ="text" id="vertragtyp_kurzbz" name="vertragtyp_kurzbz" maxlength="8" size="8" '.($vertragtyp_kurzbz!=''?'readonly':'').' value="'.$vertragtyp_kurzbz.'"/>
<input type="hidden" id="neu" name="neu" value="'.($vertragtyp_kurzbz==''?'true':'false').'" />
<input typ="text" id="vertragstyp_kurzbz" name="vertragstyp_kurzbz" maxlength="8" size="8" '.($vertragstyp_kurzbz!=''?'readonly':'').' value="'.$vertragstyp_kurzbz.'"/>
<input type="hidden" id="neu" name="neu" value="'.($vertragstyp_kurzbz==''?'true':'false').'" />
</td>
<td><input type="text" id="vertragtyp_bezeichnung" name="vertragtyp_bezeichnung" maxlength="128" value="'.$vertrag->convert_html_chars($vertragtyp_bezeichnung).'">
<input type="submit" name="saveVertragtyp" value="Speichern"></td>
<td><input type="text" id="vertragstyp_bezeichnung" name="vertragstyp_bezeichnung" maxlength="128" value="'.$vertrag->convert_html_chars($vertragstyp_bezeichnung).'">
<input type="submit" name="savevertragstyp" value="Speichern"></td>
</tr>
</tfoot>
</table>