From 417ebea8ad08dd716cdb30a332be2e93378b5b1d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20=C3=96sterreicher?= Date: Fri, 17 Oct 2014 11:43:28 +0000 Subject: [PATCH] Institutskarteireiter ersetzt durch Organisationseinheiten --- content/fas.xul.php | 8 +- content/fasoverlay.js.php | 164 +++++++++++++++--- content/fasoverlay.xul.php | 28 +++ .../lvplanung/lehrveranstaltungoverlay.js.php | 22 +++ .../lehrveranstaltungoverlay.xul.php | 18 +- content/statistik/koordinatorstunden.php | 34 ++-- content/statistik/lvplanung.php | 24 ++- content/statistik/lvplanung.xls.php | 14 +- rdf/lehrveranstaltung_einheiten.rdf.php | 28 +++ rdf/organisationseinheit_menue.rdf.php | 58 +++++++ skin/images/lehrtyp_.png | Bin 0 -> 752 bytes skin/images/lehrtyp_lf.png | Bin 0 -> 752 bytes skin/images/lehrtyp_lv.png | Bin 0 -> 920 bytes skin/images/lehrtyp_modul.png | Bin 0 -> 976 bytes 14 files changed, 325 insertions(+), 73 deletions(-) create mode 100644 rdf/organisationseinheit_menue.rdf.php create mode 100644 skin/images/lehrtyp_.png create mode 100644 skin/images/lehrtyp_lf.png create mode 100644 skin/images/lehrtyp_lv.png create mode 100644 skin/images/lehrtyp_modul.png diff --git a/content/fas.xul.php b/content/fas.xul.php index 77d3b498d..47998c666 100644 --- a/content/fas.xul.php +++ b/content/fas.xul.php @@ -856,8 +856,9 @@ foreach($addon_obj->result as $addon) isBerechtigt('admin') || $rechte->isBerechtigt('assistenz')) { - echo ''; - echo ''; + echo ''; + //echo ''; + echo ''; echo ''; } if($rechte->isBerechtigt('admin') || $rechte->isBerechtigt('mitarbeiter')) @@ -871,7 +872,8 @@ foreach($addon_obj->result as $addon) if($rechte->isBerechtigt('admin') || $rechte->isBerechtigt('assistenz')) { echo ''; - echo ''; + //echo ''; + echo ''; echo ''; } if($rechte->isBerechtigt('admin') || $rechte->isBerechtigt('mitarbeiter')) diff --git a/content/fasoverlay.js.php b/content/fasoverlay.js.php index 9d3c94bf3..26b35a835 100644 --- a/content/fasoverlay.js.php +++ b/content/fasoverlay.js.php @@ -518,6 +518,78 @@ function onFachbereichSelect(event) } } +/* + * Wird bei einer Auswahl der Organisationseinheit aufgerufen und laedt die Lehrveranstaltungen der + * markierten Organisationseinheit + */ +function onOrganisationseinheitSelect(event) +{ + var tree=document.getElementById('tree-organisationseinheit'); + + //Wenn nichts markiert wurde -> beenden + if(tree.currentIndex==-1) + return; + + if(typeof(event)!='undefined') + { + var row = { }; + var col = { }; + var child = { }; + + tree.treeBoxObject.getCellAt(event.pageX, event.pageY, row, col, child) + + //Wenn es keine Row ist sondern ein Header oder Scrollbar dann abbrechen + if (!col.value) + return false; + + //Wenn eine andere row markiert ist als angeklickt wurde -> beenden. + //Dies kommt vor wenn ein Subtree geoeffnet wird + if(row.value!=tree.currentIndex) + return; + } + + col = tree.columns ? tree.columns["organisationseinheit-treecol-oe_kurzbz"] : "organisationseinheit-treecol-oe_kurzbz"; + var kurzbz=tree.view.getCellText(tree.currentIndex,col); + + // Lehrveranstaltung + document.getElementById('statusbar-progressmeter').setAttribute('mode','undetermined'); + netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"); + + try + { + // Semesterfilter aus dem Lehrveranstaltungsoverlay wird beim Laden beruecksichtigt + url = 'rdf/lehrveranstaltung_einheiten.rdf.php?oe_kurzbz='+kurzbz+'&sem='+LehrveranstaltungAusbildungssemesterFilter+'&'+gettimestamp(); + var treeLV=document.getElementById('lehrveranstaltung-tree'); + try + { + LvTreeDatasource.removeXMLSinkObserver(LvTreeSinkObserver); + treeLV.builder.removeListener(LvTreeListener); + } + catch(e) + {} + + //Alte DS entfernen + var oldDatasources = treeLV.database.GetDataSources(); + while(oldDatasources.hasMoreElements()) + { + treeLV.database.RemoveDataSource(oldDatasources.getNext()); + } + + var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService); + LvTreeDatasource = rdfService.GetDataSource(url); + LvTreeDatasource.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource); + LvTreeDatasource.QueryInterface(Components.interfaces.nsIRDFXMLSink); + treeLV.database.AddDataSource(LvTreeDatasource); + LvTreeDatasource.addXMLSinkObserver(LvTreeSinkObserver); + treeLV.builder.addListener(LvTreeListener); + document.getElementById('lehrveranstaltung-toolbar-lehrauftrag').hidden=true; + } + catch(e) + { + debug(e); + } +} + function onOrtSelect() { var contentFrame=document.getElementById('iframeTimeTableWeek'); @@ -643,22 +715,16 @@ function parseRDFString(str, url) // **** function StatistikPrintKoordinatorstunden() { - tree = document.getElementById('tree-fachbereich'); + tree = document.getElementById('tree-organisationseinheit'); try { - //Fachbereich holen + //Organisationseinheit holen var col; - col = tree.columns ? tree.columns["fachbereich-treecol-kurzbz"] : "fachbereich-treecol-kurzbz"; - var fachbereich_kurzbz=tree.view.getCellText(tree.currentIndex,col); - - col = tree.columns ? tree.columns["fachbereich-treecol-uid"] : "fachbereich-treecol-uid"; - var uid=tree.view.getCellText(tree.currentIndex,col); - - if(uid=='') - window.open('content/statistik/koordinatorstunden.php?fachbereich_kurzbz='+fachbereich_kurzbz,'Koordinatorstunden'); - else - alert('Bitte einen Fachbereich auswaehlen'); + col = tree.columns ? tree.columns["organisationseinheit-treecol-oe_kurzbz"] : "organisationseinheit-treecol-oe_kurzbz"; + var oe_kurzbz=tree.view.getCellText(tree.currentIndex,col); + + window.open('content/statistik/koordinatorstunden.php?oe_kurzbz='+oe_kurzbz,'Koordinatorstunden'); } catch(e) { @@ -715,21 +781,21 @@ function StatistikPrintLVPlanung() var semester=tree.view.getCellText(tree.currentIndex,col); var url = 'content/statistik/lvplanung.php?studiengang_kz='+studiengang_kz+'&semester='+semester; } - else if(document.getElementById('menu-content-tabs').selectedItem == document.getElementById('tab-fachbereich')) + else if(document.getElementById('menu-content-tabs').selectedItem == document.getElementById('tab-organisationseinheit')) { - tree = document.getElementById('tree-fachbereich'); + tree = document.getElementById('tree-organisationseinheit'); if(tree.currentIndex==-1) { - alert('Bitte zuerst einen Fachbereich auswaehlen'); + alert('Bitte zuerst eine Organisationseinheit auswaehlen'); return; } - //Fachbereich holen + //OE holen var col; - col = tree.columns ? tree.columns["fachbereich-treecol-kurzbz"] : "fachbereich-treecol-kurzbz"; - var fachbereich_kurzbz=tree.view.getCellText(tree.currentIndex,col); - var url = 'content/statistik/lvplanung.php?fachbereich_kurzbz='+fachbereich_kurzbz; + col = tree.columns ? tree.columns["organisationseinheit-treecol-oe_kurzbz"] : "organisationseinheit-treecol-oe_kurzbz"; + var oe_kurzbz=tree.view.getCellText(tree.currentIndex,col); + var url = 'content/statistik/lvplanung.php?oe_kurzbz='+oe_kurzbz; } else if(document.getElementById('menu-content-tabs').selectedItem == document.getElementById('tab-lektor')) { @@ -780,21 +846,21 @@ function StatistikPrintLVPlanungExcel() var semester=tree.view.getCellText(tree.currentIndex,col); var url = 'content/statistik/lvplanung.xls.php?studiengang_kz='+studiengang_kz+'&semester='+semester+'&studiensemester_kurzbz='+studiensemester; } - else if(document.getElementById('menu-content-tabs').selectedItem == document.getElementById('tab-fachbereich')) + else if(document.getElementById('menu-content-tabs').selectedItem == document.getElementById('tab-organisationseinheit')) { - tree = document.getElementById('tree-fachbereich'); + tree = document.getElementById('tree-organisationseinheit'); if(tree.currentIndex==-1) { - alert('Bitte zuerst einen Fachbereich auswaehlen'); + alert('Bitte zuerst eine OE auswaehlen'); return; } //Fachbereich holen var col; - col = tree.columns ? tree.columns["fachbereich-treecol-kurzbz"] : "fachbereich-treecol-kurzbz"; - var fachbereich_kurzbz=tree.view.getCellText(tree.currentIndex,col); - var url = 'content/statistik/lvplanung.xls.php?institut='+fachbereich_kurzbz+'&studiensemester_kurzbz='+studiensemester; + col = tree.columns ? tree.columns["organisationseinheit-treecol-oe_kurzbz"] : "organisationseinheit-treecol-oe_kurzbz"; + var oe_kurzbz=tree.view.getCellText(tree.currentIndex,col); + var url = 'content/statistik/lvplanung.xls.php?oe_kurzbz='+oe_kurzbz+'&studiensemester_kurzbz='+studiensemester; } else if(document.getElementById('menu-content-tabs').selectedItem == document.getElementById('tab-lektor')) { @@ -1376,20 +1442,32 @@ function StatistikPrintStudentenProSemester(format) // **** // * Wenn der Tab Mitarbeiter aktiviert ist und der Prestudent-, Student- oder Lehrveranstaltungstab -// * markiert wird, dann wird im Menue auf den Verband Tag gewechselt +// * markiert wird, dann wird im Menue auf den Verband Tab gewechselt // **** function ChangeTabsToVerband() { - if(document.getElementById('menu-content-tabs').selectedItem==document.getElementById('tab-menu-mitarbeiter')) + if(document.getElementById('menu-content-tabs').selectedItem==document.getElementById('tab-mitarbeiter')) document.getElementById('menu-content-tabs').selectedItem=document.getElementById('tab-verband'); + + // Ausbildungssemester Filter wird nur im OE Tab angezeigt + if(document.getElementById('menu-content-tabs').selectedItem==document.getElementById('tab-organisationseinheit')) + document.getElementById('lehrveranstaltung-toolbar-filter-ausbildungssemester').hidden=false; + else + document.getElementById('lehrveranstaltung-toolbar-filter-ausbildungssemester').hidden=true; } // **** -// * Wenn der Tab Fachbereich oder Lektor gewaehlt wird, dann wird auf den Tab Lehrveranstaltung gewechselt +// * Wenn der Tab OE oder Lektor gewaehlt wird, dann wird auf den Tab Lehrveranstaltung gewechselt // **** function ChangeTabsToLehrveranstaltung() { document.getElementById('main-content-tabs').selectedItem=document.getElementById('tab-lfvt'); + + // Ausbildungssemester Filter wird nur im OE Tab angezeigt + if(document.getElementById('menu-content-tabs').selectedItem==document.getElementById('tab-organisationseinheit')) + document.getElementById('lehrveranstaltung-toolbar-filter-ausbildungssemester').hidden=false; + else + document.getElementById('lehrveranstaltung-toolbar-filter-ausbildungssemester').hidden=true; } // **** @@ -1400,6 +1478,13 @@ function ChangeTabVerband() { if(document.getElementById('main-content-tabs').selectedItem==document.getElementById('tab-mitarbeiter')) document.getElementById('main-content-tabs').selectedItem=document.getElementById('tab-studenten'); + + // Ausbildungssemester Filter wird nur im OE Tab angezeigt + if(document.getElementById('menu-content-tabs').selectedItem==document.getElementById('tab-organisationseinheit')) + document.getElementById('lehrveranstaltung-toolbar-filter-ausbildungssemester').hidden=false; + else + document.getElementById('lehrveranstaltung-toolbar-filter-ausbildungssemester').hidden=true; + } // **** @@ -1679,3 +1764,26 @@ function FachbereichTreeRefresh() fb_datasource.QueryInterface(Components.interfaces.nsIRDFXMLSink); tree.database.AddDataSource(fb_datasource); } + +// **** +// * Aktualisiert/Laedt den Organisationseinheit Tree +// **** +function OrganisationseinheitTreeRefresh() +{ + netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"); + tree = document.getElementById('tree-organisationseinheit'); + + var oldDatasources = tree.database.GetDataSources(); + while(oldDatasources.hasMoreElements()) + { + tree.database.RemoveDataSource(oldDatasources.getNext()); + } + tree.builder.rebuild(); + + url = 'rdf/organisationseinheit_menue.rdf.php?'+gettimestamp(); + var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService); + var oe_datasource = rdfService.GetDataSource(url); + oe_datasource.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource); + oe_datasource.QueryInterface(Components.interfaces.nsIRDFXMLSink); + tree.database.AddDataSource(oe_datasource); +} diff --git a/content/fasoverlay.xul.php b/content/fasoverlay.xul.php index 9c86c23e7..0af5424f5 100644 --- a/content/fasoverlay.xul.php +++ b/content/fasoverlay.xul.php @@ -144,6 +144,34 @@ echo ' + + + + + + + + +