X-Git-Url: http://koha-dev.rot13.org:8081/gitweb/?a=blobdiff_plain;f=catalogue%2Fmoredetail.pl;h=0b339dcc75c084c331316295b6529361a723a872;hb=634df1c76ce338afb7b8b6b4854c777bcc779dcc;hp=c3b61dea1539ccb45beb40fbdfed7651698c436e;hpb=9dd5c0ab7d1da285d021a6c7888c4010c310bf28;p=koha_gimpoz diff --git a/catalogue/moredetail.pl b/catalogue/moredetail.pl index c3b61dea15..0b339dcc75 100755 --- a/catalogue/moredetail.pl +++ b/catalogue/moredetail.pl @@ -19,15 +19,18 @@ use strict; -require Exporter; use C4::Koha; use CGI; -use C4::Biblio; # to use &GetBiblioItemData &GetItemsByBiblioitemnumber +use C4::Biblio; +use C4::Items; +use C4::Branch; use C4::Acquisition; use C4::Output; # contains gettemplate use C4::Auth; -use C4::Date; +use C4::Serials; +use C4::Dates qw/format_date/; use C4::Circulation; # to use itemissues +use C4::Search; # enabled_staff_search_views my $query=new CGI; @@ -48,11 +51,15 @@ my ($template, $loggedinuser, $cookie) = get_template_and_user({ my $biblionumber=$query->param('biblionumber'); my $title=$query->param('title'); +my $itemnumber=$query->param('itemnumber'); my $bi=$query->param('bi'); -$bi = $biblionumber unless $bi; -my $data=GetBiblioItemData($bi); +# $bi = $biblionumber unless $bi; +my $data=GetBiblioData($biblionumber); my $dewey = $data->{'dewey'}; +#coping with subscriptions +my $subscriptionsnumber = CountSubscriptionFromBiblionumber($biblionumber); + # FIXME Dewey is a string, not a number, & we should use a function # $dewey =~ s/0+$//; # if ($dewey eq "000.") { $dewey = "";}; @@ -65,39 +72,65 @@ my $dewey = $data->{'dewey'}; # $data->{'dewey'}=$dewey; my @results; - -my $items= GetItemsByBiblioitemnumber($bi); -my $count=@$items; +my $fw = GetFrameworkCode($biblionumber); +my @items= GetItemsInfo($biblionumber); +my $count=@items; $data->{'count'}=$count; -my $ordernum = GetOrderNumber($biblionumber,$bi); +my $ordernum = GetOrderNumber($biblionumber); my $order = GetOrder($ordernum); +my $ccodes= GetKohaAuthorisedValues('items.ccode',$fw); +my $itemtypes = GetItemTypes; +$data->{'itemtypename'} = $itemtypes->{$data->{'itemtype'}}->{'description'}; $results[0]=$data; - -foreach my $item (@$items){ - $item->{itemlostloop}= GetAuthorisedValues('LOST',$item->{itemlost}); - $item->{itemdamagedloop}= GetAuthorisedValues('DAMAGED',$item->{damaged}); +($itemnumber) and @items = (grep {$_->{'itemnumber'} == $itemnumber} @items); +foreach my $item (@items){ + $item->{itemlostloop}= GetAuthorisedValues(GetAuthValCode('items.itemlost',$fw),$item->{itemlost}) if GetAuthValCode('items.itemlost',$fw); + $item->{itemdamagedloop}= GetAuthorisedValues(GetAuthValCode('items.damaged',$fw),$item->{damaged}) if GetAuthValCode('items.damaged',$fw); + $item->{'collection'} = $ccodes->{$item->{ccode}}; + $item->{'itype'} = $itemtypes->{$item->{'itype'}}->{'description'}; $item->{'replacementprice'}=sprintf("%.2f", $item->{'replacementprice'}); $item->{'datelastborrowed'}= format_date($item->{'datelastborrowed'}); $item->{'dateaccessioned'} = format_date($item->{'dateaccessioned'}); $item->{'datelastseen'} = format_date($item->{'datelastseen'}); $item->{'ordernumber'} = $ordernum; $item->{'booksellerinvoicenumber'} = $order->{'booksellerinvoicenumber'}; + $item->{'copyvol'} = $item->{'copynumber'}; + if ($item->{notforloantext} or $item->{itemlost} or $item->{damaged} or $item->{wthdrawn}) { + $item->{status_advisory} = 1; + } - if ($item->{'date_due'} eq ''){ - $item->{'issue'}= 0; - } else { - $item->{'date_due'} = format_date($item->{'date_due'}); + if (C4::Context->preference("IndependantBranches")) { + #verifying rights + my $userenv = C4::Context->userenv(); + unless (($userenv->{'flags'} == 1) or ($userenv->{'branch'} eq $item->{'homebranch'})) { + $item->{'nomod'}=1; + } + } + $item->{'homebranchname'} = GetBranchName($item->{'homebranch'}); + $item->{'holdingbranchname'} = GetBranchName($item->{'holdingbranch'}); + if ($item->{'datedue'}) { + $item->{'datedue'} = format_date($item->{'datedue'}); $item->{'issue'}= 1; + } else { + $item->{'issue'}= 0; } } - -$template->param(count => $data->{'count'}); +$template->param(count => $data->{'count'}, + subscriptionsnumber => $subscriptionsnumber, + subscriptiontitle => $data->{title}, + C4::Search::enabled_staff_search_views, +); $template->param(BIBITEM_DATA => \@results); -$template->param(ITEM_DATA => $items); +$template->param(ITEM_DATA => \@items); +$template->param(moredetailview => 1); $template->param(loggedinuser => $loggedinuser); $template->param(biblionumber => $biblionumber); +$template->param(biblioitemnumber => $bi); +$template->param(itemnumber => $itemnumber); +$template->param(ONLY_ONE => 1) if ( $itemnumber && $count != @items ); +$template->param(z3950_search_params => C4::Search::z3950_search_args(GetBiblioData($biblionumber))); output_html_with_http_headers $query, $cookie, $template->output;