From a54c7a3492ce5cca896883c7e031a02e93d19470 Mon Sep 17 00:00:00 2001 From: KarpAlex Date: Mon, 26 Jun 2023 19:15:27 +0200 Subject: [PATCH 01/15] UHSTAT1 data: added tables --- system/dbupdate_3.4.php | 1 + ...uhstat1_daten_ueber_das_bewerbungstool.php | 124 ++++++++++++++++++ 2 files changed, 125 insertions(+) create mode 100644 system/dbupdate_3.4/29835_uhstat1_erfassung_der_uhstat1_daten_ueber_das_bewerbungstool.php diff --git a/system/dbupdate_3.4.php b/system/dbupdate_3.4.php index 9fda09bba..5687d4ca3 100644 --- a/system/dbupdate_3.4.php +++ b/system/dbupdate_3.4.php @@ -39,6 +39,7 @@ require_once('dbupdate_3.4/27107_vilesci_erfassung_abwesenheiten_reinigung.php') require_once('dbupdate_3.4/24913_tabelle_raumtyp_neues_attribut_aktiv.php'); require_once('dbupdate_3.4/28089_plausichecks_in_extension_hinzufuegen.php'); require_once('dbupdate_3.4/29133_einzelne_studiengaenge_aus_issuechecks_ausnehmen.php'); +require_once('dbupdate_3.4/29835_uhstat1_erfassung_der_uhstat1_daten_ueber_das_bewerbungstool.php'); // *** Pruefung und hinzufuegen der neuen Attribute und Tabellen echo '

Pruefe Tabellen und Attribute!

