From 4bd730d4c24440c157801b68e248002b10ec0dd3 Mon Sep 17 00:00:00 2001 From: Jonathan Druart Date: Tue, 8 Oct 2013 17:17:45 +0200 Subject: [PATCH] Bug 11018: allow adding order from a reverted MARC batch Weird behavior: When an import is undone into catalog, the status is set to "reverted". But if you open the add orders from iso2709, the status is automatically set to "imported" and does not appear in the list. So it is not possible to import a reverted batch. [RM note: since a reverted batch is nonetheless a staged batch, and could be reused, allowing orders to be placed by taking bibs from a reverted batch is not as odd as it might sound. It *can* look odd for a staged or reverted batch to contain records that are imported, but that's a long-standing oddity.] Test plan: - verify you reproduce the weird behavior - apply this patch - import a file and the batch into the catalog - verify (in the your mysql/MariaDB cli) the status is "imported" - verify it does not appears in the add orders from iso2809 page - undo the import - verify (in the your mysql/MariaDB cli) the status is "reverted" - verify it appears in the add orders from iso2809 page and the status is always "reverted" - finish the order Signed-off-by: Pierre Angot Signed-off-by: Kyle M Hall Signed-off-by: Galen Charlton --- acqui/addorderiso2709.pl | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/acqui/addorderiso2709.pl b/acqui/addorderiso2709.pl index d40e912c13..e56bd06351 100755 --- a/acqui/addorderiso2709.pl +++ b/acqui/addorderiso2709.pl @@ -329,9 +329,9 @@ sub import_batches_list { my @list = (); foreach my $batch (@$batches) { - if ($batch->{'import_status'} eq "staged") { + if ( $batch->{'import_status'} =~ /^staged$|^reverted$/ ) { # check if there is at least 1 line still staged - my $stagedList=GetImportRecordsRange($batch->{'import_batch_id'}, undef, undef, 'staged'); + my $stagedList=GetImportRecordsRange($batch->{'import_batch_id'}, undef, undef, $batch->{import_status}); if (scalar @$stagedList) { push @list, { import_batch_id => $batch->{'import_batch_id'}, @@ -356,7 +356,8 @@ sub import_batches_list { sub import_biblios_list { my ($template, $import_batch_id) = @_; my $batch = GetImportBatch($import_batch_id,'staged'); - my $biblios = GetImportRecordsRange($import_batch_id,'','','staged'); + return () unless $batch and $batch->{import_status} =~ /^staged$|^reverted$/; + my $biblios = GetImportRecordsRange($import_batch_id,'','',$batch->{import_status}); my @list = (); foreach my $biblio (@$biblios) { -- 2.20.1