Koha/opac
Jonathan Druart 00c5929c1a Bug 17453: Inter-site holds improvement
At the moment users can reserve items and choose any library as a pick up
location, but there is no mechanism to prevent users from reserving items that
are available on the shelf at any given location from reserving the item at the
same location, essentially creating a Fetch and Collect scenario.
This has an impact on staff workloads as they are having to process reservations
and check shelves for items that students can already come and collect from the
open library shelves.
The aim of this enhancement is to decrease the impact on staff workload there
should be a restriction in place that prevents users from requesting items for
collection at a library where the item is currently available.

Implementation:
We first tried to add a new circulation rule adding a 4th
“NotIfAvailableAtPickupLibrary” option to "On shelf holds allowed".
That would make the development more flexible.
But in that case we quickly faced non-trivial problematics:
Let's say you have 3 items I1, I2 and I3. The first one has onshelfholds
set to Yes and 2 others has it set to “NotIfAvailableAtPickupLibrary”.
What would be the expected behavior if a hold is placed at biblio level?
And if a hold is placed at item level for I1?
This second point could be answered by reworking the interface to move
the libraries dropdown list elsewhere (1 list per item) or by adding a
lot of JS code to handle the different situation. But it would be
much more complicated to implement.
So finally I moved back to the simple approach and added a new pref to
handle the behavior globally.

Test plan:
0/ Switch off OPACHoldsIfAvailableAtPickup
1/ Let's say you have 3 libraries L1, L2, L3, create 2 items owned by L1
and L2
2/ Place a biblio level hold. You should only be able to pick it up at
L3
2/ Place a item level hold. You should only be able to pick it up at
L3
3/ Create a third items owned by L3
4/ Now you should not be able to place a hold on this record anymore

Sponsored-by: University of the Arts London

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>

