use HomeOrHoldingBranch to determine if a return is valid or not
[koha.git] / catalogue / issuehistory.pl
index 673629d..d1b38b6 100755 (executable)
@@ -15,7 +15,6 @@
 # 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;
@@ -24,6 +23,8 @@ use C4::Auth;
 use C4::Output;
 
 use C4::Circulation;    # GetBiblioIssues
+use C4::Biblio;    # GetBiblio GetBiblioFromItemNumber
+use C4::Dates qw/format_date/;
 
 my $query = new CGI;
 my ( $template, $borrowernumber, $cookie ) = get_template_and_user(
@@ -40,23 +41,37 @@ my ( $template, $borrowernumber, $cookie ) = get_template_and_user(
 my $params = $query->Vars;
 
 my $biblionumber = $params->{'biblionumber'};
+my $itemnumber   = $params->{'itemnumber'};
 my $title        = $params->{'title'};
 my $author       = $params->{'author'};
 
-my $issues = GetBiblioIssues($biblionumber);
-my $total  = scalar @$issues;
-
-if ( $total && !$title ) {
-    $title  = $issues->[0]->{'title'};
-    $author = $issues->[0]->{'author'};
+my ($issues,$biblio,$barcode);
+if ($itemnumber){
+       $issues=GetItemIssues($itemnumber);
+       $biblio=GetBiblioFromItemNumber($itemnumber);
+       $biblionumber=$biblio->{biblionumber};
+       $barcode=$issues->[0]->{barcode};
+       $template->param(
+               %$biblio,
+               barcode=> $barcode,
+       );
+} else {
+       $issues = GetBiblioIssues($biblionumber);
+       my (undef,@biblio)=GetBiblio($biblionumber);
+       my $total  = scalar @$issues;
+       $template->param(
+               %{$biblio[0]},
+       );
+} 
+foreach (@$issues){
+       $_->{date_due}   = format_date($_->{date_due});
+       $_->{issuedate}  = format_date($_->{issuedate});
+       $_->{returndate} = format_date($_->{returndate});
 }
-
 $template->param(
-    biblionumber => $biblionumber,
     total        => scalar @$issues,
-    title        => $title,
-    author       => $author,
-    issues       => $issues
+    issues       => $issues,
+       issuehistoryview => 1,
 );
 
 output_html_with_http_headers $query, $cookie, $template->output;