mirror of
https://github.com/yu-i-i/overleaf-cep.git
synced 2026-05-27 11:01:56 +02:00
[web] Hide the "Project URL lookup" menu item for admins without view-project-setting (#28952)
the destination of that link (https://admin.stag-overleaf.com/admin/project) is blocked correctly already GitOrigin-RevId: e94978d9fe77b3da3a5dab1dd2998beca6e26102
This commit is contained in:
@@ -12,6 +12,7 @@ block append meta
|
||||
- const canDisplayAdminRedirect = canRedirectToAdminDomain()
|
||||
- const sessionUser = getSessionUser()
|
||||
- const staffAccess = sessionUser?.staffAccess
|
||||
- const canDisplayProjectUrlLookup = hasFeature('saas') && canDisplayAdminMenu && hasAdminCapability('view-project-setting', false)
|
||||
- const canDisplaySplitTestMenu = hasFeature('saas') && ((canDisplayAdminMenu && hasAdminCapability('view-split-test')) || staffAccess?.splitTestMetrics || staffAccess?.splitTestManagement)
|
||||
- const canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu && hasAdminCapability('manage-survey', false)
|
||||
- const canDisplayScriptLogMenu = hasFeature('saas') && hasAdminCapability('view-script-log', false) && canDisplayAdminMenu
|
||||
@@ -26,6 +27,7 @@ block append meta
|
||||
title: nav.title,
|
||||
canDisplayAdminMenu,
|
||||
canDisplayAdminRedirect,
|
||||
canDisplayProjectUrlLookup,
|
||||
canDisplaySplitTestMenu,
|
||||
canDisplaySurveyMenu,
|
||||
canDisplayScriptLogMenu,
|
||||
|
||||
@@ -30,6 +30,7 @@ nav.navbar.navbar-default.navbar-main.navbar-expand-lg(
|
||||
|
||||
- var canDisplayAdminMenu = hasAdminAccess()
|
||||
- var canDisplayAdminRedirect = canRedirectToAdminDomain()
|
||||
- var canDisplayProjectUrlLookup = hasFeature('saas') && canDisplayAdminMenu && hasAdminCapability('view-project-setting', false)
|
||||
- var canDisplaySplitTestMenu = hasFeature('saas') && ((canDisplayAdminMenu && hasAdminCapability('view-split-test')) || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement)))
|
||||
- var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu && hasAdminCapability('manage-survey', false)
|
||||
- var canDisplayScriptLogMenu = hasFeature('saas') && hasAdminCapability('view-script-log', false) && canDisplayAdminMenu
|
||||
@@ -47,7 +48,7 @@ nav.navbar.navbar-default.navbar-main.navbar-expand-lg(
|
||||
|
||||
#navbar-main-collapse.navbar-collapse.collapse
|
||||
ul.nav.navbar-nav.navbar-right.ms-auto(role='menubar')
|
||||
if canDisplayAdminMenu || canDisplayAdminRedirect || canDisplaySplitTestMenu
|
||||
if canDisplayAdminMenu || canDisplayAdminRedirect || canDisplayProjectUrlLookup || canDisplaySplitTestMenu
|
||||
+nav-item.dropdown.subdued
|
||||
button.dropdown-toggle(
|
||||
aria-haspopup='true'
|
||||
@@ -64,6 +65,7 @@ nav.navbar.navbar-default.navbar-main.navbar-expand-lg(
|
||||
if canDisplayAdminMenu
|
||||
+dropdown-menu-link-item(href='/admin') Manage Site
|
||||
+dropdown-menu-link-item(href='/admin/user') Manage Users
|
||||
if canDisplayProjectUrlLookup
|
||||
+dropdown-menu-link-item(href='/admin/project') Project URL Lookup
|
||||
if canDisplayAdminRedirect
|
||||
+dropdown-menu-link-item(href=settings.adminUrl) Switch to Admin
|
||||
|
||||
@@ -6,6 +6,7 @@ import { useSendProjectListMB } from '@/features/project-list/components/project
|
||||
export default function AdminMenu({
|
||||
canDisplayAdminMenu,
|
||||
canDisplayAdminRedirect,
|
||||
canDisplayProjectUrlLookup,
|
||||
canDisplaySplitTestMenu,
|
||||
canDisplaySurveyMenu,
|
||||
canDisplayScriptLogMenu,
|
||||
@@ -14,6 +15,7 @@ export default function AdminMenu({
|
||||
DefaultNavbarMetadata,
|
||||
| 'canDisplayAdminMenu'
|
||||
| 'canDisplayAdminRedirect'
|
||||
| 'canDisplayProjectUrlLookup'
|
||||
| 'canDisplaySplitTestMenu'
|
||||
| 'canDisplaySurveyMenu'
|
||||
| 'canDisplayScriptLogMenu'
|
||||
@@ -39,11 +41,13 @@ export default function AdminMenu({
|
||||
<NavDropdownLinkItem href="/admin/user">
|
||||
Manage Users
|
||||
</NavDropdownLinkItem>
|
||||
<NavDropdownLinkItem href="/admin/project">
|
||||
Project URL lookup
|
||||
</NavDropdownLinkItem>
|
||||
</>
|
||||
) : null}
|
||||
{canDisplayProjectUrlLookup ? (
|
||||
<NavDropdownLinkItem href="/admin/project">
|
||||
Project URL lookup
|
||||
</NavDropdownLinkItem>
|
||||
) : null}
|
||||
{canDisplayAdminRedirect && adminUrl ? (
|
||||
<NavDropdownLinkItem href={adminUrl}>
|
||||
Switch to Admin
|
||||
|
||||
@@ -26,6 +26,7 @@ function DefaultNavbar(
|
||||
title,
|
||||
canDisplayAdminMenu,
|
||||
canDisplayAdminRedirect,
|
||||
canDisplayProjectUrlLookup,
|
||||
canDisplaySplitTestMenu,
|
||||
canDisplaySurveyMenu,
|
||||
canDisplayScriptLogMenu,
|
||||
@@ -112,6 +113,7 @@ function DefaultNavbar(
|
||||
<AdminMenu
|
||||
canDisplayAdminMenu={canDisplayAdminMenu}
|
||||
canDisplayAdminRedirect={canDisplayAdminRedirect}
|
||||
canDisplayProjectUrlLookup={canDisplayProjectUrlLookup}
|
||||
canDisplaySplitTestMenu={canDisplaySplitTestMenu}
|
||||
canDisplaySurveyMenu={canDisplaySurveyMenu}
|
||||
canDisplayScriptLogMenu={canDisplayScriptLogMenu}
|
||||
|
||||
@@ -8,6 +8,7 @@ export type DefaultNavbarMetadata = {
|
||||
title?: string
|
||||
canDisplayAdminMenu: boolean
|
||||
canDisplayAdminRedirect: boolean
|
||||
canDisplayProjectUrlLookup: boolean
|
||||
canDisplaySplitTestMenu: boolean
|
||||
canDisplaySurveyMenu: boolean
|
||||
canDisplayScriptLogMenu: boolean
|
||||
|
||||
Reference in New Issue
Block a user