From 9fe5d4de45e5788279426798179de1d86d5279c3 Mon Sep 17 00:00:00 2001 From: Olli-Antti Kivilahti Date: Thu, 2 Jan 2014 10:21:49 +0200 Subject: [PATCH] [SIGNED-OFF] 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. --- 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..6c1c7e5 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.7.2.3