@@ -, +, @@ --- .../prog/en/modules/members/moremember-print.tt | 23 ++++++++++++ members/summary-print.pl | 38 +++++++++++++++++++- 2 files changed, 60 insertions(+), 1 deletion(-) --- a/koha-tmpl/intranet-tmpl/prog/en/modules/members/moremember-print.tt +++ a/koha-tmpl/intranet-tmpl/prog/en/modules/members/moremember-print.tt @@ -67,6 +67,29 @@ [% END %] + [% IF ( reserves ) %] + + + + + + + + + + + [% FOREACH reserve IN reserves %] + + + + + + + + [% END %] +
Pending holds
TitleAuthorPlaced onExpires onPick up location
[% reserve.title %][% reserve.author %][% reserve.reservedate | $KohaDates %][% reserve.expirationdate | $KohaDates %][% reserve.waiting_at %]
+ [% END %] + [% IF ( accounts && ( totaldue != '0.00' ) ) %] --- a/members/summary-print.pl +++ a/members/summary-print.pl @@ -24,6 +24,9 @@ use C4::Output; use C4::Members; use C4::Koha qw( getitemtypeinfo ); use C4::Circulation qw( GetIssuingCharges ); +use C4::Reserves; +use C4::Items; +use Koha::Holds; my $input = CGI->new; my $borrowernumber = $input->param('borrowernumber'); @@ -56,13 +59,17 @@ foreach my $accountline (@$accts) { } my $roadtype = - C4::Koha::GetAuthorisedValueByCode( 'ROADTYPE', $data->{streettype} ); + C4::Koha::GetAuthorisedValueByCode( 'ROADTYPE', $data->{streettype} ) // ''; $roadtype = '' if ( ! $roadtype ); our $totalprice = 0; my $total_format = ''; $total_format = sprintf( "%.2f", $total ) if ($total); +my $holds_rs = Koha::Holds->search( + { borrowernumber => $borrowernumber }, +); + $template->param( %$data, @@ -74,6 +81,8 @@ $template->param( issues => build_issue_data( GetPendingIssues($borrowernumber) ), totalprice => $totalprice, + + reserves => build_reserve_data( $holds_rs ), ); output_html_with_http_headers $input, $cookie, $template->output; @@ -109,4 +118,31 @@ sub build_issue_data { @{$return} = sort { $a->{date_due} eq $b->{date_due} } @{$return}; return $return; + +} + +sub build_reserve_data { + my $reserves = shift; + + my $return = []; + + my $today = DateTime->now( time_zone => C4::Context->tz ); + $today->truncate( to => 'day' ); + + while ( my $reserve = $reserves->next() ) { + +my $row = { + title => $reserve->biblio()->title(), + author => $reserve->biblio()->author(), + reservedate => $reserve->reservedate(), + expirationdate => $reserve->expirationdate(), + waiting_at => $reserve->branch()->branchname(), + }; + + push( @{$return}, $row ); + } + + @{$return} = sort { $a->{reservedate} <=> $b->{reservedate} } @{$return}; + + return $return; } --
Account fines and payments