X-Git-Url: http://koha-dev.rot13.org:8081/gitweb/?a=blobdiff_plain;f=catalogue%2FlabeledMARCdetail.pl;h=86525162f465a877323f86ac6106d2114a0af923;hb=70d61d80fbf48df4d2a3843ea3349ea77de5fbf8;hp=ead7b9aeed27b37bdf262708f2edc450cc33194b;hpb=d073755a6688aec796922c747ccb3e930ee9546c;p=srvgit diff --git a/catalogue/labeledMARCdetail.pl b/catalogue/labeledMARCdetail.pl index ead7b9aeed..86525162f4 100755 --- a/catalogue/labeledMARCdetail.pl +++ b/catalogue/labeledMARCdetail.pl @@ -20,21 +20,23 @@ use Modern::Perl; use CGI qw ( -utf8 ); use HTML::Entities; -use MARC::Record; -use C4::Auth; +use C4::Auth qw( get_template_and_user ); use C4::Context; -use C4::Output; -use C4::Biblio; -use C4::Items; -use C4::Search; # enabled_staff_search_views -use C4::Serials; -use C4::Acquisition qw(GetOrdersByBiblionumber); +use C4::Output qw( output_html_with_http_headers ); +use C4::Biblio qw( + GetBiblioData + GetFrameworkCode + GetMarcStructure +); +use C4::Search qw( z3950_search_args enabled_staff_search_views ); +use C4::Serials qw( CountSubscriptionFromBiblionumber ); use Koha::Biblios; use Koha::BiblioFrameworks; use Koha::Patrons; +use Koha::Virtualshelves; -my $query = new CGI; +my $query = CGI->new; my $dbh = C4::Context->dbh; my $biblionumber = $query->param('biblionumber'); $biblionumber = HTML::Entities::encode($biblionumber); @@ -49,13 +51,12 @@ my ( $template, $loggedinuser, $cookie ) = get_template_and_user( template_name => "catalogue/labeledMARCdetail.tt", query => $query, type => "intranet", - authnotrequired => 0, flagsrequired => { catalogue => 1 }, - debug => 1, } ); -my $record = GetMarcBiblio({ biblionumber => $biblionumber }); +my $biblio_object = Koha::Biblios->find( $biblionumber ); # FIXME Should replace $biblio +my $record = $biblio_object->metadata->record; if ( not defined $record ) { # biblionumber invalid -> report and exit $template->param( unknownbiblionumber => 1, @@ -65,17 +66,14 @@ if ( not defined $record ) { exit; } -my $biblio_object = Koha::Biblios->find( $biblionumber ); # FIXME Should replace $biblio my $tagslib = GetMarcStructure(1,$frameworkcode); my $biblio = GetBiblioData($biblionumber); if($query->cookie("holdfor")){ my $holdfor_patron = Koha::Patrons->find( $query->cookie("holdfor") ); $template->param( - holdfor => $query->cookie("holdfor"), - holdfor_surname => $holdfor_patron->surname, - holdfor_firstname => $holdfor_patron->firstname, - holdfor_cardnumber => $holdfor_patron->cardnumber, + holdfor => $query->cookie("holdfor"), + holdfor_patron => $holdfor_patron, ); } @@ -122,6 +120,38 @@ for my $field ($record->fields) }; } +# get biblionumbers stored in the cart +my @cart_list; + +if($query->cookie("intranet_bib_list")){ + my $cart_list = $query->cookie("intranet_bib_list"); + @cart_list = split(/\//, $cart_list); + if ( grep {$_ eq $biblionumber} @cart_list) { + $template->param( incart => 1 ); + } +} + +my $some_private_shelves = Koha::Virtualshelves->get_some_shelves( + { + borrowernumber => $loggedinuser, + add_allowed => 1, + public => 0, + } +); +my $some_public_shelves = Koha::Virtualshelves->get_some_shelves( + { + borrowernumber => $loggedinuser, + add_allowed => 1, + public => 1, + } +); + + +$template->param( + add_to_some_private_shelves => $some_private_shelves, + add_to_some_public_shelves => $some_public_shelves, +); + $template->param ( marc_data => \@marc_data, biblionumber => $biblionumber, @@ -133,32 +163,8 @@ $template->param ( searchid => scalar $query->param('searchid'), ); -my @allorders_using_biblio = GetOrdersByBiblionumber ($biblionumber); -my @deletedorders_using_biblio; -my @orders_using_biblio; -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 { $_ eq $basket } @baskets_deletedorders){ - push @baskets_deletedorders,$myorder->{'basketno'}; - } - } - else { - push @orders_using_biblio, $myorder; - } -} - -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); - $biblio = Koha::Biblios->find( $biblionumber ); my $holds = $biblio->holds; -$template->param( holdcount => $holds->count ); +$template->param( biblio => $biblio, holdcount => $holds->count ); output_html_with_http_headers $query, $cookie, $template->output;