From b9f6122ec61ddd0ab3824b654ee1ace9ff6d5597 Mon Sep 17 00:00:00 2001 From: Adrien Saurat Date: Sat, 9 Jun 2012 15:44:28 +0100 Subject: [PATCH] Bug 7379: display of copy number description (AV) The biblio/items detail pages (staff and OPAC) display the copynumber description if an authorized value is configured accordingly. Signed-off-by: Gaetan Boisson Signed-off-by: Paul Poulain --- catalogue/detail.pl | 4 ++++ catalogue/moredetail.pl | 11 ++++++++++- .../prog/en/modules/catalogue/moredetail.tt | 2 +- opac/opac-detail.pl | 8 +++++--- 4 files changed, 20 insertions(+), 5 deletions(-) diff --git a/catalogue/detail.pl b/catalogue/detail.pl index be4fd9a199..d110740ee8 100755 --- a/catalogue/detail.pl +++ b/catalogue/detail.pl @@ -172,6 +172,7 @@ $dat->{'hiddencount'} = scalar @all_items + @hostitems - scalar @items; my $shelflocations = GetKohaAuthorisedValues('items.location', $fw); my $collections = GetKohaAuthorisedValues('items.ccode' , $fw); +my $copynumbers = GetKohaAuthorisedValues('items.copynumber', $fw); my (@itemloop, %itemfields); my $norequests = 1; my $authvalcode_items_itemlost = GetAuthValCode('items.itemlost',$fw); @@ -203,10 +204,13 @@ foreach my $item (@items) { $item->{itemdamagedloop} = GetAuthorisedValues($authvalcode_items_damaged, $item->{damaged}) if $authvalcode_items_damaged; } #get shelf location and collection code description if they are authorised value. + # same thing for copy number my $shelfcode = $item->{'location'}; $item->{'location'} = $shelflocations->{$shelfcode} if ( defined( $shelfcode ) && defined($shelflocations) && exists( $shelflocations->{$shelfcode} ) ); my $ccode = $item->{'ccode'}; $item->{'ccode'} = $collections->{$ccode} if ( defined( $ccode ) && defined($collections) && exists( $collections->{$ccode} ) ); + my $copynumber = $item->{'copynumber'}; + $item->{'copynumber'} = $copynumbers->{$copynumber} if ( defined($copynumber) && defined($copynumbers) && exists( $copynumbers->{$copynumber} ) ); foreach (qw(ccode enumchron copynumber itemnotes uri)) { $itemfields{$_} = 1 if ( $item->{$_} ); } diff --git a/catalogue/moredetail.pl b/catalogue/moredetail.pl index ca7d13cfe9..809430cf05 100755 --- a/catalogue/moredetail.pl +++ b/catalogue/moredetail.pl @@ -119,6 +119,7 @@ $data->{'showncount'}=$showncount; $data->{'hiddencount'}=$hiddencount; # can be zero my $ccodes= GetKohaAuthorisedValues('items.ccode',$fw); +my $copynumbers = GetKohaAuthorisedValues('items.copynumber',$fw); my $itemtypes = GetItemTypes; $data->{'itemtypename'} = $itemtypes->{$data->{'itemtype'}}->{'description'}; @@ -134,7 +135,15 @@ foreach my $item (@items){ $item->{'collection'} = $ccodes->{ $item->{ccode} } if ($ccodes); $item->{'itype'} = $itemtypes->{ $item->{'itype'} }->{'description'}; $item->{'replacementprice'} = sprintf( "%.2f", $item->{'replacementprice'} ); - $item->{'copyvol'} = $item->{'copynumber'}; + if ( defined $item->{'copynumber'} ) { + $item->{'displaycopy'} = 1; + if ( defined $copynumbers->{ $item->{'copynumber'} } ) { + $item->{'copyvol'} = $copynumbers->{ $item->{'copynumber'} } + } + else { + $item->{'copyvol'} = $item->{'copynumber'}; + } + } # item has a host number if its biblio number does not match the current bib if ($item->{biblionumber} ne $biblionumber){ diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/moredetail.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/moredetail.tt index afd2a6de17..71f8fe42b0 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/moredetail.tt +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/moredetail.tt @@ -56,7 +56,7 @@ [% END %] [% IF ( ITEM_DAT.collection ) %]
  • Collection: [% ITEM_DAT.collection %]
  • [% END %]
  • Item callnumber: [% ITEM_DAT.itemcallnumber %] 
  • - [% IF ( ITEM_DAT.copyvol ) %]
  • Copy / Vol : [% ITEM_DAT.copyvol %] 
  • [% END %] + [% IF ( ITEM_DAT.displaycopy ) %]
  • Copy / Vol : [% ITEM_DAT.copyvol %] 
  • [% END %] [% IF ( ITEM_DAT.replacementprice ) %]
  • Replacement price: [% ITEM_DAT.replacementprice %] 
  • [% END %] [% IF ITEM_DAT.materials %]
  • Materials specified: [% ITEM_DAT.materials %]
  • [% END %] diff --git a/opac/opac-detail.pl b/opac/opac-detail.pl index 3e830c93fd..2092b650b9 100755 --- a/opac/opac-detail.pl +++ b/opac/opac-detail.pl @@ -451,6 +451,7 @@ if ( $itemtype ) { } my $shelflocations =GetKohaAuthorisedValues('items.location',$dat->{'frameworkcode'}, 'opac'); my $collections = GetKohaAuthorisedValues('items.ccode',$dat->{'frameworkcode'}, 'opac'); +my $copynumbers = GetKohaAuthorisedValues('items.copynumber',$dat->{'frameworkcode'}, 'opac'); #coping with subscriptions my $subscriptionsnumber = CountSubscriptionFromBiblionumber($biblionumber); @@ -532,9 +533,10 @@ for my $itm (@items) { } # get collection code description, too - if ( my $ccode = $itm->{'ccode'} ) { - $itm->{'ccode'} = $collections->{$ccode} if ( defined($collections) && exists( $collections->{$ccode} ) ); - } + my $ccode = $itm->{'ccode'}; + $itm->{'ccode'} = $collections->{$ccode} if ( defined($collections) && exists( $collections->{$ccode} ) ); + my $copynumber = $itm->{'copynumber'}; + $itm->{'copynumber'} = $copynumbers->{$copynumber} if ( defined($copynumbers) && defined($copynumber) && exists( $copynumbers->{$copynumber} ) ); if ( defined $itm->{'location'} ) { $itm->{'location_description'} = $shelflocations->{ $itm->{'location'} }; }