From 2f91d8a15e3e59c11c8f694f71aa2c459f960733 Mon Sep 17 00:00:00 2001
From: Olli-Antti Kivilahti <olli-antti.kivilahti@jns.fi>
Date: Thu, 2 Jan 2014 10:21:49 +0200
Subject: [PATCH] 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 <select> dropdown list
2.1. List should have only the default value

AFTER APLLYING THIS PATCH
1. Set system preference  AdvancedSearchTypes to itemtypes|loc
2. Go to opac-suggestions.pl and observe Item type <select> dropdown list
2.1. List should have itemtypes available for selection

Thanks for testing!
You are awesome!
gg
---
 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..b95d303 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.1.2