From 1d0c85a4a865caf82e69919b2110382be8c4539b Mon Sep 17 00:00:00 2001 From: Sophie Meynieux Date: Fri, 8 Apr 2011 12:12:09 +0200 Subject: [PATCH] Bug #6139 Automatic incrementation of call number does not work if prefix contains ' This patch also fixes giving the first callnumber with a given prefix. Signed-off-by: Paul Poulain Signed-off-by: Chris Cormack --- cataloguing/value_builder/callnumber.pl | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/cataloguing/value_builder/callnumber.pl b/cataloguing/value_builder/callnumber.pl index cc37af0d29..64507f2354 100755 --- a/cataloguing/value_builder/callnumber.pl +++ b/cataloguing/value_builder/callnumber.pl @@ -95,7 +95,7 @@ sub plugin { ); } # If a prefix is submited, we look for the highest itemcallnumber with this prefix, and return it incremented - } elsif ( $code =~ m/^[A-Z.\-]+$/ ) { + } elsif ( $code =~ m/^[A-Z.\-']+$/ ) { my $sth = $dbh->prepare("SELECT MAX(CAST(SUBSTRING_INDEX(itemcallnumber,' ',-1) AS SIGNED)) FROM items WHERE itemcallnumber LIKE ?"); $sth->execute($code.' %'); if ( my $max = $sth->fetchrow ) { @@ -103,10 +103,16 @@ sub plugin { return => $code.' '.($max+1) ); } + else { + $template->param( + return => $code.' 1' + ); + } + # The user entered a custom value, we don't touch it, this could be handled in js } else { $template->param( - return => $code, + return => $code ); } output_html_with_http_headers $input, $cookie, $template->output; -- 2.39.5