commit 37a5cca6cda4a43d6494f57ffd371f8eb6026b65 Author: Nick Clemens Date: Tue Jul 23 16:16:57 2024 +0000 Bug 37424: Display additional materials note in batch checkout This patch adds a missing conditional for ADDITIONAL_MATERIALS to the batch checkout table Test plan: 1. Set a staff member with circ permissions, including FORCE_CHECKOUT 2. Turn on: CircConfirmItemParts, BatchCheckouts, BatchCheckoutsValidCategories (all) 3. Log in as staff member in step 1 4. Attempt to checkout an item with a 952$3 from the batch checkout tab 5. The item with a 952$3 displays, but the copy/text of the materials specified note does not. 6. Do not confirm checkout 7. Apply patch 8. Try again, the materials note should show this time 9. Confirm checkout 10. Success! Item is checked out Signed-off-by: Catrina Berka Signed-off-by: Marcel de Rooy Signed-off-by: Katrin Fischer (cherry picked from commit 03538b59aaa897375e1839e4260ffadac03890ab) Signed-off-by: Lucas Gass commit 15c702da914622e510008ad0d2cedb0dfa65f0ae Author: Jonathan Druart Date: Wed Nov 20 11:51:59 2024 +0100 Bug 38437: Auto-show modal on single receive Might have been broken by the bootstrap 5 upgrade, but not sure. Not sure why the click does not trigger the modal. 1. Place an order in acquisitions 1.1. Go to Acquisitions 1.2. Click 'Search' next to 'Search vendors' 1.3. Click 'Add to basket' next to 'My basket' 1.4. Search for an existing record (e.g. search for Shakespeare) 1.5. Click 'Add order' next to a result or in the detailed record 1.6. In the item form, choose an item type 1.7. Click 'Add item' 1.8. Choose a fund 1.9. Enter a price in 'Vendor price' 1.10. Click 'Save' 1.11. Click 'Close basket' 1.12. Click 'Yes, close' 2. Receive the order 2.1. Click 'Receive shipments' 2.2. Enter a value in 'Vendor invoice' 2.3. Click 'Next' 2.4. Click 'Receive' next to your order => The modal is shown Signed-off-by: Michaela Sieber Signed-off-by: Owen Leonard Signed-off-by: Emily Lamancusa Signed-off-by: Katrin Fischer (cherry picked from commit ef455af3445b824bd97c0db3e60ebe37dc1bdf20) Signed-off-by: Lucas Gass commit 93ed8bb072e160dd86336740a2f60934bc726544 Author: Nick Clemens Date: Wed Nov 20 13:55:21 2024 +0000 Bug 38495: (follow-up) Add a confirmation message Signed-off-by: Marcel de Rooy [EDIT} Added a html filter for qa tools.. Signed-off-by: Katrin Fischer (cherry picked from commit 0be0f03d5267bb13eb28a7cdbfbcdd43cbb830df) Signed-off-by: Lucas Gass commit b6e238909d0cccde59c40892c2a8956f222ab639 Author: Nick Clemens Date: Wed Nov 20 13:24:12 2024 +0000 Bug 38495: Use JS to submit form to cancel background jobs This patch adjusts the link to cancel jobs to be submitted as a POST with cud-cancel operation To test: 1 - Stop your long tasks bacground jobs worker sudo koha-worker --stop --queue long_tasks kohadev 2 - Stage a file for import 3 - Administration -> Manage jobs 4 - See your new job 5 - Click 'cancel' 6 - It didn't work 7 - Apply patch 8 - Browse to jobs again 9 - Click 'Cancel' 10 - Job is successfully cancelled Signed-off-by: Jonathan Druart Signed-off-by: Marcel de Rooy Signed-off-by: Katrin Fischer (cherry picked from commit d047776630152a9e2b16c7797aaac600c0dff6e2) Signed-off-by: Lucas Gass commit e3f16499be3f3043dbb7c76477abfd7d448c1c24 Author: Marcel de Rooy Date: Fri Nov 22 08:28:46 2024 +0000 Bug 38513: Fix Biblio.t for Koha_Main_My8 This should do the tric: The test output shows that the second mapping was not found (field 264); also the expected suspect btw. So adding that here. Test plan: Run t/db_dependent/Biblio.t See also comment28 on bug 19097. Signed-off-by: Marcel de Rooy Simulated the above by removing 264c from Koha to MARC mapping. Signed-off-by: Katrin Fischer (cherry picked from commit 28d24aaa0874844ec8643a9ea19cc0b501013c6a) Signed-off-by: Lucas Gass commit 3b31cf80c3c2e4a6cbc440cd93b5645d927d5661 Author: Jonathan Druart Date: Mon Nov 25 11:57:54 2024 +0100 Bug 38526: (bug 36822 follow-up): Improve datetime comparison in tests 17:39:54 koha_1 | # Failed test 'updated_on correctly saved on newly created user' 17:39:54 koha_1 | # at t/db_dependent/Auth_with_shibboleth.t line 319. 17:39:54 koha_1 | # Structures begin differing at: 17:39:54 koha_1 | # $got->[0] = '2024-11-19 16:39:30' 17:39:54 koha_1 | # $expected->[0] = '2024-11-19 16:39:29' 17:39:54 koha_1 | # Looks like you failed 1 test of 54. We must use t::lib::Dates::compare to compare datetimes in tests. Signed-off-by: Katrin Fischer (cherry picked from commit ed25a48ccf566bf4a21040a36d25bda8d598c301) Signed-off-by: Lucas Gass commit dd6240343a4b982ffcd5a295bd54c69637c34f0a Author: Janusz Kaczmarek Date: Wed Oct 23 13:27:52 2024 +0000 Bug 38239: Incorrect number of items to pull (in Holds to pull) with partially filled holds With a over-sufficient number of items, when more than one patron has placed hold, and the holds have been partially filled (checked-in = waiting for pick up), the number of items to pull in the Holds to pull table shows the total number of holds, including those waiting. This erroneously suggests to the librarian to pull an excessive number of items from the shelves. Test plan: ========== 1. For a bibliographic record with more than two items (in ktd, e.g. "Lanark a life in four books"), place hold for two patrons. 2. On the Holds to pull page control that there are two items to pull. 3. As a librarian from the library of one of the patrons, Check-in one item. 4. Note that in Holds to pull table you still see two items to pull, which is misleading. 5. Apply the patch; restart_all. 6. Now you should see only one item to be pulled. Sponsored-by: Ignatianum University in Cracow Signed-off-by: Roman Dolny Signed-off-by: Marcel de Rooy Signed-off-by: Katrin Fischer (cherry picked from commit abfba936fb4ffcab5d1234c3fc577ac493865c5e) Signed-off-by: Lucas Gass commit 5a07b6a869bab9362ef983139933f0af6262f556 Author: George Veranis Date: Thu Nov 7 14:39:16 2024 +0100 Bug 28075: (follow-up) adding all choices and values of 135a Extend patch of 135a to cover all choices with all possible values as described by IFLA for 135a. Signed-off-by: David Nind Signed-off-by: Marcel de Rooy Signed-off-by: Katrin Fischer (cherry picked from commit 9a72d3c7576d2c884ea93ae7f065d6836358c3d9) Signed-off-by: Lucas Gass commit 4f7327c5c1d14b136d2d2700b60c23869aa3af81 Author: Didier Gautheron Date: Thu Nov 7 14:32:35 2024 +0100 Bug 28075: Add missing UNIMARC coded data 135a This patch add more values to selection of 135a in UNIMARC Test Plan: 1) Add on default framework the field 135a and check the Editor option 2) Set on plugin section the value of unimarc_field_135a.pl 3) Open cataloguing editor and use 135 field tag editor to select a value 4) Apply patch 5) Open cataloguing editor and use 135 field tag editor to select a value, after patch you have more options to select Signed-off-by: David Nind Signed-off-by: Marcel de Rooy Signed-off-by: Katrin Fischer (cherry picked from commit 3fa03e2e660de9c0ab12e8281671963f089c3ef9) Signed-off-by: Lucas Gass commit 42490c2918d367d346ddd8cf6d45a0b06323ab6f Author: David Cook Date: Mon Nov 11 22:17:58 2024 +0000 Bug 38416: Tidy Signed-off-by: Martin Renvoize Signed-off-by: Marcel de Rooy Signed-off-by: Katrin Fischer (cherry picked from commit 8b952b1a343f03c86589f4e696a84e18000525b8) Signed-off-by: Lucas Gass commit 464967abbedac48f4f8ba6d980149f71abd989c9 Author: David Cook Date: Mon Nov 11 04:40:52 2024 +0000 Bug 38416: Add unit tests Signed-off-by: Martin Renvoize Signed-off-by: Marcel de Rooy Signed-off-by: Katrin Fischer (cherry picked from commit a9eaefa3b89d77ff3a43bb560d5bc79b0c7615e5) Signed-off-by: Lucas Gass commit 714775e370759898683278f7f36b5c5546926f0a Author: David Cook Date: Mon Nov 11 04:30:06 2024 +0000 Bug 38416: Failover to MARCXML if cannot roundtrip USMARC during indexing This change failsover to MARCXML from USMARC if there are any warnings generated by MARC::File::USMARC::decode when trying to roundtrip the record. Test plan: 0. Apply the patch 1. Setup your koha-testing-docker to use Elasticsearch 2. Create a new record with 15,000 characters in the 500$a field 3. Index that record (e.g. perl misc/search_tools/rebuild_elasticsearch.pl --biblios -v -v) 4. Note that a warning saying the following appears: "Warnings encountered while roundtripping a MARC record to/from USMARC. Failing over to MARCXML" 5. View the "Elasticsearch record" on the detail page and note that the marc_format is MARCXML 6. Perform a search for the record (the keyword should be something that brings up other results too) 7. Note that the record appears correctly in the search results Signed-off-by: Martin Renvoize Signed-off-by: Marcel de Rooy Signed-off-by: Katrin Fischer (cherry picked from commit 0d862343ddce4a86a4932b80d747b9574c739e4d) Signed-off-by: Lucas Gass commit 20c59c0171738f162f4ff68a3febdc46596342c1 Author: Phil Ringnalda Date: Tue Nov 12 21:31:02 2024 -0800 Bug 29818: Cannot save subscription frequency without display order The schema says that subscription_frequencies.displayorder can be null, and everything else deals with it being null just fine, but if you try to save a new frequency without specifying display order with strict_sql_modes set, you get an error. Test plan: 1. Without the patch, Serials - Manage frequencies - New frequency 2. Description is mandatory, so fill it in, then click Save 3. Boom! Apply patch, restart_all 4. Repeat steps 1-2, and verify that no error is thrown and the new frequency shows up (at the top of the list since nothing comes before something) 5. New frequency, fill in Description, try typing something other than a number in Display order and saving. You should be told to follow the directions that only numeric characters are allowed Sponsored-by: Chetco Community Public Library Signed-off-by: David Nind Signed-off-by: Aleisha Amohia Signed-off-by: Katrin Fischer (cherry picked from commit 77c003ed544d653345acf4debe968110ea94a1fd) Signed-off-by: Lucas Gass commit cd7f17e968f5cd1dd4daff4206fce44dbcccc9c5 Author: Emily Lamancusa Date: Wed Oct 16 10:14:51 2024 -0400 Bug 38186: Don't initiate transfer when cancelling hold on lost item To test: 0. In the Circulation Rules, set the default return policy to "item returns home (default settings have this already) 1. Find an item belonging to a branch other than the logged-in branch 2. Place a hold on that biblio record for pickup at the logged-in branch 3. Check in the item to set the hold to waiting 4. Set the expiration date to a date in the past To do this in KTD: ktd --shell koha-mysql kohadev UPDATE reserves SET expirationdate = < yesterday's date >; 5. Set a lost status on the item 6. Go to Circulation > Holds awaiting pickup --> The hold should appear on the "holds waiting past their expiration date" tab 7. Click the "Cancel and return to " button next to the hold 8. Open the biblio record for the item --> Note that the lost status is gone and the item shows as in-transit 9. Apply patch 10. Repeat steps 2-8 on the same item --> This time, the item is still lost and is not in-transit Signed-off-by: Brendan Lawlor Signed-off-by: Chris Cormack Signed-off-by: Katrin Fischer (cherry picked from commit 1c3ed6e4dbd2bb01762aa3bbd350c8346b1815b5) Signed-off-by: Lucas Gass commit fa90836eda1bf0fe3c0b22c0e969f15385f5784c Author: David Cook Date: Fri Sep 6 01:49:35 2024 +0000 Bug 37854: Re-indent HTML (whitespace-only) This whitespace only change re-indents the HTML Signed-off-by: Olivier V Signed-off-by: Marcel de Rooy Signed-off-by: Katrin Fischer (cherry picked from commit f067830305c98c42143a2d5c579e91a0dc9e7147) Signed-off-by: Lucas Gass commit b6a5bf7674e7969933cd230e60cc1df1aa28af20 Author: David Cook Date: Fri Sep 6 01:45:27 2024 +0000 Bug 37854: Add fieldset.rows so that Javascript works This change adds a fieldset.rows that the Javascript produced by C4/Barcodes/ValueBuilder.pm will work here too like it does for /cgi-bin/koha/cataloguing/additem.pl and /cgi-bin/koha/acqui/neworderempty.pl The fieldset.rows element ruins the styling, so we add some context specific styling to the styling is preserved. Test plan: 0. Apply the patch 1. Set "autoBarcode" to "generated in the form yymm0001" 2. Create a vendor 3. Create a backet with "Create items when" set to "receiving an order" 4. Add an order (any order) 5. Close the basket 6. Receive the shipment 7. Click in the barcode field 8. Note that you get a barcode like CPL24090001 and not undefined24090001 Signed-off-by: Olivier V Signed-off-by: Marcel de Rooy Signed-off-by: Katrin Fischer (cherry picked from commit 79b5228116ccfac3fc4aa9366493bfaeb858c1f7) Signed-off-by: Lucas Gass commit 1793c5386333bdf699abb1b86f66e8357e5aa449 Author: Nick Clemens Date: Thu Jul 11 12:03:40 2024 +0000 Bug 37326: decode barcode file in inventory tool This patch ensures that barcodes uploaded as a file into batchMod are run through any transformations to match the behaviour of barcodes entered in a list To test: 1 - Edit BarcodeSeparators system preference to remove \s 2 - Install barcode transformer plugin: https://github.com/bywatersolutions/koha-plugin-barcode-transformer/releases/tag/v1.2.0 3 - Configure the plguin: item: - match: "^[A-Z]* \| " search: "^[A-Z]* \| " replace: "" - match: " \| .*$" search: " \| .*$" replace: "" 4 - Go to Cataloging->Batch item modification 5 - Enter a list of barcodes into the 'Scan one by one' box like: ERR | 12345 | ERR FOO | 23456 | FOO BAR | 34567 | BAR 6 - Click 'Continue' 7 - Note the barcodes not found are: 12345 23456 34567 8 - Save the barcodes with extra text into a file 9 - Perform batch mod, supplying the barcodes via the file 10 - Note the barcodes not found are the original strings 11 - Apply patch, restart all 12 - Perform batch modification using file again 13 - Note the not found barcodes are the transformed version 14 - Sign off! Signed-off-by: Brendan Lawlor Signed-off-by: Marcel de Rooy Signed-off-by: Katrin Fischer (cherry picked from commit d794891005e4a457371bd9ecaaf845e70fe85255) Signed-off-by: Lucas Gass commit a61cfb1a358c481ef87162840176e0a77c2f84c5 Author: Lucas Gass Date: Thu Dec 5 22:52:28 2024 +0000 Bug 23426: (Rmaint follow-up) Adjust tests Signed-off-by: Lucas Gass commit e849ae175b654cfa83c08b5f259da4de94243975 Author: Jan Kissig Date: Wed Nov 13 20:18:26 2024 +0000 Bug 23426: (follow-up) Fix failing test to send correct summary flag Signed-off-by: Katrin Fischer (cherry picked from commit 7509681e10fc8f8df71aa98627d1feaee64602e6) Signed-off-by: Lucas Gass commit 9d9027cb410e85a00f10196ccd3077b11cfa3003 Author: Jan Kissig Date: Thu Nov 7 13:32:05 2024 +0000 Bug 23426: (follow-up) Enhance sip_cli_emulator.pl for test plan This follow up enhances the sip_cli_emulator.pl to use start-item and/or end-item as params. With these new params the original test plan can be extended: Test plan: a) create several manual invoices for patron 23529000035676 : http://localhost:8081/cgi-bin/koha/members/maninvoice.pl?borrowernumber=19 b) run perl misc/sip_cli_emulator.pl -a 127.0.0.1 -p 6001 -su term1 -sp term1 -l CPL --patron 23529000035676 -m patron_information -s " Y " --start-item=1 --end-item=2 to get fine 1 and 2 or perl misc/sip_cli_emulator.pl -a 127.0.0.1 -p 6001 -su term1 -sp term1 -l CPL --patron 23529000035676 -m patron_information -s " Y " --start-item=3 --end-item=3 to retrieve fine 3 Signed-off-by: Martin Renvoize Signed-off-by: Katrin Fischer (cherry picked from commit cfb841f9e6abc56735f8567ec40f46702cda9786) Signed-off-by: Lucas Gass commit 2685372f2337710eae8a8b44fe8a26899197bc4e Author: Jan Kissig Date: Thu Nov 7 12:42:59 2024 +0000 Bug 23426: (follow-up) This patch reintroduces the former implementation of fine items The original implementation of fine items was accidently overwritten with this patch. This follow up reverts these changes but keeps additional improvements that were also part of this patch. These are: - Returning the active currency as part of the response (BH) - Fixing the number of items in the response which are specified in BP and BQ when other items as fine items are requested. Signed-off-by: Martin Renvoize Signed-off-by: Katrin Fischer (cherry picked from commit e5bd8aec41cb8f7ade5f7a228bbb34ff40ecea5b) Signed-off-by: Lucas Gass commit 3dec3a9cb8ca723c2eb5738cdb785ffe89a80d0f Author: Jan Kissig Date: Mon Jul 22 12:41:40 2024 +0200 Bug 23426: (follow-up) Add tests Test plan: [1] Prove t/db_dependent/SIP/Message.t Signed-off-by: Marcel de Rooy EDIT: Tidied inline. Signed-off-by: Katrin Fischer (cherry picked from commit efe0b8c627d8fc7396c980b458e6ac7469fe0867) Signed-off-by: Lucas Gass commit d140000c989ee9ff09f7ba05003c7becd036c66d Author: Jan Kissig Date: Thu Apr 25 11:13:55 2024 +0200 Bug 23426: Add fine items to patron information response in SIP2 This patch adds fine items (AV) to patron information response in SIP2 In addition the active currency we be part of the response (BH) This also fixes the number of items in the response which are specified in BP and BQ in the request to test: a) create a manual invoice for patron 23529000035676 : http://localhost:8081/cgi-bin/koha/members/maninvoice.pl?borrowernumber=19 b) in ktd call: perl /usr/share/koha/bin/sip_cli_emulator.pl -a 127.0.0.1 -p 6001 -su term1 -sp term1 -l CPL --patron 23529000035676 -m patron_information -s " Y " c) verify that no |AV field is in response d) apply patch e) in ktd call: perl /usr/share/koha/bin/sip_cli_emulator.pl -a 127.0.0.1 -p 6001 -su term1 -sp term1 -l CPL --patron 23529000035676 -m patron_information -s " Y " f) verify that response includes fields like '|AVManual fee ' Signed-off-by: David Nind Signed-off-by: Marcel de Rooy [EDIT] Tidied inline Signed-off-by: Katrin Fischer (cherry picked from commit 1d80470105e709e729a41ff52512dbcfd2992c69) Signed-off-by: Lucas Gass commit 388186c0ac6903dcb406d1c7c5cb1470918a1aab Author: Hammat Wele Date: Mon Aug 12 19:15:04 2024 +0000 Bug 36132: Allow to delete multiple patron lists on any page Plan test : 1. Apply the patch. 2. Create at least 22 patron lists (Navigate to Tools > Patron lists > New patron list). 3. Select the lists you want to delete on the 2nd page 4. Click the "Delete selected lists" button. 5. Confirm that the selected lists have been deleted. 6. Ensure that the button cannot be used if no list is selected. Signed-off-by: David Nind Signed-off-by: Marcel de Rooy Signed-off-by: Katrin Fischer (cherry picked from commit 96cc191e104e780f0f2c7527b374311160ad3ff2) Signed-off-by: Lucas Gass commit 5f5a0b225fa06313047f4c7d7fde4f1f9d904411 Author: Jonathan Druart Date: Wed Nov 6 09:37:02 2024 +0100 Bug 38357: Prevent holidays to be wrongly added This patch resets @holiday_list to an empty array, to prevent holidays to be accumulated in worker's memory. If you added single holidays to library A then others to library B, holidays from A were also added to B. Test plan: Go to /cgi-bin/koha/tools/holidays.pl Define the holidays for Centerville Select a date To: another date (pick only 2 days to ease testing) Set a title "cpl" Tick "Holidays on a range" Save Define the holidays for Fairview Select *another* date To: another date (pick only 2 days to ease testing) Set a title "fpl" Tick "Holidays on a range" Save => Without this patch Fairview has 4 days of holidays instead of 2 => With this patch applied the dates you selected are considered holidays for Fairview Signed-off-by: Emmi Takkinen Signed-off-by: Emily Lamancusa Signed-off-by: Katrin Fischer (cherry picked from commit 43e22821a99bc9fee50354039f1215f8ff662b5a) Signed-off-by: Lucas Gass commit 561b8cdacbb607cf27f2e20d3bc770d0eb66019a Author: Phil Ringnalda Date: Fri Nov 8 14:08:18 2024 -0800 Bug 38378: Serial frequency deletion needs to be converted to POST from GET Deleting a serial frequency is (or can be) a two step process. If you are deleting a frequency which is in use, you get back a page warning you that it is in use, which the CSRF changes converted to a form POSTing with a CSRF token and the new op cud-del. However, to get there you have to go through the step that's the only step if the frequency isn't in use, clicking a link that still thinks the op is named del rather than cud-del. That link needs to instead be a form with a CSRF token and a POST of cud-del. Test plan: 1. Without the patch, Serials - Manage frequencies 2. For any frequency, click Delete, click OK in the confirmation popup 3. Nothing happened except your URL changing, the frequency is still there 4. Apply patch, reload Manage frequencies 5. For any frequency, click Delete, click OK in the confirmation popup 6. This time, your frequency was deleted Sponsored-by: Chetco Community Public Library Signed-off-by: Brendan Lawlor Signed-off-by: David Cook Signed-off-by: Katrin Fischer (cherry picked from commit be6e13b50cd9d4e4b638ddae259a9b5c8ba9c5a7) Signed-off-by: Lucas Gass commit bf57e1432217427cfa05a3e808c27714480dd013 Author: Owen Leonard Date: Mon Jul 1 12:28:56 2024 +0000 Bug 24690: Make OPACPopupAuthorsSearch work with search terms containing parenthesis This patch updates the OPACPopupAuthorsSearch feature so that it wraps search terms with quotes. This is the behavior we have in place for author searches outside the context of OPACPopupAuthorisSearch, e.g. 'au:"Criterion Collection (Firm)"' To test, apply the patch and enable the OPACPopupAuthorsSearch system preference. - Search for a record in the OPAC which has author data containing parentheses (it should not be a field linked to an authority record). - View the detail page for that record. - Click on one of the problematic author links. - This should trigger a modal window with a list of authors and checkboxes for each. - With just the single checkbox checked, click "Search." - The search should return the correct results. - Test other author searches to confirm that they work too. Sponsored-by: Athens County Public Libraries Signed-off-by: David Nind Signed-off-by: Marcel de Rooy Signed-off-by: Katrin Fischer (cherry picked from commit d7ae20f0cb4bc0850896617aae59ec22fedcc71d) Signed-off-by: Lucas Gass commit 3f2af68a055f1677a197aec962e7b7313f5e8109 Author: Nick Clemens Date: Fri Aug 30 11:05:59 2024 +0000 Bug 37790: Add skip indexing and holds queue options and verbosity to update localuse script This patch skips record indexing and real time holds queue updates when updating the localuse field from statistics. A note is added to the script that the user should reindex if the localuse field is mapped. Additionally a verbose option is added to the script, and doubled use of GetOptions is removed. Lastly, a check is added to confirm the items value is being changed before the value is stored. To test: 1 - Enable the real time holds queue 2 - Enable Elasticsearch 3 - perl misc/maintenance/update_localuse_from_statistics.pl --confirm 4 - Note all items are touched and reported 5 - Check the background jobs table - there are many jobs generated 6 - Apply patch 7 - perl misc/maintenance/update_localuse_from_statistics.pl --confirm 8 - Note 0 items are reported updated, no new background jobs 9 - perl misc/maintenance/update_localuse_from_statistics.pl --confirm --verbose 10 - No items reported 11 - Update some items in the DB UPDATE items SET localuse = 99 WHERE itemnumber LIKE '%9'; 12 - perl misc/maintenance/update_localuse_from_statistics.pl --confirm 13 - Only the number of items changed above reported 14 - UPDATE items SET localuse = 99 WHERE itemnumber LIKE '%9'; 15 - perl misc/maintenance/update_localuse_from_statistics.pl --confirm --verbose 16 - Each item changed reported, and the amounts, and the total items updated. Signed-off-by: Lucas Gass Signed-off-by: Martin Renvoize Signed-off-by: Katrin Fischer (cherry picked from commit 1ba5e028cbedbb84ccf183f1e6888323c5964ea3) Signed-off-by: Lucas Gass commit c64114eef68316600298a4787754de7ae946d53e Author: Phil Ringnalda Date: Fri Nov 15 14:13:11 2024 -0800 Bug 38463: Unnecessary CSRF token in OPAC authority search Bug 37069 correctly changed OPAC authority searches from a POST to a GET, but forgot to remove the CSRF token that is only needed for a POST, so now it clutters up the URL by making the first 107 characters of the query string meaningless. Test plan: 1. Without the patch, in the OPAC, go to Authority search 2. Change the dropdowns to non-default values so you have meaningful search conditions, and search for something that will return results, like Topical Term/starts with/a/in any heading/Heading descendant 3. Copy the URL of your search results, paste it in an email compose window, look at what you just pasted and wonder whether that big opaque string is actually safe to send to a coworker. Go to lunch. Come back and wonder what you searched for, and look at the URL in the browser to try to tell 4. Apply patch, click the browser back button, reload the page, search again 5. Copy and paste the URL, notice it looks fine to send, just a search. Look at the URL in the browser address bar, notice that within the limits of your window size, you can see what you searched for Sponsored-by: Chetco Community Public Library Signed-off-by: David Nind Signed-off-by: Emily Lamancusa Signed-off-by: Katrin Fischer (cherry picked from commit ddddaf2e3dc052660fd0e220e594407bde8131df) Signed-off-by: Lucas Gass commit 8e4413881cd3b0fd6bc35615f5bdf3aac10be41c Author: David Nind Date: Sun Nov 10 19:17:02 2024 +0000 Bug 38344: Fix typo - space before exclamation mark in "Thank you !" In English, there should not be a space before an exclamation mark in a sentence. For example, "Thank you !" is not correct. Test plan: 1. Search the codebase for "Thank you !": grep -rn "Thank you !" * 2. Result - one occurance: C4/SIP/ILS.pm:317: return (1, 'Thank you !', ''); 3. Apply the patch. 4. Repeat step 1. 5. There should now be no occurances. Signed-off-by: David Nind Signed-off-by: Phil Ringnalda Signed-off-by: Chris Cormack Signed-off-by: Katrin Fischer (cherry picked from commit 1c6dfb5f3558e297626e2f4a4ba361790044d550) Signed-off-by: Lucas Gass commit d6bc0b103eacd170a54ce82d5b77842ca6915a0b Author: Phil Ringnalda Date: Fri Nov 1 11:22:59 2024 -0700 Bug 38328: Cannot delete ILL batch statuses You are permitted to delete ILL batch statuses that you (rather than the system) add, but the UI didn't get the CSRF memo about delete ops needing to be POSTs with op="cud-delete", so it still uses a GET of ?op="delete" and fails. Test plan: 1. Set the preference ILLModule to 'Enable' 2. Administration - Interlibrary loan batch statuses - New batch status 3. Give it a name, an uppercase code, and Save 4. Click the Delete button to the right of your new status 5. The page is blank, and if you navigate back to Interlibrary loan batch statuses, you'll see that yours was not deleted 6. Apply patch, reload page 7. Click the Delete button to the right of your new status, verify it is deleted Sponsored-by: Chetco Community Public Library Signed-off-by: Sam Sowanick Signed-off-by: Martin Renvoize Signed-off-by: Katrin Fischer (cherry picked from commit 479df408fc42d6a226ea023c71dead6d7e37caba) Signed-off-by: Lucas Gass commit 087ceae831c3f3a38af9e37924d48abaf5f8f33b Author: Martin Renvoize Date: Wed Nov 13 09:35:50 2024 +0000 Bug 38322: (QA follow-up) Fix spelling Signed-off-by: Martin Renvoize Signed-off-by: Katrin Fischer (cherry picked from commit a9e7e8f14d68be2642394fcafad15c4d7f01ca7d) Signed-off-by: Lucas Gass commit 1c2f7e2708df1c7bfdd5c96e2e5093d1b42fbecf Author: Nick Clemens Date: Fri Nov 1 12:54:09 2024 +0000 Bug 38322: Adjust tests Signed-off-by: David Nind Signed-off-by: Martin Renvoize Signed-off-by: Katrin Fischer (cherry picked from commit 0e899b8882273c9b80fae267398c90bb314ad4dc) Signed-off-by: Lucas Gass commit 650ef902d4fc6760765a33dbf14ec42c293c296d Author: Jonathan Druart Date: Thu Nov 7 11:33:03 2024 +0100 Bug 38385: Improve DB update output on error (UI) When an error occurred during the DB update the UI is not correct. 1. say_success, say_info, etc. show the span tags and are not colored 2. "Everything went okay" shown even if atomic updates failed 3. The same error can be displayed several time (see https://snipboard.io/IGiKgM.jpg) Test plan: Create a new db rev and/or atomic update Have some say_* statement to render messages, and raise an error For instance: say_info( $out, "Use blue for further information" ); try { say_warning( $out, "Use yellow for warning/a call to action" ); $dbh->do(q{}); } catch { say_failure( $out, "Use red for danger/failure" ); $_->rethrow; }; Signed-off-by: Emily Lamancusa Signed-off-by: Martin Renvoize Signed-off-by: Katrin Fischer (cherry picked from commit 0ab32306eee1572e259567f855a3a7fe8c4976e4) Signed-off-by: Lucas Gass commit fabcb433d78fb1cd54dd386427a0232cc27fff24 Author: Pedro Amorim Date: Mon Jul 1 10:30:08 2024 +0000 Bug 37178: Disable sorting on comments column Signed-off-by: Lucas Gass Signed-off-by: Paul Derscheid Signed-off-by: Katrin Fischer (cherry picked from commit 0ed10ee3da7132388cc422b82ddc284ff6871fbc) Signed-off-by: Lucas Gass commit 3d0f11a60cd3213955f0525b033a43028ccec5f4 Author: Martin Renvoize Date: Thu Nov 7 12:59:40 2024 +0000 Bug 38390: Add subscriptions+count to vendors embed This patch adds the subscriptions+count option to the embeddable enum for the /vendors endpoint. Test plan 1) Inspect the change to t/db_dependant/api/v1/acquisitions_vendors.t and confirm it's testing for the addition of subscriptions_count. 2) Run the above tests and confirm it passes Note: For the above tests to pass, you will need to ensure your api bundle is rebuilt after the patches are applied and restart plack. `yarn build && restart_all` in ktd Signed-off-by: Matt Blenkinsop Signed-off-by: Tomas Cohen Arazi Signed-off-by: Katrin Fischer (cherry picked from commit ce5c7695e24738d23dd658c514517a19ee660f5b) Signed-off-by: Lucas Gass commit fbdb96e293925b3f150c4ab33485286e9b5b4d95 Author: Andrew Nugged Date: Mon Jul 29 16:13:34 2024 +0300 Bug 37865: Fix uninitialized value $op warns [WARN] Use of uninitialized value $op in string eq at /usr/share/koha/intranet/cgi-bin/circ/circulation.pl line 144. [WARN] Use of uninitialized value $op in string eq at /usr/share/koha/intranet/cgi-bin/circ/returns.pl line 253. These happen in cases when $op is undef and circulation.pl or returns.pl tries to directly compare it to a string. To reproduce: 1. Go to "Check Out" and "Check In" circulation pages, or refresh already opened one. 2. Check your logs for "Use of uninitialized value $op" warning. 3. Apply patch. 4. Repeat step 1 and check that no new "Use of uninitialized value $op" error were logged. Signed-off-by: Phil Ringnalda Signed-off-by: Thomas Klausner Signed-off-by: Katrin Fischer (cherry picked from commit 8e2b493d67814ce3411a3882446ac66239e4cbbb) Signed-off-by: Lucas Gass commit 4a460068a89e77c5a47ab48b40a2e761052b1447 Author: Pedro Amorim Date: Tue Oct 29 09:24:36 2024 +0000 Bug 38284: Add patron check for TrackLastPatronActivityTriggers If an invalid or empty cardnumber is supplied to patron status request SIP message, SIP dies silently and no 'READ:' exists on the response. Test plan: 1) Apply tests plan, run tests: $ prove t/db_dependent/SIP/Message.t 2) Verify tests fail. Apply 2nd patch. Run tests again. Verify they pass. Signed-off-by: David Nind Signed-off-by: Martin Renvoize Signed-off-by: Katrin Fischer (cherry picked from commit 87256d7ae3d9400472a86dfe0cebf41345e844c1) Signed-off-by: Lucas Gass commit 41e74dd1a1900241a747578e9bd979019f6b34fc Author: Pedro Amorim Date: Tue Oct 29 09:23:31 2024 +0000 Bug 38284: Add tests Sponsored-by: PTFS Europe Signed-off-by: David Nind Signed-off-by: Martin Renvoize Signed-off-by: Katrin Fischer (cherry picked from commit 5acf88d91d33ce0f5901656e63c263e12bdb823e) Signed-off-by: Lucas Gass commit d444b97d036474f4327dc57ae616b0c4d2606d37 Author: Aleisha Amohia Date: Thu Nov 16 21:38:35 2023 +0000 Bug 33348: Tests prove t/Koha/SearchEngine/Elasticsearch/Search.t Signed-off-by: Roman Dolny Signed-off-by: Thomas Klausner Signed-off-by: Katrin Fischer (cherry picked from commit 8e73930408da6aad055016989438f75e718ae2f0) Signed-off-by: Lucas Gass commit 97477f92581b6f6b87ea63d88c2f21ebe24f4ead Author: Aleisha Amohia Date: Mon May 1 22:38:57 2023 +0000 Bug 33348: (follow-up) Fix if no 008 defined And copy fix across to Zebra search as well. Signed-off-by: Lucas Gass Signed-off-by: Martin Renvoize Signed-off-by: Roman Dolny Signed-off-by: Thomas Klausner Signed-off-by: Katrin Fischer (cherry picked from commit 7c40544951701015e251120579082d5c60ddd7d2) Signed-off-by: Lucas Gass commit 8e8979cb4e1c86b943ad3a2d0f8cd843658003f2 Author: Aleisha Amohia Date: Tue Mar 28 02:10:59 2023 +0000 Bug 33348: Show authority heading use with Elasticsearch This patch ensures the ShowHeadingUse system preference and feature works as expected when using Elasticsearch as the searchengine. To test, follow the test plan at Bug 29990 Comment 9. Ensure the SearchEngine system preference is set to Elasticsearch. Sponsored-by: Education Services Australia SCIS Signed-off-by: Lucas Gass Signed-off-by: Martin Renvoize Signed-off-by: Roman Dolny Signed-off-by: Thomas Klausner Signed-off-by: Katrin Fischer (cherry picked from commit 0fc9f22a935e66ae42a3dc07c4e2bd4c6905f616) Signed-off-by: Lucas Gass commit 15e35296481d66141ec8fa979b00d564e6d09a86 Author: Paul Derscheid Date: Thu Nov 7 11:11:46 2024 +0000 Bug 38100: (QA follow-up) Tidy changes in C4/XSLT.pm Signed-off-by: Katrin Fischer (cherry picked from commit 8ee845311810590a7cbb3d2de9ef3c046d9b39b2) Signed-off-by: Lucas Gass commit 1fbd8ebf83f697b5486455e762f692c1a1cd7e11 Author: Janusz Kaczmarek Date: Fri Oct 4 19:18:16 2024 +0000 Bug 38100: Unit tests Signed-off-by: Roman Dolny Signed-off-by: Paul Derscheid Signed-off-by: Katrin Fischer (cherry picked from commit af270fc2397a49f15795ce9f3839a9fd2b0bf0df) Signed-off-by: Lucas Gass commit de82706184490a28e7e6a1599f3e01fe4c5b3425 Author: Janusz Kaczmarek Date: Fri Oct 4 19:07:12 2024 +0000 Bug 38100: Items with damaged status are shown in OPAC results as "Not available" even with AllowHoldsOnDamagedItems Items with damaged status are shown on the OPAC results page as "Not available" even with AllowHoldsOnDamagedItems set to 'Allow', which is misleading for the users. 'other/Damaged' status should be assigned only if AllowHoldsOnDamagedItems is set to 'Don't allow'. Test plan: ========== 1. Check that AllowHoldsOnDamagedItems system preference is set to 'Allow'. 2. In librarian interface, change the damaged status of an item by setting it to 'Damaged'. 3. In OPAC, make a search for the record with this item attached. Use common words from title to get a list and not a single record. 4. Note that the item in question is labelled as 'Not available' (Damaged). 5. Apply the patch; restart_all. 6. Repeat p. 3. Note that the item is now labelled as 'available for loan'. 7. Set AllowHoldsOnDamagedItems system preference is set to 'Don't allow'. 8. Repeat p. 3. Note that the item is now labelled as 'Not available'. Signed-off-by: Roman Dolny Signed-off-by: Paul Derscheid Signed-off-by: Katrin Fischer (cherry picked from commit c3dc86286c29661357fb696ec6759b93df4bcc89) Signed-off-by: Lucas Gass commit 93e9d8dd169d911f6d9a16025f324cfb0c818645 Author: Paul Derscheid Date: Thu Nov 7 11:51:21 2024 +0000 Bug 37998: (QA follow-up) Remove excess whitespace in catalogue/itemsearch_item.json.inc Signed-off-by: Katrin Fischer (cherry picked from commit 48e7aad1f17f3d51f627a0d7604172c8665ad42c) Signed-off-by: Lucas Gass commit 76f82167f1803a08ccdf71c650a4a95028d03b24 Author: Janusz Kaczmarek Date: Tue Sep 24 21:05:32 2024 +0000 Bug 37998: Tabs and backslashes in the data break item search display If the item data (e.g. callnumber) contains a tab or backslash OR the title part contains a backslash, the DataTable displaying the item search results stops throwing an error modal "Something went wrong when loading the table. 200: OK." and a JS console log: "DataTables warning: table id=results - Invalid JSON response. For more information about this error, please see http://datatables.net/tn/1". Test plan: ========== 1. Make an item search w/o any parameters. 2. From the first result page choose a record and modify the title (245 $a) to contain " \ " string. Repeat the item search. You should see a modal "Something went wrong when loading the table. 200: OK.". 3. Remove the " \ " from the title. Verify that the problem no longer occurs. 4. In the same record, insert the string " \ " or a tab (copied from a text editor) into item data (itemcallnumber, enumchron, barcode etc.). 5. Repeat the item search. You should see again a modal "Something went wrong when loading the table. 200: OK.". 6. Apply the patch; restart_all. 7. Repeat p. 2, 3, 4, and 5. Verify, that the problem is solved. Sponsored-by: Ignatianum University in Cracow Signed-off-by: Roman Dolny Signed-off-by: Paul Derscheid Signed-off-by: Katrin Fischer (cherry picked from commit d289ebf0b36dc919f67d9947d6eee862e5362ce5) Signed-off-by: Lucas Gass commit b3dd152c5ebb22c8755838ce2d523dd35c9583d6 Author: Nick Clemens Date: Thu Oct 31 19:23:08 2024 +0000 Bug 37478: Rename strict to skip_bad_records and add POD Option name changed, POD updated. The reason not to do this by default is that it is an extra record conversion to check the validity, so may slow down the import. Signed-off-by: Martin Renvoize Signed-off-by: Katrin Fischer (cherry picked from commit cfb72ca7fac22e5ee6a92ac03fdad4fc9dca559c) Signed-off-by: Lucas Gass commit 2e252974f81d1d65ea42dfc7577a73807fc3570c Author: Nick Clemens Date: Thu Aug 22 11:26:52 2024 +0000 Bug 37478: (follow-up) Add MARC::Lint to cpanfile Signed-off-by: David Nind Signed-off-by: Martin Renvoize Signed-off-by: Katrin Fischer (cherry picked from commit 43fd84508d8017979d203363c7f3b6231562666d) Signed-off-by: Lucas Gass commit 49fef9bee9c3c2249ea11333bf66d18cd9279418 Author: Nick Clemens Date: Thu Jul 25 16:37:17 2024 +0000 Bug 37478: Add strict mode to bulkmarcimport This patch adds a conversion from MARC -> XML -> MARC to catch any parsing errors. If errors are found, we then lint the record to catch any problems, output the warnings, and skip the record. To test: 1 - Download the sample records from this bug report 2 - perl misc/migration_tools/bulkmarcimport.pl -b --file=520_nosubfield.mrc -v fails! 3 - perl misc/migration_tools/bulkmarcimport.pl -b --file=003_subfielda.mrc -v fails! 4 - Apply patch 5 - Repeat 2 & 3 - no change 6 - Add -st switch to the commands: perl misc/migration_tools/bulkmarcimport.pl -b --file=520_nosubfield.mrc -v -st perl misc/migration_tools/bulkmarcimport.pl -b --file=003_subfielda.mrc -v -st 7 - The records are now skipped, and the script completes 8 - Confirm the warnings generated are useful 9 - Sign off! Signed-off-by: David Nind Signed-off-by: Martin Renvoize Signed-off-by: Katrin Fischer (cherry picked from commit 0306281e417ffe8f3f7e3ff033f58a0872ce980d) Signed-off-by: Lucas Gass