mirror of
https://github.com/strapi/strapi.git
synced 2025-08-22 07:38:41 +00:00
Fix user update via API and content-type-builder
This commit is contained in:
parent
f9a818e49c
commit
a8c59f999a
@ -97,9 +97,9 @@ module.exports = {
|
|||||||
update: async (ctx, next) => {
|
update: async (ctx, next) => {
|
||||||
try {
|
try {
|
||||||
if (strapi.plugins['users-permissions'].config.advanced.unique_email && ctx.request.body.email) {
|
if (strapi.plugins['users-permissions'].config.advanced.unique_email && ctx.request.body.email) {
|
||||||
const user = await strapi.query('user', 'users-permissions').findOne({ email: ctx.request.body.email });
|
const users = await strapi.plugins['users-permissions'].services.user.fetchAll({ email: ctx.request.body.email });
|
||||||
|
|
||||||
if (user) {
|
if (users && _.find(users, user => (user.id || user._id).toString() !== ctx.params.id)) {
|
||||||
return ctx.badRequest(null, ctx.request.admin ? [{ messages: [{ id: 'Auth.form.error.email.taken' }] }] : 'Email is already taken.');
|
return ctx.badRequest(null, ctx.request.admin ? [{ messages: [{ id: 'Auth.form.error.email.taken' }] }] : 'Email is already taken.');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -119,7 +119,7 @@ module.exports = {
|
|||||||
email: ctx.request.body.email
|
email: ctx.request.body.email
|
||||||
});
|
});
|
||||||
|
|
||||||
if (user.id !== ctx.params.id) {
|
if ((user.id || user._id).toString() !== ctx.params.id) {
|
||||||
return ctx.badRequest(null, ctx.request.admin ? [{ messages: [{ id: 'Auth.form.error.email.taken' }] }] : 'Email is already taken.');
|
return ctx.badRequest(null, ctx.request.admin ? [{ messages: [{ id: 'Auth.form.error.email.taken' }] }] : 'Email is already taken.');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -48,6 +48,9 @@ module.exports = {
|
|||||||
|
|
||||||
// Use Content Manager business logic to handle relation.
|
// Use Content Manager business logic to handle relation.
|
||||||
if (strapi.plugins['content-manager']) {
|
if (strapi.plugins['content-manager']) {
|
||||||
|
params.model = 'user';
|
||||||
|
params.id = params._id;
|
||||||
|
|
||||||
return await strapi.plugins['content-manager'].services['contentmanager'].edit(params, values, 'users-permissions');
|
return await strapi.plugins['content-manager'].services['contentmanager'].edit(params, values, 'users-permissions');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user