From 3739581a298f5e5a295097416e853e950be386cc Mon Sep 17 00:00:00 2001 From: SimonGschnell Date: Wed, 7 Feb 2024 16:25:39 +0100 Subject: [PATCH] db tabellen anpassung --- application/controllers/Cis/ProfilUpdate.php | 2 +- public/js/apps/Cis/ProfilUpdateRequests.js | 7 +- system/dbupdate_3.4.php | 2 +- system/dbupdate_3.4/25999_C4_ma0594.php | 90 +++++++++++++++----- 4 files changed, 73 insertions(+), 28 deletions(-) diff --git a/application/controllers/Cis/ProfilUpdate.php b/application/controllers/Cis/ProfilUpdate.php index b1bb8887a..17eddfe41 100755 --- a/application/controllers/Cis/ProfilUpdate.php +++ b/application/controllers/Cis/ProfilUpdate.php @@ -15,7 +15,7 @@ class ProfilUpdate extends Auth_Controller 'getProfilUpdates' => ['student/stammdaten:r','mitarbeiter/stammdaten:r'], 'acceptProfilRequest'=>['student/stammdaten:rw','mitarbeiter/stammdaten:rw'], 'denyProfilRequest'=>['student/stammdaten:rw','mitarbeiter/stammdaten:rw'], - 'show'=>['user:r'], + 'show'=>['student/stammdaten:r','mitarbeiter/stammdaten:r'], ]); diff --git a/public/js/apps/Cis/ProfilUpdateRequests.js b/public/js/apps/Cis/ProfilUpdateRequests.js index 9a6b9548f..43c7257d5 100755 --- a/public/js/apps/Cis/ProfilUpdateRequests.js +++ b/public/js/apps/Cis/ProfilUpdateRequests.js @@ -226,15 +226,12 @@ const app = Vue.createApp({ showModal: function (value) { AcceptDenyUpdate.popup({ value: value }) .then((res) => { - console.log("res of the modal: ", res); + //? refetches the data, if any request was denied or accepted //* setData will call the ajaxURL again to refresh the data this.$refs.UpdatesTable.tabulator.setData(); }) - .catch((e) => { - //? catches the rejected Promise if the result of the modal was falsy - console.log("catch of the modal: ", e); - }); + }, updateData: function (event) { this.$refs.UpdatesTable.tabulator.setData(); diff --git a/system/dbupdate_3.4.php b/system/dbupdate_3.4.php index cce0d9bb9..48fc8ff73 100755 --- a/system/dbupdate_3.4.php +++ b/system/dbupdate_3.4.php @@ -223,7 +223,7 @@ $tabellen=array( "public.tbl_benutzerfunktion" => array("benutzerfunktion_id","fachbereich_kurzbz","uid","oe_kurzbz","funktion_kurzbz","semester", "datum_von","datum_bis", "updateamum","updatevon","insertamum","insertvon","ext_id","bezeichnung","wochenstunden"), "public.tbl_benutzergruppe" => array("uid","gruppe_kurzbz","studiensemester_kurzbz","updateamum","updatevon","insertamum","insertvon","ext_id"), "public.tbl_bewerbungstermine" => array("bewerbungstermin_id","studiengang_kz","studiensemester_kurzbz","beginn","ende","nachfrist","nachfrist_ende","anmerkung", "insertamum", "insertvon", "updateamum", "updatevon","studienplan_id","nationengruppe_kurzbz"), - "public.tbl_cis_profil_update" => array("profil_update_id","uid","name","topic","requested_change", "updateamum", "updatevon", "insertamum", "insertvon", "status", "status_timestamp", "status_message"), + "public.tbl_profil_update" => array("profil_update_id","uid","name","topic","requested_change", "updateamum", "updatevon", "insertamum", "insertvon", "status", "status_timestamp", "status_message", "attachment_id"), "public.tbl_buchungstyp" => array("buchungstyp_kurzbz","beschreibung","standardbetrag","standardtext","aktiv","credit_points"), "public.tbl_dokument" => array("dokument_kurzbz","bezeichnung","ext_id","bezeichnung_mehrsprachig","dokumentbeschreibung_mehrsprachig","ausstellungsdetails"), "public.tbl_dokumentprestudent" => array("dokument_kurzbz","prestudent_id","mitarbeiter_uid","datum","updateamum","updatevon","insertamum","insertvon","ext_id"), diff --git a/system/dbupdate_3.4/25999_C4_ma0594.php b/system/dbupdate_3.4/25999_C4_ma0594.php index e9df68b19..01a2005c3 100755 --- a/system/dbupdate_3.4/25999_C4_ma0594.php +++ b/system/dbupdate_3.4/25999_C4_ma0594.php @@ -1,8 +1,54 @@ db_query("SELECT 1 FROM public.tbl_cis_profil_update LIMIT 1")) + if(!$result = @$db->db_query("SELECT 1 FROM public.tbl_profil_update_status LIMIT 1")) { - $qry = "CREATE TABLE public.tbl_cis_profil_update ( + + $qry = " CREATE TABLE public.tbl_profil_update_status ( + status_kurzbz VARCHAR(32) NOT NULL, + beschreibung VARCHAR(256) NULL, + CONSTRAINT tbl_profil_update_status_pk PRIMARY KEY(status_kurzbz) + ); + + INSERT INTO public.tbl_profil_update_status VALUES ('pending','Profil Änderungen die neu erstellt wurden und noch nicht akzeptiert oder abgelehnt wurden'), + ('accepted','Profil Änderungen die akzeptiert wurden'), + ('rejected','Profil Änderungen die abgelehn wurden');"; + + if(!$db->db_query($qry)) + echo 'public.tbl_profil_update_status: '.$db->db_last_error().'
'; + else + echo '
public.tbl_profil_update_status: table created'; + } + + if(!$result = @$db->db_query("SELECT 1 FROM public.tbl_profil_update_topic LIMIT 1")) + { + + $qry="CREATE TABLE public.tbl_profil_update_topic ( + topic_kurzbz VARCHAR(32) NOT NULL, + beschreibung VARCHAR(256) NULL, + CONSTRAINT tbl_profil_update_topic_pk PRIMARY KEY(topic_kurzbz) + ); + + INSERT INTO public.tbl_profil_update_topic VALUES ('vorname','Vorname aktualisieren'), + ('nachname','Nachname aktualisieren'), + ('titel','Titel aktualisieren'), + ('postnomen','Postnomen aktualisieren'), + ('Private Kontakte','Kontakt aktualisieren'), + ('Delete Kontakte','Kontakt löschen'), + ('Add Kontakte','Kontakt hinzufügen'), + ('Private Adressen','Adresse aktualisieren'), + ('Delete Adressen','Adresse löschen'), + ('Add Adressen','Adresse hinzufügen');"; + + if(!$db->db_query($qry)) + echo 'public.tbl_profil_update_topic: '.$db->db_last_error().'
'; + else + echo '
public.tbl_profil_update_topic: table created'; + } + + if(!$result = @$db->db_query("SELECT 1 FROM public.tbl_profil_update LIMIT 1")) + { + + $qry = "CREATE TABLE public.tbl_profil_update ( profil_update_id INTEGER NOT NULL, uid VARCHAR(32) NOT NULL, name TEXT NOT NULL, @@ -15,41 +61,43 @@ status VARCHAR(32) NOT NULL, status_timestamp TIMESTAMP NULL, status_message TEXT NULL, - CONSTRAINT tbl_cis_profil_update_pk PRIMARY KEY(profil_update_id), - CONSTRAINT tbl_cis_profil_update_fk FOREIGN KEY(uid) REFERENCES public.tbl_benutzer(uid) - ); + attachment_id bigint NULL, + CONSTRAINT tbl_profil_update_pk PRIMARY KEY(profil_update_id), + CONSTRAINT tbl_profil_update_fk FOREIGN KEY(uid) REFERENCES public.tbl_benutzer(uid), + CONSTRAINT tbl_profil_update_status_fk FOREIGN KEY(status) REFERENCES public.tbl_profil_update_status(status_kurzbz), + CONSTRAINT tbl_profil_update_topic_fk FOREIGN KEY(topic) REFERENCES public.tbl_profil_update_topic(topic_kurzbz), + CONSTRAINT tbl_profil_update_attachment_fk FOREIGN KEY(attachment_id) REFERENCES campus.tbl_dms(dms_id) + ); - CREATE SEQUENCE public.tbl_cis_profil_update_id_seq + CREATE SEQUENCE public.tbl_profil_update_id_seq INCREMENT BY 1 NO MAXVALUE NO MINVALUE CACHE 1; - ALTER TABLE public.tbl_cis_profil_update ALTER COLUMN profil_update_id SET DEFAULT nextval('public.tbl_cis_profil_update_id_seq'); - ALTER SEQUENCE public.tbl_cis_profil_update_id_seq OWNED BY public.tbl_cis_profil_update.profil_update_id; - ALTER TABLE public.tbl_cis_profil_update ADD CONSTRAINT tbl_cis_profil_update_restricted_status CHECK (status IN ('pending','accepted','rejected')); - --ALTER TABLE public.tbl_cis_profil_update ADD CONSTRAINT cis_profil_udpate_topic_uid_unique UNIQUE (uid,topic); - - GRANT SELECT, INSERT, UPDATE, DELETE ON public.tbl_cis_profil_update TO vilesci; - GRANT SELECT, INSERT, UPDATE, DELETE ON public.tbl_cis_profil_update TO web; - GRANT SELECT, UPDATE ON public.tbl_cis_profil_update_id_seq TO vilesci; - GRANT SELECT, UPDATE ON public.tbl_cis_profil_update_id_seq TO web;"; + ALTER TABLE public.tbl_profil_update ALTER COLUMN profil_update_id SET DEFAULT nextval('public.tbl_profil_update_id_seq'); + ALTER SEQUENCE public.tbl_profil_update_id_seq OWNED BY public.tbl_profil_update.profil_update_id; + + GRANT SELECT, INSERT, UPDATE, DELETE ON public.tbl_profil_update TO vilesci; + GRANT SELECT, INSERT, UPDATE, DELETE ON public.tbl_profil_update TO web; + GRANT SELECT, UPDATE ON public.tbl_profil_update_id_seq TO vilesci; + GRANT SELECT, UPDATE ON public.tbl_profil_update_id_seq TO web;"; if(!$db->db_query($qry)) - echo 'public.tbl_cis_profil_update: '.$db->db_last_error().'
'; + echo 'public.tbl_profil_update: '.$db->db_last_error().'
'; else - echo '
public.tbl_cis_profil_update: table created'; + echo '
public.tbl_profil_update: table created'; } //? would add a column if the column is missing in the table - /* if(!$result = @$db->db_query("SELECT topic FROM public.tbl_cis_profil_update LIMIT 1")) + /* if(!$result = @$db->db_query("SELECT topic FROM public.tbl_profil_update LIMIT 1")) { - $qry = "ALTER TABLE public.tbl_cis_profil_update ADD COLUMN topic varchar(32) NOT NULL;"; + $qry = "ALTER TABLE public.tbl_profil_update ADD COLUMN topic varchar(32) NOT NULL;"; if(!$db->db_query($qry)) - echo 'public.tbl_cis_profil_update: '.$db->db_last_error().'
'; + echo 'public.tbl_profil_update: '.$db->db_last_error().'
'; else - echo '
public.tbl_cis_profil_update: Spalte topic hinzugefuegt'; + echo '
public.tbl_profil_update: Spalte topic hinzugefuegt'; } */ \ No newline at end of file