From 102633ff77ef501efaa5ead3a138493de6a4564c Mon Sep 17 00:00:00 2001 From: soupette Date: Wed, 1 Jul 2020 15:29:08 +0200 Subject: [PATCH] Fix edit super admin role for ce Signed-off-by: soupette --- .../Roles/EditPage/utils/getInitialValues.js | 8 ++++++++ .../src/components/Roles/RoleForm/RoleForm.js | 2 +- .../admin/src/containers/Roles/EditPage/index.js | 14 +++++++------- .../Roles/EditPage/utils/getInitialValues.js | 7 +++++++ 4 files changed, 23 insertions(+), 8 deletions(-) create mode 100644 packages/strapi-admin/admin/ee/containers/Roles/EditPage/utils/getInitialValues.js create mode 100644 packages/strapi-admin/admin/src/containers/Roles/EditPage/utils/getInitialValues.js diff --git a/packages/strapi-admin/admin/ee/containers/Roles/EditPage/utils/getInitialValues.js b/packages/strapi-admin/admin/ee/containers/Roles/EditPage/utils/getInitialValues.js new file mode 100644 index 0000000000..59c49c31fe --- /dev/null +++ b/packages/strapi-admin/admin/ee/containers/Roles/EditPage/utils/getInitialValues.js @@ -0,0 +1,8 @@ +const getInitialValues = role => { + return { + name: role.name, + description: role.description, + }; +}; + +export default getInitialValues; diff --git a/packages/strapi-admin/admin/src/components/Roles/RoleForm/RoleForm.js b/packages/strapi-admin/admin/src/components/Roles/RoleForm/RoleForm.js index 3e70b9ac4c..943d00ace4 100644 --- a/packages/strapi-admin/admin/src/components/Roles/RoleForm/RoleForm.js +++ b/packages/strapi-admin/admin/src/components/Roles/RoleForm/RoleForm.js @@ -53,7 +53,7 @@ const RoleForm = ({ role, values, errors, onChange, onBlur, isLoading }) => { type="text" error={errors.name ? { id: errors.name } : null} onBlur={onBlur} - value={values.name} + value={values.name || role.name} onChange={onChange} /> diff --git a/packages/strapi-admin/admin/src/containers/Roles/EditPage/index.js b/packages/strapi-admin/admin/src/containers/Roles/EditPage/index.js index 62e659fc82..881d15f0f9 100644 --- a/packages/strapi-admin/admin/src/containers/Roles/EditPage/index.js +++ b/packages/strapi-admin/admin/src/containers/Roles/EditPage/index.js @@ -1,4 +1,4 @@ -import React, { useState, useRef } from 'react'; +import React, { useMemo, useState, useRef } from 'react'; import { useRouteMatch, useHistory } from 'react-router-dom'; import { isEmpty } from 'lodash'; import { useGlobalContext, request } from 'strapi-helper-plugin'; @@ -6,6 +6,7 @@ import { Header } from '@buffetjs/custom'; import { Padded } from '@buffetjs/core'; import { Formik } from 'formik'; import { useIntl } from 'react-intl'; +import getInitialValues from 'ee_else_ce/containers/Roles/EditPage/utils/getInitialValues'; import BaselineAlignement from '../../../components/BaselineAlignement'; import PageTitle from '../../../components/SettingsPageTitle'; import ContainerFluid from '../../../components/ContainerFluid'; @@ -27,7 +28,9 @@ const EditPage = () => { const { isLoading: isLayoutLoading, data: permissionsLayout } = useFetchPermissionsLayout(id); const { role, permissions: rolePermissions, isLoading: isRoleLoading } = useFetchRole(id); - + const initialValues = useMemo(() => { + return getInitialValues(role); + }, [role]); /* eslint-disable indent */ const headerActions = (handleSubmit, handleReset) => isLayoutLoading && isRoleLoading @@ -67,7 +70,7 @@ const EditPage = () => { body: data, }); - if (!isEmpty(permissionsToSend)) { + if (role.code !== 'strapi-super-admin' && !isEmpty(permissionsToSend)) { await request(`/admin/roles/${id}/permissions`, { method: 'PUT', body: { @@ -92,10 +95,7 @@ const EditPage = () => { { + return { + description: role.description, + }; +}; + +export default getInitialValues;