From 24dd5ea3d21caf3018525ea69c5f03d5ebeb44d3 Mon Sep 17 00:00:00 2001 From: Olli-Antti Kivilahti Date: Thu, 2 Jan 2014 10:21:49 +0200 Subject: [PATCH] Bug 11466: improve selection of item types for purchase order desired format list This patch ensures that the list of desired formats for a purchase suggestion includes the list of item types so long as the AdvancedSearchTypes system preference includes '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 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. Signed-off-by: Galen Charlton --- 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 c7aa3ed742..68652ff53f 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 f285929739..51c21b880d 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 -- 2.39.5