Bug 6852: Staged import reports wrong success for items
authorMarcel de Rooy <m.de.rooy@rijksmuseum.nl>
Thu, 8 Sep 2016 10:06:05 +0000 (12:06 +0200)
committerJulian Maurice <julian.maurice@biblibre.com>
Fri, 16 Sep 2016 09:09:21 +0000 (11:09 +0200)
commit82795f8b91fa2e802aa6c31eac970984d2a545c9
tree9ae1a5bf135635844c0179940b6d45d80d7ae604
parente259b3d3e032ff3a70f0117b7f60c380060862f9
Bug 6852: Staged import reports wrong success for items

If we import items that have a wrong branch code, the items will not
be imported but manage-marc-import reports them as imported. (A wrong
branch code probably occurs most, but other causes are possible too.)

The underlying cause is that AddItem does not look at the error
returned from _koha_new_item in Items.pm.

This patch deals with that omission in the most economical way. It adjusts
AddItem so that it returns undef if no item was added.
In ImportBatch.pm I check if an item was added and adjust the totals
accordingly instead of just always counting them.

Note: Several scripts like additem.pl use AddItemFromMarc to call
AddItem. They do not report an error, but fail silently. With this patch,
these scripts get undef and will still fail silently. (No change.)
Adding error checks around calls of AddItemFromMarc is outside the scope of
this report. Here we are taking care of correct imported item numbers.

Test plan:
[1] Verify that additem.pl still works by adding a new item.
[2] Run t/db_dependent/Items.t
[3] Add a new branchcode, say XXX.
[4] Pick a biblio record with a few items (n) and set one item to branch XXX.
[5] Export this biblio with items to a MARC file.
[6] Change the XXX item to the original branch and remove branch XXX.
[7] Import the MARC file. Verify that one item was not imported and that
    the number of imported items reflects that (equals n-1).

Signed-off-by: Owen Leonard <oleonard@myacpl.org>

Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
(cherry picked from commit 48aba1533c7c55ed0f4b9e528ceccc9e0dd3d795)
Signed-off-by: Frédéric Demians <f.demians@tamil.fr>
(cherry picked from commit 9aee97978e3edc949d1827d7aeaf75df58e4f9e9)
Signed-off-by: Julian Maurice <julian.maurice@biblibre.com>
C4/ImportBatch.pm
C4/Items.pm