Commit graph

53728 commits

Author SHA1 Message Date
b64533d3ff
Bug 31652: DBRev 23.12.00.033
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2024-04-29 15:19:35 +02:00
27c496a50d
Bug 31652: Perltidy
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2024-04-29 15:19:35 +02:00
Mark Hofstetter
4bed77da08
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>
2024-04-29 15:19:34 +02:00
632e280ea2
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>
2024-04-29 15:19:34 +02:00
37a16e69c7
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>
2024-04-29 15:19:33 +02:00
eb498f636e
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>
2024-04-29 15:19:33 +02:00
f196f3cb70
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>
2024-04-29 15:19:32 +02:00
362167adea
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>
2024-04-29 15:19:32 +02:00
baf4636050
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>
2024-04-29 15:19:31 +02:00
Kevin Carnes
d1b81e2681
Bug 32392: Fix QA issues
Signed-off-by: Stina <stina.hallin@ub.lu.se>

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2024-04-29 15:19:31 +02:00
Björn Nylén
cb9854dd1e
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>
2024-04-29 15:19:30 +02:00
Björn Nylén
005a872869
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>
2024-04-29 15:19:30 +02:00
3f31f327cc
Update docs/contributors.yaml with new contributor
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2024-04-29 15:19:29 +02:00
04d3cf07a8
Bug 36341: (follow-up) Fix missing Date_from_syspref
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>
2024-04-29 15:19:28 +02:00
d1443e7601
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>
2024-04-29 09:35:56 +02:00
b0712cbd36
Bug 35993: Add SimpleMarc::update_last_transaction_time
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>
2024-04-29 09:35:55 +02:00
86d3a42a1c
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>
2024-04-29 09:35:55 +02:00
48d03a538d
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>
2024-04-29 09:35:54 +02:00
f3cf7c0de6
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>
2024-04-29 09:35:54 +02:00
ae0feb4c49
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>
2024-04-29 09:35:53 +02:00
ebd00617e1
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>
2024-04-29 09:35:53 +02:00
940538a935
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>
2024-04-29 09:35:52 +02:00
3ec550f7e0
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>
2024-04-29 09:35:52 +02:00
Phan Tung Bui
e0d38c77e6
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>
2024-04-29 09:35:51 +02:00
Phan Tung Bui
bed0563e56
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>
2024-04-29 09:35:50 +02:00
feeaa09e23
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>
2024-04-29 09:35:50 +02:00
959ccf3437
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>
2024-04-29 09:35:49 +02:00
62b48bb932
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.

Signed-off-by: Michaela Sieber <michaela.sieber@kit.edu>
Signed-off-by: Emily Lamancusa <emily.lamancusa@montgomerycountymd.gov>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2024-04-29 09:35:49 +02:00
Caroline Cyr La Rose
d9fd2ec226
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>
2024-04-29 09:35:48 +02:00
f49cf32238
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>
2024-04-29 09:35:48 +02:00
96d0a4f996
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>
2024-04-29 09:35:47 +02:00
d6011d6ae9
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>
2024-04-29 09:35:47 +02:00
7fc5e47251
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>
2024-04-29 09:35:46 +02:00
d24ec0e26d
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>
2024-04-29 09:35:46 +02:00
2b58f18f64
Bug 35646: (follow-up) Correct firstaquidate type
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2024-04-29 09:35:45 +02:00
db7c4f85b6
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>
2024-04-29 09:35:45 +02:00
15424f9b2f
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>
2024-04-29 09:35:44 +02:00
36d96180ae
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>
2024-04-29 09:35:44 +02:00
Laura Escamilla
a750c254da
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>
2024-04-29 09:35:43 +02:00
Andreas Jonsson
467968a08c
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>
2024-04-29 09:35:43 +02:00
7f04a62229
Bug 36499: (follow-up) Update "Date last borrowed" to "Last checkout date"
This makes the description on the item search form match with
the column name in the results and avoids the "borrow" for the
more Koha common term "checkout".

Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2024-04-29 09:35:42 +02:00
Laura Escamilla
6cade0f566
Bug 36499: Added datelastborrowed column to item search results
Test plan:
1. Apply patch
2. Checkout an item to a patron
3. Perform an item search and either search as is, or add a “Last checkout date:” of today’s date for a more refined search.
    1. Notice that there is now a date last borrowed column by the date due column
    2. Export the table into a CSV and notice that there is also a date last borrowed column there
4. Sign off and have an amazing day :D

Signed-off-by: Michelle Spinney <mspinney@clamsnet.org>
Signed-off-by: Emily Lamancusa <emily.lamancusa@montgomerycountymd.gov>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2024-04-29 09:35:42 +02:00
cca7ede28c
Bug 36605: Add update_lastseen to handle_patron_status for SIP
This patch extends the TrackLastPatronActivity trigger to cover SIP status messages as well.
Other SIP messages like Checkin/Checkout should be covered by those values in system preference, so
should not need adjustment.

To test:
prove -v t/db_dependent/SIP/Message.t

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2024-04-29 09:35:41 +02:00
d09b3436e4
Bug 35511: (follow-up) Tweaks to CSS, adding aria-hidden to icons
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2024-04-29 09:35:41 +02:00
40560b571d
Bug 35511: Add visual indicators of patron edit form collapsible sections
This patch updates CSS and markup in the patron add/edit form so that
there is better visual indication that sections can be collapsed by
clicking headings.

The JS function for showing and hiding sections has also been updated to
reduce verbosity.

Unrelated markup change for the sake of accessibility: A <label> has
been added to the "Show collapsed fields" checkbox which is seen when
CollapseFieldsPatronAddForm is active.

To test, apply the patch and go to Patrons -> New patron.

- Each section of the form should have an arrow indicator by the section
  heading indicating whether it is expanded or collapsed.
