diff --git a/system/dbupdate_3.3.php b/system/dbupdate_3.3.php
index 50f5098c8..f4d7a01bc 100644
--- a/system/dbupdate_3.3.php
+++ b/system/dbupdate_3.3.php
@@ -3458,6 +3458,231 @@ if(!@$db->db_query("SELECT insertamum FROM public.tbl_vorlage LIMIT 1"))
echo '
Neue Spalten insertamum,insertvon,updateamum und updatevon in public.tbl_vorlage hinzugefügt';
}
+// Spalte archivierbar und signierbar in public.tbl_vorlage auf TRUE gesetzt bei Vorlage: Zertifikat
+if($result = @$db->db_query("SELECT 1 FROM public.tbl_vorlage WHERE vorlage_kurzbz = 'Zertifikat' AND archivierbar AND signierbar;"))
+{
+ if($db->db_num_rows($result) == 0)
+ {
+ $qry = "UPDATE public.tbl_vorlage SET archivierbar = TRUE, signierbar = TRUE WHERE vorlage_kurzbz = 'Zertifikat';";
+
+ if(!$db->db_query($qry))
+ echo 'public.tbl_vorlage '.$db->db_last_error().'
';
+ else
+ echo 'public.tbl_vorlage: Spalten archivierbar und signierbar auf TRUE gesetzt bei Vorlage: Zertifikat
';
+ }
+}
+
+// Spalte archivierbar und signierbar in public.tbl_vorlage auf TRUE gesetzt bei Vorlage: LVZeugnis
+if($result = @$db->db_query("SELECT 1 FROM public.tbl_vorlage WHERE vorlage_kurzbz = 'LVZeugnis' AND archivierbar AND signierbar;"))
+{
+ if($db->db_num_rows($result) == 0)
+ {
+ $qry = "UPDATE public.tbl_vorlage SET archivierbar = TRUE, signierbar = TRUE WHERE vorlage_kurzbz = 'LVZeugnis';";
+
+ if(!$db->db_query($qry))
+ echo 'public.tbl_vorlage '.$db->db_last_error().'
';
+ else
+ echo 'public.tbl_vorlage: Spalten archivierbar und signierbar auf TRUE gesetzt bei Vorlage: LVZeugnis
';
+ }
+}
+
+// Spalte archivierbar und signierbar in public.tbl_vorlage auf TRUE gesetzt bei Vorlage: LVZeugnisEng
+if($result = @$db->db_query("SELECT 1 FROM public.tbl_vorlage WHERE vorlage_kurzbz = 'LVZeugnisEng' AND archivierbar AND signierbar;"))
+{
+ if($db->db_num_rows($result) == 0)
+ {
+ $qry = "UPDATE public.tbl_vorlage SET archivierbar = TRUE, signierbar = TRUE WHERE vorlage_kurzbz = 'LVZeugnisEng';";
+
+ if(!$db->db_query($qry))
+ echo 'public.tbl_vorlage '.$db->db_last_error().'
';
+ else
+ echo 'public.tbl_vorlage: Spalten archivierbar und signierbar auf TRUE gesetzt bei Vorlage: LVZeugnisEng
';
+ }
+}
+
+// Spalte stud_selfservice in public.tbl_vorlage auf TRUE gesetzt bei Vorlage: Zertifikat
+if($result = @$db->db_query("SELECT 1 FROM public.tbl_vorlage WHERE vorlage_kurzbz = 'Zertifikat' AND stud_selfservice;"))
+{
+ if($db->db_num_rows($result) == 0)
+ {
+ $qry = "UPDATE public.tbl_vorlage SET stud_selfservice = TRUE WHERE vorlage_kurzbz = 'Zertifikat';";
+
+ if(!$db->db_query($qry))
+ echo 'public.tbl_vorlage '.$db->db_last_error().'
';
+ else
+ echo 'public.tbl_vorlage: Spalte stud_selfservice auf TRUE gesetzt bei Vorlage: Zertifikat
';
+ }
+}
+
+// Spalte stud_selfservice in public.tbl_vorlage auf TRUE gesetzt bei Vorlage: LVZeugnis
+if($result = @$db->db_query("SELECT 1 FROM public.tbl_vorlage WHERE vorlage_kurzbz = 'LVZeugnis' AND stud_selfservice;"))
+{
+ if($db->db_num_rows($result) == 0)
+ {
+ $qry = "UPDATE public.tbl_vorlage SET stud_selfservice = TRUE WHERE vorlage_kurzbz = 'LVZeugnis';";
+
+ if(!$db->db_query($qry))
+ echo 'public.tbl_vorlage '.$db->db_last_error().'
';
+ else
+ echo 'public.tbl_vorlage: Spalte stud_selfservice auf TRUE gesetzt bei Vorlage: LVZeugnis
';
+ }
+}
+
+// Spalte stud_selfservice in public.tbl_vorlage auf TRUE gesetzt bei Vorlage: LVZeugnisEng
+if($result = @$db->db_query("SELECT 1 FROM public.tbl_vorlage WHERE vorlage_kurzbz = 'LVZeugnisEng' AND stud_selfservice;"))
+{
+ if($db->db_num_rows($result) == 0)
+ {
+ $qry = "UPDATE public.tbl_vorlage SET stud_selfservice = TRUE WHERE vorlage_kurzbz = 'LVZeugnisEng';";
+
+ if(!$db->db_query($qry))
+ echo 'public.tbl_vorlage '.$db->db_last_error().'
';
+ else
+ echo 'public.tbl_vorlage: Spalte stud_selfservice auf TRUE gesetzt bei Vorlage: LVZeugnisEng
';
+ }
+}
+
+// dokument_kurzbz in public.tbl_dokument auf 32 Zeichen verlängert
+if($result = @$db->db_query("SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = 'public' AND TABLE_NAME = 'tbl_dokument' AND COLUMN_NAME = 'dokument_kurzbz' AND character_maximum_length = 32"))
+{
+ if($db->db_num_rows($result) == 0)
+ {
+ $qry = " ALTER TABLE public.tbl_dokument ALTER COLUMN dokument_kurzbz TYPE varchar(32)";
+
+ if(!$db->db_query($qry))
+ echo 'public.tbl_dokument '.$db->db_last_error().'
';
+ else
+ echo '
Spalte dokument_kurzbz in public.tbl_dokument auf varchar(32) geändert
';
+ }
+}
+
+// dokument_kurzbz in public.tbl_akte auf 32 Zeichen verlängert
+if($result = @$db->db_query("SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = 'public' AND TABLE_NAME = 'tbl_akte' AND COLUMN_NAME = 'dokument_kurzbz' AND character_maximum_length = 32"))
+{
+ if($db->db_num_rows($result) == 0)
+ {
+ $qry = " ALTER TABLE public.tbl_akte ALTER COLUMN dokument_kurzbz TYPE varchar(32)";
+
+ if(!$db->db_query($qry))
+ echo 'public.tbl_dokument '.$db->db_last_error().'
';
+ else
+ echo '
Spalte dokument_kurzbz in public.tbl_akte auf varchar(32) geändert
';
+ }
+}
+
+
+// dokument_kurzbz in campus.tbl_dms auf 32 Zeichen verlängert
+if($result = $db->db_query("SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA='campus' AND TABLE_NAME='tbl_dms' AND COLUMN_NAME = 'dokument_kurzbz' AND character_maximum_length = 32"))
+{
+ if($db->db_num_rows($result) == 0)
+ {
+ $qry = "ALTER TABLE campus.tbl_dms ALTER COLUMN dokument_kurzbz TYPE varchar(32)";
+
+ if(!$db->db_query($qry))
+ echo 'campus.tbl_dms '.$db->db_last_error().'
';
+ else
+ echo '
Spalte dokument_kurzbz in campus.tbl_dms auf varchar(32) geändert
';
+ }
+}
+
+// dokument_kurzbz in public.tbl_dokumentprestudent auf 32 Zeichen verlängert
+if($result = @$db->db_query("SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = 'public' AND TABLE_NAME = 'tbl_dokumentprestudent' AND COLUMN_NAME = 'dokument_kurzbz' AND character_maximum_length = 32"))
+{
+ if($db->db_num_rows($result) == 0)
+ {
+ $qry = " ALTER TABLE public.tbl_dokumentprestudent ALTER COLUMN dokument_kurzbz TYPE varchar(32)";
+
+ if(!$db->db_query($qry))
+ echo 'public.tbl_dokumentprestudent '.$db->db_last_error().'
';
+ else
+ echo '
Spalte dokument_kurzbz in public.tbl_dokumentprestudent auf varchar(32) geändert
';
+ }
+}
+
+// dokument_kurzbz in public.tbl_dokumentstudiengang auf 32 Zeichen verlängert
+if($result = @$db->db_query("SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = 'public' AND TABLE_NAME = 'tbl_dokumentstudiengang' AND COLUMN_NAME = 'dokument_kurzbz' AND character_maximum_length = 32"))
+{
+ if($db->db_num_rows($result) == 0)
+ {
+ $qry = " ALTER TABLE public.tbl_dokumentstudiengang ALTER COLUMN dokument_kurzbz TYPE varchar(32)";
+
+ if(!$db->db_query($qry))
+ echo 'public.tbl_dokumentstudiengang '.$db->db_last_error().'
';
+ else
+ echo '
Spalte dokument_kurzbz in public.tbl_dokumentstudiengang auf varchar(32) geändert
';
+ }
+}
+
+// dokument_kurzbz in public.tbl_vorlage auf 32 Zeichen verlängert
+if($result = @$db->db_query("SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = 'public' AND TABLE_NAME = 'tbl_vorlage' AND COLUMN_NAME = 'dokument_kurzbz' AND character_maximum_length = 32"))
+{
+ if($db->db_num_rows($result) == 0)
+ {
+ $qry = " ALTER TABLE public.tbl_vorlage ALTER COLUMN dokument_kurzbz TYPE varchar(32)";
+
+ if(!$db->db_query($qry))
+ echo 'public.tbl_vorlage '.$db->db_last_error().'
';
+ else
+ echo '
Spalte dokument_kurzbz in public.tbl_vorlage auf varchar(32) geändert
';
+ }
+}
+
+// dokument_kurzbz in public.tbl_vorlagedokument auf 32 Zeichen verlängert
+if($result = @$db->db_query("SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = 'public' AND TABLE_NAME = 'tbl_vorlagedokument' AND COLUMN_NAME = 'dokument_kurzbz' AND character_maximum_length = 32"))
+{
+ if($db->db_num_rows($result) == 0)
+ {
+ $qry = " ALTER TABLE public.tbl_vorlagedokument ALTER COLUMN dokument_kurzbz TYPE varchar(32)";
+
+ if(!$db->db_query($qry))
+ echo 'public.tbl_vorlage '.$db->db_last_error().'
';
+ else
+ echo '
Spalte dokument_kurzbz in public.tbl_vorlagedokument auf varchar(32) geändert
';
+ }
+}
+
+// Neues Dokument hinzugefuegt LVZeugnisEng
+if($result = @$db->db_query("SELECT 1 FROM public.tbl_dokument WHERE dokument_kurzbz = 'LVZeugnisEng'"))
+{
+ if($db->db_num_rows($result) == 0)
+ {
+ $qry = "INSERT INTO public.tbl_dokument (dokument_kurzbz, bezeichnung, bezeichnung_mehrsprachig) VALUES ('LVZeugnisEng', 'Lehrveranstaltungszeugnis Englisch', '{\"Lehrveranstaltungszeugnis\",\"Course Certificate\"}')";
+
+ if(!$db->db_query($qry))
+ echo 'public.tbl_dokument '.$db->db_last_error().'
';
+ else
+ echo 'public.tbl_dokument: LVZeugnisEng hinzugefügt
';
+ }
+}
+
+// Neues Dokument hinzugefuegt LVZeugnis
+if($result = @$db->db_query("SELECT 1 FROM public.tbl_dokument WHERE dokument_kurzbz = 'LVZeugnis'"))
+{
+ if($db->db_num_rows($result) == 0)
+ {
+ $qry = "INSERT INTO public.tbl_dokument (dokument_kurzbz, bezeichnung, bezeichnung_mehrsprachig) VALUES ('LVZeugnis', 'Lehrveranstaltungszeugnis', '{\"Lehrveranstaltungszeugnis\",\"Course Certificate\"}')";
+
+ if(!$db->db_query($qry))
+ echo 'public.tbl_dokument '.$db->db_last_error().'
';
+ else
+ echo 'public.tbl_dokument: LVZeugnis hinzugefügt
';
+ }
+}
+
+// Neues Dokument hinzugefuegt Zertifikat
+if($result = @$db->db_query("SELECT 1 FROM public.tbl_dokument WHERE dokument_kurzbz = 'Zertifikat'"))
+{
+ if($db->db_num_rows($result) == 0)
+ {
+ $qry = "INSERT INTO public.tbl_dokument (dokument_kurzbz, bezeichnung, bezeichnung_mehrsprachig) VALUES ('Zertifikat', 'Zertifikat', '{\"Zertifikat\",\"Certificate\"}')";
+
+ if(!$db->db_query($qry))
+ echo 'public.tbl_dokument '.$db->db_last_error().'
';
+ else
+ echo 'public.tbl_dokument: Zertifikat hinzugefügt
';
+ }
+}
+
// insert und update fuer public.tbl_vorlagestudiengang
if(!@$db->db_query("SELECT insertamum FROM public.tbl_vorlagestudiengang LIMIT 1"))
{
@@ -5716,6 +5941,156 @@ if ($result = $db->db_query("SELECT * FROM pg_class WHERE relname='idx_tbl_zeita
}
}
+// Change size of wawi.tbl_kostenstelle.kostenstelle_nr from character varying(4) to character varying(6)
+if ($result = $db->db_query("SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA='wawi' AND TABLE_NAME='tbl_kostenstelle' AND COLUMN_NAME = 'kostenstelle_nr' AND character_maximum_length < 6"))
+{
+ if ($db->db_num_rows($result) > 0)
+ {
+ $qry = "ALTER TABLE wawi.tbl_kostenstelle ALTER COLUMN kostenstelle_nr TYPE varchar(6);";
+
+ if(!$db->db_query($qry))
+ echo 'wawi.tbl_kostenstelle '.$db->db_last_error().'
';
+ else
+ echo '
Spalte kostenstelle_nr in wawi.tbl_kostenstelle von varchar(4) auf varchar(6) geändert
';
+ }
+}
+
+// Add column parameterFuerBehebung to system.tbl_issue
+if(!$result = @$db->db_query("SELECT behebung_parameter FROM system.tbl_issue LIMIT 1"))
+{
+ $qry = 'ALTER TABLE system.tbl_issue ADD COLUMN behebung_parameter JSONB;';
+ if(!$db->db_query($qry))
+ echo 'system.tbl_issue: '.$db->db_last_error().'
';
+ else
+ echo '
Added column behebung_parameter to table system.tbl_issue';
+}
+
+//Add column entwicklungs_id to bis.tbl_entwicklungsteam
+if(!@$db->db_query("SELECT entwicklungsteam_id FROM bis.tbl_entwicklungsteam LIMIT 1"))
+{
+ $qry = 'ALTER TABLE bis.tbl_entwicklungsteam ADD COLUMN entwicklungsteam_id integer;';
+
+ if(!$db->db_query($qry))
+ echo ' bis.tbl_entwicklungsteam '.$db->db_last_error().'
';
+ else
+ echo '
Neue Spalte entwicklungsteam_id zu Tabelle bis.tbl_entwicklungsteam hinzugefügt';
+}
+
+//Column entwicklungsteam_id mit Werten befüllen
+//if($result = @$db->db_query("SELECT entwicklungsteam_id FROM bis.tbl_entwicklungsteam where entwicklungsteam_id is null"))
+if(!@$db->db_query("SELECT entwicklungsteam_id FROM bis.tbl_entwicklungsteam where entwicklungsteam_id is not null LIMIT 1"))
+{
+
+ $qry = 'UPDATE bis.tbl_entwicklungsteam et SET entwicklungsteam_id =
+ (SELECT rownumber FROM (SELECT ROW_NUMBER() OVER (ORDER BY mitarbeiter_uid, studiengang_kz)
+ AS rownumber, t.* FROM bis.tbl_entwicklungsteam t ORDER BY mitarbeiter_uid, studiengang_kz) rn
+ WHERE rn.mitarbeiter_uid = et.mitarbeiter_uid
+ AND rn.studiengang_kz = et.studiengang_kz);
+ ';
+
+ if(!$db->db_query($qry))
+ echo ' bis.tbl_entwicklungsteam '.$db->db_last_error().'
';
+ else
+ echo '
Spalte bis.tbl_entwicklungsteam_id mit Werten aufgefüllt';
+
+
+}
+
+//Create Sequence bis.tbl_entwicklungsteam
+if (!@$db->db_query("SELECT * FROM pg_class WHERE relname = 'tbl_entwicklungsteam_entwicklungsteam_id_seq'"))
+{
+ if ($count = @$db->db_query("SELECT (MAX(entwicklungsteam_id) + 1) AS start FROM bis.tbl_entwicklungsteam"))
+ {
+ $qry = 'CREATE SEQUENCE bis.tbl_entwicklungsteam_entwicklungsteam_id_seq START ';
+ $qry .= $count;
+ if(!$db->db_query($qry))
+ echo ' bis.tbl_entwicklungsteam '.$db->db_last_error().'
';
+ else
+ echo '
Sequence bis.tbl_entwicklungsteam_entwicklungsteam_id_seq mit startwert' . $count . ' erstellt';
+ }
+}
+
+//Add Permission to sequence tbl_entwicklungsteam_entwicklungsteam_id_seq
+if($result = @$db->db_query("SELECT * FROM information_schema.role_table_grants WHERE table_name='tbl_entwicklungsteam' AND table_schema='bis' AND grantee='web' AND privilege_type='INSERT'"))
+{
+ if($db->db_num_rows($result)==0)
+ {
+ $qry = "
+ GRANT SELECT, UPDATE ON bis.tbl_entwicklungsteam_entwicklungsteam_id_seq TO vilesci;
+ GRANT SELECT, UPDATE ON bis.tbl_entwicklungsteam_entwicklungsteam_id_seq TO web;";
+
+ if(!$db->db_query($qry))
+ {
+ echo 'bis.tbl_entwicklungsteam_entwicklungsteam_id_seqBerechtigungen: '.$db->db_last_error().'
';
+ }
+ else
+ {
+ echo '
SELECT und UPDATE Rechte auf bis.tbl_entwicklungsteam_entwicklungsteam_id_seq fuer web user und vilesci gesetzt ';
+ }
+ }
+}
+
+//Bis.tbl_entwicklungsteam auf NOTNULL setzen
+if ($result = @$db->db_query("SELECT is_nullable FROM INFORMATION_SCHEMA.COLUMNS WHERE table_name = 'tbl_entwicklungsteam' AND column_name = 'entwicklungsteam_id'"))
+{
+ if ($result == 'YES')
+ {
+ $qry = 'ALTER TABLE bis.tbl_entwicklungsteam ALTER COLUMN entwicklungsteam_id SET NOT NULL';
+
+ if(!$db->db_query($qry))
+ echo ' bis.tbl_entwicklungsteam '.$db->db_last_error().'
';
+ else
+ echo '
Spalte bis.tbl_entwicklungsteam_id auf NOT NULL gesetzt';
+ }
+
+}
+
+//Bis.tbl_entwicklungsteam DEFAULT einstellen
+if ($result = @$db->db_query("SELECT column_default FROM INFORMATION_SCHEMA.COLUMNS WHERE table_name = 'tbl_entwicklungsteam'AND column_name = 'entwicklungsteam_id' and column_default is null"))
+{
+ if ($result == null)
+ {
+ $qry = "ALTER TABLE bis.tbl_entwicklungsteam ALTER COLUMN entwicklungsteam_id SET DEFAULT nextval('bis.tbl_entwicklungsteam_entwicklungsteam_id_seq'::regclass);";
+
+ if(!$db->db_query($qry))
+ echo ' bis.tbl_entwicklungsteam '.$db->db_last_error().'
';
+ else
+ echo '
Spalte bis.tbl_entwicklungsteam_id: Defaultwert gesetzt';
+ }
+
+}
+
+//DELETE PRIMARY KEY pk_tbl_entwicklungsteam (mitarbeiter_uid, studiengang_kz) entfernen
+if ($result = @$db->db_query("SELECT conname FROM pg_constraint WHERE conname = 'pk_tbl_entwicklungsteam'"))
+{
+ if ($db->db_num_rows($result) == 1)
+ {
+ $qry = "ALTER TABLE bis.tbl_entwicklungsteam DROP CONSTRAINT pk_tbl_entwicklungsteam;";
+
+ if (!$db->db_query($qry))
+ echo 'bis.tbl_entwicklungsteam: '.$db->db_last_error().'
';
+ else
+ echo '
Spalte bis.tbl_entwicklungsteam: Primary Key pk_tbl_entwicklungsteam entfernt ';
+ }
+}
+
+
+// ADD PRIMARY KEY tbl_entwicklungsteam_pk to bis.tbl_entwicklungsteam
+if ($result = @$db->db_query("SELECT conname FROM pg_constraint WHERE conname = 'tbl_entwicklungsteam_pk'"))
+{
+ if ($db->db_num_rows($result) == 0)
+ {
+ $qry = "ALTER TABLE bis.tbl_entwicklungsteam ADD CONSTRAINT tbl_entwicklungsteam_pk PRIMARY KEY(entwicklungsteam_id);";
+
+ if (!$db->db_query($qry))
+ echo 'sbis.tbl_entwicklungsteam: '.$db->db_last_error().'
';
+ else
+ echo '
Spalte bis.tbl_entwicklungsteam: Primary Key tbl_entwicklungsteam_pk (entwicklungsteam_id) hinzugefügt';
+ }
+}
+
+
+
// *** Pruefung und hinzufuegen der neuen Attribute und Tabellen
echo '