This patch updates the UniqueItemFields system preference so that it
contains pipe-delimited data instead of space-delimited data. This makes
it consistent with other system preferences which contain lists of
database column names, and enables the selection process provided by Bug
22844.
This patch includes a database update to convert space-delimited values
in UniqueItemFields to pipe-delimited.
To test you should have two or more space-delimited items table columns
saved in the UniqueItemFields system preference. Apply the patch and run
the database update.
- Go to Administration -> System preferences -> Acquisitions and
confirm that the value of UniqueItemFields is now pipe-delimited.
- Set the AcqCreateItem system preference to "placing an order."
- Go to Acquisitions -> Vendor -> Basket -> Add to basket -> From a new
(empty) record.
- Fill out the item add form, including those fields specified in
UniqueItemFields.
- Click the "Add multiple items" button and specify one or more
items.
- Click "Add" and verify that in the table of items added, the fields
specified in UniqueItemFields were not duplicated.
- Edit one or more of those items and add duplicate values to one or
more of the fields specified in UniqueItemFields.
- Click "Save" and confirm that you are presented with an error
highlighting the duplicated data.
- Correct the data to remove the duplicates and click "Save" again.
It should save correctly.
- Set the AcqCreateItem system preference to "receiving an order."
- Repeat the test above during the process of receiving an order.
Signed-off-by: Liz Rea <wizzyrea@gmail.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
--- /dev/null
+$DBversion = 'XXX'; # will be replaced by the RM
+if( CheckVersion( $DBversion ) ) {
+ $dbh->do(q{UPDATE systempreferences SET value = REPLACE( value, ' ', '|' ) WHERE variable = 'UniqueItemFields'; });
+
+ SetVersion( $DBversion );
+ print "Upgrade to $DBversion done (Bug 22867 - UniqueItemFields preference value should be pipe-delimited)\n";
+}
-
- "The following <a href='http://schema.koha-community.org/__VERSION__/tables/items.html' target='blank'>database columns</a> should be unique in an item:"
- pref: UniqueItemFields
- - (separated by a space)
+ - (separate columns with |)
-
- When closing or reopening a basket,
- pref: BasketConfirmations
}
var dont_copy_fields = new Array();
if(unique_item_fields) {
- var dont_copy_fields = unique_item_fields.split(' ');
+ var dont_copy_fields = unique_item_fields.split('|');
for(i in dont_copy_fields) {
dont_copy_fields[i] = "items." + dont_copy_fields[i];
}
var data = new Object();
data['field'] = new Array();
data['value'] = new Array();
- var array_fields = unique_item_fields.split(' ');
+ var array_fields = unique_item_fields.split('|');
$(".order_error").empty(); // Clear error div
// Check if a value is duplicated in form