From d1a339b98bb4d8d283a7868c2c613f154407c51d Mon Sep 17 00:00:00 2001 From: Olli-Antti Kivilahti Date: Thu, 2 Jan 2014 10:21:49 +0200 Subject: [PATCH] [PASSED QA] Bug 11466 - Purchase suggestion itemtypes, only default available if AdvancedSearchTypes not equal 'itemtypes' -------------- -- Synopsis -- -------------- When system preference AdvancedSearchTypes has other values than 'itemtypes', for ex 'itemtypes|loc', itemtypes selection in opac-suggestions.pl is not populated with available itemtypes. This patch fixes the issue by broadening the strict comparison of ($advanced_search_types eg 'itemtypes') #fails 'itemtypes|loc' to ($advanced_search_types =~ 'itemtypes') #succeeds 'itemtypes|loc' Unit tests included --------------- -- Test plan -- --------------- REPLICATING THE ISSUE 1. Set system preference AdvancedSearchTypes to itemtypes|loc 2. Go to opac-suggestions.pl and observe Item type dropdown list 2.1. List should have itemtypes available for selection Thanks for testing! You are awesome! gg Signed-off-by: Nicole C. Engard Tests worked as expected. Placed a suggestion and saw the whole list of item types, chose one, saved, checked staff and it loaded as expected. Changed item type in staff and it applied in both views. Signed-off-by: Katrin Fischer Works as described, passes all tests including new regression tests. Restores old functionality. --- C4/Koha.pm | 2 +- t/db_dependent/Suggestions.t | 12 +++++++++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/C4/Koha.pm b/C4/Koha.pm index 4202957..ca71807 100644 --- a/C4/Koha.pm +++ b/C4/Koha.pm @@ -189,7 +189,7 @@ build a HTML select with the following code : sub GetSupportList{ my $advanced_search_types = C4::Context->preference("AdvancedSearchTypes"); - if (!$advanced_search_types or $advanced_search_types eq 'itemtypes') { + if (!$advanced_search_types or $advanced_search_types =~ /itemtypes/) { my $query = qq| SELECT * FROM itemtypes diff --git a/t/db_dependent/Suggestions.t b/t/db_dependent/Suggestions.t index f285929..51c21b8 100644 --- a/t/db_dependent/Suggestions.t +++ b/t/db_dependent/Suggestions.t @@ -9,10 +9,11 @@ use Data::Dumper; use C4::Suggestions; -use Test::More tests =>9; +use Test::More tests =>12; BEGIN { use_ok('C4::Suggestions'); + use_ok('C4::Koha'); } my ($suggestionid, $suggestion, $status, $biblionumber); @@ -26,3 +27,12 @@ ok($suggestion= GetSuggestionFromBiblionumber( $biblionumber ), "GetSuggestionFr ok($suggestion= GetSuggestionInfoFromBiblionumber( $biblionumber ), "GetSuggestionInfoFromBiblionumber OK"); ok(@{SearchSuggestion( {STATUS=>'STALLED'} )}>0, "SearchSuggestion Status OK"); +## Bug 11466, making sure GetSupportList() returns itemtypes, even if AdvancedSearchTypes has multiple values +C4::Context->set_preference("AdvancedSearchTypes", 'itemtypes|loc|ccode'); +my $itemtypes = C4::Koha::GetSupportList(); +ok(scalar @$itemtypes, "Purchase suggestion itemtypes collected, multiple AdvancedSearchTypes"); + +C4::Context->set_preference("AdvancedSearchTypes", 'itemtypes'); +$itemtypes = C4::Koha::GetSupportList(); +ok(scalar @$itemtypes, "Purchase suggestion itemtypes collected, default AdvancedSearchTypes"); +##EO Bug 11466 \ No newline at end of file -- 1.8.3.2