Bug 11132: don't clear the results list upon adding a biblio to a list

A "busc" param is cleared if the template name is not opac-.*detail.tt.
So if a user adds a biblio to a list, he cannot continue to browse
results.

Test plan:
- launch a search at the OPAC (opac-search.pl).
- click on a result and browse results (using previous/next links).
- a title attract your attention and you add it to a list
  ("Save to yours lists" link on the right).
- save the list.
- browse again results.

Signed-off-by: Joy Nelson <joy@bywatersolutions.com>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Tested according to test plan, also checked some other pages and actions
accessible from the detail page.
Passes all tests and QA script.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
This commit is contained in:
Jonathan Druart 2013-10-24 17:06:08 +02:00 committed by Galen Charlton
parent eca16da01f
commit de5d977c49

View file

@ -371,10 +371,15 @@ sub get_template_and_user {
my $LibraryNameTitle = C4::Context->preference("LibraryName");
$LibraryNameTitle =~ s/<(?:\/?)(?:br|p)\s*(?:\/?)>/ /sgi;
$LibraryNameTitle =~ s/<(?:[^<>'"]|'(?:[^']*)'|"(?:[^"]*)")*>//sg;
# clean up the busc param in the session if the page is not opac-detail
if (C4::Context->preference("OpacBrowseResults") && $in->{'template_name'} =~ /opac-(.+)\.(?:tt|tmpl)$/ && $1 !~ /^(?:MARC|ISBD)?detail$/) {
my $sessionSearch = get_session($sessionID || $in->{'query'}->cookie("CGISESSID"));
$sessionSearch->clear(["busc"]) if ($sessionSearch->param("busc"));
# clean up the busc param in the session if the page is not opac-detail and not the "add to list" page
if ( C4::Context->preference("OpacBrowseResults")
&& $in->{'template_name'} =~ /opac-(.+)\.(?:tt|tmpl)$/ ) {
my $pagename = $1;
unless ( $pagename =~ /^(?:MARC|ISBD)?detail$/
or $pagename =~ /^addbybiblionumber$/ ) {
my $sessionSearch = get_session($sessionID || $in->{'query'}->cookie("CGISESSID"));
$sessionSearch->clear(["busc"]) if ($sessionSearch->param("busc"));
}
}
# variables passed from CGI: opac_css_override and opac_search_limits.
my $opac_search_limit = $ENV{'OPAC_SEARCH_LIMIT'};