[Koha-patches] [PATCH] [Signed Off] Bug 5390: OPAC loses library selection

Liz Rea lrea at nekls.org
Mon Mar 21 22:36:20 CET 2011


From: Jared Camins-Esakov <jcamins at bywatersolutions.com>

This patch ensures that the OPAC library selection masthead will always default
to the branch that is currently being searched. This only applies to systems
with multiple branches and OpacAddMastheadLibraryPulldown turned on.

To test: do a search in the OPAC, limiting by branch. The search results will
still have that branch selected in the masthead dropdown.

This patch also fixes bug 5852 and bug 3778.

Signed-off-by: Ian Walls <ian.walls at bywatersolutions.com>
Signed-off-by: Liz Rea <lrea at nekls.org>
---
 C4/Auth.pm                                         |   14 ++++++--------
 koha-tmpl/opac-tmpl/prog/en/includes/masthead.inc  |   11 ++++++-----
 .../opac-tmpl/prog/en/modules/opac-advsearch.tmpl  |    2 +-
 opac/opac-search.pl                                |    3 +--
 4 files changed, 14 insertions(+), 16 deletions(-)

diff --git a/C4/Auth.pm b/C4/Auth.pm
index 39eb50f..7633d23 100644
--- a/C4/Auth.pm
+++ b/C4/Auth.pm
@@ -337,7 +337,6 @@ sub get_template_and_user {
             singleBranchMode             => C4::Context->preference("singleBranchMode"),
             XSLTDetailsDisplay           => C4::Context->preference("XSLTDetailsDisplay"),
             XSLTResultsDisplay           => C4::Context->preference("XSLTResultsDisplay"),
-            BranchesLoop                 => GetBranchesLoop(),
             using_https                  => $in->{'query'}->https() ? 1 : 0,
             noItemTypeImages            => C4::Context->preference("noItemTypeImages"),
     );
