Commit Graph

57979 Commits

Author SHA1 Message Date
Matt Blenkinsop 31364ab898
Bug 33430: Add strings_map method
This patch adds a strings_map method to allow the API to return the required authorised values needed for table displays

Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
Signed-off-by: Lisette Scheer <lisette@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-05-19 18:54:20 +02:00
Jonathan Druart 244ce5396b
Bug 38457: (follow-up) Update record_id to VARCHAR(80)
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-05-19 09:49:43 +02:00
Aleisha Amohia d49e7392bc
Bug 39406: Make serial issues sort from new to old on collection page
This patch fixes the serial collection table to sort in descending order on the date published column.

To test:

1. Create a subscription if you don't already have one.
2. Go to the Serial Collection tab using the left navigation.
3. Click the Generate Next button a bunch of times to generate some serial issues. Note that the issues are displaying in the table in ascending order, with the oldest date published at the top.

4. Apply the patch and refresh the page

5. Confirm the issues are now displaying in the table in descending order, with the newest date published at the top.
6. Click the Generate Next button again and confirm the issue is inserted at the top of the table.

Sponsored-by: Pymble Ladies' College
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-05-19 09:49:42 +02:00
Emily Lamancusa 0868f260c6
Bug 39904: (QA follow-up) Fix a few other cases
Signed-off-by: Emily Lamancusa <emily.lamancusa@montgomerycountymd.gov>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-05-19 09:49:42 +02:00
Kyle M Hall 26e7c07302
Bug 39904: EDIFACT error messages are malformed
Perl can interpolate hashrefs but not method calls. This results in messages like "Cannot connect to Koha::Schema::Result::VendorEdiAccount=HASH(0xaaab059252f0)->host: Name or service not known: My Test at ./misc/cronjobs/edi_cron.pl line 58." when running the edi_cron.pl cronjob.

Test Plan:
1) Enable EDIFACT
2) Create a fake EDI account with a bad FTP server in it
3) Run edi_cron.pl
4) Note the errors like:
    Cannot connect to Koha::Schema::Result::VendorEdiAccount=HASH(0xaaab059252f0)->host: Name or service not known: My Test at ./misc/cronjobs/edi_cron.pl line 58.
5) Apply this patch
6) Run edi_cron.pl
7) Note the errors are now like:
    Cannot connect to test.example.com: Name or service not known: My Test at ./misc/cronjobs/edi_cron.pl line 58.

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-05-19 09:49:41 +02:00
Hammat Wele 0bfad63507
Bug 39800: Error 500 when trying to delete patron card template
Test plan:

