Merge branch 'feature-3367/Lehrauftrag_Markierung_Tempus'

This commit is contained in:
Andreas Österreicher
2019-12-09 14:47:20 +01:00
7 changed files with 255 additions and 83 deletions
+89 -44
View File
@@ -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,61 @@ function LehrstundeGetSortOrder()
return 'stundenDESC';
}
// Setzt den Vertragsfilter zurueck
function LVAFilterReset()
{
//Filtermarkierung 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');
}
}
// LVA-Panel auf Vertragsstatus filtern
function onLVAFilterVertrag(item)
{
var vorher='';
var nachher='';
var vertragsstatus=item.getAttribute('value');
LVAFilterReset();
//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)
@@ -150,11 +195,11 @@ 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("&order=")
if(idx!=-1)
@@ -165,9 +210,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 +346,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 +361,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 +381,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 +391,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 +403,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 +508,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 +518,7 @@ function TimeTableWeekClick(event)
ende = start;
start = hlp;
}
for(var i=start;i<=ende;i++)
{
item = document.getElementById('buttonSTPL'+i);
@@ -482,13 +527,13 @@ function TimeTableWeekClick(event)
}
else
{
//alle markierungen entfernen
TimeTableWeekMarkiere();
//aktuellen Eintrag markieren
TimeTableWeekMarkiere(event.target);
//Details anzeigen
onStplDetail(event);
}
@@ -510,7 +555,7 @@ function TimeTableWeekDblClick(event)
{
buttonunr=button.getAttribute('unr');
buttonwochentag=button.getAttribute('wochentag');
if(buttonunr==unr && buttonwochentag==wochentag)
{
TimeTableWeekMarkiere(button);
@@ -597,7 +642,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 +659,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 +675,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 +692,7 @@ function STPLDetailDelete()
{
//alert('url'+STPLlastDetailUrl);
//return false;
tree = document.getElementById('treeStplDetails');
if(tree.currentIndex==-1)
{
@@ -657,15 +702,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 +721,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 +736,7 @@ function STPLDetailDelete()
else
{
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
var treeStplDetails=parent.document.getElementById('treeStplDetails');
//alert('url'+STPLlastDetailUrl);
treeStplDetails.setAttribute('datasources', '');
@@ -758,18 +803,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 +840,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 +850,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 +860,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');
}
+51 -5
View File
@@ -22,7 +22,16 @@
*/
header("Content-type: application/vnd.mozilla.xul+xml");
include('../../config/vilesci.config.inc.php');
include('../../config/global.config.inc.php');
if(defined('FAS_LV_LEKTORINNENZUTEILUNG_VERTRAGSDETAILS_ANZEIGEN') && FAS_LV_LEKTORINNENZUTEILUNG_VERTRAGSDETAILS_ANZEIGEN)
{
$showvertragsfilter = true;
}
else
{
$showvertragsfilter = false;
}
echo '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>';
echo '<?xul-overlay href="'.APP_ROOT.'content/lvplanung/stpl-details-overlay.xul.php"?>';
?>
@@ -100,7 +109,7 @@ echo '<?xul-overlay href="'.APP_ROOT.'content/lvplanung/stpl-details-overlay.xul
<grippy />
</splitter>
<vbox style="margin:0px;" flex="1">
<vbox style="margin:0px; width:250px" flex="1">
<toolbox>
<toolbar id="toolbarTimeTableLeftWeek" tbautostretch="always" persist="collapsed">
<toolbarbutton id="toolbarbuttonStplWeekRefresh"
@@ -110,7 +119,40 @@ 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"
hidden="<?php echo ($showvertragsfilter?'false':'true');?>"
>
<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"
@@ -163,8 +205,12 @@ echo '<?xul-overlay href="'.APP_ROOT.'content/lvplanung/stpl-details-overlay.xul
</hbox>
</row>
<row>
<label value="rdf:http://www.technikum-wien.at/lehreinheit-lvplan/rdf#lehrfach rdf:http://www.technikum-wien.at/lehreinheit-lvplan/rdf#lehrform"
tooltiptext="rdf:http://www.technikum-wien.at/lehreinheit-lvplan/rdf#lehrfach_bez" />
<hbox>
<label value="rdf:http://www.technikum-wien.at/lehreinheit-lvplan/rdf#lehrfach rdf:http://www.technikum-wien.at/lehreinheit-lvplan/rdf#lehrform"
tooltiptext="rdf:http://www.technikum-wien.at/lehreinheit-lvplan/rdf#lehrfach_bez" />
<spacer flex="1" />
<label value="rdf:http://www.technikum-wien.at/lehreinheit-lvplan/rdf#vertragsstatus" class="tempus_vertrag_info"/>
</hbox>
<label align="right" value="rdf:http://www.technikum-wien.at/lehreinheit-lvplan/rdf#raumtyp"
tooltiptext="rdf:http://www.technikum-wien.at/lehreinheit-lvplan/rdf#raumtypalternativ" />
</row>
@@ -184,6 +230,7 @@ echo '<?xul-overlay href="'.APP_ROOT.'content/lvplanung/stpl-details-overlay.xul
<row>
<hbox>
<label value="rdf:http://www.technikum-wien.at/lehreinheit-lvplan/rdf#lektor" />
<spacer flex="1"/>
<label value="rdf:http://www.technikum-wien.at/lehreinheit-lvplan/rdf#fixangestellt_info" class="tempus_lektor_fix_info"/>
</hbox>
<label value="WR: rdf:http://www.technikum-wien.at/lehreinheit-lvplan/rdf#wochenrythmus Bl: rdf:http://www.technikum-wien.at/lehreinheit-lvplan/rdf#stundenblockung"
@@ -252,7 +299,6 @@ echo '<?xul-overlay href="'.APP_ROOT.'content/lvplanung/stpl-details-overlay.xul
id="toolbarTimeTableSort-stundenASC"
tooltiptext="Offenen Stunden aufsteigend"
/>
</toolbar>
</toolbox>
</vbox>
+11 -9
View File
@@ -101,6 +101,7 @@ function onVerbandSelect()
}
var order = LehrstundeGetSortOrder();
LVAFilterReset();
// LVAs
var vboxLehrveranstalungPlanung=document.getElementById('vboxLehrveranstalungPlanung');
var attribute='../rdf/lehreinheit-lvplan.rdf.php'+type+"&stg_kz="+stg_kz+"&sem="+sem+"&ver="+ver+"&grp="+grp+"&gruppe="+gruppe+"&order="+order+"&orgform="+orgform;
@@ -196,7 +197,7 @@ function onOrtSelect()
url+=attributes+'&'+gettimestamp();
if (url)
contentFrame.setAttribute('src', url);
// Semesterplan
var semesterplan=document.getElementById('tabpanels-main');
var panelIndex=semesterplan.getAttribute("selectedIndex");
@@ -238,7 +239,7 @@ function onLektorSelect(event)
url+=attributes+'&'+gettimestamp();
if (url)
contentFrame.setAttribute('src', url);
// Semesterplan
var semesterplan=document.getElementById('tabpanels-main');
var panelIndex=semesterplan.getAttribute("selectedIndex");
@@ -251,8 +252,9 @@ function onLektorSelect(event)
if (url)
contentFrame.setAttribute('src', url);
}
var order = LehrstundeGetSortOrder();
LVAFilterReset();
// LVAs
var vboxLehrveranstalungPlanung=document.getElementById('vboxLehrveranstalungPlanung');
vboxLehrveranstalungPlanung.setAttribute('datasources','../rdf/lehreinheit-lvplan.rdf.php?'+"type=lektor&lektor="+uid+"&order="+order+"&"+gettimestamp());
@@ -307,7 +309,7 @@ function onLektorSelect(event)
}
catch(e)
{}
while(oldDatasources.hasMoreElements())
{
treeLV.database.RemoveDataSource(oldDatasources.getNext());
@@ -363,7 +365,7 @@ function onFachbereichSelect(event)
col = tree.columns ? tree.columns["fachbereich-treecol-uid"] : "fachbereich-treecol-uid";
var uid=tree.view.getCellText(tree.currentIndex,col);
//Wenn auf einen Mitarbeiter geklickt wird, dann die kurzbz vom uebergeordneten
//Fachbereich holen
if(uid!='')
@@ -387,7 +389,7 @@ function onFachbereichSelect(event)
url+=attributes+'&'+gettimestamp();
if (url)
contentFrame.setAttribute('src', url);
// Semesterplan
var semesterplan=document.getElementById('tabpanels-main');
var panelIndex=semesterplan.getAttribute("selectedIndex");
@@ -400,8 +402,9 @@ function onFachbereichSelect(event)
if (url)
contentFrame.setAttribute('src', url);
}
var order = LehrstundeGetSortOrder();
LVAFilterReset();
// LVAs
var vboxLehrveranstalungPlanung=document.getElementById('vboxLehrveranstalungPlanung');
vboxLehrveranstalungPlanung.setAttribute('datasources','../rdf/lehreinheit-lvplan.rdf.php?'+"type=fachbereich&fachbereich_kurzbz="+kurzbz+"&order="+order+"&"+gettimestamp());
@@ -424,7 +427,7 @@ function onFachbereichSelect(event)
}
catch(e)
{}
while(oldDatasources.hasMoreElements())
{
treeLV.database.RemoveDataSource(oldDatasources.getNext());
@@ -444,4 +447,3 @@ function onFachbereichSelect(event)
debug(e);
}
}
+3
View File
@@ -802,6 +802,9 @@ class lehreinheit extends basis_db
$this->lehreinheiten[$row->unr]->lehrverband[]=$row->gruppe_kurzbz;
else
$this->lehreinheiten[$row->unr]->lehrverband[]=$lvb;
$this->lehreinheiten[$row->unr]->lem[]=array(
'lehreinheit_id' => $row->lehreinheit_id,
'mitarbeiter_uid' => $row->lektor_uid);
}
return true;
}
+26 -25
View File
@@ -529,7 +529,7 @@ class vertrag extends basis_db
FROM
lehre.tbl_lehreinheitmitarbeiter
JOIN lehre.tbl_lehreinheit USING(lehreinheit_id)
JOIN lehre.tbl_vertrag USING (vertrag_id)
JOIN lehre.tbl_vertrag USING (vertrag_id)
WHERE
vertrag_id=".$this->db_add_param($vertrag_id, FHC_INTEGER)."
UNION
@@ -728,9 +728,10 @@ class vertrag extends basis_db
}
/**
* Laedt alle Stati eines Vertrags
* Laedt den letzten Status eines Vertrags
*
* @param $vertrag_id
* @param $status optional
* @return boolean
*/
public function getStatus($vertrag_id, $status=NULL)
@@ -745,32 +746,32 @@ class vertrag extends basis_db
if(!is_null($status))
{
$qry .= " AND tbl_vertrag_vertragsstatus.vertragsstatus_kurzbz=".$this->db_add_param($status);
$qry .= " AND tbl_vertrag_vertragsstatus.vertragsstatus_kurzbz=".$this->db_add_param($status);
}
$qry .= " ORDER BY datum DESC;";
if($result = $this->db_query($qry))
{
if($row = $this->db_fetch_object($result))
{
$this->vertrag_id = $row->vertrag_id;
$this->vertragsstatus_kurzbz = $row->vertragsstatus_kurzbz;
$this->vertragsstatus_bezeichnung = $row->bezeichnung;
$this->datum = $row->datum;
$this->uid = $row->uid;
$this->insertvon = $row->insertvon;
$this->insertamum = $row->insertamum;
$this->updatevon = $row->updatevon;
$this->updateamum = $row->updateamum;
$this->new=false;
return true;
}
else
{
$this->errormsg = 'Eintrag wurde nicht gefunden';
return false;
}
if($row = $this->db_fetch_object($result))
{
$this->vertrag_id = $row->vertrag_id;
$this->vertragsstatus_kurzbz = $row->vertragsstatus_kurzbz;
$this->vertragsstatus_bezeichnung = $row->bezeichnung;
$this->datum = $row->datum;
$this->uid = $row->uid;
$this->insertvon = $row->insertvon;
$this->insertamum = $row->insertamum;
$this->updatevon = $row->updatevon;
$this->updateamum = $row->updateamum;
$this->new=false;
return true;
}
else
{
$this->errormsg = 'Eintrag wurde nicht gefunden';
return false;
}
}
else
{
@@ -1041,7 +1042,7 @@ class vertrag extends basis_db
$qry = "
UPDATE lehre.tbl_lehreinheitmitarbeiter SET vertrag_id=null WHERE vertrag_id=".$this->db_add_param($vertrag_id, FHC_INTEGER).";
UPDATE lehre.tbl_projektbetreuer SET vertrag_id=null WHERE vertrag_id=".$this->db_add_param($vertrag_id, FHC_INTEGER).";
INSERT INTO lehre.tbl_vertrag_vertragsstatus(vertragsstatus_kurzbz, vertrag_id, uid, datum, insertamum, insertvon)
INSERT INTO lehre.tbl_vertrag_vertragsstatus(vertragsstatus_kurzbz, vertrag_id, uid, datum, insertamum, insertvon)
VALUES(".
$this->db_qoute('storno'). ", ".
$this->db_add_param($vertrag_id, FHC_INTEGER). ", ".
@@ -1123,7 +1124,7 @@ class vertrag extends basis_db
*/
public function getFalscheBetraege($studiensemester_kurzbz)
{
$qry = "SELECT * FROM
$qry = "SELECT * FROM
(
SELECT
tbl_vertrag.*, tbl_lehreinheitmitarbeiter.mitarbeiter_uid, tbl_lehreinheitmitarbeiter.lehreinheit_id,
@@ -1136,7 +1137,7 @@ class vertrag extends basis_db
WHERE
studiensemester_kurzbz=".$this->db_add_param($studiensemester_kurzbz)."
)x
WHERE
WHERE
x.semesterstunden * x.stundensatz != x.betrag";
if($result = $this->db_query($qry))
+60
View File
@@ -38,6 +38,8 @@ require_once('../include/lehreinheit.class.php');
require_once('../include/notiz.class.php');
require_once('../include/mitarbeiter.class.php');
require_once('../include/zeitaufzeichnung_gd.class.php');
require_once('../include/lehreinheitmitarbeiter.class.php');
require_once('../include/vertrag.class.php');
$uid=get_uid();
$error_msg='';
@@ -90,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']))
@@ -304,6 +310,59 @@ if ($anz>0)
else
$fixangestellt_info = 'EXT';
$vertragsstatus_arr = array();
$vertragsstatus_kurzbz_arr = array();
// Lehrauftragsstatus ermitteln
foreach ($l->lem as $row_lem)
{
$lem_obj = new lehreinheitmitarbeiter();
if ($lem_obj->load($row_lem['lehreinheit_id'], $row_lem['mitarbeiter_uid']))
{
if ($lem_obj->vertrag_id != '')
{
$vertrag_obj = new vertrag();
if($vertrag_obj->getStatus($lem_obj->vertrag_id))
{
$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>
<RDF:Description id="lva'.($anz--).'" about="'.$rdf_url.$l->unr.'">
<LVA:lvnr>'.$lvnr.'</LVA:lvnr>
@@ -335,6 +394,7 @@ if ($anz>0)
<LVA:lehrverband>'.$lehrverband.'</LVA:lehrverband>
<LVA:anzahl_notizen>'.$anzahl_notizen.'</LVA:anzahl_notizen>
<LVA:lehreinheit_id>'.$l->lehreinheit_id[0].'</LVA:lehreinheit_id>
<LVA:vertragsstatus>'.$vertragsstatus.'</LVA:vertragsstatus>
</RDF:Description>
</RDF:li>';
}
+15
View File
@@ -10,6 +10,16 @@ label.tempus_lektor_fix_info
font-size: x-small
}
label.tempus_vertrag_info
{
border-top: 1px solid black;
border-bottom: 1px solid black;
font-weight: bold;
padding-left:2px;
padding-right:2px;
font-size: x-small
}
label.kalenderwoche
{
font-size: medium;
@@ -209,3 +219,8 @@ treechildren::-moz-tree-row(makeItMarked)
{
background-color: #ceffb0;
}
.timetablefilter-vertrag .toolbarbutton-icon {
width: 25px;
height:25px;
}