X-Git-Url: http://koha-dev.rot13.org:8081/gitweb/?a=blobdiff_plain;f=catalogue%2Fmoredetail.pl;h=86e004855b3e8547a13bb981e69c4da335ab9ff9;hb=c7a263aa1156bbf6b2fcca5e13cd72c33620e797;hp=e9975f8ab4293d37518556f57a056706c2c08067;hpb=7e52a5665c02d76c9f99e64d841be795ca6f0546;p=koha-ffzg.git diff --git a/catalogue/moredetail.pl b/catalogue/moredetail.pl index e9975f8ab4..86e004855b 100755 --- a/catalogue/moredetail.pl +++ b/catalogue/moredetail.pl @@ -1,7 +1,4 @@ #!/usr/bin/perl -# NOTE: Use standard 8-space tabs for this file (indents are 4 spaces) - -# $Id$ # Copyright 2000-2003 Katipo Communications # @@ -20,45 +17,41 @@ # Koha; if not, write to the Free Software Foundation, Inc., 59 Temple Place, # Suite 330, Boston, MA 02111-1307 USA +# $Id$ + use strict; require Exporter; use C4::Koha; use CGI; -use C4::Search; +use C4::Biblio; # to use &GetBiblioItemData &itemissues use C4::Acquisition; -use C4::Output; # contains gettemplate +use C4::Output; # contains gettemplate use C4::Auth; -use C4::Interface::CGI::Output; use C4::Date; -use C4::Context; -use C4::Biblio; -use C4::Accounts2; -use C4::Circulation::Circ2; -use MARC::Record; -my $dbh=C4::Context->dbh; +use C4::Circulation; # to use itemissues + my $query=new CGI; +# FIXME subject is not exported to the template? +my $subject=$query->param('subject'); +# if its a subject we need to use the subject.tmpl my ($template, $loggedinuser, $cookie) = get_template_and_user({ - template_name => ( 'catalogue/moredetail.tmpl'), - query => $query, - type => "intranet", - authnotrequired => 0, - flagsrequired => {catalogue => 1}, + template_name => ($subject? 'catalogue/subject.tmpl': + 'catalogue/moredetail.tmpl'), + query => $query, + type => "intranet", + authnotrequired => 0, + flagsrequired => {catalogue => 1}, }); # get variables -my $op=$query->param('op'); -my $lost=$query->param('lost'); -my $withdrawn=$query->param('withdrawn'); -my $override=$query->param('override'); -my $itemnumber=$query->param('itemnumber'); -my $barcode=$query->param('barcode'); -my $title=$query->param('title'); my $biblionumber=$query->param('biblionumber'); -my ($record)=XMLgetbibliohash($dbh,$biblionumber); -my $data=XMLmarc2koha_onerecord($dbh,$record,"biblios"); +my $title=$query->param('title'); +my $bi=$query->param('bi'); + +my $data=GetBiblioItemData($bi); my $dewey = $data->{'dewey'}; # FIXME Dewey is a string, not a number, & we should use a function $dewey =~ s/0+$//; @@ -73,89 +66,16 @@ $data->{'dewey'}=$dewey; my @results; -my @items; -if ($op eq "update"){ -my $env; -##Do Lost or Withdraw here -my $flag=0; - my ($resbor,$resrec)=C4::Reserves2::CheckReserves($env,$dbh,$itemnumber); -if ($override ne "yes"){ - if ($resbor){ -# print $query->header; - $template->param(error => "This item has a reserve on it"); - $template->param(biblionumber =>$biblionumber); - $template->param(itemnumber =>$itemnumber); - $template->param(lost =>$lost); - $template->param(withdrawn =>$withdrawn); - $flag=1; - } - my $sth=$dbh->prepare("Select * from issues where (itemnumber=?) and (returndate is null)"); - $sth->execute($itemnumber); - - if (my $data=$sth->fetchrow_hashref) { - $template->param(biblionumber =>$biblionumber); - $template->param(itemnumber =>$itemnumber); - $template->param(error => "This item is On Loan to a member"); - $template->param(lost =>$lost); - $template->param(withdrawn =>$withdrawn); - $flag=2; - } -} -if ($flag != 0 && $override ne "yes"){ - - }else { - ##UPDATE here -#my $sth=$dbh->prepare("update items set itemlost=? ,wthdrawn=? where itemnumber=?"); -#$sth->execute($lost,$withdrawn,$itemnumber); -#$sth->finish; -XMLmoditemonefield($dbh,$biblionumber,$itemnumber,'wthdrawn',$withdrawn,1); -XMLmoditemonefield($dbh,$biblionumber,$itemnumber,'itemlost',$lost); - - if ($lost ==1 && $flag ==2){ - my $sth=$dbh->prepare("Select * from issues where (itemnumber=?) and (returndate is null)"); - $sth->execute($itemnumber); - my $data=$sth->fetchrow_hashref; - if ($data->{'borrowernumber'} ne '') { - #item on issue add replacement cost to borrowers record - my $accountno=getnextacctno($env,$data->{'borrowernumber'},$dbh); - my $item=getiteminformation($env, $itemnumber); - my $sth2=$dbh->prepare("Insert into accountlines - (borrowernumber,accountno,date,amount,description,accounttype,amountoutstanding,itemnumber) - values - (?,?,now(),?,?,'L',?,?)"); - $sth2->execute($data->{'borrowernumber'},$accountno,$item->{'replacementprice'}, - "Lost Item $item->{'title'} $item->{'barcode'}", - $item->{'replacementprice'},$itemnumber); - $sth2->finish; - } - } - if ($flag==1){ - foreach my $res ($resrec){ - C4::Reserves2::CancelReseve(undef,$res->{itemnumber},$res->{borrowernumber}); - } - } - - } -} -my @itemrecords=XMLgetallitems($dbh,$biblionumber); -foreach my $itemrecord (@itemrecords){ -$itemrecord=XML_xml2hash_onerecord($itemrecord); -my $items = XMLmarc2koha_onerecord($dbh,$itemrecord,"holdings"); -$items->{itemtype}=$data->{itemtype}; -$items->{biblionumber}=$biblionumber; -$items=itemissues($dbh,$items,$items->{'itemnumber'}); -push @items,$items; -} -my $count=@items; +my $items= GetItemIssues($bi); +my $count=@$items; $data->{'count'}=$count; -my ($order,$ordernum)=GetOrder($biblionumber,$barcode); -my $env; -$env->{itemcount}=1; +my $ordernum = GetOrderNumber($biblionumber,$bi); +my $order = GetOrder($ordernum); $results[0]=$data; -foreach my $item (@items){ +foreach my $item (@$items){ $item->{'replacementprice'}=sprintf("%.2f", $item->{'replacementprice'}); $item->{'datelastborrowed'}= format_date($item->{'datelastborrowed'}); $item->{'dateaccessioned'} = format_date($item->{'dateaccessioned'}); @@ -163,24 +83,19 @@ foreach my $item (@items){ $item->{'ordernumber'} = $ordernum; $item->{'booksellerinvoicenumber'} = $order->{'booksellerinvoicenumber'}; - if ($item->{'date_due'} gt '0000-00-00'){ - $item->{'date_due'} = format_date($item->{'date_due'}); -$item->{'issue'}= 1; - $item->{'borrowernumber'} = $item->{'borrower'}; - $item->{'cardnumber'} = $item->{'card'}; - + if ($item->{'date_due'} eq 'Available'){ + $item->{'issue'}= 0; } else { - $item->{'issue'}= 0; + $item->{'date_due'} = format_date($item->{'date_due'}); + $item->{'issue'}= 1; + $item->{'borrowernumber'} = $item->{'borrower'}; + $item->{'cardnumber'} = $item->{'card'}; } } $template->param(BIBITEM_DATA => \@results); -$template->param(ITEM_DATA => \@items); +$template->param(ITEM_DATA => \@$items); $template->param(loggedinuser => $loggedinuser); output_html_with_http_headers $query, $cookie, $template->output; - -# Local Variables: -# tab-width: 8 -# End: