Koha/t
Andrew Nugged 4599fcc59d Bug 24683: Fix for take smart rules into account in "if all unavailable"
Inside of ItemsAnyAvailableAndNotRestricted was no effect from main set
of smart rules (per record and other limits): i.e. call to
"CanItemBeReserved" was absent totally.

Because of this there was a bug: for example none of two items were
allowed to be held when first was allowed by one smart rule, BUT on loan,
and second was disallowed by another smart rule (for example,
0 "Holds per record"),

i.e. in this case both items unavailable: so on-shelf holds setting
"allow hold if all unavailable" should allow to hold first one, and not
the second one. But it was that both wasn't allowed to be held.

Solution: call to sub "CanItemBeReserved" added so it checked for
"...->{status} ne 'OK'" so now if item restricted by smart rule it also
accounted as "unavailable" and "AnyAvailavble" not counts it.

How to reproduce:

1. Add 2 smart rules (/cgi-bin/koha/admin/smart-rules.pl) with "on shelf
   holds": "if all unavailable" for all rules, no "item level holds", and
   set "holds per record" to 2 for "books" and "0" for "computer files".

2. Create only 2 items for one biblio, but different types, "book"
   and "computer file". For example in misc4dev env:
   /cgi-bin/koha/cataloguing/additem.pl?biblionumber=1#additem

3. Check out that item of type "book" to some person, for example,
   in misc4dev:
   /cgi-bin/koha/circ/circulation.pl?borrowernumber=2&barcode=3999900000001

4. Open reserve/request, for example, for item 1 and patron 1 in misc4dev
   env (/cgi-bin/koha/reserve/request.pl?biblionumber=1&borrowernumber=1)

5. It does not allow to hold, both red crossed, but computer file says
   "Exceeded max holds per record" because of "0" limit set on step 1.

6. Apply the patch.

7. Reload page on step 5 and see that "book" will be available for hold,
   but "computer file" still will be red-crossed "Exceeded max holds
   per record", now that's correct because both items unavailable:
   one because on load, another because of "0" limit for computer files.

8. Check-in book from step 3 so it will be returned to the library,

9. Reload page on step 5 and see that again no any holds available,
   but it's now also correct: "book" now returned but "on shelf holds"
   set to "if all unavailable".

