+ my $localissue;
+
+ foreach my $issue ( @{$issues} ) {
+
+ # Getting borrower details
+ my $memberdetails = GetMemberDetails( $issue->{borrowernumber} );
+ $issue->{borrowername} =
+ $memberdetails->{firstname} . ' ' . $memberdetails->{surname};
+ $issue->{cardnumber} = $memberdetails->{cardnumber};
+ my $issuedate;
+ if ($issue->{issuedate} ) {
+ $issuedate = $issue->{issuedate}->clone();
+ }
+ $issue->{subtitle} = GetRecordValue('subtitle', GetMarcBiblio($issue->{biblionumber}), GetFrameworkCode($issue->{biblionumber}));
+ $issue->{issuingbranchname} = GetBranchName($issue->{branchcode});
+ my %row = %{$issue};
+ $totalprice += $issue->{replacementprice};
+
+ # item lost, damaged loops
+ if ( $row{'itemlost'} ) {
+ my $fw = GetFrameworkCode( $issue->{biblionumber} );
+ my $category = GetAuthValCode( 'items.itemlost', $fw );
+ my $lostdbh = C4::Context->dbh;
+ my $sth = $lostdbh->prepare(
+"select lib from authorised_values where category=? and authorised_value =? "
+ );
+ $sth->execute( $category, $row{'itemlost'} );
+ my $loststat = $sth->fetchrow;
+ if ($loststat) {
+ $row{'itemlost'} = $loststat;
+ }
+ }
+ if ( $row{'damaged'} ) {
+ my $fw = GetFrameworkCode( $issue->{biblionumber} );
+ my $category = GetAuthValCode( 'items.damaged', $fw );
+ my $damageddbh = C4::Context->dbh;
+ my $sth = $damageddbh->prepare(
+"select lib from authorised_values where category=? and authorised_value =? "
+ );
+ $sth->execute( $category, $row{'damaged'} );
+ my $damagedstat = $sth->fetchrow;
+ if ($damagedstat) {
+ $row{'itemdamaged'} = $damagedstat;
+ }
+ }
+
+ # end lost, damaged
+ if ( $issue->{overdue} ) {
+ $overdues_exist = 1;
+ $row{red} = 1;
+ }
+ if ($issuedate) {
+ $issuedate->truncate( to => 'day' );
+ if ( DateTime->compare( $issuedate, $today ) == 0 ) {
+ $row{today} = 1;
+ }
+ }
+
+ #find the charge for an item
+ my ( $charge, $itemtype ) =
+ GetIssuingCharges( $issue->{itemnumber}, $borrowernumber );
+
+ my $itemtypeinfo = getitemtypeinfo($itemtype);
+ $row{'itemtype_description'} = $itemtypeinfo->{description};
+ $row{'itemtype_image'} = $itemtypeinfo->{imageurl};
+
+ $row{'charge'} = sprintf( "%.2f", $charge );
+
+ my ( $renewokay, $renewerror ) =
+ CanBookBeRenewed( $borrowernumber, $issue->{itemnumber},
+ $override_limit );
+ $row{'norenew'} = !$renewokay;
+ $row{'can_confirm'} = ( !$renewokay && $renewerror ne 'on_reserve' );
+ $row{"norenew_reason_$renewerror"} = 1 if $renewerror;
+ $row{renew_failed} = $renew_failed{ $issue->{itemnumber} };
+ $row{return_failed} = $return_failed{ $issue->{barcode} };
+ ($row{'renewcount'},$row{'renewsallowed'},$row{'renewsleft'}) = C4::Circulation::GetRenewCount($issue->{'borrowernumber'},$issue->{'itemnumber'}); #Add renewal count to item data display
+ push( @{$localissue}, \%row );
+ }
+ return $localissue;
+}