Merge pull request #23667 from overleaf/em-read-only-label-version

Prevent read-only users from labelling a version

GitOrigin-RevId: 472e70f3860553b131f20afe3dfd01aa00bd48fa
This commit is contained in:
Eric Mc Sween 2025-02-18 08:57:42 -05:00 committed by Copybot
parent 79bb2e3d40
commit 4152d3d796
4 changed files with 15 additions and 7 deletions

View file

@ -23,21 +23,23 @@ function HistoryDropdownContent({
closeDropdownForItem(version, 'moreOptions')
}, [closeDropdownForItem, version])
const { write } = usePermissionsContext()
const permissions = usePermissionsContext()
return (
<>
<AddLabel
projectId={projectId}
version={version}
closeDropdown={closeDropdown}
/>
{permissions.labelVersion && (
<AddLabel
projectId={projectId}
version={version}
closeDropdown={closeDropdown}
/>
)}
<Download
projectId={projectId}
version={version}
closeDropdown={closeDropdown}
/>
{write && (
{permissions.write && (
<RestoreProject
projectId={projectId}
version={version}

View file

@ -21,6 +21,7 @@ const permissionsMap: DeepReadonly<Record<PermissionsLevel, Permissions>> = {
trackedWrite: false,
write: false,
admin: false,
labelVersion: false,
},
review: {
read: true,
@ -28,6 +29,7 @@ const permissionsMap: DeepReadonly<Record<PermissionsLevel, Permissions>> = {
trackedWrite: true,
write: false,
admin: false,
labelVersion: true,
},
readAndWrite: {
read: true,
@ -35,6 +37,7 @@ const permissionsMap: DeepReadonly<Record<PermissionsLevel, Permissions>> = {
trackedWrite: true,
write: true,
admin: false,
labelVersion: true,
},
owner: {
read: true,
@ -42,6 +45,7 @@ const permissionsMap: DeepReadonly<Record<PermissionsLevel, Permissions>> = {
trackedWrite: true,
write: true,
admin: true,
labelVersion: true,
},
}

View file

@ -4,6 +4,7 @@ export type Permissions = {
trackedWrite: boolean
write: boolean
admin: boolean
labelVersion: boolean
}
export type PermissionsLevel = 'owner' | 'readAndWrite' | 'review' | 'readOnly'

View file

@ -31,6 +31,7 @@ const PermissionsProvider: FC = ({ children }) => (
trackedWrite: false,
write: false,
admin: false,
labelVersion: false,
}}
>
{children}