FCLT#84824 Rechten specifiek alleen toekennen op eigen vakgroepen-fixed

svn path=/Database/branches/DB49/; revision=66579
This commit is contained in:
Peter Feij
2024-10-14 09:28:36 +00:00
parent 7d6f719aad
commit 41dff14643

View File

@@ -511,17 +511,23 @@ fac.writelog ('INI.FMIS_INI','I', 'Settings completed', '');
INSERT INTO fac_groep (fac_groep_omschrijving, fac_groep_opmerking) VALUES ('FMIS-Frontoffice', 'FMIS-autorisatiegroep voor frontoffice users');
INSERT INTO fac_groep (fac_groep_omschrijving, fac_groep_opmerking) VALUES ('FMIS-Backoffice', 'FMIS-autorisatiegroep voor backoffice users');
-- Toekennen van de rechten om aan het werk te kunnen
-- We proberen ons zo goed mogelijk te beperken tot de functionaliteit die we hier zelf net hebben gedefinieerd.
-- In het bijzonder willen we geen bij-effecten als MLDUSE voor andere disciplines die toevallig al bestaan (bv uit ITSM_INI)
-- gaan toekennen. Voor Admin-groepen is dat wat minder strikt en doen we wel ons best.
-- Vooralsnog supporten we niet compleet dat je achteraf nog kunt initialiseren he.
-- Medewerker rechten
INSERT INTO fac_groeprechten (fac_groep_key, fac_functie_key, ins_discipline_key,
fac_gebruiker_alg_level_read, fac_gebruiker_alg_level_write,
fac_gebruiker_prs_level_read, fac_gebruiker_prs_level_write)
SELECT g.fac_groep_key, f.fac_functie_key, d.ins_discipline_key, -1, -1, -1, -1
FROM fac_functie f, ins_tab_discipline d, fac_groep g
FROM fac_functie f, ins_tab_discipline d, fac_groep g, ins_srtdiscipline sd
WHERE f.fac_functie_code IN ('WEB_RESUSE', 'WEB_MLDUSE', 'WEB_BESUSE','WEB_BEZUSE','WEB_FAQUSE','WEB_PROFIL')
AND f.fac_functie_module = d.ins_discipline_module
AND g.fac_groep_upper = '_DEFAULT'
AND d.ins_discipline_omschrijving LIKE 'FMIS-%'
AND d.ins_srtdiscipline_key = sd.ins_srtdiscipline_key(+)
AND (sd.ins_srtdiscipline_omschrijving LIKE 'FMIS-%' OR sd.ins_srtdiscipline_omschrijving IS NULL)
AND NOT EXISTS
(SELECT gr.fac_groeprechten_key
FROM fac_groeprechten gr
@@ -529,17 +535,17 @@ INSERT INTO fac_groeprechten (fac_groep_key, fac_functie_key, ins_discipline_key
AND gr.ins_discipline_key = d.ins_discipline_key
AND gr.fac_groep_key = g.fac_groep_key);
-- Frontoffice rechten
INSERT INTO fac_groeprechten (fac_groep_key, fac_functie_key, ins_discipline_key,
fac_gebruiker_alg_level_read, fac_gebruiker_alg_level_write,
fac_gebruiker_prs_level_read, fac_gebruiker_prs_level_write)
SELECT g.fac_groep_key, f.fac_functie_key, d.ins_discipline_key, -1, -1, -1, -1
FROM fac_functie f, ins_tab_discipline d, fac_groep g
FROM fac_functie f, ins_tab_discipline d, fac_groep g, ins_srtdiscipline sd
WHERE f.fac_functie_code IN ('WEB_RESFOF', 'WEB_MLDFOF', 'WEB_BESFOF', 'WEB_BEZFOF', 'WEB_FAQFOF', 'WEB_INSFOF')
AND f.fac_functie_module = d.ins_discipline_module
AND g.fac_groep_upper = 'FMIS-FRONTOFFICE'
AND d.ins_discipline_omschrijving LIKE 'FMIS-%'
AND d.ins_srtdiscipline_key = sd.ins_srtdiscipline_key(+)
AND (sd.ins_srtdiscipline_omschrijving LIKE 'FMIS-%' OR sd.ins_srtdiscipline_omschrijving IS NULL)
AND NOT EXISTS
(SELECT gr.fac_groeprechten_key
FROM fac_groeprechten gr
@@ -552,11 +558,12 @@ INSERT INTO fac_groeprechten (fac_groep_key, fac_functie_key, ins_discipline_key
fac_gebruiker_alg_level_read, fac_gebruiker_alg_level_write,
fac_gebruiker_prs_level_read, fac_gebruiker_prs_level_write)
SELECT g.fac_groep_key, f.fac_functie_key, d.ins_discipline_key, -1, -1, -1, -1
FROM fac_functie f, ins_tab_discipline d, fac_groep g
FROM fac_functie f, ins_tab_discipline d, fac_groep g, ins_srtdiscipline sd
WHERE f.fac_functie_code IN ('WEB_RESBOF', 'WEB_MLDBOF', 'WEB_ORDBOF', 'WEB_BESBOF', 'WEB_BEZBOF', 'WEB_FAQBOF', 'WEB_INSUSE', 'WEB_INSMAN', 'WEB_CNTMAN', 'WEB_CNTUSE')
AND f.fac_functie_module = d.ins_discipline_module
AND g.fac_groep_upper = 'FMIS-BACKOFFICE'
AND d.ins_discipline_omschrijving LIKE 'FMIS-%'
AND d.ins_srtdiscipline_key = sd.ins_srtdiscipline_key(+)
AND (sd.ins_srtdiscipline_omschrijving LIKE 'FMIS-%' OR sd.ins_srtdiscipline_omschrijving IS NULL)
AND NOT EXISTS
(SELECT gr.fac_groeprechten_key
FROM fac_groeprechten gr
@@ -569,12 +576,14 @@ INSERT INTO fac_groeprechten (fac_groep_key, fac_functie_key, ins_discipline_key
fac_gebruiker_alg_level_read, fac_gebruiker_alg_level_write,
fac_gebruiker_prs_level_read, fac_gebruiker_prs_level_write)
SELECT g.fac_groep_key, f.fac_functie_key, d.ins_discipline_key, -1, -1, -1, -1
FROM fac_functie f, ins_tab_discipline d, fac_groep g
FROM fac_functie f, ins_tab_discipline d, fac_groep g, ins_srtdiscipline sd
WHERE f.fac_functie_code IN ('WEB_RESMSU', 'WEB_MLDMSU', 'WEB_BESMSU', 'WEB_BEZMSU', 'WEB_FAQMSU', 'WEB_INSMSU',
'WEB_RESMGT', 'WEB_MLDMGT', 'WEB_BESMGT', 'WEB_BEZMGT', 'WEB_FAQMGT', 'WEB_INSMGT',
'WEB_RESBAC', 'WEB_MLDBAC', 'WEB_BESBAC', 'WEB_BEZBAC')
AND f.fac_functie_module = d.ins_discipline_module
AND g.fac_groep_upper = '_ADMIN'
AND d.ins_srtdiscipline_key = sd.ins_srtdiscipline_key(+)
AND (sd.ins_srtdiscipline_omschrijving LIKE 'FMIS-%' OR sd.ins_srtdiscipline_omschrijving IS NULL)
AND NOT EXISTS
(SELECT gr.fac_groeprechten_key
FROM fac_groeprechten gr
@@ -584,16 +593,18 @@ INSERT INTO fac_groeprechten (fac_groep_key, fac_functie_key, ins_discipline_key
-- _FACILITOR-rechten
-- We willen tbv Support dat _FACILITOR alles kan, dus ook rechten krijgt op de zaken
-- die hier zijn aangemaakt. De rest had-ie standaard al
-- die hier zijn aangemaakt. De rest had-ie standaard al.
-- Dit zijn dus autorisaties als ORDAFR,ORDBO2, ORDGO5, UURBOF, CNTGO1 en MLDREO, to name a few.
INSERT INTO fac_groeprechten (fac_groep_key, fac_functie_key, ins_discipline_key,
fac_gebruiker_alg_level_read, fac_gebruiker_alg_level_write,
fac_gebruiker_prs_level_read, fac_gebruiker_prs_level_write)
SELECT g.fac_groep_key, f.fac_functie_key, d.ins_discipline_key, -1, -1, -1, -1
FROM fac_functie f, ins_tab_discipline d, fac_groep g
FROM fac_functie f, ins_tab_discipline d, fac_groep g, ins_srtdiscipline sd
WHERE f.fac_functie_module = d.ins_discipline_module
AND g.fac_groep_upper = '_FACILITOR'
AND f.fac_functie_discipline = 1
AND d.ins_discipline_omschrijving LIKE 'FMIS-%'
AND d.ins_srtdiscipline_key = sd.ins_srtdiscipline_key(+)
AND (sd.ins_srtdiscipline_omschrijving LIKE 'FMIS-%' OR sd.ins_srtdiscipline_omschrijving IS NULL)
AND NOT EXISTS
(SELECT gr.fac_groeprechten_key
FROM fac_groeprechten gr