From 62a1cd8159e5077d302c6965db187c21dc534225 Mon Sep 17 00:00:00 2001 From: Jared Camins-Esakov Date: Mon, 21 Mar 2011 16:36:20 -0500 Subject: [PATCH] Bug 5390: OPAC loses library selection 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 Signed-off-by: Liz Rea Signed-off-by: Chris Cormack (cherry picked from commit 0a1f05a5a2cbe0bb5665c824c0cbcf1a0851a6fa) Signed-off-by: Chris Nighswonger --- 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 2e03e70d51..94bbf82e30 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 878a4126f9..5f74283e5b 100644 --- a/koha-tmpl/opac-tmpl/prog/en/includes/masthead.inc +++ b/koha-tmpl/opac-tmpl/prog/en/includes/masthead.inc @@ -82,14 +82,15 @@ - + + + " type="hidden" /> + + " type="hidden" /> - - - - " type="hidden" /> + 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 2ba2629b43..eb9b811bc4 100644 --- a/koha-tmpl/opac-tmpl/prog/en/modules/opac-advsearch.tmpl +++ b/koha-tmpl/opac-tmpl/prog/en/modules/opac-advsearch.tmpl @@ -237,7 +237,7 @@