https://bugs.koha-community.org/show_bug.cgi?id=14753

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
2017-02-17 17:15:05 +00:00
..
errors Bug 15288: Error pages: Code duplication removal and better translatability 2016-01-27 05:57:34 +00:00
rss adding file just for creating the rss directory 2007-08-02 08:50:43 +00:00
sco Bug 17578: GetMemberDetails - Remove GetMemberDetails 2016-12-16 13:12:44 +00:00
svc Bug 17486: Remove Mozilla Persona 2017-01-13 12:32:19 +00:00
ilsdi.pl Bug 16476: Do not call CGI->param in list context, some more 2016-05-16 17:11:46 +00:00
maintenance.pl Bug 13758: Move the Koha version from kohaversion.pl 2015-05-07 11:39:04 -03:00
oai.pl Bug 14939: Modularize OAI Server existing classes 2015-12-31 15:15:05 +00:00
opac-account-pay-paypal-return.pl Bug 15907 - Remove use of makepayment in opac/opac-account-pay-paypal-return.pl 2017-01-12 13:42:47 +00:00
opac-account-pay.pl Bug 16154: CGI->multi_param - Declare a list 2016-04-26 23:16:42 +00:00
opac-account.pl Bug 16154: CGI->multi_param - Force scalar context 2016-04-26 23:16:43 +00:00
opac-addbybiblionumber.pl Bug 16519: Replace 'our' with 'my' in [opac-]addbybiblionumbers.pl 2016-09-25 15:42:40 +00:00
opac-alert-subscribe.pl Bug 14956: C4::Dates from files opac/*.pl 2015-11-06 15:01:28 -03:00
opac-article-request-cancel.pl Bug 14610 - Add and update scripts 2016-10-26 12:15:14 +00:00
opac-authorities-home.pl Bug 17048: Fix pagination offset for authority searches 2016-09-02 13:49:51 +00:00
opac-authoritiesdetail.pl Bug 15550: Fix authority search and detail at the OPAC 2016-01-23 18:34:06 +00:00
opac-basket.pl Bug 17642: Add and use get_descriptions_by_koha_field 2016-11-18 15:52:00 +00:00
opac-blocked.pl Bug 11944: use CGI( -utf8 ) everywhere 2015-01-13 13:07:21 -03:00
opac-browser.pl Bug 5371: Force no caching for private pages at the OPAC 2015-10-02 11:06:17 -03:00
opac-changelanguage.pl Bug 16776: Do not forget external language choice in language switcher 2016-08-10 13:51:33 +00:00
opac-course-details.pl Bug 9978: Replace license header with the correct license (GPLv3+) 2015-04-20 09:59:38 -03:00
opac-course-reserves.pl Bug 9978: Replace license header with the correct license (GPLv3+) 2015-04-20 09:59:38 -03:00
opac-detail.pl Bug 17642: Add and use get_descriptions_by_koha_field 2016-11-18 15:52:00 +00:00
opac-discharge.pl Bug 15758: Koha::Libraries - Ultimate duel for C4::Branch 2016-09-08 14:36:04 +00:00
opac-downloadcart.pl Bug 11592: (QA followup) Add missing framework code to ViewPolicy filter calls 2016-09-08 11:54:22 +00:00
opac-downloadshelf.pl Bug 17094: Make Koha::Virtualshelf methods return Koha::Objects-based objects 2016-10-11 13:14:46 +00:00
opac-export.pl Bug 11592: (QA followup) Add missing framework code to ViewPolicy filter calls 2016-09-08 11:54:22 +00:00
opac-ics.pl Bug 5456 - Create a link to opac-ics.pl 2016-09-02 15:55:32 +00:00
opac-idref.pl Bug 16447: Remove occurrence of the borrow permission which does no longer exist 2016-05-05 21:28:14 +00:00
opac-image.pl Bug 16154: CGI->multi_param - Manual changes 2016-04-26 23:16:43 +00:00
opac-imageviewer.pl Bug 7976: Remove the borrow permission 2015-06-05 13:43:34 -03:00
opac-ISBDdetail.pl Bug 15839: Koha::Reviews - Remove getreviews 2016-09-09 10:29:53 +00:00
opac-main.pl Bug 14305: View arbitrary branch's news 2016-04-29 12:44:08 +00:00
opac-MARCdetail.pl Bug 11592: (QA followup) Add missing framework code to ViewPolicy filter calls 2016-09-08 11:54:22 +00:00
opac-memberentry.pl Bug 17830: CSRF - Handle unicode characters in userid 2016-12-30 17:47:18 +00:00
opac-messaging.pl Bug 15758: Koha::Libraries - Ultimate duel for C4::Branch 2016-09-08 14:36:04 +00:00
opac-modrequest-suspend.pl Bug 7976: Remove the borrow permission 2015-06-05 13:43:34 -03:00
opac-modrequest.pl Bug 7976: Remove the borrow permission 2015-06-05 13:43:34 -03:00
opac-mymessages.pl Bug 5371: Force no caching for private pages at the OPAC 2015-10-02 11:06:17 -03:00
opac-news-rss.pl Bug 16447: Remove occurrence of the borrow permission which does no longer exist 2016-05-05 21:28:14 +00:00
opac-overdrive-search.pl Bug 11944: use CGI( -utf8 ) everywhere 2015-01-13 13:07:21 -03:00
opac-passwd.pl Bug 15344: Remove some other calls of GetMemberDetails from pl scripts 2015-12-30 11:53:18 +00:00
opac-password-recovery.pl Bug 18025: Simplify logic and avoid 1 call to ValidateBorrowernumber 2017-02-17 11:24:39 +00:00
opac-patron-image.pl Bug 15635: Koha::Patron::Images - Remove GetPatronImage 2016-03-04 12:54:15 +00:00
opac-privacy.pl Bug 15548: Move new patron related code to Patron* 2016-03-03 14:38:26 -07:00
opac-ratings-ajax.pl Bug 17089: Improve errors handling 2016-09-09 09:31:30 +00:00
opac-ratings.pl Bug 17089: Improve errors handling 2016-09-09 09:31:30 +00:00
opac-readingrecord.pl Bug 17196: Move marcxml out of the biblioitems table 2017-01-13 13:49:26 +00:00
opac-registration-verify.pl Bug 17080: borrowers table - use default values defined in the DBIx::Class schema 2016-10-21 17:33:19 +00:00
opac-renew.pl Bug 17578: GetMemberDetails - Remove GetMemberDetails 2016-12-16 13:12:44 +00:00
opac-request-article.pl Bug 14610 - Add and update scripts 2016-10-26 12:15:14 +00:00
opac-reserve.pl Bug 17453: Inter-site holds improvement 2017-02-17 17:15:05 +00:00
opac-restrictedpage.pl Bug 16447: Remove occurrence of the borrow permission which does no longer exist 2016-05-05 21:28:14 +00:00
opac-retrieve-file.pl Bug 17501: Move getCategories and httpheaders from Upload.pm 2017-01-20 14:20:05 +00:00
opac-review.pl Bug 15839: [QA Follow-up] Error checking in opac-review.pl 2016-09-09 10:31:06 +00:00
opac-search-history.pl Bug 16593: Do not allow patrons to delete search history of others patrons 2016-06-24 11:47:29 +00:00
opac-search.pl Bug 17627: Move C4::Koha::GetItemTypesByCategory to Koha::ItemTypes 2017-02-17 15:31:32 +00:00
opac-sendbasket.pl Bug 17830: CSRF - Handle unicode characters in userid 2016-12-30 17:47:18 +00:00
opac-sendshelf.pl Bug 17094: Make Koha::Virtualshelf methods return Koha::Objects-based objects 2016-10-11 13:14:46 +00:00
opac-serial-issues.pl Bug 16154: CGI->multi_param - Force scalar context 2016-04-26 23:16:43 +00:00
opac-shareshelf.pl Bug 16317 - Attempt to share private list results in error 2016-04-22 22:47:34 +00:00
opac-shelves.pl Bug 17901: Force context to scalar 2017-01-30 11:20:49 +00:00
opac-showmarc.pl Bug 11592: (QA followup) Add missing framework code to ViewPolicy filter calls 2016-09-08 11:54:22 +00:00
opac-showreviews.pl Bug 17578: GetMemberDetails - Remove GetMemberDetails 2016-12-16 13:12:44 +00:00
opac-suggestions.pl Bug 17578: GetMemberDetails - Remove GetMemberDetails 2016-12-16 13:12:44 +00:00
opac-tags.pl Bug 15263: (QA followup) Use the new XSLTParse4Display everywhere 2016-05-04 13:40:35 +00:00
opac-tags_subject.pl Bug 14412: SQL injection possible 2015-06-22 11:00:10 -03:00
opac-topissues.pl Bug 15758: Koha::Libraries - Ultimate duel for C4::Branch 2016-09-08 14:36:04 +00:00
opac-user.pl Bug 17578: GetMemberDetails - Remove GetMemberDetails 2016-12-16 13:12:44 +00:00
tracklinks.pl Bug 9978: Replace license header with the correct license (GPLv3+) 2015-04-20 09:59:38 -03:00
unapi Bug 15162 Add for Unimarc XSL trans for RDF-DC & SRW-DC 2016-01-27 06:00:35 +00:00