Files
FHC-Core/content/student/studentabschlusspruefung.js.php
T
2010-07-09 09:27:52 +00:00

898 lines
35 KiB
PHP

<?php
/* Copyright (C) 2006 Technikum-Wien
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
*
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
require_once('../../config/vilesci.config.inc.php');
?>
// *********** Globale Variablen *****************//
var StudentAbschlusspruefungSelectID=null; //Id der Abschlusspruefung die nach dem Rebuild markiert werden soll
var StudentAbschlusspruefungTreeDatasource=null; //Datasource des Abschlusspruefung Trees
var StudentAbschlusspruefungAkadgradDDDatasource=null; //Datasource des Akadgrad DropDowns
// ********** Observer und Listener ************* //
// ****
// * Observer fuer Abschlusspruefung Tree
// * startet Rebuild nachdem das Refresh
// * der datasource fertig ist
// ****
var StudentAbschlusspruefungTreeSinkObserver =
{
onBeginLoad : function(pSink)
{
//Eventlistener waehrend des Ladevorganges deaktivieren da es sonst
//zu Problemen kommt
tree = document.getElementById('student-abschlusspruefung-tree');
tree.removeEventListener('select', StudentAbschlusspruefungAuswahl, false);
},
onInterrupt : function(pSink) {},
onResume : function(pSink) {},
onError : function(pSink, pStatus, pError) {},
onEndLoad : function(pSink)
{
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
document.getElementById('student-abschlusspruefung-tree').builder.rebuild();
}
};
// ****
// * Nach dem Rebuild wird die Abschlusspruefung wieder
// * markiert
// ****
var StudentAbschlusspruefungTreeListener =
{
willRebuild : function(builder) { },
didRebuild : function(builder)
{
tree = document.getElementById('student-abschlusspruefung-tree');
tree.addEventListener('select', StudentAbschlusspruefungAuswahl, false);
//timeout nur bei Mozilla notwendig da sonst die rows
//noch keine values haben. Ab Seamonkey funktionierts auch
//ohne dem setTimeout
window.setTimeout(StudentAbschlusspruefungTreeSelectID,10);
}
};
// ****
// * Observer fuer Akadgrad DropDown
// ****
var StudentAbschlusspruefungAkadgradDDSinkObserver =
{
onBeginLoad : function(pSink)
{},
onInterrupt : function(pSink) {},
onResume : function(pSink) {},
onError : function(pSink, pStatus, pError) {},
onEndLoad : function(pSink)
{
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
document.getElementById('student-abschlusspruefung-menulist-akadgrad').builder.rebuild();
}
};
// ****
// * Nach dem Rebuild wird der Akadgrad markiert
// ****
var StudentAbschlusspruefungAkadgradDDListener =
{
willRebuild : function(builder) { },
didRebuild : function(builder)
{
dd = document.getElementById('student-abschlusspruefung-menulist-akadgrad');
//ersten Eintrag im DD markieren
dd.selectedIndex=0;
}
};
// ****************** FUNKTIONEN ************************** //
// ****
// * Laedt die Daten fuer den Abschlusspruefungen Tree
// ****
function StudentAbschlusspruefungTreeLoad(uid)
{
tree = document.getElementById('student-abschlusspruefung-tree');
url='<?php echo APP_ROOT;?>rdf/abschlusspruefung.rdf.php?student_uid='+uid+"&"+gettimestamp();
//Alte Observer entfernen
try
{
StudentAbschlusspruefungTreeDatasource.removeXMLSinkObserver(StudentAbschlusspruefungTreeSinkObserver);
tree.builder.removeListener(StudentAbschlusspruefungTreeListener);
}
catch(e)
{}
//Alte DS entfernen
var oldDatasources = tree.database.GetDataSources();
while(oldDatasources.hasMoreElements())
{
tree.database.RemoveDataSource(oldDatasources.getNext());
}
//Refresh damit die entfernten DS auch wirklich entfernt werden
tree.builder.rebuild();
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService);
StudentAbschlusspruefungTreeDatasource = rdfService.GetDataSource(url);
StudentAbschlusspruefungTreeDatasource.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource);
StudentAbschlusspruefungTreeDatasource.QueryInterface(Components.interfaces.nsIRDFXMLSink);
tree.database.AddDataSource(StudentAbschlusspruefungTreeDatasource);
StudentAbschlusspruefungTreeDatasource.addXMLSinkObserver(StudentAbschlusspruefungTreeSinkObserver);
tree.builder.addListener(StudentAbschlusspruefungTreeListener);
StudentAbschlusspruefungDisableFields(false);
}
// ****
// * De-/Aktiviert die AbschlusspruefungFelder
// ****
function StudentAbschlusspruefungDisableFields(val)
{
document.getElementById('student-abschlusspruefung-button-neu').disabled=val;
document.getElementById('student-abschlusspruefung-button-loeschen').disabled=val;
if(val)
StudentAbschlusspruefungDetailDisableFields(val);
}
// ****
// * De-/Aktiviert die AbschlusspruefungDetailFelder
// ****
function StudentAbschlusspruefungDetailDisableFields(val)
{
document.getElementById('student-abschlusspruefung-menulist-vorsitz').disabled=val;
document.getElementById('student-abschlusspruefung-menulist-pruefer1').disabled=val;
document.getElementById('student-abschlusspruefung-menulist-pruefer2').disabled=val;
document.getElementById('student-abschlusspruefung-menulist-pruefer3').disabled=val;
document.getElementById('student-abschlusspruefung-menulist-abschlussbeurteilung').disabled=val;
document.getElementById('student-abschlusspruefung-menulist-notekommpruef').disabled=val;
document.getElementById('student-abschlusspruefung-menulist-akadgrad').disabled=val;
document.getElementById('student-abschlusspruefung-menulist-typ').disabled=val;
document.getElementById('student-abschlusspruefung-datum-datum').disabled=val;
document.getElementById('student-abschlusspruefung-datum-sponsion').disabled=val;
document.getElementById('student-abschlusspruefung-textbox-anmerkung').disabled=val;
document.getElementById('student-abschlusspruefung-button-speichern').disabled=val;
if(val)
StudentAbschlusspruefungResetFields();
}
// ****
// * Resetet die AbschlusspruefungDetailFelder
// ****
function StudentAbschlusspruefungResetFields()
{
document.getElementById('student-abschlusspruefung-menulist-vorsitz').value='';
document.getElementById('student-abschlusspruefung-menulist-pruefer1').value='';
document.getElementById('student-abschlusspruefung-menulist-pruefer2').value='';
document.getElementById('student-abschlusspruefung-menulist-pruefer3').value='';
document.getElementById('student-abschlusspruefung-menulist-abschlussbeurteilung').value='';
document.getElementById('student-abschlusspruefung-menulist-notekommpruef').value='';
//document.getElementById('student-abschlusspruefung-menulist-akadgrad').value='';
//document.getElementById('student-abschlusspruefung-menulist-typ').value='Bachelor';
document.getElementById('student-abschlusspruefung-datum-datum').value='';
document.getElementById('student-abschlusspruefung-datum-sponsion').value='';
document.getElementById('student-abschlusspruefung-textbox-anmerkung').value='';
}
// ****
// * Laedt dynamisch die Personen fuer das DropDown Menue
// * Es muessen mindestens 3 Zeichen in das DropDown Menue eingegeben werden
// ****
function StudentAbschlusspruefungMenulistPersonLoad(menulist, filter)
{
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
if(typeof(filter)=='undefined')
v = menulist.value;
else
v = filter;
if(v.length>2)
{
var url = '<?php echo APP_ROOT; ?>rdf/person.rdf.php?filter='+v+'&'+gettimestamp();
var oldDatasources = menulist.database.GetDataSources();
while(oldDatasources.hasMoreElements())
{
menulist.database.RemoveDataSource(oldDatasources.getNext());
}
//Refresh damit die entfernten DS auch wirklich entfernt werden
menulist.builder.rebuild();
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService);
if(typeof(filter)=='undefined')
var datasource = rdfService.GetDataSource(url);
else
var datasource = rdfService.GetDataSourceBlocking(url);
datasource.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource);
datasource.QueryInterface(Components.interfaces.nsIRDFXMLSink);
menulist.database.AddDataSource(datasource);
if(typeof(filter)!='undefined')
menulist.builder.rebuild();
}
}
// ****
// * Laedt dynamisch die Mitarbeiter fuer das DropDown Menue
// * Es muessen mindestens 3 Zeichen in das DropDown Menue eingegeben werden
// ****
function StudentAbschlusspruefungMenulistMitarbeiterLoad(menulist, filter)
{
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
if(typeof(filter)=='undefined')
v = menulist.value;
else
v = filter;
if(v.length>2)
{
var url = '<?php echo APP_ROOT; ?>rdf/mitarbeiter.rdf.php?filter='+v+'&'+gettimestamp();
var oldDatasources = menulist.database.GetDataSources();
while(oldDatasources.hasMoreElements())
{
menulist.database.RemoveDataSource(oldDatasources.getNext());
}
//Refresh damit die entfernten DS auch wirklich entfernt werden
menulist.builder.rebuild();
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService);
if(typeof(filter)=='undefined')
var datasource = rdfService.GetDataSource(url);
else
var datasource = rdfService.GetDataSourceBlocking(url);
datasource.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource);
datasource.QueryInterface(Components.interfaces.nsIRDFXMLSink);
menulist.database.AddDataSource(datasource);
if(typeof(filter)!='undefined')
menulist.builder.rebuild();
}
}
// *****
// * Markiert einen Datensatz im Tree
// *****
function StudentAbschlusspruefungTreeSelectID()
{
var tree=document.getElementById('student-abschlusspruefung-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(StudentAbschlusspruefungSelectID!=null)
{
for(var i=0;i<items;i++)
{
//ID der row holen
var id = getTreeCellText(tree, "student-abschlusspruefung-treecol-abschlusspruefung_id", i);
//wenn dies die zu selektierende Zeile
if(id == StudentAbschlusspruefungSelectID)
{
//Zeile markieren
tree.view.selection.select(i);
//Sicherstellen, dass die Zeile im sichtbaren Bereich liegt
tree.treeBoxObject.ensureRowIsVisible(i);
StudentIOSelectID=null;
return true;
}
}
}
}
// ****
// * Laedt die Daten der Abschlusspruefung zum Bearbeiten
// ****
function StudentAbschlusspruefungAuswahl()
{
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
var tree = document.getElementById('student-abschlusspruefung-tree');
if (tree.currentIndex==-1) return;
StudentAbschlusspruefungDetailDisableFields(false);
//Ausgewaehlte Nr holen
var abschlusspruefung_id = getTreeCellText(tree, "student-abschlusspruefung-treecol-abschlusspruefung_id", tree.currentIndex)
//Daten holen
var url = '<?php echo APP_ROOT ?>rdf/abschlusspruefung.rdf.php?abschlusspruefung_id='+abschlusspruefung_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/abschlusspruefung/" + abschlusspruefung_id);
var predicateNS = "http://www.technikum-wien.at/abschlusspruefung/rdf";
//Daten holen
student_uid = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#student_uid" ));
vorsitz = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#vorsitz" ));
vorsitz_nachname = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#vorsitz_nachname" ));
pruefer1 = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#pruefer1" ));
pruefer1_nachname = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#pruefer1_nachname" ));
pruefer2 = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#pruefer2" ));
pruefer2_nachname = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#pruefer2_nachname" ));
pruefer3 = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#pruefer3" ));
pruefer3_nachname = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#pruefer3_nachname" ));
abschlussbeurteilung_kurzbz = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#abschlussbeurteilung_kurzbz" ));
notekommpruef = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#notekommpruef" ));
akadgrad_id = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#akadgrad_id" ));
datum = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#datum" ));
sponsion = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#sponsion" ));
pruefungstyp_kurzbz = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#pruefungstyp_kurzbz" ));
anmerkung = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#anmerkung" ));
stg_kz = studiengang_kz = document.getElementById('student-detail-menulist-studiengang_kz').value;
//Akadgrad DropDown laden
var AkadgradDropDown = document.getElementById('student-abschlusspruefung-menulist-akadgrad');
url='<?php echo APP_ROOT;?>rdf/akadgrad.rdf.php?studiengang_kz='+stg_kz+"&"+gettimestamp();
//Alte Observer entfernen
try
{
StudentAbschlusspruefungAkadgradDDDatasource.removeXMLSinkObserver(StudentAbschlusspruefungAkadgradDDSinkObserver);
AkadgradDropDown.builder.removeListener(StudentAbschlusspruefungAkadgradDDListener);
}
catch(e)
{}
//Alte DS entfernen
var oldDatasources = AkadgradDropDown.database.GetDataSources();
while(oldDatasources.hasMoreElements())
{
AkadgradDropDown.database.RemoveDataSource(oldDatasources.getNext());
}
//Refresh damit die entfernten DS auch wirklich entfernt werden
AkadgradDropDown.builder.rebuild();
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService);
StudentAbschlusspruefungAkadgradDDDatasource = rdfService.GetDataSourceBlocking(url);
StudentAbschlusspruefungAkadgradDDDatasource.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource);
StudentAbschlusspruefungAkadgradDDDatasource.QueryInterface(Components.interfaces.nsIRDFXMLSink);
AkadgradDropDown.database.AddDataSource(StudentAbschlusspruefungAkadgradDDDatasource);
AkadgradDropDown.builder.rebuild();
// Vorsitz Drop Down laden
StudentAbschlusspruefungMenulistMitarbeiterLoad(document.getElementById('student-abschlusspruefung-menulist-vorsitz'), vorsitz_nachname);
// Pruefer Drop Down laden
StudentAbschlusspruefungMenulistPersonLoad(document.getElementById('student-abschlusspruefung-menulist-pruefer1'), pruefer1_nachname);
StudentAbschlusspruefungMenulistPersonLoad(document.getElementById('student-abschlusspruefung-menulist-pruefer2'), pruefer2_nachname);
StudentAbschlusspruefungMenulistPersonLoad(document.getElementById('student-abschlusspruefung-menulist-pruefer3'), pruefer3_nachname);
MenulistSelectItemOnValue('student-abschlusspruefung-menulist-vorsitz', vorsitz)
MenulistSelectItemOnValue('student-abschlusspruefung-menulist-pruefer1', pruefer1);
MenulistSelectItemOnValue('student-abschlusspruefung-menulist-pruefer2', pruefer2);
MenulistSelectItemOnValue('student-abschlusspruefung-menulist-pruefer3', pruefer3);
document.getElementById('student-abschlusspruefung-menulist-abschlussbeurteilung').value=abschlussbeurteilung_kurzbz;
document.getElementById('student-abschlusspruefung-menulist-notekommpruef').value=notekommpruef;
document.getElementById('student-abschlusspruefung-menulist-akadgrad').value=akadgrad_id;
document.getElementById('student-abschlusspruefung-datum-datum').value=datum;
document.getElementById('student-abschlusspruefung-datum-sponsion').value=sponsion;
document.getElementById('student-abschlusspruefung-menulist-typ').value=pruefungstyp_kurzbz;
document.getElementById('student-abschlusspruefung-textbox-anmerkung').value=anmerkung;
document.getElementById('student-abschlusspruefung-textbox-abschlusspruefung_id').value=abschlusspruefung_id;
document.getElementById('student-abschlusspruefung-checkbox-neu').checked=false;
StudentAbschlusspruefungTypChange();
}
// ****
// * Speichert die Abschlusspruefung Daten
// ****
function StudentAbschlusspruefungSpeichern()
{
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
//der Value einer Editable Menulist muss mittels dieser Funktion geholt werden
//da sonst der Text der Menulist geliefert wird und nicht der dahinterliegene Wert
vorsitz = MenulistGetSelectedValue('student-abschlusspruefung-menulist-vorsitz');
pruefer1 = MenulistGetSelectedValue('student-abschlusspruefung-menulist-pruefer1');
pruefer2 = MenulistGetSelectedValue('student-abschlusspruefung-menulist-pruefer2');
pruefer3 = MenulistGetSelectedValue('student-abschlusspruefung-menulist-pruefer3');
abschlussbeurteilung_kurzbz = document.getElementById('student-abschlusspruefung-menulist-abschlussbeurteilung').value;
notekommpruef = document.getElementById('student-abschlusspruefung-menulist-notekommpruef').value;
akadgrad_id = document.getElementById('student-abschlusspruefung-menulist-akadgrad').value;
datum = document.getElementById('student-abschlusspruefung-datum-datum').value;
sponsion = document.getElementById('student-abschlusspruefung-datum-sponsion').value;
pruefungstyp_kurzbz = document.getElementById('student-abschlusspruefung-menulist-typ').value;
anmerkung = document.getElementById('student-abschlusspruefung-textbox-anmerkung').value;
abschlusspruefung_id = document.getElementById('student-abschlusspruefung-textbox-abschlusspruefung_id').value;
neu = document.getElementById('student-abschlusspruefung-checkbox-neu').checked;
studiengang_kz = document.getElementById('student-prestudent-menulist-studiengang_kz').value;
var tree = document.getElementById('student-tree');
if (tree.currentIndex==-1)
{
alert('Student muss ausgewaehlt sein');
return;
}
if(pruefungstyp_kurzbz=='')
{
alert('Bitte den Pruefungstyp auswaehlen');
return false;
}
if(akadgrad_id=='')
{
alert('Akademischer Grad muss angegeben werden');
return false;
}
var student_uid = getTreeCellText(tree, "student-treecol-uid", tree.currentIndex);
//Datum pruefen
if(datum!='' && !CheckDatum(datum))
{
alert('Datum ist ungueltig');
return false;
}
if(sponsion!='' && !CheckDatum(sponsion))
{
alert('Sponsionsdatum ist ungueltig');
return false;
}
var url = '<?php echo APP_ROOT ?>content/student/studentDBDML.php';
var req = new phpRequest(url,'','');
req.add('type', 'saveabschlusspruefung');
req.add('student_uid', student_uid);
req.add('vorsitz', vorsitz);
req.add('pruefer1', pruefer1);
req.add('pruefer2', pruefer2);
req.add('pruefer3', pruefer3);
req.add('abschlussbeurteilung_kurzbz', abschlussbeurteilung_kurzbz);
req.add('notekommpruef', notekommpruef);
req.add('akadgrad_id', akadgrad_id);
req.add('datum', ConvertDateToISO(datum));
req.add('sponsion', ConvertDateToISO(sponsion));
req.add('pruefungstyp_kurzbz', pruefungstyp_kurzbz);
req.add('anmerkung', anmerkung);
req.add('abschlusspruefung_id', abschlusspruefung_id);
req.add('neu', neu);
req.add('studiengang_kz', studiengang_kz);
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
{
StudentAbschlusspruefungSelectID=val.dbdml_data;
StudentAbschlusspruefungTreeDatasource.Refresh(false); //non blocking
SetStatusBarText('Daten wurden gespeichert');
StudentAbschlusspruefungDetailDisableFields(true);
}
}
// ****
// * Aktiviert die Detailfelder zum Neuanlegen einer Abschlusspruefung
// ****
function StudentAbschlusspruefungNeu()
{
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
document.getElementById('student-abschlusspruefung-checkbox-neu').checked=true;
document.getElementById('student-abschlusspruefung-textbox-abschlusspruefung_id').value='';
StudentAbschlusspruefungResetFields();
StudentAbschlusspruefungDetailDisableFields(false);
var stg_kz = studiengang_kz = document.getElementById('student-detail-menulist-studiengang_kz').value;
//Akadgrad DropDown laden
var AkadgradDropDown = document.getElementById('student-abschlusspruefung-menulist-akadgrad');
url='<?php echo APP_ROOT;?>rdf/akadgrad.rdf.php?studiengang_kz='+stg_kz+"&"+gettimestamp();
//Alte Observer entfernen
try
{
StudentAbschlusspruefungAkadgradDDDatasource.removeXMLSinkObserver(StudentAbschlusspruefungAkadgradDDSinkObserver);
AkadgradDropDown.builder.removeListener(StudentAbschlusspruefungAkadgradDDListener);
}
catch(e)
{}
//Alte DS entfernen
var oldDatasources = AkadgradDropDown.database.GetDataSources();
while(oldDatasources.hasMoreElements())
{
AkadgradDropDown.database.RemoveDataSource(oldDatasources.getNext());
}
//Refresh damit die entfernten DS auch wirklich entfernt werden
AkadgradDropDown.builder.rebuild();
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService);
StudentAbschlusspruefungAkadgradDDDatasource = rdfService.GetDataSourceBlocking(url);
StudentAbschlusspruefungAkadgradDDDatasource.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource);
StudentAbschlusspruefungAkadgradDDDatasource.QueryInterface(Components.interfaces.nsIRDFXMLSink);
StudentAbschlusspruefungAkadgradDDDatasource.addXMLSinkObserver(StudentAbschlusspruefungAkadgradDDSinkObserver);
AkadgradDropDown.builder.addListener(StudentAbschlusspruefungAkadgradDDListener);
AkadgradDropDown.database.AddDataSource(StudentAbschlusspruefungAkadgradDDDatasource);
AkadgradDropDown.builder.rebuild();
}
// ****
// * Loescht den markierten Eintrag
// ****
function StudentAbschlusspruefungLoeschen()
{
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
var tree = document.getElementById('student-abschlusspruefung-tree');
if (tree.currentIndex==-1)
{
alert('Bitte zuerst einen Eintrag markieren');
return false;
}
studiengang_kz = document.getElementById('student-prestudent-menulist-studiengang_kz').value;
//Ausgewaehlte ID holen
var abschlusspruefung_id = getTreeCellText(tree, "student-abschlusspruefung-treecol-abschlusspruefung_id", tree.currentIndex);
var url = '<?php echo APP_ROOT ?>content/student/studentDBDML.php';
var req = new phpRequest(url,'','');
req.add('type', 'deleteabschlusspruefung');
req.add('abschlusspruefung_id', abschlusspruefung_id);
req.add('studiengang_kz', studiengang_kz);
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
{
StudentAbschlusspruefungSelectID=null;
StudentAbschlusspruefungTreeDatasource.Refresh(false); //non blocking
SetStatusBarText('Daten wurden geloescht');
StudentAbschlusspruefungDetailDisableFields(true);
}
}
// ***** AUSDRUCKE ***** //
// ****
// * Druckt das Pruefungsprotokoll fuer mehrere Studenten auf einmal aus.
// * wenn mehrere Abschlusspruefungen angelegt sind, dann wird fuer jede Abschlusspruefung
// * ein Protokoll gedruckt.
// * Den Typ (Bakk/Dipl) des Protokolls bestimmt der zuletzt markierte.
// ****
function StudentAbschlusspruefungPrintPruefungsprotokollMultiple()
{
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
var tree = document.getElementById('student-abschlusspruefung-tree');
//Typ der ersten Abschlusspruefung des zuletzt markierten Studenten (der von dem die Daten geladen wurden) holen
//ToDo: Wenn zuerst alle Studenten markiert werden und dann diejenigen abmarkiert werden die nicht gedruckt werden sollen,
//dann funktioniert diese Methode nicht da die Daten desjenigen geladen sind der abmarkiert wurde und dieser moeglicherweise
//keine Abschlusspruefung eingetragen hat
try
{
var pruefungstyp_kurzbz = getTreeCellText(tree, "student-abschlusspruefung-treecol-pruefungstyp_kurzbz", 0);
}
catch(e)
{
alert('Der zuletzt markierte Student hat keine Abschlusspruefungen');
return false;
}
if(pruefungstyp_kurzbz=='')
{
alert('Der zuletzt markierte Student hat keine Abschlusspruefungen');
return false;
}
if(pruefungstyp_kurzbz=='Bachelor')
xsl='PrProtokollBakk';
else
xsl='PrProtokollDipl';
var tree = document.getElementById('student-tree');
if (tree.currentIndex==-1)
return;
//Uids aller markierten Studenten holen
var start = new Object();
var end = new Object();
var numRanges = tree.view.selection.getRangeCount();
var paramList= '';
var anzahl=0;
var uids='';
for (var t = 0; t < numRanges; t++)
{
tree.view.selection.getRangeAt(t,start,end);
for (var v = start.value; v <= end.value; v++)
{
uid = ';'+getTreeCellText(tree,"student-treecol-uid", v);
uids = uids + uid;
anzahl++;
}
}
var stg_kz = document.getElementById('student-detail-menulist-studiengang_kz').value;
window.open('<?php echo APP_ROOT; ?>/content/pdfExport.php?xml=abschlusspruefung.rdf.php&xsl='+xsl+'&uid='+uids+'&xsl_stg_kz='+stg_kz,'Pruefungsprotokoll', 'height=200,width=350,left=0,top=0,hotkeys=0,resizable=yes,status=no,scrollbars=yes,toolbar=no,location=no,menubar=no,dependent=yes');
}
// ****
// * Druckt das Pruefungsprotokoll fuer eine bestimmte Abschlusspruefung
// ****
function StudentAbschlusspruefungPrintPruefungsprotokoll()
{
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
var tree = document.getElementById('student-abschlusspruefung-tree');
if (tree.currentIndex==-1)
{
alert('Bitte zuerst einen Eintrag markieren');
return false;
}
//Ausgewaehlte Nr holen
var abschlusspruefung_id = getTreeCellText(tree,"student-abschlusspruefung-treecol-abschlusspruefung_id", tree.currentIndex);
var pruefungstyp_kurzbz = getTreeCellText(tree,"student-abschlusspruefung-treecol-pruefungstyp_kurzbz", tree.currentIndex);
var stg_kz = document.getElementById('student-detail-menulist-studiengang_kz').value;
if(pruefungstyp_kurzbz=='Bachelor')
xsl='PrProtokollBakk';
else
xsl='PrProtokollDipl';
window.open('<?php echo APP_ROOT; ?>/content/pdfExport.php?xml=abschlusspruefung.rdf.php&xsl='+xsl+'&abschlusspruefung_id='+abschlusspruefung_id+'&xsl_stg_kz='+stg_kz,'Pruefungsprotokoll', 'height=200,width=350,left=0,top=0,hotkeys=0,resizable=yes,status=no,scrollbars=yes,toolbar=no,location=no,menubar=no,dependent=yes');
}
// ****
// * Druckt das Pruefungszeugnis fuer mehrere Studenten auf einmal aus.
// * wenn mehrere Abschlusspruefungen angelegt sind, dann wird fuer jede Abschlusspruefung
// * ein Zeugnis gedruckt.
// * Den Typ (Bakk/Dipl) des Zeugnisses bestimmt der zuletzt markierte.
// ****
function StudentAbschlusspruefungPrintPruefungszeugnisMultiple()
{
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
var tree = document.getElementById('student-abschlusspruefung-tree');
//Typ der ersten Abschlusspruefung des zuletzt markierten Studenten (der von dem die Daten geladen wurden) holen
try
{
var pruefungstyp_kurzbz = getTreeCellText(tree,"student-abschlusspruefung-treecol-pruefungstyp_kurzbz", 0);
}
catch(e)
{
alert('Der zuletzt markierte Student hat keine Abschlusspruefungen');
return false;
}
if(pruefungstyp_kurzbz=='')
{
alert('Der zuletzt markierte Student hat keine Abschlusspruefungen');
return false;
}
if(pruefungstyp_kurzbz=='Bachelor')
xsl='Bakkzeugnis';
else
xsl='Diplomzeugnis';
var tree = document.getElementById('student-tree');
if (tree.currentIndex==-1)
return;
//Uids aller markierten Studenten holen
var start = new Object();
var end = new Object();
var numRanges = tree.view.selection.getRangeCount();
var paramList= '';
var anzahl=0;
var uids='';
var stg_kz='';
for (var t = 0; t < numRanges; t++)
{
tree.view.selection.getRangeAt(t,start,end);
for (var v = start.value; v <= end.value; v++)
{
uid = ';'+getTreeCellText(tree,"student-treecol-uid", v);
stg_kz = getTreeCellText(tree,"student-treecol-studiengang_kz", v);
uids = uids + uid;
anzahl++;
}
}
window.open('<?php echo APP_ROOT; ?>/content/pdfExport.php?xml=abschlusspruefung.rdf.php&xsl='+xsl+'&uid='+uids+'&xsl_stg_kz='+stg_kz,'Pruefungsprotokoll', 'height=200,width=350,left=0,top=0,hotkeys=0,resizable=yes,status=no,scrollbars=yes,toolbar=no,location=no,menubar=no,dependent=yes');
}
// ****
// * Pruefungszeugnis fuer eine bestimmte Abschlusspruefung drucken
// ****
function StudentAbschlusspruefungPrintPruefungszeugnis()
{
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
var tree = document.getElementById('student-abschlusspruefung-tree');
if (tree.currentIndex==-1)
{
alert('Bitte zuerst einen Eintrag markieren');
return false;
}
//Ausgewaehlte Nr holen
var abschlusspruefung_id = getTreeCellText(tree,"student-abschlusspruefung-treecol-abschlusspruefung_id", tree.currentIndex);
var pruefungstyp_kurzbz = getTreeCellText(tree,"student-abschlusspruefung-treecol-pruefungstyp_kurzbz", tree.currentIndex);
if(pruefungstyp_kurzbz=='Bachelor')
xsl='Bakkzeugnis';
else
xsl='Diplomzeugnis';
window.open('<?php echo APP_ROOT; ?>/content/pdfExport.php?xml=abschlusspruefung.rdf.php&xsl='+xsl+'&abschlusspruefung_id='+abschlusspruefung_id,'PruefungsZeugnis', 'height=200,width=350,left=0,top=0,hotkeys=0,resizable=yes,status=no,scrollbars=yes,toolbar=no,location=no,menubar=no,dependent=yes');
}
// ****
// * Druckt die Urkunde fuer eine Abschlusspruefung fuer mehrere Studenten auf einmal aus.
// * wenn mehrere Abschlusspruefungen angelegt sind, dann wird fuer jede Abschlusspruefung
// * eine Urkunde gedruckt.
// * Den Typ (Bakk/Dipl) der Urkunde bestimmt der zuletzt markierte Student.
// ****
function StudentAbschlusspruefungPrintUrkundeMultiple(sprache)
{
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
var tree = document.getElementById('student-abschlusspruefung-tree');
//Typ der ersten Abschlusspruefung des zuletzt markierten Studenten (der von dem die Daten geladen wurden) holen
try
{
var pruefungstyp_kurzbz = getTreeCellText(tree,"student-abschlusspruefung-treecol-pruefungstyp_kurzbz", 0);
}
catch(e)
{
alert('Der zuletzt markierte Student hat keine Abschlusspruefungen');
return false;
}
if(pruefungstyp_kurzbz=='')
{
alert('Der zuletzt markierte Student hat keine Abschlusspruefungen');
return false;
}
if(pruefungstyp_kurzbz=='Bachelor' && sprache=='deutsch')
xsl='Bakkurkunde';
else if(pruefungstyp_kurzbz=='Bachelor' && sprache=='englisch')
xsl='BakkurkundeEng';
else if(pruefungstyp_kurzbz=='Diplom' && sprache=='deutsch')
xsl='Diplomurkunde';
else if(pruefungstyp_kurzbz=='Diplom' && sprache=='englisch')
xsl='DiplomurkundeEng';
var tree = document.getElementById('student-tree');
if (tree.currentIndex==-1)
return;
//Uids aller markierten Studenten holen
var start = new Object();
var end = new Object();
var numRanges = tree.view.selection.getRangeCount();
var paramList= '';
var anzahl=0;
var uids='';
var stg_kz=0;
for (var t = 0; t < numRanges; t++)
{
tree.view.selection.getRangeAt(t,start,end);
for (var v = start.value; v <= end.value; v++)
{
uid = ';'+getTreeCellText(tree,"student-treecol-uid", v);
uids = uids + uid;
stg_kz=getTreeCellText(tree,"student-treecol-studiengang_kz", v);
anzahl++;
}
}
window.open('<?php echo APP_ROOT; ?>/content/pdfExport.php?xml=abschlusspruefung.rdf.php&xsl_stg_kz='+stg_kz+'&xsl='+xsl+'&uid='+uids,'Pruefungsprotokoll', 'height=200,width=350,left=0,top=0,hotkeys=0,resizable=yes,status=no,scrollbars=yes,toolbar=no,location=no,menubar=no,dependent=yes');
}
// ****
// * Druckt eine Urkunde zu der ausgewaehlten Abschlusspruefung
// * die Sprache der Urkunde wird als Parameter uebergeben
// ****
function StudentAbschlusspruefungPrintUrkunde(sprache)
{
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
var tree = document.getElementById('student-abschlusspruefung-tree');
if (tree.currentIndex==-1)
{
alert('Bitte zuerst einen Eintrag markieren');
return false;
}
//Ausgewaehlte Nr holen
var abschlusspruefung_id = getTreeCellText(tree,"student-abschlusspruefung-treecol-abschlusspruefung_id", tree.currentIndex);
var pruefungstyp_kurzbz = getTreeCellText(tree,"student-abschlusspruefung-treecol-pruefungstyp_kurzbz", tree.currentIndex);
var uid = getTreeCellText(tree,"student-abschlusspruefung-treecol-student_uid", tree.currentIndex);
if(pruefungstyp_kurzbz=='Bachelor' && sprache=='deutsch')
xsl='Bakkurkunde';
else if(pruefungstyp_kurzbz=='Bachelor' && sprache=='englisch')
xsl='BakkurkundeEng';
else if(pruefungstyp_kurzbz=='Diplom' && sprache=='deutsch')
xsl='Diplomurkunde';
else if(pruefungstyp_kurzbz=='Diplom' && sprache=='englisch')
xsl='DiplomurkundeEng';
window.open('<?php echo APP_ROOT; ?>/content/pdfExport.php?xml=abschlusspruefung.rdf.php&xsl='+xsl+'&uid=;'+uid+'&abschlusspruefung_id='+abschlusspruefung_id,'Pruefungsprotokoll', 'height=200,width=350,left=0,top=0,hotkeys=0,resizable=yes,status=no,scrollbars=yes,toolbar=no,location=no,menubar=no,dependent=yes');
}
function StudentAbschlusspruefungTypChange()
{
if(document.getElementById('student-abschlusspruefung-menulist-typ').value=='Bachelor')
{
document.getElementById('student-abschlusspruefung-label-pruefer1').value='Pruefer 1';
document.getElementById('student-abschlusspruefung-label-pruefer2').value='Pruefer 2';
document.getElementById('student-abschlusspruefung-menulist-pruefer3').hidden=false;
document.getElementById('student-abschlusspruefung-label-pruefer3').hidden=false;
}
else
{
document.getElementById('student-abschlusspruefung-label-pruefer1').value='Pruefer 1 (Diplomarbeit)';
document.getElementById('student-abschlusspruefung-label-pruefer2').value='Pruefer 2';
document.getElementById('student-abschlusspruefung-menulist-pruefer3').hidden=true;
document.getElementById('student-abschlusspruefung-label-pruefer3').hidden=true;
}
}