commit 4d63b8bb360ffae06240ba0b23550dd312df8293 Author: Lucas Gass Date: Fri Oct 24 13:39:57 2025 +0000 Bug 30633: DBRev 25.06.00.026 Signed-off-by: Lucas Gass commit 860dc5b845b53918704212255a52ad81f03021ab Author: Jonathan Druart Date: Tue Oct 21 08:56:43 2025 +0200 Bug 30633: Remove force_visibility flag It's not available at the OPAC, and we actually don't need it: we don't save/restore DT's state. Signed-off-by: Martin Renvoize Signed-off-by: Lucas Gass commit 4bcb11b69e6c052090cf45cce988615e0872c9a5 Author: Jonathan Druart Date: Fri Oct 17 14:59:04 2025 +0200 Bug 30633: Default to 'Current library' if item_level_itypes is off We cannot set the default value in the yaml file dynamically. This is not ideal but we are going to modify the default "Item type" if item-level_itypes is off. Signed-off-by: Michaela Sieber Signed-off-by: Martin Renvoize Signed-off-by: Lucas Gass commit 3284a2f41f612e2528a9d18d570a0b54760bec46 Author: Jonathan Druart Date: Fri Oct 17 14:48:54 2025 +0200 Bug 30633: Default to 'Item type' Signed-off-by: Michaela Sieber Signed-off-by: Martin Renvoize Signed-off-by: Lucas Gass commit b09ac4bf9333d454740f8f85844de272b4abd322 Author: Jonathan Druart Date: Tue Oct 14 11:26:27 2025 +0200 Bug 30633: Remove OPACHoldingsDefaultSortField It's no longer needed Signed-off-by: Michaela Sieber Signed-off-by: Martin Renvoize Signed-off-by: Lucas Gass commit 0c7e673b849c9cebe98ab775449f8cafbf227e8b Author: Jonathan Druart Date: Tue Oct 14 11:24:26 2025 +0200 Bug 30633: Add default_sort_order to table settings So we can pick a column from the table settings http://localhost:8081/cgi-bin/koha/admin/columns_settings.pl#biblio-detail%7Choldingst Signed-off-by: Michaela Sieber Signed-off-by: Martin Renvoize Signed-off-by: Lucas Gass commit 99f7388cb9781d1bf73d39fb9fe6e0c58e66ca8c Author: Jonathan Druart Date: Tue Oct 14 11:13:04 2025 +0200 Bug 30633: Hide columns when needed We can use the force_visibility flag to hide column when they are empty or should not be displayed because of syspref. Signed-off-by: Michaela Sieber Signed-off-by: Martin Renvoize Signed-off-by: Lucas Gass commit a6a6693adf402836b67c461cd40d06871e178d43 Author: Jonathan Druart Date: Tue Oct 14 10:33:04 2025 +0200 Bug 30633: Prepare the ground Make the OPAC holdings table ready to use visibility based on column's names. Signed-off-by: Michaela Sieber Signed-off-by: Martin Renvoize Signed-off-by: Lucas Gass commit f073262263c847dee6152569997a06fc72fdc48b Author: Jonathan Druart Date: Fri Oct 10 11:14:26 2025 +0200 Bug 40978: Remove warnings from Budgets.t If no shipment_budget is set then undef is set as key of the hashref which generates a warning: Use of uninitialized value $row[0] in hash element at /usr/lib/x86_64-linux-gnu/perl5/5.40/DBI.pm line 2122. Later we only access the hashref by budget_id, so this change seems safe. Signed-off-by: Victor Grousset/tuxayo Signed-off-by: Marcel de Rooy Signed-off-by: Lucas Gass commit 17a07dcc2aaa4a08da1f906d39a8c876eca86a0a Author: Jonathan Druart Date: Thu Oct 23 10:00:35 2025 +0200 Bug 41079: Force visibility for columns depending on sysprefs If two sysprefs are disabled we must hide the two related columns. We should also force the visibility of the checkboxes: on the first screen (op=show/edition) they must be displayed, on the result screen (op=show_results) the must be hidden. Test plan: 1. Create a report to see some patrons: SELECT cardnumber FROM borrowers WHERE cardnumber LIKE '%2' 2. Run report and select 'Batch operations ...' 3. Batch patron modification => Notice that the table has the checkboxes in the first column => The table is sorted by cardnumber 4. Perform the modification => Notice that the result table does not have the checkboxes in the first column => The table is still sorted by cardnumber Additional tests: 1. If the logged in user is superlibrarian then the columns "Password expiration date" and "Protected" are displayed 2. Play with the table's settings and columns visibility to confirm that they are working correctly (they were not before this patch set) Signed-off-by: Nick Clemens Signed-off-by: Lucas Gass commit 034587d8ecc6d0cbdf404cd454c935c90f1dbc2f Author: Jonathan Druart Date: Thu Oct 23 09:45:11 2025 +0200 Bug 41079: Turn on bKohaColumnsUseNames for the batch patron modification results table A table cannot use the table settings if columns are displayed depending on sysprefs. Additionally DT's saveState does not work correctly if some columns are shown/hidden from one screen to another. We must add data-colname and turn bKohaColumnsUseNames on for this table. Also note that there were several discrepancies between the table structure and the number of columns in the yaml file. Signed-off-by: Nick Clemens Signed-off-by: Lucas Gass commit 73dac4c5cc16b754f5837bb114260ba0c03164dd Author: Jonathan Druart Date: Wed Oct 22 09:10:40 2025 +0200 Bug 41065: (bug 38714 follow-up) Show batch patron modification results Signed-off-by: Nick Clemens Signed-off-by: Lucas Gass commit ea123185b90da00faa7ddd3f26e8d5b3ae1db256 Author: Jonathan Druart Date: Wed Oct 22 08:55:04 2025 +0200 Bug 41065: (bug 26553 follow-up) Remove JS error when submitting the form Uncaught TypeError: patron_table.$ is not a function Signed-off-by: Nick Clemens Signed-off-by: Lucas Gass commit e057c02ca30c1e15498566fee9d048bc94946b22 Author: Jonathan Druart Date: Mon Sep 15 15:27:27 2025 +0200 Bug 40743: Fix description of inactive budget Without this patch it's always "{budget_description} (Inactive)" Signed-off-by: Aleisha Amohia Signed-off-by: Jonathan Druart Signed-off-by: Lucas Gass commit 1d2fc5133d70289123f8d2ba374242be7dc6005b Author: Laura Escamilla Date: Wed Sep 3 15:45:30 2025 +0000 Bug 40743: Make active funds visible again To test: 1. Create a basket and add an item to the order. Close the basket. 2. Receive shipment. Create an invoice. 3. Go to the invoice and then go to the receipt page. 4. Receive the item you had added to your basket. Under Fund you will only see “Keep current (your budget name)”. Active budgets are not visible. 5. Click on “Show inactive” — both inactive and active budgets become visible. 6. Apply the patch. Restart all. 7. Repeat step 3 and 4. Notice now that the active budgets are visible under your Fund dropdown. On this step you can create an inactive budget / fund if you don’t have one set already. Next click on “Show inactive” and notice that the active fund is active, and the inactive fund has a budget_description of inactive. 8. Test to make sure budgets stick. 9. Sign off and have a wonderful day! Signed-off-by: David Nind Signed-off-by: Aleisha Amohia Signed-off-by: Jonathan Druart Signed-off-by: Lucas Gass commit 05aa74e921cc81c25abae2c61c0bc3d6b0abfb71 Author: Martin Renvoize Date: Thu Oct 9 15:23:50 2025 +0100 Bug 39336: Public Biblio endpoint should honour OpacSuppression syspref This patch makes the Public Biblio endpoint respect the OpacSuppression system preference and the biblio.opac_suppressed field introduced in Bug 38330. When OpacSuppression is enabled and a biblio has opac_suppressed set to 1, the endpoint now returns a 404 (Not Found) response instead of exposing the bibliographic record. Test plan: 1. Apply patch 2. Run: prove t/db_dependent/api/v1/biblios.t 3. Verify all tests pass, including the new OpacSuppression subtest 4. Test manually: - Enable OpacSuppression syspref - Set a biblio's opac_suppressed field to 1 - Access /api/v1/public/biblios/{biblio_id} - Confirm it returns 404 - Set opac_suppressed to 0 - Confirm it returns 200 with the record - Disable OpacSuppression syspref - Confirm record is visible regardless of opac_suppressed value Signed-off-by: David Cook Signed-off-by: Marcel de Rooy Signed-off-by: Lucas Gass commit 301ec5dae2f99b6f1148dc289f8b4b64f5c3573e Author: Nick Clemens Date: Wed Oct 22 13:47:24 2025 +0000 Bug 41071: Fix missing space in cash register classes It seems we dropped a space somewhere so the class for default registers had become: "{Branchcode}default" instead of "{Branchcode} default" This broke the JS for selecting To test: 1 - Enable UseCashRegisters system preference 2 - Create three registers for three different branches 3 - Make each register the default 4 - Click on username in top right 5 - Select 'Set library and cash register' 6 - Choose on of the three branches 7 - Note the dropdown does not populate with the default 8 - Note no registers can be selected 9 - Apply patch 10 - Reload the page 11 - Change libraries and verify all works as expected Signed-off-by: Jonathan Druart Signed-off-by: Lucas Gass commit f689133aaf059fa1cf38c3e56bc37e2b4cea2783 Author: Nick Clemens Date: Wed Oct 22 18:00:33 2025 +0000 Bug 41074: Don't reverse previous_patrons arrary This patch alters the code to append instead of prepend, removing the need to reverse the list To test: 1 - Write a report to get some patron SELECT cardnumber,surname FROM borrowers WHERE cardnumber <>'' ORDER BY rand() LIMit 6 2 - Enabled 'showLastPatron' and set count to 3 http://localhost:8081/cgi-bin/koha/admin/preferences.pl?op=search&searchfield=showLastPatron 3 - Copy the barcodes in order from the report and search for them in patron search, you'll want two tabs so you can keep report open 4 - Notice at 4th patron that list order has changed 5 - When 5th patron is loaded, the 4th is removed from the list 6 - Apply patch 7 - Clear the list 8 - Repeat the test plan, but note that list order does not change 9 - Confirm the patrons are removed from the list in expected order when adding new 10 - Change the count to 1 and search for several patrons, ensuring the last patron link is always correct Signed-off-by: Marcel de Rooy Signed-off-by: Lucas Gass commit 2d063d00d500b68f6fef0e44130ceab95de0faf6 Author: Pedro Amorim Date: Mon Oct 20 15:33:04 2025 +0000 Bug 41057: Return 404 if creating backend is not an OPAC backend Test plan, ktd: 1) Enable ILLModule 2) Install an additional backend plugin e.g. 'RapidILL': https://github.com/openfifth/koha-ill-rapidill/releases/tag/v2.2.5 3) Restart plack if you have to: $ koha-plack --restart kohadev 4) Edit the ILLOpacbackends system preference to just 'Standard'. 5) Now, attempt to create a request with the installed backend directly: /cgi-bin/koha/opac-illrequests.pl?op=add_form&backend=RapidILL 6) Notice the form is shown. It shouldn't be, as the only OPAC back is Standard. 7) Apply patch. Repeat. You get a 404. Signed-off-by: Nial Halford-Busby Signed-off-by: Marcel de Rooy Signed-off-by: Lucas Gass commit 9672351c412214e33449bcde677ef53d74c7ca3e Author: Marcel de Rooy Date: Fri Oct 24 08:27:23 2025 +0200 Bug 40017: (QA follow-up) Fix t/db/Breeding.t Although t/Breeding.t was adjusted, the t/db counterpart should have been adjusted too. The sort order was added, the subfield tag was moved. Test plan: Run test again. Signed-off-by: Lucas Gass commit ba544d166da3f4d7d06aae8cc2c580ddee11f878 Author: Nick Clemens Date: Thu Oct 23 18:55:18 2025 +0000 Bug 30568: (QA follow-up) Don't double filter content in wrapper Signed-off-by: Lucas Gass commit eba0060286a650cdfce45e8f0f7d5d839cd87753 Author: Jonathan Druart Date: Thu Oct 23 09:17:56 2025 +0200 Bug 41042: default_save_state is enabled by default If 'default_save_state' is not in the yaml file then the feature is enabled by default. Caught by the following failure: t/db_dependent/selenium/patrons_search.t .. # Failed test 'Search works when category of patrons is limited to a library we are not signed in at' # at t/db_dependent/selenium/patrons_search.t line 471. # got: 'Showing 1 to 5 of 26 entries (filtered from 82 total entries)' # expected: 'Showing 1 to 15 of 26 entries (filtered from 82 total entries)' # Looks like you failed 1 test of 1. Signed-off-by: Lucas Gass commit 95bd6441b5991c42d95c5fdfe10ebdd3a5c6a430 Author: Jonathan Druart Date: Thu Oct 23 13:02:17 2025 +0200 Bug 36674: Revert "Bug 36674: Remove duplication" This reverts commit 3a6fe57c269367a3dfedee0720b0857314c77dbf. Signed-off-by: Lucas Gass commit ca00497725e301d23f55f619f1e394a1b5af85ea Author: Tomás Cohen Arazi Date: Mon Oct 6 16:05:44 2025 -0300 Bug 39816: (QA follow-up) Rename 'late_since_days' to 'days_late' Signed-off-by: Tomás Cohen Arazi Signed-off-by: Lucas Gass commit f16e3a7c44db05e0ae236c34a58a060a57f4d322 Author: Tomás Cohen Arazi Date: Fri May 2 14:16:04 2025 -0300 Bug 39816: (follow-up) Harmonize embeds in baskets As I traversed the REST API spec to add the `late_since_days` embed option, I noticed an inconsistency in the embed options we defined in each place a basket is to be returned. This patch makes all the places have the same embed options. Signed-off-by: Emmi Takkinen Signed-off-by: Lucas Gass commit 98153c58355cb06ca16c2de88bfb8121ba990ebd Author: Tomás Cohen Arazi Date: Fri May 2 14:15:12 2025 -0300 Bug 39816: Allow embedding `late_since_days` in baskets This patch adds the option to embed the return value of the `late_since_days` method in basket objects in the REST API. It does so by just adding it to the list of embeds in the spec. It is added in every place baskets can be returned. Signed-off-by: Emmi Takkinen Signed-off-by: Lucas Gass commit fb9ab9c789cd30feaeba9174ed314417304cfe51 Author: Lucas Gass Date: Fri Jun 27 13:58:52 2025 +0000 Bug 39642: Add SMS number to holds modals on return.tt To test: 0. APPLY PACTH 1. Set SMSSendDriver to test. 2. Find a patron record and add the smsalertnumber 3. Place a hold for that patron. 4. Trigger the hold when it is waiting. 5. Notice the SMS number is included in the Hold for: section of the modal. 6. Change branches so the hold will need a transfer. 7. Check it in, and notice the SMS number is again included in the Hold for: section of the modal. Signed-off-by: Owen Leonard Signed-off-by: Laura_Escamilla Signed-off-by: Lucas Gass commit ede6ef28d103d986f3e97de32255c2da0d6984e8 Author: Lucas Gass Date: Wed Oct 22 13:04:14 2025 +0000 Bug 40017: (follow-up) Update GNU license link Signed-off-by: Lucas Gass commit 72336b36c5569fefac8322204f6ab92e75989969 Author: Marcel de Rooy Date: Mon Jun 2 11:00:31 2025 +0200 Bug 40017: (follow-up) More rigorous checking Adding a few checks to resolve the errors David found while testing. Signed-off-by: Marcel de Rooy Signed-off-by: David Nind Signed-off-by: Martin Renvoize Signed-off-by: Lucas Gass commit 3e2a9aef9396efa23af8f9580436b906f085bccb Author: Marcel de Rooy Date: Tue May 27 15:54:26 2025 +0200 Bug 40017: Add leader and control field positions to Z3950 search results Test plan: Run t/Breeding.t Set AdditionalFieldsInZ3950ResultSearch to 000p6, 008, 040$b Do some searches and check the Additional fields column of results. Signed-off-by: Marcel de Rooy Signed-off-by: David Nind Signed-off-by: Martin Renvoize Signed-off-by: Lucas Gass commit 6fe673b12bfff560d0571498b799a8a9117d0218 Author: Martin Renvoize Date: Thu Jul 10 14:24:15 2025 +0100 Bug 40333: Tidy commit The commit hook was deliverately disabled for the previous commit and this commit added distinctly to ensure clarity between the functional code change and the massive tidy that the hook created. In that last commit we remove the last remaining TT variable from the