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, patch: true,
}) })
.catch(err => { .catch(err => {
const field = _.last(_.words(err.detail.split('=')[0])); if (err && err.detail) {
const error = { message: `This ${field} is already taken`, field }; 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 => { update: async ctx => {
const values = ctx.request.body; 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) { if (values.password) {
values.password = await strapi.plugins[ values.password = await strapi.plugins[
'users-permissions' 'users-permissions'
@ -142,7 +150,7 @@ module.exports = {
const data = await strapi.admin const data = await strapi.admin
.queries('administrator', 'admin') .queries('administrator', 'admin')
.update(Object.assign({}, ctx.params, values)); .update(ctx.params, values);
// Send 200 `ok` // Send 200 `ok`
ctx.send(data); ctx.send(data);