Koha/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-password-recovery.tt
Timothy Alexis Vass 33c8969039 Bug 26266: Add jQuery validator to opac-password-recovery.tt
To test:
0) Activate password reset in system preferences.
1) Initiate a password recovery.
2) Try to submit with an invalid password.
3) Confirm that validation occurs.
4) Try to submit with mismatching passwords.
5) Confirm that validation occurs.
6) Sign off.

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
2020-10-01 10:32:15 +02:00

184 lines
10 KiB
Text

[% USE Koha %]
[% USE Categories %]
[% INCLUDE 'doc-head-open.inc' %]
<title>[% IF ( LibraryNameTitle ) %][% LibraryNameTitle | html %][% ELSE %]Koha online[% END %] catalog &rsaquo; Forgotten password recovery</title>
[% INCLUDE 'doc-head-close.inc' %]
[% BLOCK cssinclude %][% END %]
[% BLOCK jsinclude %]
[% IF (new_password) %]
[% Asset.js("lib/jquery/plugins/jquery.validate.min.js") | $raw %]
[% PROCESS 'password_check.inc' new_password => 'newPassword', minPasswordLength => minPasswordLength, RequireStrongPassword => RequireStrongPassword %]
[% END %]
<script>
$(function() {
$("#CheckAll").click(function(){
$("[name=deleteRequest]").attr('checked', true);
return false;
});
$("#CheckNone").click(function(){
$("[name=deleteRequest]").attr('checked', false);
return false;
});
$("select#type").change(function() {
$("fieldset#serial, fieldset#book, fieldset#chapter").hide()
$("fieldset#" + $(this).val() ).show();
});
[% IF (new_password) %]
$("#mainform").validate({
rules: {
newPassword: {
required: true,
password_strong: true,
password_no_spaces: true
},
repeatPassword: {
required: true,
password_match: true
}
}
});
[% END %]
});
</script>
[% END %]
</head>
[% INCLUDE 'bodytag.inc' bodyid='opac-password-recovery' %]
[% INCLUDE 'masthead.inc' %]
<div class="main">
<nav aria-label="breadcrumb">
<ul class="breadcrumb">
<li class="breadcrumb-item">
<a href="/cgi-bin/koha/opac-main.pl">Home</a>
</li>
<li class="breadcrumb-item" aria-current="page">
<a href="#">Forgotten password recovery</a>
</li>
</ul>
</nav>
<div class="container-fluid">
<div class="row">
<div class="col-lg-2">
[% IF ( OpacPublic ) %]
<div id="navigation">
[% INCLUDE 'navigation.inc' IsPatronPage=0 %]
</div>
[% END %]
</div>
<div class="col-6 order-first order-md-first order-lg-2 maincontent">
<h3>Forgotten password recovery</h3>
[% IF (hasError) %]
<div class="alert alert-warning">
<h3>Error</h3>
<p>
[% IF (sendmailError) %]
An error has occurred while sending you the password recovery link.
<br/>Please try again later.
[% ELSIF (errNoBorrowerFound) %]
No account was found with the provided information.
[% ELSIF errResetForbidden %]
<span id="password-reset-forbidden">Sorry, your password cannot be changed online.</span>
[% ELSIF (errMultipleAccountsForEmail) %]
Account identification with this email address only is ambiguous.
<br />Please use the field 'Login' as well.
[% ELSIF (errAlreadyStartRecovery) %]
The process of password recovery has already been started for this account
[% IF username %]
("<strong>[% username | html %]</strong>")
[% ELSIF email %]
("<strong>[% email | html %]</strong>")
[% END %]
<br/>You should have received an email with a link to reset your password.
<br/>If you did not receive this email, you can request a new one: <a href="/cgi-bin/koha/opac-password-recovery.pl?resendEmail=true&email=[% email | uri %]&username=[% username | uri %]">Get new password recovery link</a>
[% ELSIF (errPassNotMatch) %]
The passwords do not match.
[% ELSIF password_too_short %]
<li>Password must be at least [% minPasswordLength | html %] characters long.</li>
[% ELSIF password_too_weak %]
<li>Password must contain at least one digit, one lowercase and one uppercase.</li>
[% ELSIF password_has_whitespaces %]
<li>Password must not contain leading or trailing whitespaces.</li>
[% ELSIF (errLinkNotValid) %]
The link you clicked is either invalid, or expired.
<br/>Be sure you used the link from the email, or contact library staff for assistance.
[% END %]
</p>
<p>Please contact the library if you need further assistance.</p>
</div> <!-- /div.alert.alert-warning -->
[% END # /IF hasError %]
<div id="password-recovery">
[% IF (! Categories.can_any_reset_password ) %]
<div class="alert alert-info">You can't reset your password.</div>
[% ELSIF (password_recovery) %]
<form action="/cgi-bin/koha/opac-password-recovery.pl" method="post" autocomplete="off">
<input type="hidden" name="koha_login_context" value="opac" />
<p>To reset your password, enter your login or your email address.</p>
<fieldset class="brief">
<div class="form-group">
<label for="username">Login:</label>
<input class="form-control" type="text" id="username" size="40" name="username" value="[% username | html %]" />
</div>
<div class="form-group">
<label for="email">Email:</label>
<input class="form-control" type="text" id="email" size="40" name="email" value="[% email | html %]" />
</div>
<fieldset class="action">
<input type="submit" value="Submit" class="btn btn-primary" name="sendEmail" />
</fieldset>
</fieldset>
</form>
[% ELSIF (new_password) %]
[% UNLESS ( errLinkNotValid ) %]
<form id="mainform" name="mainform" action="/cgi-bin/koha/opac-password-recovery.pl" method="post" autocomplete="off">
<input type="hidden" name="koha_login_context" value="opac" />
<fieldset class="brief">
[% IF ( RequireStrongPassword ) %]
<div class="alert alert-info">Your password must contain at least [% minPasswordLength | html %] characters, including UPPERCASE, lowercase and numbers.</div>
[% ELSE %]
<div class="alert alert-info">Your password must be at least [% minPasswordLength | html %] characters long.</div>
[% END %]
<div class="form-group">
<label for="newPassword">New password:</label>
<input class="form-control" type="password" id="newPassword" size="40" name="newPassword" />
</div>
<div class="form-group">
<label for="repeatPassword">Confirm new password:</label>
<input class="form-control" type="password" id="repeatPassword" size="40" name="repeatPassword" />
</div>
<fieldset class="action">
<input type="hidden" name="username" value="[% username | html %]" />
<input type="hidden" name="uniqueKey" value="[% uniqueKey | html %]" />
<input type="submit" value="Submit" class="btn btn-primary" name="passwordReset" />
</fieldset>
</fieldset>
</form>
[% END # /UNLESS errLinkNotValid %]
[% ELSIF (mail_sent) %]
<div class="alert alert-info">
<p>
You will receive an email shortly.
<br/>Please click the link in this email to finish the process of resetting your password.
<br/>This link is valid for 2 days starting now.
</p>
<a href="/cgi-bin/koha/opac-main.pl">Return to the main page</a>
</div>
[% ELSIF (password_reset_done) %]
<div class="alert alert-success">
<p>The password has been changed for user "[% username | html %]".</p>
<a href="/cgi-bin/koha/opac-user.pl">Click here to login.</a>
</div>
[% END # /IF (! Categories.can_any_reset_password ) %]
</div><!-- / #password-recovery -->
</div><!-- / .span10 -->
</div><!-- / .row-fluid -->
</div><!-- / .container-fluid -->
</div><!-- / .main -->
[% INCLUDE 'opac-bottom.inc' %]