1. Go to Tools > Patron card creator
2. Click Manage > Card templates
3. Click Delete next to the HB-PC0001 template
--> Error 500
4. Go back to Tools > Patron card creator
5. Click Manage > Printer profiles
6. Click Delete next to the '16' printer profile
--> Error 500
7. Apply the patch
8. Repeat step 1, 2, 3
--> Card template is deleted
9. Repeat step 4, 5, 6
--> Printer profilesis deleted

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>
2025-05-19 09:49:41 +02:00
Emily Lamancusa 8c814d46d9
Bug 39914: (QA follow-up) Correct the footer colspan on the correct column
Signed-off-by: Emily Lamancusa <emily.lamancusa@montgomerycountymd.gov>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-05-19 09:49:40 +02:00
Lucas Gass cdf88e0237
Bug 39914: Correct the footer colspan
To test:
1. Have some orders that are late.
2. Go to the late orders page (
   http://localhost:8081/cgi-bin/koha/acqui/lateorders.pl )
3. Try to use the export function, nothing happens.
4. APPLY PATCH
5. Try steps 1 and 3 again, this time the export function should work.

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
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-05-19 09:49:40 +02:00
Lucas Gass d3469640f0
Bug 37334: Update Holdings_spec.ts test
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2025-05-17 09:09:33 -03:00
Owen Leonard 3a694bdf42
Bug 39099: (follow-up) Re-word library limitation hint
Signed-off-by: Martin Renvoize <martin.renvoize@openfifth.co.uk>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-05-16 14:25:51 +02:00
Owen Leonard 9028ed0128
Bug 39099: Use select2 to select library limitations in item types, patron categories, and authorized values
This patch updates some administration templates so that library
selection uses a Select2-styled menu instead of a standard <select>.
Item types, patron categories, and authorized values all offer a
"library limitation" option, and Select2 will make library selection
behave like item search options do.

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

- Go to Administration -> Item types and edit an item type.
- On the "Library limitation" line, click the field to trigger the
  Select2 menu. Confirm that it works as expected.
- Save your changes to confirm that the data is saved correctly.
- Edit the item type again to clear all your selections and confirm that
  it saves correctly.
- Repeat the same process on the authorized values page and the patron
  categories page.

Sponsored-by: Athens County Public Libraries
Signed-off-by: Janne Seppänen <janne.seppanen@lahti.fi>
Signed-off-by: Martin Renvoize <martin.renvoize@openfifth.co.uk>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-05-16 14:25:51 +02:00
Owen Leonard 424b41b8d6
Bug 39843: Use select2 for multiple selects on patron attributes and extend due dates pages
This patch adds Select2 functionality to the select[multiple] fields on
the patron attributes and batch extend due dates pages.

To test, apply the patch and go to Administration -> Patron attribute
types.

- Create or edit a patron attribute type.
- Test the "Library limitation" field: Selecting a single or multiple
  library and clearing selections.
- Save your changes and confirm that your selections were saved
  correctly.
- Perform the same test on Tools -> Batch extend due dates:
  - Test the patron categories, item types, and libraries fields.

Sponsored-by: Athens County Public Libraries
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Martin Renvoize <martin.renvoize@openfifth.co.uk>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-05-16 14:25:50 +02:00
Caroline Cyr La Rose 54abc78b72
Bug 36256: Port default MEMBERSHIP_EXPIRY notice to Template Toolkit syntax
This patch changes the sample MEMBERSHIP_EXPIRY email notice to Template
Toolkit syntax.

To test:
1. Apply patch and reset_all
2. Go to Tools > Notices and slips
3. Check the MEMBERSHIP_EXPIRY email notice, make sure everything looks good (TT syntax, grammar and spelling OK)
4. Add a value in MembershipExpiryDaysNotice
5. Change a patron's account so that it expires in the number of days in MembershipExpiryDaysNotice
6. Add an email address in the patron's account
7. Run /misc/cronjobs/membership_expiry.pl -c
8. Go to the patron's notices and check that the text of the notice was generated correctly and that the grammar and spelling are OK

Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-05-16 14:25:50 +02:00
Owen Leonard 23a6333322
Bug 39810: Use select2 to select library limitations in credit and debit type administration
This patch updates the credit and debit type administration templates so
that library selection uses a Select2-styled menu instead of a standard
<select>. Both pages offer a "library limitation" option, and Select2
will make library selection behave like item search options do.

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

- Go to Administration -> Credit types edit a credit type.
- On the "Library limitation" line, click the field to trigger the
  Select2 menu. Confirm that it works as expected.
- Save your changes to confirm that the data is saved correctly.
- Edit the credit type again to clear all your selections and confirm
  that it saves correctly.
- Repeat the same process on the debit types page.

Sponsored-by: Athens County Public Libraries
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Martin Renvoize <martin.renvoize@openfifth.co.uk>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-05-16 14:25:49 +02:00
Matt Blenkinsop a3d16177c2
Bug 39915: Restore CSV export of late issues
This patch restores the ability to export late serial claims to CSV

Test plan:
1) Create a new subscription, setting the vendor id as 1
2) Set the subscription start date as yesterday's date, the other
   details aren't relevant so set whatever you want
3) Click into claims
4) If you get a warning saying no claims notice is defined then click
   the link to define one (on the dropdown for the 'New notice' button
   you want 'Claim serial issue. The content of the notice isn't
   relevant here so input anything). Then head back to the claims page.
   If no warning shows, proceed to the next step
5) Choose My Vendor and hit OK
6) You should see a table of claims with the first issue for your new
   serial
