@@ -, +, @@ blocked without spaces in database: SELECT barcode FROM items WHERE barcode LIKE '%XXXXX%' --- cataloguing/additem.pl | 15 +++++++++++++++ 1 file changed, 15 insertions(+) --- a/cataloguing/additem.pl +++ a/cataloguing/additem.pl @@ -84,6 +84,19 @@ sub get_item_from_barcode { return($result); } +sub _trim_barcode { + my ($record) = @_; + + my ($tagfield, $tagsubfield) = GetMarcFromKohaField('items.barcode'); + my $item_field = $record->field($tagfield); + my $barcode = $item_field->subfield($tagsubfield); + if ($barcode) { + $barcode =~ s/^\s+//; + $barcode =~ s/\s+$//; + $item_field->update($tagsubfield => $barcode); + } +} + # NOTE: This code is subject to change in the future with the implemenation of ajax based autobarcode code # NOTE: 'incremental' is the ONLY autoBarcode option available to those not using javascript sub _increment_barcode { @@ -512,6 +525,8 @@ if ($op eq "additem") { $add_duplicate_submit = 1 if ($prefillitem); $justaddeditem = 1; + _trim_barcode($record); + # if autoBarcode is set to 'incremental', calculate barcode... if ( C4::Context->preference('autoBarcode') eq 'incremental' ) { $record = _increment_barcode($record, $frameworkcode); --