Commit Graph

57278 Commits

Author SHA1 Message Date
Jonathan Druart fc2730d0f4
Bug 39346: Display all additional fields
getAll should call getAll, not get, or we lose the _per_page=-1
parameter.

Test plan:
Have more than 20 additional fields for agreements
Create and agreement:
=> Notice that with this patch, all the fields are displayed.

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Matt Blenkinsop <matt.blenkinsop@openfifth.co.uk>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-04-10 09:13:15 +02:00
Jonathan Druart b1efa3d71d
Bug 39300: Fix quick edit of subfields
Searching tag$subfield in the framework should redirect to the edition
of the tag with the subfield tab selected.
This has been broken when we used the wrapper for tabs on bug 33178.

Test plan:
Edit a framework
http://localhost:8081/cgi-bin/koha/admin/marctagstructure.pl?frameworkcode=
Search for 952$c
=> You are redirected to the edition of 952 and the "c" tab is selected

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Julian Maurice <julian.maurice@biblibre.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-04-10 09:13:14 +02:00
Martin Renvoize 5426ae5bfd
Bug 39209: Set cookie consent bar as first focus
This patch updates the cookie consent javascript, when the feature is
enabled, to ensure that the cookie consent bar gets focused when it
displays.

Test plan
1) Enable the CookieConsent preference
2) Open any OPAC page
3) Hit 'tab' and note the display of 'Skip to main content'
4) Confirm that the cookie consent bar is displayed and continued 'tabs'
   eventually navigate to it
5) Apply this patch
6) Navigate to any OPAC page
7) Hit 'tab' and note that the 'Cookie consent' bar is focused, your
   keyboard navigation starts with the cookie consent buttons
8) Accept the essential cookies
9) Hit tab and note the focus is back to normal and shows the 'Skip to
   main content' button on first keyboard navigation.

Signed-off-by: Owen Leonard <oleonard@myacpl.org>

Amended-by: Jonathan Druart
Run tidy.pl

Signed-off-by: Thomas Klausner <domm@plix.at>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-04-10 09:13:14 +02:00
Lucas Gass 45561b6614
Bug 39294: Fix includes to properly remember selections
To test:
1. Cataloging > Stage MARC record for import
2. Upload a MARC file
3. Change some of the following settings:

    -Action if matching record found:
    -Action if no match is found:
    -How to process items/Item processing:

4. Stage for import and View batch
5. None of this settings have been retained.
6. APPLY PATCH
7. Try these steps again, now the settings should be remembered
8. Turn on the 'MarcOrderingAutomation' system preference.
9. Administration > MARC order accounts
10. Create a new account
11. Change the "Record matching settings" and submit
12. Make sure every selection is remembered when you edit the account.

Signed-off-by: Sam Sowanick <sam.sowanick@corvallisoregon.gov>
Signed-off-by: Emily Lamancusa <emily.lamancusa@montgomerycountymd.gov>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-04-10 09:13:13 +02:00
David Nind 9cebd54ab1
Bug 31019: Fix broken links to UNIMARC field documentation
IFLA no longer provides field-level documentation pages for the UNIMARC
format (as at December 2024). It only provides:
- updates by year as individual PDFs (there may be multiple PDF updates
  for a field)
- a single consolidated PDF that is not yet endorsed by IFLA.

This patch updates the default UNIMARC field documentation links
to https://www.ifla.org/g/unimarc-rg/unimarc-updates/

It also:
- makes minor formating changes to improve consistency with the
  advanced editor:
  . the help link text is now [?], instead of ?
  . adds hover text for [?] - "Show help for this tag"
  . adds some additional spacing before the indicator fields
  . removes the '-' before the tag title
- updates the MarcFieldDocURL system preference description

Test plan:
1. Start up a Koha instance that uses UNIMARC (if using
   koha-testing-docker, change KOHA_MARC_FLAVOUR=unimarc in
   your .env file).
