Bug 10483: fix item uniqueness check on order form
authorFridolyn SOMERS <fridolyn.somers@biblibre.com>
Mon, 17 Jun 2013 15:01:33 +0000 (17:01 +0200)
committerGalen Charlton <gmc@esilibrary.com>
Wed, 14 Aug 2013 21:17:11 +0000 (21:17 +0000)
When syspref "UniqueItemFields" is defined, the item uniqueness is
tested in acquisition by an AJAX call to check_uniqueness.pl.  This
patch fixes an issue where check_uniqueness.pl wasn't looking
at the correct CGI parameters.

Test plan :
- Select an existing item with barcode
- Add "barcode" to "UniqueItemFields" syspref (use space as separator
  for multiple values)
- Set "AcqCreateItem" syspref to "Create an item when placing an order"
- Go to an acquisition basket
- Create a new order from empty
- Enter existing barcode in item form and save
=> You get an alert that barcode already exists and order is not saved
- Enter a non-existing barcode in item form and save
=> Order and item are created

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
acqui/check_uniqueness.pl

index 6260048..8deb195 100755 (executable)
@@ -37,8 +37,8 @@ use C4::Output;
 use C4::Items;
 
 my $input = new CGI;
-my @field = $input->param('field');
-my @value = $input->param('value');
+my @field = $input->param('field[]');
+my @value = $input->param('value[]');
 
 my $r = {};
 my $i = 0;