Avoided removing lector on Key-press 'Entf', when contract exists

The remove of the lector was avoided by disabled 'Entfernen' in the
context menu, but still possible on key press 'Entf'. Now this is
prevented and a message is displayed. For lectors in LV and for
Projektbetreuer.
This commit is contained in:
Cris
2019-10-25 08:35:07 +02:00
committed by hainberg
parent b6bd2dd104
commit fe94cfc350
4 changed files with 60 additions and 48 deletions
+41 -33
View File
@@ -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
@@ -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)
+17 -15
View File
@@ -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';
}
}
}
}
@@ -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();