diff --git a/system/dbupdate_3.3.php b/system/dbupdate_3.3.php
index 9600d241f..c70ef28a3 100644
--- a/system/dbupdate_3.3.php
+++ b/system/dbupdate_3.3.php
@@ -5099,6 +5099,69 @@ if (!$result = @$db->db_query("SELECT foerderrelevant, standort_code FROM public
echo '
public.tbl_prestudent: Neue Spalten foerderrelevant, standort_code hinzugefuegt.';
}
+// Add table issues
+if(!$result = @$db->db_query("SELECT 1 FROM system.tbl_issues LIMIT 1;"))
+{
+ $qry = "CREATE TABLE system.tbl_issues (
+ id integer NOT NULL,
+ app character varying(32),
+ inhalt text,
+ datum timestamp without time zone NOT NULL,
+ verarbeitetvon character varying(32),
+ verarbeitetamum timestamp without time zone,
+ fehlercode character varying(64) NOT NULL,
+ person_id integer,
+ oe_kurzbz character varying(32),
+ status character varying(32) NOT NULL,
+ schweregrad character varying(32) NOT NULL,
+ insertvon character varying(32),
+ insertamum timestamp without time zone DEFAULT now(),
+ updatevon character varying(32),
+ updateamum timestamp without time zone
+ );
+
+ COMMENT ON TABLE system.tbl_issues IS 'Tabelle zur Verfolgung von Problemen/Fehlern von verschiedenen Systemen';
+ COMMENT ON COLUMN system.tbl_issues.id IS 'Primärschlüssel';
+ COMMENT ON COLUMN system.tbl_issues.app IS 'Ursprungsapp des Problems';
+ COMMENT ON COLUMN system.tbl_issues.inhalt IS 'Beschreibungstext, Fehlertext';
+ COMMENT ON COLUMN system.tbl_issues.datum IS 'Tag und Zeit des Auftritts des Problems';
+ COMMENT ON COLUMN system.tbl_issues.verarbeitetvon IS 'uid des Nutzers, der das Problem verarbeitet hat';
+ COMMENT ON COLUMN system.tbl_issues.verarbeitetamum IS 'Tag und Zeit der Problemverarbeitung';
+ COMMENT ON COLUMN system.tbl_issues.fehlercode IS 'Identifikationscode des Problems/Fehlers, kann von anderem System kommen oder eigens definiert sein';
+ COMMENT ON COLUMN system.tbl_issues.person_id IS 'Id der betreffenden Person';
+ COMMENT ON COLUMN system.tbl_issues.oe_kurzbz IS 'Betroffene Organisationseinheit';
+ COMMENT ON COLUMN system.tbl_issues.status IS 'Verarbeitsungsstatus';
+
+ CREATE SEQUENCE system.seq_issues_id
+ START WITH 1
+ INCREMENT BY 1
+ NO MINVALUE
+ NO MAXVALUE
+ CACHE 1;
+
+ ALTER TABLE ONLY system.tbl_issues ALTER COLUMN id SET DEFAULT nextval('system.seq_jobsqueue_jobid'::regclass);
+
+ GRANT SELECT, UPDATE ON SEQUENCE system.seq_issues_id TO vilesci;
+ GRANT SELECT, UPDATE ON SEQUENCE system.seq_issues_id TO fhcomplete;
+
+ ALTER TABLE system.tbl_issues ADD CONSTRAINT pk_issues PRIMARY KEY (id);
+
+ ALTER TABLE system.tbl_issues ADD CONSTRAINT fk_issues_app FOREIGN KEY (app) REFERENCES system.tbl_app(app) ON UPDATE CASCADE ON DELETE RESTRICT;
+ ALTER TABLE system.tbl_issues ADD CONSTRAINT fk_issues_verarbeitetvon FOREIGN KEY (verarbeitetvon) REFERENCES public.tbl_benutzer(uid) ON UPDATE CASCADE ON DELETE RESTRICT;
+ ALTER TABLE system.tbl_issues ADD CONSTRAINT fk_issues_person_id FOREIGN KEY (person_id) REFERENCES public.tbl_person(person_id) ON UPDATE CASCADE ON DELETE RESTRICT;
+ ALTER TABLE system.tbl_issues ADD CONSTRAINT fk_issues_oe_kurzbz FOREIGN KEY (oe_kurzbz) REFERENCES public.tbl_organisationseinheit(oe_kurzbz) ON UPDATE CASCADE ON DELETE RESTRICT;
+
+ ALTER TABLE system.tbl_issues ADD CONSTRAINT chk_issues_person_id_oe_kurzbz CHECK (person_id IS NOT NULL OR oe_kurzbz IS NOT NULL);
+
+ CREATE INDEX idx_tbl_issues_person_id ON system.tbl_issues USING btree (person_id);
+ CREATE INDEX idx_tbl_issues_oe_kurzbz ON system.tbl_issues USING btree (oe_kurzbz);";
+
+ if(!$db->db_query($qry))
+ echo 'system.tbl_issues: '.$db->db_last_error().'
';
+ else
+ echo ' system.tbl_issues: Tabelle hinzugefuegt
';
+}
+
// *** Pruefung und hinzufuegen der neuen Attribute und Tabellen
echo '