2. Set the EnableAdvancedCatalogingEditor system preference to "Enable".
3. Search for and edit any bibliographic record using the basic editor.
4. Click on the help text link (?) after any tag.
5. Note that you get an error:
   - Firefox: "The page isn’t redirecting properly"
   - Chrome-based browsers:
      "This page isn’t working
       archive.ifla.org redirected you too many times."
6. Switch to the advanced editor (Settings > Switch to advanced editor).
7. Click on a tag and then click the help link ([?]) at the bottom of
   the page.
   Result: You get the an error for the web page.
8. Switch back to the basic editor (Settings > Switch to basic editor).
9. Apply the patch.
10. Duplicate the tab and refresh the page for the record you
    were editing.
11. Click a help link for the basic editor - it now goes to a
    valid web page (https://www.ifla.org/g/unimarc-rg/unimarc-updates/).
12. Compare the basic editor page to the previously opened tab
    and note these differences:
    - the help link text is now [?], instead of ?
    - there is now hover text for [?]- "Show help for this tag"
    - there is some additional spacing before the indicator fields
    - there is no '-' before the tag title
13. Check that the page looks okay if the Settings > Show MARC
    tag document, and Show tags options are toggled off.
14. Switch to the advanced editor (Settings > Switch to advanced editor).
    If you click on the help link you now go to a valid web page.
15. View the updated description for updated MarcFieldDocURL system
    preference and check that it makes sense.
16. Enter a URL for the MarcFieldDocURL system preference, for
    example, https://example.com
17. Edit another record (using either the basic or advanced editor) and
    click the help link - it should take you to the web page you set for
    MarcFieldDocURL.
18. [Optional] Enter a custom URL pattern for the help documentation
    using {FIELD} (I don't know of any UNIMARC custom URL patterns).
19. Repeat the steps as appropriate for a MARC21 instance:
    19.1 Start up a MARC21 instance (change KOHA_MARC_FLAVOUR=unimarc
         on your .env file).
    19.2 The help links should take you to the Library of Congress MARC
         pages.
    19.3 Check that custom URL patterns continue to work, for example,
         use the Canadian custom URL pattern
         http://www.marc21.ca/MaJ/BIB/B{FIELD}.pdf
20. Sign off!

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Mathieu Saby <mathsabypro@gmail.com>
Signed-off-by: Baptiste Wojtkowski <baptiste.wojtkowski@biblibre.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-04-10 09:13:12 +02:00
Adolfo Rodríguez 1bb962bba7
Bug 38411: Check mandatory item fields when creating several items ordering or receiving.
This patch adds a check of mandatory item fields when adding several items

Test plan:
1 We need mandatory subfields for items in the ACQ framework and an open basket configured to create items on order or a closed basket configured to create items on receiving an order
2 In both cases, in the form to create items check that there are mandatory fields.
3 Click the Add multiple items button, write a number and then add.
4 Check that the items have been added.
5 Apply patch, restart services
6 Repeat step 3 Now it doesn't add the items and shows an alert regarding the empty mandatory fields

Signed-off-by: Laurence <laurence.rault@biblibre.com>
Signed-off-by: Martin Renvoize <martin.renvoize@openfifth.co.uk>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-04-10 09:13:12 +02:00
Janusz Kaczmarek 81b6c3cf27
Bug 39462: Unit tests
Signed-off-by: Roman Dolny <roman.dolny@jezuici.pl>
Signed-off-by: Martin Renvoize <martin.renvoize@openfifth.co.uk>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-04-10 09:13:11 +02:00
Janusz Kaczmarek cfe3421891
Bug 39462: (bug 37870 follow-up) Default values from framework are inserted into existing record while editing
Due to changes made by the commit 0472b56a67, when editing an
existing bibliographic record a default value is inserted while it
should not, according to ApplyFrameworkDefaults systempreference.

Test plan:
==========
1. Verify that ApplyFrameworkDefaults systempreference is set to
   ‘when cataloguing new records only’.
2. Take any existing bibliographic record, e.g. sn:1. Open it in
   standard editor and identify a non used (empty) subfield, e.g. 024 $a.
   Note the framework (Books, Booklets, Workbooks). Close the editor
   (Cancel).
3. Modify the framework in question (Books, Booklets, Workbooks) by
   setting a default value for the chosen subfield (e.g. 024 $a).
4. Open the record in the editor again. Note that the 024 $a subfield
   has now an inserted default value while it should not, according to
   the ApplyFrameworkDefaults setting. Do not save the record, chose
   Cancel.
5. Apply the patch ; restart_all.
6. Repeat p. 4 -- there should be no default value inserted in the
   existing record now.

Sponsored-by: Pontificia Università di San Tommaso d'Aquino (Angelicum)
Signed-off-by: Roman Dolny <roman.dolny@jezuici.pl>
Signed-off-by: Martin Renvoize <martin.renvoize@openfifth.co.uk>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-04-10 09:13:10 +02:00
Jonathan Druart f7f5d8056a
Bug 39395: Fix #wrapper closing tag in sco
The module was displayed at the bottom of the screen.
It's caused by the closing tag of #wrapper that has been added by bug
38664 inside the include file.

It is wrong, the div.main should be within #wrapper.

The correct fix is to move #wrapper out of the include file, so that the
HTML structure is correct (and the prettier plugin is happy) in the .tt
files

Test plan:
Confirm the bug
Apply this patch
Go to the SCO module and confirm that the module is correctly placed at
the top of the screen

Please review this patch using `git show -w HEAD`

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>
2025-04-10 09:13:10 +02:00
David Cook ef4d0aa5c5
Bug 39460: Fix koha-upgrade-schema when no DB change needed
This patch fixes koha-upgrade-schema so that it returns an exit
code of 0 whether or not a DB change is needed. This is important
so that koha-common.postinst proceeds correctly even when there
is no DB change needed (e.g. for 24.11.03-2)

Test plan:
0. Apply the patch
1. cp debian/scripts/koha-upgrade-schema /usr/sbin/koha-upgrade-schema
2. dpkg-reconfigure koha-common
3. Note the process completes correctly
4. koha-upgrade-schema kohadev
5. Note following text appears very quickly:
Upgrading database schema for kohadev
No database change required
6. koha-mysql kohadev
update systempreferences set value = '24.1102000' where variable = 'Version';
7. Clear memcached
8. koha-upgrade-schema kohadev
9. Note that it applies the 24.11.03 database upgrade

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Martin Renvoize <martin.renvoize@openfifth.co.uk>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-04-04 09:21:58 +02:00
Martin Renvoize 38d9b0d110
Bug 39447: Update mailmap to reflect PTFS-Europes rename
PTFS Europe is now officially Open Fifth

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>

Bug 39447: (follow-up) Corrections to existing mappings

I thought it worked through from top to bottom and thus the lower down
mappings would correct the higher up ones.. I was mistaken, thanks
Jonathan for pointing that out

Test with:

1. `git shortlog --summary --numbered --email | grep ptfs-e`
2. `git shortlog --summary --numbered --email | grep openfifth`

Amended-by: Jonathan Druart
Space adjustements

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
2025-03-26 12:28:44 +01:00
Jonathan Druart bfd5939468
Bug 37273: Fix Cypress tests
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
2025-03-24 10:32:52 +01:00
Martin Renvoize 31789383aa
Bug 38087: (follow-up) Add missing div to template
We lost a closing div somewhere during the life of this patchset

Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-03-21 17:50:28 +01:00
Martin Renvoize ede4088d7a
Bug 38087: Add print template for WELCOME notice at install time
This patch adds a default print template for the welcome notice. It will
be installed at install time but will not be added at upgrade time.

It will also be available as the default under the notice templates
tool.

Test plan
1) Apply the patch
2) Under 'Tools > Notices and Slips' select the 'WELCOME' notice to edit
3) Click 'View default' under the 'Print' message transport type
4) Note the new default template is shown
5) Use 'Copy to template' to apply it to the notice
6) Use a user (Henry perhaps under sandboxes) without an email address
   to test the template by
