diff --git a/packages/core/admin/admin/src/content-manager/components/DynamicZone/components/DynamicComponent.js b/packages/core/admin/admin/src/content-manager/components/DynamicZone/components/DynamicComponent.js index 254b906e1e..62300748e1 100644 --- a/packages/core/admin/admin/src/content-manager/components/DynamicZone/components/DynamicComponent.js +++ b/packages/core/admin/admin/src/content-manager/components/DynamicZone/components/DynamicComponent.js @@ -73,7 +73,7 @@ const DynamicZoneComponent = ({ const mainField = get(modifiedData, [name, index, mainFieldKey]) ?? ''; - const displayedValue = mainFieldKey === 'id' ? '' : mainField.trim(); + const displayedValue = mainFieldKey === 'id' ? '' : String(mainField).trim(); const mainValue = displayedValue.length > 0 ? ` - ${displayedValue}` : displayedValue; diff --git a/packages/core/admin/admin/src/content-manager/components/EditViewDataManagerProvider/utils/findLeafByPathAndReplace.js b/packages/core/admin/admin/src/content-manager/components/EditViewDataManagerProvider/utils/findLeafByPathAndReplace.js index 6451ff82c2..cdb7ffd7b9 100644 --- a/packages/core/admin/admin/src/content-manager/components/EditViewDataManagerProvider/utils/findLeafByPathAndReplace.js +++ b/packages/core/admin/admin/src/content-manager/components/EditViewDataManagerProvider/utils/findLeafByPathAndReplace.js @@ -24,7 +24,8 @@ export const findLeafByPathAndReplace = (endpath, replaceWith) => { * and the current path is not undefined in the accumulator * then we assume it's a leaf and we can replace it. */ - if (endpath === curr && acc[curr] !== undefined) { + + if (ind === currentArr.length - 1 && endpath === curr && acc[curr] !== undefined) { set(acc, curr, replaceWith); return acc; diff --git a/packages/core/admin/admin/src/content-manager/components/EditViewDataManagerProvider/utils/tests/findLeafByPathAndReplace.test.js b/packages/core/admin/admin/src/content-manager/components/EditViewDataManagerProvider/utils/tests/findLeafByPathAndReplace.test.js index 6f548c716e..31a17ae470 100644 --- a/packages/core/admin/admin/src/content-manager/components/EditViewDataManagerProvider/utils/tests/findLeafByPathAndReplace.test.js +++ b/packages/core/admin/admin/src/content-manager/components/EditViewDataManagerProvider/utils/tests/findLeafByPathAndReplace.test.js @@ -122,4 +122,34 @@ describe('findLeafByPathAndReplace', () => { }, }); }); + + it('should only replace the leaf if it is the last item in the array of paths', () => { + const obj = { + a: { + a: [ + { + a: 'd', + }, + ], + }, + }; + + const path = ['a', 'a', 'a']; + + const [lastPath] = path.slice(-1); + + const findLeaf = findLeafByPathAndReplace(lastPath, []); + + path.reduce(findLeaf, obj); + + expect(obj).toMatchObject({ + a: { + a: [ + { + a: [], + }, + ], + }, + }); + }); }); diff --git a/packages/core/admin/server/routes/roles.js b/packages/core/admin/server/routes/roles.js index c7f7e86efa..991e0b77f0 100644 --- a/packages/core/admin/server/routes/roles.js +++ b/packages/core/admin/server/routes/roles.js @@ -1,14 +1,6 @@ 'use strict'; module.exports = [ - { - method: 'POST', - path: '/users/batch-delete', - handler: 'user.deleteMany', - config: { - policies: [{ name: 'admin::hasPermissions', config: { actions: ['admin::users.delete'] } }], - }, - }, { method: 'GET', path: '/roles/:id/permissions',