From ece690a0d5f7b0cfada15e34f80efb8b73db0250 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20=C3=96sterreicher?= Date: Wed, 11 Jul 2007 09:43:14 +0000 Subject: [PATCH] --- admin/xslvorlagen/bachelorurkunde.xsl | 144 ++ admin/xslvorlagen/diplomurkunde.xsl | 144 ++ content/fas.xul.php | 7 + content/fasoverlay.js.php | 40 +- content/fasoverlay.xul.php | 4 +- .../interessentdokumenteoverlay.js.php | 348 +++++ .../interessentdokumenteoverlay.xul.php | 2 + content/student/interessentenoverlay.xul.php | 5 +- content/student/interessentoverlay.js.php | 1380 +---------------- content/student/studentDBDML.php | 2 +- .../student/studentabschlusspruefung.js.php | 101 +- .../studentabschlusspruefungoverlay.xul.php | 20 +- content/student/studentdetailoverlay.xul.php | 12 +- content/student/studentenoverlay.xul.php | 40 +- content/student/studentkontoneudialog.js.php | 13 +- content/student/studentoverlay.js.php | 683 +++++--- content/student/studentprojektarbeit.js.php | 14 +- content/tempus.js.php | 2 +- include/lvgesamtnote.class.php | 4 +- include/student.class.php | 6 +- locale/de-AT/fas.dtd | 4 + rdf/student.rdf.php | 299 +++- 22 files changed, 1517 insertions(+), 1757 deletions(-) create mode 100644 admin/xslvorlagen/bachelorurkunde.xsl create mode 100644 admin/xslvorlagen/diplomurkunde.xsl create mode 100644 content/student/interessentdokumenteoverlay.js.php diff --git a/admin/xslvorlagen/bachelorurkunde.xsl b/admin/xslvorlagen/bachelorurkunde.xsl new file mode 100644 index 000000000..54aa2af70 --- /dev/null +++ b/admin/xslvorlagen/bachelorurkunde.xsl @@ -0,0 +1,144 @@ + + + + + + + + + + + + + + + + + + + + + + + + + BACHELOR-URKUNDE + + + + + + Das Fachhochschulkollegium verleiht + + + + + + + + + + + + +geboren am in , , +\nStaatsbürgerschaft , +\ndie/der den Fachhochschul-Bachelorstudiengang, +\nStudiengangskennzahl , + + + + + + + + "" + + + + + + an der "Fachhochschule Technikum Wien" + \ndurch Ablegung der Bachelorprüfung am + \nordnungsgemäß abgeschlossen hat, + + + + + + + + gemäß § 5 Abs. 1 des Bundesgesetzes + \nüber Fachhochschul-Studiengänge (Fachhochschul-Studiengesetz - FHStG), + \nBGBl.Nr. 340/1993, idgF, + \nden mit Bescheid des Fachhochschulrates vom 31.08.2006, + \ngemäß § 5 Abs. 2 FHStG festgesetzten + + + + + + + + akademischen Grad + + + + + + + + + Bachelor of Science in Engineering + + + + + + + + + + abgekürzt + + + + + + + BSc + + + + + + + Wien, + + + + + + + Für das Fachhochschulkollegium: + \nDer Rektor + + + + + + + + FH-Prof. Dipl.-Ing. Dr. Fritz Schmöllebeck + + + + + + + + + + + + \ No newline at end of file diff --git a/admin/xslvorlagen/diplomurkunde.xsl b/admin/xslvorlagen/diplomurkunde.xsl new file mode 100644 index 000000000..eb475a63b --- /dev/null +++ b/admin/xslvorlagen/diplomurkunde.xsl @@ -0,0 +1,144 @@ + + + + + + + + + + + + + + + + + + + + + + + + + DIPLOMURKUNDE + + + + + + Das Fachhochschulkollegium verleiht + + + + + + + + + + + + +geboren am in , , +\nStaatsbürgerschaft , +\ndie/der den Fachhochschul-Diplomstudiengang, +\nStudiengangskennzahl , + + + + + + + + "" + + + + + + an der "Fachhochschule Technikum Wien" + \ndurch Ablegung der Diplomprüfung am + \nordnungsgemäß abgeschlossen hat, + + + + + + + + gemäß § 5 Abs. 1 des Bundesgesetzes + \nüber Fachhochschul-Studiengänge (Fachhochschul-Studiengesetz - FHStG), + \nBGBl.Nr. 340/1993, idgF, + \nden mit Bescheid des Fachhochschulrates vom 31.08.2006, + \ngemäß § 5 Abs. 2 FHStG festgesetzten + + + + + + + + akademischen Grad + + + + + + + + + Diplomingenieur (FH) für technisch-wissenschaftliche Berufe + + + + + + + + + + abgekürzt + + + + + + + Dipl.-Ing. (FH) + + + + + + + Wien, + + + + + + + Für das Fachhochschulkollegium: + \nDer Rektor + + + + + + + + FH-Prof. Dipl.-Ing. Dr. Fritz Schmöllebeck + + + + + + + + + + + + \ No newline at end of file diff --git a/content/fas.xul.php b/content/fas.xul.php index 28bff6343..ac25aec26 100644 --- a/content/fas.xul.php +++ b/content/fas.xul.php @@ -81,6 +81,7 @@ echo ''; + @@ -200,6 +201,12 @@ echo ''; label = "&menu-dokumente-inskriptionsbestaetigung.label;" command = "menu-dokumente-inskriptionsbestaetigung:command" accesskey = "&menu-dokumente-inskriptionsbestaetigung.accesskey;"/> + diff --git a/content/fasoverlay.js.php b/content/fasoverlay.js.php index d412e3749..350b25929 100644 --- a/content/fasoverlay.js.php +++ b/content/fasoverlay.js.php @@ -244,7 +244,8 @@ function onVerbandSelect(event) // -------------- Studenten -------------------------- try { - url = "rdf/student.rdf.php?"+"stg_kz="+stg_kz+"&sem="+sem+"&ver="+ver+"&grp="+grp+"&gruppe="+gruppe+"&stsem=true&"+gettimestamp(); + stsem = getStudiensemester(); + url = "rdf/student.rdf.php?studiengang_kz="+stg_kz+"&semester="+sem+"&verband="+ver+"&gruppe="+grp+"&gruppe_kurzbz="+gruppe+"&studiensemester_kurzbz="+stsem+"&typ=student&"+gettimestamp(); var treeStudent=document.getElementById('student-tree'); //Alte DS entfernen @@ -326,15 +327,15 @@ function onVerbandSelect(event) if(typ!='') { // Interessenten Tab markieren - document.getElementById('main-content-tabs').selectedItem=document.getElementById('tab-interessenten'); + //document.getElementById('main-content-tabs').selectedItem=document.getElementById('tab-interessenten'); // -------------- Interessenten / Bewerber -------------------------- try { if(stsem=='' && typ=='') stsem='aktuelles'; - url = "rdf/interessentenbewerber.rdf.php?"+"studiengang_kz="+stg_kz+"&semester="+sem+"&typ="+typ+"&studiensemester_kurzbz="+stsem+"&"+gettimestamp(); - var treeInt=document.getElementById('interessent-tree'); + url = "rdf/student.rdf.php?"+"studiengang_kz="+stg_kz+"&semester="+sem+"&typ="+typ+"&studiensemester_kurzbz="+stsem+"&"+gettimestamp(); + var treeInt=document.getElementById('student-tree'); //Alte DS entfernen var oldDatasources = treeInt.database.GetDataSources(); @@ -345,22 +346,31 @@ function onVerbandSelect(event) try { - InteressentTreeDatasource.removeXMLSinkObserver(InteressentTreeSinkObserver); - treeInt.builder.removeListener(InteressentTreeListener); + StudentTreeDatasource.removeXMLSinkObserver(StudentTreeSinkObserver); + treeInt.builder.removeListener(StudentTreeListener); } catch(e) {} var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService); - InteressentTreeDatasource = rdfService.GetDataSource(url); - InteressentTreeDatasource.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource); - InteressentTreeDatasource.QueryInterface(Components.interfaces.nsIRDFXMLSink); - treeInt.database.AddDataSource(InteressentTreeDatasource); - InteressentTreeDatasource.addXMLSinkObserver(InteressentTreeSinkObserver); - treeInt.builder.addListener(InteressentTreeListener); - InteressentDetailReset(); - InteressentDetailDisableFields(true); - InteressentPrestudentDisableFields(true); + StudentTreeDatasource = rdfService.GetDataSource(url); + StudentTreeDatasource.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource); + StudentTreeDatasource.QueryInterface(Components.interfaces.nsIRDFXMLSink); + treeInt.database.AddDataSource(StudentTreeDatasource); + StudentTreeDatasource.addXMLSinkObserver(StudentTreeSinkObserver); + treeInt.builder.addListener(StudentTreeListener); + + //Detailfelder Deaktivieren + StudentDetailReset(); + StudentDetailDisableFields(true); + StudentPrestudentDisableFields(true); + StudentKontoDisableFields(true); + StudentAkteDisableFields(true); + StudentBetriebsmittelDisableFields(true); + StudentIODisableFields(true); + StudentNoteDisableFields(true); + document.getElementById('student-kontakt').setAttribute('src',''); + StudentAbschlusspruefungDisableFields(true); } catch(e) { diff --git a/content/fasoverlay.xul.php b/content/fasoverlay.xul.php index b16aa96c7..9a00b9bb7 100644 --- a/content/fasoverlay.xul.php +++ b/content/fasoverlay.xul.php @@ -275,7 +275,7 @@ echo '';*/ isBerechtigt('admin') || $rechte->isBerechtigt('lva-verwaltung')) { - echo ''; + //echo ''; echo ''; echo ''; } @@ -291,7 +291,7 @@ echo '';*/ { echo ' - + diff --git a/content/student/interessentdokumenteoverlay.js.php b/content/student/interessentdokumenteoverlay.js.php new file mode 100644 index 000000000..9b0841a3d --- /dev/null +++ b/content/student/interessentdokumenteoverlay.js.php @@ -0,0 +1,348 @@ +, + * Andreas Oesterreicher and + * Rudolf Hangl . + */ + +require_once('../../vilesci/config.inc.php'); +require_once('../../include/functions.inc.php'); + +$conn = pg_pconnect(CONN_STRING); + +$user = get_uid(); +loadVariables($conn, $user); +?> +// *********** Globale Variablen *****************// +var InteressentDokumentTreeNichtabgegebenDatasource=null; //Datasource fuer Dokumenten tree +var InteressentDokumentTreeNichtabgegebenSelectID=null; //dokument_kurzbz des zu markierenden Datensatzes +var InteressentDokumentTreeAbgegebenDatasource=null; //Datasource fuer Dokumenten tree +var InteressentDokumentTreeAbgegebenSelectID=null; //dokument_kurzbz des zu markierenden Datensatzes +var InteressentDokumentTreeAbgegebenDoubleRefresh=false; // Wenn true, dann wird der rechte Dokumententree das naechste mal 2 mal hintereinander Refresht +var InteressentDokumentTreeNichtabgegebenDoubleRefresh=false; // Wenn true, dann wird der linke Dokumententree das naechste mal 2 mal hintereinander Refresht +// ********** Observer und Listener ************* // + + +// **** +// * Observer fuer linken Dokumententree +// * startet Rebuild nachdem das Refresh +// * der datasource fertig ist +// **** +var InteressentDokumentTreeNichtabgegebenSinkObserver = +{ + onBeginLoad : function(pSink) {}, + onInterrupt : function(pSink) {}, + onResume : function(pSink) {}, + onError : function(pSink, pStatus, pError) {}, + onEndLoad : function(pSink) + { + netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"); + document.getElementById('interessent-dokumente-tree-nichtabgegeben').builder.rebuild(); + } +}; + + +// **** +// * Nach dem Rebuild des Linken Dokumenten Trees +// * Wenn die Variable InteressentDokumentTreeNichtabgegebenDoubleRefresh auf 'true' gesetzt wird, dann +// * wird der Tree ein zweites mal Refresht. Dies wird benoetigt falls zuvor im Tree eine Datasource geladen +// * wurde die keine Daten enthaelt. Die Daten werden erst angezeigt wenn der Tree ein zweites mal refresht wird. +// **** +var InteressentDokumentTreeNichtabgegebenListener = +{ + willRebuild : function(builder) { }, + didRebuild : function(builder) + { + if(InteressentDokumentTreeNichtabgegebenDoubleRefresh==true) + { + window.setTimeout('InteressentDokumentTreeNichtabgegebenDatasourceRefresh()',10); + } + InteressentDokumentTreeNichtabgegebenDoubleRefresh=false; + } +}; + +// **** +// * Observer fuer rechten Dokumententree +// * startet Rebuild nachdem das Refresh +// * der datasource fertig ist +// **** +var InteressentDokumentTreeAbgegebenSinkObserver = +{ + onBeginLoad : function(pSink) {}, + onInterrupt : function(pSink) {}, + onResume : function(pSink) {}, + onError : function(pSink, pStatus, pError) {}, + onEndLoad : function(pSink) + { + netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"); + document.getElementById('interessent-dokumente-tree-abgegeben').builder.rebuild(); + } +}; + +// **** +// * Nach dem Rebuild des rechten Dokumenten Trees +// * Wenn die Variable InteressentDokumentTreeAbgegebenDoubleRefresh auf 'true' gesetzt wird, dann +// * wird der Tree ein zweites mal Refresht. Dies wird benoetigt falls zuvor im Tree eine Datasource geladen +// * wurde die keine Daten enthaelt. Die Daten werden erst angezeigt wenn der Tree ein zweites mal refresht wird. +// **** +var InteressentDokumentTreeAbgegebenListener = +{ + willRebuild : function(builder) { }, + didRebuild : function(builder) + { + if(InteressentDokumentTreeAbgegebenDoubleRefresh==true) + { + window.setTimeout('InteressentDokumentTreeAbgegebenDatasourceRefresh()',10); + } + InteressentDokumentTreeAbgegebenDoubleRefresh=false; + } +}; + +// ****************** FUNKTIONEN ************************** // + +// **** +// * Weisst dem Prestudenten Dokumente zu die er bereits abgegeben hat +// **** +function InteressentDokumenteAdd() +{ + netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"); + //Alle markierten Dokumente holen + tree = document.getElementById('interessent-dokumente-tree-nichtabgegeben'); + paramList=''; + var start = new Object(); + var end = new Object(); + var numRanges = tree.view.selection.getRangeCount(); + + for (var t = 0; t < numRanges; t++) + { + tree.view.selection.getRangeAt(t,start,end); + for (var v = start.value; v <= end.value; v++) + { + col = tree.columns ? tree.columns["interessent-dokumente-tree-nichtabgegeben-dokument_kurzbz"] : "interessent-dokumente-tree-nichtabgegeben-dokument_kurzbz"; + dok = tree.view.getCellText(v,col); + paramList += ';'+dok; + } + } + + //Prestudent_id holen + prestudent_id = document.getElementById('student-prestudent-textbox-prestudent_id').value + + if(paramList!='') + { + var url = 'content/student/studentDBDML.php'; + var req = new phpRequest(url,'',''); + + req.add('type', 'dokumentprestudentadd'); + + req.add('prestudent_id', prestudent_id); + req.add('dokumente', paramList); + + 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 + { + // Wenn im Tree mit den abgegebenen Dokumenten kein Eintrag vorhanden ist, + // dann muss der Tree zwei mal hintereinander Refresht werden weil sonst der neue Eintrag + // nicht angezeigt wird. + if(document.getElementById('interessent-dokumente-tree-abgegeben').view.rowCount==0) + { + InteressentDokumentTreeAbgegebenDoubleRefresh=true; + } + InteressentDokumentTreeNichtabgegebenDatasource.Refresh(false); + InteressentDokumentTreeAbgegebenDatasource.Refresh(false); + SetStatusBarText('Dokumente wurden hinzugefuegt'); + } + } + else + { + alert('Bitte zuerst ein Dokument markieren'); + } +} + +// ***** +// * Loescht die Zuordnung Dokument-Prestudent +// ***** +function InteressentDokumenteRemove() +{ + netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"); + //Alle markierten Dokumente holen + tree = document.getElementById('interessent-dokumente-tree-abgegeben'); + paramList=''; + var start = new Object(); + var end = new Object(); + var numRanges = tree.view.selection.getRangeCount(); + + for (var t = 0; t < numRanges; t++) + { + tree.view.selection.getRangeAt(t,start,end); + for (var v = start.value; v <= end.value; v++) + { + col = tree.columns ? tree.columns["interessent-dokumente-tree-abgegeben-dokument_kurzbz"] : "interessent-dokumente-tree-abgegeben-dokument_kurzbz"; + dok = tree.view.getCellText(v,col); + paramList += ';'+dok; + } + } + + //Prestudent_id holen + prestudent_id = document.getElementById('student-prestudent-textbox-prestudent_id').value + + if(paramList!='') + { + var url = 'content/student/studentDBDML.php'; + var req = new phpRequest(url,'',''); + + req.add('type', 'dokumentprestudentdel'); + + req.add('prestudent_id', prestudent_id); + req.add('dokumente', paramList); + + 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 + { + // Wenn im Tree mit den noch nicht abgegebenen Dokumenten kein Eintrag vorhanden ist, + // dann muss der Tree zwei mal hintereinander Refresht werden weil sonst der neue Eintrag + // nicht angezeigt wird. + if(document.getElementById('interessent-dokumente-tree-nichtabgegeben').view.rowCount==0) + { + InteressentDokumentTreeNichtabgegebenDoubleRefresh=true; + } + InteressentDokumentTreeNichtabgegebenDatasource.Refresh(false); + InteressentDokumentTreeAbgegebenDatasource.Refresh(false); + SetStatusBarText('Dokumente wurden entfernt'); + } + } + else + { + alert('Bitte zuerst ein Dokument markieren'); + } +} + +// **** +// * Refresht den Tree mit den Abgegeben Dokumenten +// **** +function InteressentDokumentTreeAbgegebenDatasourceRefresh() +{ + netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"); + InteressentDokumentTreeAbgegebenDatasource.Refresh(false); +} + +// **** +// * Refresht den Tree mit den noch nicht Abgegebenen Dokumenten +// **** +function InteressentDokumentTreeNichtabgegebenDatasourceRefresh() +{ + netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"); + InteressentDokumentTreeNichtabgegebenDatasource.Refresh(false); +} + +function InteressentDokumentAbgegebenTreeSelect() +{ + var tree=document.getElementById('interessent-dokumente-tree-abgegeben'); + var items = tree.view.rowCount; //Anzahl der Zeilen ermitteln + + //In der globalen Variable ist der zu selektierende DS gespeichert + if(InteressentDokumentTreeAbgegebenSelectID!=null) + { + for(var i=0;i=0) + i = tree.currentIndex; + else + i = 0; + col = tree.columns ? tree.columns["interessent-dokumente-tree-abgegeben-dokument_kurzbz"] : "interessent-dokumente-tree-abgegeben-dokument_kurzbz"; + InteressentDokumentTreeAbgegebenSelectID = tree.view.getCellText(i,col); + window.setTimeout("InteressentDokumentAbgegebenTreeSelect()",10); +} + +function InteressentDokumenteNichtAbgegebenTreeSort() +{ + var i; + var tree=document.getElementById('interessent-dokumente-tree-nichtabgegeben'); + if(tree.currentIndex>=0) + i = tree.currentIndex; + else + i = 0; + col = tree.columns ? tree.columns["interessent-dokumente-tree-nichtabgegeben-dokument_kurzbz"] : "interessent-dokumente-tree-abgegeben-nichtdokument_kurzbz"; + InteressentDokumentTreeNichtAbgegebenSelectID = tree.view.getCellText(i,col); + window.setTimeout("InteressentDokumentNichtAbgegebenTreeSelect()",10); +} \ No newline at end of file diff --git a/content/student/interessentdokumenteoverlay.xul.php b/content/student/interessentdokumenteoverlay.xul.php index 2a8ef5c46..c4f33ed08 100644 --- a/content/student/interessentdokumenteoverlay.xul.php +++ b/content/student/interessentdokumenteoverlay.xul.php @@ -34,6 +34,8 @@ echo ''; xmlns:html="http://www.w3.org/1999/xhtml" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" > +