'; diff --git a/system/dbupdate_3.4/29835_uhstat1_erfassung_der_uhstat1_daten_ueber_das_bewerbungstool.php b/system/dbupdate_3.4/29835_uhstat1_erfassung_der_uhstat1_daten_ueber_das_bewerbungstool.php new file mode 100644 index 000000000..c27e068c6 --- /dev/null +++ b/system/dbupdate_3.4/29835_uhstat1_erfassung_der_uhstat1_daten_ueber_das_bewerbungstool.php @@ -0,0 +1,124 @@ +db_query('SELECT 1 FROM bis.tbl_abschluss LIMIT 1')) +{ + $qry = "CREATE TABLE bis.tbl_abschluss + ( + ausbildung_code integer NOT NULL, + abschluss_bez varchar(128), + bezeichnung character varying(128)[], + aktiv boolean NOT NULL DEFAULT true, + in_oesterreich boolean, + CONSTRAINT tbl_abschluss_pk PRIMARY KEY (ausbildung_code) + ); + + COMMENT ON TABLE bis.tbl_abschluss IS 'Key-Table of graduation'; + COMMENT ON COLUMN bis.tbl_abschluss.aktiv IS 'Shows wether graduation is still valid.'; + COMMENT ON COLUMN bis.tbl_abschluss.in_oesterreich IS 'Shows if graduation was obtained in Austria.'; + + GRANT SELECT ON bis.tbl_abschluss TO web; + GRANT SELECT, UPDATE, INSERT, DELETE ON bis.tbl_abschluss TO vilesci; + + -- prefill values + INSERT INTO bis.tbl_abschluss(ausbildung_code, abschluss_bez, bezeichnung) VALUES(110, 'Pflichtschule', '{\"Pflichtschule (mit/ohne Abschluss)\", \"Compulsory school (Completed/not completed)\"}'); + INSERT INTO bis.tbl_abschluss(ausbildung_code, abschluss_bez, bezeichnung) VALUES(121, 'Lehre', '{\"Lehre\", \"Apprenticeship\"}'); + INSERT INTO bis.tbl_abschluss(ausbildung_code, abschluss_bez, bezeichnung) VALUES(122, 'Mittlere Schule ohne Matura', '{\"Mittlere Schule ohne Matura (z.B. Handelsschule, Fachschule)\", \"School for intermediate vocational education (without university entrance qualification)\"}'); + INSERT INTO bis.tbl_abschluss(ausbildung_code, abschluss_bez, bezeichnung) VALUES(123, 'Meisterprüfung', '{\"Meisterprüfung\", \"Master craftsman\'s diploma\"}'); + INSERT INTO bis.tbl_abschluss(ausbildung_code, abschluss_bez, bezeichnung) VALUES(131, 'AHS', '{\"AHS (allgemein bildende höhere Schule)\", \"Academic secondary school\"}'); + INSERT INTO bis.tbl_abschluss(ausbildung_code, abschluss_bez, bezeichnung) VALUES(132, 'BHS', '{\"BHS (berufsbildende höhere Schule, z.B. HAK, HTL)\", \"College for higher vocational education\"}'); + INSERT INTO bis.tbl_abschluss(ausbildung_code, abschluss_bez, bezeichnung) VALUES(133, 'Sonstige Hochschulzugangsberechtigung', '{\"Sonstige Hochschulzugangsberechtigung (z.B. Berufsreifeprüfung)\", \"Other university entrance qualification (e.g. \'Berufsreifeprüfung\')\"}'); + INSERT INTO bis.tbl_abschluss(ausbildung_code, abschluss_bez, bezeichnung) VALUES(141, 'Akademie', '{\"Akademie (z.B. PÄDAK, SOZAK)\", \"Academy (for example PÄDAK, SOZAK)\"}'); + INSERT INTO bis.tbl_abschluss(ausbildung_code, abschluss_bez, bezeichnung) VALUES(142, 'Universität/Hochschule', '{\"Universität/Hochschule\", \"University/university of applied sciences/university college of teacher education\"}'); + INSERT INTO bis.tbl_abschluss(ausbildung_code, abschluss_bez, bezeichnung) VALUES(210, 'Pflichtschule', '{\"Pflichtschule (mit/ohne Abschluss)\", \"Compulsory school (Completed/not completed)\"}'); + INSERT INTO bis.tbl_abschluss(ausbildung_code, abschluss_bez, bezeichnung) VALUES(220, 'Ausbildung ohne Hochschulzugangsberechtigung', '{\"Lehre oder mittlere Schule ohne Matura/Ausbildung ohne Hochschulzugangsberechtigung\", \"Apprenticeship or school for intermediate vocational education (education without university entrance qualification)\"}'); + INSERT INTO bis.tbl_abschluss(ausbildung_code, abschluss_bez, bezeichnung) VALUES(230, 'Ausbildung mit Hochschulzugangsberechtigung', '{\"Höhere Schule mit Matura / Ausbildung mit Hochschulzugangsberechtigung (z.B. Abitur)\", \"Higher secondary school with university entrance qualification\"}'); + INSERT INTO bis.tbl_abschluss(ausbildung_code, abschluss_bez, bezeichnung) VALUES(240, 'Universität/Hochschule', '{\"Universität/Hochschule\", \"University/university of applied sciences/university college of teacher education\"}'); + INSERT INTO bis.tbl_abschluss(ausbildung_code, abschluss_bez, bezeichnung) VALUES(999, 'unbekannt', '{\"Ich weiß nicht, welchen Abschluss meine erziehungsberechtigte Person erlangt hat.\", \"I do not know what degree my legal guardian got.\"}'); + "; + + if(!$db->db_query($qry)) + echo 'bis.tbl_abschluss: '.$db->db_last_error().'
'; + else + echo ' bis.tbl_abschluss: Tabelle hinzugefuegt
'; +} + +if (!$result = @$db->db_query('SELECT 1 FROM bis.tbl_uhstat1daten LIMIT 1')) +{ + $qry = "CREATE SEQUENCE bis.tbl_uhstat1daten_uhstat1daten_id_seq + INCREMENT BY 1 + NO MAXVALUE + NO MINVALUE + START WITH 1 + CACHE 1 + NO CYCLE; + + CREATE TABLE bis.tbl_uhstat1daten + ( + uhstat1daten_id integer DEFAULT nextval('bis.tbl_uhstat1daten_uhstat1daten_id_seq'::regclass), + geburtsstaat varchar(3), + mutter_geburtsstaat varchar(3), + mutter_bildungsstaat varchar(3), + mutter_geburtsjahr smallint, + mutter_bildungmax integer, + vater_geburtsstaat varchar(3), + vater_bildungsstaat varchar(3), + vater_geburtsjahr smallint, + vater_bildungmax integer, + person_id integer NOT NULL + ); + + ALTER TABLE bis.tbl_uhstat1daten ADD CONSTRAINT fk_tbl_uhstat1daten_geburtsstaat FOREIGN KEY (geburtsstaat) + REFERENCES bis.tbl_nation (nation_code) MATCH SIMPLE + ON DELETE RESTRICT ON UPDATE CASCADE; + + ALTER TABLE bis.tbl_uhstat1daten ADD CONSTRAINT fk_tbl_uhstat1daten_mutter_geburtsstaat FOREIGN KEY (mutter_geburtsstaat) + REFERENCES bis.tbl_nation (nation_code) MATCH SIMPLE + ON DELETE RESTRICT ON UPDATE CASCADE; + + ALTER TABLE bis.tbl_uhstat1daten ADD CONSTRAINT fk_tbl_uhstat1daten_mutter_bildungsstaat FOREIGN KEY (mutter_bildungsstaat) + REFERENCES bis.tbl_nation (nation_code) MATCH SIMPLE + ON DELETE RESTRICT ON UPDATE CASCADE; + + ALTER TABLE bis.tbl_uhstat1daten ADD CONSTRAINT fk_tbl_uhstat1daten_mutter_bildungmax FOREIGN KEY (mutter_bildungmax) + REFERENCES bis.tbl_abschluss (ausbildung_code) MATCH SIMPLE + ON DELETE RESTRICT ON UPDATE CASCADE; + + ALTER TABLE bis.tbl_uhstat1daten ADD CONSTRAINT fk_tbl_uhstat1daten_vater_geburtsstaat FOREIGN KEY (vater_geburtsstaat) + REFERENCES bis.tbl_nation (nation_code) MATCH SIMPLE + ON DELETE RESTRICT ON UPDATE CASCADE; + + ALTER TABLE bis.tbl_uhstat1daten ADD CONSTRAINT fk_tbl_uhstat1daten_vater_bildungsstaat FOREIGN KEY (vater_bildungsstaat) + REFERENCES bis.tbl_nation (nation_code) MATCH SIMPLE + ON DELETE RESTRICT ON UPDATE CASCADE; + + ALTER TABLE bis.tbl_uhstat1daten ADD CONSTRAINT fk_tbl_uhstat1daten_vater_bildungmax FOREIGN KEY (vater_bildungmax) + REFERENCES bis.tbl_abschluss (ausbildung_code) MATCH SIMPLE + ON DELETE RESTRICT ON UPDATE CASCADE; + + ALTER TABLE bis.tbl_uhstat1daten ADD CONSTRAINT fk_tbl_uhstat1daten_person_id FOREIGN KEY (person_id) + REFERENCES public.tbl_person (person_id) MATCH SIMPLE + ON DELETE RESTRICT ON UPDATE CASCADE; + + COMMENT ON TABLE bis.tbl_uhstat1daten IS 'UHSTAT1 data for a person (statistical data)'; + COMMENT ON COLUMN bis.tbl_uhstat1daten.geburtsstaat IS 'Birthplace of person'; + COMMENT ON COLUMN bis.tbl_uhstat1daten.mutter_geburtsstaat IS 'Birth country of mother of person'; + COMMENT ON COLUMN bis.tbl_uhstat1daten.mutter_bildungsstaat IS 'Education country of mother of person'; + COMMENT ON COLUMN bis.tbl_uhstat1daten.mutter_geburtsjahr IS 'Birth year of mother of person'; + COMMENT ON COLUMN bis.tbl_uhstat1daten.mutter_bildungmax IS 'Highest completed level of education of mother (code)'; + COMMENT ON COLUMN bis.tbl_uhstat1daten.vater_geburtsstaat IS 'Birth country of father of person'; + COMMENT ON COLUMN bis.tbl_uhstat1daten.vater_bildungsstaat IS 'Education country of father of person'; + COMMENT ON COLUMN bis.tbl_uhstat1daten.vater_geburtsjahr IS 'Birth year of father of person'; + COMMENT ON COLUMN bis.tbl_uhstat1daten.vater_bildungmax IS 'Highest completed level of education of father (code)'; + + GRANT SELECT, UPDATE, INSERT, DELETE ON bis.tbl_uhstat1daten TO web; + GRANT SELECT, UPDATE, INSERT, DELETE ON bis.tbl_uhstat1daten TO vilesci; + "; + + if(!$db->db_query($qry)) + echo 'bis.tbl_uhstat1daten: '.$db->db_last_error().'
'; + else + echo ' bis.tbl_uhstat1daten: Tabelle hinzugefuegt
'; +} From 0a961d8e95b33a5e300586d84d598bd7b10c0346 Mon Sep 17 00:00:00 2001 From: KarpAlex Date: Tue, 27 Jun 2023 11:00:13 +0200 Subject: [PATCH 02/15] UHSTAT1 bis.tbl_abschluss: added default values for in_oesterreich boolean --- ...uhstat1_daten_ueber_das_bewerbungstool.php | 26 +++++++++---------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/system/dbupdate_3.4/29835_uhstat1_erfassung_der_uhstat1_daten_ueber_das_bewerbungstool.php b/system/dbupdate_3.4/29835_uhstat1_erfassung_der_uhstat1_daten_ueber_das_bewerbungstool.php index c27e068c6..7395ac0bc 100644 --- a/system/dbupdate_3.4/29835_uhstat1_erfassung_der_uhstat1_daten_ueber_das_bewerbungstool.php +++ b/system/dbupdate_3.4/29835_uhstat1_erfassung_der_uhstat1_daten_ueber_das_bewerbungstool.php @@ -23,19 +23,19 @@ if (!$result = @$db->db_query('SELECT 1 FROM bis.tbl_abschluss LIMIT 1')) GRANT SELECT, UPDATE, INSERT, DELETE ON bis.tbl_abschluss TO vilesci; -- prefill values - INSERT INTO bis.tbl_abschluss(ausbildung_code, abschluss_bez, bezeichnung) VALUES(110, 'Pflichtschule', '{\"Pflichtschule (mit/ohne Abschluss)\", \"Compulsory school (Completed/not completed)\"}'); - INSERT INTO bis.tbl_abschluss(ausbildung_code, abschluss_bez, bezeichnung) VALUES(121, 'Lehre', '{\"Lehre\", \"Apprenticeship\"}'); - INSERT INTO bis.tbl_abschluss(ausbildung_code, abschluss_bez, bezeichnung) VALUES(122, 'Mittlere Schule ohne Matura', '{\"Mittlere Schule ohne Matura (z.B. Handelsschule, Fachschule)\", \"School for intermediate vocational education (without university entrance qualification)\"}'); - INSERT INTO bis.tbl_abschluss(ausbildung_code, abschluss_bez, bezeichnung) VALUES(123, 'Meisterprüfung', '{\"Meisterprüfung\", \"Master craftsman\'s diploma\"}'); - INSERT INTO bis.tbl_abschluss(ausbildung_code, abschluss_bez, bezeichnung) VALUES(131, 'AHS', '{\"AHS (allgemein bildende höhere Schule)\", \"Academic secondary school\"}'); - INSERT INTO bis.tbl_abschluss(ausbildung_code, abschluss_bez, bezeichnung) VALUES(132, 'BHS', '{\"BHS (berufsbildende höhere Schule, z.B. HAK, HTL)\", \"College for higher vocational education\"}'); - INSERT INTO bis.tbl_abschluss(ausbildung_code, abschluss_bez, bezeichnung) VALUES(133, 'Sonstige Hochschulzugangsberechtigung', '{\"Sonstige Hochschulzugangsberechtigung (z.B. Berufsreifeprüfung)\", \"Other university entrance qualification (e.g. \'Berufsreifeprüfung\')\"}'); - INSERT INTO bis.tbl_abschluss(ausbildung_code, abschluss_bez, bezeichnung) VALUES(141, 'Akademie', '{\"Akademie (z.B. PÄDAK, SOZAK)\", \"Academy (for example PÄDAK, SOZAK)\"}'); - INSERT INTO bis.tbl_abschluss(ausbildung_code, abschluss_bez, bezeichnung) VALUES(142, 'Universität/Hochschule', '{\"Universität/Hochschule\", \"University/university of applied sciences/university college of teacher education\"}'); - INSERT INTO bis.tbl_abschluss(ausbildung_code, abschluss_bez, bezeichnung) VALUES(210, 'Pflichtschule', '{\"Pflichtschule (mit/ohne Abschluss)\", \"Compulsory school (Completed/not completed)\"}'); - INSERT INTO bis.tbl_abschluss(ausbildung_code, abschluss_bez, bezeichnung) VALUES(220, 'Ausbildung ohne Hochschulzugangsberechtigung', '{\"Lehre oder mittlere Schule ohne Matura/Ausbildung ohne Hochschulzugangsberechtigung\", \"Apprenticeship or school for intermediate vocational education (education without university entrance qualification)\"}'); - INSERT INTO bis.tbl_abschluss(ausbildung_code, abschluss_bez, bezeichnung) VALUES(230, 'Ausbildung mit Hochschulzugangsberechtigung', '{\"Höhere Schule mit Matura / Ausbildung mit Hochschulzugangsberechtigung (z.B. Abitur)\", \"Higher secondary school with university entrance qualification\"}'); - INSERT INTO bis.tbl_abschluss(ausbildung_code, abschluss_bez, bezeichnung) VALUES(240, 'Universität/Hochschule', '{\"Universität/Hochschule\", \"University/university of applied sciences/university college of teacher education\"}'); + INSERT INTO bis.tbl_abschluss(ausbildung_code, abschluss_bez, bezeichnung, in_oesterreich) VALUES(110, 'Pflichtschule', '{\"Pflichtschule (mit/ohne Abschluss)\", \"Compulsory school (Completed/not completed)\"}', true); + INSERT INTO bis.tbl_abschluss(ausbildung_code, abschluss_bez, bezeichnung, in_oesterreich) VALUES(121, 'Lehre', '{\"Lehre\", \"Apprenticeship\"}', true); + INSERT INTO bis.tbl_abschluss(ausbildung_code, abschluss_bez, bezeichnung, in_oesterreich) VALUES(122, 'Mittlere Schule ohne Matura', '{\"Mittlere Schule ohne Matura (z.B. Handelsschule, Fachschule)\", \"School for intermediate vocational education (without university entrance qualification)\"}', true); + INSERT INTO bis.tbl_abschluss(ausbildung_code, abschluss_bez, bezeichnung, in_oesterreich) VALUES(123, 'Meisterprüfung', '{\"Meisterprüfung\", \"Master craftsman\'s diploma\"}', true); + INSERT INTO bis.tbl_abschluss(ausbildung_code, abschluss_bez, bezeichnung, in_oesterreich) VALUES(131, 'AHS', '{\"AHS (allgemein bildende höhere Schule)\", \"Academic secondary school\"}', true); + INSERT INTO bis.tbl_abschluss(ausbildung_code, abschluss_bez, bezeichnung, in_oesterreich) VALUES(132, 'BHS', '{\"BHS (berufsbildende höhere Schule, z.B. HAK, HTL)\", \"College for higher vocational education\"}', true); + INSERT INTO bis.tbl_abschluss(ausbildung_code, abschluss_bez, bezeichnung, in_oesterreich) VALUES(133, 'Sonstige Hochschulzugangsberechtigung', '{\"Sonstige Hochschulzugangsberechtigung (z.B. Berufsreifeprüfung)\", \"Other university entrance qualification (e.g. \'Berufsreifeprüfung\')\"}', true); + INSERT INTO bis.tbl_abschluss(ausbildung_code, abschluss_bez, bezeichnung, in_oesterreich) VALUES(141, 'Akademie', '{\"Akademie (z.B. PÄDAK, SOZAK)\", \"Academy (for example PÄDAK, SOZAK)\"}', true); + INSERT INTO bis.tbl_abschluss(ausbildung_code, abschluss_bez, bezeichnung, in_oesterreich) VALUES(142, 'Universität/Hochschule', '{\"Universität/Hochschule\", \"University/university of applied sciences/university college of teacher education\"}', true); + INSERT INTO bis.tbl_abschluss(ausbildung_code, abschluss_bez, bezeichnung, in_oesterreich) VALUES(210, 'Pflichtschule', '{\"Pflichtschule (mit/ohne Abschluss)\", \"Compulsory school (Completed/not completed)\"}', false); + INSERT INTO bis.tbl_abschluss(ausbildung_code, abschluss_bez, bezeichnung, in_oesterreich) VALUES(220, 'Ausbildung ohne Hochschulzugangsberechtigung', '{\"Lehre oder mittlere Schule ohne Matura/Ausbildung ohne Hochschulzugangsberechtigung\", \"Apprenticeship or school for intermediate vocational education (education without university entrance qualification)\"}', false); + INSERT INTO bis.tbl_abschluss(ausbildung_code, abschluss_bez, bezeichnung, in_oesterreich) VALUES(230, 'Ausbildung mit Hochschulzugangsberechtigung', '{\"Höhere Schule mit Matura / Ausbildung mit Hochschulzugangsberechtigung (z.B. Abitur)\", \"Higher secondary school with university entrance qualification\"}', false); + INSERT INTO bis.tbl_abschluss(ausbildung_code, abschluss_bez, bezeichnung, in_oesterreich) VALUES(240, 'Universität/Hochschule', '{\"Universität/Hochschule\", \"University/university of applied sciences/university college of teacher education\"}', false); INSERT INTO bis.tbl_abschluss(ausbildung_code, abschluss_bez, bezeichnung) VALUES(999, 'unbekannt', '{\"Ich weiß nicht, welchen Abschluss meine erziehungsberechtigte Person erlangt hat.\", \"I do not know what degree my legal guardian got.\"}'); "; From 68fbc13a691c6f791f72faa711f128d9682e2204 Mon Sep 17 00:00:00 2001 From: KarpAlex Date: Sat, 15 Jul 2023 19:57:51 +0200 Subject: [PATCH 03/15] added first version of uhstat1 form, added unique constraint for person_id in uhstat1daten table, added permissions for uhstat1daten sequence --- application/controllers/codex/UHSTAT1.php | 301 ++++++++++++++++++ application/models/codex/Abschluss_model.php | 28 ++ .../models/codex/Uhstat1daten_model.php | 14 + application/views/codex/uhstat1.php | 217 +++++++++++++ ...uhstat1_daten_ueber_das_bewerbungstool.php | 6 +- 5 files changed, 565 insertions(+), 1 deletion(-) create mode 100644 application/controllers/codex/UHSTAT1.php create mode 100644 application/models/codex/Abschluss_model.php create mode 100644 application/models/codex/Uhstat1daten_model.php create mode 100644 application/views/codex/uhstat1.php diff --git a/application/controllers/codex/UHSTAT1.php b/application/controllers/codex/UHSTAT1.php new file mode 100644 index 000000000..071368aae --- /dev/null +++ b/application/controllers/codex/UHSTAT1.php @@ -0,0 +1,301 @@ + 'admin:r', + 'saveUHSTAT1Data' => 'admin:rw' + ) + ); + + // load ci libs + $this->load->library('form_validation'); + + // load ci helpers + $this->load->helper(array('form', 'url')); + + // load models + $this->load->model('codex/Oehbeitrag_model', 'OehbeitragModel'); + $this->load->model('organisation/Studiensemester_model', 'StudiensemesterModel'); + $this->load->model('system/Sprache_model', 'SpracheModel'); + $this->load->model('codex/Abschluss_model', 'AbschlussModel'); + $this->load->model('codex/Uhstat1daten_model', 'Uhstat1datenModel'); + + $this->loadPhrases( + array( + 'ui', + 'uhstat' + ) + ); + } + + public function index() + { + $formData = $this->_getFormData(); + + if (!hasData($formData)) show_error("No form data could be loaded"); + + $this->load->view("codex/uhstat1.php", array('formData' => getData($formData))); + } + + /** + * Add or update UHSTAT1 data + */ + public function saveUHSTAT1Data() + { + $person_id = $this->input->get('person_id'); + + if (!isset($person_id) || !is_numeric($person_id)) show_error("Person Id missing"); + + $this->form_validation->set_error_delimiters('', ''); + + // check required fields + $this->form_validation->set_rules('geburtsstaat', 'Geburtsstaat', 'required', array('required' => $this->p->t('uhstat', 'feldFehlt'))); + $this->form_validation->set_rules( + 'mutter_geburtsstaat', + 'Geburtsstaat Mutter', + 'required', + array('required' => $this->p->t('uhstat', 'feldFehlt')) + ); + $this->form_validation->set_rules( + 'mutter_bildungsstaat', + 'Bildungsstaat Mutter', + 'required', + array('required' => $this->p->t('uhstat', 'feldFehlt')) + ); + $this->form_validation->set_rules( + 'mutter_geburtsjahr', + 'Geburtsjahr Mutter', + 'required', + array('required' => $this->p->t('uhstat', 'feldFehlt')) + ); + $this->form_validation->set_rules( + 'mutter_bildungmax', + 'Höchste Ausbildung Mutter', + 'required|callback_bildungsstaat_bildungmax_check[m]', + array( + 'required' => $this->p->t('uhstat', 'feldFehlt'), + 'bildungsstaat_bildungmax_check' => $this->p->t('uhstat', 'ausbildungBildungsstaatUebereinstimmung') + //'Land der höchsten Ausbildung muss mit Bildungsstaat übereinstimmen' + // Bildungsstaat should correspond to state of bildung max + ) + ); + $this->form_validation->set_rules( + 'vater_geburtsstaat', + 'Geburtsstaat Vater', + 'required', + array('required' => $this->p->t('uhstat', 'feldFehlt')) + ); + $this->form_validation->set_rules( + 'vater_bildungsstaat', + 'Bildungsstaat Vater', + 'required', + array('required' => $this->p->t('uhstat', 'feldFehlt')) + ); + $this->form_validation->set_rules( + 'vater_geburtsjahr', + 'Geburtsjahr Vater', + 'required', + array('required' => $this->p->t('uhstat', 'feldFehlt')) + ); + $this->form_validation->set_rules( + 'vater_bildungmax', + 'Höchste Ausbildung Vater', + 'required|callback_bildungsstaat_bildungmax_check[v]', + array( + 'required' => $this->p->t('uhstat', 'feldFehlt'), + 'bildungsstaat_bildungmax_check' => $this->p->t('uhstat', 'ausbildungBildungsstaatUebereinstimmung') + ) + ); + + $uhstat1datenRes = null; + if ($this->form_validation->run()) // if valid + { + // get post fields + $geburtsstaat = $this->input->post('geburtsstaat'); + $mutter_geburtsstaat = $this->input->post('mutter_geburtsstaat'); + $mutter_geburtsjahr = $this->input->post('mutter_geburtsjahr'); + $mutter_bildungsstaat = $this->input->post('mutter_bildungsstaat'); + $mutter_bildungmax = $this->input->post('mutter_bildungmax'); + $vater_geburtsstaat = $this->input->post('vater_geburtsstaat'); + $vater_geburtsjahr = $this->input->post('vater_geburtsjahr'); + $vater_bildungsstaat = $this->input->post('vater_bildungsstaat'); + $vater_bildungmax = $this->input->post('vater_bildungmax'); + + $uhstat1datenloadRes = $this->Uhstat1datenModel->loadWhere(array('person_id' => $person_id)); + + if (hasData($uhstat1datenloadRes)) + { + $uhstat1datenRes = $this->Uhstat1datenModel->update( + array('person_id' => $person_id), + array( + 'geburtsstaat' => $geburtsstaat, + 'mutter_geburtsstaat' => $mutter_geburtsstaat, + 'mutter_geburtsjahr' => $mutter_geburtsjahr, + 'mutter_bildungsstaat' => $mutter_bildungsstaat, + 'mutter_bildungmax' => $mutter_bildungmax, + 'vater_geburtsstaat' => $vater_geburtsstaat, + 'vater_geburtsjahr' => $vater_geburtsjahr, + 'vater_bildungsstaat' => $vater_bildungsstaat, + 'vater_bildungmax' => $vater_bildungmax + ) + ); + } + else + { + $uhstat1datenRes = $this->Uhstat1datenModel->insert( + array( + 'geburtsstaat' => $geburtsstaat, + 'mutter_geburtsstaat' => $mutter_geburtsstaat, + 'mutter_geburtsjahr' => $mutter_geburtsjahr, + 'mutter_bildungsstaat' => $mutter_bildungsstaat, + 'mutter_bildungmax' => $mutter_bildungmax, + 'vater_geburtsstaat' => $vater_geburtsstaat, + 'vater_geburtsjahr' => $vater_geburtsjahr, + 'vater_bildungsstaat' => $vater_bildungsstaat, + 'vater_bildungmax' => $vater_bildungmax, + 'person_id' =>$person_id + ) + ); + } + } + + $formData = $this->_getFormData(); + + if (!hasData($formData)) show_error("No data found"); + + // pass success/error messages to view + $successMessage = isset($uhstat1datenRes) && isSuccess($uhstat1datenRes) ? $this->p->t('uhstat', 'erfolgreichGespeichert') : ''; + $errorMessage = isset($uhstat1datenRes) && isError($uhstat1datenRes) ? $this->p->t('uhstat', 'fehlerBeimSpeichern') : ''; + + // load view with form data + $this->load->view("codex/uhstat1.php", array( + 'formData' => getData($formData), + 'successMessage' => $successMessage, + 'errorMessage' => $errorMessage + )); + } + + /** + * Check callback for Bildungsstaat - if Bildungsstaat is Austria, a highest education should be in Austria. + * @param $bildungmax + * @param $bildungsstaat_typ - mother (m) or father (v) + * @return bool true if valid, false otherwise + */ + public function bildungsstaat_bildungmax_check($bildungmax, $bildungsstaat_typ) + { + // valid if no type passed + if (!isset($bildungsstaat_typ)) return true; + + // get correct input + if ($bildungsstaat_typ == 'm') // mutter + $bildungsstaat = $this->input->post('mutter_bildungsstaat'); + elseif ($bildungsstaat_typ == 'v') // vater + $bildungsstaat = $this->input->post('vater_bildungsstaat'); + else + return true; + + if (!isset($bildungsstaat)) return true; + + // find out if abschluss is in Austria + $this->AbschlussModel->addSelect("in_oesterreich"); + $abschlussRes = $this->AbschlussModel->load($bildungmax); + + if (hasData($abschlussRes)) + { + $in_oesterreich = getData($abschlussRes)[0]->in_oesterreich; + // invalid if abschluss in Austria, but not Bildungsstaat, or abschluss not in Austria, but Bildungsstaat in Austria + return ($in_oesterreich && $bildungsstaat == self::CODEX_OESTERREICH) || (!$in_oesterreich && $bildungsstaat != self::CODEX_OESTERREICH); + } + + return false; + } + + /** + * Gets initial data needed to display UHSTAT1 form. + */ + private function _getFormData() + { + $person_id = $this->input->get('person_id'); + + if (!isset($person_id) || !is_numeric($person_id)) return error("Person Id missing"); + + $formData = array( + 'nation' => array(), + 'abschluss_oesterreich' => array(), + 'abschluss_nicht_oesterreich' => array(), + 'jahre' => array(), + 'languageIdx' => $this->_getLanguageIndex(), + 'person_id' => $person_id + ); + + $nationTextFieldName = $formData['languageIdx'] == 1 ? 'langtext' : 'engltext'; + + // get nation list + $this->load->model('codex/Nation_model', 'NationModel'); + + $this->NationModel->addSelect("nation_code, $nationTextFieldName AS nation_text"); + $this->NationModel->addOrder("nation_text"); + $nationRes = $this->NationModel->load(); + + if (isError($nationRes)) return $nationRes; + + if (hasData($nationRes)) $formData['nation'] = getData($nationRes); + + // get abschluss list + $abschlussRes = $this->AbschlussModel->getActiveAbschluesse(); + + if (isError($abschlussRes)) return $abschlussRes; + + $abschlussData = getData($abschlussRes); + + if (hasData($abschlussRes)) + { + foreach (getData($abschlussRes) as $abschluss) + { + if ($abschluss->in_oesterreich === true) + $formData['abschluss_oesterreich'][] = $abschluss; + elseif ($abschluss->in_oesterreich === false) + $formData['abschluss_nicht_oesterreich'][] = $abschluss; + else + { + $formData['abschluss_oesterreich'][] = $abschluss; + $formData['abschluss_nicht_oesterreich'][] = $abschluss; + } + } + } + + // get realistic birth years, dated back from current year + $currYear = date("Y"); + $formData['jahre'] = range($currYear - self::UPPER_BOUNDARY_YEARS, $currYear - self::LOWER_BOUNDARY_YEARS); + + return success($formData); + } + + /** + * Gets language index of currently logged in user. + * @return int (the index, start at 1) + */ + private function _getLanguageIndex() + { + $idx = 1; + $this->SpracheModel->addSelect('index'); + $langRes = $this->SpracheModel->loadWhere(array('sprache' => getUserLanguage())); + + if (hasData($langRes)) + { + $idx = getData($langRes)[0]->index; + } + + return $idx; + } +} diff --git a/application/models/codex/Abschluss_model.php b/application/models/codex/Abschluss_model.php new file mode 100644 index 000000000..93b940ed2 --- /dev/null +++ b/application/models/codex/Abschluss_model.php @@ -0,0 +1,28 @@ +dbTable = 'bis.tbl_abschluss'; + $this->pk = 'ausbildung_code'; + } + + public function getActiveAbschluesse() + { + return $this->execQuery( + ' + SELECT + ausbildung_code, bezeichnung, in_oesterreich + FROM + bis.tbl_abschluss + WHERE + aktiv + ORDER BY CASE WHEN in_oesterreich THEN 0 ELSE 1 END, ausbildung_code' + ); + } +} diff --git a/application/models/codex/Uhstat1daten_model.php b/application/models/codex/Uhstat1daten_model.php new file mode 100644 index 000000000..9bca44b58 --- /dev/null +++ b/application/models/codex/Uhstat1daten_model.php @@ -0,0 +1,14 @@ +dbTable = 'bis.tbl_uhstat1daten'; + $this->pk = 'uhstat1daten_id'; + } +} diff --git a/application/views/codex/uhstat1.php b/application/views/codex/uhstat1.php new file mode 100644 index 000000000..48397a387 --- /dev/null +++ b/application/views/codex/uhstat1.php @@ -0,0 +1,217 @@ +load->view( + 'templates/FHC-Header', + array( + 'title' => 'UHSTAT1Formular', + 'jquery3' => true, + 'bootstrap3' => true, + 'fontawesome4' => true, + 'dialoglib' => true, + 'phrases' => array( + 'ui' => array('speichern') + ) + ) +); +?> + +
+
+

