Jonathan Druart
b3c5a83f46
This patch caches the return value of CanItemBeReserved that could
be then returned *on
demand*
We don't want to introduce side-effects hard to catch from this simple
change, so let's return the cache value only from the 2 scripts we are
dealing with.
This patch requests all item values from CanBookBeReserved on request.pl
Before this we either:
- Looped every item to find out that book could not be reserved
- Looped until we found an item that could be reserved, then looped all items to get statuses
In the worst case we avoid double processing a single item, in the best case we avoid double
processing all items (if only last on record is holdable)
To test:
1 - Find a record in staff client with several items
2 - Set AllowHoldsOnDamagedItems to 'Dont allow'
3 - Add a damaged item to record
4 - Set a hold rule to only allow holds form homebranch and ensure record has items from other branches
5 - Setup things to prevent more items from being held
6 - Attempt hold for patron
7 - Note item statuses
8 - Apply patch
9 - Confirm statuses are as they were before
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit
|
||
---|---|---|
.. | ||
clubs | ||
errors | ||
external/overdrive | ||
sci | ||
sco | ||
svc | ||
ilsdi.pl | ||
maintenance.pl | ||
oai.pl | ||
opac-account-pay-return.pl | ||
opac-account-pay.pl | ||
opac-account.pl | ||
opac-addbybiblionumber.pl | ||
opac-alert-subscribe.pl | ||
opac-article-request-cancel.pl | ||
opac-authorities-home.pl | ||
opac-authoritiesdetail.pl | ||
opac-basket.pl | ||
opac-blocked.pl | ||
opac-browse.pl | ||
opac-browser.pl | ||
opac-changelanguage.pl | ||
opac-course-details.pl | ||
opac-course-reserves.pl | ||
opac-curbside-pickups.pl | ||
opac-detail.pl | ||
opac-discharge.pl | ||
opac-dismiss-message.pl | ||
opac-downloadcart.pl | ||
opac-downloadshelf.pl | ||
opac-export.pl | ||
opac-holdshistory.pl | ||
opac-ics.pl | ||
opac-idref.pl | ||
opac-illrequests.pl | ||
opac-image.pl | ||
opac-imageviewer.pl | ||
opac-ISBDdetail.pl | ||
opac-issue-note.pl | ||
opac-library.pl | ||
opac-main.pl | ||
opac-MARCdetail.pl | ||
opac-memberentry.pl | ||
opac-messaging.pl | ||
opac-modrequest-suspend.pl | ||
opac-modrequest.pl | ||
opac-mymessages.pl | ||
opac-news-rss.pl | ||
opac-overdrive-search.pl | ||
opac-page.pl | ||
opac-passwd.pl | ||
opac-password-recovery.pl | ||
opac-patron-consent.pl | ||
opac-patron-image.pl | ||
opac-privacy.pl | ||
opac-ratings.pl | ||
opac-readingrecord.pl | ||
opac-recall.pl | ||
opac-recalls.pl | ||
opac-registration-verify.pl | ||
opac-renew.pl | ||
opac-reportproblem.pl | ||
opac-request-article.pl | ||
opac-reserve.pl | ||
opac-reset-password.pl | ||
opac-restrictedpage.pl | ||
opac-retrieve-file.pl | ||
opac-review.pl | ||
opac-routing-lists.pl | ||
opac-search-history.pl | ||
opac-search.pl | ||
opac-sendbasket.pl | ||
opac-sendshelf.pl | ||
opac-serial-issues.pl | ||
opac-shareshelf.pl | ||
opac-shelves.pl | ||
opac-showmarc.pl | ||
opac-showreviews.pl | ||
opac-suggestions.pl | ||
opac-tags.pl | ||
opac-tags_subject.pl | ||
opac-topissues.pl | ||
opac-user.pl | ||
tracklinks.pl | ||
unapi |