use C4::Output;
use C4::Biblio;
use C4::Items;
+use C4::Circulation;
use C4::Tags qw(get_tags);
use C4::Dates qw/format_date/;
use C4::XISBN qw(get_xisbns get_biblionumber_from_isbn get_biblio_from_xisbn);
my $dat = &GetBiblioData($biblionumber);
if (!$dat) {
- print $query->redirect("/cgi-bin/koha/koha-tmpl/errors/404.pl");
+ print $query->redirect("/cgi-bin/koha/errors/404.pl");
exit;
}
my $imgdir = getitemtypeimagesrc();
#coping with subscriptions
my $subscriptionsnumber = CountSubscriptionFromBiblionumber($biblionumber);
-my @subscriptions =
- GetSubscriptions( $dat->{title}, $dat->{issn}, $biblionumber );
+my @subscriptions = GetSubscriptions( $dat->{title}, $dat->{issn}, $biblionumber );
my @subs;
$dat->{'serial'}=1 if $subscriptionsnumber;
foreach my $subscription (@subscriptions) {
my $biblio_authorised_value_images = C4::Items::get_authorised_value_images( C4::Biblio::get_biblio_authorised_values( $biblionumber ) );
my $norequests = 1;
+my $branches = GetBranches();
my %itemfields;
for my $itm (@items) {
$norequests = 0 && $norequests
$itemfields{ccode} = 1 if($itm->{ccode});
$itemfields{enumchron} = 1 if($itm->{enumchron});
$itemfields{copynumber} = 1 if($itm->{copynumber});
+ $itemfields{itemnotes} = 1 if($itm->{itemnotes});
# walk through the item-level authorised values and populate some images
my $item_authorised_value_images = C4::Items::get_authorised_value_images( C4::Items::get_item_authorised_values( $itm->{'itemnumber'} ) );
$itm->{'lostimagelabel'} = $lostimageinfo->{ 'label' };
}
+
+ my ( $transfertwhen, $transfertfrom, $transfertto ) = GetTransfers($itm->{itemnumber});
+ if ( $transfertwhen ne '' ) {
+ $itm->{transfertwhen} = format_date($transfertwhen);
+ $itm->{transfertfrom} = $branches->{$transfertfrom}{branchname};
+ $itm->{transfertto} = $branches->{$transfertto}{branchname};
+ }
}
## get notes and subjects from MARC record
itemdata_ccode => $itemfields{ccode},
itemdata_enumchron => $itemfields{enumchron},
itemdata_copynumber => $itemfields{copynumber},
+ itemdata_itemnotes => $itemfields{itemnotes},
authorised_value_images => $biblio_authorised_value_images,
subtitle => $subtitle,
);
loggedincommenter => $loggedincommenter
);
+sub isbn_cleanup ($) {
+ my $isbn=shift;
+ if (
+ $isbn =~ /\b(\d{13})\b/ or
+ $isbn =~ /\b(\d{10})\b/ or
+ $isbn =~ /\b(\d{9}X)\b/i
+ ) {
+ return $1;
+ }
+ return undef;
+}
+
# XISBN Stuff
my $xisbn=$dat->{'isbn'};
$xisbn =~ /(\d*[X]*)/;
$template->param(amazonisbn => $1); # FIXME: so it is OK if the ISBN = 'XXXXX' ?
-my ($clean, $amazonisbn);
-$amazonisbn = $1;
+my ($clean,$clean2);
# these might be overkill, but they are better than the regexp above.
-if (
- $amazonisbn =~ /\b(\d{13})\b/ or
- $amazonisbn =~ /\b(\d{10})\b/ or
- $amazonisbn =~ /\b(\d{9}X)\b/i
-) {
- $clean = $1;
- $template->param(clean_isbn => $1);
+if ($clean = isbn_cleanup($xisbn)){
+ $template->param(clean_isbn => $clean);
}
if (C4::Context->preference("OPACFRBRizeEditions")==1) {
my ($starting_cn_sort, $starting_homebranch, $starting_location);
my $sth_get_cn_sort = $dbh->prepare("SELECT cn_sort,homebranch,location from items where itemnumber=?");
$sth_get_cn_sort->execute($starting_itemnumber);
-my $branches = GetBranches();
while (my $result = $sth_get_cn_sort->fetchrow_hashref()) {
$starting_cn_sort = $result->{'cn_sort'};
$starting_homebranch->{code} = $result->{'homebranch'};
$sth_get_biblio->execute($this_item->{biblionumber});
while (my $this_biblio = $sth_get_biblio->fetchrow_hashref()) {
$this_item->{'title'} = $this_biblio->{'title'};
- $this_item->{'isbn'} = $this_biblio->{'isbn'};
+ if ($clean2 = isbn_cleanup($this_biblio->{'isbn'})) {
+ $this_item->{'isbn'} = $clean2;
+ } else {
+ $this_item->{'isbn'} = $this_biblio->{'isbn'};
+ }
}
unshift @previous_items, $this_item;
}
$sth_get_biblio->execute($this_item->{biblionumber});
while (my $this_biblio = $sth_get_biblio->fetchrow_hashref()) {
$this_item->{'title'} = $this_biblio->{'title'};
- $this_item->{'isbn'} = $this_biblio->{'isbn'};
+ if ($clean2 = isbn_cleanup($this_biblio->{'isbn'})) {
+ $this_item->{'isbn'} = $clean2;
+ } else {
+ $this_item->{'isbn'} = $this_biblio->{'isbn'};
+ }
}
push @next_items, $this_item;
}
TagsShowOnDetail => $tag_quantity,
TagsInputOnDetail => C4::Context->preference('TagsInputOnDetail')
);
- $template->param(TagLoop => get_tags({biblionumber=>$biblionumber,
+ $template->param(TagLoop => get_tags({biblionumber=>$biblionumber, approved=>1,
'sort'=>'-weight', limit=>$tag_quantity}));
}