+ p->t('uhstat', 'uhstat1AnmeldungUeberschrift') ?> +

+
+
+ p->t('uhstat', 'persoenlicheAngaben') ?> +
+ +
+ + +
+
+
+
+ p->t('uhstat', 'angabenErziehungsberechtigte') ?> +

p->t('uhstat', 'erziehungsberechtigtePersonEins') ?>

+
+ +
+ + +
+
+
+ +
+ + +
+
+
+ +
+ + +
+
+
+ +
+ + +
+
+

p->t('uhstat', 'erziehungsberechtigtePersonZwei') ?>

+
+ +
+ + +
+
+
+ +
+ + +
+
+
+ +
+ + +
+
+
+ +
+ + +
+
+
+
+ + + + + + + +
+
+
+ +
+ +load->view('templates/FHC-Footer'); ?> diff --git a/system/dbupdate_3.4/29835_uhstat1_erfassung_der_uhstat1_daten_ueber_das_bewerbungstool.php b/system/dbupdate_3.4/29835_uhstat1_erfassung_der_uhstat1_daten_ueber_das_bewerbungstool.php index 7395ac0bc..bbd168073 100644 --- a/system/dbupdate_3.4/29835_uhstat1_erfassung_der_uhstat1_daten_ueber_das_bewerbungstool.php +++ b/system/dbupdate_3.4/29835_uhstat1_erfassung_der_uhstat1_daten_ueber_das_bewerbungstool.php @@ -12,7 +12,7 @@ if (!$result = @$db->db_query('SELECT 1 FROM bis.tbl_abschluss LIMIT 1')) bezeichnung character varying(128)[], aktiv boolean NOT NULL DEFAULT true, in_oesterreich boolean, - CONSTRAINT tbl_abschluss_pk PRIMARY KEY (ausbildung_code) + CONSTRAINT pk_tbl_abschluss PRIMARY KEY (ausbildung_code) ); COMMENT ON TABLE bis.tbl_abschluss IS 'Key-Table of graduation'; @@ -102,6 +102,8 @@ if (!$result = @$db->db_query('SELECT 1 FROM bis.tbl_uhstat1daten LIMIT 1')) REFERENCES public.tbl_person (person_id) MATCH SIMPLE ON DELETE RESTRICT ON UPDATE CASCADE; + ALTER TABLE bis.tbl_uhstat1daten ADD CONSTRAINT uk_uhstat1daten_person_id UNIQUE(person_id); + COMMENT ON TABLE bis.tbl_uhstat1daten IS 'UHSTAT1 data for a person (statistical data)'; COMMENT ON COLUMN bis.tbl_uhstat1daten.geburtsstaat IS 'Birthplace of person'; COMMENT ON COLUMN bis.tbl_uhstat1daten.mutter_geburtsstaat IS 'Birth country of mother of person'; @@ -115,6 +117,8 @@ if (!$result = @$db->db_query('SELECT 1 FROM bis.tbl_uhstat1daten LIMIT 1')) GRANT SELECT, UPDATE, INSERT, DELETE ON bis.tbl_uhstat1daten TO web; GRANT SELECT, UPDATE, INSERT, DELETE ON bis.tbl_uhstat1daten TO vilesci; + GRANT SELECT, UPDATE ON bis.tbl_uhstat1daten_uhstat1daten_id_seq TO vilesci; + GRANT SELECT, UPDATE ON bis.tbl_uhstat1daten_uhstat1daten_id_seq TO web; "; if(!$db->db_query($qry)) From f5ace15f7b9c39519377e1c1edc1e8957976f1c3 Mon Sep 17 00:00:00 2001 From: KarpAlex Date: Mon, 24 Jul 2023 14:15:22 +0200 Subject: [PATCH 04/15] added phrases to UHSTAT1 form --- application/controllers/codex/UHSTAT1.php | 24 +- application/views/codex/uhstat1.php | 81 +++-- system/phrasesupdate.php | 420 ++++++++++++++++++++++ 3 files changed, 494 insertions(+), 31 deletions(-) diff --git a/application/controllers/codex/UHSTAT1.php b/application/controllers/codex/UHSTAT1.php index 071368aae..7deeb9eea 100644 --- a/application/controllers/codex/UHSTAT1.php +++ b/application/controllers/codex/UHSTAT1.php @@ -42,6 +42,8 @@ class UHSTAT1 extends FHC_Controller { $formData = $this->_getFormData(); + if (isError($formData)) show_error(getError($formData)); + if (!hasData($formData)) show_error("No form data could be loaded"); $this->load->view("codex/uhstat1.php", array('formData' => getData($formData))); @@ -59,31 +61,31 @@ class UHSTAT1 extends FHC_Controller $this->form_validation->set_error_delimiters('', ''); // check required fields - $this->form_validation->set_rules('geburtsstaat', 'Geburtsstaat', 'required', array('required' => $this->p->t('uhstat', 'feldFehlt'))); + $this->form_validation->set_rules('geburtsstaat', 'Geburtsstaat', 'required', array('required' => $this->p->t('uhstat', 'angabeFehlt'))); $this->form_validation->set_rules( 'mutter_geburtsstaat', 'Geburtsstaat Mutter', 'required', - array('required' => $this->p->t('uhstat', 'feldFehlt')) + array('required' => $this->p->t('uhstat', 'angabeFehlt')) ); $this->form_validation->set_rules( 'mutter_bildungsstaat', 'Bildungsstaat Mutter', 'required', - array('required' => $this->p->t('uhstat', 'feldFehlt')) + array('required' => $this->p->t('uhstat', 'angabeFehlt')) ); $this->form_validation->set_rules( 'mutter_geburtsjahr', 'Geburtsjahr Mutter', 'required', - array('required' => $this->p->t('uhstat', 'feldFehlt')) + array('required' => $this->p->t('uhstat', 'angabeFehlt')) ); $this->form_validation->set_rules( 'mutter_bildungmax', 'Höchste Ausbildung Mutter', 'required|callback_bildungsstaat_bildungmax_check[m]', array( - 'required' => $this->p->t('uhstat', 'feldFehlt'), + 'required' => $this->p->t('uhstat', 'angabeFehlt'), 'bildungsstaat_bildungmax_check' => $this->p->t('uhstat', 'ausbildungBildungsstaatUebereinstimmung') //'Land der höchsten Ausbildung muss mit Bildungsstaat übereinstimmen' // Bildungsstaat should correspond to state of bildung max @@ -93,26 +95,26 @@ class UHSTAT1 extends FHC_Controller 'vater_geburtsstaat', 'Geburtsstaat Vater', 'required', - array('required' => $this->p->t('uhstat', 'feldFehlt')) + array('required' => $this->p->t('uhstat', 'angabeFehlt')) ); $this->form_validation->set_rules( 'vater_bildungsstaat', 'Bildungsstaat Vater', 'required', - array('required' => $this->p->t('uhstat', 'feldFehlt')) + array('required' => $this->p->t('uhstat', 'angabeFehlt')) ); $this->form_validation->set_rules( 'vater_geburtsjahr', 'Geburtsjahr Vater', 'required', - array('required' => $this->p->t('uhstat', 'feldFehlt')) + array('required' => $this->p->t('uhstat', 'angabeFehlt')) ); $this->form_validation->set_rules( 'vater_bildungmax', 'Höchste Ausbildung Vater', 'required|callback_bildungsstaat_bildungmax_check[v]', array( - 'required' => $this->p->t('uhstat', 'feldFehlt'), + 'required' => $this->p->t('uhstat', 'angabeFehlt'), 'bildungsstaat_bildungmax_check' => $this->p->t('uhstat', 'ausbildungBildungsstaatUebereinstimmung') ) ); @@ -171,7 +173,9 @@ class UHSTAT1 extends FHC_Controller $formData = $this->_getFormData(); - if (!hasData($formData)) show_error("No data found"); + if (isError($formData)) show_error(getError($formData)); + + if (!hasData($formData)) show_error("No form data could be loaded"); // pass success/error messages to view $successMessage = isset($uhstat1datenRes) && isSuccess($uhstat1datenRes) ? $this->p->t('uhstat', 'erfolgreichGespeichert') : ''; diff --git a/application/views/codex/uhstat1.php b/application/views/codex/uhstat1.php index 48397a387..918364cf6 100644 --- a/application/views/codex/uhstat1.php +++ b/application/views/codex/uhstat1.php @@ -19,11 +19,22 @@ $this->load->view(

