Merge branch 'bug-44023/EingabemaskeEntwicklungsteamNamenOhneUid2'

This commit is contained in:
Andreas Österreicher
2026-10-02 13:23:02 +02:00
2 changed files with 81 additions and 25 deletions
+63 -25
View File
@@ -21,6 +21,7 @@
* Manuela Thamer <[email protected]> * Manuela Thamer <[email protected]>
*/ */
require_once(dirname(__FILE__).'/basis_db.class.php'); require_once(dirname(__FILE__).'/basis_db.class.php');
require_once(dirname(__FILE__).'/mitarbeiter.class.php');
class entwicklungsteam extends basis_db class entwicklungsteam extends basis_db
{ {
@@ -43,7 +44,6 @@ class entwicklungsteam extends basis_db
public $ext_id; public $ext_id;
public $besqual; public $besqual;
public $studiengang_kz_old;
/** /**
* Konstruktor * Konstruktor
@@ -74,7 +74,7 @@ class entwicklungsteam extends basis_db
$qry = "SELECT * FROM bis.tbl_entwicklungsteam JOIN bis.tbl_besqual USING(besqualcode) $qry = "SELECT * FROM bis.tbl_entwicklungsteam JOIN bis.tbl_besqual USING(besqualcode)
WHERE entwicklungsteam_id=".$this->db_add_param($entwicklungsteam_id); WHERE entwicklungsteam_id=".$this->db_add_param($entwicklungsteam_id);
$qry.=";"; $qry.=";";
if($this->db_query($qry)) if($this->db_query($qry))
{ {
@@ -147,6 +147,11 @@ class entwicklungsteam extends basis_db
$this->errormsg = 'Es muss ein Mitarbeiter angegeben werden'; $this->errormsg = 'Es muss ein Mitarbeiter angegeben werden';
return false; return false;
} }
if(!$this->checkIfExistingUid($this->mitarbeiter_uid))
{
$this->errormsg = 'Bitte einen Eintrag aus dem Dropdown Personensuche auswählen!';
return false;
}
if($this->studiengang_kz=='') if($this->studiengang_kz=='')
{ {
$this->errormsg = 'Es muss ein Studiengang angegeben werden'; $this->errormsg = 'Es muss ein Studiengang angegeben werden';
@@ -162,6 +167,26 @@ class entwicklungsteam extends basis_db
$this->errormsg = 'Endedatum darf nicht vor Anfangsdatum liegen'; $this->errormsg = 'Endedatum darf nicht vor Anfangsdatum liegen';
return false; return false;
} }
if($this->beginn != '')
{
$beginnParts = explode('-', $this->beginn);
if (!checkdate((int)$beginnParts[1], (int)$beginnParts[2], (int)$beginnParts[0])) {
$this->errormsg = 'Anfangsdatum ist ungültig';
return false;
}
}
if($this->ende != '')
{
$endeParts = explode('-', $this->ende);
if (!checkdate((int)$endeParts[1], (int)$endeParts[2], (int)$endeParts[0]))
{
$this->errormsg = 'Endedatum ist ungültig';
return false;
}
}
return true; return true;
} }
@@ -183,30 +208,28 @@ class entwicklungsteam extends basis_db
//Neuen Datensatz anlegen //Neuen Datensatz anlegen
$qry = "INSERT INTO bis.tbl_entwicklungsteam (mitarbeiter_uid, studiengang_kz, besqualcode, beginn, ende, $qry = "INSERT INTO bis.tbl_entwicklungsteam (mitarbeiter_uid, studiengang_kz, besqualcode, beginn, ende,
updateamum, updatevon, insertamum, insertvon) VALUES (". updateamum, updatevon, insertamum, insertvon) VALUES (".
$this->db_add_param($this->mitarbeiter_uid).', '. $this->db_add_param($this->mitarbeiter_uid).', '.
$this->db_add_param($this->studiengang_kz, FHC_INTEGER).', '. $this->db_add_param($this->studiengang_kz, FHC_INTEGER).', '.
$this->db_add_param($this->besqualcode, FHC_INTEGER).', '. $this->db_add_param($this->besqualcode, FHC_INTEGER).', '.
$this->db_add_param($this->beginn).', '. $this->db_add_param($this->beginn).', '.
$this->db_add_param($this->ende).', '. $this->db_add_param($this->ende).', '.
$this->db_add_param($this->updateamum).', '. $this->db_add_param($this->updateamum).', '.
$this->db_add_param($this->updatevon).', '. $this->db_add_param($this->updatevon).', '.
$this->db_add_param($this->insertamum).', '. $this->db_add_param($this->insertamum).', '.
$this->db_add_param($this->insertvon).');'; $this->db_add_param($this->insertvon).');';
} }
else else
{ {
if($this->studiengang_kz_old=='')
$this->studiengang_kz_old = $this->studiengang_kz;
//Bestehenden Datensatz aktualisieren //Bestehenden Datensatz aktualisieren
$qry= "UPDATE bis.tbl_entwicklungsteam SET". $qry= "UPDATE bis.tbl_entwicklungsteam SET".
" besqualcode=".$this->db_add_param($this->besqualcode, FHC_INTEGER).",". " besqualcode=".$this->db_add_param($this->besqualcode, FHC_INTEGER).",".
" beginn=".$this->db_add_param($this->beginn).",". " beginn=".$this->db_add_param($this->beginn).",".
" studiengang_kz=".$this->db_add_param($this->studiengang_kz, FHC_INTEGER).",". " studiengang_kz=".$this->db_add_param($this->studiengang_kz, FHC_INTEGER).",".
" ende=".$this->db_add_param($this->ende).",". " ende=".$this->db_add_param($this->ende).",".
" updateamum=".$this->db_add_param($this->updateamum).",". " mitarbeiter_uid=".$this->db_add_param($this->mitarbeiter_uid).",".
" updatevon=".$this->db_add_param($this->updatevon). " updateamum=".$this->db_add_param($this->updateamum).",".
" WHERE entwicklungsteam_id=".$this->db_add_param($this->entwicklungsteam_id).";"; " updatevon=".$this->db_add_param($this->updatevon).
" WHERE entwicklungsteam_id=".$this->db_add_param($this->entwicklungsteam_id).";";
} }
if($this->db_query($qry)) if($this->db_query($qry))
@@ -234,7 +257,7 @@ class entwicklungsteam extends basis_db
if($studiengang_kz!=null) if($studiengang_kz!=null)
$qry.=" AND studiengang_kz=".$this->db_add_param($studiengang_kz); $qry.=" AND studiengang_kz=".$this->db_add_param($studiengang_kz);
$qry.=";"; $qry.=";";
if($this->db_query($qry)) if($this->db_query($qry))
{ {
@@ -316,7 +339,7 @@ class entwicklungsteam extends basis_db
if ($sort != null) if ($sort != null)
{ {
$qry .= " ORDER BY ".$sort; $qry .= " ORDER BY ".$sort;
} }
$qry .= ";"; $qry .= ";";
@@ -364,7 +387,7 @@ class entwicklungsteam extends basis_db
$bismeldung_jahr = $datetime->format('Y'); $bismeldung_jahr = $datetime->format('Y');
//laden des Datensatzes //laden des Datensatzes
$qry = "SELECT tbl_entwicklungsteam.*, tbl_besqual.*, tbl_studiengang.studiengang_kz, tbl_studiengang.melderelevant $qry = "SELECT tbl_entwicklungsteam.*, tbl_besqual.*, tbl_studiengang.studiengang_kz, tbl_studiengang.melderelevant
FROM bis.tbl_entwicklungsteam FROM bis.tbl_entwicklungsteam
JOIN bis.tbl_besqual USING(besqualcode) JOIN bis.tbl_besqual USING(besqualcode)
JOIN public.tbl_studiengang USING(studiengang_kz) JOIN public.tbl_studiengang USING(studiengang_kz)
@@ -375,7 +398,7 @@ class entwicklungsteam extends basis_db
if($studiengang_kz!=null) if($studiengang_kz!=null)
$qry.=" AND studiengang_kz=".$this->db_add_param($studiengang_kz); $qry.=" AND studiengang_kz=".$this->db_add_param($studiengang_kz);
$qry.=";"; $qry.=";";
if($this->db_query($qry)) if($this->db_query($qry))
{ {
@@ -407,5 +430,20 @@ class entwicklungsteam extends basis_db
return false; return false;
} }
} }
/*
* Überprüft, ob die übergebene Uid in der Tabelle tbl_mitarbeiter vorhanden ist
* @param String $uid UID des Mitarbeiters
* @return true wenn vorhanden, false wenn nicht
*/
private function checkIfExistingUid($uid)
{
$mitarbeiter = new mitarbeiter();
if(!$mitarbeiter->checkIfExistingUid($uid))
return false;
return true;
}
} }
?> ?>
+18
View File
@@ -1995,5 +1995,23 @@ class mitarbeiter extends benutzer
return true; return true;
} }
} }
/**
* Prueft ob eine existierende ma_uid übergeben wurde
* @param String $mitarbeiter_uid mitarbeiter_uid
* @return bool True wenn mitarbeiter_uid vorhanden sonst false.
*/
public function checkIfExistingUid($mitarbeiter_uid)
{
$qry = "Select 1 from public.tbl_mitarbeiter where mitarbeiter_uid =".$this->db_add_param($mitarbeiter_uid);
if ($result = $this->db_query($qry))
{
if ($this->db_num_rows($result) > 0)
return true;
else
return false;
}
}
} }
?> ?>