From 11afd28f358da06bc864989bba0bf1154afa7412 Mon Sep 17 00:00:00 2001 From: soupette Date: Fri, 17 Jul 2020 10:48:51 +0200 Subject: [PATCH] Allow name edition in CE Signed-off-by: soupette --- examples/getstarted/package.json | 2 ++ .../components/Roles/RoleForm/NameInput.js | 2 +- .../src/components/Roles/RoleForm/RoleForm.js | 7 ++--- .../Roles/RoleForm/utils/getNameInputValue.js | 5 ---- .../src/containers/Roles/EditPage/index.js | 14 +++++----- .../Roles/EditPage/utils/getInitialValues.js | 7 ----- .../containers/Roles/EditPage/utils/schema.js | 3 +- .../components/Roles/RoleForm/NameInput.js | 6 ---- .../Roles/RoleForm/utils/getNameInputValue.js | 5 ---- .../Roles/EditPage/utils/getInitialValues.js | 8 ------ .../containers/Roles/EditPage/utils/schema.js | 8 ------ packages/strapi-admin/ee/controllers/role.js | 28 +------------------ packages/strapi-admin/ee/validation/role.js | 13 --------- packages/strapi-admin/package.json | 3 +- packages/strapi-admin/validation/role.js | 1 + 15 files changed, 19 insertions(+), 93 deletions(-) delete mode 100644 packages/strapi-admin/admin/src/components/Roles/RoleForm/utils/getNameInputValue.js delete mode 100644 packages/strapi-admin/admin/src/containers/Roles/EditPage/utils/getInitialValues.js delete mode 100644 packages/strapi-admin/ee/admin/components/Roles/RoleForm/NameInput.js delete mode 100644 packages/strapi-admin/ee/admin/components/Roles/RoleForm/utils/getNameInputValue.js delete mode 100644 packages/strapi-admin/ee/admin/containers/Roles/EditPage/utils/getInitialValues.js delete mode 100644 packages/strapi-admin/ee/admin/containers/Roles/EditPage/utils/schema.js diff --git a/examples/getstarted/package.json b/examples/getstarted/package.json index ab62a8b656..9ef6126edd 100644 --- a/examples/getstarted/package.json +++ b/examples/getstarted/package.json @@ -5,8 +5,10 @@ "description": "A Strapi application.", "scripts": { "develop": "strapi develop", + "develop:ce": "STRAPI_DISABLE_EE=true strapi develop", "start": "strapi start", "build": "strapi build", + "build:ce": "STRAPI_DISABLE_EE=true strapi build", "strapi": "strapi" }, "dependencies": { diff --git a/packages/strapi-admin/admin/src/components/Roles/RoleForm/NameInput.js b/packages/strapi-admin/admin/src/components/Roles/RoleForm/NameInput.js index 6e806fed57..54de602c93 100644 --- a/packages/strapi-admin/admin/src/components/Roles/RoleForm/NameInput.js +++ b/packages/strapi-admin/admin/src/components/Roles/RoleForm/NameInput.js @@ -1,6 +1,6 @@ import React from 'react'; import SizedInput from '../../SizedInput'; -const NameInput = inputProps => ; +const NameInput = inputProps => ; export default NameInput; 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 da2586b8bc..719f0d981a 100644 --- a/packages/strapi-admin/admin/src/components/Roles/RoleForm/RoleForm.js +++ b/packages/strapi-admin/admin/src/components/Roles/RoleForm/RoleForm.js @@ -1,15 +1,14 @@ import React from 'react'; import { PropTypes } from 'prop-types'; import { useIntl } from 'react-intl'; -import getNameInputValue from 'ee_else_ce/components/Roles/RoleForm/utils/getNameInputValue'; -import NameInput from 'ee_else_ce/components/Roles/RoleForm/NameInput'; + +import NameInput from './NameInput'; import FormCard from '../../FormBloc'; import SizedInput from '../../SizedInput'; import ButtonWithNumber from '../ButtonWithNumber'; const RoleForm = ({ role, values, errors, onChange, onBlur, isLoading }) => { - const nameValue = getNameInputValue(values, role); const { formatMessage } = useIntl(); const actions = [ @@ -55,7 +54,7 @@ const RoleForm = ({ role, values, errors, onChange, onBlur, isLoading }) => { type="text" error={errors.name ? { id: errors.name } : null} onBlur={onBlur} - value={nameValue} + value={values.name} onChange={onChange} /> diff --git a/packages/strapi-admin/admin/src/components/Roles/RoleForm/utils/getNameInputValue.js b/packages/strapi-admin/admin/src/components/Roles/RoleForm/utils/getNameInputValue.js deleted file mode 100644 index a6dd5d31c8..0000000000 --- a/packages/strapi-admin/admin/src/components/Roles/RoleForm/utils/getNameInputValue.js +++ /dev/null @@ -1,5 +0,0 @@ -const getNameInputValue = (values, role) => { - return role.name; -}; - -export default getNameInputValue; 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 12f084a2c3..d821de2702 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, { useMemo, useState, useRef } from 'react'; +import React, { useState, useRef } from 'react'; import { useRouteMatch, useHistory } from 'react-router-dom'; import { get, isEmpty } from 'lodash'; import { useGlobalContext, request } from 'strapi-helper-plugin'; @@ -6,14 +6,13 @@ 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 schema from 'ee_else_ce/containers/Roles/EditPage/utils/schema'; import BaselineAlignement from '../../../components/BaselineAlignement'; import PageTitle from '../../../components/SettingsPageTitle'; import ContainerFluid from '../../../components/ContainerFluid'; import { Permissions, RoleForm } from '../../../components/Roles'; import { useFetchRole, useFetchPermissionsLayout } from '../../../hooks'; import { formatPermissionsToApi } from '../../../utils'; +import schema from './utils/schema'; const EditPage = () => { const { formatMessage } = useIntl(); @@ -27,9 +26,7 @@ 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 @@ -96,7 +93,10 @@ const EditPage = () => { { - return { - description: role.description, - }; -}; - -export default getInitialValues; diff --git a/packages/strapi-admin/admin/src/containers/Roles/EditPage/utils/schema.js b/packages/strapi-admin/admin/src/containers/Roles/EditPage/utils/schema.js index c4210055e5..69c1555a32 100644 --- a/packages/strapi-admin/admin/src/containers/Roles/EditPage/utils/schema.js +++ b/packages/strapi-admin/admin/src/containers/Roles/EditPage/utils/schema.js @@ -1,7 +1,8 @@ import * as yup from 'yup'; +import { translatedErrors } from 'strapi-helper-plugin'; const schema = yup.object().shape({ - name: yup.string(), + name: yup.string().required(translatedErrors.required), }); export default schema; diff --git a/packages/strapi-admin/ee/admin/components/Roles/RoleForm/NameInput.js b/packages/strapi-admin/ee/admin/components/Roles/RoleForm/NameInput.js deleted file mode 100644 index 595a55c97d..0000000000 --- a/packages/strapi-admin/ee/admin/components/Roles/RoleForm/NameInput.js +++ /dev/null @@ -1,6 +0,0 @@ -import React from 'react'; -import SizedInput from '../../../../../admin/src/components/SizedInput'; - -const NameInput = inputProps => ; - -export default NameInput; diff --git a/packages/strapi-admin/ee/admin/components/Roles/RoleForm/utils/getNameInputValue.js b/packages/strapi-admin/ee/admin/components/Roles/RoleForm/utils/getNameInputValue.js deleted file mode 100644 index 99d179481f..0000000000 --- a/packages/strapi-admin/ee/admin/components/Roles/RoleForm/utils/getNameInputValue.js +++ /dev/null @@ -1,5 +0,0 @@ -const getNameInputValue = values => { - return values.name; -}; - -export default getNameInputValue; diff --git a/packages/strapi-admin/ee/admin/containers/Roles/EditPage/utils/getInitialValues.js b/packages/strapi-admin/ee/admin/containers/Roles/EditPage/utils/getInitialValues.js deleted file mode 100644 index 59c49c31fe..0000000000 --- a/packages/strapi-admin/ee/admin/containers/Roles/EditPage/utils/getInitialValues.js +++ /dev/null @@ -1,8 +0,0 @@ -const getInitialValues = role => { - return { - name: role.name, - description: role.description, - }; -}; - -export default getInitialValues; diff --git a/packages/strapi-admin/ee/admin/containers/Roles/EditPage/utils/schema.js b/packages/strapi-admin/ee/admin/containers/Roles/EditPage/utils/schema.js deleted file mode 100644 index 69c1555a32..0000000000 --- a/packages/strapi-admin/ee/admin/containers/Roles/EditPage/utils/schema.js +++ /dev/null @@ -1,8 +0,0 @@ -import * as yup from 'yup'; -import { translatedErrors } from 'strapi-helper-plugin'; - -const schema = yup.object().shape({ - name: yup.string().required(translatedErrors.required), -}); - -export default schema; diff --git a/packages/strapi-admin/ee/controllers/role.js b/packages/strapi-admin/ee/controllers/role.js index 4ea0a06d16..bbc325813e 100644 --- a/packages/strapi-admin/ee/controllers/role.js +++ b/packages/strapi-admin/ee/controllers/role.js @@ -3,9 +3,8 @@ const { yup, formatYupErrors } = require('strapi-utils'); const { validateRoleCreateInput, - validateRoleUpdateInput, - validateRolesDeleteInput, validateRoleDeleteInput, + validateRolesDeleteInput, } = require('../validation/role'); const { validatedUpdatePermissionsInput } = require('../validation/permission'); const { SUPER_ADMIN_CODE } = require('../../services/constants'); @@ -28,31 +27,6 @@ module.exports = { ctx.created({ data: sanitizedRole }); }, - /** - * Update a role - * @param {KoaContext} ctx - koa context - */ - async update(ctx) { - const { id } = ctx.params; - - try { - await validateRoleUpdateInput(ctx.request.body, id); - } catch (err) { - return ctx.badRequest('ValidationError', err); - } - - let role = await strapi.admin.services.role.update({ id }, ctx.request.body); - if (!role) { - return ctx.notFound('Role not found'); - } - - const sanitizedRole = strapi.admin.services.role.sanitizeRole(role); - - ctx.body = { - data: sanitizedRole, - }; - }, - /** * Delete a role * @param {KoaContext} ctx - koa context diff --git a/packages/strapi-admin/ee/validation/role.js b/packages/strapi-admin/ee/validation/role.js index b68b4e0ba9..3190d1b434 100644 --- a/packages/strapi-admin/ee/validation/role.js +++ b/packages/strapi-admin/ee/validation/role.js @@ -15,14 +15,6 @@ const roleCreateSchema = yup }) .noUnknown(); -const roleUpdateSchema = yup - .object() - .shape({ - name: yup.string().min(1), - description: yup.string().nullable(), - }) - .noUnknown(); - const rolesDeleteSchema = yup .object() .shape({ @@ -52,10 +44,6 @@ const validateRoleCreateInput = async data => { return roleCreateSchema.validate(data, { strict: true, abortEarly: false }).catch(handleReject); }; -const validateRoleUpdateInput = async data => { - return roleUpdateSchema.validate(data, { strict: true, abortEarly: false }).catch(handleReject); -}; - const validateRolesDeleteInput = async data => { return rolesDeleteSchema.validate(data, { strict: true, abortEarly: false }).catch(handleReject); }; @@ -66,7 +54,6 @@ const validateRoleDeleteInput = async data => { module.exports = { validateRoleCreateInput, - validateRoleUpdateInput, validateRolesDeleteInput, validateRoleDeleteInput, }; diff --git a/packages/strapi-admin/package.json b/packages/strapi-admin/package.json index 35ca3d2cb6..ddae149d70 100644 --- a/packages/strapi-admin/package.json +++ b/packages/strapi-admin/package.json @@ -8,7 +8,8 @@ }, "scripts": { "test": "echo \"no tests yet\"", - "develop": "webpack-dev-server --config webpack.config.dev.js" + "develop": "webpack-dev-server --config webpack.config.dev.js", + "develop:ce": "STRAPI_DISABLE_EE=true webpack-dev-server --config webpack.config.dev.js" }, "main": "index.js", "dependencies": { diff --git a/packages/strapi-admin/validation/role.js b/packages/strapi-admin/validation/role.js index e3aef20d05..17b2b9d449 100644 --- a/packages/strapi-admin/validation/role.js +++ b/packages/strapi-admin/validation/role.js @@ -7,6 +7,7 @@ const handleReject = error => Promise.reject(formatYupErrors(error)); const roleUpdateSchema = yup .object() .shape({ + name: yup.string().min(1), description: yup.string().nullable(), }) .noUnknown();