Signed-off-by: Agustin Moyano <agustinmoyano@theke.io>

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

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
2020-08-24 10:12:45 +02:00
..
Acquisition
Biblio Bug 25709: Rename systempreference to NotesToHide 2020-07-29 10:08:43 +02:00
Budgets Bug 21817: Centralize the mock of userenv from tests 2019-01-02 20:18:29 +00:00
Circulation Bug 24840: Replace DateTime->now with dt_from_string 2020-04-08 11:54:23 +01:00
db_dependent Bug 24683: Fix for take smart rules into account in "if all unavailable" 2020-08-24 10:12:45 +02:00
edi_testfiles
etc
External Bug 22010: Check preferences for ebook integration 2019-04-30 11:42:51 +00:00
Koha Bug 26127: local_referer should not compare with OPACBaseURL case insensitive 2020-08-18 14:47:44 +02:00
LangInstaller/templates Bug 22007: Generated with add_missing_filters.pl 2019-01-02 20:43:53 +00:00
lib Bug 26162: Don't fall into an infinite loop 2020-08-19 08:19:11 +02:00
Members Bug 21015: Remove unecessary 'use Koha::Schema' statements in t/ 2018-11-08 02:18:48 +00:00
Number Bug 26239: Do not format large negative numbers 2020-08-19 08:22:02 +02:00
Search
Serials Bug 24903: Add tests for _handle_seqno 2020-04-14 08:29:11 +01:00
SIP
Test
00-checkdatabase-version.t
00-deprecated.t
00-load.t Bug 24823: Drop Catmandu dependency 2020-05-12 11:43:19 +01:00
00-merge-conflict-markers.t
00-testcritic.t Bug 21395: Make perlcritic happy 2020-06-29 12:37:02 +02:00
00-valid-xml.t Bug 24494: Make the regex more exact 2020-02-19 11:30:45 +00:00
Auth.t Bug 22943: Remove unused line from Auth.t 2020-03-16 11:00:37 +00:00
Auth_with_shibboleth.t Bug 23042: Correct shib param escaping 2019-11-27 11:30:20 +00:00
AuthoritiesMarc_MARC21.t
AuthoritiesMarc_UNIMARC.t
AuthUtils.t
Barcodes_annual.t
Barcodes_EAN13.t
Barcodes_hbyymmincr.t
Barcodes_incremental.t
Biblio.t Bug 26133: Remove GetMarcHosts 2020-08-05 17:36:28 +02:00
Biblio2.t Bug 11529: (follow-up) Fix QA issues 2019-08-05 15:03:19 +01:00
Boolean.t
Budgets.t
Calendar.t Bug 25723: (QA follow-up) Handle holiday and exception on same day 2020-07-20 17:45:31 +02:00
Charset.t
Circulation_barcodedecode.t Bug 21817: Centralize the mock of userenv from tests 2019-01-02 20:18:29 +00:00
ClassSortRoutine.t
ClassSortRoutine_Dewey.t
ClassSortRoutine_Generic.t
ClassSortRoutine_LCC.t
ClassSource.t
Context.t Bug 25131: Add C4::Context->needs_install 2020-04-16 19:20:57 +01:00
Contract.t
Creators.t
DateUtils.t Bug 25617: (QA follow-up) Add responses to tests 2020-05-29 11:30:02 +02:00
Debug.t
dummy.t Bug 21395: Make perlcritic happy 2020-06-29 12:37:02 +02:00
Edifact.t Bug 21580: Add test for message buyer_ean method 2019-10-10 08:23:04 +01:00
EdiInvoice.t
Ediorder.t Bug 23926: Limit GIR segment to 5 pieces of info 2020-03-10 15:18:22 +00:00
Ediordrsp.t
EdiTransport.t Bug 20254: Add tests for transport ingest 2019-08-20 15:04:26 +01:00
Form_MessagingPreferences.t
HtmlTags.t
Images.t
ImportBatch.t
Installer_PerlModules.t Bug 19735: Move Perl deps definitions into a cpanfile 2020-02-12 16:33:02 +00:00
Installer_pm.t Bug 19735: Move Perl deps definitions into a cpanfile 2020-02-12 16:33:02 +00:00
ItemCirculationAlertPreference.t
Koha.t Bug 23768: Adjust the test for invalid ISBN 2019-11-07 13:02:59 +00:00
Koha_Email.t
Koha_MetadataRecord.t
Koha_SearchEngine_Elasticsearch_Browse.t Bug 24545: Fix newly added files 2020-02-24 13:31:27 +00:00
Koha_Template_Plugin_Cache.t
Koha_Template_Plugin_Koha.t Bug 20415: add Koha.ArePluginsEnabled Template Toolkit method 2020-03-26 11:41:54 +00:00
Koha_Util_FrameworkPlugin.t
Koha_Util_MARC.t
Labels.t Bug 15836: Add the ability to defined custom methods to split call number in labels 2018-11-13 15:18:22 +00:00
Labels_split_ccn.t Bug 15836: Fix failing tests 2018-11-13 18:53:10 +00:00
Labels_split_ddcn.t Bug 15836: Add the ability to defined custom methods to split call number in labels 2018-11-13 15:18:22 +00:00
Labels_split_lccn.t Bug 15836: Add the ability to defined custom methods to split call number in labels 2018-11-13 15:18:22 +00:00
Labels_split_Regex.t Bug 15836: Add the ability to defined custom methods to split call number in labels 2018-11-13 15:18:22 +00:00
LangInstaller.t Bug 21895: Fix translation for package install 2018-11-29 17:57:54 +00:00
Languages.t Bug 21395: Make perlcritic happy 2020-06-29 12:37:02 +02:00
Letters.t
Logger.t Bug 25172: Adjust tests 2020-04-22 13:44:06 +01:00
Makefile.t Bug 21395: Ignore .perlcriticrc in t/Makefile.t 2020-06-29 15:43:41 +02:00
Matcher.t Bug 23324: Add an ISBN normalization routine 2019-08-16 12:26:48 +01:00
Members_Messaging.t
OpenLibrarySearch.t
Output.t Bug 24369: Add CORS support to output_with_http_headers() 2020-03-05 12:59:44 +00:00
Output_JSONStream.t
Patron.t Bug 14570: Make it possible to add multiple guarantors to a record 2019-08-20 16:04:48 +01:00
Patroncards.t
Patroncards_Batch.t
Patroncards_Lib.t
Patroncards_Patroncard.t
Patroncards_Profile.t
Patroncards_Template.t
Prices.t Bug 25750: fix fallback to ecost_tax_included/ecost_tax_excluded 2020-07-09 11:50:42 +02:00
RecordProcessor.t Bug 25008: Tests for ->options 2020-04-14 08:31:22 +01:00
Ris.t
Scheduler.t
Scrubber.t
Search.t
Search_PazPar2.t
SimpleMARC.t Bug 17510: update MMT-related unit tests 2020-02-21 16:01:28 +00:00
SMS.t
SocialData.t
Stats.t
SuggestionEngine.t Bug 21395: Make perlcritic happy 2020-06-29 12:37:02 +02:00
SuggestionEngine_AuthorityFile.t
template_filters.t Bug 22466: Add tests 2019-03-07 18:17:32 +00:00
timezones.t Bug 18674: TZ error handling 2018-04-11 16:45:08 -03:00
TmplToken.t
Token.t Bug 17845: (RM follow-up) Restore a removed test 2020-03-10 18:49:37 +00:00
XSLT.t