[web] Update admin permissions to view/modify project contents (#28162)
* Split capability definitions `modify-project`/`view-project` into `modify-project-content`/`modify-project-setting`/`view-project-content`/`view-project-setting` * Add admin capabilities check in AuthorizationManager * Update checks in router * Update frontend checks * Remove UI elements for admins without `view-project-content` * Update tests * Remove `modify-project-content` from the roles' capabilities * Update tests * Add "with admin roles" tests in AuthorizationTests.mjs GitOrigin-RevId: 3311bcb2da792968927b5b3703b24e069d0baf5b
This commit is contained in:
@@ -709,13 +709,13 @@ function testPermission(permission, privilegeLevels) {
|
||||
})
|
||||
expectPermission(permission, false)
|
||||
})
|
||||
describe('admin with `view-project`', function () {
|
||||
describe('admin with `view-project-content`', function () {
|
||||
beforeEach(function () {
|
||||
this.user.isAdmin = true
|
||||
this.settings.adminRolesEnabled = true
|
||||
this.Modules.promises.hooks.fire
|
||||
.withArgs('getAdminCapabilities')
|
||||
.resolves([['view-project']])
|
||||
.resolves([['view-project-content']])
|
||||
})
|
||||
expectPermission(permission, privilegeLevels.readOnly || false)
|
||||
})
|
||||
@@ -725,7 +725,14 @@ function testPermission(permission, privilegeLevels) {
|
||||
this.settings.adminRolesEnabled = true
|
||||
this.Modules.promises.hooks.fire
|
||||
.withArgs('getAdminCapabilities')
|
||||
.resolves([['view-project', 'modify-project']])
|
||||
.resolves([
|
||||
[
|
||||
'view-project-content',
|
||||
'view-project-setting',
|
||||
'modify-project-content',
|
||||
'modify-project-setting',
|
||||
],
|
||||
])
|
||||
})
|
||||
expectPermission(permission, privilegeLevels.siteAdmin || false)
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user