mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-06-01 12:19:28 +00:00
Filter im Tempus nach Vertragsstatus hinzugefügt
This commit is contained in:
@@ -41,11 +41,11 @@ function onLVAFilter()
|
||||
var filter=document.getElementById('tempus-lva-filter').value;
|
||||
var vorher='';
|
||||
var nachher='';
|
||||
|
||||
|
||||
// LVAs
|
||||
var vboxLehrveranstalungPlanung=document.getElementById('vboxLehrveranstalungPlanung');
|
||||
var datasources=vboxLehrveranstalungPlanung.getAttribute('datasources');
|
||||
|
||||
|
||||
var orig=datasources.substring(0);
|
||||
var idx = datasources.indexOf("&filter=")
|
||||
if(idx!=-1)
|
||||
@@ -56,13 +56,14 @@ function onLVAFilter()
|
||||
nachher=datasources.slice(idx2);
|
||||
datasources=vorher+nachher;
|
||||
}
|
||||
|
||||
|
||||
datasources=datasources+"&filter="+encodeURIComponent(filter);
|
||||
|
||||
|
||||
//alert('Orig:'+orig+' Source: '+datasources+' Vorher:'+vorher+' Nachher:'+nachher);
|
||||
vboxLehrveranstalungPlanung.setAttribute('datasources',datasources);
|
||||
}
|
||||
|
||||
|
||||
// LVA-Panel aktualisieren
|
||||
function onLektorRefresh()
|
||||
{
|
||||
@@ -121,7 +122,7 @@ function LehrstundeGetSortOrder()
|
||||
{
|
||||
var toolbar = document.getElementById('toolbarTimeTableSort');
|
||||
var tbbuttons = toolbar.getElementsByTagName('toolbarbutton');
|
||||
|
||||
|
||||
for each(var button in tbbuttons)
|
||||
{
|
||||
if(button.getAttribute('checked')=='true')
|
||||
@@ -132,17 +133,17 @@ function LehrstundeGetSortOrder()
|
||||
return 'stundenDESC';
|
||||
}
|
||||
|
||||
// LVA-Panel filtern
|
||||
function onLVASort(item)
|
||||
// LVA-Panel auf Vertragsstatus filtern
|
||||
function onLVAFilterVertrag(item)
|
||||
{
|
||||
var vorher='';
|
||||
var nachher='';
|
||||
var order=item.getAttribute('value');
|
||||
|
||||
var vertragsstatus=item.getAttribute('value');
|
||||
|
||||
//Sortiermarkierung von allen entfernen
|
||||
var toolbar = document.getElementById('toolbarTimeTableSort');
|
||||
var toolbar = document.getElementById('toolbarTimeTableFilterVertrag');
|
||||
var tbbuttons = toolbar.getElementsByTagName('toolbarbutton');
|
||||
|
||||
|
||||
for each(var button in tbbuttons)
|
||||
{
|
||||
if(button.id)
|
||||
@@ -150,11 +151,49 @@ function onLVASort(item)
|
||||
}
|
||||
//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)
|
||||
{
|
||||
var vorher='';
|
||||
var nachher='';
|
||||
var order=item.getAttribute('value');
|
||||
|
||||
//Sortiermarkierung von allen entfernen
|
||||
var toolbar = document.getElementById('toolbarTimeTableSort');
|
||||
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("&order=")
|
||||
if(idx!=-1)
|
||||
@@ -165,9 +204,9 @@ function onLVASort(item)
|
||||
nachher=datasources.slice(idx2);
|
||||
datasources=vorher+nachher;
|
||||
}
|
||||
|
||||
|
||||
datasources=datasources+"&order="+encodeURIComponent(order);
|
||||
|
||||
|
||||
//alert('Orig:'+orig+' Source: '+datasources+' Vorher:'+vorher+' Nachher:'+nachher);
|
||||
vboxLehrveranstalungPlanung.setAttribute('datasources',datasources);
|
||||
}
|
||||
@@ -301,7 +340,7 @@ function StplSearchRoom(target)
|
||||
saveScrollPositionTimeTableWeek();
|
||||
if(typeof(target)==='undefined')
|
||||
target = document.popupNode;
|
||||
|
||||
|
||||
var contentFrame=document.getElementById('iframeTimeTableWeek');
|
||||
var daten=document.getElementById('TimeTableWeekData');
|
||||
var datum=parseInt(daten.getAttribute("datum"));
|
||||
@@ -316,7 +355,7 @@ function StplSearchRoom(target)
|
||||
var aktion=target.getAttribute("aktion");
|
||||
aktion+="_single_search";
|
||||
var idList=target.getAttribute("idList");
|
||||
|
||||
|
||||
var attributes="\n?type="+type+"&datum="+datum+"&ort="+ort+"&pers_uid="+pers_uid+"\n&stg_kz="+stg_kz+"&sem="+sem+"&ver="+ver+"&grp="+grp+"\n&gruppe="+gruppe;
|
||||
attributes+=idList+"&aktion="+aktion;
|
||||
var url = "<?php echo APP_ROOT; ?>content/lvplanung/timetable-week.xul.php";
|
||||
@@ -336,7 +375,7 @@ function TimeTableWeekMarkiere(item)
|
||||
if(!item)
|
||||
{
|
||||
items = document.getElementsByTagName('button');
|
||||
|
||||
|
||||
for each(var button in items)
|
||||
{
|
||||
if(button.id && button.id.startsWith('buttonSTPL'))
|
||||
@@ -346,7 +385,7 @@ function TimeTableWeekMarkiere(item)
|
||||
//button.style.fontStyle='normal';
|
||||
//button.style.fontWeight='normal';
|
||||
button.style.border = "1px solid transparent";
|
||||
|
||||
|
||||
button.style.MozBorderTopColors='transparent';
|
||||
button.style.MozBorderLeftColors='transparent';
|
||||
button.style.MozBorderBottomColors='transparent';
|
||||
@@ -358,19 +397,19 @@ function TimeTableWeekMarkiere(item)
|
||||
else
|
||||
{
|
||||
item.setAttribute('marked','true');
|
||||
|
||||
|
||||
item.style.color='darkred';
|
||||
//item.style.fontStyle='italic';
|
||||
//item.style.fontWeight='bold';
|
||||
|
||||
|
||||
item.style.border = "1px solid darkred";
|
||||
|
||||
|
||||
item.style.MozBorderTopColors='darkred';
|
||||
item.style.MozBorderLeftColors='darkred';
|
||||
item.style.MozBorderBottomColors='darkred';
|
||||
item.style.MozBorderRightColors='darkred';
|
||||
|
||||
TimeTableWeekLastMarkedItem=item;
|
||||
|
||||
TimeTableWeekLastMarkedItem=item;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -463,7 +502,7 @@ function TimeTableWeekClick(event)
|
||||
}
|
||||
else if(event.shiftKey)
|
||||
{
|
||||
//Wenn mit Shift auf eine Stunde geklickt wird, dann werden alle Stunden markiert,
|
||||
//Wenn mit Shift auf eine Stunde geklickt wird, dann werden alle Stunden markiert,
|
||||
//die zwischen der zuletzt markierten und dieser Stunde liegen
|
||||
start = parseInt(TimeTableWeekLastMarkedItem.id.substring('buttonSTPL'.length));
|
||||
ende = parseInt(event.target.id.substring('buttonSTPL'.length));
|
||||
@@ -473,7 +512,7 @@ function TimeTableWeekClick(event)
|
||||
ende = start;
|
||||
start = hlp;
|
||||
}
|
||||
|
||||
|
||||
for(var i=start;i<=ende;i++)
|
||||
{
|
||||
item = document.getElementById('buttonSTPL'+i);
|
||||
@@ -482,13 +521,13 @@ function TimeTableWeekClick(event)
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
|
||||
//alle markierungen entfernen
|
||||
TimeTableWeekMarkiere();
|
||||
|
||||
|
||||
//aktuellen Eintrag markieren
|
||||
TimeTableWeekMarkiere(event.target);
|
||||
|
||||
|
||||
//Details anzeigen
|
||||
onStplDetail(event);
|
||||
}
|
||||
@@ -510,7 +549,7 @@ function TimeTableWeekDblClick(event)
|
||||
{
|
||||
buttonunr=button.getAttribute('unr');
|
||||
buttonwochentag=button.getAttribute('wochentag');
|
||||
|
||||
|
||||
if(buttonunr==unr && buttonwochentag==wochentag)
|
||||
{
|
||||
TimeTableWeekMarkiere(button);
|
||||
@@ -597,7 +636,7 @@ function STPLDetailSave(dialog)
|
||||
}
|
||||
var url = '<?php echo APP_ROOT ?>content/tempusDBDML.php';
|
||||
var req = new phpRequest(url,'','');
|
||||
|
||||
|
||||
req.add('type', 'savestundenplaneintrag');
|
||||
|
||||
req.add('stundenplan_id', id);
|
||||
@@ -614,7 +653,7 @@ function STPLDetailSave(dialog)
|
||||
req.add('fix', fix);
|
||||
req.add('mitarbeiter_uid', mitarbeiter_uid);
|
||||
req.add('semester',semester);
|
||||
|
||||
|
||||
var response = req.executePOST();
|
||||
|
||||
var val = new ParseReturnValue(response)
|
||||
@@ -630,14 +669,14 @@ function STPLDetailSave(dialog)
|
||||
else
|
||||
{
|
||||
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
|
||||
|
||||
|
||||
var treeStplDetails=parent.document.getElementById('treeStplDetails');
|
||||
//alert('url'+STPLlastDetailUrl);
|
||||
treeStplDetails.setAttribute('datasources', '');
|
||||
treeStplDetails.setAttribute('datasources', STPLlastDetailUrl+"&ts="+gettimestamp());
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
// ****
|
||||
@@ -647,7 +686,7 @@ function STPLDetailDelete()
|
||||
{
|
||||
//alert('url'+STPLlastDetailUrl);
|
||||
//return false;
|
||||
|
||||
|
||||
tree = document.getElementById('treeStplDetails');
|
||||
if(tree.currentIndex==-1)
|
||||
{
|
||||
@@ -657,15 +696,15 @@ function STPLDetailDelete()
|
||||
|
||||
var col = tree.columns ? tree.columns["stundenplan_id"] : "stundenplan_id";
|
||||
var stundenplanid = tree.view.getCellText(tree.currentIndex,col);
|
||||
|
||||
|
||||
var col = tree.columns ? tree.columns["stpl-details-overlay-lehrstunde-reservierung"] : "stpl-details-overlay-lehrstunde-reservierung";
|
||||
var reservierung = tree.view.getCellText(tree.currentIndex,col);
|
||||
|
||||
|
||||
if(confirm('Wollen Sie diesen Datensatz wirklich loeschen?'))
|
||||
{
|
||||
var url = '<?php echo APP_ROOT ?>content/tempusDBDML.php';
|
||||
var req = new phpRequest(url,'','');
|
||||
|
||||
|
||||
if(reservierung=='true')
|
||||
{
|
||||
req.add('type', 'deletereservierung');
|
||||
@@ -676,11 +715,11 @@ function STPLDetailDelete()
|
||||
req.add('type', 'deletestundenplaneintrag');
|
||||
req.add('stundenplan_id', stundenplanid);
|
||||
}
|
||||
|
||||
|
||||
var response = req.executePOST();
|
||||
|
||||
|
||||
var val = new ParseReturnValue(response)
|
||||
|
||||
|
||||
if (!val.dbdml_return)
|
||||
{
|
||||
if(val.dbdml_errormsg=='')
|
||||
@@ -691,7 +730,7 @@ function STPLDetailDelete()
|
||||
else
|
||||
{
|
||||
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
|
||||
|
||||
|
||||
var treeStplDetails=parent.document.getElementById('treeStplDetails');
|
||||
//alert('url'+STPLlastDetailUrl);
|
||||
treeStplDetails.setAttribute('datasources', '');
|
||||
@@ -758,18 +797,18 @@ function TimetableDeleteEntries()
|
||||
var pers_uid=daten.getAttribute("pers_uid");
|
||||
var doIt=true;
|
||||
var aktion='stpl_delete_single';
|
||||
|
||||
|
||||
doIt=confirm('Es werden die gewaehlten Eintraege aus dem LV-Plan geloescht!\nSind Sie sicher?')
|
||||
|
||||
var attributes="\n?type="+type+"&datum="+datum+"&ort="+encodeURIComponent(ort)+"&pers_uid="+pers_uid+"\n&stg_kz="+stg_kz+"&sem="+sem+"&ver="+ver+"&grp="+grp+"\n&gruppe="+gruppe;
|
||||
attributes+="&aktion="+aktion;
|
||||
var url = "<?php echo APP_ROOT; ?>content/lvplanung/timetable-week.xul.php";
|
||||
url+=attributes;
|
||||
|
||||
|
||||
//IDs der Stunden dazuhaengen
|
||||
idList = TimeTableWeekGetMarkedIdList();
|
||||
url+=idList
|
||||
|
||||
|
||||
if (url && doIt)
|
||||
location.href=url;
|
||||
}
|
||||
@@ -795,7 +834,7 @@ function BetriebsmittelZuordnen(item)
|
||||
{
|
||||
for(i in stunden)
|
||||
url = url+'&stunde[]='+stunden[i];
|
||||
|
||||
|
||||
// Alle StundenplanIDs holen von den Eintraegen die markiert sind
|
||||
var ids = TimeTableWeekGetMarkedIdArray();
|
||||
for(i in ids)
|
||||
@@ -805,7 +844,7 @@ function BetriebsmittelZuordnen(item)
|
||||
{
|
||||
// Wenn kein eintrag markiert ist, wird der genommen auf den geklickt wurde
|
||||
url = url+'&stunde[]'+item.getAttribute('stunde');
|
||||
|
||||
|
||||
idlist = item.getAttribute('idList');
|
||||
idarr = idlist.split(/&stundenplan_id[0-9]=/);
|
||||
for(i in idarr)
|
||||
@@ -815,6 +854,6 @@ function BetriebsmittelZuordnen(item)
|
||||
url = url+'&stplid[]'+idarr[i];
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
window.open(url,'Details', 'height=350,width=800,left=100,top=100,hotkeys=0,resizable=yes,status=no,scrollbars=yes,toolbar=no,location=no,menubar=no,dependent=yes');
|
||||
}
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -219,3 +219,8 @@ treechildren::-moz-tree-row(makeItMarked)
|
||||
{
|
||||
background-color: #ceffb0;
|
||||
}
|
||||
|
||||
.timetablefilter-vertrag .toolbarbutton-icon {
|
||||
width: 25px;
|
||||
height:25px;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user