From cefaff4c451337039e8ef4ef7af43e17f04f44a1 Mon Sep 17 00:00:00 2001 From: Aurelsicoko Date: Wed, 20 Sep 2017 18:14:18 +0200 Subject: [PATCH] Fix delete on Mongoose --- .../admin/src/containers/Edit/index.js | 1 + .../admin/src/containers/List/index.js | 2 +- .../config/queries/mongoose.js | 2 +- .../controllers/ContentManager.js | 8 +++++--- 4 files changed, 8 insertions(+), 5 deletions(-) diff --git a/packages/strapi-plugin-content-manager/admin/src/containers/Edit/index.js b/packages/strapi-plugin-content-manager/admin/src/containers/Edit/index.js index 43d3a6cd75..c25fb83f76 100644 --- a/packages/strapi-plugin-content-manager/admin/src/containers/Edit/index.js +++ b/packages/strapi-plugin-content-manager/admin/src/containers/Edit/index.js @@ -142,6 +142,7 @@ export class Edit extends React.Component { if (isEmpty(formErrors)) { this.props.editRecord(); + if (!isEmpty(this.props.location.search)) { router.push(replace(this.props.location.search, '?redirectUrl=', '')); } else { diff --git a/packages/strapi-plugin-content-manager/admin/src/containers/List/index.js b/packages/strapi-plugin-content-manager/admin/src/containers/List/index.js index 4c58900ea2..3d056fb40e 100644 --- a/packages/strapi-plugin-content-manager/admin/src/containers/List/index.js +++ b/packages/strapi-plugin-content-manager/admin/src/containers/List/index.js @@ -190,7 +190,7 @@ export class List extends React.Component { history={this.props.history} primaryKey={currentModel.primaryKey || 'id'} handleDelete={this.toggleModalWarning} - redirectUrl={`?redirectUrl=/plugins/content-manager/category/?page=${this.props.currentPage}&limit=${this.props.limit}&sort=${this.props.sort}`} + redirectUrl={`?redirectUrl=/plugins/content-manager/${this.props.currentModelName.toLowerCase()}/?page=${this.props.currentPage}&limit=${this.props.limit}&sort=${this.props.sort}`} /> ); } diff --git a/packages/strapi-plugin-content-manager/config/queries/mongoose.js b/packages/strapi-plugin-content-manager/config/queries/mongoose.js index aba290bd0b..98a0f90f19 100644 --- a/packages/strapi-plugin-content-manager/config/queries/mongoose.js +++ b/packages/strapi-plugin-content-manager/config/queries/mongoose.js @@ -175,7 +175,7 @@ module.exports = { // Delete entry. return this .remove({ - [this.primaryKey]: params[this.primaryKey] || params._id + [this.primaryKey]: params.id }); }, diff --git a/packages/strapi-plugin-content-manager/controllers/ContentManager.js b/packages/strapi-plugin-content-manager/controllers/ContentManager.js index 8c25e2228e..f5fcb6fe9d 100644 --- a/packages/strapi-plugin-content-manager/controllers/ContentManager.js +++ b/packages/strapi-plugin-content-manager/controllers/ContentManager.js @@ -87,7 +87,7 @@ module.exports = { const params = ctx.params; const response = await strapi.query(params.model).findOne({ id: params.id - }) + }); params.values = Object.keys(JSON.parse(JSON.stringify(response))).reduce((acc, current) => { const association = strapi.models[params.model].associations.filter(x => x.alias === current)[0]; @@ -100,8 +100,10 @@ module.exports = { return acc; }, {}); - // Run update to remove all relationships. - await strapi.query(params.model).update(params); + if (!_.isEmpty(params.values)) { + // Run update to remove all relationships. + await strapi.query(params.model).update(params); + } // Delete an entry using `queries` system const entryDeleted = await strapi.query(params.model).delete({