diff options
author | Lauri Ojansivu <x@xet7.org> | 2017-12-02 21:02:21 +0200 |
---|---|---|
committer | Lauri Ojansivu <x@xet7.org> | 2017-12-02 21:02:21 +0200 |
commit | fcf7c02c699ed0d55de63b00ae6968eefa3364f4 (patch) | |
tree | e320b2a79a1cfddb310b2c526302d81bddf171bc | |
parent | 54036fd7a3ac9bf25b6c601890491af66571d5ff (diff) | |
parent | 3a391d5539aff500e4f6a438fd4c9bc4d19a1ec4 (diff) | |
download | wekan-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.md | 8 | ||||
-rw-r--r-- | client/components/settings/peopleBody.jade | 7 | ||||
-rw-r--r-- | client/components/settings/peopleBody.js | 14 | ||||
-rw-r--r-- | models/users.js | 7 |
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) { |