commit c9230314ebfb35577c665af0df91a59cb6f6332a Author: Pedro Amorim Date: Wed Oct 15 13:11:42 2025 +0000 Bug 40504: Add tests Test plan, ktd, apply patches: 1) Enable ILLModule 2) Create a new ILL request, visit: /cgi-bin/koha/ill/ill-requests.pl?method=create&backend=Standard 3) Set a 'type', add a cardnumber e.g. '23529000035676', and a library. Click 'Submit'. 4) Notice the new 'Managed by' field entry on the 'Manage request' page. This should be assigned to your logged in user. 5) Click 'Edit request' from the top toolbar 6) Notice the new 'Managed by' form entry. Click 'Select manager' and click 'Search'. Only the 'koha' user should be returned. 7) Notice the message at the top 'Only staff with superlibrarian or ILL permissions are returned in the search results'. 8) Let's give 'ill' permissions to Edna Acosta, visit: /cgi-bin/koha/members/member-flags.pl?member=5 9) Search for 'ill' permission (Search for 'interlibrary' on the top right search bar) and set 'ill' permission to Edna Acosta. Save. 10) Repeat 6). Notice that now when you use the patron search modal Edna Acosta is also returned. Select Edna. Click 'Submit' to edit the request. 11) Edit again. Notice the 'Managed by' is showing 'You', with the message 'Previously was Edna Acosta'. This is the desired behavior mimicked from Suggestions i.e. the staff member that is editing the request details is assumed to becomes it's manager by default. The staff member must click 'Keep existing manager' if they want to submit changes without changing the request's manager. Test buttons, save, verify that it all works. 12) Visit the ILL list table: /cgi-bin/koha/ill/ill-requests.pl 13) Click 'columns' and pick 'Managed by'. Notice it shows correctly with the link to the patron and sorting also works. 14) Create a new user without permissions (OPAC only user) 15) Access the OPAC ILL and login as that user (preferably on a different browser session as we'll want to access the staff UI as staff member again), visit: /cgi-bin/koha/opac-illrequests.pl?op=add_form&backend=Standard 16) Pick a type and click 'Create' 17) Repeat 12) Notice the newly created request from OPAC is 'Managed by': Nobody. This is intentional as that request still needs to be assigned to a staff member. Suggestions testing: 1) This testing is also important as the existing suggestions 'Managed by' functionality has been abstracted to be utilized by both the suggestions and ILL module. 2) Access suggestions, visit: /cgi-bin/koha/suggestion/suggestion.pl 3) Click 'New purchase suggestion'. Notice the select manager button is also there. Click it and click 'search'. On the modal, the following message should show 'Only staff with superlibrarian or full suggestions permissions are returned in the search results' and the patrons shown should reflect that. 4) Do the same exercises here as we just did for the ILL module, i.e. create a staff member with permission 'suggestions.suggestions_manage' and ensure that shows on the modal, assign that patron as manager, edit again, verify that it defaults to 'You' and that the 'Keep existing manager' button works as before. 5) Finally, test the suggestions list table, repeat 2) and notice the 'Update manager' action at the bottom, test that that works just as well, by checking a few suggestions boxes, selecting a manager to your selection and clicking the 'Submit' button under it. Run tests: prove t/db_dependent/Koha/ILL/Request.t prove t/db_dependent/api/v1/ill_users.t Signed-off-by: Pedro commit 695558d7248a8c6a980f32ecef32cd68dbc5f85f Author: Pedro Amorim Date: Wed Oct 15 11:12:44 2025 +0000 Bug 40504: atomicupdate commit 6a89c77cceed470b37f81c282a212e9bee8650ae Author: Pedro Amorim Date: Wed Oct 15 11:00:30 2025 +0000 Bug 40504: Auto functionality: - The staff member who creates a new ILL request is automatically assigned as its manager. - No manager is assigned to ILL requests made by users without 'ill' permission e.g. patrons using the OPAC. - When an ILL request without a manager has its status changed, the staff member making the change is automatically assigned as its manager e.g. by clicking 'confirm' or 'revert request'. - It is possible to manually update a request's manager by clicking the 'Edit request' toolbar button when viewing a request. The patron search modal, 'select manager' button and all its functionality is shared with the 'select manager' present in the suggestions module. This means that when editing an ILL request, the 'managedby' defaults to the staff member editing the request, unless 'Keep existing manager' is clicked, like it happens in suggestions. - This is fully core built, all backends will automatically hook into this functionality, because: -- Automatic 'managedby' happen on status change, regardless of backend -- All requests have access to 'edit request' page, regardless of backend - Only if a logged in staff member exists does the auto set manager. If no staff member is found, nothing happens e.g. an ILL request status was changed by a CLI command / cronjob commit f36fcd1525840cf01d4d39c4221a649100bd0965 Author: Pedro Amorim Date: Wed Oct 15 10:52:18 2025 +0000 Bug 40504: UI improvements This turns the 'Select manager' and 'Restore manager' actions to proper buttons, well aligned in where they are displayed. The 'Select manager' functionality in the suggestions table page is also updated to make use of the same reusable button block commit 11fe01557123ae5bacea27b872d8a9ee4e6fa883 Author: Pedro Amorim Date: Wed Oct 15 09:10:40 2025 +0000 Bug 40504: Add 'managedby' to illrequests This also includes a 'manager' accessor which returns the Koha::Patron object commit 06a0c77caafbe8e45cdb33158a9edf1fc9359285 Author: Pedro Amorim Date: Wed Oct 15 09:09:51 2025 +0000 Bug 40504: dbic commit e24782af77afa1e4c29568a1e016ef305f1035d0 Author: Pedro Amorim Date: Wed Oct 15 09:09:28 2025 +0000 Bug 40504: Add ill/users API endpoint Required to get users filtered by 'ill' permission for patron search modal prove t/db_dependent/api/v1/ill_users.t commit 3e5e5efc46d04b4aadee6588c37a170e1c1d5ff5 Author: Pedro Amorim Date: Wed Oct 15 09:07:25 2025 +0000 Bug 40504: Preparation: Disambiguation of .clear_search This is required, or clicking 'Clear' on the ILL patron search modal will trigger this event listener and cause a JS error, as the 'regular' ILL table is not shown/initialized when editing an ILL request commit 3317847069b4e20b9c4488aa1cbaefcd1e1c4723 Author: Pedro Amorim Date: Wed Oct 15 09:06:29 2025 +0000 Bug 40504: Preparation: Add empty_table_settings option to patron_search_js This is required for ILL 'select manager' functionality, as table_settings are already defined there and the user modal table will pick that up unless explicitly stated to not use it, thus empty_table_settings commit de56e8ce15606529b12ad53979d3a665895ada57 Author: Pedro Amorim Date: Wed Oct 15 08:56:40 2025 +0000 Bug 40504: Preparation: Abstract 'managed by' functionality from suggestions Move 'managed by' and 'restore previous manager' form and show functionality to reusable .inc files 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