[% USE raw %]
[% USE Koha %]
[% USE Categories %]
[% USE AdditionalContents %]
[% PROCESS 'i18n.inc' %]
[% PROCESS 'html_helpers.inc' %]
[% INCLUDE 'doc-head-open.inc' %]
<title
    >[% FILTER collapse %]
 [% t("Reset your password") | html %]
 &rsaquo; [% PROCESS 'library_name_title' %]
 [% END %]</title
>
[% INCLUDE 'doc-head-close.inc' %]
[% BLOCK cssinclude %]
[% END %]
</head>
[% INCLUDE 'bodytag.inc' bodyid='opac-login-page' bodyclass='scrollto' %]
[% INCLUDE 'masthead.inc' %]

<main class="main">
 [% WRAPPER breadcrumbs %]
 [% WRAPPER breadcrumb_item bc_active= 1 %]
 <span>Restablecer contraseña</span>
 [% END %]
 [% END #/ WRAPPER breadcrumbs %]

 <div class="container-fluid">
 <div class="row justify-content-center">
 <div class="col-md-10 col-lg-6">
 <div id="opac-auth" class="maincontent">
 [% IF Koha.Preference( 'opacuserlogin' ) && Koha.Preference('EnableExpiredPasswordReset') %]
 [% IF ( error ) %]
 <div class="alert alert-warning">
 <h2>Hubo un problema con su envío</h2>
 <p>
 [% SWITCH error %]
 [% CASE  'no_change' %]
 <span>La nueva contraseña no debe ser la misma que la anterior.</span>
 [% CASE  'passwords_mismatch' %]
 <span>Las contraseñas no coinciden. Por favor vuelva a ingresar su contraseña.</span>
 [% CASE 'password_too_short' %]
 <span>La contraseña debe tener al menos [% minPasswordLength | html %] caracteres.</span>
 [% CASE 'password_too_weak' %]
 <span>La contraseña debe tener al menos un dígito, una minúscula y una mayúscula.</span>
 [% CASE 'password_has_whitespaces' %]
 <span>La contraseña no debe contener espacios en blanco iniciales o finales.</span>
 [% CASE 'invalid_credentials' %]
 <span
                                            >Ha ingresado un nombre de usuario o contraseña incorrecto. ¡Por favor, inténtelo de nuevo! Tenga en cuenta que la contraseña distingue entre mayúsculas y minúsculas[% IF Koha.Preference('FailedLoginAttempts') %] y que su cuenta se bloqueará después de un número fijo de intentos fallidos[% END %]. Por favor contacte con un miembro del personal si sigues teniendo problemas.</span
                                        >
 [% CASE 'no_expire' %]
 <span>Por favor reingrese a su cuenta para actualizar la contraseña.</span><br />
 <a href="/cgi-bin/koha/opac-user.pl" class="nav-link login-link loginModal-trigger"
                                            ><i class="fa fa-user fa-icon-black fa-fw" aria-hidden="true"></i> <span class="userlabel">Iniciar sesión</span></a
                                        >. [% CASE 'account_locked' %] ¡Esta cuenta ha sido bloqueada! [% IF Categories.can_any_reset_password && Koha.Preference('OpacBaseURL') %] <a href="[% Koha.Preference('OpacBaseURL') | url %]/cgi-bin/koha/opac-password-recovery.pl">Debe restablecer su contraseña via correo electrónico</a>.
 [% ELSE %]
 <span>Debe contactar a la biblioteca para asistencia.</span>
 [% END %]
 [% CASE %]
 <span>Se produjo un error desconocido. Por favor intente nuevamente o contacte a la biblioteca por ayuda.</span>
 [% END %]
 </p>
 </div>
 [% END %]
 [% IF ( password_updated ) %]
 <div class="alert dialog-alert">
 <h2>Su contraseña ha sido cambiada exitosamente</h2>
 <a href="/cgi-bin/koha/opac-main.pl" class="btn btn-primary">Ir al OPAC</a>
 [% IF ( Koha.Preference('staffClientBaseURL') && staff_access ) %]
 <a href="[% Koha.Preference('staffClientBaseURL') | url %]" class="btn btn-primary">Ir a la interfaz administrativa</a>
 [% END %]
 </div>
 [% ELSE %]
 <form action="/cgi-bin/koha/opac-reset-password.pl" name="mainform" id="mainform" method="post" autocomplete="off">
 [% INCLUDE 'csrf-token.inc' %]
 <legend class="sr-only">Restablecer contraseña</legend>

 <fieldset class="brief">
 <div class="form-group">
 [% PROCESS login_label for="userid" %]
 <input class="form-control" autocomplete="off" type="text" size="25" id="userid" name="userid" />
 </div>
 <div class="form-group">
 <label for="currentpassword">Contraseña actual:</label>
 <input class="form-control" autocomplete="current-password" type="password" size="25" id="currentpassword" name="currentpassword" />
 </div>
 <div class="form-group">
 <label for="newpassword">Nueva contraseña:</label>
 <input class="form-control" autocomplete="new-password" type="password" size="25" id="newpassword" name="newpassword" />
 </div>
 <div class="form-group">
 <label for="confirmpassword">Confirmar nueva contraseña:</label>
 <input class="form-control" autocomplete="new-password" type="password" size="25" id="confirmpassword" name="confirmpassword" />
 </div>
 <fieldset class="action">
 <input class="btn btn-primary" type="submit" value="Actualizar contraseña" />
 </fieldset>
 <input type="hidden" name="op" value="cud-update" />
 </fieldset>
 [% IF Koha.Preference('OpacPasswordChange') && Categories.can_any_reset_password %]
 <div id="resetpassword">
 <a href="/cgi-bin/koha/opac-password-recovery.pl">¿Olvidó su contraseña?</a>
 </div>
 [% END %]
 </form>
 [% END # /IF Error_messages %]
 [% ELSE %]
 <h1>El cambio de contraseña no está habilitado por la biblioteca.</h1>
 [% IF Koha.Preference('OpacPasswordChange') && Categories.can_any_reset_password %]
 <div id="resetpassword">
 <a href="/cgi-bin/koha/opac-password-recovery.pl">¿Olvidó su contraseña?</a>
 </div>
 [% ELSE %]
 <p>Debe contactar a la biblioteca para reestablecer su contraseña</p>
 [% END %]
 [% END # / IF opacuserlogin %]
 </div>
 <!-- /.opac-auth -->
 </div>
 <!-- /.col-md-10 col-lg-6 -->
 </div>
 <!-- /.row -->
 </div>
 <!-- /.container-fluid -->
</main>
<!-- /.main -->

[% INCLUDE 'opac-bottom.inc' %]
[% BLOCK jsinclude %]
 [% Asset.js("lib/jquery/plugins/jquery.validate.min.js") | $raw %]
 <script>
        jQuery.validator.addMethod(
            "password_no_spaces",
            function (value, element) {
                return this.optional(element) || (!value.match(/^\s/) && !value.match(/\s$/));
            },
            _("La contraseña contiene espacios iniciales y/o finales")
        );
        jQuery.validator.addMethod(
            "password_match",
            function (value, element) {
                var new_password_node = $("input[name='newpassword']:first");
                return value == $(new_password_node).val();
            },
            _("Por favor ingrese la misma contraseña de arriba")
        );

        $(document).ready(function () {
            $("#mainform").validate({
                rules: {
                    currentpassword: {
                        required: true,
                    },
                    newpassword: {
                        required: true,
                        password_no_spaces: true,
                    },
                    confirmpassword: {
                        required: true,
                        password_match: true,
                    },
                },
            });
        });
    </script>
[% END %]
