diff --git a/content/lvplanung/lehrveranstaltungDBDML.php b/content/lvplanung/lehrveranstaltungDBDML.php
index 1a4322c6b..2650401d3 100644
--- a/content/lvplanung/lehrveranstaltungDBDML.php
+++ b/content/lvplanung/lehrveranstaltungDBDML.php
@@ -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
diff --git a/content/lvplanung/lehrveranstaltungdetailoverlay.xul.php b/content/lvplanung/lehrveranstaltungdetailoverlay.xul.php
index 0d25c7c5b..e77a5c86d 100644
--- a/content/lvplanung/lehrveranstaltungdetailoverlay.xul.php
+++ b/content/lvplanung/lehrveranstaltungdetailoverlay.xul.php
@@ -57,6 +57,13 @@ echo '';
@@ -329,6 +336,10 @@ echo '';
class="sortDirectionIndicator"
sort="rdf:http://www.technikum-wien.at/lehreinheitmitarbeiter/rdf#lehreinheit_id"/>
+
+
@@ -339,6 +350,7 @@ echo '';
+
diff --git a/content/lvplanung/lehrveranstaltungoverlay.js.php b/content/lvplanung/lehrveranstaltungoverlay.js.php
index 7279abac2..0f45b2f82 100644
--- a/content/lvplanung/lehrveranstaltungoverlay.js.php
+++ b/content/lvplanung/lehrveranstaltungoverlay.js.php
@@ -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
// ****
diff --git a/rdf/lehreinheitmitarbeiter.rdf.php b/rdf/lehreinheitmitarbeiter.rdf.php
index 375adcea3..7020bd5cf 100644
--- a/rdf/lehreinheitmitarbeiter.rdf.php
+++ b/rdf/lehreinheitmitarbeiter.rdf.php
@@ -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;
?>
@@ -85,6 +96,7 @@ foreach ($DAO_obj->lehreinheitmitarbeiter as $row)
faktor ?>]]>
anmerkung ?>]]>
bismelden?'Ja':'Nein') ?>]]>
+ ]]>
lehreinheitmitarbeiter as $row)
?>
-
\ No newline at end of file
+
diff --git a/system/checksystem.php b/system/checksystem.php
index 6e47b7a2a..5cb820a20 100644
--- a/system/checksystem.php
+++ b/system/checksystem.php
@@ -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'),