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 <paul.poulain@biblibre.com> Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
This commit is contained in:
parent
1a03a8a38e
commit
1d0c85a4a8
1 changed files with 8 additions and 2 deletions
|
@ -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;
|
||||
|
|
Loading…
Reference in a new issue