6a) Under 'more' click 'Send welcome notice'
7) Preview the pending print notice under the patrons notices tab by
   clicking the notice title.
8) Confirm the notice looks reasonable and sign off

Signed-off-by: Laura_Escamilla <laura.escamilla@bywatersolutions.com>
Signed-off-by: Baptiste Wojtkowski <baptiste.wojtkowski@biblibre.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-03-21 17:50:28 +01:00
Owen Leonard 207cb59241
Bug 31167: Only mark due dates in the past red on overdues report
This patch adds information about whether an entry in the overdue report
is overdue so we can style dates accordingly. We can't assume that each
result is overdue because the report can be changed to include all
checked out items.

To test, apply the patch and go to Circulation.

- Check out to a patron.
- Use the "Specify due date" option to check out some items with due
  dates in the past, due dates today, and due dates in the future.
- Go to Circulation -> Overdues.
- You should see the items which have due dates in the past. The date in
  the "Due date" column should be red text. The "Checked out on" date
  should be regular text.
- In the sidebar, check the "Show any items currently checked out"
  checkbox and submit the form.
- You should now see all the items you just checked out. Only the
  overdue items should show their due date in red.

Sponsored-by: Athens County Public Libraries
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Emily Lamancusa <emily.lamancusa@montgomerycountymd.gov>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-03-21 17:50:27 +01:00
Lucas Gass 3888d1ee7a
Bug 39283: Concat middle name with preffered name if it exists
1. Have a patron with a middle name
2. Do a patron search that brings them up, no middle name appears
3. APPLY PATCH
4. Try again, middle name should appear in patron searches.

