mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-07-26 09:04:28 +00:00
merge master into feature-18571/Entwicklungsteam
This commit is contained in:
@@ -0,0 +1,54 @@
|
||||
<?php
|
||||
|
||||
if (! defined('DB_NAME')) exit('No direct script access allowed');
|
||||
|
||||
// Remove UNIQUE constraint on fehlercode and fehler_kurzbz on system.tbl_fehler
|
||||
if ($result = @$db->db_query("SELECT conname FROM pg_constraint WHERE conname = 'uk_tbl_fehler_fehlercode_fehler_kurzbz'"))
|
||||
{
|
||||
if ($db->db_num_rows($result) > 0)
|
||||
{
|
||||
$qry = "ALTER TABLE system.tbl_fehler DROP CONSTRAINT uk_tbl_fehler_fehlercode_fehler_kurzbz;";
|
||||
|
||||
if (!$db->db_query($qry))
|
||||
echo '<strong>system.tbl_fehler '.$db->db_last_error().'</strong><br>';
|
||||
else
|
||||
echo '<br>Removed UNIQUE constraint on "fehlercode" and "fehler_kurzbz" from system.tbl_fehler<br>';
|
||||
}
|
||||
}
|
||||
|
||||
// Add NOT NULL constraint on fehler_kurzbz and fehlercode_extern on system.tbl_fehler
|
||||
if ($result = @$db->db_query("SELECT conname FROM pg_constraint WHERE conname = 'chk_tbl_fehler_fehler_kurzbz_fehlercode_extern'"))
|
||||
{
|
||||
if ($db->db_num_rows($result) == 0)
|
||||
{
|
||||
$hasError = false;
|
||||
$qry = "SELECT 1 FROM system.tbl_fehler WHERE fehler_kurzbz IS NULL AND fehlercode_extern IS NULL AND fehlercode = 'UNKNOWN_ERROR'";
|
||||
|
||||
$result = $db->db_query($qry);
|
||||
if ($db->db_num_rows($result)>0)
|
||||
{
|
||||
// Add fehler_kurzbz TO UNKNOWN_ERROR to satisfy constraint
|
||||
$qry = "UPDATE system.tbl_fehler SET fehler_kurzbz='unbekannterCoreFehler' WHERE fehlercode = 'UNKNOWN_ERROR';";
|
||||
|
||||
if(!$db->db_query($qry))
|
||||
{
|
||||
echo '<strong>system.tbl_fehler '.$db->db_last_error().'</strong><br>';
|
||||
$hasError = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
echo '<br>Add fehler_kurzbz to UNKNOWN_ERROR in system.tbl_fehler';
|
||||
}
|
||||
}
|
||||
|
||||
if (!$hasError)
|
||||
{
|
||||
$qry = "ALTER TABLE system.tbl_fehler ADD CONSTRAINT chk_tbl_fehler_fehler_kurzbz_fehlercode_extern CHECK (fehler_kurzbz IS NOT NULL OR fehlercode_extern IS NOT NULL);";
|
||||
|
||||
if (!$db->db_query($qry))
|
||||
echo '<strong>system.tbl_fehler '.$db->db_last_error().'</strong><br>';
|
||||
else
|
||||
echo '<br>Added NOT NULL constraint on "fehlercode" and "fehler_kurzbz" from system.tbl_fehler<br>';
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,30 @@
|
||||
<?php
|
||||
if (! defined('DB_NAME')) exit('No direct script access allowed');
|
||||
|
||||
// lehre.tbl_betreuerart: add type Senatsvorsitz
|
||||
if($result = $db->db_query("SELECT 1 FROM lehre.tbl_betreuerart WHERE betreuerart_kurzbz='Senatsvorsitz'"))
|
||||
{
|
||||
if($db->db_num_rows($result)==0)
|
||||
{
|
||||
$qry = "INSERT INTO lehre.tbl_betreuerart(betreuerart_kurzbz, beschreibung) VALUES('Senatsvorsitz', 'Vorsitz Prüfungssenat');";
|
||||
|
||||
if(!$db->db_query($qry))
|
||||
echo '<strong>Betreuerart: '.$db->db_last_error().'</strong><br>';
|
||||
else
|
||||
echo '<br>Neue Betreuerart Senatsvorsitz in lehre.tbl_betreuerart hinzugefügt';
|
||||
}
|
||||
}
|
||||
|
||||
// lehre.tbl_betreuerart: add type Senatsmitglied
|
||||
if($result = $db->db_query("SELECT 1 FROM lehre.tbl_betreuerart WHERE betreuerart_kurzbz='Senatsmitglied'"))
|
||||
{
|
||||
if($db->db_num_rows($result)==0)
|
||||
{
|
||||
$qry = "INSERT INTO lehre.tbl_betreuerart(betreuerart_kurzbz, beschreibung) VALUES('Senatsmitglied', 'Mitglied Prüfungssenat');";
|
||||
|
||||
if(!$db->db_query($qry))
|
||||
echo '<strong>Betreuerart: '.$db->db_last_error().'</strong><br>';
|
||||
else
|
||||
echo '<br>Neue Betreuerart Senatsmitglied in lehre.tbl_betreuerart hinzugefügt';
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
<?php
|
||||
|
||||
if (! defined('DB_NAME')) exit('No direct script access allowed');
|
||||
|
||||
|
||||
if(!$result = @$db->db_query("SELECT zugangs_ueberpruefung FROM public.tbl_reihungstest LIMIT 1"))
|
||||
{
|
||||
$qry = "ALTER TABLE public.tbl_reihungstest ADD COLUMN zugangs_ueberpruefung boolean NOT NULL DEFAULT false;
|
||||
ALTER TABLE public.tbl_reihungstest ADD COLUMN zugangscode smallint DEFAULT NULL;";
|
||||
|
||||
if(!$db->db_query($qry))
|
||||
echo '<strong>public.tbl_reihungstest: '.$db->db_last_error().'</strong><br>';
|
||||
else
|
||||
echo '<br>public.tbl_reihungstest: Spalte zugangs_ueberpruefung und zugangscode hinzugefuegt';
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
<?php
|
||||
if (! defined('DB_NAME')) exit('No direct script access allowed');
|
||||
|
||||
// Add index to system.tbl_log
|
||||
if ($result = $db->db_query("SELECT * FROM pg_class WHERE relname='idx_webserivcelog_executetime'"))
|
||||
{
|
||||
if ($db->db_num_rows($result) == 0)
|
||||
{
|
||||
$qry = "CREATE INDEX idx_webserivcelog_executetime ON system.tbl_webservicelog USING btree (execute_time)";
|
||||
|
||||
if (! $db->db_query($qry))
|
||||
echo '<strong>Indizes: ' . $db->db_last_error() . '</strong><br>';
|
||||
else
|
||||
echo 'Index fuer system.tbl_webservicelog.execute_time hinzugefuegt';
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,57 @@
|
||||
<?php
|
||||
|
||||
if (! defined('DB_NAME')) exit('No direct script access allowed');
|
||||
|
||||
|
||||
if (!$result = @$db->db_query('SELECT 1 FROM lehre.tbl_anrechnungszeitraum LIMIT 1'))
|
||||
{
|
||||
$qry = 'CREATE TABLE lehre.tbl_anrechnungszeitraum
|
||||
(
|
||||
anrechnungszeitraum_id integer,
|
||||
studiensemester_kurzbz varchar(16) NOT NULL,
|
||||
anrechnungstart date,
|
||||
anrechnungende date,
|
||||
insertamum timestamp default NOW(),
|
||||
insertvon varchar(32)
|
||||
);
|
||||
|
||||
COMMENT ON TABLE lehre.tbl_anrechnungszeitraum IS \'Zeitfenster fuer Anrechnungen pro Studiensemester\';
|
||||
COMMENT ON COLUMN lehre.tbl_anrechnungszeitraum.anrechnungstart IS \'Zeitfenster Startdatum\';
|
||||
COMMENT ON COLUMN lehre.tbl_anrechnungszeitraum.anrechnungende IS \'Zeitfenster Enddatum\';
|
||||
|
||||
ALTER TABLE lehre.tbl_anrechnungszeitraum ADD CONSTRAINT pk_anrechnungszeitraum PRIMARY KEY (anrechnungszeitraum_id);
|
||||
ALTER TABLE lehre.tbl_anrechnungszeitraum ADD CONSTRAINT fk_anrechnungszeitraum_studiensemester_kurzbz FOREIGN KEY (studiensemester_kurzbz) REFERENCES public.tbl_studiensemester(studiensemester_kurzbz) ON UPDATE CASCADE ON DELETE RESTRICT;
|
||||
|
||||
CREATE SEQUENCE lehre.seq_anrechnungszeitraum_anrechnungszeitraum_id
|
||||
START WITH 1
|
||||
INCREMENT BY 1
|
||||
NO MAXVALUE
|
||||
NO MINVALUE
|
||||
CACHE 1;
|
||||
ALTER TABLE lehre.tbl_anrechnungszeitraum ALTER COLUMN anrechnungszeitraum_id SET DEFAULT nextval(\'lehre.seq_anrechnungszeitraum_anrechnungszeitraum_id\');
|
||||
|
||||
GRANT SELECT, UPDATE, INSERT, DELETE ON lehre.tbl_anrechnungszeitraum TO web;
|
||||
GRANT SELECT, UPDATE, INSERT, DELETE ON lehre.tbl_anrechnungszeitraum TO vilesci;
|
||||
GRANT SELECT, UPDATE ON lehre.seq_anrechnungszeitraum_anrechnungszeitraum_id TO vilesci;
|
||||
GRANT SELECT, UPDATE ON lehre.seq_anrechnungszeitraum_anrechnungszeitraum_id TO web;
|
||||
';
|
||||
|
||||
if(!$db->db_query($qry))
|
||||
echo '<strong>lehre.tbl_anrechnungszeitraum: '.$db->db_last_error().'</strong><br>';
|
||||
else
|
||||
echo ' lehre.tbl_anrechnungszeitraum: Tabelle hinzugefuegt<br>';
|
||||
}
|
||||
|
||||
// Add permission to admin Anrechnungen
|
||||
if($result = @$db->db_query("SELECT 1 FROM system.tbl_berechtigung WHERE berechtigung_kurzbz = 'lehre/anrechnungszeitfenster';"))
|
||||
{
|
||||
if($db->db_num_rows($result) == 0)
|
||||
{
|
||||
$qry = "INSERT INTO system.tbl_berechtigung(berechtigung_kurzbz, beschreibung) VALUES('lehre/anrechnungszeitfenster', 'Anrechnungszeitfenster anlegen');";
|
||||
|
||||
if(!$db->db_query($qry))
|
||||
echo '<strong>system.tbl_berechtigung '.$db->db_last_error().'</strong><br>';
|
||||
else
|
||||
echo ' system.tbl_berechtigung: Added permission for lehre/anrechnungszeitfenster<br>';
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,85 @@
|
||||
<?php
|
||||
|
||||
if (! defined('DB_NAME')) exit('No direct script access allowed');
|
||||
|
||||
// Add table tbl_rueckstellung_status
|
||||
if(!$result = @$db->db_query("SELECT 1 FROM public.tbl_rueckstellung_status LIMIT 1;"))
|
||||
{
|
||||
$qry = "
|
||||
CREATE TABLE public.tbl_rueckstellung_status
|
||||
(
|
||||
status_kurzbz character varying(32),
|
||||
bezeichnung_mehrsprachig character varying(256)[],
|
||||
sort integer,
|
||||
aktiv boolean default true
|
||||
);
|
||||
ALTER TABLE public.tbl_rueckstellung_status ADD CONSTRAINT pk_tbl_postpone_status_status_kurzbz PRIMARY KEY (status_kurzbz);
|
||||
INSERT INTO public.tbl_rueckstellung_status(status_kurzbz, bezeichnung_mehrsprachig, sort) VALUES('parked', '{Parken, Park}', 1);
|
||||
INSERT INTO public.tbl_rueckstellung_status(status_kurzbz, bezeichnung_mehrsprachig, sort) VALUES('onhold_bmi', '{Bundesministerium, Federal Ministry}', 2);
|
||||
INSERT INTO public.tbl_rueckstellung_status(status_kurzbz, bezeichnung_mehrsprachig, sort) VALUES('onhold_zgv', '{ZGV Prüfung, ZGV examination}', 3);
|
||||
INSERT INTO public.tbl_rueckstellung_status(status_kurzbz, bezeichnung_mehrsprachig, sort) VALUES('onhold_drittstaat', '{Drittstaat, Third country}', 4);
|
||||
INSERT INTO public.tbl_rueckstellung_status(status_kurzbz, bezeichnung_mehrsprachig, sort) VALUES('onhold_remone', '{Reminder 1, Reminder 1}', 5);
|
||||
INSERT INTO public.tbl_rueckstellung_status(status_kurzbz, bezeichnung_mehrsprachig, sort) VALUES('onhold_remtwo', '{Reminder 2, Reminder 2}', 6);
|
||||
GRANT SELECT, INSERT, UPDATE, DELETE ON public.tbl_rueckstellung_status TO vilesci;
|
||||
GRANT SELECT ON public.tbl_rueckstellung_status TO web;
|
||||
";
|
||||
|
||||
if(!$db->db_query($qry))
|
||||
echo '<strong>public.tbl_rueckstellung_status: '.$db->db_last_error().'</strong><br>';
|
||||
else
|
||||
echo ' public.tbl_rueckstellung_status: Tabelle hinzugefuegt<br>';
|
||||
}
|
||||
|
||||
// Add table tbl_rueckstellung
|
||||
if(!$result = @$db->db_query("SELECT 1 FROM public.tbl_rueckstellung LIMIT 1;"))
|
||||
{
|
||||
$qry = "
|
||||
CREATE TABLE public.tbl_rueckstellung
|
||||
(
|
||||
rueckstellung_id integer NOT NULL,
|
||||
person_id integer NOT NULL,
|
||||
status_kurzbz character varying(32) NOT NULL,
|
||||
datum_bis timestamp NOT NULL,
|
||||
insertamum timestamp without time zone default now(),
|
||||
insertvon character varying(32)
|
||||
);
|
||||
|
||||
CREATE SEQUENCE public.tbl_rueckstellung_id_seq
|
||||
INCREMENT BY 1
|
||||
NO MAXVALUE
|
||||
NO MINVALUE
|
||||
CACHE 1;
|
||||
|
||||
ALTER TABLE public.tbl_rueckstellung ADD CONSTRAINT pk_tbl_rueckstellung PRIMARY KEY (rueckstellung_id);
|
||||
ALTER TABLE public.tbl_rueckstellung ALTER COLUMN rueckstellung_id SET DEFAULT nextval('tbl_rueckstellung_id_seq');
|
||||
ALTER TABLE public.tbl_rueckstellung ADD CONSTRAINT fk_rueckstellung_person_id FOREIGN KEY (person_id) REFERENCES public.tbl_person(person_id) ON UPDATE CASCADE ON DELETE RESTRICT;
|
||||
ALTER TABLE public.tbl_rueckstellung ADD CONSTRAINT fk_rueckstellung_status_kurzbz FOREIGN KEY (status_kurzbz) REFERENCES public.tbl_rueckstellung_status(status_kurzbz) ON UPDATE CASCADE ON DELETE RESTRICT;
|
||||
GRANT SELECT, UPDATE ON public.tbl_rueckstellung_id_seq TO vilesci;
|
||||
GRANT SELECT, UPDATE ON public.tbl_rueckstellung_id_seq TO web;
|
||||
GRANT SELECT, INSERT, UPDATE, DELETE ON public.tbl_rueckstellung TO vilesci;
|
||||
GRANT SELECT, UPDATE, DELETE ON public.tbl_rueckstellung TO web;
|
||||
";
|
||||
|
||||
if(!$db->db_query($qry))
|
||||
echo '<strong>public.tbl_rueckstellung: '.$db->db_last_error().'</strong><br>';
|
||||
else
|
||||
echo ' public.tbl_rueckstellung: Tabelle hinzugefuegt<br>';
|
||||
|
||||
//Übernahme von "zurückgestellten" und "geparkten" Personen
|
||||
$qry = "
|
||||
INSERT INTO public.tbl_rueckstellung (person_id, status_kurzbz, datum_bis, insertvon)
|
||||
SELECT person_id,
|
||||
CASE WHEN
|
||||
(lower(l.logdata->>'name') = 'onhold')
|
||||
THEN 'onhold_remone'
|
||||
ELSE lower(l.logdata->>'name')
|
||||
END,
|
||||
zeitpunkt, insertvon
|
||||
FROM system.tbl_log l
|
||||
WHERE (l.logdata->>'name' = 'Onhold' OR l.logdata->>'name' = 'Parked') AND zeitpunkt >= NOW();";
|
||||
|
||||
if(!$db->db_query($qry))
|
||||
echo '<strong>public.tbl_rueckstellung: '.$db->db_last_error().'</strong><br>';
|
||||
else
|
||||
echo ' public.tbl_rueckstellung: Bestehene Eintraege uebernommen<br>';
|
||||
}
|
||||
Reference in New Issue
Block a user