diff --git a/C4/Search.pm b/C4/Search.pm index b895993dab..f9b1454b16 100644 --- a/C4/Search.pm +++ b/C4/Search.pm @@ -2136,7 +2136,7 @@ sub searchResults { || $item->{itemlost} || $item->{damaged} || $item->{notforloan} - || $items_count > 20) { + || $items_count > C4::Context->preference('MaxSearchResultsItemsPerRecordStatusCheck') ) { # A couple heuristics to limit how many times # we query the database for item transfer information, sacrificing diff --git a/installer/data/mysql/atomicupdate/bug_13022.sql b/installer/data/mysql/atomicupdate/bug_13022.sql new file mode 100644 index 0000000000..88d5a131a9 --- /dev/null +++ b/installer/data/mysql/atomicupdate/bug_13022.sql @@ -0,0 +1 @@ +INSERT IGNORE INTO systempreferences (variable,value,explanation,options,type) VALUES('MaxSearchResultsItemsPerRecordStatusCheck','20','Max number of items per record for which to check transit and hold status','','Integer'); diff --git a/installer/data/mysql/sysprefs.sql b/installer/data/mysql/sysprefs.sql index 484b3cda70..1d42c235e3 100644 --- a/installer/data/mysql/sysprefs.sql +++ b/installer/data/mysql/sysprefs.sql @@ -217,6 +217,7 @@ INSERT INTO systempreferences ( `variable`, `value`, `options`, `explanation`, ` ('maxoutstanding','5','','maximum amount withstanding to be able make holds','Integer'), ('maxRecordsForFacets','20',NULL,NULL,'Integer'), ('maxreserves','50','','Define maximum number of holds a patron can place','Integer'), +('MaxSearchResultsItemsPerRecordStatusCheck','20','','Max number of items per record for which to check transit and hold status','Integer'), ('MembershipExpiryDaysNotice',NULL,'Send an account expiration notice that a patron\'s card is about to expire after',NULL,'Integer'), ('MergeReportFields','',NULL,'Displayed fields for deleted MARC records after merge','Free'), ('minPasswordLength','3',NULL,'Specify the minimum length of a patron/staff password','free'), diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/searching.pref b/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/searching.pref index 8b04d39b5c..a7c39bf710 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/searching.pref +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/searching.pref @@ -148,6 +148,11 @@ Searching: - pref: numSearchResults class: integer - results per page in the staff client. + - + - For records with many items, only check the availability status for the first + - pref: MaxSearchResultsItemsPerRecordStatusCheck + class: integer + - items. If a record has more than this number of items, they availability statuses may be incorrect in the search results, but will be correct in the record details. - - By default, sort search results in the OPAC by - pref: OPACdefaultSortField