From fa5104a6a1c7e3b0bcb232e4d888066dd20eebe8 Mon Sep 17 00:00:00 2001 From: Jonathan Druart Date: Tue, 7 Apr 2015 14:14:18 +0200 Subject: [PATCH] Bug 8684: Fix duplicate check on creating items in the acquisition module The script acqui/check_uniqueness.pl has been introduced by bug 7178. But bug 11425 added a call to a new subroutine SearchItemsByField in order to refactore some code. This subroutine calls SearchItems with an arrayref, which is not what SearchItems is expecting. This broke the duplicate check done on creating items in the acquisition module. To reproduce the issue: 1/ Fill the pref UniqueItemFields with "barcode" and AcqCreateItem with "placing an order" 2/ Create a new basket 3/ Create a new order 4/ Close the basket 5/ Receive items and set barcode with one already in your DB 6/ Save 7/ Nothing happen on the interface, but an error should have been added in your Koha log file: Can't use an undefined value as an ARRAY reference at /home/koha/src/acqui/check_uniqueness.pl line 48. Test plan: 1/ Repeat steps 1-6 2/ You should see a warning on the interface Note that this should also happen with AcqCreateItem set to "creating an order". Works well, no errors. Signed-off-by: Amit Gupta Signed-off-by: Kyle M Hall Signed-off-by: Tomas Cohen Arazi --- C4/Items.pm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/C4/Items.pm b/C4/Items.pm index 55bb4bd1ee..0e639dc855 100644 --- a/C4/Items.pm +++ b/C4/Items.pm @@ -2608,10 +2608,10 @@ For instance you can search all items with a specific stocknumber like this: sub SearchItemsByField { my ($field, $value) = @_; - my $filters = [ { - field => $field, - query => $value, - } ]; + my $filters = { + field => $field, + query => $value, + }; my ($results) = SearchItems($filters); return $results; -- 2.39.5