Skip to content

Commit

Permalink
Bug 13853: Show waiting hold expiration date for waiting holds in hol…
Browse files Browse the repository at this point in the history
…ds ajax datatable

We should show the expiration date for waiting holds in the holds
datatable that appears in circulation.pl and moremember.pl

Test Plan:
1) Ensure ReservesMaxPickUpDelay is set
2) Place a hold on a record
3) Place a second hold and set it to waiting by checking it in
4) Place a third hold with an expiration date
5) View the holds tab on circulation.pl and moremember.pl
6) Note the first hold has no expiration date
7) Note the second hold has an expiration date of today + ReservesMaxPickUpDelay days
8) Note the thrid hold has an expiration date of whatever you set it to

Signed-off-by: Kyle M Hall <[email protected]>

Signed-off-by: Cathi Wiggins <[email protected]>

Signed-off-by: Megan Wianecki <[email protected]>

Signed-off-by: Jonathan Druart <[email protected]>
Signed-off-by: Tomas Cohen Arazi <[email protected]>
  • Loading branch information
kylemhall authored and tomascohen committed Aug 11, 2015
1 parent 82ce53c commit 47be5ca
Show file tree
Hide file tree
Showing 3 changed files with 53 additions and 9 deletions.
12 changes: 12 additions & 0 deletions Koha/Hold.pm
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,18 @@ sub waiting_expires_on {
return $dt;
}

=head3 is_waiting
Returns true if hold is a waiting hold
=cut

sub is_waiting {
my ($self) = @_;

return $self->found() eq 'W';
}

=head3 biblio
Returns the related Koha::Biblio object for this hold
Expand Down
27 changes: 27 additions & 0 deletions Koha/Item.pm
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,8 @@ use Carp;

use Koha::Database;

use Koha::Branches;

use base qw(Koha::Object);

=head1 NAME
Expand All @@ -47,6 +49,31 @@ sub effective_itemtype {
return $self->_result()->effective_itemtype();
}

=head3 home_branch
=cut

sub home_branch {
my ($self) = @_;

$self->{_home_branch} ||= Koha::Branches->find( $self->homebranch() );

return $self->{_home_branch};
}

=head3 holding_branch
=cut

sub holding_branch {
my ($self) = @_;

$self->{_holding_branch} ||= Koha::Branches->find( $self->holdingbranch() );

return $self->{_holding_branch};
}


=head3 type
=cut
Expand Down
23 changes: 14 additions & 9 deletions svc/holds
Original file line number Diff line number Diff line change
Expand Up @@ -29,8 +29,8 @@ use C4::Charset;
use C4::Circulation qw(GetTransfers);
use C4::Context;

use Koha::Database;
use Koha::DateUtils;
use Koha::Holds;

my $input = new CGI;

Expand Down Expand Up @@ -59,7 +59,7 @@ my $sorting_column = $sort_columns[ $input->param('iSortCol_0') ]
binmode STDOUT, ":encoding(UTF-8)";
print $input->header( -type => 'text/plain', -charset => 'UTF-8' );

my $holds_rs = $schema->resultset('Reserve')->search(
my $holds_rs = Koha::Holds->search(
{ borrowernumber => $borrowernumber },
{
order_by => { "-$sorting_direction" => $sorting_column }
Expand All @@ -79,15 +79,15 @@ while ( my $h = $holds_rs->next() ) {
title => $h->biblio()->title(),
author => $h->biblio()->author(),
reserve_id => $h->reserve_id(),
branchcode => $h->branchcode()->branchname(),
branchcode => $h->branch()->branchname(),
reservedate => $h->reservedate(),
expirationdate => $h->expirationdate(),
suspend => $h->suspend(),
suspend_until => $h->suspend_until(),
found => $h->found(),
waiting => $h->found() eq 'W',
waiting_at => $h->branchcode()->branchname(),
waiting_here => $h->branchcode()->branchcode() eq $branch,
waiting => $h->is_waiting(),
waiting_at => $h->branch()->branchname(),
waiting_here => $h->branch()->branchcode() eq $branch,
priority => $h->priority(),
subtitle => GetRecordValue(
'subtitle', GetMarcBiblio($biblionumber),
Expand All @@ -107,6 +107,11 @@ while ( my $h = $holds_rs->next() ) {
: q{},
};

if ( my $e = $h->waiting_expires_on() ) {
$hold->{expirationdate} = $e->ymd();
$hold->{expirationdate_formatted} = output_pref( { dt => $e, dateonly => 1 });
}

$hold->{transfered} = 0;
$hold->{not_transfered} = 0;

Expand All @@ -124,11 +129,11 @@ while ( my $h = $holds_rs->next() ) {
$hold->{date_sent} = output_pref( dt_from_string($transferred_when) );
$hold->{from_branch} = GetBranchName($transferred_from);
}
elsif ( $item->holdingbranch()->branchcode() ne
$h->branchcode()->branchcode() )
elsif ( $item->holding_branch()->branchcode() ne
$h->branch()->branchcode() )
{
$hold->{not_transferred} = 1;
$hold->{not_transferred_by} = $h->item()->holdingbranch()->branchname();
$hold->{not_transferred_by} = $h->item()->holding_branch()->branchname();
}
}

Expand Down

0 comments on commit 47be5ca

Please sign in to comment.