Merge branch 'master' into feature-29144/Prestudent_status_nach_Bismeldung_sperren_2

This commit is contained in:
Andreas Österreicher
2023-12-20 14:06:18 +01:00
272 changed files with 22767 additions and 4619 deletions
@@ -0,0 +1,15 @@
<?php
// lehre.tbl_pruefungstyp: add type Termin3
if($result = $db->db_query("SELECT 1 FROM lehre.tbl_pruefungstyp WHERE pruefungstyp_kurzbz='Termin3'"))
{
if($db->db_num_rows($result)==0)
{
$qry = "INSERT INTO lehre.tbl_pruefungstyp(pruefungstyp_kurzbz, beschreibung, abschluss) VALUES('Termin3', '3.Termin', false);";
if(!$db->db_query($qry))
echo '<strong>Prüfungstyp: '.$db->db_last_error().'</strong><br>';
else
echo '<br>Prüfungstyp 3.Termin in lehre.tbl_pruefungstyp hinzugefügt';
}
}
@@ -0,0 +1,327 @@
<?php
if (! defined('DB_NAME')) exit('No direct script access allowed');
if(!$result = @$db->db_query("SELECT 1 FROM campus.tbl_studierendenantrag_statustyp LIMIT 1"))
{
$qry = "CREATE TABLE campus.tbl_studierendenantrag_statustyp (
studierendenantrag_statustyp_kurzbz VARCHAR(32) NOT NULL,
bezeichnung VARCHAR(128)[] NOT NULL,
CONSTRAINT tbl_studierendenantrag_statustyp_pk PRIMARY KEY(studierendenantrag_statustyp_kurzbz)
);
GRANT SELECT, INSERT ON campus.tbl_studierendenantrag_statustyp TO vilesci;
GRANT SELECT ON campus.tbl_studierendenantrag_statustyp TO web;";
if(!$db->db_query($qry))
echo '<strong>campus.tbl_studierendenantrag_statustyp: '.$db->db_last_error().'</strong><br>';
else
echo '<br>campus.tbl_studierendenantrag_statustyp: table created';
}
if($result = @$db->db_query("SELECT 1 FROM campus.tbl_studierendenantrag_statustyp WHERE studierendenantrag_statustyp_kurzbz = 'Erstellt' "))
{
if($db->db_num_rows($result) == 0)
{
$qry = "INSERT INTO campus.tbl_studierendenantrag_statustyp
(studierendenantrag_statustyp_kurzbz, bezeichnung)
VALUES
('Erstellt', '{\"Erstellt\",\"Created\"}'),
('Genehmigt', '{\"Bestätigt\",\"Approved\"}'),
('Abgelehnt', '{\"Abgelehnt\",\"Rejected\"}'),
('Verzichtet', '{\"Verzichtet\",\"Pass\"}'),
('Offen', '{\"Offen\",\"Reopened\"}'),
('Zurueckgezogen', '{\"Zurückgezogen\",\"Cancelled\"}'),
('Lvszugewiesen', '{\"Lvszugewiesen\",\"Lvsassigned\"}'),
('EmailVersandt', '{\"Email Versandt\",\"Reminder Sent\"}'),
('ErsteAufforderungVersandt', '{\"1.Aufforderung Versandt\",\"1st Request Sent\"}'),
('ZweiteAufforderungVersandt', '{\"2.Aufforderung Versandt\",\"2nd Request Sent\"}'),
('Beeinsprucht', '{\"Beeinsprucht\",\"Objected\"}'),
('EinspruchAbgelehnt', '{\"Einspruch abgelehnt\",\"Objection denied\"}');
";
if (!$db->db_query($qry))
echo '<strong>campus.tbl_studierendenantrag_statustyp (insert): '.$db->db_last_error().'</strong><br>';
else
echo '<br>campus.tbl_studierendenantrag_statustyp: table prefilled';
}
}
if(!$result = @$db->db_query("SELECT 1 FROM campus.tbl_studierendenantrag LIMIT 1"))
{
$qry = "CREATE TABLE campus.tbl_studierendenantrag (
studierendenantrag_id INTEGER NOT NULL,
prestudent_id INTEGER NOT NULL,
studiensemester_kurzbz VARCHAR(32) NOT NULL,
datum TIMESTAMP NULL,
typ VARCHAR(32) NOT NULL,
insertamum TIMESTAMP DEFAULT NOW(),
insertvon VARCHAR(32) NOT NULL,
datum_wiedereinstieg TIMESTAMP NULL,
grund TEXT NULL,
dms_id INTEGER NULL,
CONSTRAINT tbl_studierendenantrag_pk PRIMARY KEY(studierendenantrag_id)
);
CREATE SEQUENCE campus.tbl_studierendenantrag_studierendenantrag_id_seq
INCREMENT BY 1
NO MAXVALUE
NO MINVALUE
CACHE 1;
ALTER TABLE campus.tbl_studierendenantrag ALTER COLUMN studierendenantrag_id SET DEFAULT nextval('campus.tbl_studierendenantrag_studierendenantrag_id_seq');
GRANT SELECT, INSERT ON campus.tbl_studierendenantrag TO vilesci;
GRANT SELECT, INSERT ON campus.tbl_studierendenantrag TO web;
GRANT SELECT, UPDATE ON campus.tbl_studierendenantrag_studierendenantrag_id_seq TO vilesci;
GRANT SELECT, UPDATE ON campus.tbl_studierendenantrag_studierendenantrag_id_seq TO web;";
if(!$db->db_query($qry))
echo '<strong>campus.tbl_studierendenantrag: '.$db->db_last_error().'</strong><br>';
else
echo '<br>campus.tbl_studierendenantrag: table created';
}
if(!$result = @$db->db_query("SELECT 1 FROM campus.tbl_studierendenantrag_status LIMIT 1"))
{
$qry = "CREATE TABLE campus.tbl_studierendenantrag_status (
studierendenantrag_status_id INTEGER NOT NULL,
studierendenantrag_id INTEGER NOT NULL,
studierendenantrag_statustyp_kurzbz VARCHAR(32) NOT NULL,
insertamum TIMESTAMP DEFAULT NOW(),
insertvon VARCHAR(32) NOT NULL,
grund TEXT NULL,
CONSTRAINT tbl_studierendenantrag_status_pk PRIMARY KEY(studierendenantrag_status_id),
CONSTRAINT tbl_studierendenantrag_fk FOREIGN KEY (studierendenantrag_id) REFERENCES campus.tbl_studierendenantrag(studierendenantrag_id) ON UPDATE CASCADE ON DELETE RESTRICT,
CONSTRAINT tbl_studierendenantrag_statustyp_fk FOREIGN KEY (studierendenantrag_statustyp_kurzbz) REFERENCES campus.tbl_studierendenantrag_statustyp(studierendenantrag_statustyp_kurzbz) ON UPDATE CASCADE ON DELETE RESTRICT
);
CREATE SEQUENCE campus.tbl_studierendenantrag_status_studierendenantrag_status_id_seq
INCREMENT BY 1
NO MAXVALUE
NO MINVALUE
CACHE 1;
ALTER TABLE campus.tbl_studierendenantrag_status ALTER COLUMN studierendenantrag_status_id SET DEFAULT nextval('campus.tbl_studierendenantrag_status_studierendenantrag_status_id_seq');
GRANT SELECT, INSERT, DELETE ON campus.tbl_studierendenantrag_status TO vilesci;
GRANT SELECT, INSERT, DELETE ON campus.tbl_studierendenantrag_status TO web;
GRANT SELECT, UPDATE ON campus.tbl_studierendenantrag_status_studierendenantrag_status_id_seq TO vilesci;
GRANT SELECT, UPDATE ON campus.tbl_studierendenantrag_status_studierendenantrag_status_id_seq TO web;";
if(!$db->db_query($qry))
echo '<strong>campus.tbl_studierendenantrag_status: '.$db->db_last_error().'</strong><br>';
else
echo '<br>campus.tbl_studierendenantrag_status: table created';
}
if(!$result = @$db->db_query("SELECT 1 FROM campus.tbl_studierendenantrag_lehrveranstaltung LIMIT 1"))
{
$qry = "CREATE TABLE campus.tbl_studierendenantrag_lehrveranstaltung (
studierendenantrag_lehrveranstaltung_id INTEGER NOT NULL,
studierendenantrag_id INTEGER NOT NULL,
lehrveranstaltung_id INTEGER NOT NULL,
studiensemester_kurzbz VARCHAR(16) NOT NULL,
note SMALLINT NOT NULL,
anmerkung TEXT NULL,
insertamum TIMESTAMP DEFAULT NOW(),
insertvon VARCHAR(32) NOT NULL,
CONSTRAINT tbl_studierendenantrag_lehrveranstaltung_pk PRIMARY KEY(studierendenantrag_lehrveranstaltung_id),
CONSTRAINT tbl_studiensemester_fk FOREIGN KEY (studiensemester_kurzbz) REFERENCES public.tbl_studiensemester(studiensemester_kurzbz) ON UPDATE CASCADE ON DELETE RESTRICT,
CONSTRAINT tbl_note_fk FOREIGN KEY (note) REFERENCES lehre.tbl_note(note) ON UPDATE CASCADE ON DELETE RESTRICT,
CONSTRAINT tbl_studierendenantrag_fk FOREIGN KEY (studierendenantrag_id) REFERENCES campus.tbl_studierendenantrag(studierendenantrag_id) ON UPDATE CASCADE ON DELETE RESTRICT
);
CREATE SEQUENCE campus.tbl_studierendenantrag_lehrveranstaltung_studierendenantrag_lehrveranstaltung_id_seq
INCREMENT BY 1
NO MAXVALUE
NO MINVALUE
CACHE 1;
ALTER TABLE campus.tbl_studierendenantrag_lehrveranstaltung ALTER COLUMN studierendenantrag_lehrveranstaltung_id SET DEFAULT nextval('campus.tbl_studierendenantrag_lehrveranstaltung_studierendenantrag_lehrveranstaltung_id_seq');
GRANT SELECT, INSERT, DELETE ON campus.tbl_studierendenantrag_lehrveranstaltung TO vilesci;
GRANT SELECT, INSERT ON campus.tbl_studierendenantrag_lehrveranstaltung TO web;
GRANT SELECT, UPDATE ON campus.tbl_studierendenantrag_lehrveranstaltung_studierendenantrag_lehrveranstaltung_id_seq TO vilesci;
GRANT SELECT, UPDATE ON campus.tbl_studierendenantrag_lehrveranstaltung_studierendenantrag_lehrveranstaltung_id_seq TO web;";
if(!$db->db_query($qry))
echo '<strong>campus.tbl_studierendenantrag_lehrveranstaltung: '.$db->db_last_error().'</strong><br>';
else
echo '<br>campus.tbl_studierendenantrag_lehrveranstaltung: table created';
}
if($result = @$db->db_query("SELECT 1 FROM system.tbl_berechtigung WHERE berechtigung_kurzbz = 'student/studierendenantrag';"))
{
if($db->db_num_rows($result) == 0)
{
$qry = "INSERT INTO system.tbl_berechtigung(berechtigung_kurzbz, beschreibung) VALUES('student/studierendenantrag', 'Berechtigung für Bearbeiten Studierendenanträge');";
if(!$db->db_query($qry))
echo '<strong>system.tbl_berechtigung '.$db->db_last_error().'</strong><br>';
else
echo ' system.tbl_berechtigung: Added permission for student/studierendenantrag<br>';
}
}
if($result = @$db->db_query("SELECT 1 FROM system.tbl_berechtigung WHERE berechtigung_kurzbz = 'student/antragfreigabe';"))
{
if($db->db_num_rows($result) == 0)
{
$qry = "INSERT INTO system.tbl_berechtigung(berechtigung_kurzbz, beschreibung) VALUES('student/antragfreigabe', 'Berechtigung für Freigabe der Studierendenanträge');";
if(!$db->db_query($qry))
echo '<strong>system.tbl_berechtigung '.$db->db_last_error().'</strong><br>';
else
echo ' system.tbl_berechtigung: Added permission for student/antragfreigabe<br>';
}
}
if (!$result = @$db->db_query("SELECT campus.get_status_studierendenantrag(0)")) {
$qry = 'CREATE FUNCTION campus.get_status_studierendenantrag(integer) RETURNS character varying
LANGUAGE plpgsql
AS $_$
DECLARE i_studierendenantrag_id ALIAS FOR $1;
DECLARE rec RECORD;
BEGIN
SELECT INTO rec studierendenantrag_statustyp_kurzbz
FROM campus.tbl_studierendenantrag_status
WHERE studierendenantrag_id=i_studierendenantrag_id
ORDER BY insertamum desc
LIMIT 1;
RETURN rec.studierendenantrag_statustyp_kurzbz;
END;
$_$;
ALTER FUNCTION campus.get_status_studierendenantrag(integer) OWNER TO fhcomplete;';
if(!$db->db_query($qry))
echo '<strong>campus.get_status_studierendenantrag(integer): '.$db->db_last_error().'</strong><br>';
else
echo '<br>campus.get_status_studierendenantrag(integer): function created';
}
if (!$result = @$db->db_query("SELECT campus.get_status_id_studierendenantrag(0)")) {
$qry = 'CREATE FUNCTION campus.get_status_id_studierendenantrag(integer) RETURNS integer
LANGUAGE plpgsql
AS $_$
DECLARE i_studierendenantrag_id ALIAS FOR $1;
DECLARE rec RECORD;
BEGIN
SELECT INTO rec studierendenantrag_status_id
FROM campus.tbl_studierendenantrag_status
WHERE studierendenantrag_id=i_studierendenantrag_id
ORDER BY insertamum desc
LIMIT 1;
RETURN rec.studierendenantrag_status_id;
END;
$_$;
ALTER FUNCTION campus.get_status_id_studierendenantrag(integer) OWNER TO fhcomplete;';
if(!$db->db_query($qry))
echo '<strong>campus.get_status_id_studierendenantrag(integer): '.$db->db_last_error().'</strong><br>';
else
echo '<br>campus.get_status_id_studierendenantrag(integer): function created';
}
if (!$result = @$db->db_query("SELECT public.get_absem_prestudent(0, null)")) {
$qry = 'CREATE FUNCTION public.get_absem_prestudent(integer, character varying) RETURNS integer
LANGUAGE plpgsql
AS $_$
DECLARE i_prestudent_id ALIAS FOR $1;
DECLARE cv_studiensemester_kurzbz ALIAS FOR $2;
DECLARE rec RECORD;
BEGIN
IF (cv_studiensemester_kurzbz IS NULL) THEN
SELECT INTO rec ausbildungssemester
FROM public.tbl_prestudentstatus
WHERE prestudent_id=i_prestudent_id
ORDER BY datum desc,insertamum desc, ext_id desc
LIMIT 1;
ELSE
SELECT INTO rec ausbildungssemester
FROM tbl_prestudentstatus
WHERE prestudent_id=i_prestudent_id AND studiensemester_kurzbz=cv_studiensemester_kurzbz
ORDER BY datum desc,insertamum desc, ext_id desc
LIMIT 1;
END IF;
RETURN rec.ausbildungssemester;
END;
$_$;
ALTER FUNCTION public.get_absem_prestudent(integer, character varying) OWNER TO fhcomplete;';
if(!$db->db_query($qry))
echo '<strong>public.get_absem_prestudent(integer, character varying): '.$db->db_last_error().'</strong><br>';
else
echo '<br>public.get_absem_prestudent(integer, character varying): function created';
}
if (!$result = @$db->db_query("SELECT public.get_stdsem_prestudent(0, null)")) {
$qry = 'CREATE FUNCTION public.get_stdsem_prestudent(integer, character varying) RETURNS character varying
LANGUAGE plpgsql
AS $_$
DECLARE i_prestudent_id ALIAS FOR $1;
DECLARE cv_studiensemester_kurzbz ALIAS FOR $2;
DECLARE rec RECORD;
BEGIN
IF (cv_studiensemester_kurzbz IS NULL) THEN
SELECT INTO rec studiensemester_kurzbz
FROM public.tbl_prestudentstatus
WHERE prestudent_id=i_prestudent_id
ORDER BY datum desc,insertamum desc, ext_id desc
LIMIT 1;
ELSE
SELECT INTO rec studiensemester_kurzbz
FROM tbl_prestudentstatus
WHERE prestudent_id=i_prestudent_id AND studiensemester_kurzbz=cv_studiensemester_kurzbz
ORDER BY datum desc,insertamum desc, ext_id desc
LIMIT 1;
END IF;
RETURN rec.studiensemester_kurzbz;
END;
$_$;
ALTER FUNCTION public.get_stdsem_prestudent(integer, character varying) OWNER TO fhcomplete;';
if(!$db->db_query($qry))
echo '<strong>public.get_stdsem_prestudent(integer, character varying): '.$db->db_last_error().'</strong><br>';
else
echo '<br>public.get_stdsem_prestudent(integer, character varying): function created';
}
if($result = @$db->db_query("SELECT 1 FROM public.tbl_status_grund WHERE statusgrund_kurzbz = 'abbrecherStgl';"))
{
if($db->db_num_rows($result) == 0)
{
$qry = "INSERT INTO public.tbl_status_grund(statusgrund_kurzbz, status_kurzbz, aktiv, beschreibung, bezeichnung_mehrsprachig) VALUES('abbrecherStgl', 'Abbrecher', TRUE, '{\"durch Stgl\", \"by Course Director\"}', '{\"durch Stgl\", \"by Course Director\"}');";
if(!$db->db_query($qry))
echo '<strong>public.tbl_status_grund '.$db->db_last_error().'</strong><br>';
else
echo ' public.tbl_status_grund: Added Statusgrund abbrecherStgl for Abbrecher<br>';
}
}
if($result = @$db->db_query("SELECT 1 FROM public.tbl_status_grund WHERE statusgrund_kurzbz = 'abbrecherStud';"))
{
if($db->db_num_rows($result) == 0)
{
$qry = "INSERT INTO public.tbl_status_grund(statusgrund_kurzbz, status_kurzbz, aktiv, beschreibung, bezeichnung_mehrsprachig) VALUES('abbrecherStud', 'Abbrecher', TRUE, '{\"durch Stud\", \"by Student\"}', '{\"durch Stud\", \"by Student\"}');";
if(!$db->db_query($qry))
echo '<strong>public.tbl_status_grund '.$db->db_last_error().'</strong><br>';
else
echo ' public.tbl_status_grund: Added Statusgrund abbrecherStud for Abbrecher<br>';
}
}
if($result = @$db->db_query("SELECT 1 FROM public.tbl_status_grund WHERE statusgrund_kurzbz = 'preabbrecher';"))
{
if($db->db_num_rows($result) == 0)
{
$qry = "INSERT INTO public.tbl_status_grund(statusgrund_kurzbz, status_kurzbz, aktiv, beschreibung, bezeichnung_mehrsprachig) VALUES('preabbrecher', 'Student', TRUE, '{\"Pre-Abbrecher\", \"Pre-Aborted\"}', '{\"Pre-Abbrecher\", \"Pre-Aborted\"}');";
if(!$db->db_query($qry))
echo '<strong>public.tbl_status_grund '.$db->db_last_error().'</strong><br>';
else
echo ' public.tbl_status_grund: Added Statusgrund pre-abbrecher for Student<br>';
}
}
@@ -0,0 +1,34 @@
<?php
if (! defined('DB_NAME')) exit('No direct script access allowed');
// Update Berechtigungen fuer web User erteilen fuer tbl_pruefling_pruefling_id_seq
if($result = @$db->db_query("SELECT has_sequence_privilege('web', 'testtool.tbl_pruefling_pruefling_id_seq', 'UPDATE')"))
{
if($db->db_fetch_object($result)->has_sequence_privilege === "f")
{
$qry = "GRANT SELECT, UPDATE ON SEQUENCE testtool.tbl_pruefling_pruefling_id_seq to web;";
if(!$db->db_query($qry))
echo '<strong>testtool.tbl_pruefling Berechtigungen: '.$db->db_last_error().'</strong><br>';
else
echo '<br>Web User fuer testtool.tbl_pruefling berechtigt';
}
}
// Update Berechtigungen fuer vilesci User erteilen fuer tbl_pruefling_pruefling_id_seq
if($result = @$db->db_query("SELECT has_sequence_privilege('vilesci', 'testtool.tbl_pruefling_pruefling_id_seq', 'UPDATE')"))
{
if($db->db_fetch_object($result)->has_sequence_privilege === "f")
{
$qry = "GRANT SELECT, UPDATE ON SEQUENCE testtool.tbl_pruefling_pruefling_id_seq to vilesci;";
if(!$db->db_query($qry))
echo '<strong>testtool.tbl_pruefling Berechtigungen: '.$db->db_last_error().'</strong><br>';
else
echo '<br>vilesci User fuer testtool.tbl_pruefling berechtigt';
}
}
@@ -0,0 +1,141 @@
<?php
if (! defined('DB_NAME')) exit('No direct script access allowed');
if (!$result = @$db->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 pk_tbl_abschluss 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, 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.\"}');
";
if(!$db->db_query($qry))
echo '<strong>bis.tbl_abschluss: '.$db->db_last_error().'</strong><br>';
else
echo ' bis.tbl_abschluss: Tabelle hinzugefuegt<br>';
}
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),
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,
insertamum timestamp without time zone DEFAULT now(),
insertvon character varying(32),
updateamum timestamp without time zone,
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)
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;
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.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;
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))
echo '<strong>bis.tbl_uhstat1daten: '.$db->db_last_error().'</strong><br>';
else
echo ' bis.tbl_uhstat1daten: Tabelle hinzugefuegt<br>';
}
// Add permission for managing UHSTAT1 data
if($result = @$db->db_query("SELECT 1 FROM system.tbl_berechtigung WHERE berechtigung_kurzbz = 'student/uhstat1daten_verwalten';"))
{
if($db->db_num_rows($result) == 0)
{
$qry = "INSERT INTO system.tbl_berechtigung(berechtigung_kurzbz, beschreibung) VALUES('student/uhstat1daten_verwalten', 'UHSTAT1 Daten verwalten');";
if(!$db->db_query($qry))
echo '<strong>system.tbl_berechtigung '.$db->db_last_error().'</strong><br>';
else
echo ' system.tbl_berechtigung: Added permission for student/uhstat1daten_verwalten<br>';
}
}
@@ -0,0 +1,28 @@
<?php
if (! defined('DB_NAME')) exit('No direct script access allowed');
//Add column begruendung_ects to lehre.tbl_anrechnung
if(!@$db->db_query("SELECT begruendung_ects FROM lehre.tbl_anrechnung LIMIT 1"))
{
$qry = "ALTER TABLE lehre.tbl_anrechnung ADD COLUMN begruendung_ects text;
COMMENT ON COLUMN lehre.tbl_anrechnung.begruendung_ects IS 'Begruendung gleichwertiger ECTS';
";
if(!$db->db_query($qry))
echo '<strong>lehre.tbl_anrechnung '.$db->db_last_error().'</strong><br>';
else
echo '<br>Spalte begruendung_ects zu Tabelle lehre.tbl_anrechnung hinzugefügt';
}
//Add column begruendung_lvinhalt to lehre.tbl_anrechnung
if(!@$db->db_query("SELECT begruendung_lvinhalt FROM lehre.tbl_anrechnung LIMIT 1"))
{
$qry = "ALTER TABLE lehre.tbl_anrechnung ADD COLUMN begruendung_lvinhalt text;
COMMENT ON COLUMN lehre.tbl_anrechnung.begruendung_lvinhalt IS 'Begruendung gleichwertiger LV-Inhalte';
";
if(!$db->db_query($qry))
echo '<strong>lehre.tbl_anrechnung '.$db->db_last_error().'</strong><br>';
else
echo '<br>Spalte begruendung_lvinhalt zu Tabelle lehre.tbl_anrechnung hinzugefügt';
}
@@ -0,0 +1,15 @@
<?php
if (! defined('DB_NAME')) exit('No direct script access allowed');
// ADD COLUMN anmerkung to system.tbl_rolleberechtigung
if(!$result = @$db->db_query("SELECT anmerkung FROM system.tbl_rolleberechtigung LIMIT 1"))
{
$qry = "ALTER TABLE system.tbl_rolleberechtigung ADD COLUMN anmerkung varchar(256);
ALTER TABLE system.tbl_rolleberechtigung ADD COLUMN insertamum timestamp DEFAULT now();
ALTER TABLE system.tbl_rolleberechtigung ADD COLUMN insertvon varchar(32);";
if(!$db->db_query($qry))
echo '<strong>system.tbl_rolleberechtigung '.$db->db_last_error().'</strong><br>';
else
echo '<br>Spalten anmerkung, insertamum, insertvon in system.tbl_rolleberechtigung hinzugefügt';
}
@@ -0,0 +1,13 @@
<?php
// Added Buchungstyp "StudiengebuehrErhoeht"
if ($result = @$db->db_query("SELECT 1 FROM public.tbl_buchungstyp WHERE buchungstyp_kurzbz = 'StudiengebuehrErhoeht';"))
{
if ($db->db_num_rows($result) == 0)
{
$qry = "INSERT INTO public.tbl_buchungstyp (buchungstyp_kurzbz, beschreibung, standardtext, standardbetrag) VALUES ('StudiengebuehrErhoeht', 'Erhöhter Studienbeitrag', 'Erhöhter Studienbeitrag', '-3000');";
if (!$db->db_query($qry))
echo '<strong>public.tbl_buchungstyp '.$db->db_last_error().'</strong><br>';
else
echo ' public.tbl_buchungstyp: Added buchungstyp "StudiengebuehrErhoeht" <br>';
}
}