Main Koha release repository https://koha-community.org
Find a file
Jonathan Druart 45852c950e
Bug 30860: Cache CanItemBeReserved return value
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>
2023-06-23 10:01:07 -03:00
acqui Bug 34022: Adjust items data structure 2023-06-23 09:46:45 -03:00
admin Bug 33578: Fix controller when editing a restriction type 2023-06-23 10:01:06 -03:00
api Bug 33993: Add order_receive to GET orders endpoints 2023-06-23 09:46:39 -03:00
authorities Bug 33803: Remove comment about tab width 2023-06-06 09:58:47 -03:00
basket Bug 33223: Replace 'first_valid' with 'notice' for email addresses 2023-05-16 15:17:35 -03:00
bin
C4 Bug 30860: Cache CanItemBeReserved return value 2023-06-23 10:01:07 -03:00
catalogue Bug 33896: Check whether index is defined before string match 2023-06-23 10:01:03 -03:00
cataloguing Bug 32959: Don't store results of autobarcode in item editor templates 2023-05-18 11:35:13 -03:00
circ Bug 33961: Remove built-in offline circ tool 2023-06-12 16:53:25 -03:00
clubs
course_reserves Bug 20256: Use new methods 2023-02-02 11:59:26 -03:00
debian Bug 33963: Remove C4::BackgroundJob 2023-06-15 08:48:12 -03:00
docs Bug 33899: Add the 23.11 release team 2023-06-09 08:28:57 -03:00
erm
errors
etc Bug 24517: Add missing 6th position to date-entered-on-file index 2023-06-23 09:46:40 -03:00
ill
installer Bug 33117: DBRev 23.06.00.006 2023-06-23 09:46:45 -03:00
Koha Bug 34051: Cache empty hashref for non-existent authorised values 2023-06-21 13:20:31 -03:00
koha-tmpl Bug 28726: Add sort1 and sort2 to patron card creator - patron search. 2023-06-23 10:01:07 -03:00
labels
lib/CGI/Session/Serialize
members Bug 33803: Remove comment about tab width 2023-06-06 09:58:47 -03:00
misc Bug 33698: Add fields to the verbose output that show the barcode and title of items that cannot be deleted 2023-06-09 08:50:14 -03:00
offline_circ Bug 33962: Remove background job from process koc 2023-06-15 08:48:06 -03:00
opac Bug 30860: Cache CanItemBeReserved return value 2023-06-23 10:01:07 -03:00
patron_lists
patroncards
plugins
pos
recalls Bug 34013: Recalls awaiting pickup doesn't show count on each tab 2023-06-23 10:01:04 -03:00
reports Bug 33966: (bug 23824 follow-up) Fix submit buttons for translated templates 2023-06-12 11:52:04 -03:00
reserve Bug 30860: Cache CanItemBeReserved return value 2023-06-23 10:01:07 -03:00
reviews
rotating_collections Bug 17600: Standardize our EXPORT_OK 2021-07-16 08:58:47 +02:00
serials Bug 33901: (bug 30718 follow-up) Predition pattern - don't set end date to today 2023-06-09 08:41:53 -03:00
services
skel
suggestion Bug 33236: Move NewSuggestion to Koha::Suggestion->store 2023-06-06 10:08:35 -03:00
svc Bug 33944: Don't fetch item object unless using recalls 2023-06-23 09:46:43 -03:00
t Bug 33500: Add tests for RecordLocalUseOnReturn 2023-06-23 09:46:39 -03:00
tags
tools Bug 33963: Remove C4::BackgroundJob 2023-06-15 08:48:12 -03:00
virtualshelves Bug 33223: Fix sendshelf 2023-05-16 15:17:36 -03:00
xt Bug 30002: Remove unused xt/perltidyrc 2023-06-08 08:32:40 -03:00
.editorconfig
.eslintrc.json
.gitignore Bug 33710: Ignore how-to related files 2023-05-12 17:50:01 -03:00
.htaccess Fix file permissions: if it is not a script, it should not be executable. 2010-04-16 00:40:34 -04:00
.mailmap Update .mailmap 2023-06-12 11:52:05 -03:00
.perlcriticrc
.perltidyrc Bug 30002: Adjust perltidy 2023-06-08 08:32:42 -03:00
.proverc.dist
.stylelintrc.json
about.pl Bug 33934: Add more detail to 'No encryption_key in koha-conf.xml' 2023-06-07 15:25:18 -03:00
app.psgi
build-resources.PL Bug 32609: Use the current yarn.lock to generate node_modules 2023-02-10 11:07:57 -03:00
changelanguage.pl
cpanfile Bug 32558: (QA follow-up) Move ForkManager to required 2023-03-07 11:03:32 -03:00
cypress.json
fix-perl-path.PL
gulpfile.js
help.pl Bug 17600: Standardize our EXPORT_OK 2021-07-16 08:58:47 +02:00
INSTALL Bug 26617: Update INSTALL file to include koha-testing-docker and Gitlab links 2020-10-15 12:56:30 +02:00
Koha.pm Bug 33117: DBRev 23.06.00.006 2023-06-23 09:46:45 -03:00
koha_perl_deps.pl
kohaversion.pl
LICENSE Bug 9440 - update Koha's LICENSE file from GPL2 to GPL3 2013-02-12 08:52:10 -05:00
mainpage.pl Bug 33133: Add fast cataloging to 'Cataloging' page 2023-03-27 12:50:07 +02:00
Makefile.PL Bug 26700: Remove occurrences in Makefile.PL 2023-06-14 09:22:00 -03:00
MANIFEST.SKIP
package.json
README
README.md Bug 27092: Remove note about "synced repo" from README.md 2020-11-25 16:31:58 +01:00
README.robots
rewrite-config.PL Bug 28519: Put CGI::Session::Serialize::yamlxs in lib directory 2021-06-17 10:07:36 +02:00
tsconfig.json
webpack.config.js
yarn.lock Bug 33066: Introduce a KohaTable Vue component 2023-04-10 07:38:28 -03:00

Koha is a free software integrated library system (ILS).

Koha is distributed under the GNU GPL version 3 or later.

Note: Koha does not accept pull requests from git hosting sites.

Note: This project has its own bug tracker, to report a bug or submit a patch visit http://bugs.koha-community.org.

For guidelines on submitting patches for Koha please visit https://wiki.koha-community.org/wiki/SubmitingAPatch

The developers handbook can be found at https://wiki.koha-community.org/wiki/Developer_handbook

http://koha-community.org/

Koha Logo