Koha/t/db_dependent
Nick Clemens f5271d1a74
Bug 17170: Add the ability to create 'saved searches' for use as filters when searching the catalog
This patch alters the code in the ES QueryBuilder. Reflecting
how things are handled in build_query_compat we clean the query,
but not the limits. In Zebra we simply recursivly call buildQuery,
but the ES query structure

This patchset adds a new ability to save searches on the staff client, and display them in the results
page on staff or opac as a new filter.

New filters can be added from the results page after a search, and there is an admin page for updating
deleting and renaming filters

There is a new permission to control management of these filters

New filters can be added that are not displayed along with facets, this allows for building custom links
using these filters to keep URLs shorter

Due to bug 30528 testing in ES is recommended

To test:
 1 - Apply patches and update database and restart all
 2 - Enable new system preference 'SavedSearchFilters'
 3 - As superlibrarian perform a search in staff client, something broad like 'a'
 4 - Note new 'Save search as filter' link on results page
 5 - Click it, save search as new filter, check 'Staff client' visibility
 6 - Perform another search
 7 - Note the filter now appears above facets
 8 - Click to it filter results
 9 - Note results are limited by the new filter, and it is checked in the facets
10 - Confirm click the [x] removes the filter
11 - Go to administration->search filters
12 - Confirm the filter appears
13 - Edit and mark as OPAC visible
14 - Test OPAC to ensure it shows and can be applied/removed
15 - Copy URL with filter applied
16 - In adminsitration mark filter as not visible on staff or opac
17 - Confirm link above still works
18 - Create a new staff with catalogue and search filters permission
19 - Ensure they can access/save filters
20 - Remove filter permission and ensure they cannot
21 - Disable system preference
22 - Confirm links to search filters page are removed from admin home and admin sidebar
23 - Confirm filters do not appear on results and cannot be created
24 - Enable pref
25 - Create a filter
26 - From search filters page, click 'Edit search'
27 - Confirm you are taken to advanced search page letting you know which filter you are editing
28 - Confirm you can change searhc options and save
29 - Confirm you can perform the search from this page

