diff --git a/content/lvplanung/lehrveranstaltungDBDML.php b/content/lvplanung/lehrveranstaltungDBDML.php index f63d9f807..76d09f5c0 100644 --- a/content/lvplanung/lehrveranstaltungDBDML.php +++ b/content/lvplanung/lehrveranstaltungDBDML.php @@ -692,50 +692,58 @@ if(!$error) //Lehreinheitmitarbeiterzuteilung loeschen if(isset($_POST['lehreinheit_id']) && is_numeric($_POST['lehreinheit_id']) && isset($_POST['mitarbeiter_uid'])) { - //Wenn der Mitarbeiter im Stundenplan verplant ist, dann wird das Loeschen verhindert - $qry = "SELECT stundenplandev_id as id 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'])." - UNION - SELECT stundenplan_id as id FROM lehre.tbl_stundenplan 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)) + // Wenn der Mitarbeiter schon einen Vertrag hat, wird das Loeschen verhindert + if (isset($_POST['vertrag_id']) && is_numeric($_POST['vertrag_id'])) { - if($db->db_num_rows()>0) + $return = false; + $errormsg = 'Löschen nur nach Stornierung des Vertrags möglich.'; + } + else + { + //Wenn der Mitarbeiter im Stundenplan verplant ist, dann wird das Loeschen verhindert + $qry = "SELECT stundenplandev_id as id 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'])." + UNION + SELECT stundenplan_id as id FROM lehre.tbl_stundenplan 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)) { - $return = false; - $errormsg = 'Dieser Lektor kann nicht gelöscht werden da er schon verplant ist'; - } - else - { - $leg = new lehreinheitmitarbeiter(); - if($leg->load($_POST['lehreinheit_id'], $_POST['mitarbeiter_uid'])) + if($db->db_num_rows()>0) { - // Wenn ein Vertrag dazu angelegt ist, dann diesen mitloeschen - if($leg->vertrag_id!='') + $return = false; + $errormsg = 'Dieser Lektor kann nicht gelöscht werden da er schon verplant ist'; + } + else + { + $leg = new lehreinheitmitarbeiter(); + if($leg->load($_POST['lehreinheit_id'], $_POST['mitarbeiter_uid'])) { - $vertrag = new vertrag(); - $vertrag->delete($leg->vertrag_id); - } - - if($leg->delete($_POST['lehreinheit_id'], $_POST['mitarbeiter_uid'])) - { - $return = true; + // Wenn ein Vertrag dazu angelegt ist, dann diesen mitloeschen + if($leg->vertrag_id!='') + { + $vertrag = new vertrag(); + $vertrag->delete($leg->vertrag_id); + } + if($leg->delete($_POST['lehreinheit_id'], $_POST['mitarbeiter_uid'])) + { + $return = true; + } + else + { + $return = false; + $errormsg = $leg->errormsg; + } } else { $return = false; - $errormsg = $leg->errormsg; + $errormsg='Fehlgeschlagen:'.$leg->errormsg; } } - else - { - $return = false; - $errormsg='Fehlgeschlagen:'.$leg->errormsg; - } } - } - else - { - $return = false; - $errormsg = 'Fehler:'.$qry; + else + { + $return = false; + $errormsg = 'Fehler:'.$qry; + } } } else diff --git a/content/lvplanung/lehrveranstaltungoverlay.js.php b/content/lvplanung/lehrveranstaltungoverlay.js.php index 00f90b223..96d9d1c5b 100644 --- a/content/lvplanung/lehrveranstaltungoverlay.js.php +++ b/content/lvplanung/lehrveranstaltungoverlay.js.php @@ -1131,6 +1131,7 @@ function LeMitarbeiterDel() req.add('type', 'lehreinheit_mitarbeiter_del'); req.add('lehreinheit_id', lehreinheit_id); req.add('mitarbeiter_uid', uid); + req.add('vertrag_id', vertrag_id); var response = req.executePOST(); var val = new ParseReturnValue(response) diff --git a/content/student/studentDBDML.php b/content/student/studentDBDML.php index 5deced246..1d79919c7 100644 --- a/content/student/studentDBDML.php +++ b/content/student/studentDBDML.php @@ -3803,25 +3803,27 @@ if(!$error) } else { - //Loescht einen Projektbetreuer Eintrag - if(isset($_POST['person_id']) && is_numeric($_POST['person_id'])) + // Wenn der Projektbetreuer schon einen Vertrag hat, wird das Loeschen verhindert + if (isset($_POST['vertrag_id']) && is_numeric($_POST['vertrag_id'])) { - $projektbetreuer = new projektbetreuer(); - - if($projektbetreuer->delete($_POST['person_id'], $_POST['projektarbeit_id'], $_POST['betreuerart_kurzbz'])) - { - $return = true; - } - else - { - $errormsg = $projektbetreuer->errormsg; - $return = false; - } + $return = false; + $errormsg = 'Löschen nur nach Stornierung des Vertrags möglich.'; } else { - $return = false; - $errormsg = 'Fehlerhafte Parameteruebergabe'; + //Loescht einen Projektbetreuer Eintrag + if (isset($_POST['person_id']) && is_numeric($_POST['person_id'])) { + $projektbetreuer = new projektbetreuer(); + if ($projektbetreuer->delete($_POST['person_id'], $_POST['projektarbeit_id'], $_POST['betreuerart_kurzbz'])) { + $return = true; + } else { + $errormsg = $projektbetreuer->errormsg; + $return = false; + } + } else { + $return = false; + $errormsg = 'Fehlerhafte Parameteruebergabe'; + } } } } diff --git a/content/student/studentprojektarbeit.js.php b/content/student/studentprojektarbeit.js.php index ae0378232..14a4e788a 100644 --- a/content/student/studentprojektarbeit.js.php +++ b/content/student/studentprojektarbeit.js.php @@ -1321,6 +1321,7 @@ function StudentProjektbetreuerLoeschen() req.add('projektarbeit_id', projektarbeit_id); req.add('betreuerart_kurzbz', betreuerart_kurzbz); req.add('studiengang_kz', studiengang_kz); + req.add('vertrag_id', vertrag_id); var response = req.executePOST();