QA follow-up: made the same fix inline for other_name

Signed-off-by: Bibliothèque Ifao <bibliotheque@ifao.egnet.net>
Signed-off-by: Emily Lamancusa <emily.lamancusa@montgomerycountymd.gov>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-03-21 17:50:26 +01:00
Lucas Gass 4f170fb94d
Bug 39331: If patron category cant be guarantee do not continue with add_guarantors
To test:
1 - Remove age limits from a Child and Adult category in Administration->Patron categories. Ensure Child category can be guarantor and Adult cannot
2 - The above step is to avoid any age checks and form resubmission which removes the guarantor fields
3 - Find/create a child patron
4 - Add a guarantee from the Adult category to the child
5 - Check the DB:
   SELECT * FROM borrower_relationships WHERE guarantee_id={borrowernumber of child};
6 - Note the id colum
7 - Edit the child patron to Adult category
8 - Repeat 5
9 - Note the relationship still exists and the id is incremented
10 - Oof!
11 - APPLY PATCH, restart_all
12 - Try again steps 3 - 8
13 - The relationship should not be re-added
14 - Try with more than 1 guarantor on the record, confirming all are deleted
15 - Try adding some guarantor to patron types that should be able to, they relationship should work.
16 - Try changing some patrons to categories that do allow guarantors, making sure the relationship does stay.

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Baptiste Wojtkowski <baptiste.wojtkowski@biblibre.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-03-21 17:50:26 +01:00
Jonathan Druart 6e4039b72a
Bug 39396: (bug 38714 follow-up) Restore options in Batch item modification
We built select_class but never used it.

Test plan:
Go to Batch item modification and confirm that the select2 dropdown
lists are no longer empty

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-03-21 17:50:25 +01:00
Jonathan Druart 4eececb330
Bug 38981: Directly use the opac-image link
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>
2025-03-21 17:50:24 +01:00
Owen Leonard 545ff24dd0
Bug 38981: Local cover images failing to load in OPAC search results
This patch uncomments some code which was incorrectly left commented
after debugging.

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>
2025-03-21 17:50:23 +01:00
Katrin Fischer a629a518f5
Bug 38494: DBRev 24.12.00.020
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-03-20 17:23:08 +01:00
Janusz Kaczmarek ebba76f1b7
Bug 38494: (follow-up) Text amendments clarifying that it is about MARC21 records
Refers to ConsiderHeadingUse and ShowHeadingUse systempreferences.

Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-03-20 17:23:07 +01:00
Marcel de Rooy f307624049
Bug 38494: (QA follow-up) Add comment and extend pref desc
See BZ comment18.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-03-20 17:23:06 +01:00
Janusz Kaczmarek 4330e1f514
Bug 38494: Koha should consider authority heading use in cataloging
In MARC 21 authority records, three bytes (008/14-16) indicate what the
heading can be used for (main/added entry, subject entry, series entry).
Koha should be able to respect the record's intended use in authority
search during cataloging, provided that the authority file is well
formed.  Also, we should be able to decide between more strict but
correct behavior and current lax behavior.

