Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/matomo-org/matomo.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordiosmosis <diosmosis@users.noreply.github.com>2018-09-02 01:59:59 +0300
committerMatthieu Aubry <mattab@users.noreply.github.com>2018-09-02 01:59:59 +0300
commit7900b65df9a8d4c12e98693c9343f2609effb2db (patch)
tree4597536861b018bcda04b906ae6e3bbcf329e267 /plugins/UsersManager
parent63e2726469d27886cb3a828a677af129e27236f7 (diff)
Show confirm before changing a users password and show notification on save complete. (#13342)
* Show confirm before changing a users password and show notification on save complete. * Do not show password confirm is password input is blank.
Diffstat (limited to 'plugins/UsersManager')
-rw-r--r--plugins/UsersManager/UsersManager.php1
-rw-r--r--plugins/UsersManager/angularjs/user-edit-form/user-edit-form.component.html15
-rw-r--r--plugins/UsersManager/angularjs/user-edit-form/user-edit-form.component.js25
-rw-r--r--plugins/UsersManager/angularjs/user-edit-form/user-edit-form.component.less10
-rw-r--r--plugins/UsersManager/lang/en.json3
5 files changed, 44 insertions, 10 deletions
diff --git a/plugins/UsersManager/UsersManager.php b/plugins/UsersManager/UsersManager.php
index 1aa72afbf4..03c1c5ff1d 100644
--- a/plugins/UsersManager/UsersManager.php
+++ b/plugins/UsersManager/UsersManager.php
@@ -280,5 +280,6 @@ class UsersManager extends \Piwik\Plugin
$translationKeys[] = 'UsersManager_SuperUserAccess';
$translationKeys[] = 'General_Warning';
$translationKeys[] = 'General_Add';
+ $translationKeys[] = 'UsersManager_AreYouSureChangePassword';
}
}
diff --git a/plugins/UsersManager/angularjs/user-edit-form/user-edit-form.component.html b/plugins/UsersManager/angularjs/user-edit-form/user-edit-form.component.html
index e21f61ab17..d614aebcd2 100644
--- a/plugins/UsersManager/angularjs/user-edit-form/user-edit-form.component.html
+++ b/plugins/UsersManager/angularjs/user-edit-form/user-edit-form.component.html
@@ -50,7 +50,7 @@
name="user_password"
ng-model="$ctrl.user.password"
title="Password"
- ng-change="$ctrl.isPasswordChanged = true;"
+ ng-change="$ctrl.isPasswordChanged = !! $ctrl.user.password;"
disabled="$ctrl.isSavingUserInfo || ($ctrl.currentUserRole != 'superuser' && !$ctrl.isAdd)"
>
</div>
@@ -142,4 +142,17 @@
</div>
</div>
</div>
+
+ <div class="change-password-modal modal">
+ <div class="modal-content">
+ <h2>{{:: 'UsersManager_AreYouSure'|translate }}</h2>
+ <p piwik-translate="UsersManager_AreYouSureChangePassword">
+ <strong>{{ $ctrl.user.login }}</strong>
+ </p>
+ </div>
+ <div class="modal-footer">
+ <a href="" class="modal-action modal-close btn" ng-click="$ctrl.updateUser()">{{:: 'General_Yes'|translate }}</a>
+ <a href="" class="modal-action modal-close modal-no">{{:: 'General_No'|translate }}</a>
+ </div>
+ </div>
</div>
diff --git a/plugins/UsersManager/angularjs/user-edit-form/user-edit-form.component.js b/plugins/UsersManager/angularjs/user-edit-form/user-edit-form.component.js
index e13f594e0d..f5bbe864ad 100644
--- a/plugins/UsersManager/angularjs/user-edit-form/user-edit-form.component.js
+++ b/plugins/UsersManager/angularjs/user-edit-form/user-edit-form.component.js
@@ -24,9 +24,9 @@
controller: UserEditFormController
});
- UserEditFormController.$inject = ['$element', 'piwikApi'];
+ UserEditFormController.$inject = ['$element', 'piwikApi', '$q'];
- function UserEditFormController($element, piwikApi) {
+ function UserEditFormController($element, piwikApi, $q) {
var vm = this;
vm.activeTab = 'basic';
vm.permissionsForIdSite = 1;
@@ -43,6 +43,7 @@
vm.getSaveButtonLabel = getSaveButtonLabel;
vm.toggleSuperuserAccess = toggleSuperuserAccess;
vm.saveUserInfo = saveUserInfo;
+ vm.updateUser = updateUser;
function $onInit() {
vm.firstSiteAccess = {
@@ -76,6 +77,10 @@
$element.find('.superuser-confirm-modal').openModal({ dismissible: false });
}
+ function confirmPasswordChange() {
+ $element.find('.change-password-modal').openModal({ dismissible: false });
+ }
+
function toggleSuperuserAccess() {
vm.isSavingUserInfo = true;
piwikApi.post({
@@ -93,14 +98,22 @@
function saveUserInfo() {
if (vm.isAdd) {
createUser();
+ } else if (vm.isPasswordChanged) {
+ confirmPasswordChange();
} else {
updateUser();
}
}
+ function showUserSavedNotification() {
+ var UI = require('piwik/UI');
+ var notification = new UI.Notification();
+ notification.show(_pk_translate('General_YourChangesHaveBeenSaved'), { context: 'success', type: 'toast' });
+ }
+
function createUser() {
vm.isSavingUserInfo = true;
- piwikApi.post({
+ return piwikApi.post({
method: 'UsersManager.addUser',
userLogin: vm.user.login,
password: vm.user.password,
@@ -116,12 +129,14 @@
vm.isAdd = false;
vm.isPasswordChanged = false;
vm.isUserModified = true;
+
+ showUserSavedNotification();
});
}
function updateUser() {
vm.isSavingUserInfo = true;
- piwikApi.post({
+ return piwikApi.post({
method: 'UsersManager.updateUser',
userLogin: vm.user.login,
password: vm.isPasswordChanged ? vm.user.password : undefined,
@@ -134,6 +149,8 @@
vm.isSavingUserInfo = false;
vm.isPasswordChanged = false;
vm.isUserModified = true;
+
+ showUserSavedNotification();
});
}
}
diff --git a/plugins/UsersManager/angularjs/user-edit-form/user-edit-form.component.less b/plugins/UsersManager/angularjs/user-edit-form/user-edit-form.component.less
index 8231e12fcb..d8c8bf968c 100644
--- a/plugins/UsersManager/angularjs/user-edit-form/user-edit-form.component.less
+++ b/plugins/UsersManager/angularjs/user-edit-form/user-edit-form.component.less
@@ -20,10 +20,12 @@
height: 48px;
}
- .superuser-confirm-modal .modal-no {
- float: right;
- margin-right: 1em;
- margin-top: 1em;
+ .superuser-confirm-modal,.change-password-modal {
+ .modal-no {
+ float: right;
+ margin-right: 1em;
+ margin-top: 1em;
+ }
}
.basic-info-tab {
diff --git a/plugins/UsersManager/lang/en.json b/plugins/UsersManager/lang/en.json
index a51359a064..e212db2693 100644
--- a/plugins/UsersManager/lang/en.json
+++ b/plugins/UsersManager/lang/en.json
@@ -135,6 +135,7 @@
"DeleteUserConfirmSingle": "Are you sure you want to delete %1$s?",
"DeleteUserConfirmMultiple": "Are you sure you want to delete the %1$s selected users?",
"DeleteUserPermConfirmSingle": "Are you sure you want to change %1$s's role to %2$s for %3$s?",
- "DeleteUserPermConfirmMultiple": "Are you sure you want to change the %1$s selected users' role to %2$s for %3$s?"
+ "DeleteUserPermConfirmMultiple": "Are you sure you want to change the %1$s selected users' role to %2$s for %3$s?",
+ "AreYouSureChangePassword": "Are you sure you want to change the password for %s?"
}
}