From 4ed38d62f533b2ca9710269ae0bdc2b02d7bf182 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Pfeuffer?= Date: Tue, 18 Jan 2022 09:51:04 +0100 Subject: [PATCH] Keep user/group selection in permissions dialog (#1919) In the dialog to add permissions for a repository, this will keep the selection whether to add a user or a group after a new entry has been added. --- gradle/changelog/keep_user_group_selection.yaml | 2 ++ .../permissions/containers/CreatePermissionForm.tsx | 9 +++++++-- 2 files changed, 9 insertions(+), 2 deletions(-) create mode 100644 gradle/changelog/keep_user_group_selection.yaml diff --git a/gradle/changelog/keep_user_group_selection.yaml b/gradle/changelog/keep_user_group_selection.yaml new file mode 100644 index 0000000000..caed050bd9 --- /dev/null +++ b/gradle/changelog/keep_user_group_selection.yaml @@ -0,0 +1,2 @@ +- type: changed + description: Keeps the selection whether to add a user or a group in the repository permission dialog ([#1919](https://github.com/scm-manager/scm-manager/pull/1919)) diff --git a/scm-ui/ui-webapp/src/repos/permissions/containers/CreatePermissionForm.tsx b/scm-ui/ui-webapp/src/repos/permissions/containers/CreatePermissionForm.tsx index b6549028c9..6e3a032f99 100644 --- a/scm-ui/ui-webapp/src/repos/permissions/containers/CreatePermissionForm.tsx +++ b/scm-ui/ui-webapp/src/repos/permissions/containers/CreatePermissionForm.tsx @@ -77,7 +77,7 @@ const CreatePermissionForm: FC = ({ }) => { const initialPermissionState = { name: "", - role: availableRoles[0].name, + role: "READ", verbs: [], groupPermission: false, valid: false @@ -88,7 +88,12 @@ const CreatePermissionForm: FC = ({ const [permission, setPermission] = useState(initialPermissionState); const [t] = useTranslation("repos"); useEffect(() => { - setPermission(initialPermissionState); + setPermission({ + ...initialPermissionState, + groupPermission: createdPermission ? createdPermission.groupPermission : initialPermissionState.groupPermission, + role: createdPermission ? createdPermission.role : initialPermissionState.role, + verbs: createdPermission ? createdPermission?.verbs : initialPermissionState.verbs + }); //eslint-disable-next-line }, [createdPermission]); const selectedVerbs = permission.role ? findVerbsForRole(availableRoles, permission.role) : permission.verbs;