AKZA#36723 INS: Autorisatie voor objectbeheerder: alleen eigen objecten bewerken

svn path=/Website/trunk/; revision=31970
This commit is contained in:
Erik Groener
2016-12-15 10:02:21 +00:00
parent 8d358b6d31
commit 44dc27fae0

View File

@@ -284,12 +284,31 @@ function getFiltClausePersoon(pfiltcode, params)
+ " WHERE prs_perslid_key_verantw2 IS NOT NULL))";
break;
case 'INSB': // Objectbeheerders, met schrijfrechten op INSMAN of INSUSE - gokje
lfiltClause = " AND p.prs_perslid_key IN ("
+ "SELECT prs_perslid_key FROM fac_v_webgebruiker g "
+ " WHERE g.fac_functie_key IN (SELECT fac_functie_key FROM fac_functie WHERE fac_functie_code IN ('WEB_INSMAN', 'WEB_INSUSE')) "
+ " AND g.fac_gebruiker_alg_level_write < 9"
+ " AND g.fac_gebruiker_prs_level_write < 9"
+ ") "
lfiltClause = " AND ( (1 = "+ S("ins_can_edit_own_objects")+" )"
+ " OR p.prs_perslid_key IN"
+ "( SELECT prs_perslid_key"
+ " FROM fac_v_webgebruiker g"
+ " WHERE g.fac_functie_key IN"
+ "( SELECT fac_functie_key"
+ " FROM fac_functie"
+ " WHERE fac_functie_code IN ('WEB_INSMAN', 'WEB_INSUSE')"
+ ")"
+ " AND g.fac_gebruiker_alg_level_write < 9"
+ " AND g.fac_gebruiker_prs_level_write < 9"
+ ")"
+ " )"
+ " AND (p.prs_perslid_key IN"
+ "( SELECT prs_perslid_key"
+ " FROM fac_v_webgebruiker g"
+ " WHERE g.fac_functie_key IN"
+ "( SELECT fac_functie_key"
+ " FROM fac_functie"
+ " WHERE fac_functie_code IN ('WEB_INSMAN', 'WEB_INSUSE')"
+ ")"
+ " AND g.fac_gebruiker_alg_level_read < 9"
+ " AND g.fac_gebruiker_prs_level_read < 9"
+ ")"
+ " )"
break;
case 'INS': // Bestaande beheerders van bestaande objecten
lfiltClause = " AND p.prs_perslid_key IN (SELECT prs_perslid_key_beh FROM ins_deel WHERE ins_deel_verwijder IS NULL)";