Test plan:
----------
1. Apply the patch; updatedatabase ; restart_all
2. Set the ShowHeadingUse system preference to ‘Show’
3. Go to the Cataloging editor and open the authority finder plugin for
   the 100 field. Search for Peter. With standard ktd test data you should
   get 9 results, some with ‘v’ before Main/Added Entry, some with ‘x’.
   These with ‘x’ are not to be used in this context, provided you use a
   well-formed authority file
4. Set ConsiderHeadingUse system preference to ‘Do’
5. Repeat p. 3.  You should get now only 4 Peters – those with ‘v’
   before Main/Added Entry (008/14 = ‘a’)
6. You can repeat the test for subject headings (6XX) and series
   headings (sometimes you would have to modify the test data, e.g. there
   are few authority records with 008/16 = ‘a’ (series use)
7. This should work equally with Zebra and with Elasticsearch

Sponsored-by: Ignatianum University in Cracow
Signed-off-by: Roman Dolny <roman.dolny@jezuici.pl>

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-03-20 17:23:06 +01:00
Janusz Kaczmarek 70138465cd
Bug 38494: Add 'ConsiderHeadingUse' system preference
Add new system preference 'ConsiderHeadingUse' to be able to consider
the intended use of authority records (008/14-16) during cataloging
and linking.

Sponsored-by: Ignatianum University in Cracow
Signed-off-by: Roman Dolny <roman.dolny@jezuici.pl>

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-03-20 17:23:05 +01:00
Jonathan Druart c30559349a
Bug 26553: Fix kohaTable call in TrainsShow
It's the only occurrence in Vue components

Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-03-20 17:23:05 +01:00
Jonathan Druart 767b5be945
Bug 38993: Send CSRF token for Vue fetches
We need it for syspref at least.

Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-03-20 17:23:04 +01:00
Jonathan Druart 2fc1b5f825
Bug 38993: Fix sysprefs fetch from cypress
Conflict between bug 38993 and bug 36025

We pass the token in the header, and retrieve it from the meta tag.

Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-03-20 14:31:24 +01:00
Phil Ringnalda cfb5d05ed9
Bug 39293: Remove box around subfield tag in basic editor
Prior to the Bootstrap 5 update, the feature of editing subfield codes in the
basic editor was kept subtle by putting the code in an <input>, but removing
the border around the input, so it required either knowing the feature exists
or accidentally clicking on or around the single letter code and seeing it
turn into an editable input.

This patch removes the border again, because when people accidentally see the
feature, they are sometimes not pleased to see it.

Test plan:
1. Without the patch, open the cataloging basic editor and switch to the "1"
   tab with the 100 fields.
2. Note that the codes for the subfields are clearly in editable inputs.
3. Apply patch, reload the editor page.
4. Note that now the codes look like just plain text, until you actually
   click on or very near the letter, when they become visible as inputs
   by having the focus border.

Sponsored-by: Chetco Community Public Library
Signed-off-by: Andrew Fuerste Henry <andrew@bywatersolutions.com>
Signed-off-by: Baptiste Wojtkowski <baptiste.wojtkowski@biblibre.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-03-20 14:31:23 +01:00
Owen Leonard 36f86bacb0
Bug 38184: (follow-up) Correct the number of tests
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-03-20 09:03:01 +01:00
Aleisha Amohia 53c58f7cef
Bug 38184: Show due date on OpacTrustedCheckout modal
This fixes checkout fields being made available to the public API.

Note: This depends on the fix at Bug 39313, so make sure you apply that
first.

To test:

1. Enabled OpacTrustedCheckout system preference
2. Search for an item and get the barcode
3. Go to the OPAC
4. Click the Self-checkout button at the top
5. Enter the barcode and submit
6. Notice that the due date does not show in the modal, even though the
   due date was correctly set

7. Apply the patch and restart services

8. Go to the staff interface and check in your barcode
9. Repeat steps 3-5
10. Confirm the due date does show correctly in the modal

11. Confirm tests pass t/db_dependent/Koha/Checkout.t

Sponsored-by: Reserve Bank of New Zealand
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-03-20 09:03:01 +01:00
Martin Renvoize 35d100413d
Bug 32604: Unit tests
Add unit tests to more thoroughly and specifically cover the
search_patrons_to_update_category method including specific date
handling tests.

We also add some notes to the POD that were highlighted by writing
comprehensive tests.

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Emmi Takkinen <emmi.takkinen@koha-suomi.fi>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-03-20 09:03:00 +01:00
Bernard Scaife 7fbeba8b75
Bug 32604: Correct boundary calculation for birthdate
Add 1 to upperagelimit to make it calculate birthday boundaries correctly
for patrons_to_update_category search

To test:
1. Add upper age limit as 18 for child patron category.
2. Create a child patron whose age is 18.
3. Save.
=> Patron is saved successfully.
4. Run cronjob update_patrons_category.pl with verbose option.
   perl update_patrons_category.pl --too_old --from CHILD --to ADULT -v
=> Note that patron is reported as updated (or would have updated)
   as an adult patron.
5. Apply patch
6. Re-run steps 1 to 5 and note we no long update the 18 year olds.

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Emmi Takkinen <emmi.takkinen@koha-suomi.fi>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-03-20 09:03:00 +01:00
Lucas Gass b1a326238a
Bug 35134: Use localStorage instead of a cookie
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-03-19 17:34:56 +01:00
Pedro Amorim da66e8ac83
Bug 35134: Save popup size to cookies and use that instead
Follow the original test-plan, open the pop-up and resize to whatever size.
Close the pop-up, open again, notice it opens to the same size it was previously closed.

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-03-19 17:34:56 +01:00
Lucas Gass d50baeabac
Bug 35134: Make cn_browser popup responsive to screen size
To test:
1. Use the cn_browser.pl plugin for the 952$o ( call number )
2. Add or edit an item and select the `...` to the right of the call
   number field.
3. The pop-up is hardcoded as 500px x 400px pop-up.
4. APPLY PATCH
5. Clear browser cache and try again. The window width should now be
   half of the current screen size. The window height should be 100% of
   the screen height.

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-03-19 17:34:55 +01:00
Hammat Wele e303854076
Bug 33224: OPACHoldsIfAvailableAtPickup and no on-shelf holds don't mix well
When OPACHoldsIfAvailableAtPickup preference is set to Don't allow and circulation rules allow on-shelf holds only if any unavailable, and we have a record with a checked out copy at Centerville and an available copy at Midway, a Midway patron should not be able to place a hold for pickup at Midway since the Midway copy is available.

This is the setting:
- circulation rules allow on-shelf holds only if any unavailable
- OPACHoldsIfAvailableAtPickup is set to Don't allow

To test:
1. Set up the circulation rule so that on-shelf holds are allowed ('Yes')
2. Create a record with two items, one at Centerville and one at Midway
3. Check out the Centerville item
4. Log into the OPAC with a Midway patron (I used Henry Acevedo)
5. Try to place a hold on the record
   --> Midway is not a valid pickup location (correct behaviour)
6. Cancel
7. Change the circulation rules so that on-shelf holds are only allowed 'if any unavailable'
8. Try to place a hold on the record from the OPAC again
   --> The system allows you to place the hold for pickup at Midway (incorrect behaviour)
9. Optionally, check the Holds to pull for Midway (the hold is there, it shouldn't)
10. Optionnaly, check in the Midway item (it is trapped for Henry's hold)
11. Apply the patch
12. Try again to place a hold on the record from the OPAC
   --> it is impossible to select Midway, Midway is not a valid pickup location

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>
2025-03-19 17:34:55 +01:00
Emily Lamancusa 8ae546b31b
Bug 39353: (QA follow-up) Clarify error message
Signed-off-by: Emily Lamancusa <emily.lamancusa@montgomerycountymd.gov>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-03-19 17:34:54 +01:00
Jonathan Druart 488d0042e6
Bug 39353: Prevent tidy.pl to empty template files
In ktd context:
if host's node_modules ktd has been generated prior to bug 38644, the template-toolkit's
prettier plugin is not there and prettier will empty the file.

It seems to be a prettier bug, and the following behaviour is confusing:

From the host:
% yarn run prettier --write koha-tmpl/intranet-tmpl/prog/en/modules/test.tt
yarn run v1.22.22
$ prettier koha-tmpl/intranet-tmpl/prog/en/modules/test.tt
[error] Cannot find module '@koha-community/prettier-plugin-template-toolkit'
[error] Require stack:
[error] - /home/jonathan/workspace/koha/node_modules/prettier/index.js
[error] - /home/jonathan/workspace/koha/node_modules/prettier/cli.js
[error] - /home/jonathan/workspace/koha/node_modules/prettier/bin-prettier.js
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

=> The file is not modified

Within ktd:
$ yarn run prettier --write koha-tmpl/intranet-tmpl/prog/en/modules/test.tt
yarn run v1.22.22
$ prettier --write koha-tmpl/intranet-tmpl/prog/en/modules/test.tt
koha-tmpl/intranet-tmpl/prog/en/modules/test.tt 6ms
Done in 0.39s.

=> No error, and the file is emptied!

It seems that the plugin is found by prettier but not used (?)

Test plan:
1. Follow this from step 1 to 14
   https://gitlab.com/koha-community/koha-testing-docker/-/issues/483
2. Apply patch
3. misc/devel/tidy.pl --no-write koha-tmpl/intranet-tmpl/prog/en/modules/intranet-main.tt
   It should print the new error message
4. Make a change to a .tt file, commit
5. There will be a message about and issue with prettier. But it will
   still commit. It's expect.
6. Inspect and see that the commit has the changes

Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net>
Signed-off-by: Emily Lamancusa <emily.lamancusa@montgomerycountymd.gov>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-03-19 17:34:54 +01:00
Jonathan Druart 8e0d00dd76
Bug 38944: Tidy t/db_dependent/Record/Record.t
The generated patch was big and I skipped the git hook :-/

Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-03-19 17:34:53 +01:00
Martin Renvoize cb71027f14
Bug 37171: Add serial note to serial claims screen
This patch adds the serial note field into the serials claims display
table.

Test plan:
1) Add a Serial
2) View the serial 'Serial collection'
3) Use the 'Edit serials' option to add a note to an expected, late
   serial issue.
