Martin Renvoize [Thu, 25 Apr 2024 15:10:24 +0000 (16:10 +0100)]
Bug 35628: Unit tests for addition to tickets API
This patch updates the unit test for the ticket_updates api to catch
both the missing test 'state' for the existing state change
functionality and also the new 'status' functionality introduced with
this patchset.
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Martin Renvoize [Thu, 21 Dec 2023 15:58:41 +0000 (15:58 +0000)]
Bug 35628: Add resolution states to Catalog concerns
This patch adds ticket status to the catalog concerns feature. It
allows libraries to define a list of 'TICKET_STATUS' authorized
values from which librarians can then pick at the point of updateing
a catalog concern.
To test:
1) Apply the patches and run the database updates
2) Enable catalog concerns (staff or opac will do the trick)
3) Submit a catalog concern
4) Confirm that you can still update a concern from the catalog
concerns management page as before.
5) Add some values to the new TICKET_STATUS authorized values
6) Submit a new catalog concern
7) Confirm that the 'Update' button in the management modal is now a
split button with a dropdown containing the list of status values
defined above.
Signed-off-by: Esther Melander <esther@bywatersolutions.com> Signed-off-by: Ray Delahunty <lib-systems@arts.ac.uk> Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Jonathan Druart [Thu, 21 Mar 2024 13:47:27 +0000 (14:47 +0100)]
Bug 35138: A bit of cleaning - UI
This can be moved to its own bug report, it's only a bit of cleaning
trying to keep the code cleaner after than before.
No behaviour changes expected.
Sponsored-by: The Research University in the Helmholtz Association (KIT) Signed-off-by: Clemens Tubach <clemens.tubach@kit.edu> Signed-off-by: Nick Clemens <nick@bywatersolutions.com> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Jonathan Druart [Thu, 21 Mar 2024 11:42:24 +0000 (12:42 +0100)]
Bug 35138: UI changes to add/remove a facet
Sponsored-by: The Research University in the Helmholtz Association (KIT) Signed-off-by: Clemens Tubach <clemens.tubach@kit.edu> Signed-off-by: Nick Clemens <nick@bywatersolutions.com> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Jonathan Druart [Fri, 22 Mar 2024 08:53:47 +0000 (09:53 +0100)]
Bug 35138: Mark DisplayLibraryFacets as zebra only
We can know add/remove homelibrary and holdinglibray from the config
page, this syspref is no longer needed for ES
Sponsored-by: The Research University in the Helmholtz Association (KIT) Signed-off-by: Clemens Tubach <clemens.tubach@kit.edu> Signed-off-by: Nick Clemens <nick@bywatersolutions.com> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Jonathan Druart [Thu, 21 Mar 2024 09:15:23 +0000 (10:15 +0100)]
Bug 35138: Adjust existing data
We want the label from the DB displayed on the UI so we are adjusting
the yaml and the DB.
Sponsored-by: The Research University in the Helmholtz Association (KIT) Signed-off-by: Clemens Tubach <clemens.tubach@kit.edu> Signed-off-by: Nick Clemens <nick@bywatersolutions.com> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Jonathan Druart [Thu, 14 Mar 2024 10:41:42 +0000 (11:41 +0100)]
Bug 35138: Add the ability to manage ES facets
This new feature allows to manage facets for Elasticsearch from the
administration page.
Prior to this the facet fields were hardcoded in the codebase.
Librarians can then add/remove facet fields and modify their label.
Test plan:
1. Create a new search field and set it a label different than its name.
2. Save
3. Go the bibliographic mapping tab
4. Add 1+ mapping for this search field (Searchable and facetable must be "Yes")
5. Add, reorder, remove new facets
6. Save and reindex your records
7. Search and notice the new facet list
QA: There are several wrong things in this area (ES + facets code,
everything, pm, pl, tt AND on this administration page). I have done my
best to clean the code as much as I could and keep the code cleaner
after than before. But there are still a lot to do.
There are still inconsistencies on this page (like we need to save to
see the changes applied to the other tables), but this is clearly out of
the scope of this bug report.
Another enhancement would be to move the facet list to a different DB
table, that could bring more flexibility:
* display or not (could be opac/staff/both/none)
* define the size per field (number of facet to display)
* order: move search_field.facet_order to this new table.
But, again, it's a lot more work.
More work is done in this area, please see related bug reports.
Sponsored-by: The Research University in the Helmholtz Association (KIT) Signed-off-by: Clemens Tubach <clemens.tubach@kit.edu> Signed-off-by: Nick Clemens <nick@bywatersolutions.com> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Kyle M Hall [Thu, 11 Aug 2022 19:43:15 +0000 (15:43 -0400)]
Bug 31345: Add ability to exit process_message_queue.pl early if any plugin before_send_messages hook fails
Sometimes it would be better for process_message_queue.pl to stop if a plugin hook fails rather than continue processing. It would be nice if that was a command line option.
Test Plan:
1) Install any plugin with a before_send_messages hook
2) Modify the plugin, add a 'die;' statement at the start of the
before_send_messages method of the plugin.
3) Run process_message_queue.pl as usual
4) Note the exit code is 0
5) Run it again with the new -e setting
6) Note the exit code is 1
Signed-off-by: Brendan Lawlor <blawlor@clamsnet.org> Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
lmstrand [Fri, 26 Jan 2024 08:36:00 +0000 (10:36 +0200)]
Bug 35582: Show advanced search languages with selected intranet language descriptions first
To test:
1. Check language dropdowns in advanced search, notice localized
names of the languages are shown first in the menus, then the
selected ui language translations if available or the english translation
2. Apply patch
3. Check language dropdowns, notice the selected ui language's
translations are shown first for the languages (if missing, english
translation), then the localized
language's name.
Signed-off-by: Pedro Amorim <pedro.amorim@ptfs-europe.com> Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Pedro Amorim [Tue, 12 Dec 2023 10:57:50 +0000 (10:57 +0000)]
Bug 26297: Add tests
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com> Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Pedro Amorim [Mon, 11 Dec 2023 17:31:09 +0000 (17:31 +0000)]
Bug 26297: Add patron categories to_api_mapping
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com> Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Martin Renvoize [Wed, 27 Dec 2023 16:01:05 +0000 (16:01 +0000)]
Bug 33494: Make filters a toggle
This patch updates the markup to make the 'Filter resolved | Show all' a
toggle filter rather than two buttons.
Test plan
1. Enable the CatalogConcerns system preference.
2. For two records, add a catalog concern (New > New catalog concern).
3. Resolve one of the concerns (Cataloging > Reports > Catalog concerns)
- click on the 'Details' button then the 'Resolve' button.
4. Note that the filters at the top of the page are labelled: Hide
resolved | Show all
5. Apply the patch and refresh the page.
6. Note that it is now a 'toggle': 'Include resolved' (default) or
'Filter resolved'
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> Signed-off-by: David Nind <david@davidnind.com> Signed-off-by: Ray Delahunty <lib-systems@arts.ac.uk> Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Pedro Amorim [Tue, 2 Apr 2024 11:28:59 +0000 (11:28 +0000)]
Bug 35106: CSRF fix
The removal of 'cud-' from op needs to happen sooner
because ill-requests.tt expects 'edit_action' op,
not 'cud-edit_action'.
Signed-off-by: Pedro Amorim <pedro.amorim@ptfs-europe.com> Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Pedro Amorim [Thu, 19 Oct 2023 10:21:04 +0000 (10:21 +0000)]
Bug 35106: Validate entered borrowernumber and biblio_id
Following up from the test plan of the previous patch:
1) Edit the request again, input gibberish in the Patron ID e.g. 'asdasd'
2) Hit 'Submit'
3) Notice you get a 'The Patron ID you entered is invalid.' message.
4) Edit again, try to empty the input on the Patron ID, hit 'Submit'.
5) Notice it saves the patron as null, as expected
Repeat the test plan, but now for the Bibliographic record ID, notice
the message 'The Bibliographic record ID you entered is invalid.' is
shown if a no biblio was found.
Signed-off-by: David Nind <david@davidnind.com>
squash this
Signed-off-by: Pedro Amorim <pedro.amorim@ptfs-europe.com> Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Pedro Amorim [Thu, 19 Oct 2023 09:35:32 +0000 (09:35 +0000)]
Bug 35106: Add patron search autocomplete to Patron ID input
Test plan, k-t-d:
1) Install FreeForm and enable ILLmodule, run:
bash <(curl -s https://raw.githubusercontent.com/ammopt/koha-ill-dev/master/start-ill-dev.sh)
2) Visit /cgi-bin/koha/ill/ill-requests.pl
3) Create 'New ILL request'
4) Select the request type, input cardnumber '42' and select a library. Hit 'Create'
5) Manage the request created just now: click the request id or 'manage request' button from the table
6) Click "Edit request" from the top actions toolbar
7) Input text in Patron ID e.g. 'koha'. Notice you get patron suggestions.
8) Click one of the suggestions and save the request, notice the patron is saved correctly.
Signed-off-by: David Nind <david@davidnind.com> Signed-off-by: Pedro Amorim <pedro.amorim@ptfs-europe.com> Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Owen Leonard [Tue, 23 Apr 2024 11:01:26 +0000 (11:01 +0000)]
Bug 25682: Style transfers interface to match checkin page
This patch updates the transfer page to make it better match the style
of the checkin page. The static dialog is converted to a modal for
consistency's sake, with information displaying as similarly as
possible to the checkin page. The library dropdown is now styled with
Select2.
To test, apply the patch and go to Circulation -> Transfers.
- Test some simple transfers: Items which are not checked out, some
which are checked out.
- Test that the page's handling of items on hold matches current master
(i.e. broken, see Bug 36686). Description of current behavior:
- Logged in to Branch A.
- Find a barcode for a title which has a biblio-level
hold (not already in transit) to be sent to Branch B.
- Submit transfer to Branch C.
- Three actions are offered:
1. Transfer to Branch B
2. Cancel hold and then attempt transfer
3. Ignore and return to transfers
Testing each of the three actions:
1. The page says "Item is now in transit
to Branch C (not the hold's destination)"
2. The item is not in transit, and the hold
has been changed to an item-level hold.
3. Works correctly. No change to the hold
and no transfer initiated.
- Logged in to Branch A.
- Find a barcode for a title which has a biblio-level
hold (not already in transit) to be sent to Branch B.
- Check in the item, confirm hold and transfer.
- Submit transfer to Branch C.
- Two actions are offered:
1. Cancel hold and then attempt transfer
2. Ignore and return to transfers
Testing each of the two actions:
1. The page says "Reserve cancelled" (sic).
The original transfer to Branch B is still
in place.
2. Works correctly. No change to the hold and
the original transfer remains.
- Logged in to Branch D.
- Find a barcode for a title which has a biblio-level
hold (not already in transit) to be held at Branch D.
- Check in the item, confirm hold.
- Log in to Branch A.
- Submit a transfer with that barcode to Branch C.
- Two actions are offered:
1. Cancel hold and then attempt transfer
2. Ignore and return to transfer.
Testing each of the two actions:
1. The page says "Reserve cancelled" (sic).
The hold has been cancelled but the item
has not been transferred.
2. Works correctly. Hold remains unchanged,
no transfer initiated.
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Fridolin Somers [Tue, 14 Mar 2023 20:33:58 +0000 (10:33 -1000)]
Bug 29393: (follow-up) Explicite use of methods from C4
Signed-off-by: Matthias Le Gac <matthias.le-gac@inlibro.com> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Alex Arnaud [Wed, 8 Dec 2021 12:56:15 +0000 (13:56 +0100)]
Bug 29393: Sort notice templates by name
Signed-off-by: Matthias Le Gac <matthias.le-gac@inlibro.com> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Alex Arnaud [Fri, 19 Nov 2021 08:59:59 +0000 (09:59 +0100)]
Bug 29393: Don't show notice templates for each language
Signed-off-by: Matthias Le Gac <matthias.le-gac@inlibro.com> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Signed-off-by: Matthias Le Gac <matthias.le-gac@inlibro.com> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Alex Arnaud [Wed, 10 Nov 2021 10:34:17 +0000 (11:34 +0100)]
Bug 29393: Add a dedicated letters module for add message
Signed-off-by: Matthias Le Gac <matthias.le-gac@inlibro.com> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Alex Arnaud [Mon, 8 Nov 2021 14:16:17 +0000 (15:16 +0100)]
Bug 29393: Use patron language in letters
Signed-off-by: Matthias Le Gac <matthias.le-gac@inlibro.com> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Alex Arnaud [Tue, 2 Nov 2021 15:16:29 +0000 (16:16 +0100)]
Bug 29393: Ability to send emails from patron details page
Test plan
- apply Bug 12802
- go to a patron's details page
- click on "Add message" in tools bar
- choose "Email" in "Add a message for"
- Select a notice (module members) or manualy fill the message
- Save
- Check the message is saved in message_queue table
Signed-off-by: Matthias Le Gac <matthias.le-gac@inlibro.com> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Martin Renvoize [Wed, 20 Dec 2023 11:43:34 +0000 (11:43 +0000)]
Bug 12802: Clarify system preferences
I felt the switch to multi in the EmailFieldPrimary preference was a bit
confusing given that type exposes a 'select all' option which doesn't
make sense with the pre-existing 'first valid' option being an override
in the code.
This patch opts to switch it back to 'Choice', meaning that only one
option can be picked and adds a 'selected addresses' option which
prompts the use of a new 'EmailFieldSelection' preference which allows
for the multi-select as before.
To test:
1) Run though the test plan for 'Update notice_email_address method to
return a list' but with the following ammendments:
* 2) As aposed to being able to select multiple options under
EmailFieldPrimary, you should now only be able to select one option at
a time, but a new 'selected addresses' option should be present.
* 8) Select the 'selected addresses' option for 'EmailFieldPrimary' and
also select multiple fields for the new 'EmailFieldSelection'
preference.
Martin Renvoize [Tue, 19 Dec 2023 17:09:17 +0000 (17:09 +0000)]
Bug 12802: Update notice_email_address method to return a list
This patch updates the notice_email_address method to return a comma
separated list of addresses as expected by Email::Sender if you wish to
send mail to multiple To addresses.
To test:
1. Install database update and restart services
2. Go to Koha Administration -> system preferences. Search for EmailFieldPrimary. Confirm the options show as checkboxes and you can select multiple.
3. Search for a patron. Put different email addresses in each of the possible email fields (i.e. primary email, secondary email, alternate email).
4. Make sure 'first valid' is checked in EmailFieldPrimary.
5. Go to your patron, click the More dropdown and send a welcome email.
6. In your terminal, go into the database to view the message queue.
sudo koha-mysql instance
select * from message_queue\G
7. Confirm your welcome email is visible, with ONLY the first valid email in
the to_address field.
8. Select other combinations of emails in EmailFieldPrimary.
9. Send another welcome email to the same patron, then run the message_queue
SQL query again.
10. Confirm your welcome email is visible and shows all selected addresses
concatenated by , in the to_address field.
11. Enable KTD to send email [1] (without email configured you will not
be able to confirm the delivery to multiple addresses).
12. Run misc/cronjobs/process_message_queue.pl to trigger sending the
queued notices from above.
13. Check that the addresses in the to_address all actually recieve the
notice.
[1] To test sending emails using a Google account:
- Set up an App password for your Google Account
- Configure a new 'SMTP Server' under 'Administration > SMTP servers'
using the following settings where `User name` = your Google email
address and `Password` = your APP password, not your Google account
password):
Lucas Gass [Fri, 12 Apr 2024 07:38:23 +0000 (07:38 +0000)]
Bug 36559: Add sticky table headers to transport cost matrix
To test:
1. APPLY patch and regenerate CSS. ( yarn build )
2. Have many, many branches. To test it is good to have more branches than in a standard k-t-d.
3. Go to Admin > Transport cost matrix
4. Scroll down and to the right, the table headers should stay visible.
5. Hover over any cell, a title should appear like 'Branch A / Branch B'
6. Test in Chrome and Firefox.
This uses position: sticky which has recently gained more widespread browser support:
https://caniuse.com/?search=sticky
Signed-off-by: Brendan Lawlor <blawlor@clamsnet.org> Signed-off-by: Pedro Amorim <pedro.amorim@ptfs-europe.com> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Bug 36510: Add CircControl and HomeOrHoldingBranch settings to smart-rules
To test:
1 - apply patch
2 - restart all
3 - load circ & fines rules, confirm syspref values show in the blue box of rules explanation
4 - change sysprefs and confirm values update on circ rules page
Signed-off-by: Michelle Spinney <mspinney@clamsnet.org> Signed-off-by: hebah <hebah@bywatersolutions.com> Signed-off-by: Nick Clemens <nick@bywatersolutions.com> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Mark Hofstetter [Thu, 11 Apr 2024 09:14:06 +0000 (09:14 +0000)]
Bug 31652: Add geo-search
This patch adds geosearch to Koha (using Elasticsearch 7). ElasticSearch
search_mappings get new types to store lat/lon, which can be indexed
from MARC 034$s and 034$t. There is a small change to the DB to allow a
new value in search_field.type ENUM.
The QueryBuilder is extended to allow for building advanced
ElasticSearch Querys (eg geo_distance) that cannot be represented in a
simple string query. The UI for searching (including showing the results
on a OSM/Leaflet map) is implemented in a separate plugin
(https://github.com/HKS3/HKS3GeoSearch)
Test Plan:
* make sure you're running ElasticSearch 7
(eg via `curl http://es:9200?pretty | grep number`)
* apply patch
* got to a Framework, check Editor for 034$s and 034$t and save
* got to some books (in the correct framework) and enter some lat and lon into 034$s and 034$t (for example lat=48.216, lon=16.395)
* Run the elasticsearch indexer, maybe limited on the books you edited (-bn 123 -bn 456):
misc/search_tools/rebuild_elasticsearch.pl -b -v
* You can check if the indexing worked by inspecting the document in elasticsearch:
* get the biblionumber (eg 123)
* curl http://es:9200/koha_kohadev_biblios/_doc/123?pretty | grep -A5 geolocation
* You should get back a JSON fragment containing the lat/lon you stored
* You can query elasticsearch directly:
* Run the following curl command, but adapt the value for lat/lng and/or the distance (in meters)
* curl -X GET "http://es:9200/koha_kohadev_biblios/_search?pretty" -H 'Content-Type: application/json' -d '{"query": {"bool":{"must":{"match_all":{}},"filter":{"geo_distance":{"distance":100000,"geolocation":{"lat":48.2,"lon":16.4}}}}}}'
* To run the search via Koha, you need to either install and use https://github.com/HKS3/HKS3GeoSearch or create a handcrafted query string:
* handcrafted query string:
* /cgi-bin/koha/opac-search.pl?advsearch=1&idx=geolocation&q=lat:48.25+lng:18.35+distance:100km&do=Search
* HKS3GeoSearch
* install the plugin and enable it
* got to OPAC / Advanced Search
* There is a new input box "Geographic Search" where you can enter lat/long/radius
* On the search result page a map is shown with pins for each found biblioitem
Sponsored-by: ZAMG - Zentralanstalt für Meterologie und Geodynamik, Austria - https://www.zamg.ac.at/ Sponsored-by: Geosphere - https://www.geosphere.at/ Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Additional finetuning:
- Fix update and remove fixed fixme
- Update test count as well
- fix last small issues raised in Comment 23
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Martin Renvoize [Thu, 21 Mar 2024 09:31:38 +0000 (09:31 +0000)]
Bug 36374: Also tidy ticket and concern modals js
This patch does the promised follow-up to tidy the two other recently
added js files for modals. As I'm the main maintainer of those to date
I'm happy to rebase any patches already submitted atop this bug.
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org> Signed-off-by: Pedro Amorim <pedro.amorim@ptfs-europe.com> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Jonathan Druart [Thu, 21 Mar 2024 08:07:18 +0000 (09:07 +0100)]
Bug 36374: Keep tidy files from 'fetch' directory
And tidy them
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org> Signed-off-by: Pedro Amorim <pedro.amorim@ptfs-europe.com> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Jonathan Druart [Thu, 21 Mar 2024 07:45:11 +0000 (08:45 +0100)]
Bug 36374: flag JS files to keep tidy
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org> Signed-off-by: Pedro Amorim <pedro.amorim@ptfs-europe.com> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Martin Renvoize [Wed, 20 Mar 2024 16:18:14 +0000 (16:18 +0000)]
Bug 36374: Ensure js/modals/*.js files are tidy
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org> Signed-off-by: Pedro Amorim <pedro.amorim@ptfs-europe.com> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Martin Renvoize [Wed, 20 Mar 2024 15:28:10 +0000 (15:28 +0000)]
Bug 36374: Move modal js under /modals
I also didn't stick to the more recent switch to putting modal js under
a /modals dirctory.
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org> Signed-off-by: Pedro Amorim <pedro.amorim@ptfs-europe.com> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Martin Renvoize [Wed, 20 Mar 2024 15:24:18 +0000 (15:24 +0000)]
Bug 36374: Tidy place_booking_modal.js according to our prettier config
This was somehow missed when the file was first added.. my mistake.
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org> Signed-off-by: Pedro Amorim <pedro.amorim@ptfs-europe.com> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Bug 32392: Tests for changes in C4::Serials::GetNextSeq
Signed-off-by: Marie Hedbom <marie.hedbom@musikverket.se> Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Bug 32392: Enable skipping forward issues when receiving serials.
This patch adds the ability to skip forward issues when receiving and generating the next issue
from both the serial receive page and serial collection page.
To test:
1. Apply patch.
2. Set up a subscription for a bib record.
3. Go to Serials -> Search your subscription -> Serial receive
4. Note that below last expected issue there will be checkbox to toggle a field to
specify how many issues to skip when recieving and generating the next.
5. On serials-collection page there is also a button 'Skip issues and generate next'.
When pressed will open a modal promting how many issues to skip.
6. Generate issues with different values and make sure the correct issue is generated.
​Sponsored-by: Lund University Library Sponsored-by: Bibliotek Mellansjö, Sweden Co-authored-by: Johan Sahlberg <johan.sahlberg@tidaholm.se> Signed-off-by: Marie Hedbom <marie.hedbom@musikverket.se> Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
It appears this bug introduces the first actual use of this function in
the OPAC and thus exposes that bug 31261 didn't fully port the
Date_from_syspref from the intranet.
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Marcel de Rooy [Mon, 5 Feb 2024 13:36:21 +0000 (13:36 +0000)]
Bug 35993: Apply new routine to ModBiblioMarc
Now both AddBiblio and ModBiblio will insert 005 if not present.
Test plan:
Run t/db_dependent/Biblio.t
Add biblio record via acquistion order. Check 005 in the table
biblio_metadata.
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl> Signed-off-by: Phil Ringnalda <phil@chetcolibrary.org> Signed-off-by: Lucas Gass <lucas@bywatersolutions.com> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Note: This routine does not check field existence like
ModBiblioMarc does/did (see next patch). So it inserts
a field 005 if it is not present.
Test plan:
Run t/SimpleMARC.t
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl> Signed-off-by: Phil Ringnalda <phil@chetcolibrary.org> Signed-off-by: Lucas Gass <lucas@bywatersolutions.com> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Owen Leonard [Mon, 22 Apr 2024 16:10:46 +0000 (16:10 +0000)]
Bug 31671: Add print slip button to transfer page
This patch reimplements/rebases Lucas' patch and adds a style
modification to the button.
To test:
1. Apply patch
2. Go to Circulation / Transfer
3. Try transfering some items and notice the 'Print slip'
button
4. Try clicking on it and make sure it generates correctly and with the
correct information on the slip
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Lucas Gass [Mon, 22 Apr 2024 17:46:52 +0000 (17:46 +0000)]
Bug 36671: (follow-up) remove stray anchor tag
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Owen Leonard [Mon, 22 Apr 2024 16:05:50 +0000 (16:05 +0000)]
Bug 36671: (follow-up) Add markup comments
This patch adds comments to the template to highlight the markup
structure.
This patch should have no effect on the page's appearance or
functionality.
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Owen Leonard [Mon, 22 Apr 2024 16:05:21 +0000 (16:05 +0000)]
Bug 36671: Reindent item transfer template (branchtransfers.tt)
This patch reindents the item transfer template so that it has
consistent indentation, with tab indentation coverted to space.
To test, apply the patch and go to Circulation -> Transfer. Test some
transfers, including transfers which trigger a hold notification.
Everything should work correctly.
If you view the diff while ignoring whitespace the only changes should
be places where line breaks were introduced.
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Pedro Amorim [Mon, 22 Apr 2024 15:53:57 +0000 (15:53 +0000)]
Bug 36663: Hide specific inner elements, not the whole top pager container
1- Enable StaffDetailItemSelection
2- Visit a biblio page:
http://localhost:8081/cgi-bin/koha/catalogue/detail.pl?biblionumber=76
3- Notice there are no table configuration options on the top right (Columns, Export, Configure).
4- Click the "Show filters" link, notice the table configuration options now show, as well as top and bottom pagers, column filter inputs and search input.
5- Disable StaffDetailItemSelection
6- Visit a biblio page:
http://localhost:8081/cgi-bin/koha/catalogue/detail.pl?biblionumber=76
7- Notice that the table configurations options are visible, as well as top and bottom pagers, and search input.
8- Click the "Show filters" link, notice it now only governs the column filter inputs, the other elements mentioned in step 7 are always visible.
9- Apply patches, run yarn css:build
10- Repeat 1 and 2.
11- Notice the table configuration options are shown on the top right, and no other table options exist.
Further testing:
Test clicking hide/show filters
Test with StaffDetailItemSelection enabled/disabled
Test other datatables in other pages
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com> Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Pedro Amorim [Mon, 22 Apr 2024 15:53:11 +0000 (15:53 +0000)]
Bug 36663: Update alignment of datatable buttons
Pack items from the end
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com> Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Pedro Amorim [Mon, 22 Apr 2024 15:50:34 +0000 (15:50 +0000)]
Bug 36663: Adjust datatable button selector
This change makes the selector apply specifically to the 'clear filter' button, instead of whatever is the first button as 'clear filter' may or may not exist.
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com> Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Bug 30598: remove all the console.log redundancies
Please test the patch. Thank you!
Signed-off-by: Matt Blenkinsop <matt.blenkinsop@ptfs-europe.com> Signed-off-by: Lucas Gass <lucas@bywatersolutions.com> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Bug 30598: Replacement cost is not copied from retail price when ordering from file
Test plan :
To test :
1- In Acquisitions, create a basket
2- Add an order from a new (empty) record
--> Note that when you enter the "vendor price", it is copied in the "replacement cost" field
3- Add an order from a new file
--> Note that when you enter the "price", the "replacement price" field stays empty
4- Apply the batch
5- Redo step 3 and notice that when you change the 'price', the
'replacement price' syncs with it
Signed-off-by: Matt Blenkinsop <matt.blenkinsop@ptfs-europe.com> Signed-off-by: Lucas Gass <lucas@bywatersolutions.com> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Owen Leonard [Tue, 21 Nov 2023 11:46:17 +0000 (11:46 +0000)]
Bug 34792: Improve flexibility of CookieConsentBar layout
This patch makes CSS and markup changes to the CookieConsentBar, in both
the OPAC and staff interface, so that the layout of custom text and
buttons works better with varying text content and varying browser widths.
The patch also adds some JavaScript to the OPAC so that the cookie
consent bar interacts better with the language selection footer. When
the language selection footer is visible, the cookie consent bar should
"stick" to the bottom of the viewport except when the page is scrolled
all the way down. When the page is scrolled all the way to the bottom
the cookie consent bar should move to the top of the language selection
footer.
To test, apply the patch and rebuild the OPAC and staff interface CSS.
- Go to Administration -> System preferences and enable the
CookieConsent preference if necessary.
- Follow the link in the preference description to HTML customizations.
- Create an HTML customization in the CookieConsentBar display location.
Add a paragraph of text.
- Go to the OPAC. If you don't see the cookie consent bar at the bottom
of the screen you may need to clear your browser cookies and local
storage.
- Confirm that the text flows well in relation to the buttons: With a
lot of text, the text expands to fill the width of the cookie consent
bar and the buttons are below. With a small amount of text, the text
and buttons should be side by side.
- Test that this layout adapts well to various browser widths.
- Perform the same tests in the staff interface.
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Owen Leonard [Mon, 20 Nov 2023 17:22:51 +0000 (17:22 +0000)]
Bug 34792: (Preparation) Run stylelint fixes on cookie consent CSS
This patch applies automated stylelint fixes to the OPAC CSS which was
added when the Cookie Consent feature was added. No other CSS has been
changed.
Signed-off-by: David Nind <david@davidnind.com> Signed-off-by: Lucas Gass <lucas@bywatersolutions.com> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Marcel de Rooy [Mon, 12 Feb 2024 08:01:26 +0000 (08:01 +0000)]
Bug 10758: Show title of deleted biblio on basket page
Test plan:
Find a completed order line and a cancelled one with deleted biblios.
Goto acqui/basket.pl
Check if you see the title if deleted_biblionumber is filled.
Bug 36615: Terminology: use 'on hold' instead of 'reserved' in OPAC self checkout
This patch changes the term 'reserved' to 'on hold' in the OPAC self
checkout feature.
To test:
1. Apply patch
2. Place a hold for a patron
3. Enable OpacTrustedCheckout
4. Log into the OPAC as another patron
5. Click Self checkout at the top of the page
6. Paste the item's barcode in the text input
7. Click 'Submit'
8. Make sure the warning sentence is correct and there are no spelling
errors
Signed-off-by: Owen Leonard <oleonard@myacpl.org> Signed-off-by: Emily Lamancusa <emily.lamancusa@montgomerycountymd.gov> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Owen Leonard [Tue, 26 Apr 2022 11:29:13 +0000 (11:29 +0000)]
Bug 30623: Copy permissions from one user to another
This patch adds controls to the patron "Set permissions" page allowing
the user to copy a set of permissions from one patron to another.
The patch also makes a minor correction to global staff interface CSS to
correct the appearance of non-primary split buttons.
To test, apply the patch and rebuild the staff interface CSS. You may
want to clear your browser cache.
- Locate a patron in the staff client and choose More -> Set
permissions. You might want to start with a staff patron who has
multiple permissions enabled.
- You should see two new buttons in the toolbar immediately above the
list of permissions: "Copy settings," a split button with a secondary
option to choose "Forget copied settings"; and "Paste settings" which
should be disabled by default.
- Clicking the "Copy settings" button should trigger the copy icon to
cycle/fade from the copy icon to the check-mark icon and back to the
copy icon. I thought this interaction needed some visual feedback
since it doesn't otherwise trigger visible action.
- Clicking the "Copy settings" button should also enable the "Paste
settings" button.
- Locate another patron, preferable one with permissions visibly
different from your first choice.
- On their "Set permissions" page, click the "Paste settings" button.
The list of permissions should expand all settings and all the
checkboxes should now match your original choice.
- At this stage you could find another patron and paste the same
permissions again.
- Click "Copy settings -> Forget copied settings." The "Paste settings"
button should become disabled.
- Using the browser console to check the contents of Local Storage
should confirm that the "copiedPermissions" entry has been removed.
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com> Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Nick Clemens [Thu, 2 Nov 2023 11:15:52 +0000 (11:15 +0000)]
Bug 19097: (follow-up) Fix typo 'altough'
Signed-off-by: Nick Clemens <nick@bywatersolutions.com> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Marcel de Rooy [Mon, 30 Oct 2023 13:00:01 +0000 (13:00 +0000)]
Bug 19097: Adjust some GetMarcFromKohaField calls
We need to:
[1] Remove obsolete framework parameters if any (yes there are).
[2] Check scalar context calls if any (most probably not).
Ad 1:
How to find them? Git grep and look at each hit. You will need the -C
parameter to add a few context lines around the call even.
Found one in C4/Biblio.pm and six in Suggestions.t with ''.
Found one in C4/Items on a second line. Similar one in Koha/EDI.
Note: sub receipt_items in EDI has no unit tests yet.
Also did a few git searches like:
git grep GetMarcFromKohaField | grep -v -P "GetMarcFromKohaField.*;"| grep -P "GetMarcFromKohaField\s*\("
Note: Seeing still three lines; they are all fine. Last line comes from
testing to trigger the warn.
Ad 2:
Have been looking at each git grep line and did not spot any
scalar context call. Before this report, we had an example in
POD and the Biblio test only.
Try to find them by performing smarter git searches?
Did look again at results for:
git grep GetMarcFromKohaField | grep -v -P "\)\s*=\s*&?(C4::Biblio::)?GetMarcFromKohaField" | grep -v -P "use "
The tests from this grep are included in the last test plan line.
Test plan:
Read the patch.
Run t/db_dependent/Biblio/TransformHtmlToMarc.t
Run t/db_dependent/Items.t
Run t/db_dependent/Suggestions.t
Run prove t/Biblio2.t t/db_dependent/Biblio.t t/db_dependent/Filter_MARC_ViewPolicy.t t/db_dependent/Koha/Authorities.t t/db_dependent/Koha/Biblio/Metadata.t t/db_dependent/Koha/Filter/EmbedItemsAvailability.t t/db_dependent/Koha/SearchEngine/Search.t t/db_dependent/XISBN.t
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl> Signed-off-by: Nick Clemens <nick@bywatersolutions.com> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Marcel de Rooy [Mon, 30 Oct 2023 14:11:17 +0000 (14:11 +0000)]
Bug 19097: Remove wantarray from GetMarcFromKohaField
The routine should be called in list context now.
Warns also about use of obsoleted framework parameter. This
is the case for several years already btw. But may help us
catch a forgotten occurrence? Can be removed later.
In a follow-up we will check for second parameters and
we will update calls in scalar context.
Test plan:
Prove t/db_dependent/Biblio.t
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl> Signed-off-by: Nick Clemens <nick@bywatersolutions.com> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Marcel de Rooy [Mon, 30 Oct 2023 13:20:14 +0000 (13:20 +0000)]
Bug 19097: Remove wantarray from GetMarcSubfieldStructureFromKohaField
Replacing wantarray by always returning all mappings.
In a few cases only we expect multiple ones.
Changing two calls to pick the first hit, and add comment about
the implicit assumption being made (as before, no behavior change).
Test plan:
Look at results of git grep GetMarcSubfieldStructureFromKohaField
Run t/db_dependent/Biblio.t
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl> Signed-off-by: Nick Clemens <nick@bywatersolutions.com> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Nick Clemens [Fri, 22 Dec 2023 18:52:57 +0000 (18:52 +0000)]
Bug 35646: Unit tests
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com> Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Nick Clemens [Fri, 22 Dec 2023 18:20:09 +0000 (18:20 +0000)]
Bug 35646: Allow use of publication date fields in serial numbering pattern
This patch extends the numbering pattern field to accept subsititutions for:
{Year} {Day} {DayName} {Month} {MonthName}
These fields are based on the publication date for the serial issue.
To test:
0 - Apply patch
1 - Setup a enw numbering pattern
Serials->Manage numbering patterns + New numbering pattern
2 - In the numbering formula enter: {X} {Y} {Z} {Year} {Month} {Day} {MonthName} {DayName}
3 - Populate X/Y/Z in the table as you wish, these should be unaffected by patch
4 - Set a Frequency / First issue plublication date / Subscription length
5 - Click 'Test pattern'
6 - Confirm the dates in the Number match the publication date values
7 - Try with different frequencies to confirm they match
8 - Save the pattern
9 - Create a new subscription and use the new pattern
10 - Confirm it works as expected
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com> Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Fridolin Somers [Thu, 25 Jan 2024 08:50:28 +0000 (09:50 +0100)]
Bug 35903: In cataloguing authority plugin using autocomplete must set operator exact
When cataloguing and using authority plugin, there is auto-completion on inputs and default operator is "contains".
When using auto-completion and selecting a result it would be logical to set operator "exact".
See doc https://api.jqueryui.com/autocomplete/#event-select
This patch also adds auto-completion missing on "Search all headings".
Test plan:
1) Create a new authority Topical Term with heading "Cart"
2) Create a new authority Topical Term with heading "Carthage"
3) Create a new biblio record
4) Use authority plugin on field 650
5) You see current operator are "contains"
6) Enter "Car" in "Search main heading ($a only):"
7) You see auto-completion showing "Cart" and "Carthage"
8) Click on "Cart"
9) You see operator changes to "is exactly"
10) Submit form to see the results
11) Clear form and repeat 6-9 for the three other inputs
Signed-off-by: Michelle Spinney <mspinney@clamsnet.org> Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Laura Escamilla [Sat, 16 Dec 2023 16:11:50 +0000 (16:11 +0000)]
Bug 35586: Added the collection to the location column in the OPAC cart
Signed-off-by: David Nind <david@davidnind.com> Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Andreas Jonsson [Mon, 8 Jan 2024 16:57:20 +0000 (17:57 +0100)]
Bug 35727: Remove unused code in HoldsQueue::MapItemsToHoldRequests
Test plan:
prove t/db_dependent/HoldsQueue.t
Signed-off-by: David Nind <david@davidnind.com> Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>