X-Git-Url: http://koha-dev.rot13.org:8081/gitweb/?a=blobdiff_plain;f=catalogue%2FMARCdetail.pl;h=2073ffd82a476c5a55f7785fc6d8537acfe65887;hb=4458ac5764126049d95e115adeacd1f335efdb8f;hp=d73c5d99aeb451fe6eb9bda889a40163aa85974d;hpb=f75f964ba40b7bdd1911842bc43b4df095aee583;p=koha_fer diff --git a/catalogue/MARCdetail.pl b/catalogue/MARCdetail.pl index d73c5d99ae..2073ffd82a 100755 --- a/catalogue/MARCdetail.pl +++ b/catalogue/MARCdetail.pl @@ -1,6 +1,7 @@ #!/usr/bin/perl # Copyright 2000-2002 Katipo Communications +# Copyright 2010 BibLibre # # This file is part of Koha. # @@ -54,6 +55,7 @@ use MARC::Record; use C4::Biblio; use C4::Items; use C4::Acquisition; +use C4::Members; # to use GetMember use C4::Serials; #uses getsubscriptionsfrombiblionumber GetSubscriptionsFromBiblionumber use C4::Search; # enabled_staff_search_views @@ -68,10 +70,6 @@ my $popup = ; # if set to 1, then don't insert links, it's just to show the biblio my $subscriptionid = $query->param('subscriptionid'); -my $tagslib = &GetMarcStructure(1,$frameworkcode); - -my $record = GetMarcBiblio($biblionumber); -my $biblio = GetBiblioData($biblionumber); # open template my ( $template, $loggedinuser, $cookie ) = get_template_and_user( { @@ -84,6 +82,31 @@ my ( $template, $loggedinuser, $cookie ) = get_template_and_user( } ); +my $record = GetMarcBiblio($biblionumber, 1); +$template->param( ocoins => GetCOinSBiblio($record) ); + +if ( not defined $record ) { + # biblionumber invalid -> report and exit + $template->param( unknownbiblionumber => 1, + biblionumber => $biblionumber + ); + output_html_with_http_headers $query, $cookie, $template->output; + exit; +} + +my $tagslib = &GetMarcStructure(1,$frameworkcode); +my $biblio = GetBiblioData($biblionumber); + +if($query->cookie("holdfor")){ + my $holdfor_patron = GetMember('borrowernumber' => $query->cookie("holdfor")); + $template->param( + holdfor => $query->cookie("holdfor"), + holdfor_surname => $holdfor_patron->{'surname'}, + holdfor_firstname => $holdfor_patron->{'firstname'}, + holdfor_cardnumber => $holdfor_patron->{'cardnumber'}, + ); +} + #count of item linked my $itemcount = GetItemsCount($biblionumber); $template->param( count => $itemcount, @@ -126,7 +149,8 @@ for ( my $tabloop = 0 ; $tabloop <= 10 ; $tabloop++ ) { $subfield_data{marc_tag} = '000'; push( @subfields_data, \%subfield_data ); my %tag_data; - $tag_data{tag} = '000 -' . $tagslib->{'000'}->{lib}; + $tag_data{tag} = '000'; + $tag_data{tag_desc} = $tagslib->{'000'}->{lib}; my @tmp = @subfields_data; $tag_data{subfield} = \@tmp; push( @loop_data, \%tag_data ); @@ -154,7 +178,7 @@ for ( my $tabloop = 0 ; $tabloop <= 10 ; $tabloop++ ) { # loop through each subfield for my $i ( 0 .. $#subf ) { - $subf[$i][0] = "@" unless $subf[$i][0]; + $subf[$i][0] = "@" unless defined $subf[$i][0]; next if ( $tagslib->{ $fields[$x_i]->tag() }->{ $subf[$i][0] }->{tab} @@ -213,12 +237,9 @@ for ( my $tabloop = 0 ; $tabloop <= 10 ; $tabloop++ ) { $tag_data{tag} = $tagslib->{ $fields[$x_i]->tag() }->{lib}; } else { - $tag_data{tag} = - $fields[$x_i]->tag() - . ' ' - . C4::Koha::display_marc_indicators($fields[$x_i]) - . ' - ' - . $tagslib->{ $fields[$x_i]->tag() }->{lib}; + $tag_data{tag} = $fields[$x_i]->tag(); + $tag_data{tag_ind} = C4::Koha::display_marc_indicators($fields[$x_i]); + $tag_data{tag_desc} = $tagslib->{ $fields[$x_i]->tag() }->{lib}; } } my @tmp = @subfields_data; @@ -310,6 +331,39 @@ $template->param ( marcview => 1, z3950_search_params => C4::Search::z3950_search_args($biblio), C4::Search::enabled_staff_search_views, + searchid => $query->param('searchid'), ); +my @allorders_using_biblio = GetOrdersByBiblionumber ($biblionumber); +my @deletedorders_using_biblio; +my @orders_using_biblio; +my @baskets_orders; +my @baskets_deletedorders; + +foreach my $myorder (@allorders_using_biblio) { + my $basket = $myorder->{'basketno'}; + if ((defined $myorder->{'datecancellationprinted'}) and ($myorder->{'datecancellationprinted'} ne '0000-00-00') ){ + push @deletedorders_using_biblio, $myorder; + unless (grep(/^$basket$/, @baskets_deletedorders)){ + push @baskets_deletedorders,$myorder->{'basketno'}; + } + } + else { + push @orders_using_biblio, $myorder; + unless (grep(/^$basket$/, @baskets_orders)){ + push @baskets_orders,$myorder->{'basketno'}; + } + } +} + +my $count_orders_using_biblio = scalar @orders_using_biblio ; +$template->param (countorders => $count_orders_using_biblio); + +my $count_deletedorders_using_biblio = scalar @deletedorders_using_biblio ; +$template->param (countdeletedorders => $count_deletedorders_using_biblio); + +my $holds = C4::Reserves::GetReservesFromBiblionumber({ biblionumber => $biblionumber, all_dates => 1 }); +my $holdcount = scalar( @$holds ); +$template->param( holdcount => scalar ( @$holds ) ); + output_html_with_http_headers $query, $cookie, $template->output;