From f879311185f78e1e2592755a2d7921a2348adbed Mon Sep 17 00:00:00 2001 From: Jonathan Druart Date: Tue, 7 Apr 2015 14:14:18 +0200 Subject: [PATCH 1/2] 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 --- C4/Items.pm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/C4/Items.pm b/C4/Items.pm index 55bb4bd..0e639dc 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; -- 1.7.9.5