From bf002630b6644ee7044d8eea6b31ff3c6f3bbf03 Mon Sep 17 00:00:00 2001 From: Nick Clemens Date: Mon, 19 Aug 2019 19:38:52 +0000 Subject: [PATCH] Bug 23475: Use localStorage to preserve simple search values To test: 1 - Enable IntranetCatalogSearchPulldown 2 - Perform a search that brings you to a single title 3 - Note the search is not displayed on the details page 4 - Apply patch 5 - Repeat 6 - Note the search is retained on details page 7 - Try with different dropdown values and search terms 8 - Test search terms including accented characters etc Signed-off-by: David Nind Signed-off-by: Josef Moravec Bug 23475: (follow-up) Fix selectors and stray use statements --- catalogue/search.pl | 8 ++++---- .../intranet-tmpl/prog/en/modules/catalogue/detail.tt | 7 +++++++ koha-tmpl/intranet-tmpl/prog/js/staff-global.js | 7 +++++++ 3 files changed, 18 insertions(+), 4 deletions(-) diff --git a/catalogue/search.pl b/catalogue/search.pl index a5e0ecb408..d354a40eeb 100755 --- a/catalogue/search.pl +++ b/catalogue/search.pl @@ -557,13 +557,13 @@ for (my $i=0;$i<@servers;$i++) { my $defaultview = C4::Context->preference('IntranetBiblioDefaultView'); my $views = { C4::Search::enabled_staff_search_views }; if ($defaultview eq 'isbd' && $views->{can_view_ISBD}) { - print $cgi->redirect("/cgi-bin/koha/catalogue/ISBDdetail.pl?biblionumber=$biblionumber"); + print $cgi->redirect("/cgi-bin/koha/catalogue/ISBDdetail.pl?biblionumber=$biblionumber&found1=1"); } elsif ($defaultview eq 'marc' && $views->{can_view_MARC}) { - print $cgi->redirect("/cgi-bin/koha/catalogue/MARCdetail.pl?biblionumber=$biblionumber"); + print $cgi->redirect("/cgi-bin/koha/catalogue/MARCdetail.pl?biblionumber=$biblionumber&found1=1"); } elsif ($defaultview eq 'labeled_marc' && $views->{can_view_labeledMARC}) { - print $cgi->redirect("/cgi-bin/koha/catalogue/labeledMARCdetail.pl?biblionumber=$biblionumber"); + print $cgi->redirect("/cgi-bin/koha/catalogue/labeledMARCdetail.pl?biblionumber=$biblionumber&found1=1"); } else { - print $cgi->redirect("/cgi-bin/koha/catalogue/detail.pl?biblionumber=$biblionumber"); + print $cgi->redirect("/cgi-bin/koha/catalogue/detail.pl?biblionumber=$biblionumber&found1=1"); } exit; } diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/detail.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/detail.tt index 5c0f779436..fc6745156f 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/detail.tt +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/detail.tt @@ -1308,6 +1308,13 @@ Note that permanent location is a code, and location may be an authval. })); [% END %] }); + + $(document).ready(function() { + var search_index = localStorage.getItem("cat_search_pulldown_selection"); + var search_value = localStorage.getItem("searchbox_value"); + if ( search_index ){ $('#cat-search-block select.advsearch').val(search_index)}; + if ( search_value ){ $('#cat-search-block #search-form').val(search_value)}; + }); [% END %] [% INCLUDE 'intranet-bottom.inc' %] diff --git a/koha-tmpl/intranet-tmpl/prog/js/staff-global.js b/koha-tmpl/intranet-tmpl/prog/js/staff-global.js index f38b373f0b..02c4b621a4 100644 --- a/koha-tmpl/intranet-tmpl/prog/js/staff-global.js +++ b/koha-tmpl/intranet-tmpl/prog/js/staff-global.js @@ -149,6 +149,7 @@ $.fn.selectTabByID = function (tabID) { } }); resetSearchContext(); + saveOrClearSimpleSearchParams(); }); /* any link to launch a search except navigation links */ $("[href*='search.pl?']").not(".nav").not('.searchwithcontext').click(function(){ @@ -341,3 +342,9 @@ function getContextBiblioNumbers() { function resetSearchContext() { setContextBiblioNumbers( new Array() ); } + +function saveOrClearSimpleSearchParams() { + // Simple masthead search - pass value for display on details page + localStorage.setItem('cat_search_pulldown_selection', $("#cat-search-block select.advsearch").val() ); + localStorage.setItem('searchbox_value', $("#cat-search-block #search-form").val() ); +} -- 2.20.1