4) View the serial claims for the Vendor of that serial
5) Note the new 'Serial notes' column in the display of claims
6) Signoff

Sponsored-by: Loughborough University <https://lboro.ac.uk/>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Baptiste Wojtkowski <baptiste.wojtkowski@biblibre.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-03-19 11:55:31 +01:00
Aleisha Amohia 0f077950fc
Bug 18798: Use Koha.Preference in OPAC Reading Record
This patch uses the Koha.Preference plugin method for the following
sysprefs:
 - OPACMySummaryHTML
 - OPACAmazonCoverImages
 - SyndeticsEnabled
 - SyndeticsCoverImages
 - SyndeticsClientCode
 - GoogleJackets
 - BakerTaylorEnabled
 - BakerTaylorBookstoreURL

To test confirm that enabling and disabling the above sysprefs does not
break anything.

Sponsored-by: Catalyst IT
Signed-off-by: Owen Leonard <oleonard@myacpl.org>

I'm not able to test Syndetics but everything else works correctly.

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-03-19 11:55:30 +01:00
Martin Renvoize 84c5e81b07
Bug 38663: (follow-up) Make database update idempotent
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-03-19 11:55:30 +01:00
Lari Taskula 3c6b7ae201
Bug 39265: Hide library drop-down from opac-memberentry if there is only one library
To test, apply the patch and enable PatronSelfRegistration.

