datasurvey/src/main/webapp/app/account/password/password.component.html

155 lines
5.6 KiB
HTML

<div>
<div class="row justify-content-center">
<div class="col-md-8" *ngIf="account$ | async as account">
<h2 jhiTranslate="password.title" [translateValues]="{ username: account.login }">
Password for [<strong>{{ account.login }}</strong
>]
</h2>
<div class="alert alert-success" *ngIf="success" jhiTranslate="password.messages.success">
<strong>Password changed!</strong>
</div>
<div class="alert alert-danger" *ngIf="error" jhiTranslate="password.messages.error">
<strong>An error has occurred!</strong> The password could not be changed.
</div>
<div class="alert alert-danger" *ngIf="doNotMatch" jhiTranslate="global.messages.error.dontmatch">
The password and its confirmation do not match!
</div>
<form name="form" role="form" (ngSubmit)="changePassword()" [formGroup]="passwordForm">
<div class="form-group">
<label class="form-control-label" for="currentPassword" jhiTranslate="global.form.currentpassword.label">Current password</label>
<input
type="password"
class="form-control"
id="currentPassword"
name="currentPassword"
placeholder="{{ 'global.form.currentpassword.placeholder' | translate }}"
formControlName="currentPassword"
data-cy="currentPassword"
/>
<div
*ngIf="
passwordForm.get('currentPassword')!.invalid &&
(passwordForm.get('currentPassword')!.dirty || passwordForm.get('currentPassword')!.touched)
"
>
<small
class="form-text text-danger"
*ngIf="passwordForm.get('currentPassword')?.errors?.required"
jhiTranslate="global.messages.validate.newpassword.required"
>
Your password is required.
</small>
</div>
</div>
<div class="form-group">
<label class="form-control-label" for="newPassword" jhiTranslate="global.form.newpassword.label">New password</label>
<input
type="password"
class="form-control"
id="newPassword"
name="newPassword"
placeholder="{{ 'global.form.newpassword.placeholder' | translate }}"
formControlName="newPassword"
data-cy="newPassword"
/>
<div
*ngIf="
passwordForm.get('newPassword')!.invalid &&
(passwordForm.get('newPassword')!.dirty || passwordForm.get('newPassword')!.touched)
"
>
<small
class="form-text text-danger"
*ngIf="passwordForm.get('newPassword')?.errors?.required"
jhiTranslate="global.messages.validate.newpassword.required"
>
Your password is required.
</small>
<small
class="form-text text-danger"
*ngIf="passwordForm.get('newPassword')?.errors?.minlength"
jhiTranslate="global.messages.validate.newpassword.minlength"
>
Your password is required to be at least 4 characters.
</small>
<small
class="form-text text-danger"
*ngIf="passwordForm.get('newPassword')?.errors?.maxlength"
jhiTranslate="global.messages.validate.newpassword.maxlength"
>
Your password cannot be longer than 50 characters.
</small>
</div>
<jhi-password-strength-bar [passwordToCheck]="passwordForm.get('newPassword')!.value"></jhi-password-strength-bar>
</div>
<div class="form-group">
<label class="form-control-label" for="confirmPassword" jhiTranslate="global.form.confirmpassword.label"
>New password confirmation</label
>
<input
type="password"
class="form-control"
id="confirmPassword"
name="confirmPassword"
placeholder="{{ 'global.form.confirmpassword.placeholder' | translate }}"
formControlName="confirmPassword"
data-cy="confirmPassword"
/>
<div
*ngIf="
passwordForm.get('confirmPassword')!.invalid &&
(passwordForm.get('confirmPassword')!.dirty || passwordForm.get('confirmPassword')!.touched)
"
>
<small
class="form-text text-danger"
*ngIf="passwordForm.get('confirmPassword')?.errors?.required"
jhiTranslate="global.messages.validate.confirmpassword.required"
>
Your confirmation password is required.
</small>
<small
class="form-text text-danger"
*ngIf="passwordForm.get('confirmPassword')?.errors?.minlength"
jhiTranslate="global.messages.validate.confirmpassword.minlength"
>
Your confirmation password is required to be at least 4 characters.
</small>
<small
class="form-text text-danger"
*ngIf="passwordForm.get('confirmPassword')?.errors?.maxlength"
jhiTranslate="global.messages.validate.confirmpassword.maxlength"
>
Your confirmation password cannot be longer than 50 characters.
</small>
</div>
</div>
<button
type="submit"
[disabled]="passwordForm.invalid"
class="btn btn-primary"
jhiTranslate="password.form.button"
data-cy="submit"
>
Save
</button>
</form>
</div>
</div>
</div>