From 6c0a70e01931b8961a4a6ad382e308dbd282b254 Mon Sep 17 00:00:00 2001 From: tgarip1957 Date: Wed, 26 Apr 2006 16:53:37 +0000 Subject: [PATCH] System preference 'itemcallnumber' can now accept 2 subfields like 050ab to accommodate for LC callnumbering. Single subfield implementation not affected. --- acqui.simple/additem.pl | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/acqui.simple/additem.pl b/acqui.simple/additem.pl index df4caae9e3..ef778bb0bd 100755 --- a/acqui.simple/additem.pl +++ b/acqui.simple/additem.pl @@ -261,12 +261,16 @@ foreach my $tag (sort keys %{$tagslib}) { (C4::Context->userenv->{flags} != 1) && ($value) && ($value ne C4::Context->userenv->{branch}) ; # print $input->redirect(".pl?bibid=$bibid") if ($test); # search for itemcallnumber if applicable +##Lc callnumbers expect 2 subfields like 050ab or 090ab . Modified to accept 2 subfields if ($tagslib->{$tag}->{$subfield}->{kohafield} eq 'items.itemcallnumber' && C4::Context->preference('itemcallnumber')) { my $CNtag = substr(C4::Context->preference('itemcallnumber'),0,3); my $CNsubfield = substr(C4::Context->preference('itemcallnumber'),3,1); + my $CNsubfield2 = substr(C4::Context->preference('itemcallnumber'),4,1); my $temp = $record->field($CNtag); if ($temp) { - $value = $temp->subfield($CNsubfield); + $value = ($temp->subfield($CNsubfield)).' '.($temp->subfield($CNsubfield2)); +#remove any trailing space incase one subfield is used + $value=~s/^\s+|\s+$//g; } } if ($tagslib->{$tag}->{$subfield}->{authorised_value}) { -- 2.39.5