Преглед на файлове

[web] Add admin permission `view-script-log` (#27463)

* Add capability `view-script-log`

* Check `view-script-log` (frontend)

* Check `view-script-log` (backend)

* Update tests

GitOrigin-RevId: 70fdb94875c9db69772b1450f03802917c4c52d4
Antoine Clausse преди 1 година
родител
ревизия
d145d309be

+ 1 - 1
services/web/app/views/layout-react.pug

@@ -18,7 +18,7 @@ block append meta
 	- const staffAccess = sessionUser?.staffAccess
 	- const canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || staffAccess?.splitTestMetrics || staffAccess?.splitTestManagement)
 	- const canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu
-	- const canDisplayScriptLogMenu = hasFeature('saas') && canDisplayAdminMenu
+	- const canDisplayScriptLogMenu = hasFeature('saas') && hasAdminCapability('view-script-log') && canDisplayAdminMenu
 	- const enableUpgradeButton = projectDashboardReact && usersBestSubscription && (usersBestSubscription.type === 'free' || usersBestSubscription.type === 'standalone-ai-add-on')
 	- const showSignUpLink = hasFeature('registration-page')
 

+ 1 - 1
services/web/app/views/layout/navbar-marketing-bootstrap-5.pug

@@ -35,7 +35,7 @@ nav.navbar.navbar-default.navbar-main.navbar-expand-lg(
 		- var canDisplayAdminRedirect = canRedirectToAdminDomain()
 		- var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement)))
 		- var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu
-		- var canDisplayScriptLogMenu = hasFeature('saas') && canDisplayAdminMenu
+		- var canDisplayScriptLogMenu = hasFeature('saas') && hasAdminCapability('view-script-log') && canDisplayAdminMenu
 
 		if typeof suppressNavbarRight === 'undefined'
 			button#navbar-toggle-btn.navbar-toggler.collapsed(

+ 3 - 3
services/web/app/views/layout/navbar-marketing.pug

@@ -45,7 +45,7 @@ nav.navbar.navbar-default.navbar-main(
 		- var canDisplayAdminRedirect = canRedirectToAdminDomain()
 		- var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement)))
 		- var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu
-		- var canDisplayScriptLogMenu = hasFeature('saas') && canDisplayAdminMenu
+		- var canDisplayScriptLogMenu = hasFeature('saas') && hasAdminCapability('view-script-log') && canDisplayAdminMenu
 
 		if typeof suppressNavbarRight == 'undefined'
 			#navbar-main-collapse.navbar-collapse.collapse
@@ -92,8 +92,8 @@ nav.navbar.navbar-default.navbar-main(
 							if ((item.only_when_logged_in && getSessionUser())
 											|| (item.only_when_logged_out && (!getSessionUser()))
 											|| (!item.only_when_logged_out && !item.only_when_logged_in && !item.only_content_pages)
-											|| (item.only_content_pages && (typeof(suppressNavContentLinks) == "undefined" || !suppressNavContentLinks))
-							){
+											|| (item.only_content_pages && (typeof (suppressNavContentLinks) == "undefined" || !suppressNavContentLinks))
+							) {
 								var showNavItem = true
 							} else {
 								var showNavItem = false

+ 1 - 1
services/web/app/views/layout/navbar-website-redesign.pug

@@ -41,7 +41,7 @@ nav.navbar.navbar-default.navbar-main.website-redesign-navbar(
 		- var canDisplayAdminRedirect = canRedirectToAdminDomain()
 		- var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement)))
 		- var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu
-		- var canDisplayScriptLogMenu = hasFeature('saas') && canDisplayAdminMenu
+		- var canDisplayScriptLogMenu = hasFeature('saas') && hasAdminCapability('view-script-log') && canDisplayAdminMenu
 
 		if typeof suppressNavbarRight == 'undefined'
 			#navbar-main-collapse.navbar-collapse.collapse

+ 1 - 0
services/web/types/admin-capabilities.ts

@@ -10,6 +10,7 @@ export type AdminCapability =
   | 'view-audit-log'
   | 'view-project'
   | 'view-session'
+  | 'view-script-log'
   | 'view-user-additional-info'
 
 export type AdminRole =