Bugzilla – Attachment 31963 Details for
Bug 12892
Holds Waiting: not showing from check out screen
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug 12892 - Holds Waiting: not showing from check out screen
Bug-12892---Holds-Waiting-not-showing-from-check-o.patch (text/plain), 17.75 KB, created by
Kyle M Hall (khall)
on 2014-10-01 09:44:32 UTC
(
hide
)
Description:
Bug 12892 - Holds Waiting: not showing from check out screen
Filename:
MIME Type:
Creator:
Kyle M Hall (khall)
Created:
2014-10-01 09:44:32 UTC
Size:
17.75 KB
patch
obsolete
>From c6aa2ecd6b5a591e39d3484162d966a58c215803 Mon Sep 17 00:00:00 2001 >From: Kyle M Hall <kyle@bywatersolutions.com> >Date: Tue, 30 Sep 2014 15:07:50 -0400 >Subject: [PATCH] Bug 12892 - Holds Waiting: not showing from check out screen > >When a patron has holds waiting to be pick up, they used to show in the >check out screen. These notifications are no longer showing in 3.16. > >Test Plan: >1) Apply this patch >2) Create a hold, set to waiting >3) Browse to circulation.pl for that patron >4) Note you see the list of waiting holds >5) Switch you logged in branch to a different branch >6) Note the "Waiting at" line is no longer emphasized. >--- > Koha/Biblio.pm | 52 +++++++++++ > Koha/Biblios.pm | 62 +++++++++++++ > Koha/Branch.pm | 52 +++++++++++ > Koha/Branches.pm | 62 +++++++++++++ > Koha/Hold.pm | 96 ++++++++++++++++++++ > Koha/Holds.pm | 77 ++++++++++++++++ > Koha/Item.pm | 64 +++++++++++++ > Koha/Items.pm | 62 +++++++++++++ > circ/circulation.pl | 7 +- > .../prog/en/modules/circ/circulation.tt | 36 +++++--- > t/db_dependent/Reserves.t | 7 ++- > 11 files changed, 560 insertions(+), 17 deletions(-) > create mode 100644 Koha/Biblio.pm > create mode 100644 Koha/Biblios.pm > create mode 100644 Koha/Branch.pm > create mode 100644 Koha/Branches.pm > create mode 100644 Koha/Hold.pm > create mode 100644 Koha/Holds.pm > create mode 100644 Koha/Item.pm > create mode 100644 Koha/Items.pm > >diff --git a/Koha/Biblio.pm b/Koha/Biblio.pm >new file mode 100644 >index 0000000..fabaf4d >--- /dev/null >+++ b/Koha/Biblio.pm >@@ -0,0 +1,52 @@ >+package Koha::Biblio; >+ >+# Copyright ByWater Solutions 2014 >+# >+# 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, write to the Free Software Foundation, Inc., >+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. >+ >+use Modern::Perl; >+ >+use Carp; >+ >+use Koha::Database; >+ >+use base qw(Koha::Object); >+ >+=head1 NAME >+ >+Koha::Biblio - Koha Biblio Object class >+ >+=head1 API >+ >+=head2 Class Methods >+ >+=cut >+ >+=head3 type >+ >+=cut >+ >+sub Type { >+ return 'Biblio'; >+} >+ >+=head1 AUTHOR >+ >+Kyle M Hall <kyle@bywatersolutions.com> >+ >+=cut >+ >+1; >diff --git a/Koha/Biblios.pm b/Koha/Biblios.pm >new file mode 100644 >index 0000000..876bb77 >--- /dev/null >+++ b/Koha/Biblios.pm >@@ -0,0 +1,62 @@ >+package Koha::Biblios; >+ >+# Copyright ByWater Solutions 2014 >+# >+# 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, write to the Free Software Foundation, Inc., >+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. >+ >+use Modern::Perl; >+ >+use Carp; >+ >+use Koha::Database; >+ >+use Koha::Biblio; >+ >+use base qw(Koha::Objects); >+ >+=head1 NAME >+ >+Koha::Reserve - Koha Reserve Object class >+ >+=head1 API >+ >+=head2 Class Methods >+ >+=cut >+ >+=head3 Type >+ >+=cut >+ >+sub Type { >+ return 'Biblio'; >+} >+ >+=head3 ObjectClass >+ >+=cut >+ >+sub ObjectClass { >+ return 'Koha::Biblio'; >+} >+ >+=head1 AUTHOR >+ >+Kyle M Hall <kyle@bywatersolutions.com> >+ >+=cut >+ >+1; >diff --git a/Koha/Branch.pm b/Koha/Branch.pm >new file mode 100644 >index 0000000..7f3b24d >--- /dev/null >+++ b/Koha/Branch.pm >@@ -0,0 +1,52 @@ >+package Koha::Branch; >+ >+# Copyright ByWater Solutions 2014 >+# >+# 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, write to the Free Software Foundation, Inc., >+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. >+ >+use Modern::Perl; >+ >+use Carp; >+ >+use Koha::Database; >+ >+use base qw(Koha::Object); >+ >+=head1 NAME >+ >+Koha::Branch - Koha Item Object class >+ >+=head1 API >+ >+=head2 Class Methods >+ >+=cut >+ >+=head3 type >+ >+=cut >+ >+sub Type { >+ return 'Branch'; >+} >+ >+=head1 AUTHOR >+ >+Kyle M Hall <kyle@bywatersolutions.com> >+ >+=cut >+ >+1; >diff --git a/Koha/Branches.pm b/Koha/Branches.pm >new file mode 100644 >index 0000000..611f01d >--- /dev/null >+++ b/Koha/Branches.pm >@@ -0,0 +1,62 @@ >+package Koha::Branches; >+ >+# Copyright ByWater Solutions 2014 >+# >+# 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, write to the Free Software Foundation, Inc., >+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. >+ >+use Modern::Perl; >+ >+use Carp; >+ >+use Koha::Database; >+ >+use Koha::Branch; >+ >+use base qw(Koha::Objects); >+ >+=head1 NAME >+ >+Koha::Reserve - Koha Reserve Object class >+ >+=head1 API >+ >+=head2 Class Methods >+ >+=cut >+ >+=head3 Type >+ >+=cut >+ >+sub Type { >+ return 'Branch'; >+} >+ >+=head3 ObjectClass >+ >+=cut >+ >+sub ObjectClass { >+ return 'Koha::Branch'; >+} >+ >+=head1 AUTHOR >+ >+Kyle M Hall <kyle@bywatersolutions.com> >+ >+=cut >+ >+1; >diff --git a/Koha/Hold.pm b/Koha/Hold.pm >new file mode 100644 >index 0000000..d2d6a1a >--- /dev/null >+++ b/Koha/Hold.pm >@@ -0,0 +1,96 @@ >+package Koha::Hold; >+ >+# Copyright ByWater Solutions 2014 >+# >+# 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, write to the Free Software Foundation, Inc., >+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. >+ >+use Modern::Perl; >+ >+use Carp; >+ >+use Koha::Branches; >+use Koha::Biblios; >+use Koha::Items; >+ >+use base qw(Koha::Object); >+ >+=head1 NAME >+ >+Koha::Branch - Koha Item Object class >+ >+=head1 API >+ >+=head2 Class Methods >+ >+=cut >+ >+=head3 Biblio >+ >+Returns the related Koha::Biblio object for this Hold >+ >+=cut >+ >+sub Biblio { >+ my ($self) = @_; >+ >+ $self->{Biblio} ||= Koha::Biblios->new()->Find( $self->biblionumber() ); >+ >+ return $self->{Biblio}; >+} >+ >+=head3 Item >+ >+Returns the related Koha::Item object for this Hold >+ >+=cut >+ >+sub Item { >+ my ($self) = @_; >+ >+ $self->{Item} ||= Koha::Items->new()->Find( $self->itemnumber() ); >+ >+ return $self->{Item}; >+} >+ >+=head3 Branch >+ >+Returns the related Koha::Branch object for this Hold >+ >+=cut >+ >+sub Branch { >+ my ($self) = @_; >+ >+ $self->{Branch} ||= Koha::Branches->new()->Find( $self->branchcode() ); >+ >+ return $self->{Branch}; >+} >+ >+=head3 type >+ >+=cut >+ >+sub Type { >+ return 'Reserve'; >+} >+ >+=head1 AUTHOR >+ >+Kyle M Hall <kyle@bywatersolutions.com> >+ >+=cut >+ >+1; >diff --git a/Koha/Holds.pm b/Koha/Holds.pm >new file mode 100644 >index 0000000..b7e4604 >--- /dev/null >+++ b/Koha/Holds.pm >@@ -0,0 +1,77 @@ >+package Koha::Holds; >+ >+# Copyright ByWater Solutions 2014 >+# >+# 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, write to the Free Software Foundation, Inc., >+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. >+ >+use Modern::Perl; >+ >+use Carp; >+ >+use Koha::Database; >+ >+use Koha::Hold; >+ >+use base qw(Koha::Objects); >+ >+=head1 NAME >+ >+Koha::Reserve - Koha Reserve Object class >+ >+=head1 API >+ >+=head2 Class Methods >+ >+=cut >+ >+=head3 Waiting >+ >+=cut >+ >+sub Waiting { >+ my ( $self, $params ) = @_; >+ >+ carp("No borrowernumber passed in to Koha::Reserves::Waiting!") >+ unless $params->{borrowernumber}; >+ >+ $params->{found} = 'W'; >+ >+ return $self->Search($params); >+} >+ >+=head3 Type >+ >+=cut >+ >+sub Type { >+ return 'Reserve'; >+} >+ >+=head3 ObjectClass >+ >+=cut >+ >+sub ObjectClass { >+ return 'Koha::Hold'; >+} >+ >+=head1 AUTHOR >+ >+Kyle M Hall <kyle@bywatersolutions.com> >+ >+=cut >+ >+1; >diff --git a/Koha/Item.pm b/Koha/Item.pm >new file mode 100644 >index 0000000..cf27692 >--- /dev/null >+++ b/Koha/Item.pm >@@ -0,0 +1,64 @@ >+package Koha::Item; >+ >+# Copyright ByWater Solutions 2014 >+# >+# 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, write to the Free Software Foundation, Inc., >+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. >+ >+use Modern::Perl; >+ >+use Carp; >+ >+use Koha::Database; >+ >+use base qw(Koha::Object); >+ >+=head1 NAME >+ >+Koha::Item - Koha Item Object class >+ >+=head1 API >+ >+=head2 Class Methods >+ >+=cut >+ >+=head3 EffectiveItemtype >+ >+Returns the itemtype for the item based on whether item level itemtypes are set or not. >+ >+=cut >+ >+sub EffectiveItemtype { >+ my ( $self ) = @_; >+ >+ return $self->{result}->effective_itemtype(); >+} >+ >+=head3 type >+ >+=cut >+ >+sub Type { >+ return 'Item'; >+} >+ >+=head1 AUTHOR >+ >+Kyle M Hall <kyle@bywatersolutions.com> >+ >+=cut >+ >+1; >diff --git a/Koha/Items.pm b/Koha/Items.pm >new file mode 100644 >index 0000000..0e6a4c0 >--- /dev/null >+++ b/Koha/Items.pm >@@ -0,0 +1,62 @@ >+package Koha::Items; >+ >+# Copyright ByWater Solutions 2014 >+# >+# 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, write to the Free Software Foundation, Inc., >+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. >+ >+use Modern::Perl; >+ >+use Carp; >+ >+use Koha::Database; >+ >+use Koha::Item; >+ >+use base qw(Koha::Objects); >+ >+=head1 NAME >+ >+Koha::Reserve - Koha Reserve Object class >+ >+=head1 API >+ >+=head2 Class Methods >+ >+=cut >+ >+=head3 Type >+ >+=cut >+ >+sub Type { >+ return 'Item'; >+} >+ >+=head3 ObjectClass >+ >+=cut >+ >+sub ObjectClass { >+ return 'Koha::Item'; >+} >+ >+=head1 AUTHOR >+ >+Kyle M Hall <kyle@bywatersolutions.com> >+ >+=cut >+ >+1; >diff --git a/circ/circulation.pl b/circ/circulation.pl >index c766e88..cf23557 100755 >--- a/circ/circulation.pl >+++ b/circ/circulation.pl >@@ -37,6 +37,7 @@ use C4::Biblio; > use C4::Search; > use MARC::Record; > use C4::Reserves; >+use Koha::Holds; > use C4::Context; > use CGI::Session; > use C4::Members::Attributes qw(GetBorrowerAttributes); >@@ -362,9 +363,11 @@ if ($borrowernumber) { > # BUILD HTML > # show all reserves of this borrower, and the position of the reservation .... > if ($borrowernumber) { >+ my $holds = Koha::Holds->new(); > $template->param( >- holds_count => Koha::Database->new()->schema()->resultset('Reserve') >- ->count( { borrowernumber => $borrowernumber } ) ); >+ holds_count => $holds->Count( { borrowernumber => $borrowernumber } ), >+ WaitingHolds => scalar $holds->Waiting( { borrowernumber => $borrowernumber } ), >+ ); > > $template->param( adultborrower => 1 ) if ( $borrower->{'category_type'} eq 'A' ); > } >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 9734c0f..bc0ae25 100644 >--- a/koha-tmpl/intranet-tmpl/prog/en/modules/circ/circulation.tt >+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/circ/circulation.tt >@@ -596,20 +596,28 @@ No patron matched <span class="ex">[% message %]</span> > </ul> > </div> > >- [% IF ( WaitingReserveLoop ) %] >- <div id="holdswaiting" class="circmessage"> >- <h4>Holds waiting:</h4> >- [% FOREACH WaitingReserveLoo IN WaitingReserveLoop %] >- <ul> >- <li> <a href="/cgi-bin/koha/reserve/request.pl?biblionumber=[% WaitingReserveLoo.biblionumber %]">[% WaitingReserveLoo.title |html %]</a> ([% WaitingReserveLoo.itemtype %]), [% IF ( WaitingReserveLoo.author ) %]by [% WaitingReserveLoo.author %][% END %] [% IF ( WaitingReserveLoo.itemcallnumber ) %][[% WaitingReserveLoo.itemcallnumber %]] [% END %]Hold placed on [% WaitingReserveLoo.reservedate %]. >- [% IF ( WaitingReserveLoo.waitingat ) %] >- <br />[% IF ( WaitingReserveLoo.waitinghere ) %]<strong class="waitinghere">[% ELSE %]<strong>[% END %]Waiting at [% WaitingReserveLoo.waitingat %]</strong> >- [% END %] >- </li> >- </ul> >- [% END %] >- </div> >- <!-- /If WaitingReserveLoop -->[% END %] >+ [% IF ( WaitingHolds ) %] >+ <div id="holdswaiting" class="circmessage"> >+ <h4>Holds waiting:</h4> >+ [% FOREACH w IN WaitingHolds %] >+ <ul> >+ <li> >+ <a href="/cgi-bin/koha/reserve/request.pl?biblionumber=[% w.Biblio.biblionumber %]">[% w.Biblio.title | html %]</a> >+ ([% w.Item.EffectiveItemtype %]), >+ [% IF ( w.Biblio.author ) %] by [% w.Biblio.author | html %] [% END %] >+ [% IF ( w.Item.itemcallnumber ) %] [[% w.Item.itemcallnumber %]] [% END %] >+ Hold placed on [% w.reservedate | $KohaDates %]. >+ >+ <br/> >+ [% IF ( w.Branch.branchcode == Branches.GetLoggedInBranchcode() ) %]<strong class="waitinghere">[% ELSE %]<strong>[% END %] >+ Waiting at [% w.Branch.branchname | html %] >+ </strong> >+ </li> >+ </ul> >+ [% END %] >+ </div> >+ [% END %] >+ > [% IF ( notes ) %] > <div id="circnotes" class="circmessage"> > <h4>Notes:</h4> >diff --git a/t/db_dependent/Reserves.t b/t/db_dependent/Reserves.t >index 0698534..c7087ee 100755 >--- a/t/db_dependent/Reserves.t >+++ b/t/db_dependent/Reserves.t >@@ -2,7 +2,7 @@ > > use Modern::Perl; > >-use Test::More tests => 35; >+use Test::More tests => 37; > > use MARC::Record; > use DateTime::Duration; >@@ -12,6 +12,7 @@ use C4::Biblio; > use C4::Items; > use C4::Members; > use C4::Circulation; >+use Koha::Holds; > use t::lib::Mocks; > > use Koha::DateUtils; >@@ -225,6 +226,10 @@ is($reserves[0]{priority}, 0, 'Item is correctly waiting'); > is($reserves[1]{priority}, 1, 'Item is correctly priority 1'); > is($reserves[2]{priority}, 2, 'Item is correctly priority 2'); > >+@reserves = Koha::Holds->new()->Waiting({ borrowernumber => $requesters{'RPL'} }); >+is( @reserves, 1, 'GetWaiting got only the waiting reserve' ); >+is( $reserves[0]->borrowernumber(), $requesters{'RPL'}, 'GetWaiting got the reserve for the correct borrower' ); >+ > > $dbh->do("DELETE FROM reserves WHERE biblionumber=?",undef,($bibnum2)); > AddReserve('RPL', $requesters{'RPL'}, $bibnum2, >-- >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 12892
:
31471
|
31472
|
31581
|
31600
|
31601
|
31603
|
31604
|
31605
|
31607
|
31608
|
31670
|
31671
|
31672
|
31962
|
31963
|
32010
|
32017
|
32044
|
32057
|
32066
|
32069
|
33222
|
33225
|
33236
|
33275