mirror of
https://github.com/gristlabs/grist-core.git
synced 2026-03-02 04:09:24 +00:00
(core) allow non-owners to remove themselves from sites/workspaces/docs
Summary: For users who cannot otherwise change access to a resource, let them remove themselves. Implemented via the standard endpoints as a special exception that will process a request from a user that would otherwise be denied, if the only contents of that request are a removal of themselves. Users who can change access are still not permitted to change their own permissions or to remove themselves, as a precaution against orphaning resources. Test Plan: extended and updated tests Reviewers: cyprien Reviewed By: cyprien Subscribers: dsagal Differential Revision: https://phab.getgrist.com/D3367
This commit is contained in:
@@ -204,7 +204,8 @@ function workspaceMenu(home: HomeModel, ws: Workspace, renaming: Observable<Work
|
||||
permissionData: api.getWorkspaceAccess(ws.id),
|
||||
activeEmail: user ? user.email : null,
|
||||
resourceType: 'workspace',
|
||||
resourceId: ws.id
|
||||
resourceId: ws.id,
|
||||
resource: ws,
|
||||
});
|
||||
}
|
||||
|
||||
@@ -217,8 +218,8 @@ function workspaceMenu(home: HomeModel, ws: Workspace, renaming: Observable<Work
|
||||
upgradableMenuItem(needUpgrade, deleteWorkspace, "Delete",
|
||||
dom.cls('disabled', user => !roles.canEdit(ws.access)),
|
||||
testId('dm-delete-workspace')),
|
||||
upgradableMenuItem(needUpgrade, manageWorkspaceUsers, "Manage Users",
|
||||
dom.cls('disabled', !roles.canEditAccess(ws.access)),
|
||||
upgradableMenuItem(needUpgrade, manageWorkspaceUsers,
|
||||
roles.canEditAccess(ws.access) ? "Manage Users" : "Access Details",
|
||||
testId('dm-workspace-access')),
|
||||
upgradeText(needUpgrade),
|
||||
];
|
||||
|
||||
Reference in New Issue
Block a user