- Modify the PatronSelfRegistrationLibraryList system preference to
  include only one library.
- Go to the self-registratoin page in the OPAC.
- Under "Home library," you should see the library name. If you inspect
  the source you should see the library branchcode in a hidden form.
- Confirm that the form submission includes the correct library
  information.

Signed-off-by: Owen Leonard <oleonard@myacpl.org>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-03-19 11:55:29 +01:00
Nicolas Hunstein 0be7d23b4c
Bug 39005: update the explanatory message of Force new patron password reset in the patron category form
updates explanatory message "Choose whether staff created patrons of
this category be forces into resetting their passwort after their first
OPAC login" to "Choose whether staff-created patrons of this category
are forced to change their password after their first OPAC login"

to test:
- go to Administration page
- go to patron categories
- open the patron category form for example by clicking on "New
  category"
- check there is the string "Choose whether staff created patrons of
  this category be forces into resetting their passwort after their
  first OPAC login"

- apply patch
- verify there is the string "Choose whether staff-created patrons of
  this category are forced to change their password after their first
  OPAC login" now

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-03-19 11:55:29 +01:00
Owen Leonard 6c95ae68be
Bug 39354: (follow-up) Override additional BS5 CSS for multiple-select
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-03-19 11:55:28 +01:00
Owen Leonard 09c79110a1
Bug 39354: Remove unintended Bootstrap 5 change to scroll-behavior
This patch updates the "variables" SCSS file in the OPAC and staff
interface in order to disable the "smooth scroll" behavior introduced in
Bootstrap 5. This was an unexpected and unintentional change.