7) Click the checkbox next to the row
8) Click the 'Download selected claims' button at the bottom
9) The CSV will download
10) Click into it - it will have the header but the rows will be blank
11) Apply patch
12) Hard refresh the page
13) Click the download button again
14) Check the new file, the rows will be filled out correctly with data

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-05-16 14:25:49 +02:00
Andrew Fuerste Henry fae2d791b9
Bug 39908: Hide diff column in log viewer by default
To test:
1 - go to the log viewer in tools, perform a search
2 - observe the diff column is visible by default
3 - apply patch, reset_all
4 - reload log viewer, repeat search
5 - observe the diff column is now hidden by default
6 - confirm you can toggle diff visibility in the log viewer page
7 - go to column settings and confirm you can toggle diff visibility there

Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-05-16 14:25:48 +02:00
Tomas Cohen Arazi 83f8ba4eee
Bug 39870: Add `notices_content()` plugin hook
This patch adds a hook for adding information to notices context from
plugins.

The method is passed all the `GetPreparedLetter()` paramerters so it
gets all the context for calculating the values to pass the template.

The main target use for this hook is ILL, where we need to identify
candidate ILL requests related to the filled hold for printing the right
ILL-related message.

The implementation is generic so it can be used for any other use case.

To test:
1. Apply the unit tests
2. Run:
   $ ktd --shell
  k$ prove t/db_dependent/Koha/Plugins/Notices_content_hook.t
=> FAIL: The hook is not implemented, the letter doesn't include
plugin-calculated data the tests expect.
3. Apply this patch
4. Repeat 2
=> SUCCESS: Tests pass!
5. Sign off :-D

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Lisette Scheer <lisette@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-05-15 09:20:50 +02:00
Tomas Cohen Arazi 25daad583a
Bug 39870: Unit tests
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Lisette Scheer <lisette@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-05-15 09:20:50 +02:00
Martin Renvoize ad85f9f20e
Bug 39177: Add additional fields to credit types
Test plan, k-t-d:
1) Before defining any additional fields for account_credit_types,
   confirm that the 'Additional fields' section does not appear when
   attempting to add a new or edit an existing credit type.
2) Add a new additional field to 'account_credit_types':
   <staff_url>/cgi-bin/koha/admin/additional-fields.pl?tablename=account_credit_types
3) Click 'New field'. Add a name. Click Save.
4) Repeat step 2 but repeatable. Repeat again for 2 more of AV category
   (one repeatable, one not repeatable)
5) Edit an account credit type:
   <staff_url>/cgi-bin/koha/admin/credit_types.pl?op=add_form&code=MANUAL
6) Input various values in the different additional fields. Click
   'Submit'
7) Edit the same credit type again and note the additional fields added
   in the previous step are visible
   <staff_url>/cgi-bin/koha/admin/credit_types.pl?op=add_form&code=MANUAL

Sponsored-by: PTFS Europe <https://ptfs-europe.com>
Signed-off-by: Hannah Dunne-Howrie <hdunne-howrie@westminster.gov.uk>
Signed-off-by: Brendan Gallagher <brendan@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-05-15 09:20:49 +02:00
Martin Renvoize bfd333133e
Bug 39177: DBIC Add AdditionalFields to AccountCreditType
Sponsored-by: PTFS Europe <https://ptfs-europe.com>
Signed-off-by: Hannah Dunne-Howrie <hdunne-howrie@westminster.gov.uk>
Signed-off-by: Brendan Gallagher <brendan@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-05-15 09:20:49 +02:00
Katrin Fischer 3b069ea914
Bug 38457: DBIC schema update
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-05-15 09:20:48 +02:00
Katrin Fischer 62f280cd5e
Bug 38457: DBRev 24.12.00.045
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-05-15 09:20:48 +02:00
Martin Renvoize dc5e4b415b
Bug 38457: Update record_id to VARCHAR(80)
This is required to allow for long primary keys from the
account_debit_types table.

Signed-off-by: Hannah Dunne-Howrie <hdunne-howrie@westminster.gov.uk>
Signed-off-by: Laura_Escamilla <laura.escamilla@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-05-15 09:20:47 +02:00
Martin Renvoize 9a6ef2e810
Bug 38457: Add additional fields to debit display
This patch adds the previously added additional fields to the display
in the debit types management page table

