Bug 16053: Do not remove the active flag when editing the active currency
authorJonathan Druart <jonathan.druart@bugs.koha-community.org>
Fri, 11 Mar 2016 11:42:09 +0000 (11:42 +0000)
committerBrendan Gallagher <brendan@bywatersolutions.com>
Mon, 21 Mar 2016 21:35:04 +0000 (21:35 +0000)
From commit b574b615919a6463708d4c1d7b1153a061c1ea0a
   Bug 15084: Make sure the previous active currency is marked as inactive

When a currency is stored, all the active flags of all currencies are unset.
Only the active ones and different than the one we are editing should be updated.

Test plan:
Edit the active currency
=> Without this patch the active flag was removed
=> With this patch, the active flag is kept

Edit another currency and set it the active flag
=> The active flag must have been removed from the previously active
currency.

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Brendan Gallagher brendan@bywatersolutions.com
Koha/Acquisition/Currency.pm

index 63c8693..42d3f19 100644 (file)
@@ -42,7 +42,13 @@ sub store {
     my $result;
     $self->_result->result_source->schema->txn_do( sub {
         if ( $self->active ) {
-            my @currencies = Koha::Acquisition::Currencies->search;
+            # Remove the active flag from all other active currencies
+            my @currencies = Koha::Acquisition::Currencies->search(
+                {
+                    currency => { '!=' => $self->currency },
+                    active => 1,
+                }
+            );
             for my $currency ( @currencies ) {
                 $currency->active(0);
                 $currency->store;