Fix administrator edition

This commit is contained in:
Alexandre Bodin 2019-05-14 09:30:10 +02:00
parent 718aeccf3c
commit efa57a37fa
2 changed files with 16 additions and 5 deletions

View File

@ -85,10 +85,13 @@ module.exports = ({ model }) => ({
patch: true,
})
.catch(err => {
const field = _.last(_.words(err.detail.split('=')[0]));
const error = { message: `This ${field} is already taken`, field };
if (err && err.detail) {
const field = _.last(_.words(err.detail.split('=')[0]));
const error = { message: `This ${field} is already taken`, field };
throw error;
}
throw error;
throw err;
});
}
},
});

View File

@ -134,6 +134,14 @@ module.exports = {
update: async ctx => {
const values = ctx.request.body;
const admin = await strapi.admin
.queries('administrator', 'admin')
.findOne(ctx.params);
if (values.password === admin.password) {
delete values.password;
}
if (values.password) {
values.password = await strapi.plugins[
'users-permissions'
@ -142,7 +150,7 @@ module.exports = {
const data = await strapi.admin
.queries('administrator', 'admin')
.update(Object.assign({}, ctx.params, values));
.update(ctx.params, values);
// Send 200 `ok`
ctx.send(data);