diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/members/holdshistory.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/members/holdshistory.tt
index 631880c53e..779d82fcde 100644
--- a/koha-tmpl/intranet-tmpl/prog/en/modules/members/holdshistory.tt
+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/members/holdshistory.tt
@@ -47,74 +47,60 @@
This is the anonymous patron, so no holds history is displayed.
- [% ELSIF ( !holds ) %]
- This patron has no holds history.
[% ELSE %]
[% SET show_itemtype_column = Koha.Preference('AllowHoldItemTypeSelection') %]
-
-
-
- | Title |
- Author |
- Barcode |
- Call number |
- Library |
- Hold date |
- Expiration date |
- Waiting date |
- Cancellation date |
- [% IF show_itemtype_column %]
- Requested item type |
- [% END %]
- Status |
-
-
-
- [% FOREACH hold IN holds %]
+ Current holds
+ [% IF patron.holds.count %]
+
+
- | [% INCLUDE 'biblio-title.inc' biblio=hold.biblio link = 1 %] |
- [% hold.biblio.author | html %] |
- [% hold.item.barcode | html %] |
- [% hold.item.itemcallnumber | html %] |
- [% Branches.GetName( hold.branchcode ) | html %] |
- [% hold.reservedate | $KohaDates %] |
- [% hold.expirationdate | $KohaDates %] |
- [% hold.waitingdate | $KohaDates %] |
- [% hold.cancellationdate | $KohaDates %] |
+ Title |
+ Author |
+ Barcode |
+ Call number |
+ Library |
+ Hold date |
+ Expiration date |
+ Waiting date |
+ Cancellation date |
[% IF show_itemtype_column %]
-
- [% IF hold.itemtype %]
- [% ItemTypes.GetDescription( hold.itemtype ) | html %]
- [% ELSE %]
- Any item type
- [% END %]
- |
+ Requested item type |
[% END %]
-
- [% IF hold.found == 'F' %]
- Fulfilled
- [% ELSIF hold.cancellationdate %]
- Cancelled
- [% IF hold.cancellation_reason %]
- ([% AuthorisedValues.GetByCode('HOLD_CANCELLATION', hold.cancellation_reason) | html %])
- [% END %]
- [% ELSIF hold.found == 'W' %]
- Waiting
- [% ELSIF hold.found == 'P' %]
- Processing
- [% ELSIF hold.found == 'T' %]
- In transit
- [% ELSE %]
- Pending
- [% END %]
- |
+ Status |
- [% END %]
-
-
+
+
+ [% ELSE %]
+
This patron has no current holds.
+ [% END %]
+
+
Historical holds
+ [% IF patron.old_holds.count %]
+
+
+
+ | Title |
+ Author |
+ Barcode |
+ Call number |
+ Library |
+ Hold date |
+ Expiration date |
+ Waiting date |
+ Cancellation date |
+ [% IF show_itemtype_column %]
+ Requested item type |
+ [% END %]
+ Status |
+
+
+
+ [% ELSE %]
+
This patron has no historical holds.
+ [% END %]
[% END %]
[% END %]
@@ -123,6 +109,7 @@
[% INCLUDE 'datatables.inc' %]
[% INCLUDE 'str/members-menu.inc' %]
[% Asset.js("js/members-menu.js") | $raw %]
+ [% INCLUDE 'js-biblio-format.inc' %]
[% END %]
diff --git a/members/holdshistory.pl b/members/holdshistory.pl
index 538614ac34..9980542f0e 100755
--- a/members/holdshistory.pl
+++ b/members/holdshistory.pl
@@ -26,10 +26,6 @@ use Koha::Patrons;
my $input = CGI->new;
-my $borrowernumber;
-my $cardnumber;
-my @all_holds;
-
my ( $template, $loggedinuser, $cookie ) = get_template_and_user(
{
template_name => "members/holdshistory.tt",
@@ -39,47 +35,25 @@ my ( $template, $loggedinuser, $cookie ) = get_template_and_user(
}
);
-my $patron;
-
-if ( $input->param('cardnumber') ) {
- $cardnumber = $input->param('cardnumber');
- $patron = Koha::Patrons->find( { cardnumber => $cardnumber } );
-}
-if ( $input->param('borrowernumber') ) {
- $borrowernumber = $input->param('borrowernumber');
- $patron = Koha::Patrons->find($borrowernumber);
-}
+my $cardnumber = $input->param('cardnumber');
+my $borrowernumber = $input->param('borrowernumber');
+my $patron = Koha::Patrons->find( $cardnumber ? { cardnumber => $cardnumber } : $borrowernumber );
unless ($patron) {
print $input->redirect("/cgi-bin/koha/circ/circulation.pl?borrowernumber=$borrowernumber");
exit;
}
-my $holds;
-my $old_holds;
-
if ( $borrowernumber eq C4::Context->preference('AnonymousPatron') ) {
# use of 'eq' in the above comparison is intentional -- the
# system preference value could be blank
$template->param( is_anonymous => 1 );
-} else {
- $holds = $patron->holds;
- $old_holds = $patron->old_holds;
-
- while ( my $hold = $holds->next ) {
- push @all_holds, $hold;
- }
-
- while ( my $hold = $old_holds->next ) {
- push @all_holds, $hold;
- }
}
$template->param(
holdshistoryview => 1,
patron => $patron,
- holds => \@all_holds,
);
output_html_with_http_headers $input, $cookie, $template->output;