From 1dffe0750b93e60e7d35ca1c28ee25eef5b37ed3 Mon Sep 17 00:00:00 2001 From: Katrin Fischer Date: Tue, 25 Oct 2011 17:38:04 +0200 Subject: [PATCH] Bug 6894: Order from suggestion defaulting to wrong currency This problem turned out to be a bit different, than I initally thought. This patch fixes the currency selections for new orders created in staff. Before this patch, the first currency in the list was selected instead of the active currency. So you needed to change it explicitly. After patch it should work like this: 1) Suggestion created in OPAC - currency defaults to NULL in database 2) Editing a suggestion created in OPAC will default to active currency. 3) Creating a new suggestion in staff will default to active currency. 4) When ordering, the currency will default to the vendor currency, if no currency is set in the suggestion. (still happens, when suggestions are accepted in batch from the list. I hope this is right - comments and testing appreciated. Signed-off-by: Liz Rea Verified that in the above places, active currency was displayed or selected. Tested both suggestions entered from the OPAC and from the intranet. Signed-off-by: Jared Camins-Esakov Verified the existence of the bug, and that the fix works as advertised. Signed-off-by: Paul Poulain (cherry picked from commit 624b1562d8567dabd23cb4e1ac7e34615e604edc) Signed-off-by: Chris Nighswonger --- suggestion/suggestion.pl | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/suggestion/suggestion.pl b/suggestion/suggestion.pl index 18f71b0b68..272ca6ff2e 100755 --- a/suggestion/suggestion.pl +++ b/suggestion/suggestion.pl @@ -307,13 +307,21 @@ $template->param( "statusselected_$$suggestion_ref{'STATUS'}" =>1); # get currencies and rates my @rates = GetCurrencies(); my $count = scalar @rates; +my $active_currency = GetCurrency(); +my $selected_currency; +if ($$suggestion_ref{'currency'}) { + $selected_currency = $$suggestion_ref{'currency'}; +} +else { + $selected_currency = $active_currency->{currency}; +} my @loop_currency = (); for ( my $i = 0 ; $i < $count ; $i++ ) { my %line; $line{currcode} = $rates[$i]->{'currency'}; $line{rate} = $rates[$i]->{'rate'}; - $line{selected} = 1 if ($$suggestion_ref{'currency'} && $line{'currcode'} eq $$suggestion_ref{'currency'}); + $line{selected} = 1 if ($line{'currcode'} eq $selected_currency); push @loop_currency, \%line; } -- 2.39.5