diff --git a/content/lvplanung/stpl-week-overlay.js.php b/content/lvplanung/stpl-week-overlay.js.php
index beebfa2ef..2c31df3ef 100644
--- a/content/lvplanung/stpl-week-overlay.js.php
+++ b/content/lvplanung/stpl-week-overlay.js.php
@@ -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 = "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 = '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 = '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 = "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');
}
diff --git a/content/lvplanung/stpl-week-overlay.xul.php b/content/lvplanung/stpl-week-overlay.xul.php
index 77b663e28..2c6531628 100644
--- a/content/lvplanung/stpl-week-overlay.xul.php
+++ b/content/lvplanung/stpl-week-overlay.xul.php
@@ -110,7 +110,35 @@ echo '
-
+
+
+
+
+
-
diff --git a/rdf/lehreinheit-lvplan.rdf.php b/rdf/lehreinheit-lvplan.rdf.php
index 05d0c1d89..a7c89ac98 100644
--- a/rdf/lehreinheit-lvplan.rdf.php
+++ b/rdf/lehreinheit-lvplan.rdf.php
@@ -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'
diff --git a/skin/tempus.css b/skin/tempus.css
index def665d13..f064ccb8c 100644
--- a/skin/tempus.css
+++ b/skin/tempus.css
@@ -219,3 +219,8 @@ treechildren::-moz-tree-row(makeItMarked)
{
background-color: #ceffb0;
}
+
+.timetablefilter-vertrag .toolbarbutton-icon {
+ width: 25px;
+ height:25px;
+}