|
@@ -0,0 +1,118 @@
|
|
|
+<!--
|
|
|
+ ~ Password Management Servlets (PWM)
|
|
|
+ ~ http://www.pwm-project.org
|
|
|
+ ~
|
|
|
+ ~ Copyright (c) 2006-2009 Novell, Inc.
|
|
|
+ ~ Copyright (c) 2009-2017 The PWM Project
|
|
|
+ ~
|
|
|
+ ~ This program is free software; you can redistribute it and/or modify
|
|
|
+ ~ it under the terms of the GNU General Public License as published by
|
|
|
+ ~ the Free Software Foundation; either version 2 of the License, or
|
|
|
+ ~ (at your option) any later version.
|
|
|
+ ~
|
|
|
+ ~ This program is distributed in the hope that it will be useful,
|
|
|
+ ~ but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
+ ~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
+ ~ GNU General Public License for more details.
|
|
|
+ ~
|
|
|
+ ~ You should have received a copy of the GNU General Public License
|
|
|
+ ~ along with this program; if not, write to the Free Software
|
|
|
+ ~ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
|
|
+ -->
|
|
|
+
|
|
|
+<ias-dialog class="change-password-dialog" ng-switch="$ctrl.status">
|
|
|
+
|
|
|
+ <div ng-switch-when="confirm-random">
|
|
|
+ <div class="ias-dialog-header">
|
|
|
+ <div class="ias-title" ng-bind="('Title_ChangePassword' | translate) + ': ' + $ctrl.personUsername"></div>
|
|
|
+ </div>
|
|
|
+ <div class="ias-dialog-body">
|
|
|
+ <p ng-bind="'Display_SetRandomPasswordPrompt' | translate"></p>
|
|
|
+ </div>
|
|
|
+ <div class="ias-actions">
|
|
|
+ <mf-button ng-click="$ctrl.confirmSetRandomPassword()">{{ 'Button_OK' | translate }}</mf-button>
|
|
|
+ <mf-button ng-click="cancel()">{{ 'Button_Cancel' | translate }}</mf-button>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <div ng-switch-when="type">
|
|
|
+ <div class="ias-dialog-header">
|
|
|
+ <div class="ias-title" ng-bind="('Title_ChangePassword' | translate) + ' - ' + $ctrl.personUsername"></div>
|
|
|
+ </div>
|
|
|
+ <div class="ias-dialog-body">
|
|
|
+ <p ng-bind="$ctrl.message"></p>
|
|
|
+
|
|
|
+
|
|
|
+ <input ng-model="$ctrl.password1" ng-hide="$ctrl.password1Masked" type="text">
|
|
|
+ <input ng-model="$ctrl.password1" ng-show="$ctrl.password1Masked" type="password">
|
|
|
+ <mf-button ng-click="$ctrl.togglePassword1Masked()" ng-if="$ctrl.maskPasswords">
|
|
|
+ {{ 'Button_Show' | translate }}
|
|
|
+ </mf-button>
|
|
|
+ <span>Strength: Very Strong</span>
|
|
|
+
|
|
|
+ <input ng-model="$ctrl.password2" ng-hide="$ctrl.password2Masked" type="text">
|
|
|
+ <input ng-model="$ctrl.password2" ng-show="$ctrl.password2Masked" type="password">
|
|
|
+ <mf-button ng-click="$ctrl.togglePassword2Masked()" ng-if="$ctrl.maskPasswords">
|
|
|
+ {{ 'Button_Show' | translate }}
|
|
|
+ </mf-button>
|
|
|
+ <!--Password list
|
|
|
+ First pw strength
|
|
|
+ Second pw checkmark-->
|
|
|
+ </div>
|
|
|
+ <div class="ias-actions">
|
|
|
+ <mf-button ng-click="$ctrl.chooseTypedPassword()">{{ 'Button_ChangePassword' | translate }}</mf-button>
|
|
|
+ <mf-button ng-click="$ctrl.status = 'autogen'"
|
|
|
+ ng-if="$ctrl.passwordUiMode === 'BOTH'">{{ 'Title_RandomPasswords' | translate }}</mf-button>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <div ng-switch-when="autogen">
|
|
|
+ <div class="ias-dialog-header">
|
|
|
+ <div class="ias-title" ng-bind="'Title_RandomPasswords' | translate"></div>
|
|
|
+ </div>
|
|
|
+ <div class="ias-dialog-body">
|
|
|
+ <p ng-bind="'Display_PasswordGeneration' | translate"></p>
|
|
|
+ <table>
|
|
|
+ <tbody>
|
|
|
+ <tr ng-repeat="i in [0,2,4,6,8,10,12,14,16,18]">
|
|
|
+ <td ng-repeat="j in [i, i+1]">
|
|
|
+ <div ng-bind="$ctrl.passwordSuggestions[j]" ng-click="$ctrl.onChoosePasswordSuggestion(j)">
|
|
|
+ </div>
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
+ </tbody>
|
|
|
+ </table>
|
|
|
+ </div>
|
|
|
+ <div class="ias-actions">
|
|
|
+ <mf-button ng-click="$ctrl.populatePasswordSuggestions()"
|
|
|
+ ng-disabled="$ctrl.fetchingRandoms">{{ 'Button_More' | translate }}</mf-button>
|
|
|
+ <mf-button ng-click="cancel()">{{ 'Button_Cancel' | translate }}</mf-button>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <div ng-switch-when="finished">
|
|
|
+ <div class="ias-dialog-header">
|
|
|
+ <div class="ias-title" ng-bind="('Title_ChangePassword' | translate) + ' - ' + $ctrl.personUsername"></div>
|
|
|
+ </div>
|
|
|
+ <div class="ias-dialog-body">
|
|
|
+ <p ng-bind="$ctrl.message"></p>
|
|
|
+ <span ng-bind="'Field_NewPassword' | translate"></span>
|
|
|
+ <mf-button ng-click="$ctrl.togglePassword1Masked()" ng-if="$ctrl.maskPasswords">
|
|
|
+ {{ 'Button_Show' | translate }}
|
|
|
+ </mf-button>
|
|
|
+ <input ng-model="$ctrl.chosenPassword" ng-hide="$ctrl.password1Masked" readonly type="text">
|
|
|
+ </div>
|
|
|
+ <div class="ias-actions">
|
|
|
+ <mf-button ng-click="cancel()">{{ 'Button_OK' | translate }}</mf-button>
|
|
|
+ <mf-button ng-click="$ctrl.clearAnswers()"
|
|
|
+ ng-if="$ctrl.clearResponsesSetting==='ask'">{{ 'Button_ClearResponses' | translate }}</mf-button>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <mf-icon-button class="ias-dialog-close-button"
|
|
|
+ icon="close_thick"
|
|
|
+ id="close-icon"
|
|
|
+ ng-attr-title="{{ 'Button_CloseWindow' | translate }}"
|
|
|
+ ng-click="cancel()">
|
|
|
+ </mf-icon-button>
|
|
|
+</ias-dialog>
|