Bug 15533 - Allow patrons and librarians to select itemtype when placing hold
authorKyle M Hall <kyle@bywatersolutions.com>
Fri, 25 Dec 2015 12:05:57 +0000 (12:05 +0000)
committerKyle M Hall <kyle@bywatersolutions.com>
Fri, 29 Apr 2016 10:26:03 +0000 (10:26 +0000)
commitfc81ee50040076ba6417cd047ea72c9ced7a1414
treef80e592904b516bd5304dd65ffa6e9bba504954f
parente27bca77c77617f807304ca9775897a0b7a11dda
Bug 15533 - Allow patrons and librarians to select itemtype when placing hold

Some libraries would like the ability to select the itemtype to request
when placing holds. For example, if a record has 3 copies of BookA and 3
copies of BookA in large print, this feature would allow a person to
place a hold on the record, but still be able to target only the Large
Print edition so that the first Large Print copy that becomes available
is targeted, rather than forcing the patron to select a particular copy
to hold.

Test Plan:
1) Apply this patch
2) Run updatedatabase.pl
3) Create a record with items of two or more itemtypes
4) Place a record level hold on the record while choosing one particular
   itemtype
5) Check in an item from the record that is not of that itemtype
6) Notee it is not trapped for the hold
7) Check in an item from the record that does match the selected itemtype
8) Note the item is trapped for the hold

Signed-off-by: Andreas Hedström Mace <andreas.hedstrom.mace@sub.su.se>
Signed-off-by: Benjamin Rokseth <benjamin.rokseth@kul.oslo.kommune.no>

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
14 files changed:
C4/HoldsQueue.pm
C4/Reserves.pm
Koha/Schema/Result/OldReserve.pm
Koha/Schema/Result/Reserve.pm
installer/data/mysql/atomicupdate/hold_itype.sql [new file with mode: 0644]
installer/data/mysql/kohastructure.sql
koha-tmpl/intranet-tmpl/prog/en/modules/reserve/request.tt
koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-reserve.tt
koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-user.tt
opac/opac-reserve.pl
reserve/placerequest.pl
reserve/request.pl
t/db_dependent/Holds/HoldItemtypeLimit.t [new file with mode: 0644]
t/db_dependent/HoldsQueue.t