diff --git a/packages/strapi-admin/admin/src/containers/LeftMenu/index.js b/packages/strapi-admin/admin/src/containers/LeftMenu/index.js index 968864d53a..af4a861acd 100644 --- a/packages/strapi-admin/admin/src/containers/LeftMenu/index.js +++ b/packages/strapi-admin/admin/src/containers/LeftMenu/index.js @@ -116,15 +116,12 @@ const LeftMenu = forwardRef(({ version, plugins }, ref) => { getModels, })); - // console.log({ generalSectionLinks }); - useEffect(() => { const getLinksPermissions = async () => { const generalSectionLinksArrayOfPromises = generateArrayOfPromises(generalSectionLinks); const pluginsSectionLinksArrayOfPromises = generateArrayOfPromises(pluginsSectionLinks); await getModels(); - // TODO check permissions form models const generalSectionResults = await Promise.all(generalSectionLinksArrayOfPromises); const pluginsSectionResults = await Promise.all(pluginsSectionLinksArrayOfPromises); diff --git a/packages/strapi-admin/admin/src/containers/SettingsPage/index.js b/packages/strapi-admin/admin/src/containers/SettingsPage/index.js index f5b3d8d762..8de06a9b33 100644 --- a/packages/strapi-admin/admin/src/containers/SettingsPage/index.js +++ b/packages/strapi-admin/admin/src/containers/SettingsPage/index.js @@ -57,7 +57,7 @@ function SettingsPage() { [pluginsGlobalLinks] ); - const pluginsLinksRoute = useMemo(() => { + const pluginsLinksRoutes = useMemo(() => { return menu.reduce((acc, current) => { if (current.id === 'global') { return acc; @@ -126,7 +126,7 @@ function SettingsPage() { {createdRoutes} - {pluginsLinksRoute} + {pluginsLinksRoutes} diff --git a/packages/strapi-admin/admin/src/hooks/useSettingsMenu/index.js b/packages/strapi-admin/admin/src/hooks/useSettingsMenu/index.js index 685454b577..3fa2866d77 100644 --- a/packages/strapi-admin/admin/src/hooks/useSettingsMenu/index.js +++ b/packages/strapi-admin/admin/src/hooks/useSettingsMenu/index.js @@ -1,17 +1,15 @@ import { useContext, useEffect, useReducer } from 'react'; -import { useIntl } from 'react-intl'; import { useGlobalContext, hasPermissions, UserContext } from 'strapi-helper-plugin'; import reducer, { initialState } from './reducer'; import init from './init'; const useSettingsMenu = () => { - const { formatMessage } = useIntl(); const permissions = useContext(UserContext); - const { plugins, settingsBaseURL } = useGlobalContext(); + const { plugins } = useGlobalContext(); const [{ isLoading, menu }, dispatch] = useReducer(reducer, initialState, () => - init(initialState, plugins, formatMessage, settingsBaseURL) + init(initialState, plugins) ); useEffect(() => { diff --git a/packages/strapi-admin/admin/src/hooks/useSettingsMenu/init.js b/packages/strapi-admin/admin/src/hooks/useSettingsMenu/init.js index edcec85897..e41e092d97 100644 --- a/packages/strapi-admin/admin/src/hooks/useSettingsMenu/init.js +++ b/packages/strapi-admin/admin/src/hooks/useSettingsMenu/init.js @@ -1,21 +1,22 @@ import { retrieveGlobalLinks, retrievePluginsMenu, sortLinks } from '../../utils'; +import { SETTINGS_BASE_URL } from '../../config'; import formatLinks from './utils/formatLinks'; -const init = (initialState, plugins, formatMessage, settingsBaseURL) => { +const init = (initialState, plugins) => { // Retrieve the links that will be injected into the global section const pluginsGlobalLinks = retrieveGlobalLinks(plugins); // Sort the links by name const sortedGlobalLinks = sortLinks([ { - title: formatMessage({ id: 'Settings.webhooks.title' }), - to: `${settingsBaseURL}/webhooks`, + title: { id: 'Settings.webhooks.title' }, + to: `${SETTINGS_BASE_URL}/webhooks`, name: 'webhooks', isDisplayed: false, permissions: [ - { action: 'admin::webhook.create', subject: null }, - { action: 'admin::webhook.read', subject: null }, - { action: 'admin::webhook.update', subject: null }, - { action: 'admin::webhook.delete', subject: null }, + { action: 'admin::webhooks.create', subject: null }, + { action: 'admin::webhooks.read', subject: null }, + { action: 'admin::webhooks.update', subject: null }, + { action: 'admin::webhooks.delete', subject: null }, ], }, ...pluginsGlobalLinks, @@ -35,8 +36,8 @@ const init = (initialState, plugins, formatMessage, settingsBaseURL) => { title: 'Settings.permissions', links: [ { - title: formatMessage({ id: 'Settings.permissions.menu.link.roles.label' }), - to: `${settingsBaseURL}/roles`, + title: { id: 'Settings.permissions.menu.link.roles.label' }, + to: `${SETTINGS_BASE_URL}/roles`, name: 'roles', isDisplayed: false, permissions: [ @@ -47,9 +48,9 @@ const init = (initialState, plugins, formatMessage, settingsBaseURL) => { ], }, { - title: formatMessage({ id: 'Settings.permissions.menu.link.users.label' }), + title: { id: 'Settings.permissions.menu.link.users.label' }, // Init the search params directly - to: `${settingsBaseURL}/users?pageSize=10&page=1&_sort=firstname%3AASC`, + to: `${SETTINGS_BASE_URL}/users?pageSize=10&page=1&_sort=firstname%3AASC`, name: 'users', isDisplayed: false, permissions: [ diff --git a/packages/strapi-admin/admin/src/hooks/useSettingsMenu/utils/tests/formatLinks.test.js b/packages/strapi-admin/admin/src/hooks/useSettingsMenu/utils/tests/formatLinks.test.js new file mode 100644 index 0000000000..16df23f4aa --- /dev/null +++ b/packages/strapi-admin/admin/src/hooks/useSettingsMenu/utils/tests/formatLinks.test.js @@ -0,0 +1,30 @@ +import formatLinks from '../formatLinks'; + +describe('ADMIN | hooks | useSettingsMenu | utils | formatLinks', () => { + it('should add the isDisplayed key to all sections links', () => { + const menu = [ + { + links: [{ name: 'link 1' }, { name: 'link 2' }], + }, + { + links: [{ name: 'link 3' }, { name: 'link 4' }], + }, + ]; + const expected = [ + { + links: [ + { name: 'link 1', isDisplayed: false }, + { name: 'link 2', isDisplayed: false }, + ], + }, + { + links: [ + { name: 'link 3', isDisplayed: false }, + { name: 'link 4', isDisplayed: false }, + ], + }, + ]; + + expect(formatLinks(menu)).toEqual(expected); + }); +}); diff --git a/packages/strapi-admin/admin/src/utils/fakePermissionsData.js b/packages/strapi-admin/admin/src/utils/fakePermissionsData.js index 62805f4a8a..a851280c1b 100644 --- a/packages/strapi-admin/admin/src/utils/fakePermissionsData.js +++ b/packages/strapi-admin/admin/src/utils/fakePermissionsData.js @@ -248,38 +248,38 @@ const data = { // }, // Admin webhooks - // { - // action: 'admin::webhooks.create', - // subject: null, - // fields: null, - // conditions: [], - // }, - // { - // action: 'admin::webhooks.read', - // subject: null, - // fields: null, - // conditions: [], - // }, - // { - // action: 'admin::webhooks.update', - // subject: null, - // fields: null, - // conditions: [], - // }, - // { - // action: 'admin::webhooks.delete', - // subject: null, - // fields: null, - // conditions: [], - // }, + { + action: 'admin::webhooks.create', + subject: null, + fields: null, + conditions: [], + }, + { + action: 'admin::webhooks.read', + subject: null, + fields: null, + conditions: [], + }, + { + action: 'admin::webhooks.update', + subject: null, + fields: null, + conditions: [], + }, + { + action: 'admin::webhooks.delete', + subject: null, + fields: null, + conditions: [], + }, // // Admin users - // { - // action: 'admin::users.create', - // subject: null, - // fields: null, - // conditions: [], - // }, + { + action: 'admin::users.create', + subject: null, + fields: null, + conditions: [], + }, // { // action: 'admin::users.read', // subject: null, diff --git a/packages/strapi-plugin-upload/admin/src/index.js b/packages/strapi-plugin-upload/admin/src/index.js index 6e1f920fd0..b46017a7c4 100644 --- a/packages/strapi-plugin-upload/admin/src/index.js +++ b/packages/strapi-plugin-upload/admin/src/index.js @@ -55,8 +55,6 @@ export default strapi => { }, ], }, - - mainComponent: SettingsPage, }, trads, menu: {