diff --git a/forms/common-themes/src/main/resources/theme/admin/base/resources/js/controllers/users.js b/forms/common-themes/src/main/resources/theme/admin/base/resources/js/controllers/users.js
index 304d66c..7ac791e 100755
--- a/forms/common-themes/src/main/resources/theme/admin/base/resources/js/controllers/users.js
+++ b/forms/common-themes/src/main/resources/theme/admin/base/resources/js/controllers/users.js
@@ -265,13 +265,14 @@ module.controller('UserCredentialsCtrl', function($scope, realm, user, User, Use
$scope.realm = realm;
$scope.user = angular.copy(user);
+ $scope.temporaryPassword = true;
$scope.isTotp = false;
if(!!user.totp){
$scope.isTotp = user.totp;
}
- $scope.resetPassword = function(temporary) {
+ $scope.resetPassword = function() {
if ($scope.pwdChange) {
if ($scope.password != $scope.confirmPassword) {
Notifications.error("Password and confirmation does not match.");
@@ -281,13 +282,9 @@ module.controller('UserCredentialsCtrl', function($scope, realm, user, User, Use
var msgTitle = 'Change password';
var msg = 'Are you sure you want to change the users password?';
- if (temporary) {
- msgTitle = 'Reset password';
- msg = 'Are you sure you want to reset the users password?';
- }
Dialog.confirm(msgTitle, msg, function() {
- UserCredentials.resetPassword({ realm: realm.realm, userId: user.username }, { type : "password", value : $scope.password, temporary: temporary }, function() {
+ UserCredentials.resetPassword({ realm: realm.realm, userId: user.username }, { type : "password", value : $scope.password, temporary: $scope.temporaryPassword }, function() {
Notifications.success("The password has been reset");
$scope.password = null;
$scope.confirmPassword = null;
diff --git a/forms/common-themes/src/main/resources/theme/admin/base/resources/partials/user-credentials.html b/forms/common-themes/src/main/resources/theme/admin/base/resources/partials/user-credentials.html
index 4055afa..07ff9e2 100755
--- a/forms/common-themes/src/main/resources/theme/admin/base/resources/partials/user-credentials.html
+++ b/forms/common-themes/src/main/resources/theme/admin/base/resources/partials/user-credentials.html
@@ -18,17 +18,36 @@
<form class="form-horizontal" name="userForm" novalidate>
<fieldset class="border-top">
- <legend><span class="text">Credential Management</span></legend>
+ <legend><span class="text">Reset Password</span></legend>
+
+ <div class="form-group">
+ <label class="col-sm-2 control-label" for="password">New password <span class="required" data-ng-show="create">*</span></label>
+ <div class="col-sm-4">
+ <input class="form-control" type="password" id="password" name="password" data-ng-model="password" required>
+ </div>
+ </div>
+
<div class="form-group">
- <label class="col-sm-2 control-label" for="password">Reset password</label>
- <div class="col-sm-6 kc-multiline">
- <input class="form-control" type="password" id="password" name="password" data-ng-model="password" placeholder="New password" required>
- <input class="form-control" type="password" id="confirmPassword" name="confirmPassword" data-ng-model="confirmPassword" placeholder="Password confirmation" required>
- <button class="btn btn-danger" type="submit" data-ng-click="resetPassword(true)" data-ng-show="password" tooltip="Temporary reset of password. User will be asked to change it when they log in." tooltip-placement="left">Reset Password</button>
- <button class="btn btn-danger" type="submit" data-ng-click="resetPassword(false)" data-ng-show="password" tooltip="Change the password of the user." tooltip-placement="right">Change Password</button>
+ <label class="col-sm-2 control-label" for="confirmPassword">Password confirmation <span class="required" data-ng-show="create">*</span></label>
+ <div class="col-sm-4">
+ <input class="form-control" type="password" id="confirmPassword" name="confirmPassword" data-ng-model="confirmPassword" required>
</div>
</div>
+ <div class="form-group clearfix block">
+ <label class="col-sm-2 control-label" for="temporaryPassword">Temporary</label>
+ <div class="col-sm-6">
+ <input ng-model="temporaryPassword" name="temporaryPassword" id="temporaryPassword" onoffswitch />
+ </div>
+ <span tooltip-placement="right" tooltip="If enabled user is required to change password on next login" class="fa fa-info-circle"></span>
+ </div>
+
+ <div class="pull-right form-actions" data-ng-show="password && confirmPassword">
+ <button class="btn btn-danger" type="submit" data-ng-click="resetPassword(true)">Reset Password</button>
+ </div>
+ </fieldset>
+
+ <fieldset class="border-top" data-ng-show="user.email || user.totp">
<div class="form-group" data-ng-show="user.email">
<label class="col-sm-2 control-label" for="password">Reset password email</label>
<div class="col-sm-5">
@@ -37,7 +56,7 @@
</div>
<div class="form-group" data-ng-show="user.totp">
- <label class="col-sm-2 control-label" for="password">Remove totp</label>
+ <label class="col-sm-2 control-label">Remove totp</label>
<div class="col-sm-5" data-ng-show="user.totp">
<button class="btn btn-danger" type="submit" data-ng-click="removeTotp()" tooltip="Remove one time password generator for user." tooltip-placement="right">Remove TOTP</button>
</div>