diff --git a/application/dbskel/fue/TBL-aktivitaet.php b/application/dbskel/fue/TBL-aktivitaet.php new file mode 100644 index 000000000..937ca3057 --- /dev/null +++ b/application/dbskel/fue/TBL-aktivitaet.php @@ -0,0 +1,27 @@ + array( + 'aktivitaet_kurzbz' => array( + 'comment' => 'I guess this is the PK', + 'type' => 'character varying(16)', + 'null' => false + ), + 'beschreibung' => array( + 'comment' => 'none', + 'type' => 'character varying(256)', + 'null' => false, + 'default' => "'Test string'" + ), + 'sort' => array( + 'comment' => 'nope', + 'type' => 'integer', + 'default' => 1 + ), + 'oe_kurzbz' => array( + 'comment' => 'uhm', + 'type' => 'character varying(32)' + ) + ), + 'comment' => 'Timesheet SLA Activity' +); diff --git a/application/dbskel/fue/constraints.php b/application/dbskel/fue/constraints.php new file mode 100644 index 000000000..a3e534cf1 --- /dev/null +++ b/application/dbskel/fue/constraints.php @@ -0,0 +1,8 @@ + 'ALTER TABLE fue.tbl_aktivitaet ADD CONSTRAINT pk_tbl_aktivitaet PRIMARY KEY (aktivitaet_kurzbz)', + 'fk_projekt_oe' => 'ALTER TABLE fue.tbl_aktivitaet ADD CONSTRAINT fk_test FOREIGN KEY (oe_kurzbz) REFERENCES public.tbl_organisationseinheit (oe_kurzbz)', + 'uk_beschreibung' => 'ALTER TABLE fue.tbl_aktivitaet ADD CONSTRAINT uk_beschreibung UNIQUE (beschreibung)', + 'testchk' => 'ALTER TABLE fue.tbl_aktivitaet ADD CONSTRAINT testchk CHECK (sort > 0)' +); diff --git a/application/dbskel/fue/extra.sql b/application/dbskel/fue/extra.sql new file mode 100644 index 000000000..3d826b40f --- /dev/null +++ b/application/dbskel/fue/extra.sql @@ -0,0 +1 @@ +SELECT 'Extra file' AS justatest; diff --git a/application/dbskel/fue/functions.php b/application/dbskel/fue/functions.php new file mode 100644 index 000000000..f3dab4498 --- /dev/null +++ b/application/dbskel/fue/functions.php @@ -0,0 +1,19 @@ + + 'CREATE OR REPLACE FUNCTION fue.get_highest_content_version(bigint) RETURNS smallint AS $$ + DECLARE i_content_id ALIAS FOR $1; + DECLARE rec RECORD; + BEGIN + + SELECT INTO rec version + FROM campus.tbl_contentsprache + WHERE content_id = i_content_id + ORDER BY version desc + LIMIT 1; + + RETURN rec.version; + END; + $$ LANGUAGE plpgsql;' +); diff --git a/application/dbskel/fue/grants.sql b/application/dbskel/fue/grants.sql new file mode 100644 index 000000000..cdc8c9c95 --- /dev/null +++ b/application/dbskel/fue/grants.sql @@ -0,0 +1,20 @@ +----------------------------------------------------- +-- Revokes all privileges from all granted users +----------------------------------------------------- +REVOKE ALL PRIVILEGES ON SCHEMA fue FROM vilesci; +REVOKE ALL ON ALL TABLES IN SCHEMA fue FROM vilesci; +REVOKE ALL ON ALL SEQUENCES IN SCHEMA fue FROM vilesci; +REVOKE ALL ON ALL FUNCTIONS IN SCHEMA fue FROM vilesci; + +---------------------------------------------------------------------------------------------------- +-- Gives the desired privileges to the chosen users (with great power comes great responsibility!) +---------------------------------------------------------------------------------------------------- + +-- Schema privileges +GRANT ALL ON SCHEMA fue TO vilesci; +GRANT USAGE ON SCHEMA fue TO web; +GRANT USAGE ON SCHEMA fue TO wawi; + +-- Sequences privileges +GRANT SELECT,UPDATE ON SEQUENCE fue.seq_projekt_dokument_projekt_dokument_id TO vilesci; +GRANT SELECT,UPDATE ON SEQUENCE fue.seq_projekt_dokument_projekt_dokument_id TO web; diff --git a/application/dbskel/fue/schema.sql b/application/dbskel/fue/schema.sql new file mode 100644 index 000000000..1dc28d796 --- /dev/null +++ b/application/dbskel/fue/schema.sql @@ -0,0 +1,4 @@ +-- Create the schema if not exists +CREATE SCHEMA IF NOT EXISTS fue; +-- Comment schema +COMMENT ON SCHEMA fue IS 'Projectmanagement'; diff --git a/application/dbskel/fue/sequences.php b/application/dbskel/fue/sequences.php new file mode 100644 index 000000000..98a1ca60b --- /dev/null +++ b/application/dbskel/fue/sequences.php @@ -0,0 +1,11 @@ + + 'CREATE SEQUENCE fue.seq_projekt_dokument_projekt_dokument_id + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1;' +); diff --git a/application/dbskel/fue/views.php b/application/dbskel/fue/views.php new file mode 100644 index 000000000..69b911714 --- /dev/null +++ b/application/dbskel/fue/views.php @@ -0,0 +1,50 @@ + + 'CREATE OR REPLACE VIEW fue.vw_projektressourcen ( + projekt_ressource_id, + projekt_kurzbz, + projektphase_id, + projektphase, + typ, + ressource_id, + ressource, + funktion_kurzbz, + start, + ende, + oe_kurzbz, + projektbudget, + aufwandstyp_kurzbz, + projektphase_fk, + phasenbudget, + personentage, + nummer, + titel, + aufwand + ) + AS + SELECT tpr.projekt_ressource_id, + COALESCE(tpr.projekt_kurzbz, tpp.projekt_kurzbz) AS projekt_kurzbz, + tpr.projektphase_id, + tpp.bezeichnung AS projektphase, + COALESCE(tpp.typ, \'Projekt\'::character varying) AS typ, + tpr.ressource_id, + tr.bezeichnung AS ressource, + tpr.funktion_kurzbz, + COALESCE(tpp.start, tp.beginn) AS start, + COALESCE(tpp.ende, tp.ende) AS ende, + tp.oe_kurzbz, + tp.budget AS projektbudget, + tp.aufwandstyp_kurzbz, + tpp.projektphase_fk, + tpp.budget AS phasenbudget, + tpp.personentage, + tp.nummer, + tp.titel, + tpr.aufwand + FROM fue.tbl_projekt_ressource tpr + JOIN fue.tbl_ressource tr USING (ressource_id) + LEFT JOIN fue.tbl_projekt tp USING (projekt_kurzbz) + LEFT JOIN fue.tbl_projektphase tpp USING (projektphase_id);' +); diff --git a/application/dbskel/index.html b/application/dbskel/index.html new file mode 100644 index 000000000..b702fbc39 --- /dev/null +++ b/application/dbskel/index.html @@ -0,0 +1,11 @@ + + +
+Directory access is forbidden.
+ + +