Files
overleaf-cep/services/web/app/views/user_membership/group-members-react.pug
T
Antoine Clausse 40772ef819 [web] Add admin permissions modify-group-member and modify-managed-group-member (#27665)
* Add capability `modify-managed-group-member` & `modify-group-member`

* Check `modify-managed-group-member` & `modify-group-member` (backend)

* Check `modify-managed-group-member` & `modify-group-member` (frontend)

* Update tests

* Update with `ol-hasWriteAccess` flag

* Update tests

* Move functions to AdminAuthorizationHelper.js

* Update import to fix build error

* Add `ol-hasWriteAccess` to types

* Use `hasAdminAccess()` instead of `req?.user?.isAdmin`

* Add tests on `/manage/groups/:id/invites` depending on admin roles

* Reuse `UserMembershipAuthorization.hasAdminCapability`

* Fix: Add entityAccess check

* Update unit test

* Rename `hasAdminGroupMemberCapability` to `hasModifyGroupMemberCapability`

* Remove useless and redundant `hasWriteAccess` check

* Restore stub in afterEach

GitOrigin-RevId: 4b6d83751121b43d4c19d0dbd82a4833cf7a6f24
2025-08-15 08:05:57 +00:00

38 lines
1.2 KiB
Plaintext

extends ../layout-react
block entrypointVar
- entrypoint = 'pages/user/subscription/group-management/group-members'
block append meta
- var hasWriteAccess = entityAccess || (hasAdminAccess() && hasAdminCapability(managedUsersActive ? 'modify-managed-group-member' : 'modify-group-member')) || (getSessionUser().staffAccess && getSessionUser().staffAccess.groupManagement)
meta(name='ol-user' data-type='json' content=user)
meta(name='ol-users' data-type='json' content=users)
meta(name='ol-groupId' data-type='string' content=groupId)
meta(name='ol-groupName' data-type='string' content=name)
meta(name='ol-groupSize' data-type='number' content=groupSize)
meta(name='ol-hasWriteAccess' data-type='boolean' content=hasWriteAccess)
meta(
name='ol-managedUsersActive'
data-type='boolean'
content=managedUsersActive
)
meta(
name='ol-isUserGroupManager'
data-type='boolean'
content=isUserGroupManager
)
meta(name='ol-groupSSOActive' data-type='boolean' content=groupSSOActive)
meta(
name='ol-canUseFlexibleLicensing'
data-type='boolean'
content=canUseFlexibleLicensing
)
meta(
name='ol-canUseAddSeatsFeature'
data-type='boolean'
content=canUseAddSeatsFeature
)
block content
main#subscription-manage-group-root.content.content-alt