Bugzilla – Attachment 32012 Details for
Bug 13030
Show hold expiration date for waiting holds on circulation.pl
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug 13030 - Show waiting hold expiration date for waiting holds on circulation.pl
Bug-13030---Show-waiting-hold-expiration-date-for-.patch (text/plain), 4.97 KB, created by
Kyle M Hall
on 2014-10-06 14:00:51 UTC
(
hide
)
Description:
Bug 13030 - Show waiting hold expiration date for waiting holds on circulation.pl
Filename:
MIME Type:
Creator:
Kyle M Hall
Created:
2014-10-06 14:00:51 UTC
Size:
4.97 KB
patch
obsolete
>From 44269cc1b9bc4d59b44dd94e296a1e2e143d3181 Mon Sep 17 00:00:00 2001 >From: Kyle M Hall <kyle@bywatersolutions.com> >Date: Mon, 6 Oct 2014 09:13:07 -0400 >Subject: [PATCH] Bug 13030 - Show waiting hold expiration date for waiting holds on circulation.pl > >We should show the date a waiting hold is set to expire for each hold in >the list of waiting holds in circulation.pl > >Test Plan: >1) Apply this patch >2) Find a waiting hold for a patron, browser to circulation.pl > for that patron >3) Set system preference ReservesMaxPickUpDelay to 5 >4) Refresh circulation.pl, note the waiting holds now display a > "waiting until" part with the waiting date plus 5 days >5) Set system preference ReservesMaxPickUpDelay to 0 ( or empty string ) >6) Refresh circulation.pl, note the waiting hols no longer have a > "waiting until" line. >--- > Koha/Hold.pm | 25 +++++++++ > .../prog/en/modules/circ/circulation.tt | 2 +- > t/Hold.t | 54 ++++++++++++++++++++ > 3 files changed, 80 insertions(+), 1 deletions(-) > create mode 100755 t/Hold.t > >diff --git a/Koha/Hold.pm b/Koha/Hold.pm >index d2d6a1a..3e467b8 100644 >--- a/Koha/Hold.pm >+++ b/Koha/Hold.pm >@@ -21,9 +21,11 @@ use Modern::Perl; > > use Carp; > >+use C4::Context qw(preference); > use Koha::Branches; > use Koha::Biblios; > use Koha::Items; >+use Koha::DateUtils qw(dt_from_string); > > use base qw(Koha::Object); > >@@ -37,6 +39,29 @@ Koha::Branch - Koha Item Object class > > =cut > >+=head3 WaitingExpiresOn >+ >+Returns a DateTime for the date a waiting holds expires on. >+Returns undef if the system peference ReservesMaxPickUpDelay is not set. >+Returns undef if the hold is not waiting ( found = 'W' ). >+ >+=cut >+ >+sub WaitingExpiresOn { >+ my ($self) = @_; >+ >+ return unless $self->found() eq 'W'; >+ >+ my $ReservesMaxPickUpDelay = C4::Context->preference('ReservesMaxPickUpDelay'); >+ return unless $ReservesMaxPickUpDelay; >+ >+ my $dt = dt_from_string( $self->waitingdate() ); >+ >+ $dt->add( days => $ReservesMaxPickUpDelay ); >+ >+ return $dt; >+} >+ > =head3 Biblio > > Returns the related Koha::Biblio object for this Hold >diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/circ/circulation.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/circ/circulation.tt >index 02d3ec3..5ab9629 100644 >--- a/koha-tmpl/intranet-tmpl/prog/en/modules/circ/circulation.tt >+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/circ/circulation.tt >@@ -619,7 +619,7 @@ No patron matched <span class="ex">[% message %]</span> > > <br/> > [% IF ( w.Branch.branchcode == Branches.GetLoggedInBranchcode() ) %]<strong class="waitinghere">[% ELSE %]<strong>[% END %] >- Waiting at [% w.Branch.branchname | html %] >+ Waiting at [% w.Branch.branchname | html %] [% IF w.WaitingExpiresOn %] until [% w.WaitingExpiresOn | $KohaDates %] [% END %] > </strong> > </li> > </ul> >diff --git a/t/Hold.t b/t/Hold.t >new file mode 100755 >index 0000000..90eaca1 >--- /dev/null >+++ b/t/Hold.t >@@ -0,0 +1,54 @@ >+#!/usr/bin/perl >+ >+# This file is part of Koha. >+# >+# Koha is free software; you can redistribute it and/or modify it >+# under the terms of the GNU General Public License as published by >+# the Free Software Foundation; either version 3 of the License, or >+# (at your option) any later version. >+# >+# Koha is distributed in the hope that it will be useful, but >+# WITHOUT ANY WARRANTY; without even the implied warranty of >+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the >+# GNU General Public License for more details. >+# >+# You should have received a copy of the GNU General Public License >+# along with Koha; if not, see <http://www.gnu.org/licenses>. >+ >+use Modern::Perl; >+ >+use Test::MockModule; >+use Test::More tests => 5; >+use t::lib::Mocks; >+ >+my $module = new Test::MockModule('C4::Context'); >+$module->mock( >+ '_new_dbh', >+ sub { >+ my $dbh = DBI->connect( 'DBI:Mock:', '', '' ) >+ || die "Cannot create handle: $DBI::errstr\n"; >+ return $dbh; >+ } >+); >+ >+use_ok('Koha::Hold'); >+ >+my $hold = Koha::Hold->new({ found => 'W', waitingdate => '2000-01-01'}); >+ >+t::lib::Mocks::mock_preference('ReservesMaxPickUpDelay', undef); >+my $dt = $hold->WaitingExpiresOn(); >+is( $dt, undef, "Koha::Hold->WaitingExpiresOn returns undef if ReservesMaxPickUpDelay is not set"); >+ >+t::lib::Mocks::mock_preference('ReservesMaxPickUpDelay', 5); >+$dt = $hold->WaitingExpiresOn(); >+is( $dt->ymd, "2000-01-06", "Koha::Hold->WaitingExpiresOn returns DateTime of waitingdate + ReservesMaxPickUpDelay if set"); >+ >+$hold->found('T'); >+$dt = $hold->WaitingExpiresOn(); >+is( $dt, undef, "Koha::Hold->WaitingExpiresOn returns undef if found is not 'W' ( Set to 'T' )"); >+ >+$hold->found(q{}); >+$dt = $hold->WaitingExpiresOn(); >+is( $dt, undef, "Koha::Hold->WaitingExpiresOn returns undef if found is not 'W' ( Set to empty string )"); >+ >+1; >-- >1.7.2.5
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
|
Splinter Review
Attachments on
bug 13030
:
32012
|
32070
|
32935
|
40027
|
40038
|
40411
|
40412
|
40414
|
40415