[open-ils-commits] ***SPAM*** [GIT] Evergreen ILS branch master updated. 6dfdbb0154e7615d59612561231f2ab75687e3e2

Evergreen Git git at git.evergreen-ils.org
Thu Sep 18 18:15:21 EDT 2014


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Evergreen ILS".

The branch, master has been updated
       via  6dfdbb0154e7615d59612561231f2ab75687e3e2 (commit)
      from  d2e752970af829361359195a79dab32b7f97558e (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 6dfdbb0154e7615d59612561231f2ab75687e3e2
Author: Bill Erickson <berick at esilibrary.com>
Date:   Tue Jun 17 15:14:12 2014 -0400

    LP#1331127 Repair sort logic of previous issuances
    
    Ensure that the list of previous issuances is sorted correctly (on
    date_published) when looking for the previous serial.unit to update its
    copy location (when serial.prev_issuance_copy_location is enabled).
    
    The data comes sorted from the DB, but the sorting was lost during the
    process of unique-ifying the list.  Ultimately, it was relying on the
    order of hash keys, which is undefined.
    
    Signed-off-by: Bill Erickson <berick at esilibrary.com>
    Signed-off-by: Dan Wells <dbw2 at calvin.edu>

diff --git a/Open-ILS/src/perlmods/lib/OpenILS/Application/Serial.pm b/Open-ILS/src/perlmods/lib/OpenILS/Application/Serial.pm
index 35bcc82..60b7383 100644
--- a/Open-ILS/src/perlmods/lib/OpenILS/Application/Serial.pm
+++ b/Open-ILS/src/perlmods/lib/OpenILS/Application/Serial.pm
@@ -1497,8 +1497,14 @@ sub _issuances_received {
         }
     }) or return $e->die_event;
 
-    my $uniq = +{map { $_->{"issuance"} => 1 } @$results};
-    return [ map { $e->retrieve_serial_issuance($_) } keys %$uniq ];
+    my %seen;
+    my $issuances = [];
+    for my $iss_id (map { $_->{"issuance"} } @$results) {
+        next if $seen{$iss_id};
+        $seen{$iss_id} = 1;
+        push(@$issuances, $e->retrieve_serial_issuance($iss_id));
+    }
+    return $issuances;
 }
 
 # _prepare_unit populates the detailed_contents, summary_contents, and

-----------------------------------------------------------------------

Summary of changes:
 .../src/perlmods/lib/OpenILS/Application/Serial.pm |   10 ++++++++--
 1 files changed, 8 insertions(+), 2 deletions(-)


hooks/post-receive
-- 
Evergreen ILS


More information about the open-ils-commits mailing list