Bereits verplante Lektoren können vom FAS aus aus dem LVPlan gelöscht werden. Zusätzlich wird im FAS angezeigt ob dieser Lektor bereits verplant ist

This commit is contained in:
oesi
2015-10-12 16:43:00 +02:00
parent 9d76dfc6c6
commit f5ea13c35b
5 changed files with 182 additions and 2 deletions
@@ -863,6 +863,106 @@ if(!$error)
}
}
}
elseif(isset($_POST['type']) && $_POST['type']=='lehreinheit_lektor_del_lvplan')
{
//Pruefen ob dieser Lektor im Stundenplan schon verplant wurde
$qry = "SELECT tbl_lehrveranstaltung.studiengang_kz, tbl_lehrveranstaltung.lehrveranstaltung_id
FROM lehre.tbl_lehrveranstaltung, lehre.tbl_lehreinheit, lehre.tbl_lehrveranstaltung as lehrfach
WHERE tbl_lehrveranstaltung.lehrveranstaltung_id=tbl_lehreinheit.lehrveranstaltung_id AND
tbl_lehreinheit.lehrfach_id=lehrfach.lehrveranstaltung_id AND lehreinheit_id=".$db->db_add_param($_POST['lehreinheit_id'], FHC_INTEGER);
if($db->db_query($qry))
{
if($row = $db->db_fetch_object())
{
$lva = new lehrveranstaltung($row->lehrveranstaltung_id);
if(!$rechte->isBerechtigtMultipleOe('lv-plan/lektorentfernen', $lva->getAllOe(), 'suid'))
{
$error = true;
$return = false;
$errormsg = 'Keine Berechtigung';
}
}
else
{
$error = true;
$return = false;
$errormsg = 'Lehreinheit wurde nicht gefunden';
}
}
else
{
$error = true;
$return = false;
$errormsg = 'Lehreinheit wurde nicht gefunden';
}
// Wenn nur noch dieser Lektor im LVPlan verplant ist, dann wird das loeschen verhindert
// da sonst der gesamte LVPlan der Lehreinheit weg ist
$qry = "SELECT
distinct mitarbeiter_uid
FROM
lehre.tbl_stundenplandev
WHERE
lehreinheit_id=".$db->db_add_param($_POST['lehreinheit_id'], FHC_INTEGER);
if($result = $db->db_query($qry))
{
if($db->db_num_rows($result)<2)
{
$error = true;
$return = false;
$errormsg='Dieser Lektor kann nicht aus dem LVPlan entfernt werden da dies der letzte verplante Lektor ist';
}
}
// Wenn Ressourcen an einem der Stundenplaneintraege haengen die geloescht werden wuerden
// dann wird das loeschen verhindert
$qry = "SELECT
1
FROM
lehre.tbl_stundenplandev
JOIN lehre.tbl_stundenplan_betriebsmittel USING(stundenplandev_id)
WHERE
tbl_stundenplandev.lehreinheit_id=".$db->db_add_param($_POST['lehreinheit_id'], FHC_INTEGER)."
AND tbl_stundenplandev.mitarbeiter_uid=".$db->db_add_param($_POST['mitarbeiter_uid']);
if($result = $db->db_query($qry))
{
if($db->db_num_rows($result)>0)
{
$return = false;
$error = true;
$errormsg = 'Gruppe kann nicht entfernt werden da bereits Ressourcen zugeordnet wurden';
}
}
else
{
$return = false;
$error = true;
$errormsg = 'Fehler bei Datenbankabfrage';
}
if(!$error)
{
$qry = "DELETE FROM lehre.tbl_stundenplandev
WHERE
lehreinheit_id=".$db->db_add_param($_POST['lehreinheit_id'], FHC_INTEGER)."
AND mitarbeiter_uid=".$db->db_add_param($_POST['mitarbeiter_uid']);
if($db->db_query($qry))
{
$error = false;
$return = true;
}
else
{
$errormsg = 'Fehler beim Entfernen des LV-Plans: '.$db->db_last_error();
$return = false;
$error = true;
}
}
}
elseif(isset($_POST['type']) && $_POST['type']=='lehreinheit_gruppe_del_lvplan')
{
//Pruefen ob diese Gruppe im Stundenplan schon verplant wurde
@@ -57,6 +57,13 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
<popupset>
<menupopup id="lehrveranstaltung-lektor-tree-popup">
<menuitem label="Entfernen" oncommand="LeMitarbeiterDel();" />
<?php
if($rechte->isBerechtigt('lv-plan/lektorentfernen'))
{
echo '<menuseparator />';
echo '<menuitem label="Stunden aus LV-Plan entfernen" oncommand="LeLektorDelLVPlan();" />';
}
?>
</menupopup>
</popupset>
<popupset>
@@ -329,6 +336,10 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/lehreinheitmitarbeiter/rdf#lehreinheit_id"/>
<splitter class="tree-splitter"/>
<treecol id="lehrveranstaltung-lehreinheitmitarbeiter-treecol-verplant" label="Verplant" flex="2" hidden="false"
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/lehreinheitmitarbeiter/rdf#verplant"/>
<splitter class="tree-splitter"/>
</treecols>
<template>
<rule>
@@ -339,6 +350,7 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
<treecell label="rdf:http://www.technikum-wien.at/lehreinheitmitarbeiter/rdf#vorname" />
<treecell label="rdf:http://www.technikum-wien.at/lehreinheitmitarbeiter/rdf#mitarbeiter_uid" />
<treecell label="rdf:http://www.technikum-wien.at/lehreinheitmitarbeiter/rdf#lehreinheit_id" />
<treecell src="../skin/images/verplant_rdf:http://www.technikum-wien.at/lehreinheitmitarbeiter/rdf#verplant^.png" />
</treerow>
</treeitem>
</treechildren>
@@ -1308,7 +1308,7 @@ function LeGruppeDel()
}
// ****
// * Loescht den LVPlan einer Gruppe zu einer aus dem LVPlan
// * Loescht den LVPlan einer Gruppe zu einer Lehreinheit aus dem LVPlan
// ****
function LeGruppeDelLVPlan()
{
@@ -1360,6 +1360,61 @@ function LeGruppeDelLVPlan()
}
}
// ****
// * Loescht den LVPlan eines Lektors zu einer Lehreinheit aus dem LVPlan
// ****
function LeLektorDelLVPlan()
{
tree = document.getElementById('lehrveranstaltung-detail-tree-lehreinheitmitarbeiter');
//Nachsehen ob Lektor markiert wurde
var idx;
if(tree.currentIndex>=0)
idx = tree.currentIndex;
else
{
alert('Bitte zuerst einen Lektor markieren');
return false;
}
try
{
//Lehreinheit_id holen
var col = tree.columns ? tree.columns["lehrveranstaltung-lehreinheitmitarbeiter-treecol-lehreinheit_id"] : "lehrveranstaltung-lehreinheitmitarbeiter-treecol-lehreinheit_id";
var lehreinheit_id=tree.view.getCellText(idx,col);
var col = tree.columns ? tree.columns["lehrveranstaltung-lehreinheitmitarbeiter-treecol-mitarbeiter_uid"] : "lehrveranstaltung-lehreinheitmitarbeiter-treecol-mitarbeiter_uid";
var mitarbeiter_uid=tree.view.getCellText(idx,col);
}
catch(e)
{
alert(e);
return false;
}
if(!confirm("Sind Sie sicher dass Sie diesen Mitarbeiter aus dem LVPlan entfernen wollen?"))
return false;
var req = new phpRequest('lvplanung/lehrveranstaltungDBDML.php','','');
req.add('type', 'lehreinheit_lektor_del_lvplan');
req.add('lehreinheit_id', lehreinheit_id);
req.add('mitarbeiter_uid', mitarbeiter_uid);
var response = req.executePOST();
var val = new ParseReturnValue(response)
if (!val.dbdml_return)
{
alert(val.dbdml_errormsg)
}
else
{
//Refresh des Trees
LeLektorTreeRefresh();
LvTreeRefresh();
}
}
// ****
// * Gruppen Tree Refreshen
// ****
+13 -1
View File
@@ -71,6 +71,17 @@ foreach ($DAO_obj->lehreinheitmitarbeiter as $row)
$nachname = $row_lkt->nachname;
}
}
$qry_verplant = "SELECT 1 FROM lehre.tbl_stundenplandev
WHERE lehreinheit_id=".$db->db_add_param($row->lehreinheit_id)."
AND mitarbeiter_uid=".$db->db_add_param($row->mitarbeiter_uid);
if($result_verplant = $db->db_query($qry_verplant))
if($db->db_num_rows($result_verplant)>0)
$verplant = true;
else
$verplant = false;
?>
<RDF:li>
<RDF:Description id="<?php echo $row->lehreinheit_id.'/'.$row->mitarbeiter_uid; ?>" about="<?php echo $rdf_url.'/'.$row->lehreinheit_id.'/'.$row->mitarbeiter_uid; ?>" >
@@ -85,6 +96,7 @@ foreach ($DAO_obj->lehreinheitmitarbeiter as $row)
<LEHREINHEITMITARBEITER:faktor><![CDATA[<?php echo $row->faktor ?>]]></LEHREINHEITMITARBEITER:faktor>
<LEHREINHEITMITARBEITER:anmerkung><![CDATA[<?php echo $row->anmerkung ?>]]></LEHREINHEITMITARBEITER:anmerkung>
<LEHREINHEITMITARBEITER:bismelden><![CDATA[<?php echo ($row->bismelden?'Ja':'Nein') ?>]]></LEHREINHEITMITARBEITER:bismelden>
<LEHREINHEITMITARBEITER:verplant><![CDATA[<?php echo ($verplant?'true':'false'); ?>]]></LEHREINHEITMITARBEITER:verplant>
</RDF:Description>
</RDF:li>
<?php
@@ -92,4 +104,4 @@ foreach ($DAO_obj->lehreinheitmitarbeiter as $row)
?>
</RDF:Seq>
</RDF:RDF>
</RDF:RDF>
+1
View File
@@ -3872,6 +3872,7 @@ $berechtigungen = array(
array('lehre/vorrueckung','Lehreinheitenvorrückung'),
array('lv-plan','Stundenplan'),
array('lv-plan/gruppenentfernen','Erlaut das Entfernen von Gruppen aus LVPlan vom FAS aus'),
array('lv-plan/lektorentfernen','Erlaut das Entfernen von Lektoren aus LVPlan vom FAS aus'),
array('mitarbeiter','FAS Mitarbeitermodul'),
array('mitarbeiter/bankdaten','Bankdaten für Mitarbeiter und Studierende anzeigen'),
array('mitarbeiter/personalnummer','Editieren der Personalnummer im FAS'),