mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-07-20 00:12:15 +00:00
This commit is contained in:
@@ -55,7 +55,32 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
|
||||
</hbox>
|
||||
<hbox>
|
||||
<button id="student-konto-button-filterstudenten" oncommand="StudentKontoFilterStudenten('konto')" label="Studentenliste auf offene Buchungen filtern" tooltiptext="Liste aller Studenten mit offenen Buchungen"/>
|
||||
<!--
|
||||
<button id="student-konto-button-filterstudiengebuehr" oncommand="StudentKontoFilterStudenten('studiengebuehr')" label="nicht gebuchte Studiengebuehr" tooltiptext="Liste aller Studenten ohne Studiengebuehrbelastung"/>
|
||||
-->
|
||||
|
||||
<vbox>
|
||||
<spacer flex="1" />
|
||||
<label value="Liste auf nicht gebuchte"/>
|
||||
<sapcer flex="1" />
|
||||
</vbox>
|
||||
<vbox flex="1">
|
||||
<spacer flex="1" />
|
||||
<menulist id="student-konto-menulist-filter-buchungstyp" disabled="false"
|
||||
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>
|
||||
<spacer flex="1" />
|
||||
</vbox>
|
||||
<button id="student-konto-button-filterbuchungstyp" oncommand="StudentKontoFilterBuchungstyp()" label="filtern"/>
|
||||
|
||||
</hbox>
|
||||
</row>
|
||||
|
||||
|
||||
@@ -1940,6 +1940,65 @@ function StudentKontoFilterStudenten(filter)
|
||||
treeStudent.builder.addListener(StudentTreeListener);
|
||||
}
|
||||
|
||||
// ****
|
||||
// * Setzt im Studententree einen Filter auf die Buchungstypen
|
||||
// ****
|
||||
function StudentKontoFilterBuchungstyp()
|
||||
{
|
||||
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
|
||||
var tree=document.getElementById('tree-verband');
|
||||
|
||||
//Wenn nichts markiert wurde -> beenden
|
||||
if(tree.currentIndex==-1)
|
||||
{
|
||||
alert('Bitte zuerst einen Studiengang/Semester waehlen');
|
||||
return;
|
||||
}
|
||||
|
||||
filter = document.getElementById('student-konto-menulist-filter-buchungstyp').value;
|
||||
|
||||
// Progressmeter starten. Ab jetzt keine 'return's mehr.
|
||||
document.getElementById('statusbar-progressmeter').setAttribute('mode','undetermined');
|
||||
//globalProgressmeter.StartPM();
|
||||
|
||||
var stg_kz = getTreeCellText(tree, 'stg_kz', tree.currentIndex);
|
||||
var sem = getTreeCellText(tree, 'sem', tree.currentIndex);
|
||||
var ver = getTreeCellText(tree, 'ver', tree.currentIndex);
|
||||
var grp = getTreeCellText(tree, 'grp', tree.currentIndex);
|
||||
var gruppe = getTreeCellText(tree, 'gruppe', tree.currentIndex);
|
||||
var typ = getTreeCellText(tree, 'typ', tree.currentIndex);
|
||||
var stsem = getTreeCellText(tree, 'stsem', tree.currentIndex);
|
||||
|
||||
if(stsem=='')
|
||||
stsem = getStudiensemester();
|
||||
if(typ=='')
|
||||
typ='student';
|
||||
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);
|
||||
treeStudent.builder.removeListener(StudentTreeListener);
|
||||
}
|
||||
catch(e)
|
||||
{}
|
||||
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService);
|
||||
StudentTreeDatasource = rdfService.GetDataSource(url);
|
||||
StudentTreeDatasource.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource);
|
||||
StudentTreeDatasource.QueryInterface(Components.interfaces.nsIRDFXMLSink);
|
||||
treeStudent.database.AddDataSource(StudentTreeDatasource);
|
||||
StudentTreeDatasource.addXMLSinkObserver(StudentTreeSinkObserver);
|
||||
treeStudent.builder.addListener(StudentTreeListener);
|
||||
}
|
||||
|
||||
// ****
|
||||
// * Aktiviert / Deaktiviert die Konto Felder
|
||||
// ****
|
||||
|
||||
@@ -370,7 +370,7 @@ class konto
|
||||
$qry = "SELECT tbl_konto.*, anrede, titelpost, titelpre, nachname, vorname, vornamen
|
||||
FROM public.tbl_konto JOIN public.tbl_person USING (person_id)
|
||||
WHERE person_id='".$person_id."' $stgwhere ORDER BY buchungsdatum";
|
||||
|
||||
|
||||
if($result = pg_query($this->conn, $qry))
|
||||
{
|
||||
while($row = pg_fetch_object($result))
|
||||
|
||||
@@ -91,6 +91,23 @@ function checkfilter($row, $filter2)
|
||||
if($row_filter->anzahl>0 || $prestudent->rolle_kurzbz=='Incoming')
|
||||
return false;
|
||||
}
|
||||
elseif(strstr($filter2,'buchungstyp;'))
|
||||
{
|
||||
// Alle Personen die keine Belastung auf den uebergebenen Buchungstyp haben
|
||||
// Incoming werden nicht beruecksichtigt
|
||||
list($filter, $buchungstyp) = split(';',$filter2);
|
||||
$prestudent = new prestudent($conn, null, null);
|
||||
$prestudent->getLastStatus($row->prestudent_id);
|
||||
|
||||
$qry = "SELECT count(*) as anzahl FROM public.tbl_konto WHERE
|
||||
studiensemester_kurzbz='".addslashes($studiensemester_kurzbz)."' AND
|
||||
person_id='".addslashes($row->person_id)."' AND
|
||||
buchungstyp_kurzbz='$buchungstyp'";
|
||||
if($result_filter = pg_query($conn, $qry))
|
||||
if($row_filter = pg_fetch_object($result_filter))
|
||||
if($row_filter->anzahl>0 || $prestudent->rolle_kurzbz=='Incoming')
|
||||
return false;
|
||||
}
|
||||
elseif($filter2=='zgvohnedatum')
|
||||
{
|
||||
//Alle Personen die den ZGV Typ eingetragen haben aber noch kein Datum
|
||||
|
||||
Reference in New Issue
Block a user