Dropdown zur Auswahl der Reihungstests zeigt nur noch zukuenftige Eintraege

This commit is contained in:
Andreas Österreicher
2014-03-24 13:49:11 +00:00
parent 753603817a
commit 8aa54621e9
4 changed files with 80 additions and 5 deletions
+2 -1
View File
@@ -351,8 +351,9 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
</hbox> </hbox>
<label value="Reihungstest" control="student-prestudent-menulist-reihungstest"/> <label value="Reihungstest" control="student-prestudent-menulist-reihungstest"/>
<hbox> <hbox>
<!-- datasources="<?php echo APP_ROOT ?>rdf/reihungstest.rdf.php?optional=true" flex="1"-->
<menulist id="student-prestudent-menulist-reihungstest" disabled="true" <menulist id="student-prestudent-menulist-reihungstest" disabled="true"
datasources="<?php echo APP_ROOT ?>rdf/reihungstest.rdf.php?optional=true" flex="1" datasources="rdf:null" flex="1"
ref="http://www.technikum-wien.at/reihungstest/alle" ref="http://www.technikum-wien.at/reihungstest/alle"
oncommand="StudentReihungstestDropDownSelect()"> oncommand="StudentReihungstestDropDownSelect()">
<template> <template>
+20 -1
View File
@@ -983,7 +983,7 @@ function StudentAuswahl()
document.getElementById('student-prestudent-checkbox-facheinschlberuf').checked=true; document.getElementById('student-prestudent-checkbox-facheinschlberuf').checked=true;
else else
document.getElementById('student-prestudent-checkbox-facheinschlberuf').checked=false; document.getElementById('student-prestudent-checkbox-facheinschlberuf').checked=false;
document.getElementById('student-prestudent-menulist-reihungstest').value=reihungstest_id;
document.getElementById('student-prestudent-textbox-anmeldungreihungstest').value=anmeldungreihungstest; document.getElementById('student-prestudent-textbox-anmeldungreihungstest').value=anmeldungreihungstest;
if(reihungstestangetreten=='true') if(reihungstestangetreten=='true')
document.getElementById('student-prestudent-checkbox-reihungstestangetreten').checked=true; document.getElementById('student-prestudent-checkbox-reihungstestangetreten').checked=true;
@@ -1037,6 +1037,25 @@ function StudentAuswahl()
StudentDetailRolleTreeDatasource.QueryInterface(Components.interfaces.nsIRDFXMLSink); StudentDetailRolleTreeDatasource.QueryInterface(Components.interfaces.nsIRDFXMLSink);
rollentree.database.AddDataSource(StudentDetailRolleTreeDatasource); rollentree.database.AddDataSource(StudentDetailRolleTreeDatasource);
StudentDetailRolleTreeDatasource.addXMLSinkObserver(StudentDetailRolleTreeSinkObserver); StudentDetailRolleTreeDatasource.addXMLSinkObserver(StudentDetailRolleTreeSinkObserver);
// Reihungstest DropDown
var reihungstestmenulist = document.getElementById('student-prestudent-menulist-reihungstest');
var url="<?php echo APP_ROOT ?>rdf/reihungstest.rdf.php?optional=true&include_id="+reihungstest_id+"&studiengang_kz="+studiengang_kz_prestudent;
//Alte DS entfernen
var oldDatasources = reihungstestmenulist.database.GetDataSources();
while(oldDatasources.hasMoreElements())
{
reihungstestmenulist.database.RemoveDataSource(oldDatasources.getNext());
}
//Refresh damit die entfernten DS auch wirklich entfernt werden
reihungstestmenulist.builder.rebuild();
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService);
var myDatasource = rdfService.GetDataSourceBlocking(url);
reihungstestmenulist.database.AddDataSource(myDatasource);
reihungstestmenulist.builder.rebuild();
document.getElementById('student-prestudent-menulist-reihungstest').value=reihungstest_id;
if(uid=='') if(uid=='')
{ {
+47 -1
View File
@@ -290,5 +290,51 @@ class reihungstest extends basis_db
return false; return false;
} }
} }
/**
* Liefert die Reihungstests der Zukunft und einer bestimmten ID
* Und sortiert diese so, dass die des uebergebenen Studienganges zuerst geliefert werden
* @param $include_id
* @param $studiengang_kz
* @return true wenn ok, sonst false
*/
public function getZukuenftige($include_id, $studiengang_kz)
{
$qry = "SELECT *, '1' as sortierung,(SELECT upper(typ || kurzbz) FROM public.tbl_studiengang WHERE studiengang_kz=tbl_reihungstest.studiengang_kz) as stg FROM public.tbl_reihungstest WHERE datum>=now()-'1 days'::interval AND studiengang_kz=".$this->db_add_param($studiengang_kz)."
UNION
SELECT *, '2' as sortierung,(SELECT upper(typ || kurzbz) FROM public.tbl_studiengang WHERE studiengang_kz=tbl_reihungstest.studiengang_kz) as stg FROM public.tbl_reihungstest WHERE datum>=now()-'1 days'::interval AND studiengang_kz!=".$this->db_add_param($studiengang_kz)."
UNION
SELECT *, '0' as sortierung,(SELECT upper(typ || kurzbz) FROM public.tbl_studiengang WHERE studiengang_kz=tbl_reihungstest.studiengang_kz) as stg FROM public.tbl_reihungstest WHERE reihungstest_id=".$this->db_add_param($include_id)."
ORDER BY sortierung, stg, datum";
if($this->db_query($qry))
{
while($row = $this->db_fetch_object())
{
$obj = new reihungstest();
$obj->reihungstest_id = $row->reihungstest_id;
$obj->studiengang_kz = $row->studiengang_kz;
$obj->ort_kurzbz = $row->ort_kurzbz;
$obj->anmerkung = $row->anmerkung;
$obj->datum = $row->datum;
$obj->uhrzeit = $row->uhrzeit;
$obj->ext_id = $row->ext_id;
$obj->insertamum = $row->insertamum;
$obj->insertvon = $row->insertvon;
$obj->updateamum = $row->updateamum;
$obj->updatevon = $row->updatevon;
$obj->freigeschaltet = $this->db_parse_bool($row->freigeschaltet);
$this->result[] = $obj;
}
return true;
}
else
{
$this->errormsg = 'Fehler beim Laden der Reihungstests';
return false;
}
}
} }
?> ?>
+11 -2
View File
@@ -69,7 +69,16 @@ foreach ($stg_obj->result as $row)
$stg[$row->studiengang_kz]=$row->kuerzel; $stg[$row->studiengang_kz]=$row->kuerzel;
$rt = new reihungstest(); $rt = new reihungstest();
$rt->getAll();
if(isset($_GET['include_id']) && isset($_GET['studiengang_kz']))
{
$include_id=$_GET['include_id'];
$studiengang_kz=$_GET['studiengang_kz'];
$rt->getZukuenftige($include_id, $studiengang_kz);
}
else
$rt->getAll();
foreach ($rt->result as $row) foreach ($rt->result as $row)
{ {
?> ?>
@@ -88,4 +97,4 @@ foreach ($rt->result as $row)
} }
?> ?>
</RDF:Seq> </RDF:Seq>
</RDF:RDF> </RDF:RDF>