From 85288b8f157c7699ccb7e4e1bc277d5200582f65 Mon Sep 17 00:00:00 2001 From: Jonathan Druart Date: Sat, 23 Apr 2016 16:37:26 +0100 Subject: [PATCH] Bug 16274: Limit the patron self registration to some libraries Currently a patron can select a home library in the list of all libraries defined in the system. However some of these libraries might not accept self registration. This patch adds a new pref to display only the allowed libraries. Test plan: 0/ Apply the patch, do not fill the new pref 1/ Self register a new patron => All the libraries defined should be displayed in the "Home library" dropwdown list 2/ Fill the pref PatronSelfRegistrationLibraryList with some of the branchcode defined in the system => Self register a new patron and confirm that the dropdown list has been filtered. Sponsored-by: BULAC - http://www.bulac.fr/ Signed-off-by: Nicolas Legrand Signed-off-by: Nick Clemens Signed-off-by: Kyle M Hall --- .../opac-tmpl/bootstrap/en/modules/opac-memberentry.tt | 8 +++++++- opac/opac-memberentry.pl | 7 +++++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-memberentry.tt b/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-memberentry.tt index 66db3065c9..71b45c83be 100644 --- a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-memberentry.tt +++ b/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-memberentry.tt @@ -160,7 +160,13 @@ Home library: [% END %] diff --git a/opac/opac-memberentry.pl b/opac/opac-memberentry.pl index 6dcc832693..34f9ac8289 100755 --- a/opac/opac-memberentry.pl +++ b/opac/opac-memberentry.pl @@ -32,6 +32,7 @@ use Koha::Patron::Modifications; use C4::Scrubber; use Email::Valid; use Koha::DateUtils; +use Koha::Libraries; use Koha::Patron::Images; use Koha::Token; @@ -65,10 +66,16 @@ if ( $action eq q{} ) { my $mandatory = GetMandatoryFields($action); +my @libraries = Koha::Libraries->search; +if ( my @libraries_to_display = split '\|', C4::Context->preference('PatronSelfRegistrationLibraryList') ) { + @libraries = map { my $b = $_; my $branchcode = $_->branchcode; grep( /^$branchcode$/, @libraries_to_display ) ? $b : () } @libraries; +} + $template->param( action => $action, hidden => GetHiddenFields( $mandatory, 'registration' ), mandatory => $mandatory, + libraries => \@libraries, OPACPatronDetails => C4::Context->preference('OPACPatronDetails'), ); -- 2.39.2