Fix edit super admin role for ce

Signed-off-by: soupette <cyril.lpz@gmail.com>
This commit is contained in:
soupette 2020-07-01 15:29:08 +02:00 committed by Alexandre Bodin
parent 3c13a857b2
commit 102633ff77
4 changed files with 23 additions and 8 deletions

View File

@ -0,0 +1,8 @@
const getInitialValues = role => {
return {
name: role.name,
description: role.description,
};
};
export default getInitialValues;

View File

@ -53,7 +53,7 @@ const RoleForm = ({ role, values, errors, onChange, onBlur, isLoading }) => {
type="text" type="text"
error={errors.name ? { id: errors.name } : null} error={errors.name ? { id: errors.name } : null}
onBlur={onBlur} onBlur={onBlur}
value={values.name} value={values.name || role.name}
onChange={onChange} onChange={onChange}
/> />

View File

@ -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 { useRouteMatch, useHistory } from 'react-router-dom';
import { isEmpty } from 'lodash'; import { isEmpty } from 'lodash';
import { useGlobalContext, request } from 'strapi-helper-plugin'; import { useGlobalContext, request } from 'strapi-helper-plugin';
@ -6,6 +6,7 @@ import { Header } from '@buffetjs/custom';
import { Padded } from '@buffetjs/core'; import { Padded } from '@buffetjs/core';
import { Formik } from 'formik'; import { Formik } from 'formik';
import { useIntl } from 'react-intl'; import { useIntl } from 'react-intl';
import getInitialValues from 'ee_else_ce/containers/Roles/EditPage/utils/getInitialValues';
import BaselineAlignement from '../../../components/BaselineAlignement'; import BaselineAlignement from '../../../components/BaselineAlignement';
import PageTitle from '../../../components/SettingsPageTitle'; import PageTitle from '../../../components/SettingsPageTitle';
import ContainerFluid from '../../../components/ContainerFluid'; import ContainerFluid from '../../../components/ContainerFluid';
@ -27,7 +28,9 @@ const EditPage = () => {
const { isLoading: isLayoutLoading, data: permissionsLayout } = useFetchPermissionsLayout(id); const { isLoading: isLayoutLoading, data: permissionsLayout } = useFetchPermissionsLayout(id);
const { role, permissions: rolePermissions, isLoading: isRoleLoading } = useFetchRole(id); const { role, permissions: rolePermissions, isLoading: isRoleLoading } = useFetchRole(id);
const initialValues = useMemo(() => {
return getInitialValues(role);
}, [role]);
/* eslint-disable indent */ /* eslint-disable indent */
const headerActions = (handleSubmit, handleReset) => const headerActions = (handleSubmit, handleReset) =>
isLayoutLoading && isRoleLoading isLayoutLoading && isRoleLoading
@ -67,7 +70,7 @@ const EditPage = () => {
body: data, body: data,
}); });
if (!isEmpty(permissionsToSend)) { if (role.code !== 'strapi-super-admin' && !isEmpty(permissionsToSend)) {
await request(`/admin/roles/${id}/permissions`, { await request(`/admin/roles/${id}/permissions`, {
method: 'PUT', method: 'PUT',
body: { body: {
@ -92,10 +95,7 @@ const EditPage = () => {
<PageTitle name="Roles" /> <PageTitle name="Roles" />
<Formik <Formik
enableReinitialize enableReinitialize
initialValues={{ initialValues={initialValues}
name: role.name,
description: role.description,
}}
onSubmit={handleEditRoleSubmit} onSubmit={handleEditRoleSubmit}
validationSchema={schema} validationSchema={schema}
validateOnChange={false} validateOnChange={false}

View File

@ -0,0 +1,7 @@
const getInitialValues = role => {
return {
description: role.description,
};
};
export default getInitialValues;