From a6de5177ee61bd60dc4935b85a2068918539d88d Mon Sep 17 00:00:00 2001 From: Fridolin Somers Date: Fri, 16 Mar 2018 11:59:04 +0100 Subject: [PATCH] Bug 20435: Allow lowercase prefix in inventory value builder Cataloging value builders for inventory stocknumberAV.pl and stocknumberam123.pl use a regexp to define if entered text is a prefix or not. It actually only allows uppercase characters. A library may want to catalog with lowercase characters in inventory number and using those value builders. Note that in database the text is not case-sensitive. Test plan: 1) Configure stocknumberAV.pl value builder on an item subfield 2) Create an autorized value category 'INVENTORY' 3) Create in this category a value with code 'UC' and description '10' 4) Create in this category a value with code 'lc' and description '20' 5) Create a new item 6) Focus on stocknumber subfield 7) Enter '123' and click on value builder, the entry stays '123' 8) Enter 'UC' and click on value builder, the entry turn to 'UC 0000000011' 9) Enter 'lc' and click on value builder, the entry turn to 'lc 0000000021' Same for stocknumberam123.pl To elaborate on step #1: Go to Administration->MARC Bibliographic framework Click on the "Action" button to view the framework for the item you will be creating, view MARC structure. Search for Tag 952 (LOCATION AND ITEM INFORMATION (KOHA)) Select Actions->Subfields Edit subfield i for "Inventory Number" In the "Other options" pane, select the plugin to test. Signed-off-by: Cori Lynn Arnold Signed-off-by: Katrin Fischer --- cataloguing/value_builder/stocknumberAV.pl | 2 +- cataloguing/value_builder/stocknumberam123.pl | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/cataloguing/value_builder/stocknumberAV.pl b/cataloguing/value_builder/stocknumberAV.pl index 789a05527e..ac9d41f537 100755 --- a/cataloguing/value_builder/stocknumberAV.pl +++ b/cataloguing/value_builder/stocknumberAV.pl @@ -85,7 +85,7 @@ my $launcher = sub { # If a prefix is submited, we look for the highest stocknumber with this prefix, and return it incremented $code =~ s/ *$//g; - if ( $code =~ m/^[A-Z]+$/ ) { + if ( $code =~ m/^[a-zA-Z]+$/ ) { my $sth = $dbh->prepare("SELECT lib FROM authorised_values WHERE category='INVENTORY' AND authorised_value=?"); $sth->execute( $code); diff --git a/cataloguing/value_builder/stocknumberam123.pl b/cataloguing/value_builder/stocknumberam123.pl index 17d64ac790..afed9e96ee 100755 --- a/cataloguing/value_builder/stocknumberam123.pl +++ b/cataloguing/value_builder/stocknumberam123.pl @@ -86,7 +86,7 @@ my $launcher = sub { ); } # If a prefix is submited, we look for the highest stocknumber with this prefix, and return it incremented - } elsif ( $code =~ m/^[A-Z]+$/ ) { + } elsif ( $code =~ m/^[a-zA-Z]+$/ ) { my $sth = $dbh->prepare("SELECT MAX(CAST(SUBSTRING_INDEX(stocknumber,' ',-1) AS SIGNED)) FROM items WHERE stocknumber LIKE ?"); $sth->execute($code.' %'); -- 2.17.1