Sponsored-by: PTFS Europe <https://ptfs-europe.com>
Signed-off-by: Hannah Dunne-Howrie <hdunne-howrie@westminster.gov.uk>
Signed-off-by: Laura_Escamilla <laura.escamilla@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-05-15 09:20:46 +02:00
Martin Renvoize dab1efd1bf
Bug 38457: Add additional fields to debit types
Test plan, k-t-d:
1) Before defining any additional fields for account_debit_types,
   confirm that the 'Additional fields' section does not appear when
   attempting to add a new or edit an existing debit type.
2) Add a new additional field to 'account_debit_types':
   <staff_url>/cgi-bin/koha/admin/additional-fields.pl?tablename=account_debit_types
3) Click 'New field'. Add a name. Click Save.
4) Repeat step 2 but repeatable. Repeat again for 2 more of AV category
   (one repeatable, one not repeatable)
5) Edit an account debit type:
   <staff_url>/cgi-bin/koha/admin/debit_types.pl?op=add_form&code=MANUAL
6) Input various values in the different additional fields. Click
   'Submit'
7) Edit the same debit type again and note the additional fields added
   in the previous step are visible
   <staff_url>/cgi-bin/koha/admin/debit_types.pl?op=add_form&code=MANUAL

Sponsored-by: PTFS Europe <https://ptfs-europe.com>
Signed-off-by: Hannah Dunne-Howrie <hdunne-howrie@westminster.gov.uk>
Signed-off-by: Laura_Escamilla <laura.escamilla@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-05-15 09:20:46 +02:00
Martin Renvoize c32a3108b2
Bug 38457: DBIC Add AdditionalFields to AccountDebitType
Sponsored-by: PTFS Europe <https://ptfs-europe.com>
Signed-off-by: Hannah Dunne-Howrie <hdunne-howrie@westminster.gov.uk>
Signed-off-by: Laura_Escamilla <laura.escamilla@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-05-15 09:20:45 +02:00
Phil Ringnalda 0d6f46ccf8
Bug 25318: (follow-up) Make searchType be defined in merge.tt
With authorities_js.inc doing "var searchType = '[% marclist | html %]';" in
merge.tt where marclist isn't defined we got "var searchType = '';". This
patch just adds 'const searchType = ""' directly to merge.tt to avoid a
JavaScript console error.

Test plan:
1. Open the devtools console
2. Do an authority search that returns at least two authorities
3. Select one, then another for merge
4. When the merge.pl page loads, observe an "Uncaught ReferenceError" in
   the console
5. Apply followup, repeat steps 1-3, without an "Uncaught ReferenceError"

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Martin Renvoize <martin.renvoize@openfifth.co.uk>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-05-15 09:20:45 +02:00
Owen Leonard 51ddfb55aa
Bug 25318: Convert authorities_js.inc to JavaScript file
This patch creates a new JavaScript file, authorities.js, and includes
it on pages which previously used authorities_js.inc. Some minor changes
to the JavaScript have been made in order to pass JS variables instead
of template variables.

To test, apply the patch and go to Authorities.

- Perform a search for authorities and test various features on the
  search result page::
  - New from Z39.50/SRU
  - Actions -> Merge
  - Actions -> Delete
  - Action -> MARC preview
- View the detail page for an authority record and test:
  - New from Z39.50/SRU
  - Edit -> Replace record via Z39.50/SRU
  - Edit -> Delete record
- Go to Cataloging and create a new record.
  - Go to tab 1 and click the plugin trigger link on 100a.
  - Confirm that the authority search popup appears and works to add a
    selected author.

Sponsored-by: Athens County Public Libraries
Signed-off-by: Phil Ringnalda <phil@chetcolibrary.org>
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Martin Renvoize <martin.renvoize@openfifth.co.uk>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-05-15 09:20:44 +02:00
Andrew Fuerste Henry 8dff277243
Bug 39628: Show diff in log viewer and column settings
To test:
1 - apply patch
2 - search the log viewer for item edits or something else that records a diff value
3 - see that diff in the new column
4 - confirm the diff value is present in exports and prints
5 - confirm you can use column config to hide that diff value

Signed-off-by: Roman Dolny <roman.dolny@jezuici.pl>
Signed-off-by: Emily Lamancusa <emily.lamancusa@montgomerycountymd.gov>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-05-15 09:20:44 +02:00
Katrin Fischer 4fbc87c053
Bug 20747: DBRev 24.12.00.044
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-05-15 08:34:21 +02:00
Matt Blenkinsop bece25f1c2
Bug 20747: (QA follow-up) Fix sysprefs.sql
The SQL file doesn't load properly due to a missing comma - this patch fixes that

