From fa7d9064945b72cb53830100fbcfd9ef3a526b4c Mon Sep 17 00:00:00 2001 From: soupette Date: Wed, 3 Jun 2020 17:26:25 +0200 Subject: [PATCH] Fix batch-delete Signed-off-by: soupette --- .../admin/ee/containers/Roles/ListPage/RoleRow.js | 6 +----- .../admin/ee/containers/Roles/ListPage/index.js | 12 +++++++++++- packages/strapi-admin/admin/src/translations/en.json | 1 + 3 files changed, 13 insertions(+), 6 deletions(-) diff --git a/packages/strapi-admin/admin/ee/containers/Roles/ListPage/RoleRow.js b/packages/strapi-admin/admin/ee/containers/Roles/ListPage/RoleRow.js index 185a63354e..85ca08ac1f 100644 --- a/packages/strapi-admin/admin/ee/containers/Roles/ListPage/RoleRow.js +++ b/packages/strapi-admin/admin/ee/containers/Roles/ListPage/RoleRow.js @@ -14,11 +14,7 @@ const RoleRow = ({ role, onRoleToggle, onRoleDuplicate, onRoleRemove, selectedRo const handleRoleSelection = e => { e.stopPropagation(); - if (role.usersCount) { - strapi.notification.info('Roles.ListPage.notification.delete-not-allowed'); - } else { - onRoleToggle(role.id); - } + onRoleToggle(role.id); }; const handleClickDelete = () => { diff --git a/packages/strapi-admin/admin/ee/containers/Roles/ListPage/index.js b/packages/strapi-admin/admin/ee/containers/Roles/ListPage/index.js index c40f94214b..88c950c47d 100644 --- a/packages/strapi-admin/admin/ee/containers/Roles/ListPage/index.js +++ b/packages/strapi-admin/admin/ee/containers/Roles/ListPage/index.js @@ -53,10 +53,20 @@ const RoleListPage = () => { const handleConfirmDeleteData = async () => { try { + const filteredRoles = selectedRoles.filter(currentId => { + const currentRole = roles.find(role => role.id === currentId); + + return currentRole.usersCount === 0; + }); + + if (selectedRoles.length !== filteredRoles.length) { + strapi.notification.info('Roles.ListPage.notification.delete-all-not-allowed'); + } + await request('/admin/roles/batch-delete', { method: 'POST', body: { - ids: selectedRoles, + ids: filteredRoles, }, }); diff --git a/packages/strapi-admin/admin/src/translations/en.json b/packages/strapi-admin/admin/src/translations/en.json index a06738cb1c..e038ce70f5 100644 --- a/packages/strapi-admin/admin/src/translations/en.json +++ b/packages/strapi-admin/admin/src/translations/en.json @@ -345,6 +345,7 @@ "app.containers.AuthPage.ForgotPasswordSuccess.text.contact-admin": "If you do not receive this link, please contact your administrator.", "app.containers.AuthPage.ForgotPasswordSuccess.title": "Email sent", "Roles.ListPage.notification.delete-not-allowed": "A role cannot be deleted if associated with users", + "Roles.ListPage.notification.delete-all-not-allowed": "Some roles could not be deleted since they are associated with users", "Roles.RoleRow.user-count.plural": "{number} users", "Roles.RoleRow.user-count.singular": "{number} user", "Roles.components.List.empty.withSearch": "There is no role corresponding to the search ({search})..."