summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLauri Ojansivu <x@xet7.org>2017-12-02 21:02:21 +0200
committerLauri Ojansivu <x@xet7.org>2017-12-02 21:02:21 +0200
commitfcf7c02c699ed0d55de63b00ae6968eefa3364f4 (patch)
treee320b2a79a1cfddb310b2c526302d81bddf171bc
parent54036fd7a3ac9bf25b6c601890491af66571d5ff (diff)
parent3a391d5539aff500e4f6a438fd4c9bc4d19a1ec4 (diff)
downloadwekan-fcf7c02c699ed0d55de63b00ae6968eefa3364f4.tar.gz
wekan-fcf7c02c699ed0d55de63b00ae6968eefa3364f4.tar.bz2
wekan-fcf7c02c699ed0d55de63b00ae6968eefa3364f4.zip
Merge branch 'thuanpq-allow-changing-user-password-in-admin-panel' into devel
Change password of any user in Standalone Wekan Admin Panel. Thanks to thuanpq !
-rw-r--r--CHANGELOG.md8
-rw-r--r--client/components/settings/peopleBody.jade7
-rw-r--r--client/components/settings/peopleBody.js14
-rw-r--r--models/users.js7
4 files changed, 27 insertions, 9 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md
index a63c8a7b..ec2ecaf0 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,11 @@
+# Upcoming Wekan release
+
+This release adds the following new features:
+
+* [Change password of any user in Standalone Wekan Admin Panel](https://github.com/wekan/wekan/pull/1372).
+
+Thanks to GitHub user thuanpq for contributions.
+
# v0.60 2017-11-29 Wekan release
This release adds the following new features:
diff --git a/client/components/settings/peopleBody.jade b/client/components/settings/peopleBody.jade
index d6568720..a3506a24 100644
--- a/client/components/settings/peopleBody.jade
+++ b/client/components/settings/peopleBody.jade
@@ -68,9 +68,6 @@ template(name="editUserPopup")
| {{_ 'error-username-taken'}}
input.js-profile-username(type="text" value=user.username)
label
- | {{_ 'initials'}}
- input.js-profile-initials(type="text" value=user.profile.initials)
- label
| {{_ 'email'}}
span.error.hide.email-taken
| {{_ 'error-email-taken'}}
@@ -85,5 +82,9 @@ template(name="editUserPopup")
select.select-active.js-profile-isactive
option(value="false") {{_ 'yes'}}
option(value="true" selected="{{user.loginDisabled}}") {{_ 'no'}}
+ hr
+ label
+ | {{_ 'password'}}
+ input.js-profile-password(type="password")
input.primary.wide(type="submit" value="{{_ 'save'}}")
diff --git a/client/components/settings/peopleBody.js b/client/components/settings/peopleBody.js
index d0da60d0..7cc992f2 100644
--- a/client/components/settings/peopleBody.js
+++ b/client/components/settings/peopleBody.js
@@ -87,24 +87,26 @@ Template.editUserPopup.events({
const user = Users.findOne(this.userId);
const fullname = tpl.find('.js-profile-fullname').value.trim();
const username = tpl.find('.js-profile-username').value.trim();
- const initials = tpl.find('.js-profile-initials').value.trim();
+ const password = tpl.find('.js-profile-password').value;
const isAdmin = tpl.find('.js-profile-isadmin').value.trim();
const isActive = tpl.find('.js-profile-isactive').value.trim();
const email = tpl.find('.js-profile-email').value.trim();
- let isChangeUserName = false;
- let isChangeEmail = false;
+
+ const isChangePassword = password.length > 0;
+ const isChangeUserName = username !== user.username;
+ const isChangeEmail = email.toLowerCase() !== user.emails[0].address.toLowerCase();
Users.update(this.userId, {
$set: {
'profile.fullname': fullname,
- 'profile.initials': initials,
'isAdmin': isAdmin === 'true',
'loginDisabled': isActive === 'true',
},
});
- isChangeUserName = username !== user.username;
- isChangeEmail = email.toLowerCase() !== user.emails[0].address.toLowerCase();
+ if(isChangePassword){
+ Meteor.call('setPassword', password, this.userId);
+ }
if (isChangeUserName && isChangeEmail) {
Meteor.call('setUsernameAndEmail', username, email.toLowerCase(), this.userId, function (error) {
diff --git a/models/users.js b/models/users.js
index 11a53ce6..92cee9f6 100644
--- a/models/users.js
+++ b/models/users.js
@@ -372,6 +372,13 @@ Meteor.methods({
Meteor.call('setUsername', username, userId);
Meteor.call('setEmail', email, userId);
},
+ setPassword(newPassword, userId) {
+ check(userId, String);
+ check(newPassword, String);
+ if(Meteor.user().isAdmin){
+ Accounts.setPassword(userId, newPassword);
+ }
+ },
});
if (Meteor.isServer) {