From f70e19423231be1c39a9cc0808be2aca53524d00 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 Content-Type: text/plain; charset="UTF-8" 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. --- suggestion/suggestion.pl | 10 +++++++++- 1 files changed, 9 insertions(+), 1 deletions(-) diff --git a/suggestion/suggestion.pl b/suggestion/suggestion.pl index 18f71b0..272ca6f 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; } -- 1.7.2.5