mirror of
https://github.com/bitwarden/browser
synced 2025-12-27 13:43:41 +00:00
* Initial commit for enforcing password generator policy options * Revert to previous isDev URL setup
110 lines
6.9 KiB
HTML
110 lines
6.9 KiB
HTML
<div class="modal fade" tabindex="-1" role="dialog" aria-modal="true" aria-labelledby="policiesEditTitle">
|
|
<div class="modal-dialog" role="document">
|
|
<form class="modal-content" #form (ngSubmit)="submit()" [appApiAction]="formPromise" ngNativeValidate>
|
|
<div class="modal-header">
|
|
<h2 class="modal-title" id="policiesEditTitle">{{'editPolicy' | i18n}} - {{name}}</h2>
|
|
<button type="button" class="close" data-dismiss="modal" appA11yTitle="{{'close' | i18n}}">
|
|
<span aria-hidden="true">×</span>
|
|
</button>
|
|
</div>
|
|
<div class="modal-body" *ngIf="loading">
|
|
<i class="fa fa-spinner fa-spin text-muted" title="{{'loading' | i18n}}" aria-hidden="true"></i>
|
|
<span class="sr-only">{{'loading' | i18n}}</span>
|
|
</div>
|
|
<div class="modal-body" *ngIf="!loading">
|
|
<p class="text-muted">{{description}}</p>
|
|
<div class="form-group">
|
|
<div class="form-check">
|
|
<input class="form-check-input" type="checkbox" id="enabled" [(ngModel)]="enabled"
|
|
name="Enabled">
|
|
<label class="form-check-label" for="enabled">{{'enabled' | i18n}}</label>
|
|
</div>
|
|
</div>
|
|
<ng-container *ngIf="type === policyType.MasterPassword">
|
|
<div class="row">
|
|
<div class="col-6 form-group">
|
|
<label for="masterPassMinComplexity">{{'minComplexityScore' | i18n}}</label>
|
|
<input id="masterPassMinComplexity" class="form-control" type="number"
|
|
name="MasterPassMinComplexity" [(ngModel)]="masterPassMinComplexity" min="0" max="4">
|
|
</div>
|
|
<div class="col-6 form-group">
|
|
<label for="masterPassMinLength">{{'minLength' | i18n}}</label>
|
|
<input id="masterPassMinLength" class="form-control" type="number"
|
|
name="MasterPassMinLength" [(ngModel)]="masterPassMinLength">
|
|
</div>
|
|
</div>
|
|
<div class="form-check">
|
|
<input class="form-check-input" type="checkbox" id="masterPassRequireUpper"
|
|
[(ngModel)]="masterPassRequireUpper" name="MasterPassRequireUpper">
|
|
<label class="form-check-label" for="masterPassRequireUpper">A-Z</label>
|
|
</div>
|
|
<div class="form-check">
|
|
<input class="form-check-input" type="checkbox" id="masterPassRequireLower"
|
|
[(ngModel)]="masterPassRequireLower" name="MasterPassRequireLower">
|
|
<label class="form-check-label" for="masterPassRequireLower">a-z</label>
|
|
</div>
|
|
<div class="form-check">
|
|
<input class="form-check-input" type="checkbox" id="masterPassRequireNumbers"
|
|
[(ngModel)]="masterPassRequireNumbers" name="MasterPassRequireNumbers">
|
|
<label class="form-check-label" for="masterPassRequireNumbers">0-9</label>
|
|
</div>
|
|
<div class="form-check">
|
|
<input class="form-check-input" type="checkbox" id="masterPassRequireSpecial"
|
|
[(ngModel)]="masterPassRequireSpecial" name="MasterPassRequireSpecial">
|
|
<label class="form-check-label" for="masterPassRequireSpecial">!@#$%^&*</label>
|
|
</div>
|
|
</ng-container>
|
|
<ng-container *ngIf="type === policyType.PasswordGenerator">
|
|
<div class="row">
|
|
<div class="col-6 form-group">
|
|
<label for="passGenMinLength">{{'minLength' | i18n}}</label>
|
|
<input id="passGenMinLength" class="form-control" type="number" name="PassGenMinLength"
|
|
min="5" max="128" [(ngModel)]="passGenMinLength">
|
|
</div>
|
|
</div>
|
|
<div class="row">
|
|
<div class="col-6 form-group">
|
|
<label for="passGenMinNumbers">{{'minNumbers' | i18n}}</label>
|
|
<input id="passGenMinNumbers" class="form-control" type="number" name="PassGenMinNumbers"
|
|
min="0" max="9" [(ngModel)]="passGenMinNumbers">
|
|
</div>
|
|
<div class="col-6 form-group">
|
|
<label for="passGenMinSpecial">{{'minSpecial' | i18n}}</label>
|
|
<input id="passGenMinSpecial" class="form-control" type="number" name="PassGenMinSpecial"
|
|
min="0" max="9" [(ngModel)]="passGenMinSpecial">
|
|
</div>
|
|
</div>
|
|
<div class="form-check">
|
|
<input class="form-check-input" type="checkbox" id="passGenUseUpper"
|
|
[(ngModel)]="passGenUseUpper" name="PassGenUseUpper">
|
|
<label class="form-check-label" for="passGenUseUpper">A-Z</label>
|
|
</div>
|
|
<div class="form-check">
|
|
<input class="form-check-input" type="checkbox" id="passGenUseLower"
|
|
[(ngModel)]="passGenUseLower" name="PassGenUseLower">
|
|
<label class="form-check-label" for="passGenUseLower">a-z</label>
|
|
</div>
|
|
<div class="form-check">
|
|
<input class="form-check-input" type="checkbox" id="passGenUseNumbers"
|
|
[(ngModel)]="passGenUseNumbers" name="PassGenUseNumbers">
|
|
<label class="form-check-label" for="passGenUseNumbers">0-9</label>
|
|
</div>
|
|
<div class="form-check">
|
|
<input class="form-check-input" type="checkbox" id="passGenUseSpecial"
|
|
[(ngModel)]="passGenUseSpecial" name="PassGenUseSpecial">
|
|
<label class="form-check-label" for="passGenUseSpecial">!@#$%^&*</label>
|
|
</div>
|
|
</ng-container>
|
|
</div>
|
|
<div class="modal-footer">
|
|
<button type="submit" class="btn btn-primary btn-submit" [disabled]="form.loading">
|
|
<i class="fa fa-spinner fa-spin" title="{{'loading' | i18n}}" aria-hidden="true"></i>
|
|
<span>{{'save' | i18n}}</span>
|
|
</button>
|
|
<button type="button" class="btn btn-outline-secondary"
|
|
data-dismiss="modal">{{'cancel' | i18n}}</button>
|
|
</div>
|
|
</form>
|
|
</div>
|
|
</div>
|