From 4e0264e2d43055e6667ca05a6dd47a7c37b05c8f Mon Sep 17 00:00:00 2001 From: Cris Date: Mon, 7 Oct 2019 08:56:58 +0200 Subject: [PATCH] Added method cancel() to vertrag.class to cancel contracts --- include/vertrag.class.php | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/include/vertrag.class.php b/include/vertrag.class.php index 30363762b..4116904ca 100644 --- a/include/vertrag.class.php +++ b/include/vertrag.class.php @@ -19,6 +19,7 @@ * Andreas Österreicher */ require_once(dirname(__FILE__).'/basis_db.class.php'); +require_once(dirname(__FILE__).'/functions.inc.php'); class vertrag extends basis_db { @@ -1028,6 +1029,38 @@ class vertrag extends basis_db } } + /** + * Storniert einen Vertrag und seine Verbindungen + * @param $vertrag_id ID des Vertrags + * @param $mitarbeiter_uid + */ + public function cancel($vertrag_id, $mitarbeiter_uid) + { + $insertvon = get_uid(); + + $qry = " + UPDATE lehre.tbl_lehreinheitmitarbeiter SET vertrag_id=null WHERE vertrag_id=".$this->db_add_param($vertrag_id, FHC_INTEGER)."; + UPDATE lehre.tbl_projektbetreuer SET vertrag_id=null WHERE vertrag_id=".$this->db_add_param($vertrag_id, FHC_INTEGER)."; + INSERT INTO lehre.tbl_vertrag_vertragsstatus(vertragsstatus_kurzbz, vertrag_id, uid, datum, insertamum, insertvon) + VALUES(". + $this->db_qoute('storno'). ", ". + $this->db_add_param($vertrag_id, FHC_INTEGER). ", ". + $this->db_add_param($mitarbeiter_uid). ", ". + $this->db_qoute('NOW()'). ", ". + $this->db_qoute('NOW()'). ", ". + $this->db_qoute($insertvon). " + ); + "; + + if($this->db_query($qry)) + return true; + else + { + $this->errormsg = 'Fehler beim Stornieren des Vertrags'; + return false; + } + } + /** * Liefert alle Vertraege bei denen die Lehraufträge nicht zur Person passen. * (zB Aufgrund Lektorenaenderung)