p->t('uhstat', 'uhstat1AnmeldungUeberschrift') ?>

+

+ p->t('uhstat', 'uhstat1AnmeldungEinleitungstext') ?> +

+
p->t('uhstat', 'persoenlicheAngaben') ?> +

+ p->t('uhstat', 'persoenlicheAngabenEinleitungstext') ?> +

- +
@@ -59,7 +75,11 @@ $this->load->view(
- +
@@ -91,7 +115,7 @@ $this->load->view(
- +
@@ -137,7 +162,11 @@ $this->load->view(
- +
@@ -169,7 +202,9 @@ $this->load->view(
- +
- - - - - - -
-
-
-
+
p->t('uhstat', 'angabenErziehungsberechtigte') ?>

@@ -63,7 +36,7 @@ $this->load->view(

- +
+ +
+
+
+
+ +
+
+
+ + + +
+ ' /> +
+
+ +
+
+
+ + load->view('templates/FHC-Footer'); ?> diff --git a/public/js/codex/uhstat1.js b/public/js/codex/uhstat1.js index e5e51b09d..78eeddefd 100644 --- a/public/js/codex/uhstat1.js +++ b/public/js/codex/uhstat1.js @@ -4,7 +4,7 @@ $(document).ready(function () { window.setTimeout(function() { - $("#success-alert_uhstat1").fadeTo(500, 0).slideUp(500, function(){ + $("#uhstat_success_alert").fadeTo(500, 0).slideUp(500, function(){ $(this).remove(); }); }, 1000); diff --git a/system/phrasesupdate.php b/system/phrasesupdate.php index 75cfb0179..8acdffca7 100644 --- a/system/phrasesupdate.php +++ b/system/phrasesupdate.php @@ -18522,6 +18522,66 @@ array( 'insertvon' => 'system' ) ) + ), + array( + 'app' => 'core', + 'category' => 'uhstat', + 'phrase' => 'datenLoeschen', + 'insertvon' => 'system', + 'phrases' => array( + array( + 'sprache' => 'German', + 'text' => 'Daten löschen', + 'description' => '', + 'insertvon' => 'system' + ), + array( + 'sprache' => 'English', + 'text' => 'Delete data', + 'description' => '', + 'insertvon' => 'system' + ) + ) + ), + array( + 'app' => 'core', + 'category' => 'uhstat', + 'phrase' => 'erfolgreichGeloescht', + 'insertvon' => 'system', + 'phrases' => array( + array( + 'sprache' => 'German', + 'text' => 'Erfolgreich gelöscht', + 'description' => '', + 'insertvon' => 'system' + ), + array( + 'sprache' => 'English', + 'text' => 'Deleted successfully', + 'description' => '', + 'insertvon' => 'system' + ) + ) + ), + array( + 'app' => 'core', + 'category' => 'uhstat', + 'phrase' => 'datenLoeschen', + 'insertvon' => 'system', + 'phrases' => array( + array( + 'sprache' => 'German', + 'text' => 'Daten löschen', + 'description' => '', + 'insertvon' => 'system' + ), + array( + 'sprache' => 'English', + 'text' => 'Delete data', + 'description' => '', + 'insertvon' => 'system' + ) + ) ) ); From e78440094327667abddd26ad2d6f3ebed875c879 Mon Sep 17 00:00:00 2001 From: KarpAlex Date: Wed, 16 Aug 2023 01:21:05 +0200 Subject: [PATCH 11/15] uhstat1 data save: added uid --- application/controllers/codex/UHSTAT1.php | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/application/controllers/codex/UHSTAT1.php b/application/controllers/codex/UHSTAT1.php index 4586345eb..8525564b2 100644 --- a/application/controllers/codex/UHSTAT1.php +++ b/application/controllers/codex/UHSTAT1.php @@ -10,6 +10,7 @@ class UHSTAT1 extends FHC_Controller const LOWER_BOUNDARY_YEARS = 160; const UPPER_BOUNDARY_YEARS = 20; + private $_uid; private $_uhstat1Fields = array(); public function __construct() @@ -40,6 +41,8 @@ class UHSTAT1 extends FHC_Controller ) ); + $this->_uid = getAuthUID(); + // set form field information $this->_uhstat1Fields = array( 'mutter_geburtsstaat' => array('name' => 'Geburtsstaat Mutter'), @@ -141,6 +144,8 @@ class UHSTAT1 extends FHC_Controller // if yes, update if (hasData($uhstat1datenloadRes)) { + $uhstatData['updateamum'] = 'NOW()'; + $uhstatData['updatevon'] = $this->_uid; $uhstat1datenRes = $this->Uhstat1datenModel->update( array('person_id' => $person_id), $uhstatData From b8aadab50958146716ed2f589fb5d8984c7101f0 Mon Sep 17 00:00:00 2001 From: KarpAlex Date: Wed, 16 Aug 2023 11:12:09 +0200 Subject: [PATCH 12/15] UHSTAT1 form: add insertamum and insertvon when inserting data --- application/controllers/codex/UHSTAT1.php | 2 ++ 1 file changed, 2 insertions(+) diff --git a/application/controllers/codex/UHSTAT1.php b/application/controllers/codex/UHSTAT1.php index 8525564b2..0795959c7 100644 --- a/application/controllers/codex/UHSTAT1.php +++ b/application/controllers/codex/UHSTAT1.php @@ -153,6 +153,8 @@ class UHSTAT1 extends FHC_Controller } else // otherwise insert { + $uhstatData['insertamum'] = 'NOW()'; + $uhstatData['insertvon'] = $this->_uid; $uhstat1datenRes = $this->Uhstat1datenModel->insert( array_merge($uhstatData, array('person_id' => $person_id)) ); From fab1022c491cc54ea14761cc0112e115f72c3fb6 Mon Sep 17 00:00:00 2001 From: KarpAlex Date: Wed, 16 Aug 2023 17:40:00 +0200 Subject: [PATCH 13/15] tbl_uhstat1daten: added primary key, removed abgeschicktamum (instead: own sync table) --- ..._erfassung_der_uhstat1_daten_ueber_das_bewerbungstool.php | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/system/dbupdate_3.4/29835_uhstat1_erfassung_der_uhstat1_daten_ueber_das_bewerbungstool.php b/system/dbupdate_3.4/29835_uhstat1_erfassung_der_uhstat1_daten_ueber_das_bewerbungstool.php index 2446651c2..2fbff6713 100644 --- a/system/dbupdate_3.4/29835_uhstat1_erfassung_der_uhstat1_daten_ueber_das_bewerbungstool.php +++ b/system/dbupdate_3.4/29835_uhstat1_erfassung_der_uhstat1_daten_ueber_das_bewerbungstool.php @@ -67,11 +67,11 @@ if (!$result = @$db->db_query('SELECT 1 FROM bis.tbl_uhstat1daten LIMIT 1')) vater_geburtsjahr smallint, vater_bildungmax integer, person_id integer NOT NULL, - abgeschicktamum timestamp without time zone, insertamum timestamp without time zone DEFAULT now(), insertvon character varying(32), updateamum timestamp without time zone, - updatevon character varying(32) + updatevon character varying(32), + CONSTRAINT pk_tbl_uhstat1daten PRIMARY KEY (uhstat1daten_id) ); ALTER TABLE bis.tbl_uhstat1daten ADD CONSTRAINT fk_tbl_uhstat1daten_mutter_geburtsstaat FOREIGN KEY (mutter_geburtsstaat) @@ -113,7 +113,6 @@ if (!$result = @$db->db_query('SELECT 1 FROM bis.tbl_uhstat1daten LIMIT 1')) COMMENT ON COLUMN bis.tbl_uhstat1daten.vater_bildungsstaat IS 'Education country of father of person'; COMMENT ON COLUMN bis.tbl_uhstat1daten.vater_geburtsjahr IS 'Birth year of father of person'; COMMENT ON COLUMN bis.tbl_uhstat1daten.vater_bildungmax IS 'Highest completed level of education of father (code)'; - COMMENT ON COLUMN bis.tbl_uhstat1daten.abgeschicktamum IS 'Date and time UHSTAT1 data was sent'; GRANT SELECT, UPDATE, INSERT, DELETE ON bis.tbl_uhstat1daten TO web; GRANT SELECT, UPDATE, INSERT, DELETE ON bis.tbl_uhstat1daten TO vilesci; From 4175ecc209e231f28da159bccf276d55ed492bb3 Mon Sep 17 00:00:00 2001 From: KarpAlex Date: Tue, 5 Sep 2023 16:49:19 +0200 Subject: [PATCH 14/15] UHSTAT1 form: added firstname and lastname of student --- application/controllers/codex/UHSTAT1.php | 17 +++++++++++++++++ application/views/codex/uhstat1.php | 6 ++++++ 2 files changed, 23 insertions(+) diff --git a/application/controllers/codex/UHSTAT1.php b/application/controllers/codex/UHSTAT1.php index 0795959c7..6bbd4d4f8 100644 --- a/application/controllers/codex/UHSTAT1.php +++ b/application/controllers/codex/UHSTAT1.php @@ -279,8 +279,11 @@ class UHSTAT1 extends FHC_Controller private function _getFormMetaData() { $person_id = $this->_getValidPersonId('s'); + + // read only display param $readOnly = $this->input->get('readOnly'); + // depending on permissions, editing or deleting is possible $editPermission = $this->_checkPermission('sui'); $deletePermission = $this->_checkPermission('suid'); @@ -297,6 +300,20 @@ class UHSTAT1 extends FHC_Controller 'readOnly' => $readOnly ); + // get person data + $this->load->model('person/Person_model', 'PersonModel'); + $this->PersonModel->addSelect("vorname, nachname"); + $personRes = $this->PersonModel->load($person_id); + + if (isError($personRes)) return $personRes; + + if (hasData($personRes)) + { + $person = getData($personRes)[0]; + $formMetaData['vorname'] = $person->vorname; + $formMetaData['nachname'] = $person->nachname; + } + $nationTextFieldName = $languageIdx == 1 ? 'langtext' : 'engltext'; // get nation list diff --git a/application/views/codex/uhstat1.php b/application/views/codex/uhstat1.php index 2d9bc5ebf..a09f9c70a 100644 --- a/application/views/codex/uhstat1.php +++ b/application/views/codex/uhstat1.php @@ -32,6 +32,12 @@ $saved = isset($saved) && $saved === true; ?>
+

+ +

p->t('uhstat', 'uhstat1AnmeldungUeberschrift') ?>

From 38da37980debbdefd298297586b4db3574409012 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20=C3=96sterreicher?= Date: Thu, 7 Sep 2023 15:34:55 +0200 Subject: [PATCH 15/15] Fehlerhaftes Escaping korrigiert damit inserts mit standard_conforming_strings funktioniert --- ...1_erfassung_der_uhstat1_daten_ueber_das_bewerbungstool.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/system/dbupdate_3.4/29835_uhstat1_erfassung_der_uhstat1_daten_ueber_das_bewerbungstool.php b/system/dbupdate_3.4/29835_uhstat1_erfassung_der_uhstat1_daten_ueber_das_bewerbungstool.php index 2fbff6713..aaa412d88 100644 --- a/system/dbupdate_3.4/29835_uhstat1_erfassung_der_uhstat1_daten_ueber_das_bewerbungstool.php +++ b/system/dbupdate_3.4/29835_uhstat1_erfassung_der_uhstat1_daten_ueber_das_bewerbungstool.php @@ -26,10 +26,10 @@ if (!$result = @$db->db_query('SELECT 1 FROM bis.tbl_abschluss LIMIT 1')) INSERT INTO bis.tbl_abschluss(ausbildung_code, abschluss_bez, bezeichnung, in_oesterreich) VALUES(110, 'Pflichtschule', '{\"Pflichtschule (mit/ohne Abschluss)\", \"Compulsory school (Completed/not completed)\"}', true); INSERT INTO bis.tbl_abschluss(ausbildung_code, abschluss_bez, bezeichnung, in_oesterreich) VALUES(121, 'Lehre', '{\"Lehre\", \"Apprenticeship\"}', true); INSERT INTO bis.tbl_abschluss(ausbildung_code, abschluss_bez, bezeichnung, in_oesterreich) VALUES(122, 'Mittlere Schule ohne Matura', '{\"Mittlere Schule ohne Matura (z.B. Handelsschule, Fachschule)\", \"School for intermediate vocational education (without university entrance qualification)\"}', true); - INSERT INTO bis.tbl_abschluss(ausbildung_code, abschluss_bez, bezeichnung, in_oesterreich) VALUES(123, 'Meisterprüfung', '{\"Meisterprüfung\", \"Master craftsman\'s diploma\"}', true); + INSERT INTO bis.tbl_abschluss(ausbildung_code, abschluss_bez, bezeichnung, in_oesterreich) VALUES(123, 'Meisterprüfung', '{\"Meisterprüfung\", \"Master craftsman''s diploma\"}', true); INSERT INTO bis.tbl_abschluss(ausbildung_code, abschluss_bez, bezeichnung, in_oesterreich) VALUES(131, 'AHS', '{\"AHS (allgemein bildende höhere Schule)\", \"Academic secondary school\"}', true); INSERT INTO bis.tbl_abschluss(ausbildung_code, abschluss_bez, bezeichnung, in_oesterreich) VALUES(132, 'BHS', '{\"BHS (berufsbildende höhere Schule, z.B. HAK, HTL)\", \"College for higher vocational education\"}', true); - INSERT INTO bis.tbl_abschluss(ausbildung_code, abschluss_bez, bezeichnung, in_oesterreich) VALUES(133, 'Sonstige Hochschulzugangsberechtigung', '{\"Sonstige Hochschulzugangsberechtigung (z.B. Berufsreifeprüfung)\", \"Other university entrance qualification (e.g. \'Berufsreifeprüfung\')\"}', true); + INSERT INTO bis.tbl_abschluss(ausbildung_code, abschluss_bez, bezeichnung, in_oesterreich) VALUES(133, 'Sonstige Hochschulzugangsberechtigung', '{\"Sonstige Hochschulzugangsberechtigung (z.B. Berufsreifeprüfung)\", \"Other university entrance qualification (e.g. ''Berufsreifeprüfung'')\"}', true); INSERT INTO bis.tbl_abschluss(ausbildung_code, abschluss_bez, bezeichnung, in_oesterreich) VALUES(141, 'Akademie', '{\"Akademie (z.B. PÄDAK, SOZAK)\", \"Academy (for example PÄDAK, SOZAK)\"}', true); INSERT INTO bis.tbl_abschluss(ausbildung_code, abschluss_bez, bezeichnung, in_oesterreich) VALUES(142, 'Universität/Hochschule', '{\"Universität/Hochschule\", \"University/university of applied sciences/university college of teacher education\"}', true); INSERT INTO bis.tbl_abschluss(ausbildung_code, abschluss_bez, bezeichnung, in_oesterreich) VALUES(210, 'Pflichtschule', '{\"Pflichtschule (mit/ohne Abschluss)\", \"Compulsory school (Completed/not completed)\"}', false);