Bug 21911: Fix OPAC scoping to work with new group system
authorNick Clemens <nick@bywatersolutions.com>
Thu, 29 Nov 2018 14:17:37 +0000 (14:17 +0000)
committerJesse Maseto <jesse@bywatersolution.com>
Tue, 18 Dec 2018 19:07:34 +0000 (19:07 +0000)
To test:

0 - Apply patch
1 - Create a library group enabled for opac search limits and add some
libraries
2 - Check the DB (or advanced search dropdown) to get the id of the
group (using 7 as example below)
3 - Add to apache configuration (OPAC virtualhost)
   SetEnv OPAC_SEARCH_LIMIT branch:multibranchlimit-7
   SetEnv OPAC_LIMIT_OVERRIDE 1
   RequestHeader add X-Koha-SetEnv "OPAC_SEARCH_LIMIT
   branch:multibranchlimit-7"
   RequestHeader add X-Koha-SetEnv "OPAC_LIMIT_OVERRIDE 1"
4 - Ensure OpacAddMastheadLibraryPulldown is disabled
5 - Restart all the things
6 - Visit the opac
7 - Perform a search, confirm it is scoped to the branches in the group

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
(cherry picked from commit 4c0682f5598d53992b6966a217b10f71a9cdaebb)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
(cherry picked from commit 647b853073bde006c0477c886a5cce727c3035a1)

C4/Auth.pm
koha-tmpl/opac-tmpl/bootstrap/en/includes/masthead.inc

index 6b80348..ff94fdb 100644 (file)
@@ -533,8 +533,8 @@ sub get_template_and_user {
         my $opac_limit_override = $ENV{'OPAC_LIMIT_OVERRIDE'};
         my $opac_name           = '';
         if (
-            ( $opac_limit_override && $opac_search_limit && $opac_search_limit =~ /branch:(\w+)/ ) ||
-            ( $in->{'query'}->param('limit') && $in->{'query'}->param('limit') =~ /branch:(\w+)/ ) ||
+            ( $opac_limit_override && $opac_search_limit && $opac_search_limit =~ /branch:([\w-]+)/ ) ||
+            ( $in->{'query'}->param('limit') && $in->{'query'}->param('limit') =~ /branch:([\w-]+)/ ) ||
             ( $in->{'query'}->param('multibranchlimit') && $in->{'query'}->param('multibranchlimit') =~ /multibranchlimit-(\w+)/ )
           ) {
             $opac_name = $1;    # opac_search_limit is a branch, so we use it.
index 0984563..6702440 100644 (file)
                                 [% ELSE %]
                                     [% IF ( opac_limit_override ) %]
                                         [% IF ( opac_search_limit ) %]
-                                            <input name="limit" value="[% opac_search_limit %]" type="hidden" />
+                                            [% IF ( multibranchlimit = opac_search_limit.match( 'branch:(multibranchlimit-\d+)' ) ) %]
+                                                <input name="branch_group_limit" value="[% multibranchlimit.0 | html %]" type="hidden" />
+                                            [% ELSE %]
+                                                <input name="limit" value="[% opac_search_limit | html %]" type="hidden" />
+                                            [% END %]
                                         [% END %]
                                     [% ELSE %]
                                         [% IF ( mylibraryfirst ) %]