From b0be3f0ecfeb910f83dd17af352c618194995ea1 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 --- 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 789a055..ac9d41f 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 17d64ac..afed9e9 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.7.4