diff --git a/APPL/PRS/prs_impersonate.asp b/APPL/PRS/prs_impersonate.asp index 076ce77eac..7f2411ffa6 100644 --- a/APPL/PRS/prs_impersonate.asp +++ b/APPL/PRS/prs_impersonate.asp @@ -20,8 +20,9 @@ var JSON_Result = true; <% protectRequest.validateToken(); - user.auth_required_or_abort(S("prs_allow_impersonate")); user.checkAutorisation("WEB_PRSSYS"); + if (!S("prs_allow_impersonate")) + user.checkAutorisation("WEB_FACTAB"); var prs_key = getFParamInt("prs_key"); var other = new Perslid(prs_key); @@ -30,7 +31,7 @@ var JSON_Result = true; Session("org_user_key") = user_key; Session("org_user_key_ts") = new Date().getTime(); - shared.trackaction("PRSLOG", prs_key, ("lcl_impersonated")); + shared.trackaction("PRSLOG", prs_key, L("lcl_impersonated")); doLogin(prs_key); result = { success: "true" }; diff --git a/APPL/PRS/prs_show_perslid.asp b/APPL/PRS/prs_show_perslid.asp index 98d69b2e90..81ef2bed26 100644 --- a/APPL/PRS/prs_show_perslid.asp +++ b/APPL/PRS/prs_show_perslid.asp @@ -219,8 +219,9 @@ var prs_user = new Perslid(prs_key); buttons.push( { title: L("lcl_menu_fac_autorisaties"), icon: "autorisatie.png", action: "prs_gotoautgroup()" }); } - if (S("prs_allow_impersonate") && prsauthparams.writesys && prs_key != user_key && typeof Session("org_user_key") == "undefined") { - buttons.push({ title: L("lcl_prs_impersonate"), icon: "impersonate.png", action: "prs_impersonate()", id: "bimpers" }); + var canImpers = prsauthparams.writetab || (S("prs_allow_impersonate") && prsauthparams.writesys) + if (canImpers && prs_key != user_key && typeof Session("org_user_key") == "undefined") { + buttons.push({ title: L("lcl_impersonate"), icon: "impersonate.png", action: "prs_impersonate()", id: "bimpers" }); } } IFRAMER_HEADER(L("lcl_prs_persoon_frame"), buttons);