stability and memory fixes

This commit is contained in:
Andreas Österreicher
2008-03-12 15:21:41 +00:00
parent 812dbbb4e9
commit af5924e121
17 changed files with 316 additions and 200 deletions
+11
View File
@@ -419,6 +419,17 @@ Duplizierter Wert, etc.)<br>
<hr>
<h2>Erledigte Anforderungen</h2>
<ul>
<li>Diverse Probleme die zur Speicher&uuml;berlastung und zum Absturz
des Programms f&uuml;hrten wurden behoben<br>
12.03.2008 oesi<br>
<br>
</li>
<li>Projektarbeiten: Die Meldung dass keine Betreuerart
ausgew&auml;hlt wurde (obwohl die Auswahl in der Oberf&auml;che
sichtbar ist) sollte nun nicht mehr Erscheinen<br>
12.03.2008 oesi<br>
<br>
</li>
<li>Das L&ouml;schen von Noten von LVs zu denen der Student nicht
zugeordnet ist f&uuml;hrt jetzt nicht mehr zu einem einfrieren des
Programms<br>
+30 -21
View File
@@ -48,6 +48,14 @@ function initLektorTree()
if(LektorTree)
{
try
{
LektorTreeDatasource.removeXMLSinkObserver(LektorTreeSinkObserver);
LektorTree.builder.removeListener(LektorTreeListener);
}
catch(e)
{}
//Alte DS entfernen
var oldDatasources = LektorTree.database.GetDataSources();
while(oldDatasources.hasMoreElements())
@@ -343,13 +351,6 @@ function onVerbandSelect(event)
url = '<?php echo APP_ROOT; ?>rdf/lehrveranstaltung_einheiten.rdf.php?stg_kz='+stg_kz+'&sem='+sem+'&ver='+ver+'&grp='+grp+'&gruppe='+gruppe+'&'+gettimestamp();
var treeLV=document.getElementById('lehrveranstaltung-tree');
//Alte DS entfernen
var oldDatasources = treeLV.database.GetDataSources();
while(oldDatasources.hasMoreElements())
{
treeLV.database.RemoveDataSource(oldDatasources.getNext());
}
try
{
LvTreeDatasource.removeXMLSinkObserver(LvTreeSinkObserver);
@@ -357,6 +358,14 @@ function onVerbandSelect(event)
}
catch(e)
{}
//Alte DS entfernen
var oldDatasources = treeLV.database.GetDataSources();
while(oldDatasources.hasMoreElements())
{
treeLV.database.RemoveDataSource(oldDatasources.getNext());
}
var rdfService1 = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService);
LvTreeDatasource = rdfService1.GetDataSource(url);
@@ -387,13 +396,6 @@ function onVerbandSelect(event)
url = "<?php echo APP_ROOT; ?>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);
@@ -401,6 +403,13 @@ function onVerbandSelect(event)
}
catch(e)
{}
//Alte DS entfernen
var oldDatasources = treeInt.database.GetDataSources();
while(oldDatasources.hasMoreElements())
{
treeInt.database.RemoveDataSource(oldDatasources.getNext());
}
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService);
StudentTreeDatasource = rdfService.GetDataSource(url);
@@ -472,13 +481,6 @@ function onFachbereichSelect(event)
url = '<?php echo APP_ROOT; ?>rdf/lehrveranstaltung_einheiten.rdf.php?fachbereich_kurzbz='+kurzbz+'&uid='+uid+'&'+gettimestamp();
var treeLV=document.getElementById('lehrveranstaltung-tree');
//Alte DS entfernen
var oldDatasources = treeLV.database.GetDataSources();
while(oldDatasources.hasMoreElements())
{
treeLV.database.RemoveDataSource(oldDatasources.getNext());
}
try
{
LvTreeDatasource.removeXMLSinkObserver(LvTreeSinkObserver);
@@ -486,6 +488,13 @@ function onFachbereichSelect(event)
}
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);
+8
View File
@@ -84,6 +84,14 @@ function loadFunktionen(uid)
url = "<?php echo APP_ROOT; ?>rdf/benutzerfunktion.rdf.php?uid="+uid+"&"+gettimestamp();
var tree=document.getElementById('funktion-tree');
try
{
FunktionenTreeDatasource.removeXMLSinkObserver(FunktionenTreeSinkObserver);
tree.builder.removeListener(FunktionenTreeListener);
}
catch(e)
{}
//Alte DS entfernen
var oldDatasources = tree.database.GetDataSources();
while(oldDatasources.hasMoreElements())
+24
View File
@@ -156,6 +156,14 @@ function loadKontakte(person_id)
url = "<?php echo APP_ROOT; ?>rdf/adresse.rdf.php?person_id="+person_id+"&"+gettimestamp();
var treeAdressen=document.getElementById('kontakt-adressen-tree');
try
{
AdressenTreeDatasource.removeXMLSinkObserver(KontaktAdressenTreeSinkObserver);
treeAdressen.builder.removeListener(KontaktAdressenTreeListener);
}
catch(e)
{}
//Alte DS entfernen
var oldDatasources = treeAdressen.database.GetDataSources();
while(oldDatasources.hasMoreElements())
@@ -175,6 +183,14 @@ function loadKontakte(person_id)
url = "<?php echo APP_ROOT; ?>rdf/kontakt.rdf.php?person_id="+person_id+"&"+gettimestamp();
var treeKontakt=document.getElementById('kontakt-kontakt-tree');
try
{
KontaktTreeDatasource.removeXMLSinkObserver(KontaktKontaktTreeSinkObserver);
treeKontakt.builder.removeListener(KontaktKontaktTreeListener);
}
catch(e)
{}
//Alte DS entfernen
var oldDatasources = treeKontakt.database.GetDataSources();
while(oldDatasources.hasMoreElements())
@@ -194,6 +210,14 @@ function loadKontakte(person_id)
url = "<?php echo APP_ROOT; ?>rdf/bankverbindung.rdf.php?person_id="+person_id+"&"+gettimestamp();
var treeBankverbindung=document.getElementById('kontakt-bankverbindung-tree');
try
{
BankverbindungTreeDatasource.removeXMLSinkObserver(KontaktBankverbindungTreeSinkObserver);
treeBankverbindung.builder.removeListener(KontaktBankverbindungTreeListener);
}
catch(e)
{}
//Alte DS entfernen
var oldDatasources = treeBankverbindung.database.GetDataSources();
while(oldDatasources.hasMoreElements())
@@ -116,7 +116,7 @@ var InteressentDokumentTreeAbgegebenListener =
// ****************** FUNKTIONEN ************************** //
// ****
// * Weisst dem Prestudenten Dokumente zu die er bereits abgegeben hat
// * Teilt dem Prestudenten Dokumente zu die er bereits abgegeben hat
// ****
function InteressentDokumenteAdd()
{
@@ -133,8 +133,7 @@ function InteressentDokumenteAdd()
tree.view.selection.getRangeAt(t,start,end);
for (var v = start.value; v <= end.value; v++)
{
col = tree.columns ? tree.columns["interessent-dokumente-tree-nichtabgegeben-dokument_kurzbz"] : "interessent-dokumente-tree-nichtabgegeben-dokument_kurzbz";
dok = tree.view.getCellText(v,col);
dok = getTreeCellText(tree, "interessent-dokumente-tree-nichtabgegeben-dokument_kurzbz", v);
paramList += ';'+dok;
}
}
+52 -58
View File
@@ -41,7 +41,13 @@ var StudentAbschlusspruefungTreeDatasource=null; //Datasource des Abschlusspruef
// ****
var StudentAbschlusspruefungTreeSinkObserver =
{
onBeginLoad : function(pSink) {},
onBeginLoad : function(pSink)
{
//Eventlistener waehrend des Ladevorganges deaktivieren da es sonst
//zu Problemen kommt
tree = document.getElementById('student-abschlusspruefung-tree');
tree.removeEventListener('select', StudentAbschlusspruefungAuswahl, false);
},
onInterrupt : function(pSink) {},
onResume : function(pSink) {},
onError : function(pSink, pStatus, pError) {},
@@ -58,14 +64,16 @@ var StudentAbschlusspruefungTreeSinkObserver =
// ****
var StudentAbschlusspruefungTreeListener =
{
willRebuild : function(builder) { },
didRebuild : function(builder)
{
//timeout nur bei Mozilla notwendig da sonst die rows
//noch keine values haben. Ab Seamonkey funktionierts auch
//ohne dem setTimeout
window.setTimeout(StudentAbschlusspruefungTreeSelectID,10);
}
willRebuild : function(builder) { },
didRebuild : function(builder)
{
tree = document.getElementById('student-abschlusspruefung-tree');
tree.addEventListener('select', StudentAbschlusspruefungAuswahl, false);
//timeout nur bei Mozilla notwendig da sonst die rows
//noch keine values haben. Ab Seamonkey funktionierts auch
//ohne dem setTimeout
window.setTimeout(StudentAbschlusspruefungTreeSelectID,10);
}
};
// ****************** FUNKTIONEN ************************** //
@@ -78,6 +86,15 @@ function StudentAbschlusspruefungTreeLoad(uid)
tree = document.getElementById('student-abschlusspruefung-tree');
url='<?php echo APP_ROOT;?>rdf/abschlusspruefung.rdf.php?student_uid='+uid+"&"+gettimestamp();
//Alte Observer entfernen
try
{
StudentAbschlusspruefungTreeDatasource.removeXMLSinkObserver(StudentAbschlusspruefungTreeSinkObserver);
tree.builder.removeListener(StudentAbschlusspruefungTreeListener);
}
catch(e)
{}
//Alte DS entfernen
var oldDatasources = tree.database.GetDataSources();
while(oldDatasources.hasMoreElements())
@@ -248,9 +265,8 @@ function StudentAbschlusspruefungTreeSelectID()
for(var i=0;i<items;i++)
{
//ID der row holen
col = tree.columns ? tree.columns["student-abschlusspruefung-treecol-abschlusspruefung_id"] : "student-abschlusspruefung-treecol-abschlusspruefung_id";
var id=tree.view.getCellText(i,col);
var id = getTreeCellText(tree, "student-abschlusspruefung-treecol-abschlusspruefung_id", i);
//wenn dies die zu selektierende Zeile
if(id == StudentAbschlusspruefungSelectID)
{
@@ -278,9 +294,8 @@ function StudentAbschlusspruefungAuswahl()
StudentAbschlusspruefungDetailDisableFields(false);
//Ausgewaehlte Nr holen
var col = tree.columns ? tree.columns["student-abschlusspruefung-treecol-abschlusspruefung_id"] : "student-abschlusspruefung-treecol-abschlusspruefung_id";
var abschlusspruefung_id=tree.view.getCellText(tree.currentIndex,col);
var abschlusspruefung_id = getTreeCellText(tree, "student-abschlusspruefung-treecol-abschlusspruefung_id", tree.currentIndex)
//Daten holen
var url = '<?php echo APP_ROOT ?>rdf/abschlusspruefung.rdf.php?abschlusspruefung_id='+abschlusspruefung_id+'&'+gettimestamp();
@@ -312,9 +327,6 @@ function StudentAbschlusspruefungAuswahl()
pruefungstyp_kurzbz = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#pruefungstyp_kurzbz" ));
anmerkung = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#anmerkung" ));
//var verband_tree=document.getElementById('tree-verband');
//var col = verband_tree.columns ? verband_tree.columns["stg_kz"] : "stg_kz";
//var stg_kz=verband_tree.view.getCellText(verband_tree.currentIndex,col);
stg_kz = studiengang_kz = document.getElementById('student-detail-menulist-studiengang_kz').value;
//Akadgrad DropDown laden
@@ -408,9 +420,8 @@ function StudentAbschlusspruefungSpeichern()
return false;
}
var col = tree.columns ? tree.columns["student-treecol-uid"] : "student-treecol-uid";
var student_uid=tree.view.getCellText(tree.currentIndex,col);
var student_uid = getTreeCellText(tree, "student-treecol-uid", tree.currentIndex);
//Datum pruefen
if(datum!='' && !CheckDatum(datum))
{
@@ -445,7 +456,6 @@ function StudentAbschlusspruefungSpeichern()
req.add('neu', neu);
req.add('studiengang_kz', studiengang_kz);
var response = req.executePOST();
var val = new ParseReturnValue(response)
@@ -477,11 +487,7 @@ function StudentAbschlusspruefungNeu()
document.getElementById('student-abschlusspruefung-textbox-abschlusspruefung_id').value='';
StudentAbschlusspruefungResetFields();
StudentAbschlusspruefungDetailDisableFields(false);
//var verband_tree=document.getElementById('tree-verband');
//var col = verband_tree.columns ? verband_tree.columns["stg_kz"] : "stg_kz";
//var stg_kz=verband_tree.view.getCellText(verband_tree.currentIndex,col);
var stg_kz = studiengang_kz = document.getElementById('student-detail-menulist-studiengang_kz').value;
//Akadgrad DropDown laden
@@ -521,9 +527,9 @@ function StudentAbschlusspruefungLoeschen()
studiengang_kz = document.getElementById('student-prestudent-menulist-studiengang_kz').value;
//Ausgewaehlte Nr holen
var col = tree.columns ? tree.columns["student-abschlusspruefung-treecol-abschlusspruefung_id"] : "student-abschlusspruefung-treecol-abschlusspruefung_id";
var abschlusspruefung_id=tree.view.getCellText(tree.currentIndex,col);
//Ausgewaehlte ID holen
var abschlusspruefung_id = getTreeCellText(tree, "student-abschlusspruefung-treecol-abschlusspruefung_id", tree.currentIndex);
var url = '<?php echo APP_ROOT ?>content/student/studentDBDML.php';
var req = new phpRequest(url,'','');
@@ -566,10 +572,12 @@ function StudentAbschlusspruefungPrintPruefungsprotokollMultiple()
var tree = document.getElementById('student-abschlusspruefung-tree');
//Typ der ersten Abschlusspruefung des zuletzt markierten Studenten (der von dem die Daten geladen wurden) holen
//ToDo: Wenn zuerst alle Studenten markiert werden und dann diejenigen abmarkiert werden die nicht gedruckt werden sollen,
//dann funktioniert diese Methode nicht da die Daten desjenigen geladen sind der abmarkiert wurde und dieser moeglicherweise
//keine Abschlusspruefung eingetragen hat
try
{
var col = tree.columns ? tree.columns["student-abschlusspruefung-treecol-pruefungstyp_kurzbz"] : "student-abschlusspruefung-treecol-pruefungstyp_kurzbz";
var pruefungstyp_kurzbz=tree.view.getCellText(0,col);
var pruefungstyp_kurzbz = getTreeCellText(tree, "student-abschlusspruefung-treecol-pruefungstyp_kurzbz", 0);
}
catch(e)
{
@@ -605,8 +613,7 @@ function StudentAbschlusspruefungPrintPruefungsprotokollMultiple()
tree.view.selection.getRangeAt(t,start,end);
for (var v = start.value; v <= end.value; v++)
{
col = tree.columns ? tree.columns["student-treecol-uid"] : "student-treecol-uid";
uid = ';'+tree.view.getCellText(v,col);
uid = ';'+getTreeCellText(tree,"student-treecol-uid", v);
uids = uids + uid;
anzahl++;
}
@@ -631,11 +638,8 @@ function StudentAbschlusspruefungPrintPruefungsprotokoll()
}
//Ausgewaehlte Nr holen
var col = tree.columns ? tree.columns["student-abschlusspruefung-treecol-abschlusspruefung_id"] : "student-abschlusspruefung-treecol-abschlusspruefung_id";
var abschlusspruefung_id=tree.view.getCellText(tree.currentIndex,col);
var col = tree.columns ? tree.columns["student-abschlusspruefung-treecol-pruefungstyp_kurzbz"] : "student-abschlusspruefung-treecol-pruefungstyp_kurzbz";
var pruefungstyp_kurzbz=tree.view.getCellText(tree.currentIndex,col);
var abschlusspruefung_id = getTreeCellText(tree,"student-abschlusspruefung-treecol-abschlusspruefung_id", tree.currentIndex);
var pruefungstyp_kurzbz = getTreeCellText(tree,"student-abschlusspruefung-treecol-pruefungstyp_kurzbz", tree.currentIndex);
var stg_kz = document.getElementById('student-detail-menulist-studiengang_kz').value;
@@ -661,8 +665,7 @@ function StudentAbschlusspruefungPrintPruefungszeugnisMultiple()
//Typ der ersten Abschlusspruefung des zuletzt markierten Studenten (der von dem die Daten geladen wurden) holen
try
{
var col = tree.columns ? tree.columns["student-abschlusspruefung-treecol-pruefungstyp_kurzbz"] : "student-abschlusspruefung-treecol-pruefungstyp_kurzbz";
var pruefungstyp_kurzbz=tree.view.getCellText(0,col);
var pruefungstyp_kurzbz = getTreeCellText(tree,"student-abschlusspruefung-treecol-pruefungstyp_kurzbz", 0);
}
catch(e)
{
@@ -698,8 +701,7 @@ function StudentAbschlusspruefungPrintPruefungszeugnisMultiple()
tree.view.selection.getRangeAt(t,start,end);
for (var v = start.value; v <= end.value; v++)
{
col = tree.columns ? tree.columns["student-treecol-uid"] : "student-treecol-uid";
uid = ';'+tree.view.getCellText(v,col);
uid = ';'+getTreeCellText(tree,"student-treecol-uid", v);
uids = uids + uid;
anzahl++;
}
@@ -723,11 +725,8 @@ function StudentAbschlusspruefungPrintPruefungszeugnis()
}
//Ausgewaehlte Nr holen
var col = tree.columns ? tree.columns["student-abschlusspruefung-treecol-abschlusspruefung_id"] : "student-abschlusspruefung-treecol-abschlusspruefung_id";
var abschlusspruefung_id=tree.view.getCellText(tree.currentIndex,col);
var col = tree.columns ? tree.columns["student-abschlusspruefung-treecol-pruefungstyp_kurzbz"] : "student-abschlusspruefung-treecol-pruefungstyp_kurzbz";
var pruefungstyp_kurzbz=tree.view.getCellText(tree.currentIndex,col);
var abschlusspruefung_id = getTreeCellText(tree,"student-abschlusspruefung-treecol-abschlusspruefung_id", tree.currentIndex);
var pruefungstyp_kurzbz = getTreeCellText(tree,"student-abschlusspruefung-treecol-pruefungstyp_kurzbz", tree.currentIndex);
if(pruefungstyp_kurzbz=='Bachelor')
xsl='Bakkzeugnis';
@@ -751,8 +750,7 @@ function StudentAbschlusspruefungPrintUrkundeMultiple(sprache)
//Typ der ersten Abschlusspruefung des zuletzt markierten Studenten (der von dem die Daten geladen wurden) holen
try
{
var col = tree.columns ? tree.columns["student-abschlusspruefung-treecol-pruefungstyp_kurzbz"] : "student-abschlusspruefung-treecol-pruefungstyp_kurzbz";
var pruefungstyp_kurzbz=tree.view.getCellText(0,col);
var pruefungstyp_kurzbz = getTreeCellText(tree,"student-abschlusspruefung-treecol-pruefungstyp_kurzbz", 0);
}
catch(e)
{
@@ -791,9 +789,8 @@ function StudentAbschlusspruefungPrintUrkundeMultiple(sprache)
{
tree.view.selection.getRangeAt(t,start,end);
for (var v = start.value; v <= end.value; v++)
{
col = tree.columns ? tree.columns["student-treecol-uid"] : "student-treecol-uid";
uid = ';'+tree.view.getCellText(v,col);
{
uid = ';'+getTreeCellText(tree,"student-treecol-uid", v);
uids = uids + uid;
anzahl++;
}
@@ -818,11 +815,8 @@ function StudentAbschlusspruefungPrintUrkunde(sprache)
}
//Ausgewaehlte Nr holen
var col = tree.columns ? tree.columns["student-abschlusspruefung-treecol-abschlusspruefung_id"] : "student-abschlusspruefung-treecol-abschlusspruefung_id";
var abschlusspruefung_id=tree.view.getCellText(tree.currentIndex,col);
var col = tree.columns ? tree.columns["student-abschlusspruefung-treecol-pruefungstyp_kurzbz"] : "student-abschlusspruefung-treecol-pruefungstyp_kurzbz";
var pruefungstyp_kurzbz=tree.view.getCellText(tree.currentIndex,col);
var abschlusspruefung_id = getTreeCellText(tree,"student-abschlusspruefung-treecol-abschlusspruefung_id", tree.currentIndex);
var pruefungstyp_kurzbz = getTreeCellText(tree,"student-abschlusspruefung-treecol-pruefungstyp_kurzbz", tree.currentIndex);
if(pruefungstyp_kurzbz=='Bachelor' && sprache=='deutsch')
xsl='Bakkurkunde';
@@ -55,13 +55,13 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
<hbox>
<tree id="student-abschlusspruefung-tree" seltype="single" hidecolumnpicker="false" flex="1"
datasources="rdf:null" ref="http://www.technikum-wien.at/abschlusspruefung/liste"
onselect="StudentAbschlusspruefungAuswahl();"
flags="dont-build-content"
enableColumnDrag="true"
style="margin:0px;"
persist="hidden, height"
context="student-abschlusspruefung-tree-popup"
>
<!-- onselect="StudentAbschlusspruefungAuswahl();" - wird jetzt per JS gesetzt -->
<treecols>
<treecol id="student-abschlusspruefung-treecol-student_uid" label="UID" flex="1" persist="hidden, width" hidden="true"
class="sortDirectionIndicator"
+1 -2
View File
@@ -53,11 +53,10 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
<tree id="student-io-tree" seltype="single" hidecolumnpicker="false" flex="1"
datasources="rdf:null" ref="http://www.technikum-wien.at/bisio/liste"
style="margin-left:10px;margin-right:10px;margin-bottom:5px;margin-top: 10px;" height="100px" enableColumnDrag="true"
onselect="StudentIOAuswahl()"
context="student-io-tree-popup"
flags="dont-build-content"
>
<!-- onselect="StudentIOAuswahl()" - wird jetzt per JS gesetzt -->
<treecols>
<treecol id="student-io-tree-mobilitaetsprogramm_kurzbz" label="Kurzbz" flex="2" hidden="false" primary="true"
class="sortDirectionIndicator"
@@ -90,4 +90,18 @@ function StudentKontoNeuSpeichern()
{
if(window.opener.StudentKontoNeuSpeichern(document, person_ids, studiengang_kz))
window.close();
}
// ****
// * Setzt den Standardbetrag fuer den ausgewaehlten Buchungstyp
// * oder -0.0 wenn kein Standardbetrag vorhanden ist
// ****
function StudentKontoNeuDefaultBetrag()
{
var typmenulist = document.getElementById('student-konto-neu-menulist-buchungstyp');
betrag = typmenulist.selectedItem.getAttribute('betrag');
if(betrag=='')
betrag='-0.0';
document.getElementById('student-konto-neu-textbox-betrag').value=betrag;
}
+16 -14
View File
@@ -52,6 +52,22 @@ echo '<?xml-stylesheet href="../datepicker/datepicker.css" type="text/css"?>';
<column flex="5"/>
</columns>
<rows>
<row>
<label value="Typ" control="student-konto-neu-menulist-buchungstyp"/>
<menulist id="student-konto-neu-menulist-buchungstyp"
datasources="<?php echo APP_ROOT ?>rdf/buchungstyp.rdf.php?1" flex="1"
ref="http://www.technikum-wien.at/buchungstyp/liste"
oncommand="StudentKontoNeuDefaultBetrag()" >
<template>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/buchungstyp/rdf#buchungstyp_kurzbz"
label="rdf:http://www.technikum-wien.at/buchungstyp/rdf#beschreibung"
betrag="rdf:http://www.technikum-wien.at/buchungstyp/rdf#betrag"
uri="rdf:*"/>
</menupopup>
</template>
</menulist>
</row>
<row>
<label value="Betrag" control="student-konto-neu-textbox-betrag"/>
<hbox>
@@ -77,20 +93,6 @@ echo '<?xml-stylesheet href="../datepicker/datepicker.css" type="text/css"?>';
<spacer flex="1" />
</hbox>
</row>
<row>
<label value="Typ" control="student-konto-neu-menulist-buchungstyp"/>
<menulist id="student-konto-neu-menulist-buchungstyp"
datasources="<?php echo APP_ROOT ?>rdf/buchungstyp.rdf.php" flex="1"
ref="http://www.technikum-wien.at/buchungstyp/liste" >
<template>
<menupopup>
<menuitem value="rdf:http://www.technikum-wien.at/buchungstyp/rdf#buchungstyp_kurzbz"
label="rdf:http://www.technikum-wien.at/buchungstyp/rdf#beschreibung"
uri="rdf:*"/>
</menupopup>
</template>
</menulist>
</row>
<row>
<label value="Studiensemester" control="student-konto-neu-menulist-studiensemester"/>
<menulist id="student-konto-neu-menulist-studiensemester"
+1 -2
View File
@@ -90,11 +90,10 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
<tree id="student-konto-tree" seltype="multi" hidecolumnpicker="false" flex="1"
datasources="rdf:null" ref="http://www.technikum-wien.at/konto/liste"
style="margin-left:10px;margin-right:10px;margin-bottom:5px;margin-top: 10px;" enableColumnDrag="true"
onselect="StudentKontoAuswahl()"
context="student-konto-tree-popup"
flags="dont-build-content"
>
<!-- onselect="StudentKontoAuswahl()" - wird jetzt per JS gesetzt -->
<treecols>
<treecol id="student-konto-tree-buchungsdatum" label="Buchungsdatum" flex="2" hidden="false" primary="true"
class="sortDirectionIndicator"
+1 -1
View File
@@ -48,10 +48,10 @@ echo "<?xml-stylesheet href=\"".APP_ROOT."content/bindings.css\" type=\"text/css
<tree id="student-noten-tree" seltype="single" hidecolumnpicker="false" flex="1"
datasources="rdf:null" ref="http://www.technikum-wien.at/zeugnisnote/liste"
style="margin-bottom:5px;" height="100%" enableColumnDrag="true"
onselect="StudentNotenAuswahl()"
context="student-noten-tree-popup"
flags="dont-build-content"
>
<!-- onselect="StudentNotenAuswahl()" - wird jetzt per JS gesetzt -->
<treecols>
<treecol id="student-noten-tree-lehrveranstaltung_bezeichnung" label="Lehrveranstaltung" flex="2" hidden="false" primary="true" persist="hidden, width, ordinal"
+92 -75
View File
@@ -116,7 +116,11 @@ var StudentDetailRolleTreeSinkObserver =
// ****
var StudentKontoTreeSinkObserver =
{
onBeginLoad : function(pSink) {},
onBeginLoad : function(pSink)
{
tree = document.getElementById('student-konto-tree');
tree.removeEventListener('select', StudentKontoAuswahl, false);
},
onInterrupt : function(pSink) {},
onResume : function(pSink) {},
onError : function(pSink, pStatus, pError) { debug('Error StudentKontoTreeSinkObserver:'+pError+':'+pStatus); },
@@ -133,14 +137,16 @@ var StudentKontoTreeSinkObserver =
// ****
var StudentKontoTreeListener =
{
willRebuild : function(builder) { },
didRebuild : function(builder)
{
//timeout nur bei Mozilla notwendig da sonst die rows
//noch keine values haben. Ab Seamonkey funktionierts auch
//ohne dem setTimeout
window.setTimeout(StudentKontoTreeSelectBuchung,10);
}
willRebuild : function(builder) { },
didRebuild : function(builder)
{
tree = document.getElementById('student-konto-tree');
tree.addEventListener('select', StudentKontoAuswahl, false);
//timeout nur bei Mozilla notwendig da sonst die rows
//noch keine values haben. Ab Seamonkey funktionierts auch
//ohne dem setTimeout
window.setTimeout(StudentKontoTreeSelectBuchung,10);
}
};
// ****
@@ -150,7 +156,11 @@ var StudentKontoTreeListener =
// ****
var StudentIOTreeSinkObserver =
{
onBeginLoad : function(pSink) {},
onBeginLoad : function(pSink)
{
tree = document.getElementById('student-io-tree');
tree.removeEventListener('select', StudentIOAuswahl, false);
},
onInterrupt : function(pSink) {},
onResume : function(pSink) {},
onError : function(pSink, pStatus, pError) {},
@@ -167,14 +177,16 @@ var StudentIOTreeSinkObserver =
// ****
var StudentIOTreeListener =
{
willRebuild : function(builder) { },
didRebuild : function(builder)
{
//timeout nur bei Mozilla notwendig da sonst die rows
//noch keine values haben. Ab Seamonkey funktionierts auch
//ohne dem setTimeout
window.setTimeout(StudentIOTreeSelectID,10);
}
willRebuild : function(builder) { },
didRebuild : function(builder)
{
tree = document.getElementById('student-io-tree');
tree.addEventListener('select', StudentIOAuswahl, false);
//timeout nur bei Mozilla notwendig da sonst die rows
//noch keine values haben. Ab Seamonkey funktionierts auch
//ohne dem setTimeout
window.setTimeout(StudentIOTreeSelectID,10);
}
};
@@ -188,6 +200,8 @@ var StudentNotenTreeSinkObserver =
onBeginLoad : function(pSink)
{
StudentNotenTreeloaded=false;
tree = document.getElementById('student-noten-tree');
tree.removeEventListener('select', StudentNotenAuswahl, false);
},
onInterrupt : function(pSink) {},
onResume : function(pSink) {},
@@ -205,15 +219,17 @@ var StudentNotenTreeSinkObserver =
// ****
var StudentNotenTreeListener =
{
willRebuild : function(builder) { },
didRebuild : function(builder)
{
//timeout nur bei Mozilla notwendig da sonst die rows
//noch keine values haben. Ab Seamonkey funktionierts auch
//ohne dem setTimeout
StudentNotenTreeloaded=true;
window.setTimeout(StudentNotenTreeSelectID,10);
}
willRebuild : function(builder) { },
didRebuild : function(builder)
{
tree = document.getElementById('student-noten-tree');
tree.addEventListener('select', StudentNotenAuswahl, false);
//timeout nur bei Mozilla notwendig da sonst die rows
//noch keine values haben. Ab Seamonkey funktionierts auch
//ohne dem setTimeout
StudentNotenTreeloaded=true;
window.setTimeout(StudentNotenTreeSelectID,10);
}
};
// ****
@@ -259,7 +275,11 @@ var StudentLvGesamtNotenTreeListener =
// ****
var StudentPruefungTreeSinkObserver =
{
onBeginLoad : function(pSink) {},
onBeginLoad : function(pSink)
{
tree = document.getElementById('student-pruefung-tree');
tree.removeEventListener('select', StudentPruefungAuswahl, false);
},
onInterrupt : function(pSink) {},
onResume : function(pSink) {},
onError : function(pSink, pStatus, pError) {},
@@ -276,14 +296,17 @@ var StudentPruefungTreeSinkObserver =
// ****
var StudentPruefungTreeListener =
{
willRebuild : function(builder) { },
didRebuild : function(builder)
{
//timeout nur bei Mozilla notwendig da sonst die rows
//noch keine values haben. Ab Seamonkey funktionierts auch
//ohne dem setTimeout
window.setTimeout(StudentPruefungTreeSelectID,10);
}
willRebuild : function(builder) { },
didRebuild : function(builder)
{
tree = document.getElementById('student-pruefung-tree');
tree.addEventListener('select', StudentPruefungAuswahl, false);
//timeout nur bei Mozilla notwendig da sonst die rows
//noch keine values haben. Ab Seamonkey funktionierts auch
//ohne dem setTimeout
window.setTimeout(StudentPruefungTreeSelectID,10);
}
};
// ****
@@ -709,7 +732,6 @@ function StudentImageDelete()
// ****
function StudentAuswahl()
{
if(!StudentTreeLoadDataOnSelect)
{
StudentTreeLoadDataOnSelect=true;
@@ -719,7 +741,7 @@ function StudentAuswahl()
if(!StudentTreeLoadDataOnSelect2)
return true;
// Trick 17 (sonst gibt's ein Permission denied)
// Trick 17 (sonst gibt's ein Permission denied)
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
var tree = document.getElementById('student-tree');
@@ -1796,6 +1818,14 @@ function StudentKontoLoad()
studienang_kz_prestudent = document.getElementById('student-prestudent-menulist-studiengang_kz').value;
url='<?php echo APP_ROOT;?>rdf/konto.rdf.php?person_id='+person_id+"&filter="+filter+"&studiengang_kz="+studiengang_kz_prestudent+"&"+gettimestamp();
try
{
StudentKontoTreeDatasource.removeXMLSinkObserver(StudentKontoTreeSinkObserver);
kontotree.builder.removeListener(StudentKontoTreeListener);
}
catch(e)
{}
//Alte DS entfernen
var oldDatasources = kontotree.database.GetDataSources();
while(oldDatasources.hasMoreElements())
@@ -1805,14 +1835,6 @@ function StudentKontoLoad()
//Refresh damit die entfernten DS auch wirklich entfernt werden
kontotree.builder.rebuild();
try
{
StudentKontoTreeDatasource.removeXMLSinkObserver(StudentKontoTreeSinkObserver);
kontotree.builder.removeListener(StudentKontoTreeListener);
}
catch(e)
{}
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService);
StudentKontoTreeDatasource = rdfService.GetDataSource(url);
StudentKontoTreeDatasource.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource);
@@ -1911,6 +1933,14 @@ function StudentKontoFilter()
catch(e)
{}
try
{
StudentKontoTreeDatasource.removeXMLSinkObserver(StudentKontoTreeSinkObserver);
kontotree.builder.removeListener(StudentKontoTreeListener);
}
catch(e)
{}
//Alte DS entfernen
var oldDatasources = kontotree.database.GetDataSources();
while(oldDatasources.hasMoreElements())
@@ -1922,14 +1952,6 @@ function StudentKontoFilter()
StudentKontoSelectBuchung = buchungsnr;
try
{
StudentKontoTreeDatasource.removeXMLSinkObserver(StudentKontoTreeSinkObserver);
kontotree.builder.removeListener(StudentKontoTreeListener);
}
catch(e)
{}
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService);
StudentKontoTreeDatasource = rdfService.GetDataSource(url);
StudentKontoTreeDatasource.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource);
@@ -1973,13 +1995,6 @@ function StudentKontoFilterStudenten(filter)
url = "<?php echo APP_ROOT; ?>rdf/student.rdf.php?studiengang_kz="+stg_kz+"&semester="+sem+"&verband="+ver+"&gruppe="+grp+"&gruppe_kurzbz="+gruppe+"&studiensemester_kurzbz="+stsem+"&typ="+typ+"&filter2="+filter+"&"+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);
@@ -1987,6 +2002,14 @@ function StudentKontoFilterStudenten(filter)
}
catch(e)
{}
//Alte DS entfernen
var oldDatasources = treeStudent.database.GetDataSources();
while(oldDatasources.hasMoreElements())
{
treeStudent.database.RemoveDataSource(oldDatasources.getNext());
}
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService);
StudentTreeDatasource = rdfService.GetDataSource(url);
StudentTreeDatasource.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource);
@@ -2032,13 +2055,6 @@ function StudentKontoFilterBuchungstyp()
url = "<?php echo APP_ROOT; ?>rdf/student.rdf.php?studiengang_kz="+stg_kz+"&semester="+sem+"&verband="+ver+"&gruppe="+grp+"&gruppe_kurzbz="+gruppe+"&studiensemester_kurzbz="+stsem+"&typ="+typ+"&filter2=buchungstyp;"+filter+"&"+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);
@@ -2046,6 +2062,14 @@ function StudentKontoFilterBuchungstyp()
}
catch(e)
{}
//Alte DS entfernen
var oldDatasources = treeStudent.database.GetDataSources();
while(oldDatasources.hasMoreElements())
{
treeStudent.database.RemoveDataSource(oldDatasources.getNext());
}
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService);
StudentTreeDatasource = rdfService.GetDataSource(url);
StudentTreeDatasource.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource);
@@ -3083,13 +3107,6 @@ function StudentNoteDetailDisableFields(val)
// ***
function StudentNotenAuswahl()
{
//Beim Refresh des Trees wird das onselect event ausgeloest wenn der
//vorher markierte Eintrag nach dem Refresh nicht mehr in der Liste ist
//daher soll die funktion nur ausgefuehrt werden, wenn der tree
//tatsaechlich fertig geladen wurde
if(!StudentNotenTreeloaded)
return false;
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
var tree = document.getElementById('student-noten-tree');
+58 -19
View File
@@ -44,7 +44,13 @@ var StudentProjektbetreuerSelectBetreuerartKurzbz=null;
// ****
var StudentProjektarbeitTreeSinkObserver =
{
onBeginLoad : function(pSink) {},
onBeginLoad : function(pSink)
{
//Eventlistener waehrend des Ladevorganges deaktivieren da es sonst
//zu Problemen kommt
tree = document.getElementById('student-projektarbeit-tree');
tree.removeEventListener('select', StudentProjektarbeitAuswahl, false);
},
onInterrupt : function(pSink) {},
onResume : function(pSink) {},
onError : function(pSink, pStatus, pError) {},
@@ -61,14 +67,16 @@ var StudentProjektarbeitTreeSinkObserver =
// ****
var StudentProjektarbeitTreeListener =
{
willRebuild : function(builder) { },
didRebuild : function(builder)
{
//timeout nur bei Mozilla notwendig da sonst die rows
//noch keine values haben. Ab Seamonkey funktionierts auch
//ohne dem setTimeout
window.setTimeout(StudentProjektarbeitTreeSelectID,10);
}
willRebuild : function(builder) { },
didRebuild : function(builder)
{
tree = document.getElementById('student-projektarbeit-tree');
tree.addEventListener('select', StudentProjektarbeitAuswahl, false);
//timeout nur bei Mozilla notwendig da sonst die rows
//noch keine values haben. Ab Seamonkey funktionierts auch
//ohne dem setTimeout
window.setTimeout(StudentProjektarbeitTreeSelectID,10);
}
};
// ****
@@ -78,7 +86,13 @@ var StudentProjektarbeitTreeListener =
// ****
var StudentProjektbetreuerTreeSinkObserver =
{
onBeginLoad : function(pSink) {},
onBeginLoad : function(pSink)
{
//Eventlistener waehrend des Ladevorganges deaktivieren da es sonst
//zu Problemen kommt
tree = document.getElementById('student-projektbetreuer-tree');
tree.removeEventListener('select', StudentProjektbetreuerAuswahl, false);
},
onInterrupt : function(pSink) {},
onResume : function(pSink) {},
onError : function(pSink, pStatus, pError) {},
@@ -95,14 +109,16 @@ var StudentProjektbetreuerTreeSinkObserver =
// ****
var StudentProjektbetreuerTreeListener =
{
willRebuild : function(builder) { },
didRebuild : function(builder)
{
//timeout nur bei Mozilla notwendig da sonst die rows
//noch keine values haben. Ab Seamonkey funktionierts auch
//ohne dem setTimeout
window.setTimeout(StudentProjektbetreuerTreeSelectID,10);
}
willRebuild : function(builder) { },
didRebuild : function(builder)
{
tree = document.getElementById('student-projektbetreuer-tree');
tree.addEventListener('select', StudentProjektbetreuerAuswahl, false);
//timeout nur bei Mozilla notwendig da sonst die rows
//noch keine values haben. Ab Seamonkey funktionierts auch
//ohne dem setTimeout
window.setTimeout(StudentProjektbetreuerTreeSelectID,10);
}
};
// ****************** FUNKTIONEN ************************** //
@@ -114,6 +130,15 @@ function StudentProjektarbeitTreeLoad(uid)
var tree = document.getElementById('student-projektarbeit-tree');
var url='<?php echo APP_ROOT;?>rdf/projektarbeit.rdf.php?student_uid='+uid+"&"+gettimestamp();
//Alte Observer entfernen
try
{
StudentProjektarbeitTreeDatasource.removeXMLSinkObserver(StudentProjektarbeitTreeSinkObserver);
tree.builder.removeListener(StudentProjektarbeitTreeListener);
}
catch(e)
{}
//Alte DS entfernen
var oldDatasources = tree.database.GetDataSources();
while(oldDatasources.hasMoreElements())
@@ -378,6 +403,14 @@ function StudentProjektarbeitAuswahl()
var tree = document.getElementById('student-projektbetreuer-tree');
var url='<?php echo APP_ROOT;?>rdf/projektbetreuer.rdf.php?projektarbeit_id='+projektarbeit_id+"&"+gettimestamp();
try
{
StudentProjektbetreuerTreeDatasource.removeXMLSinkObserver(StudentProjektbetreuerTreeSinkObserver);
tree.builder.removeListener(StudentProjektbetreuerTreeListener);
}
catch(e)
{}
//Alte DS entfernen
var oldDatasources = tree.database.GetDataSources();
while(oldDatasources.hasMoreElements())
@@ -714,6 +747,12 @@ function StudentProjektbetreuerAuswahl()
var col = tree.columns ? tree.columns["student-projektbetreuer-tree-betreuerart_kurzbz"] : "student-projektbetreuer-treecol-betreuerart_kurzbz";
var betreuerart_kurzbz=tree.view.getCellText(tree.currentIndex,col);
if(projektarbeit_id=='' || person_id=='' || betreuerart_kurzbz=='')
{
debug('StudentProjektbetreuerAuswahl: Fehler beim Laden');
return false;
}
//Daten holen
var url = '<?php echo APP_ROOT ?>rdf/projektbetreuer.rdf.php?projektarbeit_id='+projektarbeit_id+'&person_id='+person_id+'&betreuerart_kurzbz='+betreuerart_kurzbz+'&'+gettimestamp();
@@ -736,7 +775,7 @@ function StudentProjektbetreuerAuswahl()
stundensatz = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#stundensatz" ));
betreuerart_kurzbz = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#betreuerart_kurzbz" ));
person_nachname = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#person_nachname" ));
StudentProjektbetreuerMenulistPersonLoad(document.getElementById('student-projektbetreuer-menulist-person'), person_nachname);
//Werte setzen
@@ -49,10 +49,10 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
<tree id="student-projektarbeit-tree" seltype="single" hidecolumnpicker="false" flex="1"
datasources="rdf:null" ref="http://www.technikum-wien.at/projektarbeit/liste"
style="margin-left:10px;margin-right:10px;margin-bottom:5px;margin-top: 10px;" height="100px" enableColumnDrag="true"
onselect="StudentProjektarbeitAuswahl()"
context="student-projektarbeit-tree-popup"
flags="dont-build-content"
>
<!-- onselect="StudentProjektarbeitAuswahl()" - wird jetzt per JS gesetzt -->
<treecols>
<treecol id="student-projektarbeit-tree-projekttyp_kurzbz" label="Typ" flex="2" hidden="false"
@@ -309,10 +309,10 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
<tree id="student-projektbetreuer-tree" seltype="single" hidecolumnpicker="false" flex="1"
datasources="rdf:null" ref="http://www.technikum-wien.at/projektbetreuer/liste"
style="margin-left:10px;margin-right:10px;margin-bottom:5px;margin-top: 10px;" height="100px" enableColumnDrag="true"
onselect="StudentProjektbetreuerAuswahl()"
context="student-projektbetreuer-tree-popup"
flags="dont-build-content"
>
>
<!--onselect="StudentProjektbetreuerAuswahl()" - wird jetzt per JS gesetzt-->
<treecols>
<treecol id="student-projektbetreuer-tree-nachname" label="Nachname" flex="2" hidden="false"
class="sortDirectionIndicator"
@@ -52,10 +52,10 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
<tree id="student-pruefung-tree" seltype="multi" hidecolumnpicker="false" flex="1"
datasources="rdf:null" ref="http://www.technikum-wien.at/pruefung/liste"
style="margin-left:10px;margin-right:10px;margin-bottom:5px;margin-top: 10px;" height="100px" enableColumnDrag="true"
onselect="StudentPruefungAuswahl()"
context="student-pruefung-tree-popup"
flags="dont-build-content"
>
<!-- onselect="StudentPruefungAuswahl()" - wird jetzt per JS gesetzt -->
<treecols>
<treecol id="student-pruefung-tree-datum" label="Datum" flex="2" hidden="false" primary="true"
+1
View File
@@ -58,6 +58,7 @@ foreach ($typ->result as $row)
<RDF:Description id="<?php echo $row->buchungstyp_kurzbz; ?>" about="<?php echo $rdf_url.'/'.$row->buchungstyp_kurzbz; ?>" >
<TYP:buchungstyp_kurzbz><![CDATA[<?php echo $row->buchungstyp_kurzbz ?>]]></TYP:buchungstyp_kurzbz>
<TYP:beschreibung><![CDATA[<?php echo $row->beschreibung ?>]]></TYP:beschreibung>
<TYP:betrag><![CDATA[<?php echo '-0.00'; ?>]]></TYP:betrag>
</RDF:Description>
</RDF:li>
<?php