From 7cf06951c8edc1fa5d28ec60fa47e2a3db4bcabe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20=C3=96sterreicher?= Date: Fri, 22 Jun 2007 12:58:21 +0000 Subject: [PATCH] --- content/student/studentDBDML.php | 84 ++++++- content/student/studentoverlay.js.php | 216 +++++++++++++++++- .../student/studentpruefungoverlay.xul.php | 22 +- include/lehrveranstaltung.class.php | 21 -- include/mitarbeiter.class.php | 63 ++++- include/pruefung.class.php | 17 +- rdf/lehreinheit.rdf.php | 131 ++++++++--- rdf/lehrveranstaltung.rdf.php | 196 +++------------- rdf/mitarbeiter.rdf.php | 181 ++++++++------- rdf/pruefung.rdf.php | 2 +- rdf/pruefungstyp.rdf.php | 67 ++++++ 11 files changed, 666 insertions(+), 334 deletions(-) create mode 100644 rdf/pruefungstyp.rdf.php diff --git a/content/student/studentDBDML.php b/content/student/studentDBDML.php index 9b95e7a66..5ca137d7c 100644 --- a/content/student/studentDBDML.php +++ b/content/student/studentDBDML.php @@ -48,6 +48,7 @@ require_once('../../include/betriebsmittelperson.class.php'); require_once('../../include/bisio.class.php'); require_once('../../include/zeugnisnote.class.php'); require_once('../../include/lvgesamtnote.class.php'); +require_once('../../include/pruefung.class.php'); $user = get_uid(); @@ -1288,6 +1289,77 @@ if(!$error) else $return = false; } + elseif(isset($_POST['type']) && $_POST['type']=='deletepruefung') // **** PRUEFUNGEN **** // + { + //Loescht einen Pruefungs Eintrag + if(isset($_POST['pruefung_id']) && is_numeric($_POST['pruefung_id'])) + { + $pruefung = new pruefung($conn); + + if($pruefung->delete($_POST['pruefung_id'])) + { + $return = true; + } + else + { + $errormsg = $pruefung->errormsg; + $return = false; + } + } + else + { + $return = false; + $errormsg = 'Fehlerhafte Parameteruebergabe'; + } + } + elseif(isset($_POST['type']) && $_POST['type']=='savepruefung') // **** PRUEFUNGEN **** // + { + $pruefung = new pruefung($conn, null, null); + + if($_POST['neu']=='false') + { + if($pruefung->load($_POST['pruefung_id'])) + { + $pruefung->new = false; + } + else + { + $error = true; + $return = false; + $errormsg = $pruefung->errormsg; + } + } + else + { + $pruefung->new = true; + $pruefung->insertamum = date('Y-m-d H:i:s'); + $pruefung->insertvon = $user; + } + + $pruefung->lehreinheit_id = $_POST['lehreinheit_id']; + $pruefung->student_uid = $_POST['student_uid']; + $pruefung->mitarbeiter_uid = $_POST['mitarbeiter_uid']; + $pruefung->note = $_POST['note']; + $pruefung->pruefungstyp_kurzbz = $_POST['pruefungstyp_kurzbz']; + $pruefung->datum = $_POST['datum']; + $pruefung->anmerkung = $_POST['anmerkung']; + $pruefung->updateamum = date('Y-m-d H:i:s'); + $pruefung->updatevon = $user; + + if(!$error) + { + if($pruefung->save()) + { + $return = true; + $data = $pruefung->pruefung_id; + } + else + { + $return = false; + $errormsg = $pruefung->errormsg; + } + } + } else { $return = false; @@ -1295,8 +1367,7 @@ if(!$error) $data = ''; } } -?> - +echo ' - - ]]> - ]]> + '.($return?'true':'false').' + + - +'; +?> \ No newline at end of file diff --git a/content/student/studentoverlay.js.php b/content/student/studentoverlay.js.php index d60c267ab..2c38970ad 100644 --- a/content/student/studentoverlay.js.php +++ b/content/student/studentoverlay.js.php @@ -1140,17 +1140,17 @@ function StudentPrestudentSave() studiengang_kz = document.getElementById('student-prestudent-menulist-studiengang_kz').value; anmerkung = document.getElementById('student-prestudent-textbox-anmerkung').value; - if(zgvdatum!='' && !CheckDate(zgvdatum)) + if(zgvdatum!='' && !CheckDatum(zgvdatum)) { alert('ZGV Datum ist ungueltig'); return false; } - if(zgvmasterdatum!='' && !CheckDate(zgvmasterdatum)) + if(zgvmasterdatum!='' && !CheckDatum(zgvmasterdatum)) { alert('ZGVMaster Datum ist ungueltig'); return false; } - if(anmeldungreihungstest!='' && !CheckDate(anmeldungreihungstest)) + if(anmeldungreihungstest!='' && !CheckDatum(anmeldungreihungstest)) { alert('ReihungstestDatum ist ungueltig'); return false; @@ -2819,5 +2819,213 @@ function StudentPruefungLVAChange() var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService); var datasource = rdfService.GetDataSource(url); LEDropDown.database.AddDataSource(datasource); - debug('url:'+url); +} + + +// **** +// * Wenn die Lehrvernastaltung der Pruefung geaendert wird, dann wird die Liste der Lehreinheiten neu geladen +// **** +function StudentPruefungLEChange() +{ + netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"); + + var leid = document.getElementById('student-pruefung-menulist-lehreinheit').value; + + //Lehreinheiten Drop Down laden + var MADropDown = document.getElementById('student-pruefung-menulist-mitarbeiter'); + url='rdf/mitarbeiter.rdf.php?lehreinheit_id='+leid+"&"+gettimestamp(); + + //Alte DS entfernen + var oldDatasources = MADropDown.database.GetDataSources(); + while(oldDatasources.hasMoreElements()) + { + MADropDown.database.RemoveDataSource(oldDatasources.getNext()); + } + //Refresh damit die entfernten DS auch wirklich entfernt werden + MADropDown.builder.rebuild(); + + var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService); + var datasource = rdfService.GetDataSource(url); + MADropDown.database.AddDataSource(datasource); +} + +// **** +// * Speichert die Pruefung +// **** +function StudentPruefungDetailSpeichern() +{ + netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"); + + lehreinheit_id = document.getElementById('student-pruefung-menulist-lehreinheit').value; + mitarbeiter_uid = document.getElementById('student-pruefung-menulist-mitarbeiter').value; + pruefungstyp_kurzbz = document.getElementById('student-pruefung-menulist-typ').value; + note = document.getElementById('student-pruefung-menulist-note').value; + datum = document.getElementById('student-pruefung-textbox-datum').value; + anmerkung = document.getElementById('student-pruefung-textbox-anmerkung').value; + neu = document.getElementById('student-pruefung-checkbox-neu').checked; + pruefung_id = document.getElementById('student-pruefung-textbox-pruefung_id').value; + + var tree = document.getElementById('student-tree'); + + if (tree.currentIndex==-1) + { + alert('Student muss ausgewaehlt sein'); + return; + } + var col = tree.columns ? tree.columns["student-treecol-uid"] : "student-treecol-uid"; + var student_uid=tree.view.getCellText(tree.currentIndex,col); + + if(datum!='' && !CheckDatum(datum)) + { + alert('Datum ist ungueltig'); + return false; + } + + var url = 'content/student/studentDBDML.php'; + var req = new phpRequest(url,'',''); + + req.add('type', 'savepruefung'); + + req.add('lehreinheit_id', lehreinheit_id); + req.add('mitarbeiter_uid', mitarbeiter_uid); + req.add('pruefungstyp_kurzbz', pruefungstyp_kurzbz); + req.add('note', note); + req.add('datum', datum); + req.add('anmerkung', anmerkung); + req.add('neu', neu); + req.add('pruefung_id', pruefung_id); + req.add('student_uid', student_uid); + + 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 + { + StudentPruefungSelectID=val.dbdml_data; + StudentPruefungTreeDatasource.Refresh(false); //non blocking + SetStatusBarText('Daten wurden gespeichert'); + StudentPruefungDetailDisableFields(true); + } +} + +// **** +// * Laedt eine Pruefung zum Bearbeiten +// **** +function StudentPruefungAuswahl() +{ + netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"); + var tree = document.getElementById('student-pruefung-tree'); + + if (tree.currentIndex==-1) return; + + StudentPruefungDetailDisableFields(false); + document.getElementById('student-pruefung-checkbox-neu').checked=false; + + //Ausgewaehlte Nr holen + var col = tree.columns ? tree.columns["student-pruefung-tree-pruefung_id"] : "student-pruefung-tree-pruefung_id"; + var pruefung_id=tree.view.getCellText(tree.currentIndex,col); + + //Daten holen + var url = 'rdf/pruefung.rdf.php?pruefung_id='+pruefung_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/pruefung/" + pruefung_id); + + var predicateNS = "http://www.technikum-wien.at/pruefung/rdf"; + + //Daten holen + + lehreinheit_id = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#lehreinheit_id" )); + lehrveranstaltung_id = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#lehrveranstaltung_id" )); + mitarbeiter_uid = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#mitarbeiter_uid" )); + note = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#note" )); + pruefungstyp_kurzbz = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#pruefungstyp_kurzbz" )); + datum = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#datum" )); + anmerkung = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#anmerkung" )); + + + var verband_tree=document.getElementById('tree-verband'); + + var col = verband_tree.columns ? verband_tree.columns["stg_kz"] : "stg_kz"; + var stg_kz=verband_tree.view.getCellText(verband_tree.currentIndex,col); + col = verband_tree.columns ? verband_tree.columns["sem"] : "sem"; + var sem=verband_tree.view.getCellText(verband_tree.currentIndex,col); + + //Lehrveranstaltung Drop Down laden + var LVDropDown = document.getElementById('student-pruefung-menulist-lehrveranstaltung'); + url='rdf/lehrveranstaltung.rdf.php?stg_kz='+stg_kz+"&sem="+sem+"&"+gettimestamp(); + + //Alte DS entfernen + var oldDatasources = LVDropDown.database.GetDataSources(); + while(oldDatasources.hasMoreElements()) + { + LVDropDown.database.RemoveDataSource(oldDatasources.getNext()); + } + //Refresh damit die entfernten DS auch wirklich entfernt werden + LVDropDown.builder.rebuild(); + + var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService); + var datasource = rdfService.GetDataSourceBlocking(url); + LVDropDown.database.AddDataSource(datasource); + + debug('Lehrveranstaltung geladen:'+url); + + var stsem = getStudiensemester(); + + //Lehreinheiten Drop Down laden + var LEDropDown = document.getElementById('student-pruefung-menulist-lehreinheit'); + url='rdf/lehreinheit.rdf.php?lehrveranstaltung_id='+lehrveranstaltung_id+"&studiensemester_kurzbz="+stsem+"&"+gettimestamp(); + + //Alte DS entfernen + var oldDatasources = LEDropDown.database.GetDataSources(); + while(oldDatasources.hasMoreElements()) + { + LEDropDown.database.RemoveDataSource(oldDatasources.getNext()); + } + //Refresh damit die entfernten DS auch wirklich entfernt werden + LEDropDown.builder.rebuild(); + + var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService); + var datasource = rdfService.GetDataSourceBlocking(url); + LEDropDown.database.AddDataSource(datasource); + + debug('Lehreinheit geladen'); + + //Lehreinheiten Drop Down laden + var MADropDown = document.getElementById('student-pruefung-menulist-mitarbeiter'); + url='rdf/mitarbeiter.rdf.php?lehreinheit_id='+lehreinheit_id+"&"+gettimestamp(); + + //Alte DS entfernen + var oldDatasources = MADropDown.database.GetDataSources(); + while(oldDatasources.hasMoreElements()) + { + MADropDown.database.RemoveDataSource(oldDatasources.getNext()); + } + //Refresh damit die entfernten DS auch wirklich entfernt werden + MADropDown.builder.rebuild(); + + var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService); + var datasource = rdfService.GetDataSourceBlocking(url); + MADropDown.database.AddDataSource(datasource); + debug('Mitarbeiter geladen'); + + document.getElementById('student-pruefung-menulist-lehrveranstaltung').value=lehrveranstaltung_id; + document.getElementById('student-pruefung-menulist-lehreinheit').value=lehreinheit_id; + document.getElementById('student-pruefung-menulist-mitarbeiter').value=mitarbeiter_uid; + document.getElementById('student-pruefung-menulist-typ').value=pruefungstyp_kurzbz; + document.getElementById('student-pruefung-menulist-note').value=note; + document.getElementById('student-pruefung-textbox-datum').value=datum; + document.getElementById('student-pruefung-textbox-anmerkung').value=anmerkung; } \ No newline at end of file diff --git a/content/student/studentpruefungoverlay.xul.php b/content/student/studentpruefungoverlay.xul.php index 7e2304da6..37dc26fbf 100644 --- a/content/student/studentpruefungoverlay.xul.php +++ b/content/student/studentpruefungoverlay.xul.php @@ -60,8 +60,6 @@ echo '';