Merge branch 'master' into FHBGLD-ZGV_Doktor_und_zgv_erfuellt

This commit is contained in:
Andreas Österreicher
2021-10-15 18:30:28 +02:00
160 changed files with 11782 additions and 3846 deletions
+27 -2
View File
@@ -110,10 +110,18 @@ function generateMatrikelnummer($studiengang_kz, $studiensemester_kurzbz)
{
$db = new basis_db();
$studiengang_details = new studiengang();
$studiengang_details->load($studiengang_kz);
if (!isset($studiengang_details->studiengang_kz))
{
return false;
}
$jahr = substr($studiensemester_kurzbz, 4);
$art = substr($studiensemester_kurzbz, 0, 2);
if($studiengang_kz<0)
if (($studiengang_kz < 0) || (isset($studiengang_details->typ) && ($studiengang_details->typ == 'l')))
{
$studiengang_kz=abs($studiengang_kz);
//Lehrgang
@@ -136,7 +144,17 @@ function generateMatrikelnummer($studiengang_kz, $studiensemester_kurzbz)
}
if($art=='2' || $art=='4')
$jahr = $jahr-1;
$matrikelnummer = sprintf("%02d",$jahr).$art.sprintf("%04d",$studiengang_kz);
//FH-Burgenland - weil leider die AO Studiengänge aufgeteilt sind
//(AO sind normal 9+erhalter Nummer, matrikelnr/personenkz wird auch im DVUH Extension berücksichtigt)
if ($studiengang_kz >= 90010 && $studiengang_kz <= 90019)
{
$matrikelnummer = sprintf("%02d",$jahr).$art.substr($studiengang_kz, 0, 4);
}
else
{
$matrikelnummer = sprintf("%02d",$jahr).$art.sprintf("%04d",$studiengang_kz);
}
$qry = "SELECT matrikelnr FROM public.tbl_student WHERE matrikelnr LIKE '$matrikelnummer%' ORDER BY matrikelnr DESC LIMIT 1";
@@ -640,11 +658,18 @@ if(!$error)
$prestudent->aufnahmeschluessel = $_POST['aufnahmeschluessel'];
$prestudent->facheinschlberuf = ($_POST['facheinschlberuf']=='true'?true:false);
$prestudent->bismelden = ($_POST['bismelden']=='true'?true:false);
$foerderrelevant = null;
if ($_POST['foerderrelevant'] === 'true')
$foerderrelevant = true;
elseif ($_POST['foerderrelevant'] === 'false')
$foerderrelevant = false;
$prestudent->foerderrelevant = $foerderrelevant;
$prestudent->dual = ($_POST['dual']=='true'?true:false);
$prestudent->anmerkung = $_POST['anmerkung'];
$prestudent->mentor = $_POST['mentor'];
$prestudent->gsstudientyp_kurzbz = $_POST['gsstudientyp_kurzbz'];
$prestudent->priorisierung = $_POST['priorisierung'];
$prestudent->standort_code = $_POST['standort_code'];
//$prestudent->insertamum = date('Y-m-d H:i:s');
//$prestudent->insertvon = $user;
$prestudent->updateamum = date('Y-m-d H:i:s');
@@ -79,6 +79,10 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/anrechnung/rdf#lehrveranstaltung_bez_kompatibel"/>
<splitter class="tree-splitter"/>
<treecol id="student-anrechnungen-tree-status" label="Status" flex="2" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/anrechnung/rdf#status" />
<splitter class="tree-splitter"/>
<treecol id="student-anrechnungen-tree-genehmigt_von" label="genehmigt von" flex="2" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/anrechnung/rdf#genehmigt_von" />
@@ -99,6 +103,7 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
<treecell label="rdf:http://www.technikum-wien.at/anrechnung/rdf#begruendung"/>
<treecell label="rdf:http://www.technikum-wien.at/anrechnung/rdf#lehrveranstaltung_id_kompatibel"/>
<treecell label="rdf:http://www.technikum-wien.at/anrechnung/rdf#lehrveranstaltung_bez_kompatibel"/>
<treecell label="rdf:http://www.technikum-wien.at/anrechnung/rdf#status"/>
<treecell label="rdf:http://www.technikum-wien.at/anrechnung/rdf#genehmigt_von"/>
<treecell label="rdf:http://www.technikum-wien.at/anrechnung/rdf#insertamum"/>
</treerow>
+41 -19
View File
@@ -512,7 +512,6 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
</menupopup>
</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"
@@ -525,6 +524,18 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
</menupopup>
</template>
</menulist>
<label value="Bisstandort" control="student-prestudent-menulist-bisstandort" id="student-prestudent-label-bisstandort"/>
<menulist id="student-prestudent-menulist-bisstandort" disabled="true"
datasources="<?php echo APP_ROOT ?>rdf/bisstandort.rdf.php?optional=true" flex="1"
ref="http://www.technikum-wien.at/bisstandort/alle" >
<template>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/bisstandort/rdf#standort_code"
label="rdf:http://www.technikum-wien.at/bisstandort/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"/>
</row>
@@ -534,32 +545,43 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
<columns>
<column flex="1"/>
<column flex="12"/>
<column flex="3"/>
<column flex="2"/>
<column flex="2"/>
<column flex="3"/>
</columns>
<rows>
<row>
<label value="Anmerkung" control="student-prestudent-textbox-anmerkung"/>
<textbox id="student-prestudent-textbox-anmerkung" disabled="true"/>
<hbox>
<label value="Bismelden" control="student-prestudent-checkbox-bismelden"/>
<checkbox id="student-prestudent-checkbox-bismelden" checked="true" disabled="true"/>
</hbox>
<label value="Anmerkung" control="student-prestudent-textbox-anmerkung"/>
<textbox id="student-prestudent-textbox-anmerkung" disabled="true"/>
<hbox>
<label value="Bismelden" control="student-prestudent-checkbox-bismelden"/>
<checkbox id="student-prestudent-checkbox-bismelden" checked="true" disabled="true"/>
</hbox>
<hbox>
<label value="Dual" control="student-prestudent-checkbox-dual"/>
<checkbox id="student-prestudent-checkbox-dual" checked="false" disabled="true"/>
</hbox>
<hbox>
<label value="Priorität" control="student-prestudent-textbox-priorisierung"/>
<?php
$readonly = 'readonly="true"';
$rechte = new benutzerberechtigung();
$rechte->getBerechtigungen($user);
if($rechte->isBerechtigt('basis/prestudent'))
$readonly = '';
?>
<textbox id="student-prestudent-textbox-priorisierung" disabled="true" <?php echo $readonly ?>/>
</hbox>
<hbox>
<label value="Förderrelevant" id="student-prestudent-label-foerderrelevant" control="student-prestudent-menulist-foerderrelevant"/>
<menulist id="student-prestudent-menulist-foerderrelevant" disabled="true">
<menupopup>
<menuitem value="" label="Wie Studiengang"/>
<menuitem value="true" label="Ja"/>
<menuitem value="false" label="Nein"/>
</menupopup>
</menulist>
</hbox>
<hbox>
<label value="Priorität" control="student-prestudent-textbox-priorisierung"/>
<?php
$readonly = 'readonly="true"';
$rechte = new benutzerberechtigung();
$rechte->getBerechtigungen($user);
if($rechte->isBerechtigt('basis/prestudent'))
$readonly = '';
?>
<textbox id="student-prestudent-textbox-priorisierung" disabled="true" <?php echo $readonly ?>/>
</hbox>
</row>
<row id="student-prestudent-row-mentor">
<label value="MentorIn" control="student-prestudent-textbox-mentor"/>
+21
View File
@@ -126,6 +126,12 @@ else
echo '
<menu id="'.$id.'" label="'.$label.'">
<menupopup>';
if ($id == 'student-toolbar-student')
echo '<menuitem label="Student" oncommand="StudentUnterbrecherZuStudent()" disabled="false" tooltiptext="Status ändern auf Student"/>';
if ($id == 'interessent-toolbar-zustudent')
echo '<menuitem label="Student" oncommand="InteressentzuStudent()" disabled="false" tooltiptext="Status ändern auf Student"/>';
foreach($gruende[$status_kurzbz] as $row)
{
$commandWithID = str_replace('STATUSGRUNDID',$row['statusgrund_id'],$command);
@@ -204,6 +210,21 @@ else
<menuitem id="student-toolbar-filter-offenebuchungen" label="offene Buchungen" oncommand="StudentKontoFilterStudenten('konto')" disabled="false" tooltiptext="Liste aller Studenten mit offenen Buchungen"/>
<menuitem id="student-toolbar-filter-studiengebuehr" label="nicht gebuchte Studiengebuehr" oncommand="StudentKontoFilterStudenten('studiengebuehr')" disabled="false" tooltiptext="Liste aller Studenten die noch nicht mit Studienbebuehr belastet wurden" />
<menuitem id="student-toolbar-filter-zgvohnedatum" label="ZGV eingetragen ohne Datum" oncommand="StudentKontoFilterStudenten('zgvohnedatum')" disabled="false" tooltiptext="Liste aller Studenten die ZGV eingetragen haben bei denen aber kein ZGV Datum gesetzt ist" />
<menu label="nach Statusgrund">
<menupopup id="student-filter-statusgrund-menu-popup">
<?php
$statusgrund = new statusgrund();
$statusgrund->getAll(true);
foreach($statusgrund->result as $row)
{
?>
<menuitem id="student-toolbar-filter-statusgrund-<?php echo $row->statusgrund_id;?>" label="<?php echo $row->bezeichnung_mehrsprachig[DEFAULT_LANGUAGE];?>" oncommand="StudentKontoFilterStudenten('stud-statusgrund-<?php echo $row->statusgrund_id; ?>')" disabled="false" tooltiptext="Liste aller Studenten mit Statusgrund <?php echo $row->bezeichnung_mehrsprachig[DEFAULT_LANGUAGE];?>" />
<?php
}
?>
</menupopup>
</menu>
</menupopup>
</toolbarbutton>
<?php
+86 -6
View File
@@ -1034,7 +1034,11 @@ function StudentAuswahl()
StudentGesamtNotenTreeloaded=false;
stsem = getStudiensemester();
var url = '<?php echo APP_ROOT ?>rdf/student.rdf.php?prestudent_id='+prestudent_id+'&studiensemester_kurzbz='+stsem+'&'+gettimestamp();
var url = buildStudentRDFURI({
'prestudent_id': prestudent_id,
'studiensemester_kurzbz': stsem
});
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].
getService(Components.interfaces.nsIRDFService);
@@ -1157,6 +1161,8 @@ function StudentAuswahl()
dual = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#dual" ));
gsstudientyp_kurzbz = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#gsstudientyp_kurzbz" ));
priorisierung = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#priorisierung" ));
foerderrelevant = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#foerderrelevant" ));
standort_code = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#standort_code" ));
document.getElementById('student-prestudent-menulist-aufmerksamdurch').value=aufmerksamdurch_kurzbz;
document.getElementById('student-prestudent-menulist-berufstaetigkeit').value=berufstaetigkeit_code;
@@ -1210,6 +1216,8 @@ function StudentAuswahl()
document.getElementById('student-prestudent-textbox-priorisierung').value=priorisierung;
document.getElementById('student-prestudent-textbox-mentor').value=mentor;
document.getElementById('student-detail-menulist-gsstudientyp').value=gsstudientyp_kurzbz;
document.getElementById('student-prestudent-menulist-foerderrelevant').value=foerderrelevant;
document.getElementById('student-prestudent-menulist-bisstandort').value=standort_code;
document.getElementById('student-detail-groupbox-caption').label='Zugangsvoraussetzung für '+nachname+' '+vorname;
rollentree = document.getElementById('student-prestudent-tree-rolle');
@@ -1733,12 +1741,14 @@ function StudentPrestudentDisableFields(val)
document.getElementById('student-prestudent-menulist-aufnahmeschluessel').disabled=val;
document.getElementById('student-prestudent-checkbox-facheinschlberuf').disabled=val;
document.getElementById('student-prestudent-checkbox-bismelden').disabled=val;
document.getElementById('student-prestudent-menulist-foerderrelevant').disabled=val;
document.getElementById('student-prestudent-checkbox-dual').disabled=val;
document.getElementById('student-prestudent-button-save').disabled=val;
document.getElementById('student-prestudent-textbox-anmerkung').disabled=val;
document.getElementById('student-prestudent-textbox-priorisierung').disabled=val;
document.getElementById('student-prestudent-textbox-mentor').disabled=val;
document.getElementById('student-detail-menulist-gsstudientyp').disabled=val;
document.getElementById('student-prestudent-menulist-bisstandort').disabled=val;
// Studiengang des angeklickten Prestudenten ermitteln
var tree = document.getElementById('student-tree');
@@ -1819,6 +1829,8 @@ function StudentPrestudentSave()
priorisierung = document.getElementById('student-prestudent-textbox-priorisierung').value;
mentor = document.getElementById('student-prestudent-textbox-mentor').value;
gsstudientyp = document.getElementById('student-detail-menulist-gsstudientyp').value;
foerderrelevant = document.getElementById('student-prestudent-menulist-foerderrelevant').value;
standort_code = document.getElementById('student-prestudent-menulist-bisstandort').value;
if(zgvdatum!='' && !CheckDatum(zgvdatum))
{
@@ -1876,6 +1888,8 @@ function StudentPrestudentSave()
req.add('priorisierung', priorisierung);
req.add('mentor', mentor);
req.add('gsstudientyp_kurzbz', gsstudientyp);
req.add('foerderrelevant', foerderrelevant);
req.add('standort_code', standort_code);
var response = req.executePOST();
@@ -2616,11 +2630,48 @@ function StudentKontoFilter()
kontotree.builder.addListener(StudentKontoTreeListener);
}
// ****
// * Generiert eine student.rdf URI
// ****
function buildStudentRDFURI(queryparams, tree)
{
var baseurl = "<?php echo APP_ROOT; ?>rdf/student.rdf.php";
if ( typeof tree !== "undefined" )
{
var col = tree.columns ? tree.columns["tree-verband-col-orgform"] : "tree-verband-col-orgform";
queryparams.orgform = tree.view.getCellText(tree.currentIndex,col);
}
return _buildURI(baseurl, queryparams);
}
// ****
// * Generiert aus einer BasisURL und einem Dictionary von Parametern eine URI
// ****
function _buildURI(baseurl, queryparams)
{
var str = [];
var url = baseurl;
for (var p in queryparams)
{
if ( queryparams.hasOwnProperty(p) && queryparams[p].length > 0 )
{
str.push(encodeURIComponent(p) + "=" + encodeURIComponent(queryparams[p]));
}
}
var querystring = str.join("&");
if ( querystring.length > 0 )
{
url = url + '?' + querystring + '&' + gettimestamp();
}
return url;
}
// ****
// * Setzt im Studententree einen vordefinierten Filter
// ****
function StudentKontoFilterStudenten(filter)
{
//alert(filter);
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
var tree=document.getElementById('tree-verband');
@@ -2643,12 +2694,26 @@ function StudentKontoFilterStudenten(filter)
var gruppe = getTreeCellText(tree, 'gruppe', tree.currentIndex);
var typ = getTreeCellText(tree, 'typ', tree.currentIndex);
var stsem = getTreeCellText(tree, 'stsem', tree.currentIndex);
if(stsem=='')
stsem = getStudiensemester();
if(typ=='')
typ='student';
url = "<?php echo APP_ROOT; ?>rdf/student.rdf.php?studiengang_kz="+stg_kz+"&semester="+sem+"&verband="+ver+"&gruppe="+grp+"&gruppe_kurzbz="+gruppe+"&studiensemester_kurzbz="+stsem+"&typ="+typ+"&filter2="+filter+"&buchungstyp="+buchungstyp+"&"+gettimestamp();
var url = buildStudentRDFURI({
'studiengang_kz': stg_kz,
'semester': sem,
'verband': ver,
'gruppe': grp,
'gruppe_kurzbz': gruppe,
'studiensemester_kurzbz': stsem,
'typ': typ,
'filter2': filter,
'buchungstyp': buchungstyp
}, tree);
console.log(url);
var treeStudent=document.getElementById('student-tree');
try
@@ -2666,6 +2731,7 @@ function StudentKontoFilterStudenten(filter)
treeStudent.database.RemoveDataSource(oldDatasources.getNext());
}
//alert(url);
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService);
StudentTreeDatasource = rdfService.GetDataSource(url);
StudentTreeDatasource.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource);
@@ -2707,7 +2773,18 @@ function StudentKontoFilterBuchungstyp()
stsem = getStudiensemester();
if(typ=='')
typ='student';
url = "<?php echo APP_ROOT; ?>rdf/student.rdf.php?studiengang_kz="+stg_kz+"&semester="+sem+"&verband="+ver+"&gruppe="+grp+"&gruppe_kurzbz="+gruppe+"&studiensemester_kurzbz="+stsem+"&typ="+typ+"&filter2=buchungstyp;"+filter+"&"+gettimestamp();
var url = buildStudentRDFURI({
'studiengang_kz': stg_kz,
'semester': sem,
'verband': ver,
'gruppe': grp,
'gruppe_kurzbz': gruppe,
'studiensemester_kurzbz': stsem,
'typ': typ,
'filter2': 'buchungstyp;' + filter
}, tree);
var treeStudent=document.getElementById('student-tree');
try
@@ -5370,6 +5447,7 @@ function StudentAnrechnungAuswahl()
lehrveranstaltung_id_kompatibel = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#lehrveranstaltung_id_kompatibel" ));
genehmigt_von = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#genehmigt_von" ));
anzahl_notizen = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#anzahl_notizen" ));
status = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#status" ));
// Studiengang ermitteln
var tree = document.getElementById('student-tree');
@@ -5488,8 +5566,10 @@ function StudentSuche()
document.getElementById('tree-verband').view.selection.clearSelection();
//Datasource setzten und Felder deaktivieren
url = "<?php echo APP_ROOT; ?>rdf/student.rdf.php?filter="+encodeURIComponent(filter)+"&"+gettimestamp();
var url = buildStudentRDFURI({
'filter': filter
});
var treeStudent=document.getElementById('student-tree');
try
+159 -155
View File
@@ -1,155 +1,159 @@
<?php
/* Copyright (C) 2006 Technikum-Wien
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
*
* Authors: Christian Paminger <[email protected]>,
* Andreas Oesterreicher <[email protected]> and
* Rudolf Hangl <[email protected]>.
*/
require_once('../../config/vilesci.config.inc.php');
?>
var StudentRolleStudiensemester_old;
var StudentRolleAusbildungssemester_old;
var StudentRolleStatusgrundDatasource;
// ****
// * Laedt die Rolle
// ****
function StudentRolleInit(prestudent_id, status_kurzbz, studiensemester_kurzbz, ausbildungssemester)
{
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
if(status_kurzbz!='')
{
document.getElementById('student-rolle-grid-row-textbox').hidden=false;
document.getElementById('student-rolle-grid-row-menulist').hidden=true;
StudentRolleStudiensemester_old=studiensemester_kurzbz;
StudentRolleAusbildungssemester_old=ausbildungssemester;
//Daten holen
var url = '<?php echo APP_ROOT ?>rdf/prestudentrolle.rdf.php?prestudent_id='+prestudent_id+'&status_kurzbz='+status_kurzbz+'&studiensemester_kurzbz='+studiensemester_kurzbz+'&ausbildungssemester='+ausbildungssemester+'&'+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/prestudentrolle/" + prestudent_id+"/"+status_kurzbz+"/"+studiensemester_kurzbz+"/"+ausbildungssemester);
var predicateNS = "http://www.technikum-wien.at/prestudentrolle/rdf";
//RDF parsen
var datum = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#datum" ));
var bestaetigt_datum = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#bestaetigt_am" ));
var bewerbung_abgeschicktamum = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#bewerbung_abgeschicktamum" ));
var orgform_kurzbz = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#orgform_kurzbz" ));
var studienplan_id = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#studienplan_id" ));
var anmerkung= getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#anmerkung" ));
var statusgrund_id = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#statusgrund_id" ));
var rt_stufe = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#rt_stufe" ));
var neu = false;
StudentRolleLoadStatusgrund(status_kurzbz, statusgrund_id);
}
else
{
StudentRolleStudiensemester_old='';
StudentRolleAusbildungssemester_old='';
document.getElementById('student-rolle-grid-row-textbox').hidden=true;
document.getElementById('student-rolle-grid-row-menulist').hidden=false;
//Defaultwerte bei Neuem Datensatz
var status_kurzbz = 'Interessent';
var studiensemester_kurzbz=window.opener.getStudiensemester();
var ausbildungssemester='1';
var datum = '<?php echo date('d.m.Y') ?>';
var bestaetigt_datum = '<?php echo date('d.m.Y') ?>';
var bewerbung_abgeschicktamum = '';
var orgform_kurzbz = '';
var studienplan_id = '';
var anmerkung = '';
var statusgrund_id = '';
var rt_stufe = '';
StudentRolleLoadStatusgrund(status_kurzbz);
}
document.getElementById('student-rolle-textbox-prestudent_id').value=prestudent_id;
document.getElementById('student-rolle-textbox-status_kurzbz').value=status_kurzbz;
document.getElementById('student-rolle-menulist-studiensemester').value=studiensemester_kurzbz;
document.getElementById('student-rolle-menulist-ausbildungssemester').value=ausbildungssemester;
document.getElementById('student-rolle-datum-datum').value=datum;
document.getElementById('student-rolle-datum-bestaetigt_datum').value=bestaetigt_datum;
document.getElementById('student-rolle-datum-bewerbung_abgeschicktamum').value=bewerbung_abgeschicktamum;
document.getElementById('student-rolle-menulist-orgform_kurzbz').value=orgform_kurzbz;
MenulistSelectItemOnValue('student-rolle-menulist-studienplan', studienplan_id);
document.getElementById('student-rolle-textbox-anmerkung').value=anmerkung;
MenulistSelectItemOnValue('student-rolle-menulist-statusgrund', statusgrund_id);
MenulistSelectItemOnValue('student-rolle-menulist-stufe', rt_stufe);
}
// ****
// * Speichern der Rolle
// * Hierzu wird eine Funktion vom Aufrufenden Fenster gestartet weil
// * es dann nicht zu Problemen mit den Zugriffen auf die anderen Fkt
// * kommt.
// ****
function StudentRolleSpeichern()
{
if(window.opener.StudentRolleSpeichern(document, StudentRolleStudiensemester_old, StudentRolleAusbildungssemester_old))
window.close();
}
function StudentRolleLoadStatusgrund(status_kurzbz, statusgrund_id)
{
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
var menulistgrund = document.getElementById('student-rolle-menulist-statusgrund');
url='<?php echo APP_ROOT;?>rdf/statusgrund.rdf.php?status_kurzbz='+status_kurzbz+'&include_id='+statusgrund_id+'&ts'+gettimestamp();
try
{
StudentRolleStatusgrundDatasource.removeXMLSinkObserver(StudentDetailRolleTreeSinkObserver);
}
catch(e)
{}
//Alte DS entfernen
var oldDatasources = menulistgrund.database.GetDataSources();
while(oldDatasources.hasMoreElements())
{
menulistgrund.database.RemoveDataSource(oldDatasources.getNext());
}
//Refresh damit die entfernten DS auch wirklich entfernt werden
menulistgrund.builder.rebuild();
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService);
StudentRolleStatusgrundDatasource = rdfService.GetDataSourceBlocking(url);
StudentRolleStatusgrundDatasource.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource);
StudentRolleStatusgrundDatasource.QueryInterface(Components.interfaces.nsIRDFXMLSink);
menulistgrund.database.AddDataSource(StudentRolleStatusgrundDatasource);
menulistgrund.builder.rebuild();
}
/**
* Wenn das Dropdown fuer den Status geaendert wird, dann
* werden die Statusgruende zu diesem Status geladen
*/
function StudentRolleChangeStatus()
{
var status = document.getElementById('student-rolle-menulist-status_kurzbz').value;
StudentRolleLoadStatusgrund(status);
}
<?php
/* Copyright (C) 2006 Technikum-Wien
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
*
* Authors: Christian Paminger <[email protected]>,
* Andreas Oesterreicher <[email protected]> and
* Rudolf Hangl <[email protected]>.
*/
require_once('../../config/vilesci.config.inc.php');
?>
var StudentRolleStudiensemester_old;
var StudentRolleAusbildungssemester_old;
var StudentRolleStatusgrundDatasource;
// ****
// * Laedt die Rolle
// ****
function StudentRolleInit(prestudent_id, status_kurzbz, studiensemester_kurzbz, ausbildungssemester)
{
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
if(status_kurzbz!='')
{
document.getElementById('student-rolle-grid-row-textbox').hidden=false;
document.getElementById('student-rolle-grid-row-menulist').hidden=true;
StudentRolleStudiensemester_old=studiensemester_kurzbz;
StudentRolleAusbildungssemester_old=ausbildungssemester;
//Daten holen
var url = '<?php echo APP_ROOT ?>rdf/prestudentrolle.rdf.php?prestudent_id='+prestudent_id+'&status_kurzbz='+status_kurzbz+'&studiensemester_kurzbz='+studiensemester_kurzbz+'&ausbildungssemester='+ausbildungssemester+'&'+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/prestudentrolle/" + prestudent_id+"/"+status_kurzbz+"/"+studiensemester_kurzbz+"/"+ausbildungssemester);
var predicateNS = "http://www.technikum-wien.at/prestudentrolle/rdf";
//RDF parsen
var datum = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#datum" ));
var bestaetigt_datum = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#bestaetigt_am" ));
var bewerbung_abgeschicktamum = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#bewerbung_abgeschicktamum" ));
var orgform_kurzbz = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#orgform_kurzbz" ));
var studienplan_id = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#studienplan_id" ));
var anmerkung= getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#anmerkung" ));
var statusgrund_id = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#statusgrund_id" ));
var rt_stufe = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#rt_stufe" ));
var neu = false;
StudentRolleLoadStatusgrund(status_kurzbz, statusgrund_id);
}
else
{
StudentRolleStudiensemester_old='';
StudentRolleAusbildungssemester_old='';
document.getElementById('student-rolle-grid-row-textbox').hidden=true;
document.getElementById('student-rolle-grid-row-menulist').hidden=false;
//Defaultwerte bei Neuem Datensatz
var status_kurzbz = 'Interessent';
var studiensemester_kurzbz=window.opener.getStudiensemester();
var ausbildungssemester='1';
var datum = '<?php echo date('d.m.Y') ?>';
var bestaetigt_datum = '<?php echo date('d.m.Y') ?>';
var bewerbung_abgeschicktamum = '';
var orgform_kurzbz = '';
var studienplan_id = '';
var anmerkung = '';
var statusgrund_id = '';
var rt_stufe = '';
StudentRolleLoadStatusgrund(status_kurzbz);
}
document.getElementById('student-rolle-textbox-prestudent_id').value=prestudent_id;
document.getElementById('student-rolle-textbox-status_kurzbz').value=status_kurzbz;
document.getElementById('student-rolle-menulist-studiensemester').value=studiensemester_kurzbz;
document.getElementById('student-rolle-menulist-ausbildungssemester').value=ausbildungssemester;
document.getElementById('student-rolle-datum-datum').value=datum;
document.getElementById('student-rolle-datum-bestaetigt_datum').value=bestaetigt_datum;
document.getElementById('student-rolle-datum-bewerbung_abgeschicktamum').value=bewerbung_abgeschicktamum;
document.getElementById('student-rolle-menulist-orgform_kurzbz').value=orgform_kurzbz;
MenulistSelectItemOnValue('student-rolle-menulist-studienplan', studienplan_id);
document.getElementById('student-rolle-textbox-anmerkung').value=anmerkung;
MenulistSelectItemOnValue('student-rolle-menulist-statusgrund', statusgrund_id);
MenulistSelectItemOnValue('student-rolle-menulist-stufe', rt_stufe);
}
// ****
// * Speichern der Rolle
// * Hierzu wird eine Funktion vom Aufrufenden Fenster gestartet weil
// * es dann nicht zu Problemen mit den Zugriffen auf die anderen Fkt
// * kommt.
// ****
function StudentRolleSpeichern()
{
if(window.opener.StudentRolleSpeichern(document, StudentRolleStudiensemester_old, StudentRolleAusbildungssemester_old))
window.close();
}
function StudentRolleLoadStatusgrund(status_kurzbz, statusgrund_id)
{
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
var menulistgrund = document.getElementById('student-rolle-menulist-statusgrund');
if (typeof statusgrund_id !== 'undefined')
url='<?php echo APP_ROOT;?>rdf/statusgrund.rdf.php?status_kurzbz='+status_kurzbz+'&include_id='+statusgrund_id+'&ts'+gettimestamp();
else
url='<?php echo APP_ROOT;?>rdf/statusgrund.rdf.php?status_kurzbz='+status_kurzbz+'&ts'+gettimestamp();
try
{
StudentRolleStatusgrundDatasource.removeXMLSinkObserver(StudentDetailRolleTreeSinkObserver);
}
catch(e)
{}
//Alte DS entfernen
var oldDatasources = menulistgrund.database.GetDataSources();
while(oldDatasources.hasMoreElements())
{
menulistgrund.database.RemoveDataSource(oldDatasources.getNext());
}
//Refresh damit die entfernten DS auch wirklich entfernt werden
menulistgrund.builder.rebuild();
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService);
StudentRolleStatusgrundDatasource = rdfService.GetDataSourceBlocking(url);
StudentRolleStatusgrundDatasource.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource);
StudentRolleStatusgrundDatasource.QueryInterface(Components.interfaces.nsIRDFXMLSink);
menulistgrund.database.AddDataSource(StudentRolleStatusgrundDatasource);
menulistgrund.builder.rebuild();
}
/**
* Wenn das Dropdown fuer den Status geaendert wird, dann
* werden die Statusgruende zu diesem Status geladen
*/
function StudentRolleChangeStatus()
{
var status = document.getElementById('student-rolle-menulist-status_kurzbz').value;
StudentRolleLoadStatusgrund(status);
}