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>2019-07-16 07:33:25 +0300
committerGitHub <noreply@github.com>2019-07-16 07:33:25 +0300
commite4c1f1f92114ca03947e9932935e4b4195ae1604 (patch)
tree86d3f38165ee87eb4c7f8a36dc8bdb779c04fb22 /plugins/UsersManager
parent75c4c9d3a8be5b9d035f086c3b2edb45afaed61a (diff)
Keep top level nb_visits_converted metric (#14253)
* Do not remove nb_visits_converted when archiving goal reports since it should differ from sum of conversions. * If metric is not available, compute dynamically by using max nb_visits_converted. * Ignore abandoned cart conversions when calculating visit converted. * In case goals column is empty. * remove processed metric code since it is not correct * do not remove visits converted metric for overview * fix tests * Fixing test * fix test * update test files * update submodules * Update expected screenshots & try to fix some random failures. * Update expected UI test export results. * two ui test fixes * Fix couple UI test failures. * fix random php test failure
Diffstat (limited to 'plugins/UsersManager')
-rw-r--r--plugins/UsersManager/UsersManager.php17
-rw-r--r--plugins/UsersManager/angularjs/user-edit-form/user-edit-form.component.html1
-rw-r--r--plugins/UsersManager/angularjs/user-edit-form/user-edit-form.component.js4
3 files changed, 21 insertions, 1 deletions
diff --git a/plugins/UsersManager/UsersManager.php b/plugins/UsersManager/UsersManager.php
index 4f72e98775..a844aee258 100644
--- a/plugins/UsersManager/UsersManager.php
+++ b/plugins/UsersManager/UsersManager.php
@@ -12,6 +12,7 @@ use Exception;
use Piwik\Access\Role\Admin;
use Piwik\Access\Role\Write;
use Piwik\API\Request;
+use Piwik\Auth\Password;
use Piwik\Common;
use Piwik\Option;
use Piwik\Piwik;
@@ -197,11 +198,27 @@ class UsersManager extends \Piwik\Plugin
public static function getPasswordHash($password)
{
+ self::checkBasicPasswordStrength($password);
+
// if change here, should also edit the installation process
// to change how the root pwd is saved in the config file
return md5($password);
}
+ public static function checkBasicPasswordStrength($password)
+ {
+ $ex = new \Exception('This password is too weak, please supply another value or reset it.');
+
+ $numDistinctCharacters = strlen(count_chars($password, 3));
+ if ($numDistinctCharacters < 2) {
+ throw $ex;
+ }
+
+ if (strlen($password) < 6) {
+ throw $ex;
+ }
+ }
+
/**
* Checks the password hash length. Used as a sanity check.
*
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 8c831c87c5..32e8d9dd84 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
@@ -56,6 +56,7 @@
ng-model="$ctrl.user.password"
data-title="Password"
data-disabled="$ctrl.isSavingUserInfo || ($ctrl.currentUserRole != 'superuser' && !$ctrl.isAdd)"
+ ng-change="$ctrl.isPasswordModified = true"
>
</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 852469dbc1..5c3a88d0a3 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
@@ -35,6 +35,7 @@
vm.firstSiteAccess = null;
vm.isUserModified = false;
vm.passwordConfirmation = '';
+ vm.isPasswordModified = false;
vm.$onInit = $onInit;
vm.$onChanges = $onChanges;
@@ -187,7 +188,7 @@
method: 'UsersManager.updateUser'
}, {
userLogin: vm.user.login,
- password: vm.user.password ? vm.user.password : undefined,
+ password: (vm.isPasswordModified && vm.user.password) ? vm.user.password : undefined,
passwordConfirmation: vm.passwordConfirmation ? vm.passwordConfirmation : undefined,
email: vm.user.email,
alias: vm.user.alias
@@ -199,6 +200,7 @@
vm.isSavingUserInfo = false;
vm.passwordConfirmation = false;
vm.isUserModified = true;
+ vm.isPasswordModified = false;
showUserSavedNotification();
});