From d20b925fb842f18c6802fb66e89b8dd1bcb6ad4e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20=C3=96sterreicher?= Date: Wed, 16 Jun 2010 12:54:56 +0000 Subject: [PATCH] - Encoding Bugfix Lehrveranstaltungsverwaltung - Sortierung im Tempus bleibt erhalten - Gruppenbezeichnung wird in den Tempusdetails angezeigt --- .../lvplanung/stpl-details-overlay.xul.php | 66 +++++---- content/lvplanung/stpl-week-overlay.js.php | 31 +++- content/lvplanung/stpl-week-overlay.xul.php | 25 +++- content/tempusoverlay.js.php | 139 +++++------------- rdf/lehreinheit-lvplan.rdf.php | 8 +- rdf/lehrstunde.rdf.php | 22 +++ vilesci/lehre/lehrveranstaltung_details.php | 12 +- 7 files changed, 157 insertions(+), 146 deletions(-) diff --git a/content/lvplanung/stpl-details-overlay.xul.php b/content/lvplanung/stpl-details-overlay.xul.php index 1b818cb6a..059caa148 100644 --- a/content/lvplanung/stpl-details-overlay.xul.php +++ b/content/lvplanung/stpl-details-overlay.xul.php @@ -61,76 +61,85 @@ echo ''; - - + \ No newline at end of file diff --git a/content/lvplanung/stpl-week-overlay.js.php b/content/lvplanung/stpl-week-overlay.js.php index 8514a5e81..c52f4b9c7 100644 --- a/content/lvplanung/stpl-week-overlay.js.php +++ b/content/lvplanung/stpl-week-overlay.js.php @@ -63,11 +63,40 @@ function onLVAFilter() vboxLehrveranstalungPlanung.setAttribute('datasources',datasources); } +// Liefert die Sortierreihenfolge der Lehrstunden +function LehrstundeGetSortOrder() +{ + var toolbar = document.getElementById('toolbarTimeTableSort'); + var tbbuttons = toolbar.getElementsByTagName('toolbarbutton'); + + for each(var button in tbbuttons) + { + if(button.getAttribute('checked')=='true') + { + return button.getAttribute('value'); + } + } + return 'stundenDESC'; +} + // LVA-Panel filtern -function onLVASort(order) +function onLVASort(item) { var vorher=''; var nachher=''; + var order=item.getAttribute('value'); + + //Sortiermarkierung von allen entfernen + var toolbar = document.getElementById('toolbarTimeTableSort'); + var tbbuttons = toolbar.getElementsByTagName('toolbarbutton'); + + for each(var button in tbbuttons) + { + if(button.id) + button.setAttribute('checked','false'); + } + //Element als gedrueckt markieren + item.setAttribute('checked','true'); // LVAs var vboxLehrveranstalungPlanung=document.getElementById('vboxLehrveranstalungPlanung'); diff --git a/content/lvplanung/stpl-week-overlay.xul.php b/content/lvplanung/stpl-week-overlay.xul.php index 75f410969..43f914e42 100644 --- a/content/lvplanung/stpl-week-overlay.xul.php +++ b/content/lvplanung/stpl-week-overlay.xul.php @@ -200,32 +200,45 @@ echo ' diff --git a/content/tempusoverlay.js.php b/content/tempusoverlay.js.php index c05ab853a..fede0cd42 100644 --- a/content/tempusoverlay.js.php +++ b/content/tempusoverlay.js.php @@ -98,122 +98,56 @@ function onVerbandSelect() contentFrame.setAttribute('src', url); } - + var order = LehrstundeGetSortOrder(); // LVAs var vboxLehrveranstalungPlanung=document.getElementById('vboxLehrveranstalungPlanung'); - var attribute='../rdf/lehreinheit-lvplan.rdf.php'+type+"&stg_kz="+stg_kz+"&sem="+sem+"&ver="+ver+"&grp="+grp+"&gruppe="+gruppe; + var attribute='../rdf/lehreinheit-lvplan.rdf.php'+type+"&stg_kz="+stg_kz+"&sem="+sem+"&ver="+ver+"&grp="+grp+"&gruppe="+gruppe+"&order="+order; + vboxLehrveranstalungPlanung.setAttribute('datasources',attribute); - // Studenten - //var treeStudenten=document.getElementById('treeStudenten'); - //attribute="rdf/student.rdf.php?"+"stg_kz="+stg_kz+"&sem="+sem+"&ver="+ver+"&grp="+grp+"&gruppe="+gruppe; - //treeStudenten.setAttribute('datasources',attribute); - - // Studenten - if(typ=='') + // -------------- Studenten -------------------------- + try { + 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'); - try + //Alte DS entfernen + var oldDatasources = treeStudent.database.GetDataSources(); + while(oldDatasources.hasMoreElements()) { - //Bei Ansicht von Ab-/Unterbrecher den Button "->Student" anzeigen - if(sem=='0') - document.getElementById('student-toolbar-student').hidden=false; - else - document.getElementById('student-toolbar-student').hidden=true; + treeStudent.database.RemoveDataSource(oldDatasources.getNext()); } - catch(e){} - // -------------- Studenten -------------------------- try { - 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 - var oldDatasources = treeStudent.database.GetDataSources(); - while(oldDatasources.hasMoreElements()) - { - treeStudent.database.RemoveDataSource(oldDatasources.getNext()); - } - - try - { - StudentTreeDatasource.removeXMLSinkObserver(StudentTreeSinkObserver); - treeStudent.builder.removeListener(StudentTreeListener); - } - catch(e) - {} - var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService); - StudentTreeDatasource = rdfService.GetDataSource(url); - StudentTreeDatasource.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource); - StudentTreeDatasource.QueryInterface(Components.interfaces.nsIRDFXMLSink); - treeStudent.database.AddDataSource(StudentTreeDatasource); - StudentTreeDatasource.addXMLSinkObserver(StudentTreeSinkObserver); - treeStudent.builder.addListener(StudentTreeListener); - - //Detailfelder Deaktivieren - StudentDetailReset(); - StudentDetailDisableFields(true); - StudentPrestudentDisableFields(true); - StudentKontoDisableFields(true); - StudentAkteDisableFields(true); - StudentIODisableFields(true); - StudentNoteDisableFields(true); - document.getElementById('student-kontakt').setAttribute('src',''); - document.getElementById('student-betriebsmittel').setAttribute('src',''); - StudentAbschlusspruefungDisableFields(true); - } - catch(e){} - } - else - { - // -------------- Interessenten / Bewerber -------------------------- - try - { - if(stsem=='' && typ=='') - stsem='aktuelles'; - 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(); - while(oldDatasources.hasMoreElements()) - { - treeInt.database.RemoveDataSource(oldDatasources.getNext()); - } - - try - { - StudentTreeDatasource.removeXMLSinkObserver(StudentTreeSinkObserver); - treeInt.builder.removeListener(StudentTreeListener); - } - catch(e) - {} - - var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService); - 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); - StudentIODisableFields(true); - StudentNoteDisableFields(true); - document.getElementById('student-kontakt').setAttribute('src',''); - document.getElementById('student-betriebsmittel').setAttribute('src',''); - StudentAbschlusspruefungDisableFields(true); + StudentTreeDatasource.removeXMLSinkObserver(StudentTreeSinkObserver); + treeStudent.builder.removeListener(StudentTreeListener); } catch(e) {} + var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService); + StudentTreeDatasource = rdfService.GetDataSource(url); + StudentTreeDatasource.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource); + StudentTreeDatasource.QueryInterface(Components.interfaces.nsIRDFXMLSink); + treeStudent.database.AddDataSource(StudentTreeDatasource); + StudentTreeDatasource.addXMLSinkObserver(StudentTreeSinkObserver); + treeStudent.builder.addListener(StudentTreeListener); + + //Detailfelder Deaktivieren + StudentDetailReset(); + StudentDetailDisableFields(true); + StudentPrestudentDisableFields(true); + StudentKontoDisableFields(true); + StudentAkteDisableFields(true); + StudentIODisableFields(true); + StudentNoteDisableFields(true); + document.getElementById('student-kontakt').setAttribute('src',''); + document.getElementById('student-betriebsmittel').setAttribute('src',''); + StudentAbschlusspruefungDisableFields(true); } + catch(e){} + // Lehrveranstaltung try @@ -316,9 +250,10 @@ function onLektorSelect(event) contentFrame.setAttribute('src', url); } + var order = LehrstundeGetSortOrder(); // LVAs var vboxLehrveranstalungPlanung=document.getElementById('vboxLehrveranstalungPlanung'); - vboxLehrveranstalungPlanung.setAttribute('datasources','../rdf/lehreinheit-lvplan.rdf.php?'+"type=lektor&lektor="+uid+"&"+gettimestamp()); + vboxLehrveranstalungPlanung.setAttribute('datasources','../rdf/lehreinheit-lvplan.rdf.php?'+"type=lektor&lektor="+uid+"&order="+order+"&"+gettimestamp()); var tree=document.getElementById('tree-lektor'); //Wenn nichts markiert wurde -> beenden diff --git a/rdf/lehreinheit-lvplan.rdf.php b/rdf/lehreinheit-lvplan.rdf.php index a862365e3..b407d4b29 100644 --- a/rdf/lehreinheit-lvplan.rdf.php +++ b/rdf/lehreinheit-lvplan.rdf.php @@ -235,9 +235,11 @@ if ($anz>0) if($filter!='') { - if(!mb_strstr(mb_strtolower($lektor), mb_strtolower($filter)) && - !mb_strstr(mb_strtolower($lehrfach), mb_strtolower($filter)) && - !mb_strstr(mb_strtolower($l->lehrfach_bez[0]), mb_strtolower($filter))) + $filter = mb_strtolower($filter); + if(!mb_strstr(mb_strtolower($lektor), $filter) && + !mb_strstr(mb_strtolower($lehrfach), $filter) && + !mb_strstr(mb_strtolower($l->lehrfach_bez[0]), $filter) && + !mb_strstr(mb_strtolower(implode('',$l->stg)), $filter)) { continue; } diff --git a/rdf/lehrstunde.rdf.php b/rdf/lehrstunde.rdf.php index 22df0eb64..129db7938 100644 --- a/rdf/lehrstunde.rdf.php +++ b/rdf/lehrstunde.rdf.php @@ -37,6 +37,8 @@ require_once('../config/vilesci.config.inc.php'); require_once('../include/functions.inc.php'); require_once('../include/datum.class.php'); require_once('../include/lehrstunde.class.php'); +require_once('../include/lehrverband.class.php'); +require_once('../include/gruppe.class.php'); $datumObj=new datum(); @@ -175,6 +177,24 @@ if (is_array($lehrstunden->lehrstunden)) //Anzahl der Studenten in der Gruppe ermitteln $stsem = getStudiensemesterFromDatum($ls->datum); $anzahl = getAnzahl($ls->studiengang_kz, $ls->sem, $ls->ver, $ls->grp, $ls->gruppe_kurzbz, $stsem); + $gruppenbezeichnung = ''; + + if($ls->gruppe_kurzbz!='') + { + $obj = new gruppe(); + if(!$obj->load($ls->gruppe_kurzbz)) + die($obj->errormsg); + $gruppenbezeichnung = $obj->bezeichnung; + $gruppenbeschreibung = $obj->beschreibung; + } + else + { + $obj = new lehrverband(); + if(!$obj->load($ls->studiengang_kz, $ls->sem, $ls->ver, $ls->grp)) + die($obj->errormsg); + $gruppenbezeichnung = $obj->bezeichnung; + $gruppenbeschreibung = ''; + } ?> @@ -198,6 +218,8 @@ if (is_array($lehrstunden->lehrstunden)) anmerkung; ?>]]> titel; ?>]]> ]]> + ]]> + ]]>
Lehrveranstaltung
\n"; - $htmlstr .= "
\n"; + $htmlstr .= "\n"; $htmlstr .= "\n"; $htmlstr .= "\n"; @@ -149,7 +149,7 @@ $htmlstr .= " "; $htmlstr .= " "; - $htmlstr .= " \n"; + $htmlstr .= " \n"; $htmlstr .= ""; $htmlstr .= ""; @@ -166,7 +166,7 @@ } $htmlstr .= " \n"; $htmlstr .= " "; - $htmlstr .= " \n"; + $htmlstr .= " \n"; $htmlstr .= ""; $htmlstr .= ""; @@ -285,11 +285,11 @@ - + Lehrveranstaltung - Details - - + +
Kurzbz"; $htmlstr .= " Bezeichnung
Bezeichnung English