- Mousing over the heading should show a border to help show the
  clickable region.
- Clicking the header should collapse the section and the arrow
  indicator should change to reflect that the section is collapsed.
- Go to Administration -> Sytem preferences and search for
  CollapseFieldsPatronAddForm.
- Make some selections from the dropdown and save your changes.
- Return to the patron entry form and confirm that your selections are
  collapsed by default.

Signed-off-by: David Nind <david@davidnind.com>

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2024-04-29 09:35:40 +02:00
dfd4894acb
Bug 35689: Add id and classes to each MARC note in OPAC bibliographic details
Building on Bug 14156, this patch updates the OPAC bibliographic
detail page's display of MARC notes to add the tag number in both a
class (for consistent styling across the same tag number) and id (for
unique styling for each repeated tag).

To test:

- As a quick test for custom CSS, go to Administration -> System
  preferences and locate the OPACUserCSS preference.
  - Add this testing CSS:

   .marcnote { font-size:140%; font-family: serif; }
   .marcnote-500 { background-color: #66FFCC; }
   .marcnote-511 { background-color: #99FFFF; }
   .marcnote-520 { background-color: #CCFF00; }
   .marcnote-521 { background-color: #CCFFFF; }
   .marcnote-538 { background-color: #FFCCCC; }
   .marcnote-546 { background-color: #FFFFCC; }

- Locate a record with multiple notes fields. In the sample data, record
  46, "Viridiana" is a good example which works well with the above CSS.
- On the bibliographic detail page for the record, click the
  "Descriptions" tab.
  - Each MARC note should be colored according to the tag it comes from.
  - Inspect the HTML to confirm that each paragraph also has its own
    unique ID.

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2024-04-29 09:35:40 +02:00
98a269669c
Bug 34082: Cut some redundancy in OPAC JavaScript string translations
This patch consolidates some JS code so that we're not defining a string
ine one place and using it once elsewhere. With JS-friendly translations
tools we don't need this workaround.

To test, apply the patch and go to Administration -> Circulation and
fine rules.

- Configure an item type rule with the "OPAC item level holds" setting
  set to "Force."
- Log in to the OPAC and locate a record with that item type and
  multiple items. An example in the sample data:
  /cgi-bin/koha/opac-detail.pl?biblionumber=12
- Place a hold on the item.
  - The holds screen should show a table of items.
  - Open your browser's developer tools.
  - In the Console tab, paste in this code and hit ENTER:

    $(".checkitem").prop("checked", false);

  - All radio buttons in the table of items should be cleared.
- Click the "Confirm hold" button. You should get an alert:
  "Expecting a specific item selection."

- Log in to the OPAC and click the "Search history" tab from the user
  summary page.
- Check one or more checkboxes next to search history items and click
  the "Remove selected searches."
  - You should get an alert: "Are you sure you want to delete selected
    search history entries?"

- Log in to the OPAC, create a new list if necessary, and add some
  titles to the list.
- Test that confirmation messages show correctly:
  - Deleting a single title by clicking the "Remove
    from this list" link.
  - Deleting multiple titles by checking boxes and
    clicking "Remove from list."
  - Deleting a list.

- In Administration -> System preferences, enable TagsEnabled if
  necessary.
- Log in to the OPAC and tag one or more items.
- From the Tag cloud page, check one or more boxes for your tags, and
  click the "Delete selected tags" button at the bottom of the page.
- The confirmation message should display correctly.

- To test the change to opac-account.tt you have to install a payment
  plugin, e.g.
  https://gitlab.com/thekesolutions/plugins/koha-plugin-pay-via-paypal,
  and attempt to submit a payment which is below the minimum payment
  threshold set in the plugin's configuration.

Signed-off-by: David Nind <david@davidnind.com>

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2024-04-29 09:35:39 +02:00
1fe9180c41
Bug 34032: (QA follow-up) Tidy code
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2024-04-29 09:35:38 +02:00
Emmi Takkinen
db68d58592
Bug 34032: Use reserves.patron_expiration_date if set
If reserves.patron_expiration_date is set use it as holds
expiration date when waiting status is reverted.

To test:
1. Apply this patch.
2. Add hold for patron A and set expiration date manually.
3. Check in item on hold for patron A and confirm hold was
set as waiting.
4. Revert holds waiting status.
=> Hold should still have expiration date you set manually
in step 2.
5. Check that you have DefaultHoldExpirationdate and other
DefaultHold sysprefs set.
6. Add hold for patron B, but this time do not set expiration
date.
7. Check in item on hold for patron B, revert waiting status.
=> Hold should now have expiration date set based on
DefaultHold sysprefs.

Also prove t/db_dependent/Hold.t.

Sponsored-by: Koha-Suomi Oy
Signed-off-by: Esther <esther@bywatersolutions.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2024-04-29 09:35:38 +02:00
Emmi Takkinen
03efe5ba76
Bug 34032: Set new expirationdate if waiting status is reverted
When one reverts holds waiting status holds expiration
date is not set even if DefaultHoldExpirationdate
syspref is enabled. This patch adds new param
hold_reverted to be used when RevertWaitingStatus is
used to determine if expiration date should be set again.

To test:
1) Make sure you have DefaultHoldExpirationdate syspref enabled.
2) Find hold with status "Waiting".
3) Revert waiting status.
=> Note that hold has no expiration date set.
4) Apply this patch.
5) Repeat steps 2 and 3.
=> Expiration date should now be set based on reserve
date.

Also prove t/db_dependent/Hold.t.

Sponsored-by: Koha-Suomi Oy
Signed-off-by: Sam Lau <samalau@gmail.com>
Signed-off-by: Esther <esther@bywatersolutions.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2024-04-29 09:35:37 +02:00