The patch also corrects another unexpected side-effect of the BS5
upgrade: A change to the "cursor" property of elements with a
".placeholder" class. This class is used by the multiple-select jQuery
plugin found in some system preference controls.

To test, apply the patch and rebuild the staff and OPAC CSS.

- Clear your browser cache if necessary.
- In the staff interface, go to Administration -> System preferences ->
  Circulation, and click "Patron restrictions" in the left-hand sidebar.
  The page should jump immediately to that section without any scrolling
  effect.
- Go to the "Article requests" section of that page. Hover your cursor
  over a dropdown which doesn't have any option selected. Your cursor
  should not change to a "waiting" cursor.

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

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-03-19 11:55:27 +01:00
Lucas Gass 37c8c6606a
Bug 39270: Check to make sure checkouts are not already booked
To test:

1. Find an item that is bookable, I turned on Bookable at the item type level for BK. I am using biblionumber=28 in k-t-d with 3 items
2. Book item with barcode ( 39999000001297 ). I did March 7 - April 1
3. Book item with barcode ( 39999000001259 ). I did March 7 - April 1
4. Now checkout 39999000001297 to the patron is was booked to. When asked about early collection say yes.
5. Now item with barcode ( 39999000001273 ) is not checked out or booked. It should be bookable
6. Try to book it, it is not available till April 2, though it should be available right now.
7. APPLY PATCH
8. Try the bookings again.
9. You should correctly not be able to book 39999000001297 or 39999000001259.
10. You should be able to book 39999000001273.

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-03-19 11:55:27 +01:00
Owen Leonard 1045dc1224
Bug 39357: Wrong sidebar menu on batch checkout page
This patch updates the batch checkout page template so that it shows the
patron detail sidebar instead of the circulation navigation sidebar.

To test, apply the patch and enable BatchCheckouts if necessary.

- Open a patron record for checkout.
- Click "Batch check out" in the left-hand sidebar.
- The sidebar should show patron details and links like "Check out,"
  "Details," etc.

Sponsored-by: Athens County Public Libraries

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-03-19 11:55:26 +01:00
David Gustafsson 7dc5f09030
Bug 39334: (follow-up) Preserve order when adding patron attributes
To test:
1) Run tests in t/db_dependent/api/v1/patrons_extended_attributes.t, serveral should fail
2) Apply patch
3) Run the tests in 1) again, all should now pass

Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-03-19 11:55:26 +01:00