Signed-off-by: Matt Blenkinsop <matt.blenkinsop@openfifth.co.uk>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-05-15 08:34:20 +02:00
Lisette Scheer df6af909b6
Bug 20747: (follow-up) Fix hold queue to work with LocalHoldPriority Group options
This fixes the holds queue and associated tests.
I also updated the sql file to fix an issue and the LocalHoldsPriority tests to fix a typo.

I'm working on final unit tests for the holds queue for all the options for QA but I wanted to get the queue changes ready for sign-off.

UPDATED TEST PLAN

This patch adds new options to the LocalHoldsPriority system preference to allow for the following options:
'None'                 the equivalent to 'Don't' pre-patch
'GiveLibrary'          the equivalent to 'Do' pre-patch
'GiveLibraryAndGroup'  Allows for checking the library first, then hold groups
'GiveGroup'            Allows to prioritize within a group without prioritizing any library first.

The included patches will update the preference in existing installations to maintain current behavior.

To Test:
BEFORE APPLYING THE PATCH

/Tip/
I kept the following tabs open:
-The holds screen (for suspending, checking order, etc)
-Check in screen (can ignore holds to keep them all in place)
-Holds to Pull with "All" for Libraries
-System Preferences

/Setup Groups and confirm current behavior/
1. Set the following system preferences:
-" LocalHoldsPriority " system preference to "Give"
-"LocalHoldsPriorityPatronControl" to "home library"
-"LocalHoldsPriorityItemControl" to "home library"
-"RealTimeHoldsQueue" to "Enable"

2. Create 2 Library Groups
  - Set them to be hold groups
  - I called mine group 1 & group 2
3. Add 2 libraries each to each group.
  - Group 1
    - Centerville
    - Fairfield
  - Group 2
    - Fairview
    - Franklin
4. Find a patron for each branch in the groups
  - Centerville - Changed 23529000035676 (Henry)
  - Fairfield - Changed 23529000050113 (Jordan)
  - Fairview - Changed 23529001000463 (Edna)
  - Franklin - 	23529000121682 (Nicole)
5. Find a record with at least 2 items
6. If needed change the home and holding libraries so you have at least one item for each hold group
  - Centerville - 39999000000252
  - Fairview - Changed 39999000000238
7. Place 2 record level holds for the record.
  - One for 23529000035676 (Henry) for pickup at Centerville (Priority 1)
  - One for 23529001000463 (Edna) for pickup at Fairview (Priority 2)
8. Check in 39999000000238. The hold popup should be for the second hold (Henry), not the first (Edna.) Ignore the hold
9. Edit the record then save to trigger real time queue update
10. On the Holds Queue (submit after each set of changes):
- Centerville should be for Henry
- Fairview should be for Edna

