Filter für Funktionen im FAS hinzugefügt

This commit is contained in:
Andreas Österreicher
2018-06-15 15:08:05 +02:00
parent cf0dedd15e
commit 53098c011c
4 changed files with 798 additions and 746 deletions
+493 -473
View File
@@ -1,473 +1,493 @@
<?php <?php
/* Copyright (C) 2006 Technikum-Wien /* Copyright (C) 2006 Technikum-Wien
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as * it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the * published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version. * License, or (at your option) any later version.
* *
* This program is distributed in the hope that it will be useful, * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of * but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details. * GNU General Public License for more details.
* *
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software * along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
* *
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>, * Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and * Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>. * Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/ */
require_once('../config/vilesci.config.inc.php'); require_once('../config/vilesci.config.inc.php');
require_once('../include/functions.inc.php'); require_once('../include/functions.inc.php');
require_once('../include/studiengang.class.php'); require_once('../include/studiengang.class.php');
$user = get_uid(); $user = get_uid();
loadVariables($user); loadVariables($user);
?> ?>
// ********** GLOBALE VARIABLEN ********** // // ********** GLOBALE VARIABLEN ********** //
var FunktionenTreeDatasource=''; // Datasource des Adressen Trees var FunktionenTreeDatasource=''; // Datasource des Adressen Trees
var FunktionenSelectID=''; var FunktionenSelectID='';
var FunktionenUID=null; var FunktionenUID=null;
var FunktionBezeichnungChanged=false; var FunktionBezeichnungChanged=false;
<?php
<?php
// JS-Variable anlegen mit einer Uebersetzungstabellle
// JS-Variable anlegen mit einer Uebersetzungstabellle // Studiengang zu Organisationseinheit
// Studiengang zu Organisationseinheit $stg_obj = new studiengang();
$stg_obj = new studiengang(); $stg_obj->getAll();
$stg_obj->getAll();
echo 'var organisationseinheit = {';
echo 'var organisationseinheit = {'; $content = '';
$content = ''; foreach ($stg_obj->result as $stg)
foreach ($stg_obj->result as $stg) $content .= '"'.$stg->studiengang_kz.'":"'.$stg->oe_kurzbz.'",';
$content .= '"'.$stg->studiengang_kz.'":"'.$stg->oe_kurzbz.'",'; echo substr($content, 0, mb_strlen($content)-1).'};';
echo substr($content, 0, mb_strlen($content)-1).'};';
?>
?> // ********** LISTENER UND OBSERVER ********** //
// ********** LISTENER UND OBSERVER ********** //
// ****
// **** // * Observer fuer Adressen Tree
// * Observer fuer Adressen Tree // * startet Rebuild nachdem das Refresh
// * startet Rebuild nachdem das Refresh // * der Datasource fertig ist
// * der Datasource fertig ist // ****
// **** var FunktionenTreeSinkObserver =
var FunktionenTreeSinkObserver = {
{ onBeginLoad : function(pSink) {},
onBeginLoad : function(pSink) {}, onInterrupt : function(pSink) {},
onInterrupt : function(pSink) {}, onResume : function(pSink) {},
onResume : function(pSink) {}, onError : function(pSink, pStatus, pError) {},
onError : function(pSink, pStatus, pError) {}, onEndLoad : function(pSink)
onEndLoad : function(pSink) {
{ netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"); document.getElementById('funktion-tree').builder.rebuild();
document.getElementById('funktion-tree').builder.rebuild(); }
} };
};
// ****
// **** // * Nach dem Rebuild wird der Eintrag wieder
// * Nach dem Rebuild wird der Eintrag wieder // * markiert
// * markiert // ****
// **** var FunktionenTreeListener =
var FunktionenTreeListener = {
{ willRebuild : function(builder) { },
willRebuild : function(builder) { }, didRebuild : function(builder)
didRebuild : function(builder) {
{ //timeout nur bei Mozilla notwendig da sonst die rows
//timeout nur bei Mozilla notwendig da sonst die rows //noch keine values haben. Ab Seamonkey funktionierts auch
//noch keine values haben. Ab Seamonkey funktionierts auch //ohne dem setTimeout
//ohne dem setTimeout window.setTimeout(FunktionenTreeSelectID,10);
window.setTimeout(FunktionenTreeSelectID,10); }
} };
};
// ********** FUNKTIONEN ********** //
// ********** FUNKTIONEN ********** // function FunktionFilter()
{
// **** var filter = document.getElementById('funktionen-button-filter')
// * Laedt die Trees var state = document.getElementById('funktionen-filter-state')
// **** if(state.value == 'alle')
function loadFunktionen(uid) {
{ state.value = 'offene';
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"); loadFunktionen(FunktionenUID);
filter.label = 'Alle anzeigen';
FunktionenUID = uid; setVariable('fasfunktionfilter', 'offene');
}
//Adressen laden else
url = "<?php echo APP_ROOT; ?>rdf/benutzerfunktion.rdf.php?uid="+uid+"&"+gettimestamp(); {
var tree=document.getElementById('funktion-tree'); state.value = 'alle';
loadFunktionen(FunktionenUID);
try filter.label = 'Nur aktuelle anzeigen';
{ setVariable('fasfunktionfilter', 'alle')
FunktionenTreeDatasource.removeXMLSinkObserver(FunktionenTreeSinkObserver); }
tree.builder.removeListener(FunktionenTreeListener); }
}
catch(e) // ****
{} // * Laedt die Trees
// ****
//Alte DS entfernen function loadFunktionen(uid)
var oldDatasources = tree.database.GetDataSources(); {
while(oldDatasources.hasMoreElements()) netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
{
tree.database.RemoveDataSource(oldDatasources.getNext()); FunktionenUID = uid;
} var filter = document.getElementById('funktionen-filter-state');
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService); //Adressen laden
FunktionenTreeDatasource = rdfService.GetDataSource(url); url = "<?php echo APP_ROOT; ?>rdf/benutzerfunktion.rdf.php?uid="+uid+"&filter="+filter.value+"&"+gettimestamp();
FunktionenTreeDatasource.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource);
FunktionenTreeDatasource.QueryInterface(Components.interfaces.nsIRDFXMLSink); var tree=document.getElementById('funktion-tree');
tree.database.AddDataSource(FunktionenTreeDatasource);
FunktionenTreeDatasource.addXMLSinkObserver(FunktionenTreeSinkObserver); try
tree.builder.addListener(FunktionenTreeListener); {
FunktionDisableFields(false); FunktionenTreeDatasource.removeXMLSinkObserver(FunktionenTreeSinkObserver);
tree.builder.removeListener(FunktionenTreeListener);
} }
catch(e)
// **** {}
// * Selectiert eine Funktion nachdem der Tree
// * rebuildet wurde. //Alte DS entfernen
// **** var oldDatasources = tree.database.GetDataSources();
function FunktionenTreeSelectID() while(oldDatasources.hasMoreElements())
{ {
var tree=document.getElementById('funktion-tree'); tree.database.RemoveDataSource(oldDatasources.getNext());
var items = tree.view.rowCount; //Anzahl der Zeilen ermitteln }
//In der globalen Variable ist die zu selektierende Adresse gespeichert var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService);
if(FunktionenSelectID!=null) FunktionenTreeDatasource = rdfService.GetDataSource(url);
{ FunktionenTreeDatasource.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource);
for(var i=0;i<items;i++) FunktionenTreeDatasource.QueryInterface(Components.interfaces.nsIRDFXMLSink);
{ tree.database.AddDataSource(FunktionenTreeDatasource);
//ID der row holen FunktionenTreeDatasource.addXMLSinkObserver(FunktionenTreeSinkObserver);
col = tree.columns ? tree.columns["funktion-treecol-benutzerfunktion_id"] : "funktion-treecol-benutzerfunktion_id"; tree.builder.addListener(FunktionenTreeListener);
id=tree.view.getCellText(i,col); FunktionDisableFields(false);
if(id == FunktionenSelectID) }
{
//Zeile markieren // ****
tree.view.selection.select(i); // * Selectiert eine Funktion nachdem der Tree
//Sicherstellen, dass die Zeile im sichtbaren Bereich liegt // * rebuildet wurde.
tree.treeBoxObject.ensureRowIsVisible(i); // ****
return true; function FunktionenTreeSelectID()
} {
} var tree=document.getElementById('funktion-tree');
FunktionenSelectID=null; var items = tree.view.rowCount; //Anzahl der Zeilen ermitteln
}
} //In der globalen Variable ist die zu selektierende Adresse gespeichert
if(FunktionenSelectID!=null)
// **** {
// * Deaktiviert die Felder und setzt den Neu status for(var i=0;i<items;i++)
// **** {
function FunktionNeu() //ID der row holen
{ col = tree.columns ? tree.columns["funktion-treecol-benutzerfunktion_id"] : "funktion-treecol-benutzerfunktion_id";
FunktionDetailResetFields(); id=tree.view.getCellText(i,col);
FunktionDetailDisableFields(false);
document.getElementById('funktion-checkbox-neu').checked=true; if(id == FunktionenSelectID)
document.getElementById('funktion-textbox-benutzerfunktion_id').value=''; {
//Zeile markieren
//Wenn die aktuelle Person ein Student ist, tree.view.selection.select(i);
//dann wird Studiengang und 'Studentenvertreter' vorausgewaehlt //Sicherstellen, dass die Zeile im sichtbaren Bereich liegt
if(window.parent.document.getElementById('main-content-tabs').selectedItem==window.parent.document.getElementById('tab-mitarbeiter')) tree.treeBoxObject.ensureRowIsVisible(i);
oe_kurzbz=''; return true;
else }
oe_kurzbz = organisationseinheit[ window.parent.document.getElementById('student-prestudent-menulist-studiengang_kz').value ]; }
FunktionenSelectID=null;
if(oe_kurzbz!='') }
{ }
document.getElementById('funktion-menulist-oe_kurzbz').value=oe_kurzbz;
document.getElementById('funktion-menulist-funktion').value='stdv'; // ****
} // * Deaktiviert die Felder und setzt den Neu status
// ****
var Datum = new Date() function FunktionNeu()
var Jahr = Datum.getFullYear() {
var Tag = Datum.getDate() FunktionDetailResetFields();
var Monat = Datum.getMonth()+1 FunktionDetailDisableFields(false);
document.getElementById('funktion-checkbox-neu').checked=true;
document.getElementById('funktion-box-datum_von').value=Tag+'.'+Monat+'.'+Jahr; document.getElementById('funktion-textbox-benutzerfunktion_id').value='';
document.getElementById('funktion-box-datum_bis').value='';
document.getElementById('funktion-textbox-bezeichnung').value=''; //Wenn die aktuelle Person ein Student ist,
document.getElementById('funktion-textbox-wochenstunden').value=''; //dann wird Studiengang und 'Studentenvertreter' vorausgewaehlt
FunktionToggleFachbereich(); if(window.parent.document.getElementById('main-content-tabs').selectedItem==window.parent.document.getElementById('tab-mitarbeiter'))
} oe_kurzbz='';
else
// **** oe_kurzbz = organisationseinheit[ window.parent.document.getElementById('student-prestudent-menulist-studiengang_kz').value ];
// * Loescht eine Funktion
// **** if(oe_kurzbz!='')
function FunktionDelete() {
{ document.getElementById('funktion-menulist-oe_kurzbz').value=oe_kurzbz;
tree = document.getElementById('funktion-tree'); document.getElementById('funktion-menulist-funktion').value='stdv';
}
if (tree.currentIndex==-1)
{ var Datum = new Date()
alert('Bitte zuerst eine Funktion auswaehlen'); var Jahr = Datum.getFullYear()
return; var Tag = Datum.getDate()
} var Monat = Datum.getMonth()+1
//Ausgewaehlte ID holen document.getElementById('funktion-box-datum_von').value=Tag+'.'+Monat+'.'+Jahr;
var col = tree.columns ? tree.columns["funktion-treecol-benutzerfunktion_id"] : "funktion-treecol-benutzerfunktion_id"; document.getElementById('funktion-box-datum_bis').value='';
var benutzerfunktion_id=tree.view.getCellText(tree.currentIndex,col); document.getElementById('funktion-textbox-bezeichnung').value='';
document.getElementById('funktion-textbox-wochenstunden').value='';
//Bei Mitarbeitern wird kein Studiengang mitgeschickt FunktionToggleFachbereich();
if(window.parent.document.getElementById('main-content-tabs').selectedItem==window.parent.document.getElementById('tab-mitarbeiter')) }
studiengang_kz='';
else // ****
studiengang_kz = window.parent.document.getElementById('student-prestudent-menulist-studiengang_kz').value; // * Loescht eine Funktion
// ****
if(confirm('Soll diese Funktion wirklich geloescht werden?')) function FunktionDelete()
{ {
var url = '<?php echo APP_ROOT ?>content/fasDBDML.php'; tree = document.getElementById('funktion-tree');
var req = new phpRequest(url,'','');
if (tree.currentIndex==-1)
req.add('type', 'funktiondelete'); {
alert('Bitte zuerst eine Funktion auswaehlen');
req.add('benutzerfunktion_id', benutzerfunktion_id); return;
req.add('studiengang_kz', studiengang_kz); }
var response = req.executePOST(); //Ausgewaehlte ID holen
var col = tree.columns ? tree.columns["funktion-treecol-benutzerfunktion_id"] : "funktion-treecol-benutzerfunktion_id";
var val = new ParseReturnValue(response) var benutzerfunktion_id=tree.view.getCellText(tree.currentIndex,col);
if (!val.dbdml_return) //Bei Mitarbeitern wird kein Studiengang mitgeschickt
{ if(window.parent.document.getElementById('main-content-tabs').selectedItem==window.parent.document.getElementById('tab-mitarbeiter'))
if(val.dbdml_errormsg=='') studiengang_kz='';
alert(response) else
else studiengang_kz = window.parent.document.getElementById('student-prestudent-menulist-studiengang_kz').value;
alert(val.dbdml_errormsg)
return false; if(confirm('Soll diese Funktion wirklich geloescht werden?'))
} {
else var url = '<?php echo APP_ROOT ?>content/fasDBDML.php';
{ var req = new phpRequest(url,'','');
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
FunktionenTreeDatasource.Refresh(false); req.add('type', 'funktiondelete');
FunktionDetailResetFields();
FunktionDetailDisableFields(true); req.add('benutzerfunktion_id', benutzerfunktion_id);
return true; req.add('studiengang_kz', studiengang_kz);
}
} var response = req.executePOST();
}
var val = new ParseReturnValue(response)
// ****
// * Speichert die Daten if (!val.dbdml_return)
// **** {
function FunktionDetailSpeichern() if(val.dbdml_errormsg=='')
{ alert(response)
var funktion_kurzbz = document.getElementById('funktion-menulist-funktion').value; else
var oe_kurzbz = document.getElementById('funktion-menulist-oe_kurzbz').value; alert(val.dbdml_errormsg)
var semester = document.getElementById('funktion-menulist-semester').value; return false;
var fachbereich_kurzbz = document.getElementById('funktion-menulist-fachbereich').value; }
var neu = document.getElementById('funktion-checkbox-neu').checked; else
var benutzerfunktion_id = document.getElementById('funktion-textbox-benutzerfunktion_id').value; {
var datum_von = document.getElementById('funktion-box-datum_von').value; netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
var datum_bis = document.getElementById('funktion-box-datum_bis').value; FunktionenTreeDatasource.Refresh(false);
var bezeichnung = document.getElementById('funktion-textbox-bezeichnung').value; FunktionDetailResetFields();
var wochenstunden = document.getElementById('funktion-textbox-wochenstunden').value; FunktionDetailDisableFields(true);
return true;
//Bei Mitarbeitern wird kein Studiengang mitgeschickt }
if(window.parent.document.getElementById('main-content-tabs').selectedItem==window.parent.document.getElementById('tab-mitarbeiter')) }
studiengang_kz_berecht=''; }
else
studiengang_kz_berecht = window.parent.document.getElementById('student-prestudent-menulist-studiengang_kz').value; // ****
// * Speichert die Daten
var url = '<?php echo APP_ROOT ?>content/fasDBDML.php'; // ****
var req = new phpRequest(url,'',''); function FunktionDetailSpeichern()
{
//Wenn Fachbereich ausgeblendet ist, dann sicherheitshalber auf '' setzen var funktion_kurzbz = document.getElementById('funktion-menulist-funktion').value;
if(document.getElementById('funktion-menulist-fachbereich').hidden==true) var oe_kurzbz = document.getElementById('funktion-menulist-oe_kurzbz').value;
fachbereich_kurzbz=''; var semester = document.getElementById('funktion-menulist-semester').value;
var fachbereich_kurzbz = document.getElementById('funktion-menulist-fachbereich').value;
req.add('type', 'funktionsave'); var neu = document.getElementById('funktion-checkbox-neu').checked;
var benutzerfunktion_id = document.getElementById('funktion-textbox-benutzerfunktion_id').value;
req.add('funktion_kurzbz', funktion_kurzbz); var datum_von = document.getElementById('funktion-box-datum_von').value;
req.add('oe_kurzbz', oe_kurzbz); var datum_bis = document.getElementById('funktion-box-datum_bis').value;
req.add('semester', semester); var bezeichnung = document.getElementById('funktion-textbox-bezeichnung').value;
req.add('studiengang_kz_berecht', studiengang_kz_berecht); var wochenstunden = document.getElementById('funktion-textbox-wochenstunden').value;
req.add('fachbereich_kurzbz', fachbereich_kurzbz);
req.add('uid', FunktionenUID); //Bei Mitarbeitern wird kein Studiengang mitgeschickt
req.add('neu', neu); if(window.parent.document.getElementById('main-content-tabs').selectedItem==window.parent.document.getElementById('tab-mitarbeiter'))
req.add('benutzerfunktion_id', benutzerfunktion_id); studiengang_kz_berecht='';
req.add('datum_von', ConvertDateToISO(datum_von)); else
req.add('datum_bis', ConvertDateToISO(datum_bis)); studiengang_kz_berecht = window.parent.document.getElementById('student-prestudent-menulist-studiengang_kz').value;
req.add('bezeichnung', bezeichnung);
req.add('wochenstunden', wochenstunden); var url = '<?php echo APP_ROOT ?>content/fasDBDML.php';
var req = new phpRequest(url,'','');
var response = req.executePOST();
//Wenn Fachbereich ausgeblendet ist, dann sicherheitshalber auf '' setzen
var val = new ParseReturnValue(response) if(document.getElementById('funktion-menulist-fachbereich').hidden==true)
fachbereich_kurzbz='';
if (!val.dbdml_return)
{ req.add('type', 'funktionsave');
if(val.dbdml_errormsg=='')
alert(response) req.add('funktion_kurzbz', funktion_kurzbz);
else req.add('oe_kurzbz', oe_kurzbz);
alert(val.dbdml_errormsg) req.add('semester', semester);
return false; req.add('studiengang_kz_berecht', studiengang_kz_berecht);
} req.add('fachbereich_kurzbz', fachbereich_kurzbz);
else req.add('uid', FunktionenUID);
{ req.add('neu', neu);
FunktionBezeichnungChanged=false; req.add('benutzerfunktion_id', benutzerfunktion_id);
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"); req.add('datum_von', ConvertDateToISO(datum_von));
FunktionenSelectID=val.dbdml_data; req.add('datum_bis', ConvertDateToISO(datum_bis));
FunktionenTreeDatasource.Refresh(false); req.add('bezeichnung', bezeichnung);
document.getElementById('funktion-checkbox-neu').checked=false; req.add('wochenstunden', wochenstunden);
document.getElementById('funktion-textbox-benutzerfunktion_id').value=FunktionenSelectID;
return true; var response = req.executePOST();
}
} var val = new ParseReturnValue(response)
// **** if (!val.dbdml_return)
// * Daten zum Bearbeiten laden {
// **** if(val.dbdml_errormsg=='')
function FunktionBearbeiten() alert(response)
{ else
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"); alert(val.dbdml_errormsg)
return false;
tree = document.getElementById('funktion-tree'); }
else
if (tree.currentIndex==-1) {
return; FunktionBezeichnungChanged=false;
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
//Ausgewaehlte Nr holen FunktionenSelectID=val.dbdml_data;
var col = tree.columns ? tree.columns["funktion-treecol-benutzerfunktion_id"] : "funktion-treecol-benutzerfunktion_id"; FunktionenTreeDatasource.Refresh(false);
var benutzerfunktion_id=tree.view.getCellText(tree.currentIndex,col); document.getElementById('funktion-checkbox-neu').checked=false;
document.getElementById('funktion-textbox-benutzerfunktion_id').value=FunktionenSelectID;
//Daten holen return true;
var url = '<?php echo APP_ROOT ?>rdf/benutzerfunktion.rdf.php?benutzerfunktion_id='+benutzerfunktion_id+'&'+gettimestamp(); }
}
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].
getService(Components.interfaces.nsIRDFService); // ****
// * Daten zum Bearbeiten laden
var dsource = rdfService.GetDataSourceBlocking(url); // ****
function FunktionBearbeiten()
var subject = rdfService.GetResource("http://www.technikum-wien.at/bnfunktion/"+benutzerfunktion_id); {
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
var predicateNS = "http://www.technikum-wien.at/bnfunktion/rdf";
tree = document.getElementById('funktion-tree');
//Daten holen
var fachbereich_kurzbz = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#fachbereich_kurzbz" )); if (tree.currentIndex==-1)
var uid = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#uid" )); return;
var oe_kurzbz = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#oe_kurzbz" ));
var semester = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#semester" )); //Ausgewaehlte Nr holen
var funktion_kurzbz = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#funktion_kurzbz" )); var col = tree.columns ? tree.columns["funktion-treecol-benutzerfunktion_id"] : "funktion-treecol-benutzerfunktion_id";
var datum_von = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#datum_von" )); var benutzerfunktion_id=tree.view.getCellText(tree.currentIndex,col);
var datum_bis = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#datum_bis" ));
var bezeichnung = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#bezeichnung" )); //Daten holen
var wochenstunden = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#wochenstunden" )); var url = '<?php echo APP_ROOT ?>rdf/benutzerfunktion.rdf.php?benutzerfunktion_id='+benutzerfunktion_id+'&'+gettimestamp();
document.getElementById('funktion-menulist-fachbereich').value=fachbereich_kurzbz; var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].
document.getElementById('funktion-menulist-oe_kurzbz').value=oe_kurzbz; getService(Components.interfaces.nsIRDFService);
document.getElementById('funktion-menulist-semester').value=semester;
document.getElementById('funktion-menulist-funktion').value=funktion_kurzbz; var dsource = rdfService.GetDataSourceBlocking(url);
document.getElementById('funktion-textbox-benutzerfunktion_id').value=benutzerfunktion_id;
document.getElementById('funktion-checkbox-neu').checked = false; var subject = rdfService.GetResource("http://www.technikum-wien.at/bnfunktion/"+benutzerfunktion_id);
document.getElementById('funktion-box-datum_von').value=datum_von;
document.getElementById('funktion-box-datum_bis').value=datum_bis; var predicateNS = "http://www.technikum-wien.at/bnfunktion/rdf";
document.getElementById('funktion-textbox-bezeichnung').value=bezeichnung;
document.getElementById('funktion-textbox-wochenstunden').value=wochenstunden; //Daten holen
var fachbereich_kurzbz = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#fachbereich_kurzbz" ));
FunktionBezeichnungChanged=true; var uid = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#uid" ));
FunktionDetailDisableFields(false); var oe_kurzbz = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#oe_kurzbz" ));
FunktionToggleFachbereich(); var semester = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#semester" ));
} var funktion_kurzbz = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#funktion_kurzbz" ));
var datum_von = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#datum_von" ));
// **** var datum_bis = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#datum_bis" ));
// * De-/Aktiviert die Buttons var bezeichnung = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#bezeichnung" ));
// **** var wochenstunden = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#wochenstunden" ));
function FunktionDisableFields(val)
{ document.getElementById('funktion-menulist-fachbereich').value=fachbereich_kurzbz;
document.getElementById('funktion-button-neu').disabled=val; document.getElementById('funktion-menulist-oe_kurzbz').value=oe_kurzbz;
document.getElementById('funktion-button-loeschen').disabled=val; document.getElementById('funktion-menulist-semester').value=semester;
document.getElementById('funktion-menulist-funktion').value=funktion_kurzbz;
if(val) document.getElementById('funktion-textbox-benutzerfunktion_id').value=benutzerfunktion_id;
FunktionDetailDisableFields(val); document.getElementById('funktion-checkbox-neu').checked = false;
} document.getElementById('funktion-box-datum_von').value=datum_von;
document.getElementById('funktion-box-datum_bis').value=datum_bis;
// **** document.getElementById('funktion-textbox-bezeichnung').value=bezeichnung;
// * De-/Aktiviert die DetailFelder document.getElementById('funktion-textbox-wochenstunden').value=wochenstunden;
// ****
function FunktionDetailDisableFields(val) FunktionBezeichnungChanged=true;
{ FunktionDetailDisableFields(false);
document.getElementById('funktion-menulist-fachbereich').disabled=val; FunktionToggleFachbereich();
document.getElementById('funktion-menulist-oe_kurzbz').disabled=val; }
document.getElementById('funktion-menulist-semester').disabled=val;
document.getElementById('funktion-menulist-funktion').disabled=val; // ****
document.getElementById('funktion-button-speichern').disabled=val; // * De-/Aktiviert die Buttons
document.getElementById('funktion-box-datum_von').disabled=val; // ****
document.getElementById('funktion-box-datum_bis').disabled=val; function FunktionDisableFields(val)
document.getElementById('funktion-textbox-bezeichnung').disabled=val; {
document.getElementById('funktion-textbox-wochenstunden').disabled=val; document.getElementById('funktion-button-neu').disabled=val;
} document.getElementById('funktion-button-loeschen').disabled=val;
// **** if(val)
// * Setzt Defaultwerte fuer die Felder FunktionDetailDisableFields(val);
// **** }
function FunktionDetailResetFields()
{ // ****
document.getElementById('funktion-menulist-fachbereich').value=''; // * De-/Aktiviert die DetailFelder
document.getElementById('funktion-menulist-oe_kurzbz').selectedIndex=0; // ****
document.getElementById('funktion-menulist-semester').value=''; function FunktionDetailDisableFields(val)
document.getElementById('funktion-menulist-funktion').value='ass'; {
document.getElementById('funktion-menulist-fachbereich').disabled=val;
var Datum = new Date(); document.getElementById('funktion-menulist-oe_kurzbz').disabled=val;
var Jahr = Datum.getFullYear(); document.getElementById('funktion-menulist-semester').disabled=val;
var Tag = Datum.getDate(); document.getElementById('funktion-menulist-funktion').disabled=val;
var Monat = Datum.getMonth()+1; document.getElementById('funktion-button-speichern').disabled=val;
document.getElementById('funktion-box-datum_von').disabled=val;
document.getElementById('funktion-box-datum_von').value=Tag+'.'+Monat+'.'+Jahr; document.getElementById('funktion-box-datum_bis').disabled=val;
document.getElementById('funktion-box-datum_bis').value=''; document.getElementById('funktion-textbox-bezeichnung').disabled=val;
document.getElementById('funktion-textbox-bezeichnung').value=''; document.getElementById('funktion-textbox-wochenstunden').disabled=val;
document.getElementById('funktion-textbox-wochenstunden').value=''; }
FunktionBezeichnungChanged=false;
} // ****
// * Setzt Defaultwerte fuer die Felder
// **** // ****
// * Fachbereichs und Semester DropDown nur Anzeigen, wenn die entsprechenden Attribute function FunktionDetailResetFields()
// * der Funktion auf true gesetzt sind {
// **** document.getElementById('funktion-menulist-fachbereich').value='';
function FunktionToggleFachbereich() document.getElementById('funktion-menulist-oe_kurzbz').selectedIndex=0;
{ document.getElementById('funktion-menulist-semester').value='';
var menulist = document.getElementById('funktion-menulist-funktion'); document.getElementById('funktion-menulist-funktion').value='ass';
//ersten selektierten Eintrag holen var Datum = new Date();
var children = menulist.getElementsByAttribute('selected','true'); var Jahr = Datum.getFullYear();
children = children[0]; var Tag = Datum.getDate();
var Monat = Datum.getMonth()+1;
//Attribute semester und fachbereich auslesen
var semester = children.getAttribute('semester'); document.getElementById('funktion-box-datum_von').value=Tag+'.'+Monat+'.'+Jahr;
var fachbereich = children.getAttribute('fachbereich'); document.getElementById('funktion-box-datum_bis').value='';
var bezeichnung = children.label; document.getElementById('funktion-textbox-bezeichnung').value='';
document.getElementById('funktion-textbox-wochenstunden').value='';
//wenn in der Bezeichung noch nichts drinnen steht, dann die Funktion in die Bezeichnung schreiben FunktionBezeichnungChanged=false;
var tbbezeichnung = document.getElementById('funktion-textbox-bezeichnung') }
if(!FunktionBezeichnungChanged) // ****
{ // * Fachbereichs und Semester DropDown nur Anzeigen, wenn die entsprechenden Attribute
tbbezeichnung.value=bezeichnung; // * der Funktion auf true gesetzt sind
} // ****
function FunktionToggleFachbereich()
//Felder sichtbar/unsichtbar setzen {
var semesterhidden=false; var menulist = document.getElementById('funktion-menulist-funktion');
var fachbereichhidden=false;
//ersten selektierten Eintrag holen
if(semester=='true') var children = menulist.getElementsByAttribute('selected','true');
semesterhidden=false; children = children[0];
else
semesterhidden=true; //Attribute semester und fachbereich auslesen
var semester = children.getAttribute('semester');
if(fachbereich=='true') var fachbereich = children.getAttribute('fachbereich');
fachbereichhidden=false; var bezeichnung = children.label;
else
fachbereichhidden=true; //wenn in der Bezeichung noch nichts drinnen steht, dann die Funktion in die Bezeichnung schreiben
var tbbezeichnung = document.getElementById('funktion-textbox-bezeichnung')
document.getElementById('funktion-menulist-fachbereich').hidden=fachbereichhidden;
document.getElementById('funktion-label-fachbereich').hidden=fachbereichhidden; if(!FunktionBezeichnungChanged)
{
document.getElementById('funktion-menulist-semester').hidden=semesterhidden; tbbezeichnung.value=bezeichnung;
document.getElementById('funktion-label-semester').hidden=semesterhidden; }
} //Felder sichtbar/unsichtbar setzen
var semesterhidden=false;
function FunktionBezeichnungChange() var fachbereichhidden=false;
{
FunktionBezeichnungChanged=true; if(semester=='true')
} semesterhidden=false;
else
semesterhidden=true;
if(fachbereich=='true')
fachbereichhidden=false;
else
fachbereichhidden=true;
document.getElementById('funktion-menulist-fachbereich').hidden=fachbereichhidden;
document.getElementById('funktion-label-fachbereich').hidden=fachbereichhidden;
document.getElementById('funktion-menulist-semester').hidden=semesterhidden;
document.getElementById('funktion-label-semester').hidden=semesterhidden;
}
function FunktionBezeichnungChange()
{
FunktionBezeichnungChanged=true;
}
+298 -272
View File
@@ -1,272 +1,298 @@
<?php <?php
/* Copyright (C) 2006 Technikum-Wien /* Copyright (C) 2006 Technikum-Wien
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as * it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the * published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version. * License, or (at your option) any later version.
* *
* This program is distributed in the hope that it will be useful, * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of * but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details. * GNU General Public License for more details.
* *
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software * along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
* *
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>, * Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and * Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>. * Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/ */
header("Cache-Control: no-cache"); header("Cache-Control: no-cache");
header("Cache-Control: post-check=0, pre-check=0",false); header("Cache-Control: post-check=0, pre-check=0",false);
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Pragma: no-cache"); header("Pragma: no-cache");
header("Content-type: application/vnd.mozilla.xul+xml"); header("Content-type: application/vnd.mozilla.xul+xml");
include('../config/vilesci.config.inc.php'); include('../config/vilesci.config.inc.php');
echo '<?xml version="1.0" encoding="UTF-8"?>'."\n"; include('../include/functions.inc.php');
include('../include/variable.class.php');
echo '<?xml-stylesheet href="'.APP_ROOT.'skin/tempus.css" type="text/css"?>';
echo '<?xml-stylesheet href="'.APP_ROOT.'content/bindings.css" type="text/css"?>'; echo '<?xml version="1.0" encoding="UTF-8"?>'."\n";
echo '<?xml-stylesheet href="'.APP_ROOT.'content/datepicker/datepicker.css" type="text/css"?>';
echo '<?xml-stylesheet href="'.APP_ROOT.'skin/tempus.css" type="text/css"?>';
if(isset($_GET['uid'])) echo '<?xml-stylesheet href="'.APP_ROOT.'content/bindings.css" type="text/css"?>';
$uid = $_GET['uid']; echo '<?xml-stylesheet href="'.APP_ROOT.'content/datepicker/datepicker.css" type="text/css"?>';
else
die('Parameter uid muss uebergeben werden'); if(isset($_GET['uid']))
$uid = $_GET['uid'];
?> else
die('Parameter uid muss uebergeben werden');
<window id="funktionen-window" title="Funktionen"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" $user = get_uid();
onload="loadFunktionen('<?php echo $uid; ?>');" $variable = new variable();
> $variable->loadVariables($user);
<script type="application/x-javascript" src="<?php echo APP_ROOT; ?>content/funktionen.js.php" /> if ($variable->variable->fasfunktionfilter == 'alle')
<script type="application/x-javascript" src="<?php echo APP_ROOT; ?>content/functions.js.php" /> $filtertext = 'Nur aktuelle anzeigen';
<script type="application/x-javascript" src="<?php echo APP_ROOT; ?>content/fasoverlay.js.php" /> else
<script type="application/x-javascript" src="<?php echo APP_ROOT; ?>content/phpRequest.js.php" /> $filtertext = 'Alle anzeigen';
?>
<hbox flex="1">
<!-- FUNKTIONEN --> <window id="funktionen-window" title="Funktionen"
<tree id="funktion-tree" seltype="single" hidecolumnpicker="false" flex="2" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
datasources="rdf:null" ref="http://www.technikum-wien.at/bnfunktion/liste" onload="loadFunktionen('<?php echo $uid; ?>');"
onclick="FunktionBearbeiten()" >
flags="dont-build-content" <script type="application/x-javascript" src="<?php echo APP_ROOT; ?>content/funktionen.js.php" />
enableColumnDrag="true" <script type="application/x-javascript" src="<?php echo APP_ROOT; ?>content/functions.js.php" />
style="margin-left:10px;margin-right:10px;margin-bottom:5px;" height="100" <script type="application/x-javascript" src="<?php echo APP_ROOT; ?>content/fasoverlay.js.php" />
persist="hidden, height" <script type="application/x-javascript" src="<?php echo APP_ROOT; ?>content/phpRequest.js.php" />
>
<treecols> <hbox flex="1">
<treecol id="funktion-treecol-funktion" label="Funktion" flex="2" hidden="false" <!-- FUNKTIONEN -->
class="sortDirectionIndicator" <vbox flex="4">
sort="rdf:http://www.technikum-wien.at/bnfunktion/rdf#funktion" onclick="FunktionTreeSort()"/> <hbox>
<splitter class="tree-splitter"/> <button id="funktionen-button-filter" oncommand="FunktionFilter()" label="<?php echo $filtertext;?>"/>
<treecol id="funktion-treecol-oe_kurzbz" label="Organisationseinheit" flex="1" hidden="false" <textbox hidden="true" id="funktionen-filter-state" value="<?php echo $variable->variable->fasfunktionfilter; ?>" />
class="sortDirectionIndicator" <spacer flex="1" />
sort="rdf:http://www.technikum-wien.at/bnfunktion/rdf#studiengang" onclick="FunktionTreeSort()"/> </hbox>
<splitter class="tree-splitter"/> <tree id="funktion-tree" seltype="single" hidecolumnpicker="false" flex="2"
<treecol id="funktion-treecol-semester" label="Semester" flex="1" hidden="false" datasources="rdf:null" ref="http://www.technikum-wien.at/bnfunktion/liste"
class="sortDirectionIndicator" onselect="FunktionBearbeiten()"
sort="rdf:http://www.technikum-wien.at/bnfunktion/rdf#semester" onclick="FunktionTreeSort()"/> flags="dont-build-content"
<splitter class="tree-splitter"/> enableColumnDrag="true"
<treecol id="funktion-treecol-bezeichnung" label="Bezeichnung" flex="1" hidden="false" style="margin-left:10px;margin-right:10px;margin-bottom:5px;" height="100"
class="sortDirectionIndicator" persist="hidden, height"
sort="rdf:http://www.technikum-wien.at/bnfunktion/rdf#bezeichnung" onclick="FunktionTreeSort()"/> >
<splitter class="tree-splitter"/> <treecols>
<treecol id="funktion-treecol-fachbereich" label="Institut" flex="1" hidden="false" <treecol id="funktion-treecol-funktion" label="Funktion" flex="1" hidden="false"
class="sortDirectionIndicator" class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/bnfunktion/rdf#fachbereich_kurzbz" onclick="FunktionTreeSort()"/> sort="rdf:http://www.technikum-wien.at/bnfunktion/rdf#funktion"/>
<splitter class="tree-splitter"/> <splitter class="tree-splitter"/>
<treecol id="funktion-treecol-uid" label="uid" flex="1" hidden="true" <treecol id="funktion-treecol-oe_kurzbz" label="Organisationseinheit" flex="1" hidden="false"
class="sortDirectionIndicator" class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/bnfunktion/rdf#uid" onclick="FunktionTreeSort()"/> sort="rdf:http://www.technikum-wien.at/bnfunktion/rdf#organisationseinheit"/>
<splitter class="tree-splitter"/> <splitter class="tree-splitter"/>
<treecol id="funktion-treecol-benutzerfunktion_id" label="BenutzerfunktionID" flex="1" hidden="true" <treecol id="funktion-treecol-semester" label="Semester" flex="1" hidden="false"
class="sortDirectionIndicator" class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/bnfunktion/rdf#benutzerfunktion_id" onclick="FunktionTreeSort()"/> sort="rdf:http://www.technikum-wien.at/bnfunktion/rdf#semester"/>
<splitter class="tree-splitter"/> <splitter class="tree-splitter"/>
<treecol id="funktion-treecol-studiengang_kz" label="StudiengangKZ" flex="1" hidden="true" <treecol id="funktion-treecol-bezeichnung" label="Bezeichnung" flex="1" hidden="false"
class="sortDirectionIndicator" class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/bnfunktion/rdf#studiengang_kz" onclick="FunktionTreeSort()"/> sort="rdf:http://www.technikum-wien.at/bnfunktion/rdf#bezeichnung"/>
<splitter class="tree-splitter"/> <splitter class="tree-splitter"/>
<treecol id="funktion-treecol-funktion_kurzbz" label="FunktionKurzBz" flex="1" hidden="true" <treecol id="funktion-treecol-fachbereich" label="Institut" flex="1" hidden="false"
class="sortDirectionIndicator" class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/bnfunktion/rdf#funktion_kurzbz" onclick="FunktionTreeSort()"/> sort="rdf:http://www.technikum-wien.at/bnfunktion/rdf#fachbereich_kurzbz"/>
<splitter class="tree-splitter"/> <splitter class="tree-splitter"/>
<treecol id="funktion-treecol-datum_von" label="GueltigVon" flex="1" hidden="false" <treecol id="funktion-treecol-uid" label="uid" flex="1" hidden="true"
class="sortDirectionIndicator" class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/bnfunktion/rdf#datum_von_iso" onclick="FunktionTreeSort()"/> sort="rdf:http://www.technikum-wien.at/bnfunktion/rdf#uid"/>
<splitter class="tree-splitter"/> <splitter class="tree-splitter"/>
<treecol id="funktion-treecol-datum_bis" label="GueltigBis" flex="1" hidden="false" <treecol id="funktion-treecol-benutzerfunktion_id" label="BenutzerfunktionID" flex="1" hidden="true"
class="sortDirectionIndicator" class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/bnfunktion/rdf#datum_bis_iso" onclick="FunktionTreeSort()"/> sort="rdf:http://www.technikum-wien.at/bnfunktion/rdf#benutzerfunktion_id"/>
<splitter class="tree-splitter"/> <splitter class="tree-splitter"/>
<treecol id="funktion-treecol-wochenstunden" label="Wochenstunden" flex="1" hidden="false" <treecol id="funktion-treecol-studiengang_kz" label="StudiengangKZ" flex="1" hidden="true"
class="sortDirectionIndicator" class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/bnfunktion/rdf#wochenstunden" onclick="FunktionTreeSort()"/> sort="rdf:http://www.technikum-wien.at/bnfunktion/rdf#studiengang_kz"/>
<splitter class="tree-splitter"/> <splitter class="tree-splitter"/>
</treecols> <treecol id="funktion-treecol-funktion_kurzbz" label="FunktionKurzBz" flex="1" hidden="true"
class="sortDirectionIndicator"
<template> sort="rdf:http://www.technikum-wien.at/bnfunktion/rdf#funktion_kurzbz"/>
<rule> <splitter class="tree-splitter"/>
<treechildren> <treecol id="funktion-treecol-datum_von" label="GueltigVon" flex="1" hidden="false"
<treeitem uri="rdf:*"> class="sortDirectionIndicator"
<treerow> sort="rdf:http://www.technikum-wien.at/bnfunktion/rdf#datum_von_iso"/>
<treecell label="rdf:http://www.technikum-wien.at/bnfunktion/rdf#funktion" /> <splitter class="tree-splitter"/>
<treecell label="rdf:http://www.technikum-wien.at/bnfunktion/rdf#organisationseinheit" /> <treecol id="funktion-treecol-datum_bis" label="GueltigBis" flex="1" hidden="false"
<treecell label="rdf:http://www.technikum-wien.at/bnfunktion/rdf#semester" /> class="sortDirectionIndicator"
<treecell label="rdf:http://www.technikum-wien.at/bnfunktion/rdf#bezeichnung" /> sort="rdf:http://www.technikum-wien.at/bnfunktion/rdf#datum_bis_iso"/>
<treecell label="rdf:http://www.technikum-wien.at/bnfunktion/rdf#fachbereich_kurzbz" /> <splitter class="tree-splitter"/>
<treecell label="rdf:http://www.technikum-wien.at/bnfunktion/rdf#uid" /> <treecol id="funktion-treecol-wochenstunden" label="Wochenstunden" flex="1" hidden="true"
<treecell label="rdf:http://www.technikum-wien.at/bnfunktion/rdf#benutzerfunktion_id" /> class="sortDirectionIndicator"
<treecell label="rdf:http://www.technikum-wien.at/bnfunktion/rdf#studiengang_kz" /> sort="rdf:http://www.technikum-wien.at/bnfunktion/rdf#wochenstunden"/>
<treecell label="rdf:http://www.technikum-wien.at/bnfunktion/rdf#funktion_kurzbz" /> <splitter class="tree-splitter"/>
<treecell label="rdf:http://www.technikum-wien.at/bnfunktion/rdf#datum_von" /> <treecol id="funktion-treecol-datum_von_iso" label="GueltigVonISO" flex="1" hidden="true"
<treecell label="rdf:http://www.technikum-wien.at/bnfunktion/rdf#datum_bis" /> class="sortDirectionIndicator"
<treecell label="rdf:http://www.technikum-wien.at/bnfunktion/rdf#wochenstunden" /> sort="rdf:http://www.technikum-wien.at/bnfunktion/rdf#datum_von_iso"/>
</treerow> <splitter class="tree-splitter"/>
</treeitem> <treecol id="funktion-treecol-datum_bis_iso" label="GueltigBisISO" flex="1" hidden="true"
</treechildren> class="sortDirectionIndicator"
</rule> sort="rdf:http://www.technikum-wien.at/bnfunktion/rdf#datum_bis_iso"/>
</template> <splitter class="tree-splitter"/>
</tree> </treecols>
<vbox flex="1"> <template>
<hbox> <rule>
<button id="funktion-button-neu" label="Neu" oncommand="FunktionNeu();" disabled="true"/> <treechildren>
<button id="funktion-button-loeschen" label="Loeschen" oncommand="FunktionDelete();" disabled="true"/> <treeitem uri="rdf:*">
</hbox> <treerow>
<vbox hidden="true"> <treecell label="rdf:http://www.technikum-wien.at/bnfunktion/rdf#funktion" />
<label value="benutzerfunktion_id" control="funktion-textbox-benutzerfunktion_id"/> <treecell label="rdf:http://www.technikum-wien.at/bnfunktion/rdf#organisationseinheit" />
<textbox id="funktion-textbox-benutzerfunktion_id" disabled="true"/> <treecell label="rdf:http://www.technikum-wien.at/bnfunktion/rdf#semester" />
<label value="Neu" control="funktion-checkbox-neu"/> <treecell label="rdf:http://www.technikum-wien.at/bnfunktion/rdf#bezeichnung" />
<checkbox id="funktion-checkbox-neu" disabled="true" checked="false"/> <treecell label="rdf:http://www.technikum-wien.at/bnfunktion/rdf#fachbereich_kurzbz" />
</vbox> <treecell label="rdf:http://www.technikum-wien.at/bnfunktion/rdf#uid" />
<groupbox id="funktion-groupbox" > <treecell label="rdf:http://www.technikum-wien.at/bnfunktion/rdf#benutzerfunktion_id" />
<caption label="Details"/> <treecell label="rdf:http://www.technikum-wien.at/bnfunktion/rdf#studiengang_kz" />
<grid id="funktion-grid-detail" style="overflow:auto;margin:4px;" flex="1"> <treecell label="rdf:http://www.technikum-wien.at/bnfunktion/rdf#funktion_kurzbz" />
<columns > <treecell label="rdf:http://www.technikum-wien.at/bnfunktion/rdf#datum_von" />
<column flex="1"/> <treecell label="rdf:http://www.technikum-wien.at/bnfunktion/rdf#datum_bis" />
<column flex="5"/> <treecell label="rdf:http://www.technikum-wien.at/bnfunktion/rdf#wochenstunden" />
</columns> <treecell label="rdf:http://www.technikum-wien.at/bnfunktion/rdf#datum_von_iso" />
<rows> <treecell label="rdf:http://www.technikum-wien.at/bnfunktion/rdf#datum_bis_iso" />
<row> </treerow>
<label value="Funktion" control="funktion-menulist-funktion"/> </treeitem>
<menulist id="funktion-menulist-funktion" disabled="true" </treechildren>
datasources="<?php echo APP_ROOT.'rdf/funktion.rdf.php'; ?>" flex="1" </rule>
ref="http://www.technikum-wien.at/funktion/liste" </template>
oncommand="FunktionToggleFachbereich()"> </tree>
<template> </vbox>
<menupopup> <vbox flex="1">
<menuitem value="rdf:http://www.technikum-wien.at/funktion/rdf#funktion_kurzbz" <hbox>
label="rdf:http://www.technikum-wien.at/funktion/rdf#beschreibung" <button id="funktion-button-neu" label="Neu" oncommand="FunktionNeu();" disabled="true"/>
fachbereich="rdf:http://www.technikum-wien.at/funktion/rdf#fachbereich" <button id="funktion-button-loeschen" label="Loeschen" oncommand="FunktionDelete();" disabled="true"/>
semester="rdf:http://www.technikum-wien.at/funktion/rdf#semester" </hbox>
uri="rdf:*"/> <vbox hidden="true">
</menupopup> <label value="benutzerfunktion_id" control="funktion-textbox-benutzerfunktion_id"/>
</template> <textbox id="funktion-textbox-benutzerfunktion_id" disabled="true"/>
</menulist> <label value="Neu" control="funktion-checkbox-neu"/>
</row> <checkbox id="funktion-checkbox-neu" disabled="true" checked="false"/>
<row> </vbox>
<label value="Organisationseinheit" control="funktion-menulist-oe_kurzbz"/> <groupbox id="funktion-groupbox" >
<menulist id="funktion-menulist-oe_kurzbz" disabled="true" <caption label="Details"/>
xmlns:ORGANISATIONSEINHEIT="http://www.technikum-wien.at/organisationseinheit/rdf#" <grid id="funktion-grid-detail" style="overflow:auto;margin:4px;" flex="1">
datasources="<?php echo APP_ROOT;?>rdf/organisationseinheit.rdf.php" flex="1" <columns >
ref="http://www.technikum-wien.at/organisationseinheit/liste" > <column flex="1"/>
<template> <column flex="5"/>
<rule ORGANISATIONSEINHEIT:aktiv='false'> </columns>
<menupopup> <rows>
<menuitem value="rdf:http://www.technikum-wien.at/organisationseinheit/rdf#oe_kurzbz" <row>
label="rdf:http://www.technikum-wien.at/organisationseinheit/rdf#organisationseinheittyp_kurzbz rdf:http://www.technikum-wien.at/organisationseinheit/rdf#bezeichnung" <label value="Funktion" control="funktion-menulist-funktion"/>
uri="rdf:*" style="text-decoration:line-through;"/> <menulist id="funktion-menulist-funktion" disabled="true"
</menupopup> datasources="<?php echo APP_ROOT.'rdf/funktion.rdf.php'; ?>" flex="1"
</rule> ref="http://www.technikum-wien.at/funktion/liste"
<rule> oncommand="FunktionToggleFachbereich()">
<menupopup> <template>
<menuitem value="rdf:http://www.technikum-wien.at/organisationseinheit/rdf#oe_kurzbz" <menupopup>
label="rdf:http://www.technikum-wien.at/organisationseinheit/rdf#organisationseinheittyp_kurzbz rdf:http://www.technikum-wien.at/organisationseinheit/rdf#bezeichnung" <menuitem value="rdf:http://www.technikum-wien.at/funktion/rdf#funktion_kurzbz"
uri="rdf:*"/> label="rdf:http://www.technikum-wien.at/funktion/rdf#beschreibung"
</menupopup> fachbereich="rdf:http://www.technikum-wien.at/funktion/rdf#fachbereich"
</rule> semester="rdf:http://www.technikum-wien.at/funktion/rdf#semester"
</template> uri="rdf:*"/>
</menulist> </menupopup>
</row> </template>
<row> </menulist>
<label id="funktion-label-semester" value="Semester" control="funktion-menulist-semester"/> </row>
<menulist id="funktion-menulist-semester" disabled="true"> <row>
<menupopup> <label value="Organisationseinheit" control="funktion-menulist-oe_kurzbz"/>
<menuitem value="" label="-- Keine Auswahl --"/> <menulist id="funktion-menulist-oe_kurzbz" disabled="true"
<menuitem value="1" label="1"/> xmlns:ORGANISATIONSEINHEIT="http://www.technikum-wien.at/organisationseinheit/rdf#"
<menuitem value="2" label="2"/> datasources="<?php echo APP_ROOT;?>rdf/organisationseinheit.rdf.php" flex="1"
<menuitem value="3" label="3"/> ref="http://www.technikum-wien.at/organisationseinheit/liste" >
<menuitem value="4" label="4"/> <template>
<menuitem value="5" label="5"/> <rule ORGANISATIONSEINHEIT:aktiv='false'>
<menuitem value="6" label="6"/> <menupopup>
<menuitem value="7" label="7"/> <menuitem value="rdf:http://www.technikum-wien.at/organisationseinheit/rdf#oe_kurzbz"
<menuitem value="8" label="8"/> label="rdf:http://www.technikum-wien.at/organisationseinheit/rdf#organisationseinheittyp_kurzbz rdf:http://www.technikum-wien.at/organisationseinheit/rdf#bezeichnung"
<menuitem value="9" label="9"/> uri="rdf:*" style="text-decoration:line-through;"/>
</menupopup> </menupopup>
</menulist> </rule>
</row> <rule>
<row> <menupopup>
<label value="Institut" id="funktion-label-fachbereich" control="funktion-menulist-fachbereich"/> <menuitem value="rdf:http://www.technikum-wien.at/organisationseinheit/rdf#oe_kurzbz"
<menulist id="funktion-menulist-fachbereich" disabled="true" label="rdf:http://www.technikum-wien.at/organisationseinheit/rdf#organisationseinheittyp_kurzbz rdf:http://www.technikum-wien.at/organisationseinheit/rdf#bezeichnung"
xmlns:FACHBEREICH="http://www.technikum-wien.at/fachbereich/rdf#" uri="rdf:*"/>
datasources="<?php echo APP_ROOT;?>/rdf/fachbereich.rdf.php?optional=true" flex="1" </menupopup>
ref="http://www.technikum-wien.at/fachbereich/liste" > </rule>
<template> </template>
<rule FACHBEREICH:aktiv="false"> </menulist>
<menupopup> </row>
<menuitem value="rdf:http://www.technikum-wien.at/fachbereich/rdf#kurzbz" <row>
label="rdf:http://www.technikum-wien.at/fachbereich/rdf#bezeichnung" <label id="funktion-label-semester" value="Semester" control="funktion-menulist-semester"/>
uri="rdf:*" style="text-decoration:line-through;"/> <menulist id="funktion-menulist-semester" disabled="true">
</menupopup> <menupopup>
</rule> <menuitem value="" label="-- Keine Auswahl --"/>
<rule> <menuitem value="1" label="1"/>
<menupopup> <menuitem value="2" label="2"/>
<menuitem value="rdf:http://www.technikum-wien.at/fachbereich/rdf#kurzbz" <menuitem value="3" label="3"/>
label="rdf:http://www.technikum-wien.at/fachbereich/rdf#bezeichnung" <menuitem value="4" label="4"/>
uri="rdf:*"/> <menuitem value="5" label="5"/>
</menupopup> <menuitem value="6" label="6"/>
</rule> <menuitem value="7" label="7"/>
</template> <menuitem value="8" label="8"/>
</menulist> <menuitem value="9" label="9"/>
</row> </menupopup>
<row> </menulist>
<label value="Bezeichnung" control="funktion-textbox-bezeichnung"/> </row>
<textbox id="funktion-textbox-bezeichnung" disabled="true" maxlength="64" onchange="FunktionBezeichnungChange()"/> <row>
</row> <label value="Institut" id="funktion-label-fachbereich" control="funktion-menulist-fachbereich"/>
<row> <menulist id="funktion-menulist-fachbereich" disabled="true"
<label value="Wochenstunden" control="funktion-textbox-wochenstunden"/> xmlns:FACHBEREICH="http://www.technikum-wien.at/fachbereich/rdf#"
<hbox> datasources="<?php echo APP_ROOT;?>/rdf/fachbereich.rdf.php?optional=true" flex="1"
<textbox id="funktion-textbox-wochenstunden" disabled="true" maxlength="6" size="6"/> ref="http://www.technikum-wien.at/fachbereich/liste" >
<spacer flex="1" /> <template>
</hbox> <rule FACHBEREICH:aktiv="false">
</row> <menupopup>
<row> <menuitem value="rdf:http://www.technikum-wien.at/fachbereich/rdf#kurzbz"
<label value="Gültig von" control="funktion-box-datum_von"/> label="rdf:http://www.technikum-wien.at/fachbereich/rdf#bezeichnung"
<hbox> uri="rdf:*" style="text-decoration:line-through;"/>
<box class="Datum" id="funktion-box-datum_von" disabled="true"/> </menupopup>
</hbox> </rule>
</row> <rule>
<row> <menupopup>
<label value="Gültig bis" control="funktion-box-datum_bis"/> <menuitem value="rdf:http://www.technikum-wien.at/fachbereich/rdf#kurzbz"
<hbox> label="rdf:http://www.technikum-wien.at/fachbereich/rdf#bezeichnung"
<box class="Datum" id="funktion-box-datum_bis" disabled="true"/> uri="rdf:*"/>
</hbox> </menupopup>
</row> </rule>
</rows> </template>
</grid> </menulist>
<hbox> </row>
<spacer flex="1" /> <row>
<button id="funktion-button-speichern" oncommand="FunktionDetailSpeichern()" label="Speichern" disabled="true"/> <label value="Bezeichnung" control="funktion-textbox-bezeichnung"/>
</hbox> <textbox id="funktion-textbox-bezeichnung" disabled="true" maxlength="64" onchange="FunktionBezeichnungChange()"/>
</groupbox> </row>
<spacer/> <row>
</vbox> <label value="Wochenstunden" control="funktion-textbox-wochenstunden"/>
</hbox> <hbox>
</window> <textbox id="funktion-textbox-wochenstunden" disabled="true" maxlength="6" size="6"/>
<spacer flex="1" />
</hbox>
</row>
<row>
<label value="Gültig von" control="funktion-box-datum_von"/>
<hbox>
<box class="Datum" id="funktion-box-datum_von" disabled="true"/>
</hbox>
</row>
<row>
<label value="Gültig bis" control="funktion-box-datum_bis"/>
<hbox>
<box class="Datum" id="funktion-box-datum_bis" disabled="true"/>
</hbox>
</row>
</rows>
</grid>
<hbox>
<spacer flex="1" />
<button id="funktion-button-speichern" oncommand="FunktionDetailSpeichern()" label="Speichern" disabled="true"/>
</hbox>
</groupbox>
<spacer/>
</vbox>
</hbox>
</window>
+2
View File
@@ -280,6 +280,8 @@ class variable extends basis_db
if (!isset($this->variable->allow_lehrstunde_drop)) if (!isset($this->variable->allow_lehrstunde_drop))
$this->variable->allow_lehrstunde_drop='false'; $this->variable->allow_lehrstunde_drop='false';
if (!isset($this->variable->fasfunktionfilter))
$this->variable->fasfunktionfilter='alle';
return true; return true;
} }
+5 -1
View File
@@ -47,6 +47,7 @@ echo '
'; ';
$uid = (isset($_GET['uid'])?$_GET['uid']:''); $uid = (isset($_GET['uid'])?$_GET['uid']:'');
$benutzerfunktion_id = (isset($_GET['benutzerfunktion_id'])?$_GET['benutzerfunktion_id']:''); $benutzerfunktion_id = (isset($_GET['benutzerfunktion_id'])?$_GET['benutzerfunktion_id']:'');
$filter = (isset($_GET['filter'])?$_GET['filter']:'');
$stg_arr = array(); $stg_arr = array();
$fkt_arr = array(); $fkt_arr = array();
$datum_obj = new datum(); $datum_obj = new datum();
@@ -60,7 +61,10 @@ $db = new basis_db();
if($uid!='') if($uid!='')
{ {
$qry = "SELECT * FROM public.tbl_benutzerfunktion WHERE uid=".$db->db_add_param($uid)." ORDER BY funktion_kurzbz"; $qry = "SELECT * FROM public.tbl_benutzerfunktion WHERE uid=".$db->db_add_param($uid);
if($filter == 'offene')
$qry .= " AND (datum_bis>=now() OR datum_bis is null)";
$qry.=" ORDER BY funktion_kurzbz";
} }
else else
{ {