diff --git a/packages/strapi-admin/admin/src/containers/Admin/Wrapper.js b/packages/strapi-admin/admin/src/containers/Admin/Wrapper.js index 327b2dd0e7..dd26540a6d 100644 --- a/packages/strapi-admin/admin/src/containers/Admin/Wrapper.js +++ b/packages/strapi-admin/admin/src/containers/Admin/Wrapper.js @@ -9,8 +9,18 @@ const Wrapper = styled.div` } .adminPageRightWrapper { - width: calc(100% - #{$left-menu-width}); + width: ${props => `calc(100% - ${props.theme.main.sizes.leftMenu.width})`}; } `; +Wrapper.defaultProps = { + theme: { + main: { + sizes: { + leftMenu: {}, + }, + }, + }, +}; + export default Wrapper; diff --git a/packages/strapi-plugin-content-type-builder/admin/src/containers/ModelForm/index.js b/packages/strapi-plugin-content-type-builder/admin/src/containers/ModelForm/index.js index 50df0bfe5b..3c2374fa98 100644 --- a/packages/strapi-plugin-content-type-builder/admin/src/containers/ModelForm/index.js +++ b/packages/strapi-plugin-content-type-builder/admin/src/containers/ModelForm/index.js @@ -31,6 +31,7 @@ import IconGroup from '../../assets/icons/icon_type_groups.png'; import forms from './forms.json'; const NAVLINKS = [{ id: 'base' }, { id: 'advanced' }]; +const RESERVED_NAMES = ['admin', 'series', 'file']; class ModelForm extends React.Component { // eslint-disable-line react/prefer-stateless-function @@ -98,6 +99,12 @@ class ModelForm extends React.Component { ); let formErrors = {}; + if (RESERVED_NAMES.includes(modifiedData.name)) { + formErrors = { + name: [{ id: `${pluginId}.error.contentTypeName.reserved-name` }], + }; + } + if (alreadyTakenContentTypeNames.includes(modifiedData.name)) { formErrors = { name: [{ id: `${pluginId}.error.contentTypeName.taken` }], diff --git a/packages/strapi-plugin-content-type-builder/admin/src/translations/en.json b/packages/strapi-plugin-content-type-builder/admin/src/translations/en.json index 09ea73702a..10061f97f5 100644 --- a/packages/strapi-plugin-content-type-builder/admin/src/translations/en.json +++ b/packages/strapi-plugin-content-type-builder/admin/src/translations/en.json @@ -32,6 +32,7 @@ "error.attribute.sameKeyAndName": "Can't be equal", "error.attribute.taken": "This field name already exists", "error.contentTypeName.taken": "This name already exists", + "error.contentTypeName.reserved-name": "This name cannot be used in your project as it might break other functionnalities", "error.validation.max": "The value is too high.", "error.validation.maxLength": "The value is too long.", "error.validation.min": "The value is too low.", diff --git a/packages/strapi-plugin-content-type-builder/admin/src/translations/fr.json b/packages/strapi-plugin-content-type-builder/admin/src/translations/fr.json index 7824551f5e..c17f82422e 100644 --- a/packages/strapi-plugin-content-type-builder/admin/src/translations/fr.json +++ b/packages/strapi-plugin-content-type-builder/admin/src/translations/fr.json @@ -31,6 +31,7 @@ "error.attribute.sameKeyAndName": "Ne peuvent pas être égaux", "error.attribute.taken": "Ce champ existe déjà", "error.contentTypeName.taken": "Ce nom existe déjà", + "error.contentTypeName.reserved-name": "Ce nom ne peut être utilisé", "error.validation.max": "La valeur est trop grande.", "error.validation.maxLength": "La valeur est trop longue.", "error.validation.min": "La valeur est trop basse.",