66 lines
3.0 KiB
HTML
66 lines
3.0 KiB
HTML
{{define "content"}}
|
|
<div class="row row-deck row-cards justify-content-center">
|
|
<div class="col-lg-6">
|
|
<div class="card">
|
|
<div class="card-header">
|
|
<h3 class="card-title"><i class="ti ti-lock-exclamation"></i> Password Change Required</h3>
|
|
</div>
|
|
<div class="card-body">
|
|
<div class="alert alert-warning">
|
|
<div class="d-flex">
|
|
<div><i class="ti ti-alert-triangle icon alert-icon"></i></div>
|
|
<div>
|
|
<h4 class="alert-title">You must change your password</h4>
|
|
<div class="text-secondary">Your administrator has set an initial password for your account. Please choose a new personal password to continue.</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
{{if .PasswordPolicy}}
|
|
<div class="alert alert-info">
|
|
<div class="d-flex">
|
|
<div><i class="ti ti-info-circle icon alert-icon"></i></div>
|
|
<div>
|
|
<h4 class="alert-title">Password Requirements</h4>
|
|
<ul class="mb-0">
|
|
<li>Minimum <strong>{{.PasswordPolicy.MinLength}}</strong> characters</li>
|
|
{{if .PasswordPolicy.RequireUpper}}<li>At least one <strong>uppercase letter</strong> (A-Z)</li>{{end}}
|
|
{{if .PasswordPolicy.RequireLower}}<li>At least one <strong>lowercase letter</strong> (a-z)</li>{{end}}
|
|
{{if .PasswordPolicy.RequireDigit}}<li>At least one <strong>digit</strong> (0-9)</li>{{end}}
|
|
{{if .PasswordPolicy.RequireSpecial}}<li>At least one <strong>special character</strong> (!@#$...)</li>{{end}}
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
{{end}}
|
|
|
|
<form action="/password/change" method="post" autocomplete="off">
|
|
<div class="mb-3">
|
|
<label class="form-label required">New Password</label>
|
|
<div class="input-icon">
|
|
<span class="input-icon-addon"><i class="ti ti-lock"></i></span>
|
|
<input type="password" name="new_password" class="form-control" placeholder="New password" required minlength="{{if .PasswordPolicy}}{{.PasswordPolicy.MinLength}}{{else}}8{{end}}">
|
|
</div>
|
|
</div>
|
|
<div class="mb-3">
|
|
<label class="form-label required">Confirm New Password</label>
|
|
<div class="input-icon">
|
|
<span class="input-icon-addon"><i class="ti ti-lock-check"></i></span>
|
|
<input type="password" name="confirm_password" class="form-control" placeholder="Confirm new password" required minlength="{{if .PasswordPolicy}}{{.PasswordPolicy.MinLength}}{{else}}8{{end}}">
|
|
</div>
|
|
</div>
|
|
<div class="form-footer">
|
|
<button type="submit" class="btn btn-primary w-100">
|
|
<i class="ti ti-lock-check"></i> Set New Password
|
|
</button>
|
|
</div>
|
|
</form>
|
|
<div class="text-center mt-3">
|
|
<a href="/logout" class="text-secondary"><i class="ti ti-logout"></i> Logout</a>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
{{end}}
|