Sponsored-by: Sponsored by: Round Rock Public Library [https://www.roundrocktexas.gov/departments/library/]

Signed-off-by: Michal Urban <michalurban177@gmail.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2022-10-21 11:15:18 -03:00
..
Acquisition Bug 31649: Add unit tests 2022-10-11 10:00:08 -03:00
api/v1 Bug 17170: Add API route for SearchFilters 2022-10-21 11:15:14 -03:00
Auth Bug 24387: Rename "News" with "Additional contents" 2021-08-16 11:55:55 +02:00
AuthoritiesMarc
Authority Bug 29697: Replace GetMarcBiblio occurrences with $biblio->metadata->record 2022-07-22 15:24:11 -03:00
Biblio Bug 29697: Fix tests 2022-07-22 15:24:11 -03:00
Budgets Bug 27550: Add unit test for CloneBudgetHierarchy 2022-09-22 08:18:43 -03:00
Circulation Bug 25426: (QA follow-up) Make subtest stand on its own 2022-10-18 09:35:17 -03:00
CourseReserves
Creators
cronjobs Bug 28931: Use EXPORT_OK from Koha::DateUtils 2021-10-07 11:01:05 +02:00
data Bug 29697: Fix t/db_dependent/Search.t 2022-07-25 10:16:48 -03:00
Exporter
Holds Bug 14364: Fix spelling and tests 2022-07-29 16:00:34 -03:00
Illrequest Bug 30484: Add unit tests 2022-09-23 09:18:46 -03:00
Items Bug 27272: Remove GetItemsInfo, GetItemsLocationInfo and GetHostItemsInfo 2022-08-31 17:50:51 -03:00
Koha Bug 17170: Add the ability to create 'saved searches' for use as filters when searching the catalog 2022-10-21 11:15:18 -03:00
Labels Bug 24001: (follow-up) Fix t_Profile.t 2022-04-28 20:26:20 -10:00
LDAP
Letters Bug 28739: Execute the letter processing inside a transaction 2022-07-08 15:40:04 -03:00
Members
misc/translator
OAI Bug 29697: Replace some missing occurrences 2022-07-25 09:30:30 -03:00
Patron Bug 30076: Add ability to check patron messaging preferences from a notice 2022-04-08 15:49:16 +02:00
Record Bug 29697: Use flag embed_items 2022-07-22 15:24:11 -03:00
Reports Bug 26669: Last Run if report not always updated 2022-04-04 16:23:46 +02:00
Reserves Bug 29976: (Bug 21729 follow-up) fix holds unit tests 2022-02-01 21:39:39 -10:00
Search Bug 28931: Use EXPORT_OK from Koha::DateUtils 2021-10-07 11:01:05 +02:00
selenium Bug 28787: Comment selenium test that will fail if no SMTP server is defined 2022-08-09 13:38:45 -03:00
Serials
SIP Bug 31552: SIP2 option format_due_date not honored for AH field in item information response 2022-10-12 14:56:57 -03:00
Template/Plugin Bug 29826: Manage call of Template Plugin Branches GetName() with null or empty branchcode 2022-03-03 16:11:50 -10:00
Utils Bug 30063: Remove occurrences of C4::Utils::DataTables::Members 2022-04-04 09:47:01 +02:00
www Bug 29368: Correctly mock Zebra index from tests 2021-10-29 15:45:53 +02:00
00-strict.t Bug 28617: Remove kohalib.pl and rely on PERL5LIB 2021-12-07 12:16:28 -10:00
01-test_dbic.t
Accounts.t Bug 28854: Unit tests - chargelostitem 2022-07-13 10:35:50 -03:00
Acquisition.t Bug 28269: (QA follow-up) Fix typo in test description 2022-08-09 09:00:52 -03:00
Amazon.t
ArticleRequests.t Bug 29182: (follow-up) Fix ArticleRequests.t 2021-10-07 15:49:01 +02:00
AudioAlerts.t Bug 29844: Fix ->search occurrences 2022-02-09 15:36:23 -10:00
Auth.t Bug 31382: Regression tests 2022-08-17 15:52:02 -03:00
Auth_with_cas.t
Auth_with_ldap.t Bug 30646: Unit tests for Auth_with_ldap 2022-10-03 14:02:40 -03:00
AuthorisedValues.t Bug 29844: Fix ->search occurrences 2022-02-09 15:36:23 -10:00
AuthoritiesMarc.t
AuthoritiesMarc_GetTagsLabels.t Bug 30446: Add a test for GetTagsLabels 2022-04-21 21:01:09 -10:00
AuthUtils.t
BackgroundJob.t
Barcodes.t
Barcodes_ValueBuilder.t Bug 26328: Add test 2022-03-23 10:50:51 -10:00
Biblio.t Bug 30025: Split BiblioAddsAuthorities into two sysprefs 2022-09-16 16:48:30 -03:00
Biblio_holdsqueue.t Bug 30728: Add unit tests 2022-05-12 22:17:46 -10:00
Breeding.t Bug 30813: Remove TransformMarcToKohaOneField 2022-06-08 11:40:30 -03:00
Budgets.t Bug 30359: Unit tests 2022-09-21 19:02:22 -03:00
Cache.t
Calendar.t Bug 28931: Use EXPORT_OK from Koha::DateUtils 2021-10-07 11:01:05 +02:00
Charset.t
check_kohastructure.t
check_sysprefs.t
Circulation.t Bug 30168: Use checkout object in GetSoonestRenewDate 2022-10-11 10:46:07 -03:00
Circulation_holdsqueue.t Bug 30728: Add unit tests 2022-05-12 22:17:46 -10:00
Clubs.t Bug 29736: (QA follow-up) No need to delete all clubs 2022-01-13 16:37:33 -10:00
Context.t Bug 31593: Remove Test::DBIx::Class from Context.t 2022-10-03 11:43:58 -03:00
Contract.t Bug 28931: Use EXPORT_OK from Koha::DateUtils 2021-10-07 11:01:05 +02:00
CourseReserves.t
db_structure.t
DecreaseLoanHighHolds.t Bug 29562: Fix DecreaseLoanHighHolds.t 2022-01-31 21:55:40 -10:00
Filter_MARC_ViewPolicy.t
Fines.t Bug 28931: Use EXPORT_OK from Koha::DateUtils 2021-10-07 11:01:05 +02:00
FrameworkPlugin.t Bug 28769: Remove tabloop from cataloguing plugins 2021-10-18 11:28:40 +02:00
Heading.t Bug 26852: Fix Heading.t 2021-08-11 17:01:51 +02:00
Heading_MARC21.t
Hold.t Bug 14783: (QA follow-up) Rename method and move tests 2022-10-17 15:43:22 -03:00
Holds.t Bug 31086: Update existing unit tests 2022-07-22 14:19:17 -03:00
HoldsQueue.t Bug 29015: Unit tests 2021-11-03 15:40:52 +01:00
Holidays.t Bug 28931: Use EXPORT_OK from Koha::DateUtils 2021-10-07 11:01:05 +02:00
Illcomments.t
Illrequestattributes.t
Illrequests.t Bug 30484: (follow-up) Fix tests 2022-09-23 09:33:48 -03:00
ILSDI_Services.t Bug 29924: Update ILSDI to be aware of expired passwords 2022-05-06 10:33:09 -10:00
ImportBatch.t Bug 30779: Remove _update_import_record_marc and update tests 2022-08-18 09:02:04 -03:00
ImportExportFramework.t Bug 13952: (follow-up) Tests 2022-04-04 16:23:45 +02:00
Installer.t Bug 26326: (follow-up) Add ability to check for existence of any primary key 2021-11-03 15:40:52 +01:00
Items.t Bug 28799: Log when item was lost and now found 2022-10-11 10:43:36 -03:00
Koha.t Bug 30870: Don't skip tests if Test::Deep if not installed 2022-06-01 13:40:26 -03:00
Koha_Database.t
Koha_Elasticsearch.t
Koha_ExternalContent_OverDrive.t
Koha_ExternalContent_RecordedBooks.t
Koha_MetadataRecord_Authority.t Bug 30756: Rename to Koha_MetadataRecord_Authority 2022-06-02 13:53:39 -03:00
Koha_Misc_Files.t
Languages.t
Letters.t Bug 31626: Add letter id to the message queue table 2022-10-18 09:41:41 -03:00
LibraryGroups.t Bug 29844: Fix ->search occurrences 2022-02-09 15:36:23 -10:00
Linker_Default.t Bug 30280: Add Unit tests 2022-10-03 10:00:12 -03:00
Linker_FirstMatch.t
Log.t Bug 27342: (QA follow-up) Fix test 2022-08-16 10:50:47 -03:00
MarcModificationTemplates.t
Members.t Bug 28962: Add del-unv-selfreg to crontab 2022-01-21 21:34:51 -10:00
Message.t
MungeMarcPrice.t
Overdues.t Bug 29844: Fix ->search occurrences 2022-02-09 15:36:23 -10:00
Passwordrecovery.t Bug 28931: Use EXPORT_OK from Koha::DateUtils 2021-10-07 11:01:05 +02:00
Patroncards.t
PatronLists.t Bug 16446: Add ability to add patrons to list by borrowernumber 2021-10-21 12:24:04 +02:00
Patrons.t Bug 12446: (QA follow-up) Rename canbeguarantee => can_be_guarantee 2022-06-23 13:34:05 -03:00
Record.t
RecordProcessor_EmbedSeeFromHeadings.t
Reports.t
Reserves.t Bug 30718: Use flatpickr's altInput 2022-08-19 08:26:31 -03:00
rollingloans.t Bug 28931: Use EXPORT_OK from Koha::DateUtils 2021-10-07 11:01:05 +02:00
RotatingCollections.t Bug 29144: Remove opac_info from a few tests 2022-09-16 09:55:20 -03:00
Search.t Bug 29697: (QA follow-up) Remove useless warning 2022-08-31 12:34:39 -03:00
Serials.t Bug 30718: Use flatpickr's altInput 2022-08-19 08:26:31 -03:00
Serials_2.t
Service.t
ShelfBrowser.t
Sitemapper.t Bug 28931: Use EXPORT_OK from Koha::DateUtils 2021-10-07 11:01:05 +02:00
Stats.t Bug 19532: Other objects used in recalls feature 2022-03-14 22:45:51 -10:00
StockRotationItems.t Bug 30518: Unit test 2022-04-19 21:25:50 -10:00
StockRotationRotas.t
StockRotationStages.t Bug 29809: Fix StockRotationStages.t 2022-01-31 21:55:40 -10:00
SuggestionEngine_ExplodedTerms.t Bug 31069: Remove ExplodedTerms dependency on templates 2022-07-18 12:37:35 -03:00
Suggestions.t Bug 23991: Move SearchSuggestion to Koha::Suggestions 2022-06-27 12:30:28 -03:00
sysprefs.t
TablesSettings.t
Tags.t
Templates.t Bug 29695: Remove GetColumnDefs 2022-04-12 11:40:16 +02:00
TestBuilder.t Bug 29862: Add missing txn begin/rollback in TestBuilder.t 2022-01-31 21:55:40 -10:00
Upload.t Bug 31598: Fix random failure on Jenkins for Upload.t 2022-09-22 08:07:01 -03:00
UsageStats.t Bug 28565: Refactor tests 2021-07-26 12:46:35 +02:00
Virtualshelves.t Bug 30933: (follow-up) Consolidate transfer checks 2022-07-20 09:04:07 -03:00
XISBN.t
XSLT.t Bug 30921: Replace C4::XSLT::transformMARCXML4XSLT with RecordProcessor 2022-09-12 16:26:34 -03:00
yaml.t
zebra_config.pl