[web] Check adminPrivilegeAvailable to show "Project URL lookup" (#29020)

* Check `adminPrivilegeAvailable` to show "Project URL lookup"

This is the correct check as it's what used to decide if the AdminPanelRouter should be included:
ffa200d595/services/web/modules/admin-panel/index.mjs (L14-L15)

* Add "it displays expected admin menu items" to e2e tests

* Don't expect "Project URL lookup" in CE

* Revert "Don't expect "Project URL lookup" in CE"

This reverts commit 467cccbf6c0d538c386d459403c521e3f62cfee2.

* Make "Project URL Lookup" capitalization consistent

GitOrigin-RevId: ed5c219e9b5912a4c324cf9dce58061b58d911b0
This commit is contained in:
Antoine Clausse
2025-10-14 17:01:08 +02:00
committed by Copybot
parent 8c15af1a70
commit 584c23628c
4 changed files with 21 additions and 3 deletions

View File

@@ -135,6 +135,24 @@ describe('admin panel', function () {
) )
}) })
describe('admin menu items', () => {
beforeEach(() => {
login(admin)
cy.visit('/project')
})
it('displays expected admin menu items', () => {
const menuitems = ['Manage Site', 'Manage Users', 'Project URL Lookup']
menuitems.forEach(name => {
cy.findByRole('menuitem', { name: 'Admin' }).click()
cy.get('ul[role="menu"]')
.findAllByRole('menuitem')
.should('have.length', menuitems.length)
cy.get('ul[role="menu"]').findByRole('menuitem', { name }).click()
})
})
})
describe('manage site', () => { describe('manage site', () => {
beforeEach(() => { beforeEach(() => {
login(admin) login(admin)

View File

@@ -12,7 +12,7 @@ block append meta
- const canDisplayAdminRedirect = canRedirectToAdminDomain() - const canDisplayAdminRedirect = canRedirectToAdminDomain()
- const sessionUser = getSessionUser() - const sessionUser = getSessionUser()
- const staffAccess = sessionUser?.staffAccess - const staffAccess = sessionUser?.staffAccess
- const canDisplayProjectUrlLookup = hasFeature('saas') && canDisplayAdminMenu && hasAdminCapability('view-project-setting', false) - const canDisplayProjectUrlLookup = settings.adminPrivilegeAvailable && canDisplayAdminMenu && hasAdminCapability('view-project-setting', false)
- const canDisplaySplitTestMenu = hasFeature('saas') && ((canDisplayAdminMenu && hasAdminCapability('view-split-test')) || staffAccess?.splitTestMetrics || staffAccess?.splitTestManagement) - const canDisplaySplitTestMenu = hasFeature('saas') && ((canDisplayAdminMenu && hasAdminCapability('view-split-test')) || staffAccess?.splitTestMetrics || staffAccess?.splitTestManagement)
- const canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu && hasAdminCapability('manage-survey', false) - const canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu && hasAdminCapability('manage-survey', false)
- const canDisplayScriptLogMenu = hasFeature('saas') && hasAdminCapability('view-script-log', false) && canDisplayAdminMenu - const canDisplayScriptLogMenu = hasFeature('saas') && hasAdminCapability('view-script-log', false) && canDisplayAdminMenu

View File

@@ -30,7 +30,7 @@ nav.navbar.navbar-default.navbar-main.navbar-expand-lg(
- var canDisplayAdminMenu = hasAdminAccess() - var canDisplayAdminMenu = hasAdminAccess()
- var canDisplayAdminRedirect = canRedirectToAdminDomain() - var canDisplayAdminRedirect = canRedirectToAdminDomain()
- var canDisplayProjectUrlLookup = hasFeature('saas') && canDisplayAdminMenu && hasAdminCapability('view-project-setting', false) - var canDisplayProjectUrlLookup = settings.adminPrivilegeAvailable && 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 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 canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu && hasAdminCapability('manage-survey', false)
- var canDisplayScriptLogMenu = hasFeature('saas') && hasAdminCapability('view-script-log', false) && canDisplayAdminMenu - var canDisplayScriptLogMenu = hasFeature('saas') && hasAdminCapability('view-script-log', false) && canDisplayAdminMenu

View File

@@ -45,7 +45,7 @@ export default function AdminMenu({
) : null} ) : null}
{canDisplayProjectUrlLookup ? ( {canDisplayProjectUrlLookup ? (
<NavDropdownLinkItem href="/admin/project"> <NavDropdownLinkItem href="/admin/project">
Project URL lookup Project URL Lookup
</NavDropdownLinkItem> </NavDropdownLinkItem>
) : null} ) : null}
{canDisplayAdminRedirect && adminUrl ? ( {canDisplayAdminRedirect && adminUrl ? (