/apply patch and confirm behavior still works/
10. Apply patch
11. Rebuild the database then restart_all (in sandboxes it's an action, in ktd " dbic && updatedatabase && restart_all ")
12. Confirm that " LocalHoldsPriority " is set to "Give Library"
13. Repeat steps 8-10, behavior should be the same.

/ check library then library group setting/
14. Change " LocalHoldsPriority " to "Give library then library group"
15. Set the following record level holds for the record in the following order:
*You can add Jordan and Nicole's, then rearrange the order.
    - Pickup at Fairfield -  23529000050113 (Jordan)
    - Pickup at Franklin - 	23529000121682 (Nicole)
    - Pickup at Centerville - 23529000035676 (Henry)
    - Pickup at Fairview -  23529001000463 (Edna)
17. Check in 39999000000252 - should try and fill to Centerville - 23529000035676 (Henry)
17. Check in 39999000000238 - should try and fill to Fairview -  23529001000463 (Edna)
18. On the Hold Queue:
- Centerville should be for Henry
- Fairview should be for Edna
19. Suspend the hold for 23529001000463 (Edna)
20. Check in 39999000000238 should try and fill to 23529000121682 (Nicole) (ignore the hold)
21. On the Holds Queue:
- Centerville should be for Henry
- Fairview should be for Nicole

/ check library group setting /
22. Reset the holds to match step 15.
23. Change " LocalHoldsPriority " to "Give group"
24. Check in 39999000000252 - should try and fill to Fairfield (Jordan) (ignore the hold)
25. Check in 39999000000238 - should try and fill to Franklin (Nicole) (ignore the hold)
26. On the Holds Queue:
- Centerville should be for Jordan
- Fairview should be for Nicole

/check no priority /
27. Change " LocalHoldsPriority " to "Don't give"
28. Reset the holds to match step 15.
29. Check in 39999000000238 - Should fill to Fairfield (Jordan) (ignore the hold)
30. Check in 39999000000252 - Should fill to Fairfield hold (Jordan) (ignore the hold)
31. On the Holds Queue:
- Centerville should be for Jordan
- Fairview should be for Nicole

/Also check/
Item level holds behave as expected
Different combinations of LocalHoldsPriorityItemControl and LocalHoldsPriorityPatronControl

Sponsored by: Cape Libraries Automated Materials Sharing
Sponsored by: Northeast Kansas Library System (NEKLS)

Signed-off-by: Brendan Lawlor <blawlor@clamsnet.org>
Signed-off-by: Matt Blenkinsop <matt.blenkinsop@openfifth.co.uk>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-05-15 08:34:20 +02:00
Lisette Scheer a79e6cd731
Bug 20747: (follow-up) fix atomic update
This update moves the atomic update to the correct place, updates permissions, and fixes an error in the original patch.

Signed-off-by: Jason Robb <jrobb@sekls.org>
Signed-off-by: Brendan Lawlor <blawlor@clamsnet.org>
Signed-off-by: Matt Blenkinsop <matt.blenkinsop@openfifth.co.uk>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-05-15 08:34:19 +02:00
Lisette Scheer ea67f54de1
Bug 20747: DB Rev
This patch adds a DB rev to update the system preference in existing installations.

 # Please enter the commit message for your changes. Lines starting

Signed-off-by: Jason Robb <jrobb@sekls.org>
Signed-off-by: Brendan Lawlor <blawlor@clamsnet.org>
Signed-off-by: Matt Blenkinsop <matt.blenkinsop@openfifth.co.uk>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-05-15 08:34:19 +02:00
Lisette Scheer e061d0a718
Bug 20747: Allow LocalHoldsPriority to fill by hierarchical groups system rather than individual library
This patch adds new options to the LocalHoldsPriority system preference to allow for the following options:
'None'                 the equivalent to 'Don't' pre-patch
'GiveLibrary'          the equivalent to 'Do' pre-patch
'GiveLibraryAndGroup'  Allows for checking the library first, then hold groups
'GiveGroup'            Allows to prioritize within a group without prioritizing any library first.

The included patches will update the preference in existing installations to maintain current behavior.

To Test:
BEFORE APPLYING THE PATCH
/Setup Groups and confirm current behavior/
1. Set the " LocalHoldsPriority " system preference to "Give", "LocalHoldsPriorityPatronControl" to "home library" and "LocalHoldsPriorityItemControl" to "home library"
2. Create 2 Library hold Groups
  - I called mine group 1 & group 2
3. Add 2 libraries each to each group.
  - Group 1
    - Centerville
    - Fairfield
  - Group 2
    - Fairview
    - Franklin
4. Find a patron for each branch in the groups
  - Centerville - 23529000035676 (Henry)
  - Fairfield - Changed 23529000050113
  - Fairview - Changed 23529001000463 (Edna)
  - Franklin - 	23529000121682
5. Find a record with at least 2 items
6. If needed change the home and holding libraries so you have at least one item for each hold group
  - Centerville - 39999000000252
  - Fairview - Changed 39999000000238
7. Place 2 record level holds for the record.
  - One for 23529000035676 for pickup at Centerville (Priority 1)
  - One for 23529001000463 for pickup at fairview (Priority 2)
8. Check in 39999000000238. The hold popup should be for the second hold, not the first.

/apply patch and confirm behavior still works/
9. Apply patch
10. Rebuild the database then restart_all (in sandboxes it's an action, in ktd " dbic && updatedatabase && restart_all ")
11. Confirm that " LocalHoldsPriority " is set to "Give Library"
12. Repeat steps 7-8, behavior should be the same.

/ check library then library group setting/
13. Change " LocalHoldsPriority " to "Give library then library group"
14. Set the following record level holds for the record:
    - Pickup at Fairfield -  23529000050113
    - Pickup at Franklin - 	23529000121682
    - Pickup at Centerville - 23529000035676 (Henry)
    - Pickup at Fairview -  23529001000463 (Edna)
15. Check in 39999000000252 - should try and fill to Centerville - 23529000035676 (Henry)
16. Check in 39999000000238 - should try and fill to Fairview -  23529001000463 (Edna)
17. Cancel the hold for 23529001000463
18. Check in 39999000000238 should try and fill to 23529000121682

/ check library group setting /
19. Reset the holds to match step 14.
20. Check in 39999000000252 - should try and fill to Fairfield
21. Check in 39999000000238 - should try and fill to Franklin

/check no priority /
22. Reset the holds to match step 14.
23. Check in 39999000000238 - Should fill the Fairfield hold
24. Check in 39999000000252 - Should fill the Franklin hold

/Also check/
Item level holds behave as expected
Different combinations of LocalHoldsPriorityItemControl and LocalHoldsPriorityPatronControl

Sponsored by: Cape Libraries Automated Materials Sharing
Sponsored by: Northeast Kansas Library System (NEKLS)

Signed-off-by: Jason Robb <jrobb@sekls.org>
Signed-off-by: Brendan Lawlor <blawlor@clamsnet.org>
Signed-off-by: Matt Blenkinsop <matt.blenkinsop@openfifth.co.uk>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-05-15 08:34:18 +02:00
Michael Skarupianski 4adc1a065f
Bug 39528: Remove schema.org "Product" type from OPAC record pages
OPAC record detail pages include https://schema.org microdata information
in the HTML page markup, such as CreativeWork.

It incorrectly includes the "Product" type - this is not needed
and is also rejected by some search engines, for example
... vocab="http://schema.org/" typeof="CreativeWork Product" ...

(Koha maps schema.org to the RDFa Lite syntax https://www.w3.org/TR/rdfa-lite/)

Test plan:
1. Look at HTML source of a details page for a record in the OPAC.
2. Search for schema.org
3. Note that it there are two typeof entries:
   .. vocab="http://schema.org/" typeof="CreativeWork Product" ...
4. Apply the patch.
5. Refresh the page and look at the HTML source again.
6. Note that the "Product" schema.org type is removed:
   .. vocab="http://schema.org/" typeof="CreativeWork" ...
7. Sign off.

Sponsored-by: Karlsruhe Institute of Technology (KIT)
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-05-15 08:34:17 +02:00
Fridolin Somers 269ad710b2
Bug 39733: Remove system preference delimiter mention in misc/cronjobs/staticfines.pl
Bug 27486 renamed system preference "delimiter" into "CSVDelimiter"

This patch just replaces the commented code with a TODO text

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Martin Renvoize <martin.renvoize@openfifth.co.uk>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-05-15 08:34:17 +02:00
Katrin Fischer 807ba16eb1
Bug 39508: Add newly supported source codes to system preference description
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-05-15 08:34:16 +02:00
Janusz Kaczmarek 658d2fe0d8
Bug 39508: With OPACAuthorIdentifiersAndInformation, make ISNI and Wikidata identifiers be displayed correctly
At the current, when OPACAuthorIdentifiersAndInformation is on, ISNI
and Wikidata entries in authority 024 field generate empty bullets.

Test plan:
==========
1. Turn OPACAuthorIdentifiersAndInformation on for Identifiers.
2. Edit an authority record adding 024 field(s) for wikidata / ISNI,
   e.g.:
   024 7_ $a 0000000120967858 $1 https://isni.org/isni/0000000120967858 $2 isni
   024 7_ $a Q859 $1 http://www.wikidata.org/entity/Q859 $2 wikidata
3. Go to a linked bibliograohic record in OPAC and see the 'Author
   information' tab. There should be empty bullets under author's
   name.
4. Apply the patch ; restart_all
5. Repeat p. 3. The bullets should be followed by a description and
   link.

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-05-15 08:34:16 +02:00
Pedro Amorim 891613f515
Bug 39774: Add id to wrapper
This makes it so that the established styling (seen from request details
page on OPAC, authenticated) is also applied here.

To test, before applying patch:
1) Enabled ILLModule and ILLOpacUnauthenticatedRequest
2) Create an unauth OPAC request: logout and visit:
http://localhost:8080/cgi-bin/koha/opac-illrequests.pl?backend=Standard&op=add_form
3) Enter the required fields, select type = 'Chapter', add some metadata info such as 'Place of publication', 'Publisher' and others.
4) Notice how the 'Request details' table is rendered, 'Place of
   publication' and 'Publisher' and misaligned. Apply patch. Refresh.

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-05-15 08:34:15 +02:00
Alexander Blanchard 812a8cd23a
Bug 39547: Required Fields Not Conveyed
An accessibility audit highlighted that the Personal Details form uses required in red
text to indicate when a field is required but this is not also conveyed programmatically
for users with screen readers.
To test:
1) On Koha's staff site, naviagte to Administration
2) Add surname to PatronSelfModificationMandatoryField
3) On the oPac, navigate to Home > Koha > Your Personal Details
4) Notice that under surname there is red text that reads 'required'
5) Right click and inspect the Surname input
6) Notice that the input field does not have a required attribute
7) Apply the patch
8) Repeat the steps above
9) Notice that on inspect, the required attribute is now present
10) Navigate back to the staff site and to Administration
11) Remove Surname from PatronSelfModificationMandatoryField
12) Navigate back to the oPac Home > Koha > Your Personal Details and refresh
13) Inspect the Surname element and notice that the required attribute is gone
14) The same behaviour should be present for all form elements

