commit 594027d963928cda9b435ef24c1632d39ff37041 Author: Matt Blenkinsop Date: Fri Oct 18 14:49:51 2024 +0000 Bug 38207: Update UI to use new field Signed-off-by: David Nind commit e477401ed48cf0d333a51bc7775ac1a5b3aa3a3e Author: Matt Blenkinsop Date: Fri Oct 18 14:49:14 2024 +0000 Bug 38207: DBIC file Signed-off-by: David Nind commit 6b46434f4f2ff99efac30cf6592f11c6165ce88b Author: Matt Blenkinsop Date: Fri Oct 18 14:48:34 2024 +0000 Bug 38207: Add a new payment_method column to aqbooksellers (cherry picked from commit 881f96172a8c1b35d3e74f7f0f6aa44629578021) Signed-off-by: David Nind commit f245ad1605b1ce6bb12793f5790352953259b4ad Author: Tomás Cohen Arazi Date: Mon Jun 9 19:42:06 2025 -0300 Bug 39657: Add more checks and overrides to hold creation endpoint This patch adds new behaviors to the `POST /holds` endpoint. It uses the framework we created in the past for overriding policy rules, and add new options: * expired * debt_limit * bad_address * card_lost * restricted * hold_limit Some status codes are changed from 403 to 409. This should be revisited accross the codebase, as I think we made a wrong choice. Happy to review in this bug. The feature makes use of the newly introduced `$patron->can_place_holds()` method, which accepts to be passed through the overrides. To test: 1. Apply this patches 2. Run: $ ktd --shell k$ yarn api:bundle k$ koha-plack --restart kohadev k$ prove t/db_dependent/api/v1/holds.t => SUCCESS: Tests pass! 3. Test the endpoint with the various scenarios using your favourite REST tool (Postman!) 4. Sign off :-D Signed-off-by: Kristi Krueger Signed-off-by: Martin Renvoize Signed-off-by: Lucas Gass commit 3c1df8b26b7b32cc81e51f48a1cce20975a94ff4 Author: Tomás Cohen Arazi Date: Mon Jun 9 19:41:40 2025 -0300 Bug 39657: Spec changes Signed-off-by: Kristi Krueger Signed-off-by: Martin Renvoize Signed-off-by: Lucas Gass commit c9ee9e9810a6d790370e60b4e2adb68cb2fb3aff Author: Tomás Cohen Arazi Date: Mon Jun 9 19:41:20 2025 -0300 Bug 39657: Unit tests Signed-off-by: Kristi Krueger Signed-off-by: Martin Renvoize Signed-off-by: Lucas Gass commit 9516fe517c3e27c8779c803a2018ebb2e003d74a Author: PhilipOrr Date: Tue Apr 1 09:59:39 2025 +0000 Bug 39498: Correct patron restrictions displays This patch updates the way patron restrictions are displayed in the OPAC and staff interface, with the intention of making the details of each restriction more clear. In the OPAC, a new include file is created to be reused on the holds page and the user summary page. opac-user.pl is updated to allow a parameter to be passed to automatically open the "Overdues" tab. Test plan: 1. Before applying the patch, check how the display is currently. First set syspref PatronRestrictionTypes to "Allow" 2. Add two different new restriction types, fill out both "Code" and "Label" 3. Go to a patron's checkout page and add one of each of these restrictions, but do not fill out the comment field when adding them! 4. Observe that in the checkouts page and details page of the patron, it just says "Restricted since..." and does not show the restriction types. 5. Add another restriction, this time fill out the comment field 6. Observe that now in checkout and detail pages, the labels from the restriction types are listed and the comment shown. 7. Apply patch 8. Go to patron's details and checkout pages and check the restrictions are now displayed correctly, that is the text "with the explanation" is only shown for the restrictions that actually have a comment 8b. Log in to the OPAC with that patron and check they are displayed correctly in their summary page and when the patron is trying to place a hold. 9. Go to a different patron's account and add a restriction without a comment 10. Check it is now displayed correctly 11. Add more restrictions and check they are displayed correctly. Also add an OVERDUES restriction: 11a. Find a patron with an overdue item checked out (or create an overdue checkout on a patron's account) 11b. Go to Tools -> Overdue notice/status triggers 11c. Set up a rule for that patron's category, e.g. "First" -> Delay: 1, make sure to mark the check box for "Restrict" and "Print" 11d. Run misc/cronjobs/overdue_notices.pl 11e. That patron should now also have an OVERDUES restriction 12. Turn PatronRestrictionTypes off again and check the patrons if everything is still displayed correctly 13. Go to another different patron and add a restriction with no comment, check if it is displayed correctly 14. Add another restriction with a comment and check it is displayed correctly 15. Log in to the OPAC with the patron that had OVERDUES restriction and check they are displayed correctly in their summary page and when the patron is trying to place a hold. 16. Same thing for the other patron without the OVERDUES restriction. Signed-off-by: David Nind Signed-off-by: Martin Renvoize Signed-off-by: Lucas Gass commit 5e5d53fea294d9a3c5c7b2e7c80ea963c4c9f410 Author: Matt Blenkinsop Date: Wed May 21 09:22:19 2025 +0100 Bug 39951: Fix column filter offsets Test plan: 1) Enable ERM module 2) Create an agreement and a license with a vendor 3) The table filters will be out of sync - Agreements - only the vendor filter is incorrect, it sits above the name column instead of the vendor column - Licenses - all dropdown filter options will be left shifted by one 4) Apply patch 5) yarn js:build 6) Hard refresh the browser 7) All the filters should now be above the correct columns Signed-off-by: Roman Dolny Signed-off-by: Jonathan Druart Signed-off-by: Lucas Gass commit 33032f99a8d47670faa28b229174024b5a6a0a31 Author: Tomás Cohen Arazi Date: Mon Jun 9 15:15:03 2025 -0300 Bug 40101: Make opac-reserve.pl use `$patron->can_place_holds()` Signed-off-by: Tomas Cohen Arazi Signed-off-by: Kristi Krueger Signed-off-by: Martin Renvoize Signed-off-by: Lucas Gass commit 61c59ac1b1fc74f6e34c21f906997f00f2533787 Author: Tomás Cohen Arazi Date: Mon Jun 9 13:46:12 2025 -0300 Bug 40101: Add `Koha::Patron->can_place_holds()` This patch adds a new method to the `Koha::Patron` class. As described in the POD, this method makes checks on the patron's current situation and returns a boolean telling if it should be allowed to place holds. This doesn't check specific item/biblio holdability. It only covers patron specific conditions that could prevent holds to be placed. Both in `opac-reserve.pl` and `reserve/request.pl` this checks are all run, and all blocking situations are presented to the UI user. Feedback in community (so far) expressed this is a desirable situation, so that behavior can be retained with the use of the `no_short_circuit` parameter. If `no_short_circuit` is not passed, then the routine will return on the first blocking condition it finds. An `overrides` parameter is added, allowing to be passed a list of strings that match the possible error messages. This way, this method can be asked not to check for patron expiration, for example, and things like that. This is of course designed with the API overrides use case in mind. To test: 1. Apply this patches 2. Run: $ ktd --shell k$ prove t/db_dependent/Koha/Patron.t => SUCCESS: Tests pass! 3. Sign off :-D Signed-off-by: Tomas Cohen Arazi Signed-off-by: Kristi Krueger Signed-off-by: Martin Renvoize Signed-off-by: Lucas Gass commit 54f41e0e617977c9e7c296295bbe82e09ef02cda Author: Tomás Cohen Arazi Date: Mon Jun 9 13:44:09 2025 -0300 Bug 40101: Unit tests Signed-off-by: Tomas Cohen Arazi Signed-off-by: Kristi Krueger Signed-off-by: Martin Renvoize Signed-off-by: Lucas Gass commit da3fb17670dc3ca560552bfef62f3541a385e22d Author: Paul Derscheid Date: Wed Jun 25 16:40:59 2025 +0000 Bug 40022: (QA follow-up) Tidy about-team.inc, about.tt Signed-off-by: Lucas Gass commit d66e792215dc5463dcb1019fa7b9135e3986fde8 Author: Martin Renvoize Date: Wed Jun 25 15:31:35 2025 +0100 Bug 40022: Sync teams in Koha, Wiki and release-tools Signed-off-by: Paul Derscheid Signed-off-by: Lucas Gass commit f271368712df7ef45d9ed839180d76596e5b8643 Author: Martin Renvoize Date: Tue Jun 24 17:42:46 2025 +0100 Bug 40022: Condense display by hiding versions under ellipses This patch improves the contributor section display in the about page by implementing a condensed view for version lists. When a contributor has more than 2 versions for a role, only the first 2 are shown with an ellipsis (...) that can be hovered to reveal the remaining versions. The implementation: - Sorts versions in reverse chronological order (most recent first) - Shows first 2 versions directly - Hides additional versions under a hoverable ellipsis using Bootstrap tooltips - Adds CSS styling for the ellipsis with dotted underline and help cursor This makes the contributor lists more readable while preserving access to complete version information. Signed-off-by: Paul Derscheid Signed-off-by: Lucas Gass commit 1159aecb11cbba14b2b43ee57da1bcabc968e68a Author: Martin Renvoize Date: Tue Jun 24 17:19:18 2025 +0100 Bug 40022: Add missing roles to the include This patch adds missing role mappings to the about-team.inc template to ensure all roles defined in teams.yaml are properly displayed. Added role mappings include: - manager_assistants (plural form) - maintainer_assistants (plural form) - maintainer_mentors (plural form) - accessibility_advocates (plural form) - security_manager - meeting_facilitator - social_media - website Also adds display logic for historical roles that may not be present in current teams but appear in contributor lists from teams.yaml. This ensures complete coverage of all team roles across historical and current release teams. Signed-off-by: Paul Derscheid Signed-off-by: Lucas Gass commit 780eb529c198007db401efb3a8a1fc26dc298b08 Author: Martin Renvoize Date: Tue Jun 24 16:50:48 2025 +0100 Bug 40022: Add the 25.11 release team This patch updates the teams.yaml to include the voted in 25.11 release team. Test plan 1/ Check against https://wiki.koha-community.org/wiki/Release_Teams Signed-off-by: Paul Derscheid Signed-off-by: Lucas Gass commit 3664281d37a32b32ce0bb74b56c8a426f103ba1d Author: Nick Clemens Date: Thu May 15 18:27:07 2025 +0000 Bug 39912: Update RealTimeHoldsQueue when hold pickup location is updated When a hold's pickup location is changed we should rebuild the holds queue. To test: 1 - Enable RealTimeHoldsQueue 2 - Enable LocalHoldsPriority where pickup library matches home library 3 - Place two biblio level holds on a bib with one item for two different patrons for delivery to a different library then the home library 4 - Check the queue - firstpatron should have priority 5 - Change the pickup location for the second hold to be picked up at the home library 6 - Check the queue, unchanged 7 - Change the pickup location back 8 - Apply patch, restart all 9 - Change the pickup location to the items home library again 10 - Check the queue 11 - Second patron has now been given priority Signed-off-by: Michelle Spinney Signed-off-by: Martin Renvoize Signed-off-by: Lucas Gass commit 0ed2b7cfa88c591388c8cc61d2a954e986643468 Author: Marcel de Rooy Date: Wed Jun 25 15:47:45 2025 +0200 Bug 40242: Remove double operator in Quotes.pm Test plan: Read patch. Run t/db_dependent/Koha/Quotes.t Signed-off-by: Marcel de Rooy Signed-off-by: Lucas Gass commit 5493e212f6cdafe1533fda61351ff9606a3d13fc Author: Marcel de Rooy Date: Fri May 23 11:15:49 2025 +0200 Bug 39206: Modify koha-conf templates Test plan: Just read the patch. Signed-off-by: Marcel de Rooy Signed-off-by: Paul Derscheid Signed-off-by: Martin Renvoize Signed-off-by: Lucas Gass commit 221126f3dd605c367223c817f14f7f3281de408a Author: Marcel de Rooy Date: Thu May 22 13:44:52 2025 +0200 Bug 39206: Add an allowlist to Koha::CookieManager This patch adds a bit more control to what CookieManager does by adding a hardcoded allowlist of cookie names that are cleared at logout. Allowing at the same time to add entries to that list by using koha-conf lines or removing entries from the hardcoded list by using lines. The patch fixes the expiration of cookies that should be removed by passing max-age 0. Also it adds a theoretical path correction for always_show_holds but since we do not clear that cookie, it is currently unused. This seems to be the only Koha cookie where we use a longer path. Test plan: Run t/CookieManager.t Go to OPAC, login, select a few OPAC search results and send them to cart. This would create cookie bib_list. (Check dev tools.) Logout from OPAC and check cookie in your browser dev tools. What you see, depends on the browser. But the cookie should be either gone or empty and expired (FF: Session). Now add a line for bib_list in koha-conf. Restart all. Repeat search, add to cart. Logout. Check again in dev tools that bib_list is not empty, not expired. Check out an item. And click on 'Always show checkouts...' on the patron checkout form. This should create the cookie with value DO. Logout from intranet. Check that cookie was not affected. Now add a line for the following cookie: issues-table-load-immediately-circulation. Restart all. Login and logout from staff again. Check that cookie is empty and expired, or just gone. Bonus for devs: Create some custom cookie, and test keeping or removing it similar as above. Signed-off-by: Marcel de Rooy Signed-off-by: Paul Derscheid Signed-off-by: Martin Renvoize Signed-off-by: Lucas Gass commit a50409ebfab9ffbebd59a7ffd0785297632481e2 Author: David Nind Date: Wed Jun 4 23:51:35 2025 +0000 Bug 39939: (follow-up) Fix terminology - syspref to system preference Spell system preference in full, instead of syspref. Signed-off-by: David Nind Signed-off-by: Emily Lamancusa Signed-off-by: Lucas Gass commit 0a18a15f2ce564db98141e6aad6bf7a629c8ffee Author: Owen Leonard Date: Tue May 27 15:21:47 2025 +0000 Bug 39939: Cancel selected holds button on waitingreserves.pl is the same color as the background This patch makes some minor changes to the "Holds awaiting pickup" page so that the cancel buttons are clear and usable. The patch also wraps the reference to the TransferWhenCancelAllWaitingHolds system preference in a permission check so that it can be linked to the preference when appropriate. To test you should have some waiting holds in three categories: 1. Holds which have not been waiting longer than the number of days specified in the ReservesMaxPickUpDelay system preference. 2. Holds which have been waiting longer. I belive the only way to test this is to manually update the expiration date of an already waiting hold so that it is in the past. 3. Waiting holds which a patron has requested be cancelled. (Requires that the patron and hold are allowed according to the "Cancellation allowed" setting under Administration -> Circulation and fine rules -> Default waiting hold cancellation policy. - Log in to the OPAC as a patron who has a waiting hold. On the "Your summary" page, under the "Holds" tab, click the "Request to cancel" button for at least one of the waiting holds. - In the staff interface, go to Circulation -> Holds awaiting pickup. - Under each tab, check the appearance of the "Cancel selected" buttons (and the "Cancel and transfer all" button under "Holds awaiting past..." tab). - When testing as a user with system preference privileges, and the TransferWhenCancelAllWaitingHolds preference set to "Don't transfer," the hint shown under the "Holds awaiting past..." tab should be linked to system preferences. A user without system preference privileges should not see a link. Sponsored-by: Athens County Public Libraries Signed-off-by: David Nind Signed-off-by: Emily Lamancusa Signed-off-by: Lucas Gass commit 0cc6dd250f35c6e5f17595ba4c8e3f16b02cafa8 Author: Lucas Gass Date: Tue Jun 24 22:09:35 2025 +0000 Bug 23010: DBRev 25.06.00.001 Signed-off-by: Lucas Gass commit 9fefdd5674fca78c66750fdb997c79fdfef03571 Author: Lucas Gass Date: Mon May 19 14:34:51 2025 +0000 Bug 23010: Adjust tests Signed-off-by: Lucas Gass commit 3096833130de225d35ae0ef3915267d6d984c920 Author: Emily Lamancusa Date: Fri May 9 13:43:53 2025 -0400 Bug 23010: (QA follow-up) a few trivial fixes - Update the dbrev to use say_success, and make dbrev and installer consistent - Change error div in moredetail.tt from info to warning Signed-off-by: Emily Lamancusa Signed-off-by: Lucas Gass commit 7a299a8114001620ac8cfc20d4644378e8c1cd3f Author: Lucas Gass Date: Fri May 9 16:56:34 2025 +0000 Bug 23010: More unit tests Signed-off-by: Emily Lamancusa Signed-off-by: Lucas Gass commit f14ab6ba9d27b2822b8584000dd218ca41860691 Author: Lucas Gass Date: Thu May 8 22:35:30 2025 +0000 Bug 23010: Clean up try/catch in additem.pl Signed-off-by: Emily Lamancusa Signed-off-by: Lucas Gass commit 3656abadad660e373bafb078541dd6263aa82aca Author: Lucas Gass Date: Thu May 8 22:28:43 2025 +0000 Bug 23010: Remove JS added by mistake Signed-off-by: Emily Lamancusa Signed-off-by: Lucas Gass commit 7bc9a02bd21d44bc7b69d513412941460dd57318 Author: Lucas Gass Date: Thu May 8 22:23:07 2025 +0000 Bug 23010: Add tests for AutomaticItemModificationByAge Signed-off-by: Emily Lamancusa Signed-off-by: Lucas Gass commit 316f8bc4b85e8e361cdbe3e340222f751685635d Author: Lucas Gass Date: Thu May 8 21:28:23 2025 +0000 Bug 23010: Handle error in C4/Items.pm using try/catch Signed-off-by: Emily Lamancusa Signed-off-by: Lucas Gass commit ccf4bc0626a3379f35a05febf813f2bb93fb9f57 Author: Lucas Gass Date: Wed Apr 23 22:40:09 2025 +0000 Bug 23010: Report on count of items not modified via batchMod Signed-off-by: Emily Lamancusa Signed-off-by: Lucas Gass commit c4acafe29b75ffbd7b874153164ad4cc114c2095 Author: Lucas Gass Date: Tue Apr 22 22:24:23 2025 +0000 Bug 23010: Update pref name to PreventWithdrawingItemsStatus Signed-off-by: Emily Lamancusa Signed-off-by: Lucas Gass commit e5da98c35385ef94bf7371480ee1e8c82ff5ad20 Author: Lucas Gass Date: Thu Feb 27 20:09:43 2025 +0000 Bug 23010: Fix file permission of atomicupdate Signed-off-by: Emily Lamancusa Signed-off-by: Lucas Gass commit b035515d1a9cecf87db2b1c144817fcb13459e88 Author: Lucas Gass Date: Fri Jan 31 21:15:44 2025 +0000 Bug 23010: Add unit tests Signed-off-by: Roman Dolny Signed-off-by: Emily Lamancusa Signed-off-by: Lucas Gass commit 73505a73ec9d459e997f771d8f7a3989530f8685 Author: Lucas Gass Date: Fri Jan 31 19:02:04 2025 +0000 Bug 23010: Handle error in updateitem.pl and template Signed-off-by: Roman Dolny Signed-off-by: Emily Lamancusa Signed-off-by: Lucas Gass commit b74dbf3d59d2fec7d1d4dd8d6e3fc1b5db26122f Author: Lucas Gass Date: Tue Jan 28 23:04:19 2025 +0000 Bug 23010: Add ability to block withdrawning of items with certain statuses Signed-off-by: Roman Dolny Signed-off-by: Emily Lamancusa Signed-off-by: Lucas Gass commit 4e920be91fe3b415191c0e9be9a0050096cd9988 Author: Lucas Gass Date: Wed Jan 8 15:11:55 2025 +0000 Bug 23010: Add system preference PreventWithdrawingItemsStatus To test: 1. APPLY PATCH, updatedatabase, and restart_all 2. Search for the system preference, PreventWithDrawingItemsStatus 3. Select both in transit and checked out, then save 4. Find an item and put it in transit. 5. Now from the item detail page, go to manage items > edit item 6. Using the item that was put in transit, attempt to change the status to withdrawn. 7. You should see an error at the top of the page 'In transit item cannot be withdrawn.' Make sure the item did not get marked as withdrawn. 8. Using a different item, do a checkout 9. Now from the item detail page, go to manage items > edit item 10. Using the checked out item, attempt to change the status to withdrawn. 11. vYou should see an error at the top of the page 'Onloan item cannot be withdrawn.' Make sure the item did not get marked as withdrawn. 12. Now, using the in transit item, go to the items tab. ( catalogue/moredetail.pl?biblionumber=x ) 13. Under Statuses, attempt to withdraw the item. 14. You should see an error near the top of the page "Cannot withdraw item in transit". 15. Now, using the checked out item, go to the items tab. ( catalogue/moredetail.pl?biblionumber=144 ) 16. Under Statuses, attempt to withdraw the item. 17. You should see an error near the top of the page "Cannot withdraw checked out item.". 18. Using both the in-transit and checked out item, attempt to modify the status through batchMod. 19. Ensure that the items are not being updated to withdrawn. 20. Turn off PreventWithDrawingItemsStatus system preferece. 21. Going through each of the steps again, except this time your items should successfully withdraw. prove t/db_dependent/Koha/Item.t Signed-off-by: Roman Dolny Signed-off-by: Emily Lamancusa Signed-off-by: Lucas Gass commit ce15eacc5ecf4a01590f70b4bfdeff5e9bed8669 Author: Baptiste Wojtkowski Date: Fri Jun 13 10:29:11 2025 +0200 Bug 38928: (QA follow-up) Signed-off-by: Lucas Gass commit 8b0e4d3c150f76672f25bd9fc426cc8591b5acf2 Author: Pedro Amorim Date: Mon Jan 20 13:34:22 2025 +0000 Bug 38928: Handle rft_id or id If a semicolon exists, the key should be what's before the semicolon, and its value, whats the after. Otherwise, default to 'doi' as it was before. To test: 1) Enable ILLModule. 2) Visit the following URLs http://localhost:8080/cgi-bin/koha/opac-illrequests.pl?op=create&backend=Standard&openurl=1&genre=article&id=10.1016/j.cognition.2024.105913 http://localhost:8080/cgi-bin/koha/opac-illrequests.pl?op=create&backend=Standard&openurl=1&genre=article&id=doi:10.1016/j.cognition.2024.105913 3) Notice that in both cases, only the doi value '10.1016/j.cognition.2024.105913' should be present in the input. Signed-off-by: Caroline Cyr La Rose Signed-off-by: Baptiste Wojtkowski Signed-off-by: Lucas Gass commit faabb965192817989290685ddd5a853f2f83cb68 Author: Owen Leonard Date: Tue Apr 15 13:23:45 2025 +0000 Bug 38792: Rename "My virtual card" to "Library card" and move tab This patch makes a number of changes to the "My virtual card" page and associated menu item: 1. Rename it to "Library card." This fits better with the naming of other user pages. This change includes updates to the page title, breadcrumb menu, and page heading. 2. Move the menu item up to appear right after the "Summary" link. 3. Make some style changes to the display of the card, giving the card more comfortable padding and adding some responsive behavior to the card width. To test, apply the patch and rebuild the OPAC CSS. - If necessary, go to Administration -> System preferences and enable the OPACVirtualCard preference. - Log in to the OPAC. - You should see a "Library card" menu item in the left-hand sidebar menu, right below the "Summary" item. - On the "Library card" page, the page title, breadcrumb item, and page heading should read "Your library card." - The "card" should look good, and should adjust well at various browser widths. - Above 769px wide, the card should not expand wider than 500px. - Below 769px wide, the card should have a width of 100% and should adjust as the viewport is narrowed. Sponsored-by: Athens County Public Libraries Signed-off-by: Roman Dolny Signed-off-by: Paul Derscheid Signed-off-by: Lucas Gass commit 4636d813be3ce4be3799c15bc0f7bfcddaf13b3b Author: Lucas Gass Date: Tue Apr 8 18:22:02 2025 +0000 Bug 39411: Add cardnumber and dateexpiry to OPAC virtual card To test: 1. APPLY PATCH 2. Enable OPACVirtualCard 3. Login to the OPAC and visit the account page. 4. Click on 'My virtual card' 5. Notice that the cardnumber and expiratrion date are now listed. Signed-off-by: Emmanuel Bétemps Signed-off-by: Paul Derscheid Signed-off-by: Lucas Gass commit 138ad365921530ffa275df3876c4c99ca636fcdc Author: Paul Derscheid Date: Thu Jun 12 10:19:19 2025 +0200 Bug 40129: Always show the "Not finding what you're looking for" links in opac-results.tt This patch simplifies the logic for displaying the "make a purchase suggestion" and "interlibrary loan request" links on the OPAC search results page. Previously, the visibility of the purchase suggestion link was tied to a complex set of conditions evaluated in C4/Auth.pm, involving user login status and permissions. This was unintuitive, as the authorization to make a suggestion should be handled by the suggestions page itself (opac-suggestions.pl), I think. This patch alters the template (opac-results.tt) to check the 'suggestion' and 'IllModule' system preferences directly. If suggestions are allowed system-wide or the master switch for the 'IllModule' is on, the links will be shown shown to all patrons, regardless of login status. To test: 1. Go to Administration > System Preferences > OPAC. 2. Ensure 'Suggestion' is set to 'Enable'. 3. Log out of the OPAC if previously logged in. 4. Perform a search that won't yield any results and verify the "Make a purchase suggestion" link appears on the results page. 5. Click the link and verify that you are prompted to log in. 6. Now set the 'AnonSuggestions' system preference to 'Allow'. 7. Make sure that the 'AnonmousPatron' borrowernumber is set to something other than 0 (is this right, though)? 8. Click the link and verify that you are able to make an anonymous suggestion. 9. Log in as a patron who is NOT allowed to make suggestions (check their patron category permissions). 10. Perform a search and verify the link is still visible. 11. Here we then get a 404, this should be handled more gracefully, but still in opac-suggestions.pl to not make opac-results dependent on a patron object. Ideas very welcome! 11. Go back to System Preferences and set 'suggestion' to 'Don't allow'. 12. Refresh the OPAC search results page. 13. Verify the "Make a purchase suggestion" link is now hidden for both anonymous and logged-in users. 14. This confirms the link's visibility is controlled solely by the 'suggestion' system preference. 15. Now the simpler aspect of 'IllModule', first set everything related to suggestions back to defaults. Then set 'IllModule' to 'Enable'. 16. Make sure the link to place an "interlibrary loan request" is now shown for unauthenticated patrons as well. 17. Leave some comments regarding the unsolved issue in 11) or other problems that you might anticipate through this change. I first thought this was trivial, but it is not :_D! Signed off by: Esther Melander Signed-off-by: Marcel de Rooy Signed-off-by: Lucas Gass commit be1729ed68d9bb8cde4f91070b27f8f5becc7c1d Author: Jonathan Druart Date: Wed Jun 18 13:42:28 2025 +0200 Bug 40161: (bug 38255 follow-up) Fix item type translation JS error Uncaught (in promise) TypeError: table.row is undefined We need to use the DataTable object. Test plan: Have several languages installed Edit an item type and click "Translate into other languages" to open the modal Translate into another language and note that: Without this patch you get a JS error in the browser console and the row is not added to the table With this patch applied the row is added correctly with your translation Signed-off-by: Owen Leonard Signed-off-by: Marcel de Rooy Signed-off-by: Lucas Gass commit 8f90ac9d4e9891851fc76172f80f9df0c5051844 Author: Tomás Cohen Arazi Date: Fri Jun 13 15:18:47 2025 -0300 Bug 40144: Get rid of `sip_cli_emulator.pl` warnings Signed-off-by: Tomas Cohen Arazi Signed-off-by: David Nind Signed-off-by: Marcel de Rooy Signed-off-by: Lucas Gass commit 46cc88acc38fdb2ffc1e4b840fff5a16c8d224b4 Author: Tomás Cohen Arazi Date: Fri Jun 13 16:49:18 2025 -0300 Bug 23883: sip_cli_emulator.pl should display real parameter names For creating this patch I looked at all parameters defined in the handler mapping, removed duplicated ones and tracked down which ones really were parameters in `GetOptions`. This included tracking down variables that were later assigned other values and things like that. The mapping is used to display the right parameter name if missing a mandatory one. Signed-off-by: David Nind Signed-off-by: Marcel de Rooy Signed-off-by: Lucas Gass commit 34886a9b5bd7532cdc8697a6c191636771bce0d9 Author: Baptiste Wojtkowski Date: Tue Jun 10 17:07:12 2025 +0200 Bug 40109: Fix path for fix_invalid_dates.pl in hint from search_for_data_inconsistencies.pl Bug 31143 created a script in cronjob and then moved it to maintenance. However, it is still referred as in cronjob in help strings. This patch updates the hint. No test needed I guess. Only changing a string Signed-off-by: David Nind Signed-off-by: Marcel de Rooy Signed-off-by: Lucas Gass commit 448b9cd17eaf0efed8351dc8e2341af4deea15b6 Author: Alexander Blanchard Date: Tue Jun 10 08:27:40 2025 +0000 Bug 39223: Fix the OPAC browse search (opac-browse.pl) This fixes the OPAC browse search feature (OpacBrowseSearch system preference, Elasticsearch only). Expanding and collapsing the search results was not working. Test plan: 1. Start up KTD using Elasticsearch; ktd --es7 up 2. Enable the OpacBrowseSearch system preference. 3. In the OPAC, click 'Browse search' (one of the options under the search box). 4. Search for 'a', for the search type use Author, then click Search. 5. Click on one of the search results - note that it doesn't expand to show the titles for the author. 6. Apply the patch. 7. Refresh the page and repeat steps 3 to 5. Note that the author section now expands andd collapses when clicked, and that the titles for the author are now shown. Signed-off-by: David Nind Signed-off-by: Marcel de Rooy Signed-off-by: Lucas Gass commit 6b5a891cfb3bebfd3cc238329939d70342fa3444 Author: Owen Leonard Date: Wed Jun 11 14:43:46 2025 +0000 Bug 40107: Article requests: Some DataTables functionality is broken Bug 38255 standardized our DataTables using kohaTable. kohaTable returns the affected table as a jQuery object, but JavaScript on the article requests page in the staff client expects a DataTable object. This patch updates the template accordingly. To test, apply the patch and enable the ArticleRequests system preference if necessary. - Log in to the OPAC and place several article requests. - In the staff interface, go to Circulation -> Article requests. - From the list of new article requests, test the menu options under "Actions." - Changing the status of a request should make it disappear from the "New" tab and appear under the tab for the new status (or it should be removed, in case of cancel or complete). - Test the same processes under the "Pending" and "Processing" tabs. - Each time you perform one of these tasks the counters on each tab should be updated correctly. Sponsored-by: Athens County Public Libraries Signed-off-by: David Nind Signed-off-by: Marcel de Rooy Signed-off-by: Lucas Gass commit 90c2a53b9920950b4b096c87444498bd08b88eb2 Author: Jonathan Druart Date: Thu Jun 12 09:54:37 2025 +0200 Bug 40127: Add a Cypress test Signed-off-by: David Nind Signed-off-by: Marcel de Rooy Signed-off-by: Lucas Gass commit 561535503c8c44b0677a7771376d7a5ae0fb53a6 Author: Jonathan Druart Date: Thu Jun 12 09:59:05 2025 +0200 Bug 40127: Remove JS error from the biblio detail page when no items "build_items_table is not defined" We should not try to build the items table if there are no items. Test plan: Go to the bibliographic detail page of a biblio without items You should not see errors in the browser's console Go to the bibliographic detail page of a biblio with items You should not see errors in the browser's console The table should be displayed and the different features should work as before Signed-off-by: David Nind Signed-off-by: Marcel de Rooy Signed-off-by: Lucas Gass