From 28363fc1a77f8e56b1e06f4bf8cb165122b87698 Mon Sep 17 00:00:00 2001
From: Tomas Cohen Arazi
Date: Thu, 31 Jan 2019 16:29:30 -0300
Subject: [PATCH] Bug 21890: Allow restricting password resets by patron
category
This patch makes the templates relying on the OpacResetPassword syspref
use the introduced TT plugin method instead by changing:
[% IF Koha.Preference('OpacResetPassword') %]
=>
[% IF Categories.can_any_reset_password %]
To test:
- Verify that all the places in which the 'forgot password' link is
displayed in OPAC keep working, provided there's at least one category
that has the flag set
- Attempt to recover the password for a patron that belong to a valid
category (i.e. that has the flag set)
=> SUCCESS: You can go through the normal process
- Attempt to recover the password for a patron that belongs to a
category with the flag unset.
=> SUCCESS: Once Koha identifies your category, you are told you are not
allowed to do it
- Sign off :-D
---
.../intranet-tmpl/prog/en/modules/auth.tt | 3 +-
.../bootstrap/en/includes/masthead.inc | 3 +-
.../bootstrap/en/modules/opac-auth.tt | 3 +-
.../bootstrap/en/modules/opac-main.tt | 3 +-
.../en/modules/opac-password-recovery.tt | 5 +-
opac/opac-password-recovery.pl | 57 +++++++++++--------
6 files changed, 46 insertions(+), 28 deletions(-)
diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/auth.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/auth.tt
index 19548caf57..7533b0cb8b 100644
--- a/koha-tmpl/intranet-tmpl/prog/en/modules/auth.tt
+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/auth.tt
@@ -1,6 +1,7 @@
[% USE raw %]
[% USE Koha %]
[% USE Branches %]
+[% USE Categories %]
[% SET footerjs = 1 %]
[% INCLUDE 'doc-head-open.inc' %]
Koha ›
@@ -42,7 +43,7 @@
[% IF too_many_login_attempts %]
Error: This account has been locked!
- [% IF Koha.Preference('OpacResetPassword') && Koha.Preference('OpacBaseURL') %]
+ [% IF Categories.can_any_reset_password && Koha.Preference('OpacBaseURL') %]
You must reset your password.
[% END %]
[% ELSIF invalid_username_or_password %]
diff --git a/koha-tmpl/opac-tmpl/bootstrap/en/includes/masthead.inc b/koha-tmpl/opac-tmpl/bootstrap/en/includes/masthead.inc
index 9466c2d9c6..3b5e9d9b8b 100644
--- a/koha-tmpl/opac-tmpl/bootstrap/en/includes/masthead.inc
+++ b/koha-tmpl/opac-tmpl/bootstrap/en/includes/masthead.inc
@@ -1,6 +1,7 @@
[% USE raw %]
[% USE Koha %]
[% USE Branches %]
+[% USE Categories %]
[% SET OpacLangSelectorMode = Koha.Preference('OpacLangSelectorMode') %]
diff --git a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-password-recovery.tt b/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-password-recovery.tt
index 73eb975eca..857b1c49dc 100644
--- a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-password-recovery.tt
+++ b/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-password-recovery.tt
@@ -1,4 +1,5 @@
[% USE Koha %]
+[% USE Categories %]
[% INCLUDE 'doc-head-open.inc' %]
[% IF ( LibraryNameTitle ) %][% LibraryNameTitle | html %] - Forgotten password recovery[% ELSE %]Koha online[% END %] catalog - Forgotten password recovery
[% INCLUDE 'doc-head-close.inc' %]
@@ -77,13 +78,15 @@
[% ELSIF (errLinkNotValid) %]
The link you clicked is either invalid, or expired.
Be sure you used the link from the email, or contact library staff for assistance.
+ [% ELSIF errNoBorrowerFound %]
+
You are not allowed to reset your password. Contact library staff for assistance.
[% END %]
Please contact the library if you need further assistance.
[% END %]
-[% IF (!Koha.Preference('OpacResetPassword')) %]
+[% IF (! Categories.can_any_reset_password ) %]