Neuen Karteireiter im FAS zur Erfassung von Gemeinsamen Studien hinzugefügt

This commit is contained in:
oesi
2016-10-18 14:35:37 +02:00
parent 488d0614dd
commit 562a183098
24 changed files with 2354 additions and 360 deletions
+129
View File
@@ -70,6 +70,7 @@ require_once('../../include/benutzerfunktion.class.php');
require_once('../../include/note.class.php');
require_once('../../include/standort.class.php');
require_once('../../include/adresse.class.php');
require_once('../../include/mobilitaet.class.php');
$user = get_uid();
$db = new basis_db();
@@ -589,6 +590,7 @@ if(!$error)
$prestudent->dual = ($_POST['dual']=='true'?true:false);
$prestudent->anmerkung = $_POST['anmerkung'];
$prestudent->mentor = $_POST['mentor'];
$prestudent->gsstudientyp_kurzbz = $_POST['gsstudientyp_kurzbz'];
//$prestudent->insertamum = date('Y-m-d H:i:s');
//$prestudent->insertvon = $user;
$prestudent->updateamum = date('Y-m-d H:i:s');
@@ -3840,6 +3842,133 @@ if(!$error)
$errormsg = 'Fehlerhafte Parameteruebergabe';
}
}
elseif(isset($_POST['type']) && $_POST['type']=='savemobilitaet')
{
// Speichert Mobilitaet/Gemeinsames Studium
$prestudent_id = $_POST['prestudent_id'];
$prestudent_obj = new prestudent();
$prestudent_obj->load($prestudent_id);
if(!$rechte->isBerechtigt('student/stammdaten', $prestudent_obj->studiengang_kz, 'suid'))
{
$return = false;
$error = true;
$errormsg = 'Sie haben keine Berechtigung';
}
else
{
$mob = new mobilitaet();
$error = false;
if(isset($_POST['mobilitaet_id']))
{
$mobilitaet_id = $_POST['mobilitaet_id'];
if(!$mob->load($mobilitaet_id))
{
$error=true;
$errormsg = $mob->errormsg;
}
}
else
{
$mob->new = true;
$mob->inservon = $user;
}
if(isset($_POST['studiensemester_kurzbz'])
&& isset($_POST['mobilitaetsprogramm_code'])
&& isset($_POST['gsprogramm_id'])
&& isset($_POST['mobilitaetstyp_kurzbz'])
&& isset($_POST['firma_id'])
&& isset($_POST['status_kurzbz'])
&& isset($_POST['ausbildungssemester']))
{
$studiensemester_kurzbz = $_POST['studiensemester_kurzbz'];
$mobilitaetsprogramm_code = $_POST['mobilitaetsprogramm_code'];
$gsprogramm_id = $_POST['gsprogramm_id'];
$mobilitaetstyp_kurzbz = $_POST['mobilitaetstyp_kurzbz'];
$firma_id = $_POST['firma_id'];
$status_kurzbz = $_POST['status_kurzbz'];
$ausbildungssemester = $_POST['ausbildungssemester'];
}
else
{
$error = true;
$errormsg = 'Fehlerhafte Parameteruebergabe';
$return = false;
}
if(!$error)
{
$mob->prestudent_id = $prestudent_id;
$mob->studiensemester_kurzbz = $studiensemester_kurzbz;
$mob->mobilitaetsprogramm_code = $mobilitaetsprogramm_code;
$mob->gsprogramm_id = $gsprogramm_id;
$mob->mobilitaetstyp_kurzbz = $mobilitaetstyp_kurzbz;
$mob->firma_id = $firma_id;
$mob->status_kurzbz = $status_kurzbz;
$mob->ausbildungssemester = $ausbildungssemester;
$mob->updatevon = $user;
if($mob->save())
{
$return = true;
$data = $mob->mobilitaet_id;
}
else
{
$return = false;
$error = true;
$errormsg = $mob->errormsg;
}
}
else
{
$return = false;
}
}
}
elseif(isset($_POST['type']) && $_POST['type']=='deletemobilitaet')
{
$mobilitaet_id = $_POST['mobilitaet_id'];
$mob = new mobilitaet();
if($mob->load($mobilitaet_id))
{
$prestudent = new prestudent();
if($prestudent->load($mob->prestudent_id))
{
if(!$rechte->isBerechtigt('student/stammdaten',$prestudent->studiengang_kz,'suid'))
{
$error = true;
$return = false;
$errormsg = 'Sie haben keine Berechtigung';
}
else
{
if($mob->delete($mobilitaet_id))
{
$return = true;
}
else
{
$errormsg = $mob->errormsg;
$return = false;
}
}
}
else
{
$error = true;
$return = false;
$errormsg = $prestudent->errormsg;
}
}
else
{
$return = false;
$errormsg = $mob->errormsg;
}
}
else
{
$return = false;
@@ -500,6 +500,20 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
</template>
</menulist>
<label value="Studientyp" control="student-detail-menulist-gsstudientyp"/>
<menulist id="student-detail-menulist-gsstudientyp" disabled="true"
datasources="<?php echo APP_ROOT ?>rdf/gsstudientyp.rdf.php" flex="1"
ref="http://www.technikum-wien.at/gsstudientyp" >
<template>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/gsstudientyp/rdf#gsstudientyp_kurzbz"
label="rdf:http://www.technikum-wien.at/gsstudientyp/rdf#bezeichnung"
uri="rdf:*"/>
</menupopup>
</template>
</menulist>
<label value="Facheinschlaegig berufstaetig" control="student-prestudent-checkbox-facheinschlberuf" hidden="true"/>
<checkbox id="student-prestudent-checkbox-facheinschlberuf" checked="true" disabled="true" hidden="true"/>
+3
View File
@@ -40,6 +40,7 @@ echo '<?xul-overlay href="'.APP_ROOT.'content/student/studentdetailoverlay.xul.p
echo '<?xul-overlay href="'.APP_ROOT.'content/student/studentzeugnisoverlay.xul.php"?>';
echo '<?xul-overlay href="'.APP_ROOT.'content/student/studentkontooverlay.xul.php"?>';
echo '<?xul-overlay href="'.APP_ROOT.'content/student/studentiooverlay.xul.php"?>';
echo '<?xul-overlay href="'.APP_ROOT.'content/student/studentmobilitaetoverlay.xul.php"?>';
echo '<?xul-overlay href="'.APP_ROOT.'content/student/studentnotenoverlay.xul.php"?>';
echo '<?xul-overlay href="'.APP_ROOT.'content/student/studentpruefungoverlay.xul.php"?>';
echo '<?xul-overlay href="'.APP_ROOT.'content/student/studentanrechnungenoverlay.xul.php"?>';
@@ -387,6 +388,7 @@ else
<tab id="student-tab-konto" label="Konto" />
<tab id="student-tab-betriebsmittel" label="Betriebsmittel" />
<tab id="student-tab-io" label="In/Out" />
<tab id="student-tab-mobilitaet" label="GS" />
<tab id="student-tab-noten" label="Noten" />
<tab id="student-tab-zeugnis" label="Archiv" />
<tab id="student-tab-pruefung" label="Prüfung" />
@@ -414,6 +416,7 @@ else
<vbox id="student-konto" style="margin-top:10px;" />
<iframe id="student-betriebsmittel" src="" style="margin-top:10px;" />
<vbox id="student-io" style="margin-top:10px;" />
<vbox id="student-mobilitaet" style="margin-top:10px;" />
<vbox id="student-noten" style="margin-top:10px;" />
<vbox id="student-zeugnis" style="margin-top:10px;" />
<vbox id="student-pruefung" style="margin-top:10px;" />
@@ -0,0 +1,317 @@
<?php
/* Copyright (C) 2016 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 <[email protected]>
*/
require_once('../../config/vilesci.config.inc.php');
?>
var StudentMobilitaetTreeDatasource;
var StudentMobilitaetTreeSelectID='';
// ****
// * Observer fuer BISIO Tree
// * startet Rebuild nachdem das Refresh
// * der datasource fertig ist
// ****
var StudentMobilitaetTreeSinkObserver =
{
onBeginLoad : function(pSink)
{
tree = document.getElementById('student-mobilitaet-tree');
tree.removeEventListener('select', StudentMobilitaetAuswahl, false);
},
onInterrupt : function(pSink) {},
onResume : function(pSink) {},
onError : function(pSink, pStatus, pError) {},
onEndLoad : function(pSink)
{
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
document.getElementById('student-mobilitaet-tree').builder.rebuild();
}
};
// ****
// * Nach dem Rebuild wird der Eintrag wieder
// * markiert
// ****
var StudentMobilitaetTreeListener =
{
willRebuild : function(builder) { },
didRebuild : function(builder)
{
tree = document.getElementById('student-mobilitaet-tree');
tree.addEventListener('select', StudentMobilitaetAuswahl, false);
//timeout nur bei Mozilla notwendig da sonst die rows
//noch keine values haben. Ab Seamonkey funktionierts auch
//ohne dem setTimeout
window.setTimeout(StudentMobilitaetTreeSelectID,10);
}
};
function StudentMobilitaetAuswahl()
{
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
var gstree = document.getElementById('student-mobilitaet-tree');
if (gstree.currentIndex==-1)
return;
StudentMobilitaetDisableFields(false);
//Ausgewaehlte ID holen
var mobilitaet_id = getTreeCellText(gstree, 'student-mobilitaet-tree-mobilitaet_id', gstree.currentIndex);
//Daten holen
var url = '<?php echo APP_ROOT ?>rdf/mobilitaet.rdf.php?mobilitaet_id='+mobilitaet_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/mobilitaet/" + mobilitaet_id);
var predicateNS = "http://www.technikum-wien.at/mobilitaet/rdf";
//Daten holen
var mobilitaetsprogramm_code = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#mobilitaetsprogramm_code" ));
var studiensemester_kurzbz = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#studiensemester_kurzbz" ));
var gsprogramm_id = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#gsprogramm_id" ));
var mobilitaetstyp_kurzbz = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#mobilitaetstyp_kurzbz" ));
var firma_id = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#firma_id" ));
var status_kurzbz = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#status_kurzbz" ));
var ausbildungssemester = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#ausbildungssemester" ));
document.getElementById('student-mobilitaet-detail-checkbox-neu').checked=false;
document.getElementById('student-mobilitaet-detail-textbox-mobilitaet_id').value=mobilitaet_id;
document.getElementById('student-mobilitaet-menulist-studiensemester').value=studiensemester_kurzbz;
document.getElementById('student-mobilitaet-menulist-mobilitaetsprogramm').value=mobilitaetsprogramm_code;
document.getElementById('student-mobilitaet-menulist-gsprogramm').value=gsprogramm_id;
document.getElementById('student-mobilitaet-menulist-mobilitaetstyp').value=mobilitaetstyp_kurzbz;
document.getElementById('student-mobilitaet-menulist-firma').value=firma_id;
document.getElementById('student-mobilitaet-menulist-status').value=status_kurzbz;
document.getElementById('student-mobilitaet-textbox-ausbildungssemester').value=ausbildungssemester;
}
function StudentMobilitaetLoad(prestudent_id)
{
document.getElementById('student-mobilitaet-detail-textbox-prestudent_id').value=prestudent_id;
document.getElementById('student-mobilitaet-button-neu').disabled=false;
document.getElementById('student-mobilitaet-button-loeschen').disabled=false;
var gstree = document.getElementById('student-mobilitaet-tree');
url='<?php echo APP_ROOT;?>rdf/mobilitaet.rdf.php?prestudent_id='+prestudent_id+"&"+gettimestamp();
try
{
StudentMobilitaetTreeDatasource.removeXMLSinkObserver(StudentMobilitaetTreeSinkObserver);
gstree.builder.removeListener(StudentMobilitaetTreeListener);
}
catch(e)
{}
//Alte DS entfernen
var oldDatasources = gstree.database.GetDataSources();
while(oldDatasources.hasMoreElements())
{
gstree.database.RemoveDataSource(oldDatasources.getNext());
}
//Refresh damit die entfernten DS auch wirklich entfernt werden
gstree.builder.rebuild();
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService);
StudentMobilitaetTreeDatasource = rdfService.GetDataSource(url);
StudentMobilitaetTreeDatasource.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource);
StudentMobilitaetTreeDatasource.QueryInterface(Components.interfaces.nsIRDFXMLSink);
gstree.database.AddDataSource(StudentMobilitaetTreeDatasource);
StudentMobilitaetTreeDatasource.addXMLSinkObserver(StudentMobilitaetTreeSinkObserver);
gstree.builder.addListener(StudentMobilitaetTreeListener);
}
// ****
// * Aktiviert die Felder zum Anlegen eines neuen Eintrages
// ****
function StudentMobilitaetNeu()
{
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
//Felder Resetten und Aktivieren
StudentMobilitaetResetFileds();
StudentMobilitaetDisableFields(false);
// Defaultwerte fuer neuen Eintrag setzen
var stsem = getStudiensemester();
document.getElementById('student-mobilitaet-menulist-studiensemester').value=stsem;
document.getElementById('student-mobilitaet-menulist-status').value='Student';
document.getElementById('student-mobilitaet-menulist-mobilitaetstyp').value='GS';
}
function StudentMobilitaetResetFileds()
{
document.getElementById('student-mobilitaet-detail-checkbox-neu').checked=true;
document.getElementById('student-mobilitaet-detail-textbox-mobilitaet_id').value='';
document.getElementById('student-mobilitaet-menulist-studiensemester').value='';
document.getElementById('student-mobilitaet-menulist-mobilitaetsprogramm').value='';
document.getElementById('student-mobilitaet-menulist-gsprogramm').value='';
document.getElementById('student-mobilitaet-menulist-mobilitaetstyp').value='';
document.getElementById('student-mobilitaet-menulist-firma').value='';
document.getElementById('student-mobilitaet-menulist-status').value='';
document.getElementById('student-mobilitaet-textbox-ausbildungssemester').value='';
}
function StudentMobilitaetDisableFields(val)
{
document.getElementById('student-mobilitaet-menulist-studiensemester').disabled=val;
document.getElementById('student-mobilitaet-menulist-mobilitaetsprogramm').disabled=val;
document.getElementById('student-mobilitaet-menulist-gsprogramm').disabled=val;
document.getElementById('student-mobilitaet-menulist-mobilitaetstyp').disabled=val;
document.getElementById('student-mobilitaet-menulist-firma').disabled=val;
document.getElementById('student-mobilitaet-menulist-status').disabled=val;
document.getElementById('student-mobilitaet-textbox-ausbildungssemester').disabled=val;
document.getElementById('student-mobilitaet-button-speichern').disabled=val;
}
// ****
// * Speichert den Mobilitaet Datensatz
// ****
function StudentMobilitaetSpeichern()
{
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
var ausbildungssemester = document.getElementById('student-mobilitaet-textbox-ausbildungssemester').value;
var status = document.getElementById('student-mobilitaet-menulist-status').value;
var firma = document.getElementById('student-mobilitaet-menulist-firma').value;
var mobilitaetstyp = document.getElementById('student-mobilitaet-menulist-mobilitaetstyp').value;
var gsprogramm = document.getElementById('student-mobilitaet-menulist-gsprogramm').value;
var mobilitaetsprogramm = document.getElementById('student-mobilitaet-menulist-mobilitaetsprogramm').value;
var studiensemester = document.getElementById('student-mobilitaet-menulist-studiensemester').value;
var neu = document.getElementById('student-mobilitaet-detail-checkbox-neu').checked;
var prestudent_id = document.getElementById('student-mobilitaet-detail-textbox-prestudent_id').value;
var mobilitaet_id = document.getElementById('student-mobilitaet-detail-textbox-mobilitaet_id').value;
var url = '<?php echo APP_ROOT ?>content/student/studentDBDML.php';
var req = new phpRequest(url,'','');
req.add('type', 'savemobilitaet');
if(neu==false)
req.add('mobilitaet_id', mobilitaet_id);
req.add('neu', neu);
req.add('mobilitaetsprogramm_code', mobilitaetsprogramm);
req.add('ausbildungssemester', ausbildungssemester);
req.add('status_kurzbz', status);
req.add('firma_id', firma);
req.add('mobilitaetstyp_kurzbz', mobilitaetstyp);
req.add('gsprogramm_id', gsprogramm);
req.add('studiensemester_kurzbz', studiensemester);
req.add('prestudent_id', prestudent_id);
var response = req.executePOST();
var val = new ParseReturnValue(response)
if (!val.dbdml_return)
{
if(val.dbdml_errormsg=='')
alert(response)
else
alert(val.dbdml_errormsg)
}
else
{
document.getElementById('student-mobilitaet-detail-textbox-mobilitaet_id').value = val.dbdml_data;
document.getElementById('student-mobilitaet-detail-checkbox-neu').checked=false;
StudentMobilitaetTreeSelectID = val.dbdml_data;
StudentMobilitaetTreeDatasource.Refresh(false); //non blocking
SetStatusBarText('Daten wurden gespeichert');
}
}
// ****
// * Selectiert den Mobilitaet Eintrag nachdem der Tree
// * rebuildet wurde.
// ****
function StudentMobilitaetTreeSelectID()
{
var tree=document.getElementById('student-mobilitaet-tree');
if(tree.view)
var items = tree.view.rowCount; //Anzahl der Zeilen ermitteln
else
return false;
//In der globalen Variable ist die zu selektierende Eintrag gespeichert
if(StudentMobilitaetSelectID!=null)
{
for(var i=0;i < items;i++)
{
//ID der row holen
var mobilitaet_id = getTreeCellText(tree, 'student-mobilitaet-tree-mobilitaet_id', i);
//wenn dies die zu selektierende Zeile
if(mobilitaet_id == StudentMobilitaetSelectID)
{
//Zeile markieren
tree.view.selection.select(i);
//Sicherstellen, dass die Zeile im sichtbaren Bereich liegt
tree.treeBoxObject.ensureRowIsVisible(i);
StudentMobilitaetSelectID=null;
return true;
}
}
}
}
function StudentMobilitaetDelete()
{
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
var tree = document.getElementById('student-mobilitaet-tree');
if (tree.currentIndex==-1) return;
StudentMobilitaetDisableFields(false);
//Ausgewaehlte Nr holen
var mobilitaet_id = getTreeCellText(tree, 'student-mobilitaet-tree-mobilitaet_id', tree.currentIndex);
if(confirm('Diesen Eintrag wirklich loeschen?'))
{
var url = '<?php echo APP_ROOT ?>content/student/studentDBDML.php';
var req = new phpRequest(url,'','');
req.add('type', 'deletemobilitaet');
req.add('mobilitaet_id', mobilitaet_id);
var response = req.executePOST();
var val = new ParseReturnValue(response)
if (!val.dbdml_return)
{
if(val.dbdml_errormsg=='')
alert(response)
else
alert(val.dbdml_errormsg)
}
else
{
StudentMobilitaetSelectID=mobilitaet_id;
StudentMobilitaetTreeDatasource.Refresh(false); //non blocking
SetStatusBarText('Daten wurden geloescht');
StudentMobilitaetResetFileds();
StudentMobilitaetDisableFields(true);
}
}
}
@@ -0,0 +1,228 @@
<?php
/* Copyright (C) 2016 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 <[email protected]>
*/
header("Cache-Control: no-cache");
header("Cache-Control: post-check=0, pre-check=0",false);
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Pragma: no-cache");
header("Content-type: application/vnd.mozilla.xul+xml");
require_once('../../config/vilesci.config.inc.php');
echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
?>
<overlay id="MobilitaetDetailOverlay"
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/student/studentmobilitaetoverlay.js.php" />
<vbox id="student-mobilitaet" style="overflow:auto;margin:0px;" flex="1">
<popupset>
<menupopup id="student-mobilitaet-tree-popup">
<menuitem label="Entfernen" oncommand="StudentMobilitaetDelete();" id="student-mobilitaet-tree-popup-delete" hidden="false"/>
</menupopup>
</popupset>
<hbox flex="1">
<grid id="student-mobilitaet-grid-detail" style="margin:4px;" flex="1">
<columns >
<column flex="1"/>
<column flex="1"/>
</columns>
<rows>
<row>
<tree id="student-mobilitaet-tree" seltype="single" hidecolumnpicker="false" flex="1"
datasources="rdf:null" ref="http://www.technikum-wien.at/mobilitaet"
style="margin-left:10px;margin-right:10px;margin-bottom:5px;margin-top: 10px;" height="100px" enableColumnDrag="true"
context="student-mobilitaet-tree-popup"
flags="dont-build-content"
>
<treecols>
<treecol id="student-mobilitaet-tree-studiensemester" label="StSem" flex="2" hidden="false" primary="true"
class="sortDirectionIndicator"
sortActive="true"
sortDirection="ascending"
sort="rdf:http://www.technikum-wien.at/mobilitaet/rdf#studiensemester"/>
<splitter class="tree-splitter"/>
<treecol id="student-mobilitaet-tree-mobilitaetsprogramm" label="Mobilitaetsprogramm" flex="1" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mobilitaet/rdf#mobilitaetsprogramm"/>
<splitter class="tree-splitter"/>
<treecol id="student-mobilitaet-tree-status_kurzbz" label="Status" flex="2" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mobilitaet/rdf#status_kurzbz" />
<splitter class="tree-splitter"/>
<treecol id="student-mobilitaet-tree-ausbildungssemester" label="Sem" flex="2" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mobilitaet/rdf#ausbildungssemester" />
<splitter class="tree-splitter"/>
<treecol id="student-mobilitaet-tree-gsprogrammtyp_kurzbz" label="Typ" flex="2" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mobilitaet/rdf#gsprogrammtyp_kurzbz" />
<splitter class="tree-splitter"/>
<treecol id="student-mobilitaet-tree-mobilitaet_id" label="ID" flex="2" hidden="true"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/mobilitaet/rdf#mobilitaet_id" />
<splitter class="tree-splitter"/>
</treecols>
<template>
<treechildren flex="1" >
<treeitem uri="rdf:*">
<treerow>
<treecell label="rdf:http://www.technikum-wien.at/mobilitaet/rdf#studiensemester_kurzbz"/>
<treecell label="rdf:http://www.technikum-wien.at/mobilitaet/rdf#mobilitaetsprogramm"/>
<treecell label="rdf:http://www.technikum-wien.at/mobilitaet/rdf#status_kurzbz"/>
<treecell label="rdf:http://www.technikum-wien.at/mobilitaet/rdf#ausbildungssemester"/>
<treecell label="rdf:http://www.technikum-wien.at/mobilitaet/rdf#gsprogrammtyp_kurzbz"/>
<treecell label="rdf:http://www.technikum-wien.at/mobilitaet/rdf#mobilitaet_id"/>
</treerow>
</treeitem>
</treechildren>
</template>
</tree>
<vbox>
<hbox>
<button id="student-mobilitaet-button-neu" label="Neu" oncommand="StudentMobilitaetNeu();" disabled="true"/>
<button id="student-mobilitaet-button-loeschen" label="Loeschen" oncommand="StudentMobilitaetDelete();" disabled="true"/>
</hbox>
<vbox hidden="true">
<label value="Neu"/>
<checkbox id="student-mobilitaet-detail-checkbox-neu" checked="true" />
<label value="Uid"/>
<textbox id="student-mobilitaet-detail-textbox-prestudent_id" disabled="true"/>
<label value="gs ID"/>
<textbox id="student-mobilitaet-detail-textbox-mobilitaet_id" disabled="true"/>
</vbox>
<groupbox id="student-mobilitaet-groupbox" flex="1">
<caption label="Gemeinsame Studien"/>
<grid id="student-mobilitaet-grid-detail" style="overflow:auto;margin:4px;" flex="1">
<columns >
<column flex="1"/>
<column flex="5"/>
</columns>
<rows>
<row>
<label value="Typ" control="student-mobilitaet-menulist-mobilitaetstyp"/>
<menulist id="student-mobilitaet-menulist-mobilitaetstyp" disabled="true"
datasources="<?php echo APP_ROOT ?>rdf/mobilitaetstyp.rdf.php" flex="1"
ref="http://www.technikum-wien.at/mobilitaetstyp" >
<template>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/mobilitaetstyp/rdf#mobilitaetstyp_kurzbz"
label="rdf:http://www.technikum-wien.at/mobilitaetstyp/rdf#bezeichnung"
uri="rdf:*"/>
</menupopup>
</template>
</menulist>
</row>
<row>
<label value="Studiensemester" control="student-mobilitaet-menulist-studiensemester"/>
<menulist id="student-mobilitaet-menulist-studiensemester" disabled="true"
datasources="<?php echo APP_ROOT ?>rdf/studiensemester.rdf.php" flex="1"
ref="http://www.technikum-wien.at/studiensemester/liste" >
<template>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/studiensemester/rdf#kurzbz"
label="rdf:http://www.technikum-wien.at/studiensemester/rdf#kurzbz"
uri="rdf:*"/>
</menupopup>
</template>
</menulist>
</row>
<row>
<label value="Mobilitaetsprogramm" control="student-mobilitaet-menulist-mobilitaetsprogramm"/>
<menulist id="student-mobilitaet-menulist-mobilitaetsprogramm" disabled="true"
datasources="<?php echo APP_ROOT ?>rdf/mobilitaetsprogramm.rdf.php?optional=true" flex="1"
ref="http://www.technikum-wien.at/mobilitaetsprogramm/liste" >
<template>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/mobilitaetsprogramm/rdf#mobilitaetsprogramm_code"
label="rdf:http://www.technikum-wien.at/mobilitaetsprogramm/rdf#kurzbz - rdf:http://www.technikum-wien.at/mobilitaetsprogramm/rdf#beschreibung"
uri="rdf:*"/>
</menupopup>
</template>
</menulist>
</row>
<row>
<label value="Studienprogramm" control="student-mobilitaet-menulist-gsprogramm"/>
<menulist id="student-mobilitaet-menulist-gsprogramm" disabled="true"
datasources="<?php echo APP_ROOT ?>rdf/gsprogramm.rdf.php" flex="1"
ref="http://www.technikum-wien.at/gsprogramm" >
<template>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/gsprogramm/rdf#gsprogramm_id"
label="rdf:http://www.technikum-wien.at/gsprogramm/rdf#gsprogrammtyp_bezeichnung - rdf:http://www.technikum-wien.at/gsprogramm/rdf#bezeichnung"
uri="rdf:*"/>
</menupopup>
</template>
</menulist>
</row>
<row>
<label value="Partner" control="student-mobilitaet-menulist-firma"/>
<menulist id="student-mobilitaet-menulist-firma" disabled="true"
datasources="<?php echo APP_ROOT ?>rdf/firma.rdf.php?partner=true&amp;optional=true" flex="1"
ref="http://www.technikum-wien.at/firma/liste" >
<template>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/firma/rdf#firma_id"
label="rdf:http://www.technikum-wien.at/firma/rdf#name"
uri="rdf:*"/>
</menupopup>
</template>
</menulist>
</row>
<row>
<label value="Status" control="student-mobilitaet-menulist-status"/>
<menulist id="student-mobilitaet-menulist-status" disabled="true"
datasources="<?php echo APP_ROOT ?>rdf/status.rdf.php" flex="1"
ref="http://www.technikum-wien.at/status" >
<template>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/status/rdf#status_kurzbz"
label="rdf:http://www.technikum-wien.at/status/rdf#status_kurzbz"
uri="rdf:*"/>
</menupopup>
</template>
</menulist>
</row>
<row>
<label value="Ausbildungssemester" control="student-mobilitaet-textbox-ausbildungssemester"/>
<hbox>
<textbox id="student-mobilitaet-textbox-ausbildungssemester" disabled="true" size="1"/>
<spacer flex="1" />
</hbox>
</row>
</rows>
</grid>
</groupbox>
<hbox>
<spacer flex="1" />
<button id="student-mobilitaet-button-speichern" oncommand="StudentMobilitaetSpeichern()" label="Speichern" disabled="true"/>
</hbox>
</vbox>
</row>
</rows>
</grid>
</hbox>
<spacer flex="1" />
</vbox>
</overlay>
+12
View File
@@ -919,6 +919,7 @@ function StudentAuswahl()
StudentKontoDisableFields(false);
StudentAkteDisableFields(false);
StudentIODisableFields(false);
StudentMobilitaetDisableFields(false);
StudentNoteDisableFields(false);
document.getElementById('student-detail-button-save').disabled=false;
StudentPruefungDisableFileds(false);
@@ -1057,6 +1058,7 @@ function StudentAuswahl()
anmerkung = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#anmerkungpre" ));
mentor = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#mentor" ));
dual = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#dual" ));
gsstudientyp_kurzbz = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#gsstudientyp_kurzbz" ));
document.getElementById('student-prestudent-menulist-aufmerksamdurch').value=aufmerksamdurch_kurzbz;
document.getElementById('student-prestudent-menulist-berufstaetigkeit').value=berufstaetigkeit_code;
@@ -1102,6 +1104,7 @@ function StudentAuswahl()
document.getElementById('student-prestudent-textbox-anmerkung').value=anmerkung;
document.getElementById('student-prestudent-textbox-mentor').value=mentor;
document.getElementById('student-detail-menulist-gsstudientyp').value=gsstudientyp_kurzbz;
document.getElementById('student-detail-groupbox-caption').label='Zugangsvoraussetzung für '+nachname+' '+vorname;
rollentree = document.getElementById('student-prestudent-tree-rolle');
@@ -1366,6 +1369,12 @@ function StudentAuswahl()
bisiotree.builder.addListener(StudentIOTreeListener);
}
if(uid!='')
{
// *** Gemeinsame Studien / Mobilitaet ***
StudentMobilitaetLoad(prestudent_id);
}
if(uid!='')
{
// *** ZeugnisNoten ***
@@ -1602,6 +1611,7 @@ function StudentPrestudentDisableFields(val)
//document.getElementById('student-prestudent-menulist-studiengang_kz').disabled=val;
document.getElementById('student-prestudent-textbox-anmerkung').disabled=val;
document.getElementById('student-prestudent-textbox-mentor').disabled=val;
document.getElementById('student-detail-menulist-gsstudientyp').disabled=val;
//Status Tree leeren
rollentree = document.getElementById('student-prestudent-tree-rolle');
@@ -1656,6 +1666,7 @@ function StudentPrestudentSave()
studiengang_kz = document.getElementById('student-prestudent-menulist-studiengang_kz').value;
anmerkung = document.getElementById('student-prestudent-textbox-anmerkung').value;
mentor = document.getElementById('student-prestudent-textbox-mentor').value;
gsstudientyp = document.getElementById('student-detail-menulist-gsstudientyp').value;
if(zgvdatum!='' && !CheckDatum(zgvdatum))
{
@@ -1711,6 +1722,7 @@ function StudentPrestudentSave()
req.add('studiengang_kz', studiengang_kz);
req.add('anmerkung', anmerkung);
req.add('mentor', mentor);
req.add('gsstudientyp_kurzbz', gsstudientyp);
var response = req.executePOST();
+58 -4
View File
@@ -48,6 +48,7 @@ class firma extends basis_db
public $gesperrt; // boolean
public $aktiv; // boolean
public $finanzamt; // string
public $partner_code; // varchar(20)
// firma_organisationseinheit
public $oe_kurzbz; // string
@@ -108,6 +109,7 @@ class firma extends basis_db
$this->gesperrt = $this->db_parse_bool($row->gesperrt);
$this->aktiv = $this->db_parse_bool($row->aktiv);
$this->finanzamt = $row->finanzamt;
$this->partner_code = $row->partner_code;
$qry = "SELECT tag FROM public.tbl_firmatag WHERE firma_id=".$this->db_add_param($firma_id,FHC_INTEGER).';';
if($resulttag = $this->db_query($qry))
@@ -175,7 +177,7 @@ class firma extends basis_db
//Neuen Datensatz einfuegen
$qry='INSERT INTO public.tbl_firma (name, anmerkung, lieferbedingungen,
firmentyp_kurzbz, updateamum, updatevon, insertamum, insertvon, schule,steuernummer,
gesperrt,aktiv,finanzamt) VALUES('.
gesperrt,aktiv,finanzamt,partner_code) VALUES('.
$this->db_add_param($this->name).', '.
$this->db_add_param($this->anmerkung).', '.
$this->db_add_param($this->lieferbedingungen).', '.
@@ -188,7 +190,8 @@ class firma extends basis_db
$this->db_add_param($this->steuernummer).', '.
$this->db_add_param($this->gesperrt, FHC_BOOLEAN).','.
$this->db_add_param($this->aktiv, FHC_BOOLEAN).','.
$this->db_add_param($this->finanzamt, FHC_INTEGER).' ); ';
$this->db_add_param($this->finanzamt, FHC_INTEGER).','.
$this->db_add_param($this->partner_code).'); ';
}
else
{
@@ -212,7 +215,8 @@ class firma extends basis_db
'steuernummer='.$this->db_add_param($this->steuernummer).', '.
'gesperrt='.$this->db_add_param($this->gesperrt, FHC_BOOLEAN).', '.
'aktiv='.$this->db_add_param($this->aktiv, FHC_BOOLEAN).', '.
'finanzamt='.$this->db_add_param($this->finanzamt, FHC_INTEGER).' '.
'finanzamt='.$this->db_add_param($this->finanzamt, FHC_INTEGER).', '.
'partner_code='.$this->db_add_param($this->partner_code).' '.
'WHERE firma_id='.$this->db_add_param($this->firma_id, FHC_INTEGER).';';
}
@@ -377,7 +381,7 @@ class firma extends basis_db
SELECT
firma_id, name, anmerkung, lieferbedingungen, firmentyp_kurzbz, updateamum, updatevon, insertamum, insertvon,
ext_id, schule, steuernummer, gesperrt, aktiv, finanzamt, '1' as sort
ext_id, schule, steuernummer, gesperrt, aktiv, finanzamt, '1' as sort, partner_code
FROM public.tbl_firma
WHERE
UPPER(trim(public.tbl_firma.name)) like '".$this->db_escape($matchcode)."%'
@@ -418,6 +422,7 @@ class firma extends basis_db
$fa->gesperrt = $this->db_parse_bool($row->gesperrt);
$fa->aktiv = $this->db_parse_bool($row->aktiv);
$fa->finanzamt = $row->finanzamt;
$fa->partner_code = $row->partner_code;
$this->result[] = $fa;
}
@@ -495,6 +500,7 @@ class firma extends basis_db
$fa->gesperrt = $this->db_parse_bool($row->gesperrt);
$fa->aktiv = $this->db_parse_bool($row->aktiv);
$fa->finanzamt = $row->finanzamt;
$fa->partner_code = $row->partner_code;
$this->result[] = $fa;
}
@@ -542,6 +548,7 @@ class firma extends basis_db
$fa->gesperrt = $this->db_parse_bool($row->gesperrt);
$fa->aktiv = $this->db_parse_bool($row->aktiv);
$fa->finanzamt = $row->finanzamt;
$fa->partner_code = $row->partner_code;
$fa->kurzbz = $row->kurzbz;
$fa->adresse_id = $row->adresse_id;
$fa->standort_id = $row->standort_id;
@@ -618,6 +625,7 @@ class firma extends basis_db
$fa->gesperrt = $this->db_parse_bool($row->gesperrt);
$fa->aktiv = $this->db_parse_bool($row->aktiv);
$fa->finanzamt = $row->finanzamt;
$fa->partner_code = $row->partner_code;
$fa->kurzbz = $row->kurzbz;
$fa->adresse_id = $row->adresse_id;
$fa->standort_id = $row->standort_id;
@@ -708,6 +716,7 @@ class firma extends basis_db
$fa->gesperrt = $this->db_parse_bool($row->gesperrt);
$fa->aktiv = $this->db_parse_bool($row->aktiv);
$fa->finanzamt = $row->finanzamt;
$fa->partner_code = $row->partner_code;
$fa->kurzbz = $row->kurzbz;
$fa->adresse_id = $row->adresse_id;
$fa->standort_id = $row->standort_id;
@@ -823,6 +832,7 @@ class firma extends basis_db
$fa->gesperrt = $this->db_parse_bool($row->gesperrt);
$fa->aktiv = $this->db_parse_bool($row->aktiv);
$fa->finanzamt = $row->finanzamt;
$fa->partner_code = $row->partner_code;
$fa->oe_kurzbz = $row->oe_kurzbz;
$fa->firma_organisationseinheit_id = $row->firma_organisationseinheit_id;
$fa->oe_parent_kurzbz = $row->oe_parent_kurzbz;
@@ -1089,6 +1099,7 @@ class firma extends basis_db
$fi->gesperrt = $this->db_parse_bool($row->gesperrt);
$fi->aktiv = $this->db_parse_bool($row->aktiv);
$fi->finanzamt = $row->finanzamt;
$fi->partner_code = $row->partner_code;
$this->result[] = $fi;
}
@@ -1101,5 +1112,48 @@ class firma extends basis_db
}
}
/**
* Laedt Firmen die eine PartnerCode haben
* @param $firma_id ID der zu ladenden Funktion
* @return true wenn ok, false im Fehlerfall
*/
public function getFirmaPartner()
{
$qry = "SELECT * FROM public.tbl_firma WHERE partner_code is not null;";
if($this->db_query($qry))
{
while($row = $this->db_fetch_object())
{
$obj = new stdClass();
$obj->firma_id = $row->firma_id;
$obj->name = $row->name;
$obj->anmerkung = $row->anmerkung;
$obj->lieferbedingungen = $row->lieferbedingungen;
$obj->firmentyp_kurzbz = $row->firmentyp_kurzbz;
$obj->updateamum = $row->updateamum;
$obj->updatevon = $row->updatevon;
$obj->insertamum = $row->insertamum;
$obj->insertvon = $row->insertvon;
$obj->ext_id = $row->ext_id;
$obj->schule = $this->db_parse_bool($row->schule);
$obj->steuernummer = $row->steuernummer;
$obj->gesperrt = $this->db_parse_bool($row->gesperrt);
$obj->aktiv = $this->db_parse_bool($row->aktiv);
$obj->finanzamt = $row->finanzamt;
$obj->partner_code = $row->partner_code;
$this->result[] = $obj;
}
return true;
}
else
{
$this->errormsg = 'Fehler beim Laden des Datensatzes';
return false;
}
}
}
?>
+209
View File
@@ -0,0 +1,209 @@
<?php
/* Copyright (C) 2016 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 <[email protected]>
*/
/**
* Klasse GSProgramm
*/
require_once(dirname(__FILE__).'/basis_db.class.php');
class gsprogramm extends basis_db
{
public $new=true; // boolean
public $result = array();
//Tabellenspalten
public $gsprogramm_id;
public $programm_code;
public $bezeichnung;
public $gsprogrammtyp_kurzbz;
public function getAll()
{
$qry ="SELECT
tbl_gsprogramm.*,
tbl_gsprogrammtyp.bezeichnung as gsprogrammtyp_bezeichnung
FROM
bis.tbl_gsprogramm
LEFT JOIN bis.tbl_gsprogrammtyp USING(gsprogrammtyp_kurzbz)
ORDER BY tbl_gsprogramm.bezeichnung";
if($this->db_query($qry))
{
while($row = $this->db_fetch_object())
{
$obj = new gsprogramm();
$obj->gsprogramm_id = $row->gsprogramm_id;
$obj->programm_code = $row->programm_code;
$obj->bezeichnung = $row->bezeichnung;
$obj->gsprogrammtyp_kurzbz = $row->gsprogrammtyp_kurzbz;
$obj->gsprogrammtyp_bezeichnung = $row->gsprogrammtyp_bezeichnung;
$this->result[]=$obj;
}
return true;
}
else
{
$this->errormsg = "Fehler bei der Abfrage aufgetreten";
return false;
}
}
/**
* Lädt ein GSProgramm
* @param int $gsprogramm_id
* @return boolean
*/
public function load($gsprogramm_id)
{
$qry ="SELECT * FROM bis.tbl_gsprogramm where gsprogramm_id =".$this->db_add_param($gsprogramm_id, FHC_INTEGER).';';
if($this->db_query($qry))
{
if($row = $this->db_fetch_object())
{
$this->gsprogramm_id = $row->gsprogramm_id;
$this->programm_code = $row->programm_code;
$this->bezeichnung = $row->bezeichnung;
$this->gsprogrammtyp_kurzbz = $row->gsprogrammtyp_kurzbz;
$this->new = false;
}
return true;
}
else
{
$this->errormsg = "Fehler bei der Abfrage aufgetreten";
return false;
}
}
/**
* Laedt die GSProgrammTypen
* @return true wenn ok, false im Fehlerfall
*/
public function getTypen()
{
$qry = "SELECT * FROM bis.tbl_gsprogrammtyp ORDER BY bezeichnung";
if($result = $this->db_query($qry))
{
while($row = $this->db_fetch_object($result))
{
$obj = new stdClass();
$obj->gsprogrammtyp_kurzbz = $row->gsprogrammtyp_kurzbz;
$obj->bezeichnung = $row->bezeichnung;
$obj->programmtyp_code = $row->programmtyp_code;
$this->result[] = $obj;
}
return true;
}
else
{
$this->errormsg = 'Fehler beim Laden der Programmtypen';
return false;
}
}
public function save()
{
if($this->new)
{
$qry = 'BEGIN;INSERT INTO bis.tbl_gsprogramm(programm_code,
bezeichnung, gsprogrammtyp_kurzbz) VALUES('.
$this->db_add_param($this->programm_code).','.
$this->db_add_param($this->bezeichnung).','.
$this->db_add_param($this->gsprogrammtyp_kurzbz).');';
}
else
{
$qry = 'UPDATE bis.tbl_gsprogramm SET
bezeichnung='.$this->db_add_param($this->bezeichnung).',
gsprogrammtyp_kurzbz='.$this->db_add_param($this->gsprogrammtyp_kurzbz).',
programm_code='.$this->db_add_param($this->programm_code, FHC_INTEGER).'
WHERE gsprogramm_id='.$this->db_add_param($this->gsprogramm_id, FHC_INTEGER, false);
}
if($this->db_query($qry))
{
if($this->new)
{
//Sequence lesen
$qry="SELECT currval('bis.tbl_gsprogramm_gsprogramm_id_seq') as id;";
if($this->db_query($qry))
{
if($row = $this->db_fetch_object())
{
$this->gsprogramm_id = $row->id;
$this->db_query('COMMIT;');
}
else
{
$this->errormsg = 'Fehler beim Auslesen der Sequence';
$this->db_query('ROLLBACK;');
return false;
}
return true;
}
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;
}
}
/**
* Loescht ein GSProgramm
* @param $gsprogramm_id ID des Datensatzes
* @return boolean true wenn ok, false im Fehlerfall
*/
public function delete($gsprogramm_id)
{
$qry = "DELETE FROM bis.tbl_gsprogramm
WHERE gsprogramm_id=".$this->db_add_param($gsprogramm_id, FHC_INTEGER);
if($this->db_query($qry))
{
return true;
}
else
{
$this->errormsg = 'Fehler beim Löschen des Datensatzes';
return false;
}
}
}
+330
View File
@@ -0,0 +1,330 @@
<?php
/* Copyright (C) 2016 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 <[email protected]>
*/
require_once(dirname(__FILE__).'/basis_db.class.php');
class mobilitaet extends basis_db
{
public $new; // boolean
public $result = array(); // mobilitaet Objekt
//Tabellenspalten
public $mobilitaet_id; // integer
public $mobilitaetstyp_kurzbz; //varchar(32)
public $prestudent_id; // integer
public $studiensemester_kurzbz; // varchar(16)
public $mobilitaetsprogramm_code; // integer
public $gsprogramm_id; // integer
public $firma_id; // bigint
public $status_kurzbz; // varchar(20)
public $ausbildungssemester; // smallint
public $updateamum; // timestamp
public $updatevon; // string
public $insertamum; // timestamp
public $insertvon; // string
/**
* Konstruktor
* @param $mobilitaet_id ID der mobilitaet die geladen werden soll (Default=null)
*/
public function __construct($mobilitaet_id=null)
{
parent::__construct();
if(!is_null($mobilitaet_id))
$this->load($mobilitaet_id);
}
/**
* Laedt die mobilitaet mit der ID $mobilitaet_id
* @param $mobilitaet_id ID der zu ladenden mobilitaet
* @return true wenn ok, false im Fehlerfall
*/
public function load($mobilitaet_id)
{
//Pruefen ob id eine gueltige Zahl ist
if(!is_numeric($mobilitaet_id) || $mobilitaet_id == '')
{
$this->errormsg = 'mobilitaet_id muss eine Zahl sein';
return false;
}
//Daten aus der Datenbank lesen
$qry = "SELECT
*
FROM
bis.tbl_mobilitaet
WHERE
mobilitaet_id=".$this->db_add_param($mobilitaet_id, FHC_INTEGER, false);
if(!$this->db_query($qry))
{
$this->errormsg = 'Fehler bei einer Datenbankabfrage';
return false;
}
if($row = $this->db_fetch_object())
{
$this->mobilitaet_id = $row->mobilitaet_id;
$this->prestudent_id = $row->prestudent_id;
$this->studiensemester_kurzbz = $row->studiensemester_kurzbz;
$this->mobilitaetsprogramm_code = $row->mobilitaetsprogramm_code;
$this->gsprogramm_id = $row->gsprogramm_id;
$this->mobilitaetstyp_kurzbz = $row->mobilitaetstyp_kurzbz;
$this->firma_id = $row->firma_id;
$this->status_kurzbz = $row->status_kurzbz;
$this->ausbildungssemester = $row->ausbildungssemester;
$this->updateamum = $row->updateamum;
$this->updatevon = $row->updatevon;
$this->insertamum = $row->insertamum;
$this->insertvon = $row->insertvon;
return true;
}
else
{
$this->errormsg = 'Es ist kein Datensatz mit dieser ID vorhanden';
return false;
}
return true;
}
/**
* Laedt die mobilitaet eines Prestudenten
* @param $prestudent_id ID des Prestudenten dessen GS geladen werden soll
* @return true wenn ok, false im Fehlerfall
*/
public function loadPrestudent($prestudent_id)
{
//Pruefen ob id eine gueltige Zahl ist
if(!is_numeric($prestudent_id) || $prestudent_id == '')
{
$this->errormsg = 'prestudent_id muss eine Zahl sein';
return false;
}
//Daten aus der Datenbank lesen
$qry = "SELECT
*
FROM
bis.tbl_mobilitaet
WHERE
prestudent_id=".$this->db_add_param($prestudent_id, FHC_INTEGER, false);
if(!$this->db_query($qry))
{
$this->errormsg = 'Fehler bei einer Datenbankabfrage';
return false;
}
while($row = $this->db_fetch_object())
{
$obj = new mobilitaet();
$obj->mobilitaet_id = $row->mobilitaet_id;
$obj->prestudent_id = $row->prestudent_id;
$obj->studiensemester_kurzbz = $row->studiensemester_kurzbz;
$obj->mobilitaetsprogramm_code = $row->mobilitaetsprogramm_code;
$obj->gsprogramm_id = $row->gsprogramm_id;
$obj->mobilitaetstyp_kurzbz = $row->mobilitaetstyp_kurzbz;
$obj->firma_id = $row->firma_id;
$obj->status_kurzbz = $row->status_kurzbz;
$obj->ausbildungssemester = $row->ausbildungssemester;
$obj->updateamum = $row->updateamum;
$obj->updatevon = $row->updatevon;
$obj->insertamum = $row->insertamum;
$obj->insertvon = $row->insertvon;
$this->result[] = $obj;
}
return true;
}
/**
* Prueft die Variablen auf Gueltigkeit
* @return true wenn ok, false im Fehlerfall
*/
protected function validate()
{
//Zahlenfelder pruefen
if(!is_numeric($this->prestudent_id))
{
$this->errormsg='prestudent_id enthaelt ungueltige Zeichen';
return false;
}
if(!is_numeric($this->ausbildungssemester))
{
$this->errormsg = 'Ausbildungssemester muss eine gueltige Zahl sein';
return false;
}
$this->errormsg = '';
return true;
}
/**
* 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 $mobilitaet_id aktualisiert
* @return true wenn ok, false im Fehlerfall
*/
public function save()
{
//Variablen pruefen
if(!$this->validate())
return false;
if($this->new)
{
//Neuen Datensatz einfuegen
$qry='BEGIN;INSERT INTO bis.tbl_mobilitaet (prestudent_id,
studiensemester_kurzbz, mobilitaetsprogramm_code, gsprogramm_id, mobilitaetstyp_kurzbz, firma_id,
status_kurzbz, ausbildungssemester, insertamum, insertvon, updateamum, updatevon) VALUES('.
$this->db_add_param($this->prestudent_id, FHC_INTEGER).', '.
$this->db_add_param($this->studiensemester_kurzbz).', '.
$this->db_add_param($this->mobilitaetsprogramm_code, FHC_INTEGER).', '.
$this->db_add_param($this->gsprogramm_id, FHC_INTEGER).', '.
$this->db_add_param($this->mobilitaetstyp_kurzbz).', '.
$this->db_add_param($this->firma_id, FHC_INTEGER).', '.
$this->db_add_param($this->status_kurzbz).', '.
$this->db_add_param($this->ausbildungssemester, FHC_INTEGER).', now(),'.
$this->db_add_param($this->insertvon).', now(), '.
$this->db_add_param($this->updatevon).');';
}
else
{
//Pruefen ob mobilitaet_id eine gueltige Zahl ist
if(!is_numeric($this->mobilitaet_id))
{
$this->errormsg = 'mobilitaet_id muss eine gueltige Zahl sein';
return false;
}
$qry='UPDATE bis.tbl_mobilitaet SET'.
' prestudent_id='.$this->db_add_param($this->prestudent_id, FHC_INTEGER).', '.
' studiensemester_kurzbz='.$this->db_add_param($this->studiensemester_kurzbz).', '.
' mobilitaetsprogramm_code='.$this->db_add_param($this->mobilitaetsprogramm_code).', '.
' gsprogramm_id='.$this->db_add_param($this->gsprogramm_id).', '.
' mobilitaetstyp_kurzbz='.$this->db_add_param($this->mobilitaetstyp_kurzbz).', '.
' firma_id='.$this->db_add_param($this->firma_id).', '.
' status_kurzbz='.$this->db_add_param($this->status_kurzbz).', '.
' ausbildungssemester='.$this->db_add_param($this->ausbildungssemester).', '.
' updateamum= now(), '.
' updatevon='.$this->db_add_param($this->updatevon).' '.
'WHERE mobilitaet_id='.$this->db_add_param($this->mobilitaet_id, FHC_INTEGER, false).';';
}
if($this->db_query($qry))
{
if($this->new)
{
//naechste ID aus der Sequence holen
$qry="SELECT currval('bis.tbl_mobilitaet_mobilitaet_id_seq') as id;";
if($this->db_query($qry))
{
if($row = $this->db_fetch_object())
{
$this->mobilitaet_id = $row->id;
$this->db_query('COMMIT');
}
else
{
$this->db_query('ROLLBACK');
$this->errormsg = "Fehler beim Auslesen der Sequence";
return false;
}
}
else
{
$this->db_query('ROLLBACK');
$this->errormsg = 'Fehler beim Auslesen der Sequence';
return false;
}
}
}
else
{
$this->errormsg = 'Fehler beim Speichern des Adress-Datensatzes';
return false;
}
return $this->mobilitaet_id;
}
/**
* Loescht den Datenensatz mit der ID die uebergeben wird
* @param $mobilitaet_id ID die geloescht werden soll
* @return true wenn ok, false im Fehlerfall
*/
public function delete($mobilitaet_id)
{
//Pruefen ob mobilitaet_id eine gueltige Zahl ist
if(!is_numeric($mobilitaet_id) || $mobilitaet_id == '')
{
$this->errormsg = 'mobilitaet_id muss eine gültige Zahl sein'."\n";
return false;
}
//loeschen des Datensatzes
$qry="DELETE FROM bis.tbl_mobilitaet WHERE mobilitaet_id=".$this->db_add_param($mobilitaet_id, FHC_INTEGER, false).";";
if($this->db_query($qry))
{
return true;
}
else
{
$this->errormsg = 'Fehler beim Löschen der Daten'."\n";
return false;
}
}
/**
* Laedt die vorhandenen Mobilitaetstypen
* @param boolean $aktiv gibt an ob nur aktive eintraege geladen werden sollen.default=true
* @return boolean truen wenn ok, false im Fehlerfall
*/
public function getMobilitaetstyp($aktiv=true)
{
$qry = "SELECT * FROM bis.tbl_mobilitaetstyp";
if($aktiv)
$qry .= " WHERE aktiv";
$qry.=" ORDER BY bezeichnung";
if($result = $this->db_query($qry))
{
while($row = $this->db_fetch_object($result))
{
$obj = new stdClass();
$obj->mobilitaetstyp_kurzbz = $row->mobilitaetstyp_kurzbz;
$obj->bezeichnung = $row->bezeichnung;
$this->result[] = $obj;
}
return true;
}
else
{
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
}
}
?>
+13 -15
View File
@@ -67,6 +67,7 @@ class prestudent extends person
public $zgvdoktorort;
public $zgvdoktordatum;
public $zgvdoktornation;
public $gsstudientyp_kurzbz='Intern';
public $status_kurzbz;
public $studiensemester_kurzbz;
@@ -155,6 +156,7 @@ class prestudent extends person
$this->zgvdoktorort = $row->zgvdoktorort;
$this->zgvdoktordatum = $row->zgvdoktordatum;
$this->zgvdoktornation = $row->zgvdoktornation;
$this->gsstudientyp_kurzbz = $row->gsstudientyp_kurzbz;
if(!person::load($row->person_id))
return false;
@@ -230,7 +232,7 @@ class prestudent extends person
zgvmas_code, zgvmaort, zgvmadatum, zgvmanation, aufnahmeschluessel, facheinschlberuf,
reihungstest_id, anmeldungreihungstest, reihungstestangetreten, rt_gesamtpunkte,
rt_punkte1, rt_punkte2, rt_punkte3, bismelden, insertamum, insertvon,
updateamum, updatevon, anmerkung, dual, ausstellungsstaat, mentor) VALUES('.
updateamum, updatevon, anmerkung, dual, ausstellungsstaat, mentor, gsstudientyp_kurzbz) VALUES('.
$this->db_add_param($this->aufmerksamdurch_kurzbz).",".
$this->db_add_param($this->person_id).",".
$this->db_add_param($this->studiengang_kz).",".
@@ -261,7 +263,8 @@ class prestudent extends person
$this->db_add_param($this->anmerkung).",".
$this->db_add_param($this->dual, FHC_BOOLEAN).",".
$this->db_add_param($this->ausstellungsstaat).",".
$this->db_add_param($this->mentor).");";
$this->db_add_param($this->mentor).",".
$this->db_add_param($this->gsstudientyp_kurzbz).");";
}
else
{
@@ -293,6 +296,7 @@ class prestudent extends person
' updatevon='.$this->db_add_param($this->updatevon).",".
' anmerkung='.$this->db_add_param($this->anmerkung).",".
' mentor='.$this->db_add_param($this->mentor).",".
' gsstudientyp_kurzbz='.$this->db_add_param($this->gsstudientyp_kurzbz).",".
' dual='.$this->db_add_param($this->dual, FHC_BOOLEAN).",".
' ausstellungsstaat='.$this->db_add_param($this->ausstellungsstaat).
" WHERE prestudent_id=".$this->db_add_param($this->prestudent_id).";";
@@ -341,17 +345,14 @@ class prestudent extends person
*/
private function checkAusstellungsstaat()
{
if ($this->zgvmas_code && $this->zgvmanation) {
if ($this->zgvmas_code && $this->zgvmanation)
{
$this->ausstellungsstaat = $this->zgvmanation;
} elseif ($this->zgv_code && $this->zgvnation) {
$this->ausstellungsstaat = $this->zgvnation;
}
elseif ($this->zgv_code && $this->zgvnation)
{
$this->ausstellungsstaat = $this->zgvnation;
}
}
/**
@@ -703,6 +704,7 @@ class prestudent extends person
$ps->bismelden = $this->db_parse_bool($row->bismelden);
$ps->anmerkung = $row->anmerkung;
$ps->dual = $this->db_parse_bool($row->dual);
$ps->gsstudientyp_kurzbz = $row->gsstudientyp_kurzbz;
$ps->status_kurzbz = $row->status_kurzbz;
$ps->studiensemester_kurzbz = $row->studiensemester_kurzbz;
@@ -1413,10 +1415,6 @@ class prestudent extends person
}
}
/**
* Liefert ein Array mit den Interessentenzahlen
* @param $studiensemester_kurzbz (optional)
+1
View File
@@ -166,6 +166,7 @@ $menu=array
'Ferien'=>array('name'=>'Ferien', 'link'=>'lehre/ferienverwaltung.php', 'target'=>'main','permissions'=>array('admin')),
'Service'=>array('name'=>'Service', 'link'=>'stammdaten/service_frameset.html', 'target'=>'main','permissions'=>array('basis/service')),
'Dokumentvorlagen'=>array('name'=>'Dokumentvorlagen', 'link'=>'stammdaten/dokumentvorlagen_verwaltung.php', 'target'=>'main','permissions'=>array('basis/dokumente')),
'GSProgramm'=>array('name'=>'GSProgramm', 'link'=>'stammdaten/gsprogramm.php', 'target'=>'main','permissions'=>array('inout/uebersicht')),
'FH Ausweis'=>array
(
'name'=>'FH Ausweis','permissions'=>array('basis/fhausweis'),
+11
View File
@@ -48,6 +48,11 @@ if(isset($_GET['firmentyp_kurzbz']))
else
$firmentyp_kurzbz='';
if(isset($_GET['partner']))
$partner = true;
else
$partner = false;
$datum = new datum();
$firma = new firma();
@@ -88,6 +93,12 @@ elseif($firmentyp_kurzbz!='' || $filter!='')
foreach ($firma->result as $row)
draw_rdf($row);
}
elseif($partner)
{
$firma->getFirmaPartner();
foreach ($firma->result as $row)
draw_rdf($row);
}
else
{
//$firma->getAll($firma_id);
+43
View File
@@ -0,0 +1,43 @@
<?php
/* Copyright (C) 2016 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 Österreicher <[email protected]>
*/
require_once('../config/vilesci.config.inc.php');
require_once('../include/rdf.class.php');
require_once('../include/basis_db.class.php');
require_once('../include/gsprogramm.class.php');
$oRdf = new rdf('GSPROGRAMM','http://www.technikum-wien.at/gsprogramm');
$oRdf->sendHeader();
$gs = new gsprogramm();
if($gs->getAll())
{
foreach($gs->result as $row)
{
$i=$oRdf->newObjekt($row->gsprogramm_id);
$oRdf->obj[$i]->setAttribut('gsprogramm_id',$row->gsprogramm_id,true);
$oRdf->obj[$i]->setAttribut('bezeichnung',$row->bezeichnung,true);
$oRdf->obj[$i]->setAttribut('gsprogrammtyp_kurzbz',$row->gsprogrammtyp_kurzbz,true);
$oRdf->obj[$i]->setAttribut('gsprogrammtyp_bezeichnung',$row->gsprogrammtyp_bezeichnung,true);
$oRdf->addSequence($row->gsprogramm_id);
}
}
$oRdf->sendRdfText();
?>
+42
View File
@@ -0,0 +1,42 @@
<?php
/* Copyright (C) 2016 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 Österreicher <[email protected]>
*/
require_once('../config/vilesci.config.inc.php');
require_once('../include/rdf.class.php');
require_once('../include/basis_db.class.php');
$oRdf = new rdf('GSSTUDIENTYP','http://www.technikum-wien.at/gsstudientyp');
$oRdf->sendHeader();
$qry = "SELECT * FROM bis.tbl_gsstudientyp ORDER BY bezeichnung";
$db = new basis_db();
if($db->db_query($qry))
{
while($row = $db->db_fetch_object())
{
$i=$oRdf->newObjekt($row->gsstudientyp_kurzbz);
$oRdf->obj[$i]->setAttribut('gsstudientyp_kurzbz',$row->gsstudientyp_kurzbz,true);
$oRdf->obj[$i]->setAttribut('bezeichnung',$row->bezeichnung,true);
$oRdf->obj[$i]->setAttribut('studientyp_code',$row->studientyp_code,true);
$oRdf->addSequence($row->gsstudientyp_kurzbz);
}
}
$oRdf->sendRdfText();
?>
+11
View File
@@ -687,6 +687,16 @@ if($show_inout_block)
<VERBAND:orgform></VERBAND:orgform>
<VERBAND:typ>outgoing</VERBAND:typ>
</RDF:Description>
<RDF:Description RDF:about="'.$rdf_url.'inout/gemeinsamestudien">
<VERBAND:name>Gemeinsame Studien</VERBAND:name>
<VERBAND:stg></VERBAND:stg>
<VERBAND:stg_kz></VERBAND:stg_kz>
<VERBAND:sem></VERBAND:sem>
<VERBAND:ver></VERBAND:ver>
<VERBAND:grp></VERBAND:grp>
<VERBAND:orgform></VERBAND:orgform>
<VERBAND:typ>gemeinsamestudien</VERBAND:typ>
</RDF:Description>
';
}
@@ -817,6 +827,7 @@ draw_orgformpart($stg_kz);
<RDF:Seq RDF:about="http://www.technikum-wien.at/lehrverbandsgruppe/inout">
<RDF:li RDF:resource="http://www.technikum-wien.at/lehrverbandsgruppe/inout/incoming"/>
<RDF:li RDF:resource="http://www.technikum-wien.at/lehrverbandsgruppe/inout/outgoing"/>
<RDF:li RDF:resource="http://www.technikum-wien.at/lehrverbandsgruppe/inout/gemeinsamestudien"/>
</RDF:Seq>
</RDF:li>';
}
+89
View File
@@ -0,0 +1,89 @@
<?php
/* Copyright (C) 2016 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 Österreicher <[email protected]>
*/
require_once('../config/vilesci.config.inc.php');
require_once('../include/rdf.class.php');
require_once('../include/functions.inc.php');
require_once('../include/basis_db.class.php');
require_once('../include/mobilitaet.class.php');
require_once('../include/benutzerberechtigung.class.php');
require_once('../include/mobilitaetsprogramm.class.php');
require_once('../include/gsprogramm.class.php');
$uid = get_uid();
$rechte = new benutzerberechtigung();
$rechte->getBerechtigungen($uid);
if(!$rechte->isBerechtigt('student/stammdaten', null, 's'))
die('Sie haben keine Berechtigung fuer diese Seite');
$oRdf = new rdf('MOB','http://www.technikum-wien.at/mobilitaet');
$oRdf->sendHeader();
$mobilitaet = new mobilitaet();
if(isset($_GET['prestudent_id']))
{
$mobilitaet->loadPrestudent($_GET['prestudent_id']);
}
elseif(isset($_GET['mobilitaet_id']))
{
if($mobilitaet->load($_GET['mobilitaet_id']))
$mobilitaet->result[] = $mobilitaet;
}
else
die('Invalid Parameter');
$mobprog = new mobilitaetsprogramm();
$mobprog->getAll();
$mob_arr=array();
foreach($mobprog->result as $rowmob)
$mob_arr[$rowmob->mobilitaetsprogramm_code]=$rowmob->kurzbz;
if(count($mobilitaet->result)>0)
{
foreach($mobilitaet->result as $row)
{
$i=$oRdf->newObjekt($row->mobilitaet_id);
$oRdf->obj[$i]->setAttribut('mobilitaet_id',$row->mobilitaet_id,true);
$oRdf->obj[$i]->setAttribut('prestudent_id',$row->prestudent_id,true);
$oRdf->obj[$i]->setAttribut('studiensemester_kurzbz',$row->studiensemester_kurzbz,true);
$oRdf->obj[$i]->setAttribut('mobilitaetsprogramm_code',$row->mobilitaetsprogramm_code,true);
if(isset($mob_arr[$row->mobilitaetsprogramm_code]))
$mob = $mob_arr[$row->mobilitaetsprogramm_code];
else
$mob = '';
$oRdf->obj[$i]->setAttribut('mobilitaetsprogramm',$mob,true);
$oRdf->obj[$i]->setAttribut('gsprogramm_id',$row->gsprogramm_id,true);
$gsprogramm = new gsprogramm();
$gsprogramm->load($row->gsprogramm_id);
$oRdf->obj[$i]->setAttribut('gsprogrammtyp_kurzbz',$gsprogramm->gsprogrammtyp_kurzbz,true);
$oRdf->obj[$i]->setAttribut('mobilitaetstyp_kurzbz',$row->mobilitaetstyp_kurzbz,true);
$oRdf->obj[$i]->setAttribut('firma_id',$row->firma_id,true);
$oRdf->obj[$i]->setAttribut('status_kurzbz',$row->status_kurzbz,true);
$oRdf->obj[$i]->setAttribut('ausbildungssemester',$row->ausbildungssemester,true);
$oRdf->addSequence($row->mobilitaet_id);
}
}
$oRdf->sendRdfText();
?>
+11
View File
@@ -42,6 +42,17 @@ echo '
>
<RDF:Seq about="'.$rdf_url.'/liste">';
if(isset($_GET['optional']))
{
echo '
<RDF:li>
<RDF:Description id="" about="'.$rdf_url.'/" >
<MOB:mobilitaetsprogramm_code><![CDATA[]]></MOB:mobilitaetsprogramm_code>
<MOB:kurzbz><![CDATA[]]></MOB:kurzbz>
<MOB:beschreibung><![CDATA[-- keine Auswahl --]]></MOB:beschreibung>
</RDF:Description>
</RDF:li>';
}
$qry = 'SELECT * FROM bis.tbl_mobilitaetsprogramm ORDER BY kurzbz';
$db = new basis_db();
+41
View File
@@ -0,0 +1,41 @@
<?php
/* Copyright (C) 2016 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 Österreicher <[email protected]>
*/
require_once('../config/vilesci.config.inc.php');
require_once('../include/rdf.class.php');
require_once('../include/basis_db.class.php');
require_once('../include/mobilitaet.class.php');
$oRdf = new rdf('MOBTYP','http://www.technikum-wien.at/mobilitaetstyp');
$oRdf->sendHeader();
$mob = new mobilitaet();
if($mob->getMobilitaetstyp())
{
foreach($mob->result as $row)
{
$i=$oRdf->newObjekt($row->mobilitaetstyp_kurzbz);
$oRdf->obj[$i]->setAttribut('mobilitaetstyp_kurzbz',$row->mobilitaetstyp_kurzbz,true);
$oRdf->obj[$i]->setAttribut('bezeichnung',$row->bezeichnung,true);
$oRdf->addSequence($row->mobilitaetstyp_kurzbz);
}
}
$oRdf->sendRdfText();
?>
+41
View File
@@ -0,0 +1,41 @@
<?php
/* Copyright (C) 2016 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 Österreicher <[email protected]>
*/
require_once('../config/vilesci.config.inc.php');
require_once('../include/rdf.class.php');
require_once('../include/basis_db.class.php');
$oRdf = new rdf('STATUS','http://www.technikum-wien.at/status');
$oRdf->sendHeader();
$qry = "SELECT * FROM public.tbl_status ORDER BY status_kurzbz";
$db = new basis_db();
if($db->db_query($qry))
{
while($row = $db->db_fetch_object())
{
$i=$oRdf->newObjekt($row->status_kurzbz);
$oRdf->obj[$i]->setAttribut('status_kurzbz',$row->status_kurzbz,true);
$oRdf->obj[$i]->setAttribut('beschreibung',$row->beschreibung,true);
$oRdf->addSequence($row->status_kurzbz);
}
}
$oRdf->sendRdfText();
?>
+41 -1
View File
@@ -196,6 +196,7 @@ function draw_content_liste($row)
<STUDENT:dual_bezeichnung><![CDATA['.($row->dual=='t'?'Ja':'Nein').']]></STUDENT:dual_bezeichnung>
<STUDENT:matr_nr><![CDATA['.$row->matr_nr.']]></STUDENT:matr_nr>
<STUDENT:mentor><![CDATA['.$row->mentor.']]></STUDENT:mentor>
<STUDENT:gsstudientyp_kurzbz><![CDATA['.($row->gsstudientyp_kurzbz).']]></STUDENT:gsstudientyp_kurzbz>
<STUDENT:aktiv><![CDATA['.((isset($row->bnaktiv) && $row->bnaktiv=='t')?'true':'false').']]></STUDENT:aktiv>
</RDF:Description>
</RDF:li>';
@@ -347,6 +348,7 @@ function draw_prestudent($row)
<STUDENT:dual_bezeichnung><![CDATA['.($row->dual?'Ja':'Nein').']]></STUDENT:dual_bezeichnung>
<STUDENT:anmerkungpre><![CDATA['.$row->anmerkung.']]></STUDENT:anmerkungpre>
<STUDENT:mentor><![CDATA['.$row->mentor.']]></STUDENT:mentor>
<STUDENT:gsstudientyp_kurzbz><![CDATA['.$row->gsstudientyp_kurzbz.']]></STUDENT:gsstudientyp_kurzbz>
</RDF:Description>
</RDF:li>';
}
@@ -468,7 +470,7 @@ if($xmlformat=='rdf')
(SELECT rt_punkte1 as punkte FROM public.tbl_prestudent WHERE prestudent_id=tbl_student.prestudent_id) as rt_punkte1,
(SELECT rt_punkte2 as punkte FROM public.tbl_prestudent WHERE prestudent_id=tbl_student.prestudent_id) as rt_punkte2,
(SELECT rt_punkte3 as punkte FROM public.tbl_prestudent WHERE prestudent_id=tbl_student.prestudent_id) as rt_punkte3,
tbl_prestudent.dual as dual, tbl_prestudent.reihungstest_id, tbl_prestudent.anmeldungreihungstest, p.matr_nr
tbl_prestudent.dual as dual, tbl_prestudent.reihungstest_id, tbl_prestudent.anmeldungreihungstest, p.matr_nr, tbl_prestudent.gsstudientyp_kurzbz
FROM public.tbl_student
JOIN public.tbl_benutzer ON (student_uid=uid) JOIN public.tbl_person p USING (person_id) JOIN public.tbl_prestudent USING(prestudent_id) ";
if($gruppe_kurzbz!=null)
@@ -539,6 +541,44 @@ if($xmlformat=='rdf')
}
}
}
elseif($typ=='gemeinsamestudien')
{
if($studiensemester_kurzbz=='')
$studiensemester_kurzbz=$semester_aktuell;
$qry = "SELECT prestudent_id
FROM
bis.tbl_mobilitaet
WHERE
studiensemester_kurzbz=".$db->db_add_param($studiensemester_kurzbz);
if($db->db_query($qry))
{
while($row = $db->db_fetch_object())
{
$student=new student();
if($uid = $student->getUid($row->prestudent_id))
{
//Wenn kein Eintrag fuers aktuelle Studiensemester da ist, dann
//nochmal laden aber ohne studiensemester
if(!$student->load($uid, $studiensemester_kurzbz))
$student->load($uid);
}
$prestd = new prestudent();
$prestd->load($row->prestudent_id);
if($uid!='')
{
draw_content($student);
draw_prestudent($prestd);
}
else
{
draw_content($prestd);
draw_prestudent($prestd);
}
}
}
}
elseif(in_array($typ, array('prestudent', 'interessenten','bewerber','aufgenommen',
'warteliste','absage','zgv','reihungstestangemeldet',
'reihungstestnichtangemeldet','absolvent','diplomand','bewerbungnichtabgeschickt','bewerbungabgeschickt','statusbestaetigt')))
+116 -3
View File
@@ -1229,6 +1229,114 @@ if($db->db_num_rows($result) < 1)
echo '<br>Neuen Eintrag "reports" in Tabelle system.tbl_webservicetyp eingefuegt<br>';
}
// Gemeinsame Studien
if(!$result = @$db->db_query("SELECT 1 FROM bis.tbl_mobilitaet LIMIT 1"))
{
$qry = "
CREATE TABLE bis.tbl_mobilitaetstyp
(
mobilitaetstyp_kurzbz varchar(32) NOT NULL,
bezeichnung varchar(255),
aktiv boolean NOT NULL DEFAULT true
);
ALTER TABLE bis.tbl_mobilitaetstyp ADD CONSTRAINT pk_mobilitaetstyp PRIMARY KEY (mobilitaetstyp_kurzbz);
GRANT SELECT, INSERT, UPDATE, DELETE ON bis.tbl_mobilitaetstyp TO vilesci;
CREATE TABLE bis.tbl_gsstudientyp
(
gsstudientyp_kurzbz varchar(32) NOT NULL,
bezeichnung varchar(255),
studientyp_code varchar(64)
);
ALTER TABLE bis.tbl_gsstudientyp ADD CONSTRAINT pk_gsstudientyp PRIMARY KEY (gsstudientyp_kurzbz);
GRANT SELECT, INSERT, UPDATE, DELETE ON bis.tbl_gsstudientyp TO vilesci;
INSERT INTO bis.tbl_gsstudientyp(gsstudientyp_kurzbz, bezeichnung, studientyp_code) VALUES('Intern','Interner Studierender','I');
INSERT INTO bis.tbl_gsstudientyp(gsstudientyp_kurzbz, bezeichnung, studientyp_code) VALUES('Extern','Externer Studierender','E');
ALTER TABLE public.tbl_prestudent ADD COLUMN gsstudientyp_kurzbz varchar(32) DEFAULT 'Intern';
ALTER TABLE public.tbl_prestudent ADD CONSTRAINT fk_prestudent_gsstudientyp FOREIGN KEY (gsstudientyp_kurzbz) REFERENCES bis.tbl_gsstudientyp (gsstudientyp_kurzbz) ON DELETE RESTRICT ON UPDATE CASCADE;
CREATE TABLE bis.tbl_gsprogrammtyp
(
gsprogrammtyp_kurzbz varchar(32) NOT NULL,
bezeichnung varchar(255),
programmtyp_code varchar(64)
);
ALTER TABLE bis.tbl_gsprogrammtyp ADD CONSTRAINT pk_gsprogrammtyp PRIMARY KEY (gsprogrammtyp_kurzbz);
GRANT SELECT, INSERT, UPDATE, DELETE ON bis.tbl_gsprogrammtyp TO vilesci;
CREATE TABLE bis.tbl_gsprogramm
(
gsprogramm_id integer NOT NULL,
bezeichnung varchar(255),
programm_code bigint,
gsprogrammtyp_kurzbz varchar(32)
);
ALTER TABLE bis.tbl_gsprogramm ADD CONSTRAINT pk_gsprogramm PRIMARY KEY (gsprogramm_id);
GRANT SELECT, INSERT, UPDATE, DELETE ON bis.tbl_gsprogramm TO vilesci;
ALTER TABLE bis.tbl_gsprogramm ADD CONSTRAINT fk_gsprogrammtyp_gsprogramm FOREIGN KEY (gsprogrammtyp_kurzbz) REFERENCES bis.tbl_gsprogrammtyp (gsprogrammtyp_kurzbz) ON DELETE RESTRICT ON UPDATE CASCADE;
CREATE SEQUENCE bis.tbl_gsprogramm_gsprogramm_id_seq
INCREMENT BY 1
NO MAXVALUE
NO MINVALUE
CACHE 1;
ALTER TABLE bis.tbl_gsprogramm ALTER COLUMN gsprogramm_id SET DEFAULT nextval('bis.tbl_gsprogramm_gsprogramm_id_seq');
GRANT SELECT, UPDATE ON bis.tbl_gsprogramm_gsprogramm_id_seq TO vilesci;
ALTER TABLE public.tbl_firma ADD COLUMN partner_code varchar(20);
CREATE TABLE bis.tbl_mobilitaet
(
mobilitaet_id integer NOT NULL,
mobilitaetstyp_kurzbz varchar(32) NOT NULL,
prestudent_id integer NOT NULL,
studiensemester_kurzbz varchar(16) NOT NULL,
mobilitaetsprogramm_code integer,
gsprogramm_id integer,
firma_id integer,
status_kurzbz varchar(20),
ausbildungssemester smallint,
insertvon varchar(32),
insertamum timestamp,
updateamum timestamp,
updatevon varchar(32)
);
ALTER TABLE bis.tbl_mobilitaet ADD CONSTRAINT pk_mobilitaet PRIMARY KEY (mobilitaet_id);
GRANT SELECT, INSERT, UPDATE, DELETE ON bis.tbl_mobilitaet TO vilesci;
ALTER TABLE bis.tbl_mobilitaet ADD CONSTRAINT fk_prestudent_mobilitaet FOREIGN KEY (prestudent_id) REFERENCES public.tbl_prestudent (prestudent_id) ON DELETE RESTRICT ON UPDATE CASCADE;
ALTER TABLE bis.tbl_mobilitaet ADD CONSTRAINT fk_studiensemester_mobilitaet FOREIGN KEY (studiensemester_kurzbz) REFERENCES public.tbl_studiensemester (studiensemester_kurzbz) ON DELETE RESTRICT ON UPDATE CASCADE;
ALTER TABLE bis.tbl_mobilitaet ADD CONSTRAINT fk_mobilitaetsprogrammcode_mobilitaet FOREIGN KEY (mobilitaetsprogramm_code) REFERENCES bis.tbl_mobilitaetsprogramm (mobilitaetsprogramm_code) ON DELETE RESTRICT ON UPDATE CASCADE;
ALTER TABLE bis.tbl_mobilitaet ADD CONSTRAINT fk_gsprogramm_mobilitaet FOREIGN KEY (gsprogramm_id) REFERENCES bis.tbl_gsprogramm (gsprogramm_id) ON DELETE RESTRICT ON UPDATE CASCADE;
ALTER TABLE bis.tbl_mobilitaet ADD CONSTRAINT fk_firma_mobilitaet FOREIGN KEY (firma_id) REFERENCES public.tbl_firma (firma_id) ON DELETE RESTRICT ON UPDATE CASCADE;
ALTER TABLE bis.tbl_mobilitaet ADD CONSTRAINT fk_status_mobilitaet FOREIGN KEY (status_kurzbz) REFERENCES public.tbl_status (status_kurzbz) ON DELETE RESTRICT ON UPDATE CASCADE;
ALTER TABLE bis.tbl_mobilitaet ADD CONSTRAINT fk_moblitaetstyp_mobilitaet FOREIGN KEY (mobilitaetstyp_kurzbz) REFERENCES bis.tbl_mobilitaetstyp (mobilitaetstyp_kurzbz) ON DELETE RESTRICT ON UPDATE CASCADE;
CREATE SEQUENCE bis.tbl_mobilitaet_mobilitaet_id_seq
INCREMENT BY 1
NO MAXVALUE
NO MINVALUE
CACHE 1;
ALTER TABLE bis.tbl_mobilitaet ALTER COLUMN mobilitaet_id SET DEFAULT nextval('bis.tbl_mobilitaet_mobilitaet_id_seq');
GRANT SELECT, UPDATE ON bis.tbl_mobilitaet_mobilitaet_id_seq TO vilesci;
INSERT INTO bis.tbl_gsprogrammtyp(gsprogrammtyp_kurzbz, bezeichnung, programmtyp_code) VALUES('Joint', 'Joint Degree','Joint');
INSERT INTO bis.tbl_gsprogrammtyp(gsprogrammtyp_kurzbz, bezeichnung, programmtyp_code) VALUES('Double', 'Double Degree','Double');
INSERT INTO bis.tbl_gsprogrammtyp(gsprogrammtyp_kurzbz, bezeichnung, programmtyp_code) VALUES('Multiple', 'Multiple Degree','Multiple');
INSERT INTO bis.tbl_mobilitaetstyp(mobilitaetstyp_kurzbz, bezeichnung, aktiv) VALUES('GS', 'Gemeinsame Studien',true);
INSERT INTO bis.tbl_mobilitaetstyp(mobilitaetstyp_kurzbz, bezeichnung, aktiv) VALUES('Incoming', 'Incoming',false);
INSERT INTO bis.tbl_mobilitaetstyp(mobilitaetstyp_kurzbz, bezeichnung, aktiv) VALUES('Outgoing', 'Outgoing',false);
";
if(!$db->db_query($qry))
echo '<strong>Gemeinsame Studien '.$db->db_last_error().'</strong><br>';
else
echo '<br>Neue Tabelle fuer Gemeinsame Studien/Mobilitaet hinzugefügt<br>';
}
// *** Pruefung und hinzufuegen der neuen Attribute und Tabellen
echo '<H2>Pruefe Tabellen und Attribute!</H2>';
@@ -1249,8 +1357,13 @@ $tabellen=array(
"bis.tbl_bundesland" => array("bundesland_code","kurzbz","bezeichnung"),
"bis.tbl_entwicklungsteam" => array("mitarbeiter_uid","studiengang_kz","besqualcode","beginn","ende","updateamum","updatevon","insertamum","insertvon","ext_id"),
"bis.tbl_gemeinde" => array("gemeinde_id","plz","name","ortschaftskennziffer","ortschaftsname","bulacode","bulabez","kennziffer"),
"bis.tbl_gsstudientyp" => array("gsstudientyp_kurzbz","bezeichnung","studientyp_code"),
"bis.tbl_gsprogrammtyp" => array("gsprogrammtyp_kurzbz","bezeichnung","programmtyp_code"),
"bis.tbl_gsprogramm" => array("gsprogramm_id","programm_code","bezeichnung","gsprogrammtyp_kurzbz"),
"bis.tbl_hauptberuf" => array("hauptberufcode","bezeichnung"),
"bis.tbl_lgartcode" => array("lgartcode","kurzbz","bezeichnung","beantragung","lgart_biscode"),
"bis.tbl_mobilitaet" => array("mobilitaet_id","prestudent_id","mobilitaetstyp_kurzbz","studiensemester_kurzbz","mobilitaetsprogramm_code","gsprogramm_id","firma_id","status_kurzbz","ausbildungssemester","insertvon","insertamum","updatevon","updateamum"),
"bis.tbl_mobilitaetstyp" => array("mobilitaetstyp_kurzbz","bezeichnung","aktiv"),
"bis.tbl_mobilitaetsprogramm" => array("mobilitaetsprogramm_code","kurzbz","beschreibung","sichtbar","sichtbar_outgoing"),
"bis.tbl_nation" => array("nation_code","entwicklungsstand","eu","ewr","kontinent","kurztext","langtext","engltext","sperre"),
"bis.tbl_orgform" => array("orgform_kurzbz","code","bezeichnung","rolle","bisorgform_kurzbz"),
@@ -1380,7 +1493,7 @@ $tabellen=array(
"lehre.tbl_zeugnisnote" => array("lehrveranstaltung_id","student_uid","studiensemester_kurzbz","note","uebernahmedatum","benotungsdatum","bemerkung","updateamum","updatevon","insertamum","insertvon","ext_id","punkte"),
"public.tbl_adresse" => array("adresse_id","person_id","name","strasse","plz","ort","gemeinde","nation","typ","heimatadresse","zustelladresse","firma_id","updateamum","updatevon","insertamum","insertvon","ext_id"),
"public.tbl_akte" => array("akte_id","person_id","dokument_kurzbz","uid","inhalt","mimetype","erstelltam","gedruckt","titel","bezeichnung","updateamum","updatevon","insertamum","insertvon","ext_id","dms_id","nachgereicht","anmerkung","titel_intern","anmerkung_intern"),
"public.tbl_ampel" => array("ampel_id","kurzbz","beschreibung","benutzer_select","deadline","vorlaufzeit","verfallszeit","insertamum","insertvon","updateamum","updatevon","email","verpflichtend"),
"public.tbl_ampel" => array("ampel_id","kurzbz","beschreibung","benutzer_select","deadline","vorlaufzeit","verfallszeit","insertamum","insertvon","updateamum","updatevon","email","verpflichtend","buttontext"),
"public.tbl_ampel_benutzer_bestaetigt" => array("ampel_benutzer_bestaetigt_id","ampel_id","uid","insertamum","insertvon"),
"public.tbl_aufmerksamdurch" => array("aufmerksamdurch_kurzbz","beschreibung","ext_id","bezeichnung", "aktiv"),
"public.tbl_aufnahmeschluessel" => array("aufnahmeschluessel"),
@@ -1398,7 +1511,7 @@ $tabellen=array(
"public.tbl_erhalter" => array("erhalter_kz","kurzbz","bezeichnung","dvr","logo","zvr"),
"public.tbl_fachbereich" => array("fachbereich_kurzbz","bezeichnung","farbe","studiengang_kz","aktiv","ext_id","oe_kurzbz"),
"public.tbl_filter" => array("filter_id","kurzbz","sql","valuename","showvalue","insertamum","insertvon","updateamum","updatevon","type","htmlattr"),
"public.tbl_firma" => array("firma_id","name","anmerkung","firmentyp_kurzbz","updateamum","updatevon","insertamum","insertvon","ext_id","schule","finanzamt","steuernummer","gesperrt","aktiv"),
"public.tbl_firma" => array("firma_id","name","anmerkung","firmentyp_kurzbz","updateamum","updatevon","insertamum","insertvon","ext_id","schule","finanzamt","steuernummer","gesperrt","aktiv","lieferbedingungen","partner_code"),
"public.tbl_firma_mobilitaetsprogramm" => array("firma_id","mobilitaetsprogramm_code","ext_id"),
"public.tbl_firma_organisationseinheit" => array("firma_organisationseinheit_id","firma_id","oe_kurzbz","bezeichnung","kundennummer","updateamum","updatevon","insertamum","insertvon","ext_id"),
"public.tbl_firmentyp" => array("firmentyp_kurzbz","beschreibung"),
@@ -1433,7 +1546,7 @@ $tabellen=array(
"public.tbl_preoutgoing_lehrveranstaltung" => array("preoutgoing_lehrveranstaltung_id","preoutgoing_id","bezeichnung","ects","endversion","insertamum","insertvon","updateamum","updatevon","wochenstunden","unitcode"),
"public.tbl_preoutgoing_preoutgoing_status" => array("status_id","preoutgoing_status_kurzbz","preoutgoing_id","datum","insertamum","insertvon","updateamum","updatevon"),
"public.tbl_preoutgoing_status" => array("preoutgoing_status_kurzbz","bezeichnung"),
"public.tbl_prestudent" => array("prestudent_id","aufmerksamdurch_kurzbz","person_id","studiengang_kz","berufstaetigkeit_code","ausbildungcode","zgv_code","zgvort","zgvdatum","zgvmas_code","zgvmaort","zgvmadatum","aufnahmeschluessel","facheinschlberuf","reihungstest_id","anmeldungreihungstest","reihungstestangetreten","rt_gesamtpunkte","rt_punkte1","rt_punkte2","bismelden","anmerkung","dual","insertamum","insertvon","updateamum","updatevon","ext_id","ausstellungsstaat","rt_punkte3", "zgvdoktor_code", "zgvdoktorort", "zgvdoktordatum","mentor","zgvnation","zgvmanation","zgvdoktornation"),
"public.tbl_prestudent" => array("prestudent_id","aufmerksamdurch_kurzbz","person_id","studiengang_kz","berufstaetigkeit_code","ausbildungcode","zgv_code","zgvort","zgvdatum","zgvmas_code","zgvmaort","zgvmadatum","aufnahmeschluessel","facheinschlberuf","reihungstest_id","anmeldungreihungstest","reihungstestangetreten","rt_gesamtpunkte","rt_punkte1","rt_punkte2","bismelden","anmerkung","dual","insertamum","insertvon","updateamum","updatevon","ext_id","ausstellungsstaat","rt_punkte3", "zgvdoktor_code", "zgvdoktorort", "zgvdoktordatum","mentor","zgvnation","zgvmanation","zgvdoktornation","gsstudientyp_kurzbz"),
"public.tbl_prestudentstatus" => array("prestudent_id","status_kurzbz","studiensemester_kurzbz","ausbildungssemester","datum","orgform_kurzbz","insertamum","insertvon","updateamum","updatevon","ext_id","studienplan_id","bestaetigtam","bestaetigtvon","fgm","faktiv", "anmerkung","bewerbung_abgeschicktamum"),
"public.tbl_raumtyp" => array("raumtyp_kurzbz","beschreibung","kosten"),
"public.tbl_reihungstest" => array("reihungstest_id","studiengang_kz","ort_kurzbz","anmerkung","datum","uhrzeit","updateamum","updatevon","insertamum","insertvon","ext_id","freigeschaltet","max_teilnehmer","oeffentlich","studiensemester_kurzbz"),
+96 -49
View File
@@ -78,6 +78,7 @@ $usem=array();
$asem=array();
$absem=array();
$iosem=array();
$gssem=array();
$bewerbercount=array();
$orgform_kurzbz='';
$tabelle='';
@@ -146,6 +147,21 @@ if($result = $db->db_query($qry))
$orgform_code_array[$row->orgform_kurzbz]=$row->code;
}
}
$qry = 'SELECT * FROM bis.tbl_gsstudientyp';
if($result = $db->db_query($qry))
{
while($row = $db->db_fetch_object($result))
{
$kodex_studientyp_array[$row->gsstudientyp_kurzbz]=$row->studientyp_code;
}
}
// StudStatusCode
$kodex_studstatuscode_array['Student'] =1;
$kodex_studstatuscode_array['Unterbrecher']=2;
$kodex_studstatuscode_array['Absolvent'] =3;
$kodex_studstatuscode_array['Abbrecher'] =4;
//Studiengangsdaten auslesen
$stg_obj = new studiengang();
@@ -275,46 +291,7 @@ if($result = $db->db_query($qry))
<StudierendenBewerberMeldung>
<Studiengang>
<StgKz>".$stg_kz."</StgKz>";
/*
if($orgform_code==3) //Studiengang in Mischform organisiert
{
while($row = $db->db_fetch_object($result))
{
if($row->orgform_kurzbz=='' && $row->status_kurzbz=='Incoming')
{
$row->orgform_kurzbz=$orgform_kurzbz;
}
elseif($row->orgform_kurzbz=='')
{
echo 'Fehler: Keine Organisationsform fuer '.$row->uid.' '.$row->vorname.' '.$row->nachname.' eingetragen<br>';
continue;
}
if(!isset($student_data[$orgform_code_array[$row->orgform_kurzbz]]))
$student_data[$orgform_code_array[$row->orgform_kurzbz]]='';
//Plausichecks
$student_data[$orgform_code_array[$row->orgform_kurzbz]].= GenerateXMLStudentBlock($row);
}
foreach($student_data as $key=>$value)
{
$datei.="
<StudiengangDetail>
<OrgFormTeilCode>".$key."</OrgFormTeilCode>
<StgStartSemCode>1</StgStartSemCode>".$value;
$datei.= GenerateXMLBewerberBlock($key);
$datei.="
</StudiengangDetail>";
}
}
else
{
//orgform!='3'
//Stg mit einer Orgform
$datei.="
<StudiengangDetail>
<OrgFormTeilCode>".$orgform_code."</OrgFormTeilCode>
<StgStartSemCode>1</StgStartSemCode>
";*/
while($row = $db->db_fetch_object($result))
{
$datei.= GenerateXMLStudentBlock($row);
@@ -333,8 +310,6 @@ if($result = $db->db_query($qry))
else
$datei.= GenerateXMLBewerberBlock();
}
//$datei.=" </StudiengangDetail>";
//}
}
$datei.="
@@ -403,6 +378,9 @@ $absolventen="
$outgoing="
<tr align=center>
<td bgcolor='#AFFA49'>Outgoing ($orgformen)</td>";
$gemeinsamestudien="
<tr align=center>
<td bgcolor='#AFFA49'>GemeinsameStudien</td>";
foreach ($semester_arr as $semester)
{
$aktiv.='<td>&nbsp;';
@@ -410,6 +388,7 @@ foreach ($semester_arr as $semester)
$abbrecher.='<td>&nbsp;';
$absolventen.='<td>&nbsp;';
$outgoing.='<td>&nbsp;';
$gemeinsamestudien.='<td>&nbsp;';
$i=0;
foreach($verwendete_orgformen as $orgform)
@@ -428,7 +407,7 @@ foreach ($semester_arr as $semester)
$abbrecher .= (isset($asem[$orgform][$semester])?$asem[$orgform][$semester]:'');
$absolventen .= (isset($absem[$orgform][$semester])?$absem[$orgform][$semester]:'');
$outgoing .= (isset($iosem[$orgform][$semester])?$iosem[$orgform][$semester]:'');
$gemeinsamestudien .= (isset($gssem[$semester])?$gssem[$semester]:'');
$i++;
}
$aktiv.='</td>';
@@ -436,15 +415,17 @@ foreach ($semester_arr as $semester)
$abbrecher.='</td>';
$absolventen.='</td>';
$outgoing.='</td>';
$gemeinsamestudien.='</td>';
}
$aktiv.='</tr>';
$unterbrecher.='</tr>';
$abbrecher.='</tr>';
$absolventen.='</tr>';
$outgoing.='</tr>';
$gemeinsamestudien.='</tr>';
$tabelle.=$aktiv.$unterbrecher.$abbrecher.$absolventen.$outgoing.
$tabelle.=$aktiv.$unterbrecher.$abbrecher.$absolventen.$outgoing.$gemeinsamestudien.
"
<tr align=center style='border-top:1px solid black'>
<td bgcolor='#AFFA49'>Incoming</td>
@@ -547,8 +528,9 @@ function GenerateXMLStudentBlock($row)
global $ssem, $psem;
global $v;
global $stgart, $maxsemester, $orgform_kurzbz, $bisprevious,$anzahl_fehler;
global $iosem, $stsem, $usem, $asem, $absem, $stlist;
global $iosem, $stsem, $usem, $asem, $absem, $stlist, $gssem;
global $verwendete_orgformen, $datum_obj,$orgform_code_array,$standortcode;
global $kodex_studientyp_array, $kodex_studstatuscode_array;
$error_log='';
$error_log1='';
$datei = '';
@@ -900,6 +882,48 @@ function GenerateXMLStudentBlock($row)
}
else
{
// **** GS Container ****/
$gsstatus='';
$gsblock='';
$gemeinsamestudien=false;
$qrygs="SELECT
tbl_mobilitaet.*,
tbl_gsprogramm.programm_code,
tbl_firma.partner_code
FROM
bis.tbl_mobilitaet
LEFT JOIN bis.tbl_gsprogramm USING(gsprogramm_id)
LEFT JOIN public.tbl_firma USING(firma_id)
WHERE
prestudent_id=".$db->db_add_param($row->prestudent_id)."
AND studiensemester_kurzbz=".$db->db_add_param($ssem).";";
if($resultgs = $db->db_query($qrygs))
{
while($rowgs = $db->db_fetch_object($resultgs))
{
$gsstatus = 'GS '.$rowgs->status_kurzbz.' '.$row->gsstudientyp_kurzbz;
$gemeinsamestudien=True;
$studtyp = $kodex_studientyp_array[$row->gsstudientyp_kurzbz];
$studstatuscode = $kodex_studstatuscode_array[$rowgs->status_kurzbz];
$gsblock.="
<GS>
<PersKz>".$row->matrikelnr."</PersKz>
<MobilitaetsProgrammCode>".$rowgs->mobilitaetsprogramm_code."</MobilitaetsProgrammCode>
<ProgrammNr>".$rowgs->programm_code."</ProgrammNr>
<StudTyp>".$studtyp."</StudTyp>
<PartnerCode>".$rowgs->partner_code."</PartnerCode>
<Ausbildungssemester>".$rowgs->ausbildungssemester."</Ausbildungssemester>
<StudStatusCode>".$studstatuscode."</StudStatusCode>
</GS>";
if(!isset($gssem[$rowgs->ausbildungssemester]))
{
$gssem[$rowgs->ausbildungssemester]=0;
}
$gssem[$rowgs->ausbildungssemester]++;
}
}
$datei.="
<StudentIn>
<PersKz>".trim($row->matrikelnr)."</PersKz>";
@@ -987,14 +1011,23 @@ function GenerateXMLStudentBlock($row)
$datei.="
<BeendigungsDatum>".date("dmY", $datumobj->mktime_fromdate($aktstatus_datum))."</BeendigungsDatum>";
}
if($aktstatus!='Incoming' && !$ausserordentlich)
/* Ausbildungssemester nicht anzeigen wenn
Incoming
Ausserordentlich Studierender
oder Externer Studierender eines gemeinsamen Studienprogramms
*/
if($aktstatus!='Incoming' && !$ausserordentlich && !($gemeinsamestudien && $kodex_studientyp_array[$row->gsstudientyp_kurzbz]=='E'))
{
$datei.="
<Ausbildungssemester>".$sem."</Ausbildungssemester>";
}
// StudStatusCode nicht anzeigen wenn externer Studierender eines gemeinsamen Studienprogramms
if(!($gemeinsamestudien && $kodex_studientyp_array[$row->gsstudientyp_kurzbz]=='E'))
$datei.="
<StudStatusCode>".$status."</StudStatusCode>";
if($orgform_code_array[$storgform]!=1 && !$ausserordentlich) // Wenn nicht Vollzeit und nicht Ausserordentlich
{
$datei.="
@@ -1008,11 +1041,15 @@ function GenerateXMLStudentBlock($row)
}
/*
* BMWFFoerderrung derzeit fuer alle Studierende auf Ja gesetzt
* Ausnahme: ausserordnetliche Studierende und Incoming
* Ausnahme:
* ausserordnetliche Studierende
* Incoming
* Externe Teilnehmer an Gemeinsamen Studien
*
* ToDo: sollte pro Studierenden konfigurierbar sein
*/
if($aktstatus=='Incoming' || $ausserordentlich)
if($aktstatus=='Incoming' || $ausserordentlich
|| ($gemeinsamestudien && $kodex_studientyp_array[$row->gsstudientyp_kurzbz]=='E'))
$bmwf='N';
else
$bmwf='J';
@@ -1020,6 +1057,7 @@ function GenerateXMLStudentBlock($row)
$datei.="
<BMWFWfoerderrelevant>".$bmwf."</BMWFWfoerderrelevant>";
// **** IO Container ****/
$qryio="SELECT * FROM bis.tbl_bisio WHERE student_uid=".$db->db_add_param($row->student_uid)."
AND (von>".$db->db_add_param($bisprevious)." OR bis IS NULL OR bis>".$db->db_add_param($bisprevious).")
AND von<=".$db->db_add_param($bisdatum).";";
@@ -1064,7 +1102,7 @@ function GenerateXMLStudentBlock($row)
}
}
}
$datei.= $gsblock;
$datei.="
</StudentIn>";
@@ -1105,7 +1143,16 @@ function GenerateXMLStudentBlock($row)
$verwendete_orgformen[]=$storgform;
//Studentenliste
$stlist.="<tr><td align=center>".trim($row->student_uid)."</td><td align=center>".trim($row->matrikelnr)."</td><td>".trim($row->nachname)."</td><td>".trim($row->vorname)."</td><td>".trim($aktstatus)."</td><td align=center>".trim($sem)."</td><td align=center>".trim($storgform)."</td></tr>";
$stlist.="
<tr>
<td align=center>".trim($row->student_uid)."</td>
<td align=center>".trim($row->matrikelnr)."</td>
<td>".trim($row->nachname)."</td>
<td>".trim($row->vorname)."</td>
<td>".($gsstatus!=''?$gsstatus:trim($aktstatus))."</td>
<td align=center>".trim($sem)."</td>
<td align=center>".trim($storgform)."</td>
</tr>";
return $datei;
}
+5 -2
View File
@@ -365,8 +365,10 @@ function getFirmadetail($firma_id, $adresstyp_arr, $user, $neu)
});
</script>";
$htmlstr.="</td>";
$htmlstr.="<td>&nbsp;</td>";
$htmlstr.="<td colspan='9'>";
$htmlstr.='<td>&nbsp;</td>';
$htmlstr.='<td>Partner Code:</td>';
$htmlstr.='<td><input type="text" name="partner_code" value="'.$db->convert_html_chars($firma->partner_code).'" maxlength="10" size="6" /></td>';
$htmlstr.="<td colspan='7'>";
foreach($firma->tags as $tag)
{
@@ -445,6 +447,7 @@ function saveFirma($user,$rechte)
$firma->gesperrt = (isset($_POST['gesperrt'])?true:false);
$firma->aktiv = (isset($_POST['aktiv'])?true:false);
$firma->finanzamt = (isset($_POST['finanzamt'])?$_POST['finanzamt']:'');
$firma->partner_code = (isset($_POST['partner_code'])?$_POST['partner_code']:'');
$tags = (isset($_POST['tags'])?$_POST['tags']:'');
if($firma->save())
+207
View File
@@ -0,0 +1,207 @@
<?php
/*
* Copyright 2016 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., 51 Franklin Street, Fifth Floor, Boston,
* MA 02110-1301, USA.
*
*
* Authors: Andreas Österreicher <[email protected]>
*
*/
require_once('../../config/vilesci.config.inc.php');
require_once('../../include/functions.inc.php');
require_once('../../include/benutzerberechtigung.class.php');
require_once('../../include/gsprogramm.class.php');
$uid = get_uid();
$rechte = new benutzerberechtigung();
$rechte->getBerechtigungen($uid);
$db = new basis_db();
if(!$rechte->isBerechtigt('inout/uebersicht', null, 'suid'))
die($rechte->errormsg);
if(isset($_GET['action']))
$action = $_GET['action'];
else
$action = '';
if($action=='save')
{
if(isset($_POST['gsprogramm_id']))
{
$gsprogramm = new gsprogramm();
if(isset($_POST['gsprogramm_id']) && $_POST['gsprogramm_id']!='')
{
if(!$gsprogramm->load($_POST['gsprogramm_id']))
die($gsprogramm->errormsg);
}
$gsprogramm->bezeichnung = $_POST['bezeichnung'];
$gsprogramm->gsprogrammtyp_kurzbz = $_POST['gsprogrammtyp_kurzbz'];
$gsprogramm->programm_code = $_POST['programm_code'];
if($gsprogramm->save())
echo '<span class="ok">Daten erfolgreich gespeichert</span>';
else
echo '<span class="error">'.$gsprogramm->errormsg.'</span>';
}
}
if($action=='delete')
{
$gsprogramm = new gsprogramm();
if($gsprogramm->delete($_GET['gsprogramm_id']))
echo '<span class="ok">Erfolgreich gelöscht</span>';
else
echo '<span class="error">'.$gsprogramm->errormsg.'</span>';
}
$gsprogramm = new gsprogramm();
$gsprogramm->getTypen();
$typ_arr = array();
foreach($gsprogramm->result as $row)
$typ_arr[$row->gsprogrammtyp_kurzbz]=$row->bezeichnung;
echo '<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link href="../../skin/fhcomplete.css" rel="stylesheet" type="text/css">
<link href="../../skin/vilesci.css" rel="stylesheet" type="text/css">
<link rel="stylesheet" href="../../skin/tablesort.css" type="text/css">
<script type="text/javascript" src="../../include/js/jquery.js"></script>
<script type="text/javascript">
$(document).ready(function()
{
$("#t1").tablesorter(
{
sortList: [[2,0]],
widgets: ["zebra"],
headers: {0:{sorter:false},1:{sorter:false}}
});
});
function confdel()
{
return confirm("Wollen Sie diesen Eintrag wirklich löschen?");
}
</script>
<title>Gemeinsames Studienprogramm</title>
</head>
<body>';
echo '<h1>Gemeinsames Studienprogramm</h1>';
$gsprogramm = new gsprogramm();
$gsprogramm->getAll();
echo '
<form action="'.$_SERVER['PHP_SELF'].'">
<input type="submit" value="Neuen Eintrag hinzufügen" />
</form>
<table id="t1" class="tablesorter" style="width:auto">
<thead>
<th></th>
<th></th>
<th>Bezeichnung</th>
<th>Programmcode</th>
<th>Typ</th>
</thead>
<tbody>
';
foreach($gsprogramm->result as $row)
{
echo '<tr>
<td>
<a href="'.$_SERVER['PHP_SELF'].'?action=edit&gsprogramm_id='.$row->gsprogramm_id.'">
<img src="../../skin/images/edit.png" title="Bearbeiten" />
</a>
</td>
<td>
<a href="'.$_SERVER['PHP_SELF'].'?action=delete&gsprogramm_id='.$row->gsprogramm_id.'" onclick="return confdel()">
<img src="../../skin/images/cross.png" title="Löschen" />
</a>
</td>
<td>'.$row->bezeichnung.'</td>
<td>'.$row->programm_code.'</td>
<td>'.(isset($typ_arr[$row->gsprogrammtyp_kurzbz])?$typ_arr[$row->gsprogrammtyp_kurzbz]:$row->gsprogrammtyp_kurzbz).'</td>
</tr>';
}
echo '
</tbody>
</table>';
if($action=='edit')
{
$gsprogramm = new gsprogramm();
if(!$gsprogramm->load($_GET['gsprogramm_id']))
die($gsprogramm->errormsg);
}
else
{
$gsprogramm = new gsprogramm();
}
echo '
<form action="'.$_SERVER['PHP_SELF'].'?action=save" method="post">
<table>
<tr>
<td>ProgrammCode</td>
<td>
<input typ="text" id="programm_code" name="programm_code" maxlength="8" size="8" value="'.$gsprogramm->programm_code.'"/>
<input type="hidden" id="gsprogramm_id" name="gsprogramm_id" value="'.$gsprogramm->gsprogramm_id.'" />
</td>
</tr>
<tr>
<td>Bezeichnung</td>
<td>
<input type="text" id="bezeichnung" name="bezeichnung" size="50" maxlength="128" value="'.$db->convert_html_chars($gsprogramm->bezeichnung).'">
</td>
</tr>
<tr>
<td>Typ</td>
<td>
<select name="gsprogrammtyp_kurzbz">';
foreach($typ_arr as $key=>$val)
{
if($gsprogramm->gsprogrammtyp_kurzbz == $key)
$selected = 'selected';
else
$selected = '';
echo '<option value="'.$db->convert_html_chars($key).'" '.$selected.'>'.$db->convert_html_chars($val).'</option>';
}
echo '
</select>
</td>
</tr>
<tr>
<td>&nbsp;</td>
<td></td>
</tr>
<tr>
<td></td>
<td><input type="submit" name="save" value="Speichern"></td>
</tr>
</table>
</form><br><br><br><br><br><br><br><br><br><br><br><br>';
echo '
</body>
</html>';
?>