@@ -380,17 +379,17 @@ sub get_template_and_user {
         # variables passed from CGI: opac_css_override and opac_search_limits.
         my $opac_search_limit = $ENV{'OPAC_SEARCH_LIMIT'};
         my $opac_limit_override = $ENV{'OPAC_LIMIT_OVERRIDE'};
-        my $mylibraryfirst = C4::Context->preference("SearchMyLibraryFirst");
-        my $opac_name;
-        if($opac_limit_override && ($opac_search_limit =~ /branch:(\w+)/) ){
-             $opac_name = C4::Branch::GetBranchName($1)   # opac_search_limit is a branch, so we use it.
-        } elsif($mylibraryfirst){
-            $opac_name = C4::Branch::GetBranchName($mylibraryfirst);
+        my $opac_name = '';
+        if (($opac_search_limit =~ /branch:(\w+)/ && $opac_limit_override) || $in->{'query'}->param('limit') =~ /branch:(\w+)/){
+            $opac_name = $1;   # opac_search_limit is a branch, so we use it.
+        } elsif (C4::Context->preference("SearchMyLibraryFirst") && C4::Context->userenv && C4::Context->userenv->{'branch'}) {
+            $opac_name = C4::Context->userenv->{'branch'};
         }
         $template->param(
             AmazonContent             => "" . C4::Context->preference("AmazonContent"),
             AnonSuggestions           => "" . C4::Context->preference("AnonSuggestions"),
             AuthorisedValueImages     => C4::Context->preference("AuthorisedValueImages"),
+            BranchesLoop              => GetBranchesLoop($opac_name),
             LibraryName               => "" . C4::Context->preference("LibraryName"),
             LibraryNameTitle          => "" . $LibraryNameTitle,
             LoginBranchname           => C4::Context->userenv?C4::Context->userenv->{"branchname"}:"",
@@ -408,7 +407,6 @@ sub get_template_and_user {
             OpacAuthorities           => C4::Context->preference("OpacAuthorities"),
             OPACBaseURL               => ($in->{'query'}->https() ? "https://" : "http://") . $ENV{'SERVER_NAME'} .
                    ($ENV{'SERVER_PORT'} eq ($in->{'query'}->https() ? "443" : "80") ? '' : ":$ENV{'SERVER_PORT'}"),
-            opac_name             => $opac_name,
             opac_css_override           => $ENV{'OPAC_CSS_OVERRIDE'},
             opac_search_limit         => $opac_search_limit,
             opac_limit_override       => $opac_limit_override,
diff --git a/koha-tmpl/opac-tmpl/prog/en/includes/masthead.inc b/koha-tmpl/opac-tmpl/prog/en/includes/masthead.inc
index 6db1552..310e7b8 100644
--- a/koha-tmpl/opac-tmpl/prog/en/includes/masthead.inc
+++ b/koha-tmpl/opac-tmpl/prog/en/includes/masthead.inc
@@ -84,14 +84,15 @@
          <!-- /TMPL_LOOP -->
       </select>
    <!-- TMPL_ELSE -->
-      <!-- TMPL_UNLESS NAME="opac_limit_override" -->
+      <!-- TMPL_IF NAME="opac_limit_override" -->
+          <!-- TMPL_IF NAME="opac_search_limit" -->
+            <input name="limit" value="<!-- TMPL_VAR name="opac_search_limit" -->" type="hidden" />
+          <!-- /TMPL_IF -->
+      <!-- TMPL_ELSE -->
           <!-- TMPL_IF name="mylibraryfirst" --> 
                <input name="limit" value="branch:<!-- TMPL_VAR name="mylibraryfirst" -->" type="hidden" />
           <!-- /TMPL_IF -->
-       <!-- /TMPL_UNLESS -->
-   <!-- /TMPL_IF -->
-   <!-- TMPL_IF NAME="opac_search_limit" -->
-      <input name="limit" value="<!-- TMPL_VAR name="opac_search_limit" -->" type="hidden" />
+      <!-- /TMPL_IF -->
    <!-- /TMPL_IF -->
 
 
diff --git a/koha-tmpl/opac-tmpl/prog/en/modules/opac-advsearch.tmpl b/koha-tmpl/opac-tmpl/prog/en/modules/opac-advsearch.tmpl
index 3a478ff..f7c2adf 100644
--- a/koha-tmpl/opac-tmpl/prog/en/modules/opac-advsearch.tmpl
+++ b/koha-tmpl/opac-tmpl/prog/en/modules/opac-advsearch.tmpl
@@ -239,7 +239,7 @@
         
         <select name="limit" id="branchloop">
         <option value="">All libraries</option>
-        <!-- TMPL_LOOP NAME="branchloop" -->
+        <!-- TMPL_LOOP NAME="BranchesLoop" -->
         <!--TMPL_IF Name="selected"-->
         <option value="branch:<!-- TMPL_VAR NAME="value" -->" selected="selected"><!-- TMPL_VAR NAME="branchname" --></option>
         <!--TMPL_ELSE-->    
diff --git a/opac/opac-search.pl b/opac/opac-search.pl
index 0f52650..4028f33 100755
--- a/opac/opac-search.pl
+++ b/opac/opac-search.pl
@@ -139,10 +139,9 @@ if (C4::Context->preference('TagsEnabled')) {
 #}
 
 # load the branches
-my $mybranch = ( C4::Context->preference('SearchMyLibraryFirst') && C4::Context->userenv && C4::Context->userenv->{branch} ) ? C4::Context->userenv->{branch} : '';
+
 my $branches = GetBranches();   # used later in *getRecords, probably should be internalized by those functions after caching in C4::Branch is established
 $template->param(
-    branchloop       => GetBranchesLoop($mybranch, 0),
     searchdomainloop => GetBranchCategories(undef,'searchdomain'),
 );
 
-- 
1.5.6.5



More information about the Koha-patches mailing list