Signed-off-by: Brendan Gallagher <brendan@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@openfifth.co.uk>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-05-15 08:34:15 +02:00
Martin Renvoize 29e56b51ee
Bug 39492: (QA follow-up) Update wording with suggested text
This patch updates the wording for the aria-label to that suggested by
David. It clarifies context.

Signed-off-by: Martin Renvoize <martin.renvoize@openfifth.co.uk>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-05-15 08:34:14 +02:00
Alexander Blanchard 8570d716ad
Bug 39492: (follow-up) Add missing HTML filters
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Martin Renvoize <martin.renvoize@openfifth.co.uk>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-05-15 08:34:14 +02:00
Alexander Blanchard ef8b901431
Bug 39492: Accessibility - add aria label to the OPAC browse shelf link
An accessibility audit highlighted that the browse shelf link on a
record's holding page does not provide enough context for visually
impaired users. The suggested solution was to add aria labels to provide
context.

Test plan:
1. Ensure that you have at least one item with a call number.
2. Navigate to the records's page and scroll down to the holdings table.
3. Right click and choose inspect on the 'Browse shelf' link and note
   that there is not an aria label.
4. Apply the patch.
5. Refresh the page and repeat step 3.
6. Note that there is now an aria label that adds context to the browse shelf
   link - it now includes the title of the record, for example:
   ...aria-label="Browse Shelf for Programming Perl /"...

Signed-off-by: Laura_Escamilla <laura.escamilla@bywatersolutions.com>
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Martin Renvoize <martin.renvoize@openfifth.co.uk>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-05-15 08:34:13 +02:00
Lucas Gass b7c32d4fae
Bug 37334: Add search tests
Bug 37334: Adjust number of tests in Items.t

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-05-15 08:34:13 +02:00
Lucas Gass c7f5a5b729
Bug 37334: Add filter_by_available tests
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-05-15 08:34:12 +02:00
Lucas Gass 26d933e60b
Bug 37334: Add filter_by_recall test
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-05-15 08:34:12 +02:00
Lucas Gass fcb2c83ea0
Bug 37334: filter_by_in_bundle tests
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-05-15 08:34:11 +02:00
Lucas Gass fd6a61a280
Bug 37334: Add ability to filter by in_bundle
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-05-15 08:34:10 +02:00
Lucas Gass 3834ff48ab
Bug 37334: Fix filter_by_has_recalls
Signed-off-by: Emmi Takkinen <emmi.takkinen@koha-suomi.fi>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-05-15 08:34:10 +02:00