mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-06-01 20:29:29 +00:00
create merged branch with all features on topic Wiederholer - feature 12998
This commit is contained in:
@@ -208,6 +208,21 @@ else
|
||||
<menuitem id="student-toolbar-filter-offenebuchungen" label="offene Buchungen" oncommand="StudentKontoFilterStudenten('konto')" disabled="false" tooltiptext="Liste aller Studenten mit offenen Buchungen"/>
|
||||
<menuitem id="student-toolbar-filter-studiengebuehr" label="nicht gebuchte Studiengebuehr" oncommand="StudentKontoFilterStudenten('studiengebuehr')" disabled="false" tooltiptext="Liste aller Studenten die noch nicht mit Studienbebuehr belastet wurden" />
|
||||
<menuitem id="student-toolbar-filter-zgvohnedatum" label="ZGV eingetragen ohne Datum" oncommand="StudentKontoFilterStudenten('zgvohnedatum')" disabled="false" tooltiptext="Liste aller Studenten die ZGV eingetragen haben bei denen aber kein ZGV Datum gesetzt ist" />
|
||||
<menu label="nach Statusgrund">
|
||||
<menupopup id="student-filter-statusgrund-menu-popup">
|
||||
<?php
|
||||
$statusgrund = new statusgrund();
|
||||
$statusgrund->getAll(true);
|
||||
|
||||
foreach($statusgrund->result as $row)
|
||||
{
|
||||
?>
|
||||
<menuitem id="student-toolbar-filter-statusgrund-<?php echo $row->statusgrund_id;?>" label="<?php echo $row->bezeichnung_mehrsprachig[DEFAULT_LANGUAGE];?>" oncommand="StudentKontoFilterStudenten('stud-statusgrund-<?php echo $row->statusgrund_id; ?>')" disabled="false" tooltiptext="Liste aller Studenten mit Statusgrund <?php echo $row->bezeichnung_mehrsprachig[DEFAULT_LANGUAGE];?>" />
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
</menupopup>
|
||||
</menu>
|
||||
</menupopup>
|
||||
</toolbarbutton>
|
||||
<?php
|
||||
|
||||
@@ -1034,7 +1034,11 @@ function StudentAuswahl()
|
||||
StudentGesamtNotenTreeloaded=false;
|
||||
|
||||
stsem = getStudiensemester();
|
||||
var url = '<?php echo APP_ROOT ?>rdf/student.rdf.php?prestudent_id='+prestudent_id+'&studiensemester_kurzbz='+stsem+'&'+gettimestamp();
|
||||
|
||||
var url = buildStudentRDFURI({
|
||||
'prestudent_id': prestudent_id,
|
||||
'studiensemester_kurzbz': stsem
|
||||
});
|
||||
|
||||
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].
|
||||
getService(Components.interfaces.nsIRDFService);
|
||||
@@ -2564,11 +2568,48 @@ function StudentKontoFilter()
|
||||
kontotree.builder.addListener(StudentKontoTreeListener);
|
||||
}
|
||||
|
||||
// ****
|
||||
// * Generiert eine student.rdf URI
|
||||
// ****
|
||||
function buildStudentRDFURI(queryparams, tree)
|
||||
{
|
||||
var baseurl = "<?php echo APP_ROOT; ?>rdf/student.rdf.php";
|
||||
if ( typeof tree !== "undefined" )
|
||||
{
|
||||
var col = tree.columns ? tree.columns["tree-verband-col-orgform"] : "tree-verband-col-orgform";
|
||||
queryparams.orgform = tree.view.getCellText(tree.currentIndex,col);
|
||||
}
|
||||
return _buildURI(baseurl, queryparams);
|
||||
}
|
||||
|
||||
// ****
|
||||
// * Generiert aus einer BasisURL und einem Dictionary von Parametern eine URI
|
||||
// ****
|
||||
function _buildURI(baseurl, queryparams)
|
||||
{
|
||||
var str = [];
|
||||
var url = baseurl;
|
||||
for (var p in queryparams)
|
||||
{
|
||||
if ( queryparams.hasOwnProperty(p) && queryparams[p].length > 0 )
|
||||
{
|
||||
str.push(encodeURIComponent(p) + "=" + encodeURIComponent(queryparams[p]));
|
||||
}
|
||||
}
|
||||
var querystring = str.join("&");
|
||||
if ( querystring.length > 0 )
|
||||
{
|
||||
url = url + '?' + querystring + '&' + gettimestamp();
|
||||
}
|
||||
return url;
|
||||
}
|
||||
|
||||
// ****
|
||||
// * Setzt im Studententree einen vordefinierten Filter
|
||||
// ****
|
||||
function StudentKontoFilterStudenten(filter)
|
||||
{
|
||||
//alert(filter);
|
||||
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
|
||||
var tree=document.getElementById('tree-verband');
|
||||
|
||||
@@ -2591,12 +2632,26 @@ function StudentKontoFilterStudenten(filter)
|
||||
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="+filter+"&buchungstyp="+buchungstyp+"&"+gettimestamp();
|
||||
|
||||
var url = buildStudentRDFURI({
|
||||
'studiengang_kz': stg_kz,
|
||||
'semester': sem,
|
||||
'verband': ver,
|
||||
'gruppe': grp,
|
||||
'gruppe_kurzbz': gruppe,
|
||||
'studiensemester_kurzbz': stsem,
|
||||
'typ': typ,
|
||||
'filter2': filter,
|
||||
'buchungstyp': buchungstyp
|
||||
}, tree);
|
||||
|
||||
console.log(url);
|
||||
|
||||
var treeStudent=document.getElementById('student-tree');
|
||||
|
||||
try
|
||||
@@ -2614,6 +2669,7 @@ function StudentKontoFilterStudenten(filter)
|
||||
treeStudent.database.RemoveDataSource(oldDatasources.getNext());
|
||||
}
|
||||
|
||||
//alert(url);
|
||||
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService);
|
||||
StudentTreeDatasource = rdfService.GetDataSource(url);
|
||||
StudentTreeDatasource.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource);
|
||||
@@ -2655,7 +2711,18 @@ function StudentKontoFilterBuchungstyp()
|
||||
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 url = buildStudentRDFURI({
|
||||
'studiengang_kz': stg_kz,
|
||||
'semester': sem,
|
||||
'verband': ver,
|
||||
'gruppe': grp,
|
||||
'gruppe_kurzbz': gruppe,
|
||||
'studiensemester_kurzbz': stsem,
|
||||
'typ': typ,
|
||||
'filter2': 'buchungstyp;' + filter
|
||||
}, tree);
|
||||
|
||||
var treeStudent=document.getElementById('student-tree');
|
||||
|
||||
try
|
||||
@@ -5436,8 +5503,10 @@ function StudentSuche()
|
||||
document.getElementById('tree-verband').view.selection.clearSelection();
|
||||
|
||||
//Datasource setzten und Felder deaktivieren
|
||||
url = "<?php echo APP_ROOT; ?>rdf/student.rdf.php?filter="+encodeURIComponent(filter)+"&"+gettimestamp();
|
||||
|
||||
var url = buildStudentRDFURI({
|
||||
'filter': filter
|
||||
});
|
||||
|
||||
var treeStudent=document.getElementById('student-tree');
|
||||
|
||||
try
|
||||
|
||||
+17
-1
@@ -61,8 +61,9 @@ function convdate($date)
|
||||
|
||||
function checkfilter($row, $filter2, $buchungstyp = null)
|
||||
{
|
||||
global $studiensemester_kurzbz, $kontofilterstg;
|
||||
global $studiensemester_kurzbz, $kontofilterstg, $studiengang_kz;
|
||||
$db = new basis_db();
|
||||
$studstatusgrund = array();
|
||||
|
||||
if($filter2=='dokumente')
|
||||
{
|
||||
@@ -157,6 +158,21 @@ function checkfilter($row, $filter2, $buchungstyp = null)
|
||||
}
|
||||
}
|
||||
}
|
||||
elseif ( preg_match('/^stud-statusgrund-([0-9]+)$/', $filter2, $studstatusgrund) )
|
||||
{
|
||||
// Alle Studenten mit Statusgrund in tbl_prestudentstatus
|
||||
$qry = "SELECT count(*) AS anzahl FROM public.tbl_prestudentstatus ps JOIN
|
||||
public.tbl_prestudent p ON p.prestudent_id = ps.prestudent_id AND
|
||||
ps. studiensemester_kurzbz=".$db->db_add_param($studiensemester_kurzbz)." AND
|
||||
p. person_id=".$db->db_add_param($row->person_id, FHC_INTEGER)." AND
|
||||
p.studiengang_kz=" . $db->db_add_param($studiengang_kz, FHC_INTEGER) . " AND
|
||||
ps.statusgrund_id = " . $db->db_add_param($studstatusgrund[1], FHC_INTEGER);
|
||||
//echo $qry . "\n";
|
||||
$filtered = ( $db->db_query($qry) && ($row_filter = $db->db_fetch_object()) && ($row_filter->anzahl > 0) )
|
||||
? true
|
||||
: false;
|
||||
return $filtered;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user