mirror of
https://github.com/wekan/wekan.git
synced 2025-04-23 21:47:10 -04:00
Updated users methods to get user id from client on updating user data, is aimed to support admin update other user profile
This commit is contained in:
parent
3bead1bf78
commit
e3b7f85cc3
2 changed files with 13 additions and 12 deletions
|
@ -42,7 +42,7 @@ Template.editProfilePopup.events({
|
|||
isChangeUserName = username !== Meteor.user().username;
|
||||
isChangeEmail = email.toLowerCase() !== Meteor.user().emails[0].address.toLowerCase();
|
||||
if (isChangeUserName && isChangeEmail) {
|
||||
Meteor.call('setUsernameAndEmail', username, email.toLowerCase(), function(error) {
|
||||
Meteor.call('setUsernameAndEmail', username, email.toLowerCase(), Meteor.userId(), function (error) {
|
||||
const usernameMessageElement = tpl.$('.username-taken');
|
||||
const emailMessageElement = tpl.$('.email-taken');
|
||||
if (error) {
|
||||
|
@ -61,7 +61,7 @@ Template.editProfilePopup.events({
|
|||
}
|
||||
});
|
||||
} else if (isChangeUserName) {
|
||||
Meteor.call('setUsername', username, function(error) {
|
||||
Meteor.call('setUsername', username, Meteor.userId(), function (error) {
|
||||
const messageElement = tpl.$('.username-taken');
|
||||
if (error) {
|
||||
messageElement.show();
|
||||
|
@ -71,7 +71,7 @@ Template.editProfilePopup.events({
|
|||
}
|
||||
});
|
||||
} else if (isChangeEmail) {
|
||||
Meteor.call('setEmail', email.toLowerCase(), function(error) {
|
||||
Meteor.call('setEmail', email.toLowerCase(), Meteor.userId(), function (error) {
|
||||
const messageElement = tpl.$('.email-taken');
|
||||
if (error) {
|
||||
messageElement.show();
|
||||
|
@ -105,7 +105,7 @@ Template.editNotificationPopup.events({
|
|||
|
||||
// XXX For some reason the useraccounts autofocus isnt working in this case.
|
||||
// See https://github.com/meteor-useraccounts/core/issues/384
|
||||
Template.changePasswordPopup.onRendered(function() {
|
||||
Template.changePasswordPopup.onRendered(function () {
|
||||
this.find('#at-field-current_password').focus();
|
||||
});
|
||||
|
||||
|
@ -116,7 +116,7 @@ Template.changeLanguagePopup.helpers({
|
|||
tag: code,
|
||||
name: lang.name === 'br' ? 'Brezhoneg' : lang.name,
|
||||
};
|
||||
}).sort(function(a, b) {
|
||||
}).sort(function (a, b) {
|
||||
if (a.name === b.name) {
|
||||
return 0;
|
||||
} else {
|
||||
|
|
|
@ -325,13 +325,13 @@ Users.mutations({
|
|||
});
|
||||
|
||||
Meteor.methods({
|
||||
setUsername(username) {
|
||||
setUsername(username, userId) {
|
||||
check(username, String);
|
||||
const nUsersWithUsername = Users.find({ username }).count();
|
||||
if (nUsersWithUsername > 0) {
|
||||
throw new Meteor.Error('username-already-taken');
|
||||
} else {
|
||||
Users.update(this.userId, { $set: { username } });
|
||||
Users.update(userId, {$set: {username}});
|
||||
}
|
||||
},
|
||||
toggleSystemMessages() {
|
||||
|
@ -342,13 +342,13 @@ Meteor.methods({
|
|||
check(limit, Number);
|
||||
Meteor.user().setShowCardsCountAt(limit);
|
||||
},
|
||||
setEmail(email) {
|
||||
setEmail(email, userId) {
|
||||
check(email, String);
|
||||
const existingUser = Users.findOne({ 'emails.address': email }, { fields: { _id: 1 } });
|
||||
if (existingUser) {
|
||||
throw new Meteor.Error('email-already-taken');
|
||||
} else {
|
||||
Users.update(this.userId, {
|
||||
Users.update(userId, {
|
||||
$set: {
|
||||
emails: [{
|
||||
address: email,
|
||||
|
@ -358,11 +358,12 @@ Meteor.methods({
|
|||
});
|
||||
}
|
||||
},
|
||||
setUsernameAndEmail(username, email) {
|
||||
setUsernameAndEmail(username, email, userId) {
|
||||
check(username, String);
|
||||
check(email, String);
|
||||
Meteor.call('setUsername', username);
|
||||
Meteor.call('setEmail', email);
|
||||
check(userId, String);
|
||||
Meteor.call('setUsername', username, userId);
|
||||
Meteor.call('setEmail', email, userId);
|
||||
},
|
||||
});
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue