Filter im Tempus nach Vertragsstatus hinzugefügt

This commit is contained in:
Andreas Österreicher
2019-11-27 18:18:44 +01:00
parent 9e6af6579f
commit ff6b7a024d
4 changed files with 165 additions and 54 deletions
@@ -63,6 +63,7 @@ function onLVAFilter()
vboxLehrveranstalungPlanung.setAttribute('datasources',datasources);
}
// LVA-Panel aktualisieren
function onLektorRefresh()
{
@@ -132,6 +133,44 @@ function LehrstundeGetSortOrder()
return 'stundenDESC';
}
// LVA-Panel auf Vertragsstatus filtern
function onLVAFilterVertrag(item)
{
var vorher='';
var nachher='';
var vertragsstatus=item.getAttribute('value');
//Sortiermarkierung von allen entfernen
var toolbar = document.getElementById('toolbarTimeTableFilterVertrag');
var tbbuttons = toolbar.getElementsByTagName('toolbarbutton');
for each(var button in tbbuttons)
{
if(button.id)
button.setAttribute('checked','false');
}
//Element als gedrueckt markieren
item.setAttribute('checked','true');
// LVAs
var vboxLehrveranstalungPlanung=document.getElementById('vboxLehrveranstalungPlanung');
var datasources=vboxLehrveranstalungPlanung.getAttribute('datasources');
var orig=datasources.substring(0);
var idx = datasources.indexOf("&vertrag=")
if(idx!=-1)
{
idx2=datasources.indexOf("&",idx+10);
vorher=datasources.slice(0,idx);
if(idx2!=-1)
nachher=datasources.slice(idx2);
datasources=vorher+nachher;
}
datasources=datasources+"&vertrag="+encodeURIComponent(vertragsstatus);
vboxLehrveranstalungPlanung.setAttribute('datasources',datasources);
}
// LVA-Panel filtern
function onLVASort(item)
{
+29 -2
View File
@@ -110,7 +110,35 @@ echo '<?xul-overlay href="'.APP_ROOT.'content/lvplanung/stpl-details-overlay.xul
/>
<textbox id="tempus-lva-filter" size="10" oninput="onLVAFilter()" flex="1"/>
</toolbar>
<toolbar id="toolbarTimeTableFilterVertrag" tbautostretch="always" persist="collapsed">
<toolbarbutton
image="../public/images/icons/fa-user-clock.png"
label="Alle"
class="timetablefilter-vertrag"
oncommand="onLVAFilterVertrag(this);"
value=""
id="toolbarTimeTableFilter-alle"
tooltiptext="Filter Status Alle"
/>
<toolbarbutton
image="../public/images/icons/fa-user-tag.png"
label="Bestellt"
class="timetablefilter-vertrag"
oncommand="onLVAFilterVertrag(this);"
value="bestellt"
id="toolbarTimeTableFilter-bestellt"
tooltiptext="Filter Status Bestellt"
/>
<toolbarbutton
image="../public/images/icons/fa-user-check.png"
label="Erteilt"
class="timetablefilter-vertrag"
oncommand="onLVAFilterVertrag(this);"
value="erteilt"
id="toolbarTimeTableFilter-erteilt"
tooltiptext="Filter Status Erteilt"
/>
</toolbar>
</toolbox>
<vbox id="vboxLehrveranstalungPlanung" style="overflow:auto;margin:0px;" flex="1"
@@ -257,7 +285,6 @@ echo '<?xul-overlay href="'.APP_ROOT.'content/lvplanung/stpl-details-overlay.xul
id="toolbarTimeTableSort-stundenASC"
tooltiptext="Offenen Stunden aufsteigend"
/>
</toolbar>
</toolbox>
</vbox>
+44 -4
View File
@@ -92,6 +92,10 @@ if (isset($_GET['orgform']))
$orgform=$_GET['orgform'];
else
$orgform=null;
if (isset($_GET['vertrag']))
$vertrag=$_GET['vertrag'];
else
$vertrag=null;
//Sortierreihenfolge
if(isset($_GET['order']))
@@ -306,7 +310,8 @@ if ($anz>0)
else
$fixangestellt_info = 'EXT';
$vertragsstatus = 'Neu';
$vertragsstatus_arr = array();
$vertragsstatus_kurzbz_arr = array();
// Lehrauftragsstatus ermitteln
foreach ($l->lem as $row_lem)
{
@@ -315,12 +320,47 @@ if ($anz>0)
{
if ($lem_obj->vertrag_id != '')
{
$vertrag = new vertrag();
if($vertrag->getStatus($lem_obj->vertrag_id))
$vertrag_obj = new vertrag();
if($vertrag_obj->getStatus($lem_obj->vertrag_id))
{
$vertragsstatus = $vertrag->vertragsstatus_bezeichnung;
$vertragsstatus_arr[] = $vertrag_obj->vertragsstatus_bezeichnung;
$vertragsstatus_kurzbz_arr[] = $vertrag_obj->vertragsstatus_kurzbz;
}
}
else
{
$vertragsstatus_arr[] = 'Neu';
}
}
}
$vertragsstatus = implode(',', array_unique($vertragsstatus_arr));
if (!is_null($vertrag) && $vertrag != '')
{
switch($vertrag)
{
// Alle ab Status erteilt herausfiltern
// der rest wird verworfen
case 'erteilt':
if (!in_array('erteilt', $vertragsstatus_kurzbz_arr)
&& !in_array('akzeptiert', $vertragsstatus_kurzbz_arr))
{
continue 2;
}
break;
// Alle ab Status bestellt herausfiltern
// der rest wird verworfen
case 'bestellt':
if (!in_array('bestellt', $vertragsstatus_kurzbz_arr)
&& !in_array('erteilt', $vertragsstatus_kurzbz_arr)
&& !in_array('akzeptiert', $vertragsstatus_kurzbz_arr))
{
continue 2;
}
break;
default:
break;
}
}
echo'<RDF:li>
+5
View File
@@ -219,3 +219,8 @@ treechildren::-moz-tree-row(makeItMarked)
{
background-color: #ceffb0;
}
.timetablefilter-vertrag .toolbarbutton-icon {
width: 25px;
height:25px;
}