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>
Test plan, k-t-d:
1) Access /api/v1/patron_categories
2) Verify the patron categories are correctly listed
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Bug 26297: (QA follow-up) Move to REST::V1::Patrons::Categories
Bug 26297: (QA follow-up) Use search_with_library_limits
JD amended-patch: squashed + tidy
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
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>
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>
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>
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>
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>
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>
The modal still used a lot of older styles, this patch updates the
classes to make it more consistent with other message type modals.
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>
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>
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>
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>
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>
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.
Signed-off-by: Brendan Gallagher <brendan@bywatersolutions.com>
Signed-off-by: Axelle Clarisse <axelle.clarisse@univ-amu.fr>
Signed-off-by: Mathieu Saby <mathsabypro@gmail.com>
Signed-off-by: Aleisha Amohia <aleisha@catalyst.net.nz>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
To clarify that "first valid" should be unchecked for multiple emails to receive notices
Signed-off-by: Brendan Gallagher <brendan@bywatersolutions.com>
Signed-off-by: Axelle Clarisse <axelle.clarisse@univ-amu.fr>
Signed-off-by: Mathieu Saby <mathsabypro@gmail.com>
Signed-off-by: Aleisha Amohia <aleisha@catalyst.net.nz>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
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):
Host: smtp.gmail.com
Port: 587
Timeout: 120
SSL: STARTTLS
User name: GOOGLEACCOUNTUSER
Password: GOOGLEAPPPASSWORD
- Set this server as default
Sponsored-by: St Luke's Grammar School & Pymble Ladies' College
Signed-off-by: Brendan Gallagher <brendan@bywatersolutions.com>
Signed-off-by: Axelle Clarisse <axelle.clarisse@univ-amu.fr>
Signed-off-by: Mathieu Saby <mathsabypro@gmail.com>
Signed-off-by: Aleisha Amohia <aleisha@catalyst.net.nz>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
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>
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>
The change for 005 makes some field compares fail. We should
exclude 005 in the local compare_fields sub.
We do NOT need the compare_fields from AuthoritiesMarc. Removing.
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>