Bug 7329 [Followup] : when reverting an import, keep matching biblionumber in batch...
authorSophie Meynieux <sophie.meynieux@biblibre.com>
Sun, 10 Jun 2012 15:01:26 +0000 (17:01 +0200)
committerPaul Poulain <paul.poulain@biblibre.com>
Wed, 20 Jun 2012 07:38:01 +0000 (09:38 +0200)
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
http://bugs.koha-community.org/show_bug.cgi?id=7318

C4/ImportBatch.pm

index f82617b..a64a0d2 100644 (file)
@@ -687,7 +687,8 @@ sub BatchRevertBibRecords {
             $num_items_deleted += BatchRevertItems($rowref->{'import_record_id'}, $rowref->{'matched_biblionumber'});
             SetImportRecordStatus($rowref->{'import_record_id'}, 'reverted');
         }
-        my $sth2 = $dbh->prepare_cached("UPDATE import_biblios LEFT JOIN import_items USING (import_record_id) SET matched_biblionumber = NULL WHERE import_record_id = ? AND status != 'imported'" );
+        # remove matched_biblionumber only if there is no 'imported' item left
+        my $sth2 = $dbh->prepare_cached("UPDATE import_biblios SET matched_biblionumber = NULL WHERE import_record_id = ?  AND NOT EXISTS (SELECT * FROM import_items WHERE import_items.import_record_id=import_biblios.import_record_id and status='imported')" );
         $sth2->execute($rowref->{'import_record_id'});
     }