Stundenplantabelle ist bei den Terminen umschaltbar.

Die eingestellte Tabelle wird pro User gespeichert
This commit is contained in:
oesi
2015-08-19 09:09:10 +02:00
parent d553305f49
commit 78c360280c
5 changed files with 130 additions and 43 deletions
+56 -24
View File
@@ -140,7 +140,7 @@ function SetStatusBarText(text)
function CheckDatum(datum)
{
var pattern = /^(0[1-9]|[1-9]|[12][0-9]|3[01])[.](0[1-9]|[1-9]|1[012])[.](19|20)\d\d$/
if(pattern.exec(datum))
return true;
else
@@ -156,13 +156,13 @@ function ConvertDateToISO(datum)
if(datum!='')
{
arr = datum.split('.');
if(arr[0].length==1)
arr[0]='0'+arr[0];
if(arr[1].length==1)
arr[1]='0'+arr[1];
return arr[2]+'-'+arr[1]+'-'+arr[0];
}
else
@@ -173,25 +173,25 @@ function ConvertDateToISO(datum)
// * Liefert die Daten aus der Zwischenablage
// ****
function getDataFromClipboard()
{
{
netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect');
var clip = Components.classes["@mozilla.org/widget/clipboard;1"].getService(Components.interfaces.nsIClipboard);
if (!clip)
return false;
var trans = Components.classes["@mozilla.org/widget/transferable;1"].createInstance(Components.interfaces.nsITransferable);
if (!trans)
return false;
var clip = Components.classes["@mozilla.org/widget/clipboard;1"].getService(Components.interfaces.nsIClipboard);
if (!clip)
return false;
var trans = Components.classes["@mozilla.org/widget/transferable;1"].createInstance(Components.interfaces.nsITransferable);
if (!trans)
return false;
trans.addDataFlavor("text/unicode");
clip.getData(trans,clip.kGlobalClipboard);
var str = new Object();
var strLength = new Object();
clip.getData(trans,clip.kGlobalClipboard);
var str = new Object();
var strLength = new Object();
trans.getTransferData("text/unicode",str,strLength);
if (str) str = str.value.QueryInterface(Components.interfaces.nsISupportsString);
if (str) str = str.value.QueryInterface(Components.interfaces.nsISupportsString);
if (str) pastetext = str.data.substring(0,strLength.value / 2);
return pastetext;
}
@@ -199,9 +199,9 @@ function getDataFromClipboard()
// * Oeffnet ein neues Fenster welches dann die Datei 'action' mit dem POST Parameter 'data' aufruft
// ****
function OpenWindowPost(action, data)
{
{
newwindow= window.open ("","FAS","width=350, height=350");
newwindow.document.getElementsByTagName('body')[0].innerHTML = "<form id='postform-form' name='postfrm' action='' method='POST'><input type='hidden' id='postform-textbox-data' name='data' /></form>";
newwindow.document.getElementsByTagName('body')[0].innerHTML = "<form id='postform-form' name='postfrm' action='' method='POST'><input type='hidden' id='postform-textbox-data' name='data' /></form>";
newwindow.document.getElementById('postform-textbox-data').value=data;
newwindow.document.getElementById('postform-form').action=action;
newwindow.document.postfrm.submit();
@@ -234,13 +234,13 @@ function MenulistSelectItemOnValue(id, data)
function MenulistGetSelectedValue(id)
{
menulist = document.getElementById(id);
//Es kann sein, dass im Eingabefeld nichts steht und
//trotzdem ein Eintrag auf selected gesetzt ist.
//In diesem Fall soll aber kein Wert zurueckgegeben werden
if(menulist.value=='')
return '';
//Wenn es Selektierte Eintraege gibt, dann den value zurueckliefern
var children = menulist.getElementsByAttribute('selected','true');
if(children.length>0)
@@ -290,14 +290,14 @@ function getvariable(variable)
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
// Request absetzen
var url = '<?php echo APP_ROOT ?>content/fasDBDML.php';
var req = new phpRequest(url,'','');
req.add('type', 'getvariable');
req.add('name', variable);
var response = req.executePOST();
var val = new ParseReturnValue(response)
@@ -316,3 +316,35 @@ function getvariable(variable)
}
}
/**
* Setzte eine Variable
*/
function setVariable(variable, wert)
{
// Request absetzen
var url = '<?php echo APP_ROOT ?>content/fasDBDML.php';
var req = new phpRequest(url,'','');
req.add('type', 'variablechange');
req.add('name', variable);
req.add('wert', wert);
var response = req.executePOST();
var val = new ParseReturnValue(response)
if (!val.dbdml_return)
{
if(val.dbdml_errormsg=='')
alert(response)
else
alert(val.dbdml_errormsg)
return false;
}
else
{
return true;
}
}
+4 -1
View File
@@ -57,12 +57,15 @@ $lehrveranstaltung_id = filter_input(INPUT_GET, 'lehrveranstaltung_id');
$lehreinheit_id = filter_input(INPUT_GET, 'lehreinheit_id');
$mitarbeiter_uid = filter_input(INPUT_GET,'mitarbeiter_uid');
$student_uid = filter_input(INPUT_GET,'student_uid');
$db_stpl_table = filter_input(INPUT_GET,'db_stpl_table');
if(!in_array($db_stpl_table,array('stundenplan','stundenplandev')))
$db_stpl_table='stundenplan';
$db = new basis_db();
$lehrstunde = new lehrstunde();
//$variable->variable->db_stpl_table
$lehrstunde->getStundenplanData('stundenplan', $lehrveranstaltung_id, $variable->variable->semester_aktuell, $lehreinheit_id, $mitarbeiter_uid, $student_uid);
$lehrstunde->getStundenplanData($db_stpl_table, $lehrveranstaltung_id, $variable->variable->semester_aktuell, $lehreinheit_id, $mitarbeiter_uid, $student_uid);
function writecol($zeile, $i, $content)
{
+59 -14
View File
@@ -24,52 +24,97 @@ var TermineLehreinheitID='';
var TermineLehrveranstaltungID='';
var TermineMitarbeiterUID='';
var TermineStudentUID='';
var TermineStundenplanTable='stundenplan';
// ****
// * Laedt die Trees
// ****
function loadTermine(lehreinheit_id, lehrveranstaltung_id, mitarbeiter_uid, student_uid)
{
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
TermineLehreinheitID=lehreinheit_id;
TermineLehrveranstaltungID=lehrveranstaltung_id;
TermineMitarbeiterUID=mitarbeiter_uid;
TermineStudentUID=student_uid;
// Stundenplan Tabelle aus Variablen holen
TermineStundenplanTable = getvariable('termin_export_db_stpl_table');
TermineSetSTPLTable(TermineStundenplanTable);
TermineLoadTree();
}
function TermineLoadTree()
{
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
//Termine laden
url = "<?php echo APP_ROOT; ?>rdf/termine.rdf.php?ts="+gettimestamp();
if(lehreinheit_id!='')
url=url+"&lehreinheit_id="+lehreinheit_id;
if(lehrveranstaltung_id!='')
url=url+"&lehrveranstaltung_id="+lehrveranstaltung_id;
if(mitarbeiter_uid!='')
url=url+"&mitarbeiter_uid="+mitarbeiter_uid;
if(student_uid!='')
url=url+"&student_uid="+student_uid;
if(TermineLehreinheitID!='')
url=url+"&lehreinheit_id="+TermineLehreinheitID;
if(TermineLehrveranstaltungID!='')
url=url+"&lehrveranstaltung_id="+TermineLehrveranstaltungID;
if(TermineMitarbeiterUID!='')
url=url+"&mitarbeiter_uid="+TermineMitarbeiterUID;
if(TermineStudentUID!='')
url=url+"&student_uid="+TermineStudentUID;
url=url+"&db_stpl_table="+TermineStundenplanTable;
var treeTermine=document.getElementById('termine-tree');
//Alte DS entfernen
var oldDatasources = treeTermine.database.GetDataSources();
while(oldDatasources.hasMoreElements())
{
treeTermine.database.RemoveDataSource(oldDatasources.getNext());
}
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService);
var TerminTreeDatasource = rdfService.GetDataSource(url);
TerminTreeDatasource.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource);
treeTermine.database.AddDataSource(TerminTreeDatasource);
}
function TermineChangeSTPLTable()
{
var checkState = document.getElementById('termine-button-stpltable').checked;
if(checkState==true)
{
TermineSetSTPLTable('stundenplandev');
setVariable('termin_export_db_stpl_table','stundenplandev');
}
else
{
TermineSetSTPLTable('stundenplan');
setVariable('termin_export_db_stpl_table','stundenplan');
}
TermineLoadTree();
}
/**
* Aendert die Stundenplantabelle fuer den TermineExport
*/
function TermineSetSTPLTable(db_stpl_table)
{
var button = document.getElementById('termine-button-stpltable');
if(db_stpl_table=='stundenplandev')
{
button.label='StundenplanDEV';
button.checked=true;
TermineStundenplanTable='stundenplandev';
}
else
{
button.label='Stundenplan';
button.checked=false;
TermineStundenplanTable='stundenplan';
}
}
/**
* Exportiert die Termine
*/
function TermineExport()
{
var url = 'statistik/termine.xls.php?lehreinheit_id='+TermineLehreinheitID+'&lehrveranstaltung_id='+TermineLehrveranstaltungID+'&mitarbeiter_uid='+TermineMitarbeiterUID+'&student_uid='+TermineStudentUID;
var url = 'statistik/termine.xls.php?lehreinheit_id='+TermineLehreinheitID+'&lehrveranstaltung_id='+TermineLehrveranstaltungID+'&mitarbeiter_uid='+TermineMitarbeiterUID+'&student_uid='+TermineStudentUID+'&db_stpl_table='+TermineStundenplanTable;
window.open(url);
}
+7 -3
View File
@@ -49,7 +49,11 @@ $student_uid = filter_input(INPUT_GET,'student_uid');
<vbox flex="1">
<groupbox id="termine-groupbox-termine" flex="1">
<caption label="Termine" />
<hbox flex="1">
<vbox flex="1">
<hbox>
<spacer flex="1" />
<button type="checkbox" id="termine-button-stpltable" label="Stundenplan" oncommand="TermineChangeSTPLTable();"/>
</hbox>
<tree id="termine-tree" seltype="single" hidecolumnpicker="false" flex="1"
datasources="rdf:null" ref="http://www.technikum-wien.at/termine"
persist="hidden, height"
@@ -100,7 +104,7 @@ $student_uid = filter_input(INPUT_GET,'student_uid');
sort="rdf:http://www.technikum-wien.at/termine/rdf#datum_iso" onclick="termineTreeSort()"/>
<splitter class="tree-splitter"/>
</treecols>
<template>
<rule>
<treechildren>
@@ -123,7 +127,7 @@ $student_uid = filter_input(INPUT_GET,'student_uid');
</rule>
</template>
</tree>
</hbox>
</vbox>
</groupbox>
<button label="Exportieren" oncommand="TermineExport()"/>
</vbox>
+4 -1
View File
@@ -56,13 +56,16 @@ $lehrveranstaltung_id = filter_input(INPUT_GET, 'lehrveranstaltung_id');
$lehreinheit_id = filter_input(INPUT_GET, 'lehreinheit_id');
$mitarbeiter_uid = filter_input(INPUT_GET,'mitarbeiter_uid');
$student_uid = filter_input(INPUT_GET,'student_uid');
$db_stpl_table = filter_input(INPUT_GET,'db_stpl_table');
if(!in_array($db_stpl_table,array('stundenplan','stundenplandev')))
$db_stpl_table='stundenplan';
$oRdf->sendHeader();
$db = new basis_db();
$lehrstunde = new lehrstunde();
//$variable->variable->db_stpl_table
$lehrstunde->getStundenplanData('stundenplan', $lehrveranstaltung_id, $variable->variable->semester_aktuell, $lehreinheit_id, $mitarbeiter_uid, $student_uid);
$lehrstunde->getStundenplanData($db_stpl_table, $lehrveranstaltung_id, $variable->variable->semester_aktuell, $lehreinheit_id, $mitarbeiter_uid, $student_uid);
$i=0;
if(isset($lehrstunde->result) && is_array($lehrstunde->result))