Commit Graph

58769 Commits

Author SHA1 Message Date
Brendan Lawlor ae67fcfe40
Bug 40819: Only initialize select2 for #report_param_form
This patch makes the the css selector specifically target the
report_param_form in guided reports

To test:
1. Go to Reports > Create guided report
2. Click Next >>
3. Click Next >>
3. Notice the form has been initialized as select2
4. Apply patch and refresh the page
5. Confirm the select column form is back to normal
6. Confirm select2 is still initialized for SQL reports
   example: select * from items where homebranch IN <<Library|branches:in>>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
(cherry picked from commit 646109833f)
Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
2025-09-25 16:22:49 +02:00
Owen Leonard 368fa69831
Bug 40510: Add context to the word "More" in several templates
This patch updates several templates to use internationalization
template functions to add context to the word "More." This gives
translators information about the context of the word.

To test, apply the patch and test that the correct strings are
translatable. In this example I'm testing fr-FR:

- Update a translation:

> gulp po:update
> cd misc/translator
> perl translate update fr-FR

- Open the corresponding .po file for the strings which were
  updated e.g.  misc/translator/po/fr-FR-messages.po
- Locate instances of the string 'msgid "More"', for example:

  #: koha-tmpl/intranet-tmpl/prog/en/modules/admin/identity_providers.tt:308
  msgctxt "Show more information"
  msgid "More"
  msgstr ""

- Edit each of the three instances of the "msgstr" string however you
  want (it's just for testing)
- Install the updated translation:

> perl translate install fr-FR

- In the staff interface, switch to the updated translation and confirm
  that your translations appear:
  - In the header menu
  - In the toolbar shown on a patron checkout or detail page
  - In Acquisitions -> Invoices -> Invoice search results ->
    - Click the invoice number
    - Follow the "Go to receipt page" link
    - If necessary, receive a pending order so that the "Already
      received" table appears.
    - Confirm that your translated string appears as a column header
  - Go to Administration -> Identity providers
    - Edit an identity provider
    - Under "Advanced configuration" you should see your translated
      string as a link to show more information about the fields.
    - Click the "Manage domains" link for an identity provider.
    - Edit a domain.
    - You should see your translated string as a link to show more
      information under the "Domain" field.

Sponsored-by: Athens County Public Libraries
Signed-off-by: Emmi Takkinen <emmi.takkinen@koha-suomi.fi>

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
(cherry picked from commit bf40cb58aa)
Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
2025-09-25 16:22:49 +02:00
Chloe Zermatten e1fe71f372
Bug 40807: fix: username field in quick add form
The username field would not appear in the quick add form despite being marked as required in BorrowerMandatoryField.
This was due the interaction between a change introduced by Bug 38459 and the dummy input for the username field.

This patch moves the dummy input so that the true input is the last child that the change in Bug 38459 targets.
This allows the username field to appear when added to BorrowerMandatoryField.

Test plan:
0. (Before applying the patch, follow the replication tests as in the comment above.)
1. Login to the Koha staff interface
2. Search system preferences for BorrowerMandatoryField
3. Toggle on Username (userid) so it is added to the list of fields and save your changes.
4. Navigate to /cgi-bin/koha/members/memberentry.pl?op=add_form&categorycode=PT, notice that username still shows and is marked as required
5. Navigate to /cgi-bin/koha/members/memberentry.pl?op=add_form&categorycode=PT&quickadd=true, notice that the username field does show.

Signed-off-by: Brendan Lawlor <blawlor@clamsnet.org>

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
(cherry picked from commit 6b92afd73f)
Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
2025-09-25 16:22:49 +02:00
Jonathan Druart 0bfefa98ad
Bug 40708: Fix Circulation/Returns.t
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
(cherry picked from commit 1091533b91)
Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
2025-09-25 16:22:48 +02:00
Jonathan Druart ae1d04953f
Bug 40708: Fix link to the about page
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
(cherry picked from commit 256a7641d9)
Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
2025-09-25 16:22:48 +02:00
Nick Clemens 341ce0efc5
Bug 40708: Return the specific error to the checkin page
When implemented, the message here was believed to either be about Duplicate IDs, or guarantor issues.
We are now seeing a wider variety of issues possible from SQL errors, lock timeout or missings rows as examples

This patch adds an 'ErrorMessage' message to the return from AddReturn and displays it to the user.

To test:
1 - Issue an item to a patron, note the itemnumber
2 - On the command line, lock the row:
    sudo koha-mysql kohadev
    START TRANSACTION;
    SELECT * FROM issues WHERE itemnumber=975 FOR UPDATE;
    leave mysql open at this point
3 - On the interface, check in the item, wait a bit
4 - After a bit you get the error to check the config page, but nothing is there
5 - close mysql, apply patch, restart all
6 - Repeat 2
7 - Check in the item, wait a bit
8 - Note you now get the error from the DB:
    Error: (DBIx::Class::Storage::DBI::_dbh_execute(): DBI Exception: DBD::mysql::st execute failed: Lock wait timeout exceeded; try restarting transaction at /kohadevbox/koha/Koha/Object.pm line 174 )
9 - Sign off!

Signed-off-by: Brendan Lawlor <blawlor@clamsnet.org>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
(cherry picked from commit 3f61f6088f)
Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
2025-09-25 16:22:48 +02:00
Andrew Fuerste Henry 6c8fb24ef1
Bug 40839: Add Keyword to advanced z39.50 search in advanced catalog editor
To test:
1 - apply patch
2 - go to advanced cataloging editor
3 - perform a keyword z39.50 search from the quick search, note results
4 - click Advanced and see Keyword is also a search option here
5 - repeat your search, confirm results match those frmo step 3

Signed-off-by: Trevor Diamond <trevor.diamond@mainlib.org>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
(cherry picked from commit dcbf3b51b1)
Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
2025-09-25 16:22:47 +02:00
Owen Leonard 49464a6b72
Bug 38877: Improve translation of title tags: OPAC part 3
This patch updates a batch of OPAC templates so that title tags can
be more easily translated.

To test, apply the patch and confirm that the following pages have
correct title tags:

As a user logged in to the OPAC:
- Change password (with OpacPasswordChange enabled)
- Privacy management (with OPACPrivacy enabled)
- Checkout history (with opacreadinghistory enabled)
- Search history (with EnableOpacSearchHistory enabled)
- Consent (set PrivacyPolicyConsent to "enforced")
- Place a recall (with UseRecalls enabled and recalls configured in
  Circulation & Fine rules)
  - View your recalls
- Place a hold
- Request and article (with ArticleRequests enabled and configured in
  Circulation & Fine rules)
- Submit a comment (with OPACComments enabled)
- View your routing lists (with RoutingSerials enabled):
  - In the staff interface, search for a subscription
  - View the subscription details
  - Click "Create routing list" in the sidebar
  - Add yourself to the recipients list
  - Return to the OPAC and view the routing lists page

Check these pages too:
- http://localhost:8080/cgi-bin/koha/opac-restrictedpage.pl
- Catalog search results
- Report a problem (with OPACReportProblem enabled)
- Password recovery (with OpacResetPassword enabled)
- Create an account (with PatronSelfRegistration enabled)
  - Test with PatronSelfRegistrationConfirmEmail enabled.

Sponsored-by: Athens County Public Libraries
Signed-off-by: David Nind <david@davidnind.com>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
(cherry picked from commit c20adb42cb)
Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
2025-09-25 16:22:47 +02:00
Owen Leonard d6cbafaa60
Bug 36095: Improve translation of title tags: OPAC part 2
This patch updates a batch of OPAC templates so that title tags can
be more easily translated.

To test, apply the patch and confirm that the following pages have
correct title tags:

- Check the OPAC main page
- Follow the "Libraries" link
  - Check one of the individual library pages
- From the OPAC main page, view the RSS feed for OPAC news (requires at
  least one news item be added via Tools -> News -> New entry).
- Search the catalog and view the detail page for one of the results.
- View the IDREF page, e.g.
  http://localhost:8080/cgi-bin/koha/opac-idref.pl?unimarc3=032581270
- With OverDrive configured and enabled, perform a catalog search.
  - Follow the "Found X results in the library's OverDrive credentials"
    link to view OverDrive search results.
- These pages normally aren't accessed directly but they are modified:
  Download cart, e.g. http://localhost:8080/cgi-bin/koha/opac-downloadcart.pl?bib_list=5302/4893/4594
  Download shelf, e.g. http://localhost:8080/cgi-bin/koha/opac-downloadshelf.pl?shelfnumber=X
  Checkout  note, e.g. http://localhost:8080/cgi-bin/koha/opac-issue-note.pl?issue_id=X
- In the staff client, add a local cover image to a bibliographic record
  (requires the OPACLocalCoverImages system preference be enabled).
  - View the detail page for that record in the OPAC.
    - Under the images tab, right-click the image thumbnail and open in
      a new tab.
- Search the catalog for a record with a subscription and view the
  detail page. Under the "Subscriptions" page, click "More details,"
  then the "Full history" tab.
- In the staff client, go to Tools -> Pages and create a page for the
  OPAC. View that page.
- Log in to the OPAC. From your "Summary" page,
  - View the curbside pickups page (requires the CurbsidePickup
    preference be enabled)
  - View the "Ask for discharge" page (requires the useDischarge
    preference be enabled)
  - View the holds history page (requires the OPACHoldsHistory
    preference be enabled)
  - View the ILL requests page (requires the ILLModule preference be
    enabled
  - View the "Personal details" page.
  - View the messaging page (requires the
    EnhancedMessagingPreferencesOPAC preference be enabled)
  - From the "Summary" page, under the "Checked out" tab, click the "Add
    note" for one of the checkouts (requires the AllowCheckoutNotes
    preference be enabled).
    - After adding a note
  - View the "Personal details" page and submit an edit (requires
    the OPACPatronDetails preference be enabled). Check the confirmation
    page.

Sponsored-by: Athens County Public Libraries
Signed-off-by: David Nind <david@davidnind.com>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
(cherry picked from commit 63f3a3f243)
Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
2025-09-25 16:22:46 +02:00
Jonathan Druart dce4312d91
Bug 40774: Fix content type description
The authorised value category for 'EBook' is not defined.

Signed-off-by: Christian Nelson <christian.nelson@uwasa.fi>
Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
(cherry picked from commit c62b4a031e)
Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
2025-09-25 16:22:46 +02:00
Jonathan Druart cca28e4314
Bug 40774: Fix get_lib_from_av calls
The authorised value category for 'authorisedValues.av_title_publication_types' is not defined.

Signed-off-by: Christian Nelson <christian.nelson@uwasa.fi>
Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
(cherry picked from commit 7cd822031a)
Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
2025-09-25 16:22:46 +02:00
Jonathan Druart 8d65984568
Bug 40774: Fix EBSCO's package list view
TypeError: can't access property "authorised_values", e.type is undefined
Signed-off-by: Christian Nelson <christian.nelson@uwasa.fi>
Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
(cherry picked from commit af8efd85ec)
Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
2025-09-25 16:22:45 +02:00
Nick Clemens ba8d8ea3bc
Bug 31460: Merge item groups when merging records
Test:
1. Have a record (A) with 3 items.
2. Create an item group with 2 of these items.
3. Have a second record (B) with 4 items
4. Create an item group with 2 of these items.
5. Merge the two records together keeping record A
6. Results will show that all items are moved over to record A, but the item group from record B, is not there.
7. Apply patch
8. Create a new record (C) with 3 items.
9. Create an item group with 2 of these items
10. Merge this into record A
11. The item groups are moved!

Signed-off-by: Miranda Nero <mnero@oslri.net>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
(cherry picked from commit f7897d7d81)
Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
2025-09-25 16:22:45 +02:00
Tomás Cohen Arazi 9e2eafec0e
Bug 40812: Move Theke sample plugin repo to GitHub
Signed-off-by: Tomás Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Martin Renvoize <martin.renvoize@openfifth.co.uk>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
(cherry picked from commit 18ff4d4933)
Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
2025-09-25 16:22:44 +02:00
Julian Maurice 62cf4bd7dd
Bug 39980: Add license and POD to Koha::App::Controller::CGI
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
(cherry picked from commit 4df64c79f0)
Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
2025-09-25 16:22:44 +02:00
Jonathan Druart a0d12b6077
Bug 39980: Add Test::NoWarnings
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
(cherry picked from commit ad3ca52450)
Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
2025-09-25 16:22:44 +02:00
Julian Maurice 32b31e2a27
Bug 39980: Add tests for .../acquisition/vendors* in Mojo context
Signed-off-by: David Nind <david@davidnind.com>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
(cherry picked from commit 54f84f232a)
Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
2025-09-25 16:22:43 +02:00
Julian Maurice 8192a36a7d
Bug 39980: Fix vendors pages when using Koha as a Mojo app
Bug 38010 broke the vendors pages when Koha is running as a Mojolicious
application

This adds new routes to Koha::App::Intranet to mimic the Apache rewrite
rules added in bug 38010.

To be able to do that, the CGIBinKoha plugin's code had to be moved to a
controller. The logic remains the same.

Test plan:
1. Run `bin/intranet daemon -l http://*:3000/`
2. Point your browser to http://localhost:3000 (replace localhost by the
   hostname/IP of koha's container, if needed)
3. Go to Acquisitions and search for a vendor. You should see the list
   of vendors.
4. Click on "New vendor" button. Notice the URL changed to
   .../acquisition/vendors/add.
5. Reload the page. You should still see the form to create a new vendor
6. Verify that you can create a vendor and that you are then redirected
   to the list of vendors

Signed-off-by: David Nind <david@davidnind.com>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
(cherry picked from commit b92fda21ce)
Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
2025-09-25 16:22:43 +02:00
Owen Leonard 5856ae4897
Bug 40612: Eliminate duplicate element id in OPAC language menus
This patch updates the include file used to display the OPAC language
menu in the header and footer. The include already makes use of a
"context" variable which tells it whether it's in the header or footer.
We can use the same logic to give unique ids for each instance.

To test, apply the patch and rebuild the OPAC CSS.

- Go to Administration -> System preferences -> OpacLangSelectorMode and
  set it to "both top and footer."
- Go to the OPAC and inspect the HTML for each language menu. The one in
  the header should have the id "header_langmenu." The one in the footer
  should have "footer_langmenu."

Sponsored-by: Athens County Public Libraries
Signed-off-by: Ludovic Julien <ludovic.julien@inLibro.com>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
(cherry picked from commit 46ed6fbc04)
Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
2025-09-25 16:22:43 +02:00
Jake Deery 1591869c08
Bug 40780: Advsearch ButtonMinus moves focus to next or prev line
This patch will cause the ButtonMinus button on each of the advsearch
fieldsets to jump the focus to the next or previous line, whichever is
available. This is in response to a recent accessibility audit performed
by one of our customers. Thanks!

TO TEST:
a)  go to /cgi-bin/koha/opac-search.pl?expanded_options=1
b)  click / tab onto the ButtonMinus next to a field, click / press
enter
c)  notice how the focus disappears
APPLY PATCH
d)  repeat steps a-b
e)  notice how the focus now either goes to the next line (if available)
or the previous line (otherwise)
SIGN OFF

Signed-off-by: Emmanuel Bétemps <e.betemps@gmail.com>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
(cherry picked from commit 14c25fe64e)
Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
2025-09-25 16:22:42 +02:00
Jake Deery fe12e361f9
Bug 40782: Selections toolbar checkbox now adds tabindex -1
This patch now sets tabindex to -1 if a disabled class is applied to a
control, and removes it when the class evaporates. This improves
accessibility by making these disabled items non-focusable.

To test:
a)  make a search on the OPAC
b)  tab through the selections toolbar, notice how visually disabled
    items are focusable
APPLY PATCH
c)  repeat steps a-b, notice how the elements are no longer focusable
SIGN OFF

Signed-off-by: Owen Leonard <oleonard@myacpl.org>

Bug 40782: (follow-up) Tidy results-list.js

Tidy converts single quotes to double quotes

Signed-off-by: Owen Leonard <oleonard@myacpl.org>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
(cherry picked from commit 0c6402b951)
Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
2025-09-25 16:22:42 +02:00
David Cook e9b45d28a0
Bug 40689: Fix "Damaged status" and "Lost status" on moredetail.pl
This change just repairs moredetail.tt to re-apply the fix from bug 16157
which seems to have only been partially applied back in 2016.

Test plan:
0. Apply the patch
1. Set the "Damaged status", "Withdrawn status", and "Lost status" for an item
2. Create a user that only has "catalogue" permission and log in as them
3. Go to /cgi-bin/koha/catalogue/moredetail.pl?biblionumber=<biblionumber from item>
4. Note how "Withdrawn status", "Lost status", and "Damaged status" all appear now

Signed-off-by: Noah Tremblay <noah.tremblay@inlibro.com>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
(cherry picked from commit 9278eed6f2)
Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
2025-09-25 16:22:41 +02:00
Pedro Amorim d5fb5fab80
Bug 40734: Fix creating new library with additional fields
Test plan, dont apply patch yet:
1. Go to Administration > Additional fields > Libraries (branches) > New field
2. Enter a name for the field
3. Click Save
4. Go to Administration > Libraries > New library
   --> The form does not contain the additional field
5. Apply patch. Repeat.

Signed-off-by: David Nind <david@davidnind.com>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
(cherry picked from commit e9713e5a03)
Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
2025-09-25 16:22:41 +02:00
Lucas Gass c2334322f2
Bug 40763: Swap alert-info class with alert-warning class
1. Go to SCO
2. Login but use the wrong password
3. The alert appears "You entered an incorrect username or password. Please try again! But note that passwords are case sensitive. Please contact a library staff member if you continue to have problems."
4. This alert is in a blue box with the class alert-info
5. APPLY PATCH
6. Try again, the box should be yellow with the alert-warning class.

Signed-off-by: Noah Tremblay <noah.tremblay@inlibro.com>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
(cherry picked from commit a1bf7e1ab9)
Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
2025-09-25 16:22:41 +02:00
David Cook 9bcc48d7e8
Bug 40702: Add missing "Title" header in Inventory csv export
This patch adds a missing "Title" header in the Inventory csv export.

Test plan:
0. Apply the patch and koha-plack --restart kohadev
1. Go to http://localhost:8081/cgi-bin/koha/tools/inventory.pl
2. Check the "Export to CSV file" checkbox and click "Submit"
3. In the export, note that the A1 cell now says "Title"

Signed-off-by: Noah Tremblay <noah.tremblay@inlibro.com>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
(cherry picked from commit c5a9f270ba)
Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
2025-09-25 16:22:40 +02:00
Owen Leonard 1a1fc99f36
Bug 40602: Broken HTML showing in Alert 'subscriptions' tab
This patch adds handling of the "no-html" flag to patron-title.inc. The
OPAC alert subscriptions page passes the "no-html" flag but the include
file wasn't written to include it.

To test, apply the patch and log in to the OPAC as a user who has a
title (salutation).

- Add a serial subscription and set a notification template
- Go to the OPAC and subscribe to the email notification for this
  subscription
- Go to the patron account > Alert subscriptions tab
- Verify that the last column shows an "Unsubscribe from email alerts"
  button.
- There should be no errant HTML.

Sponsored-by: Athens County Public Libraries
Signed-off-by: Noah Tremblay <noah.tremblay@inlibro.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
(cherry picked from commit 97226193a6)
Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
2025-09-25 16:22:40 +02:00
Jonathan Druart c7282c7856
Bug 40803: Remove two unused parameter
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
(cherry picked from commit 3b041f4cf0)
Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
2025-09-25 16:22:40 +02:00
Nick Clemens 75e25b4699
Bug 40803: Use submit form link to submit renewals from overdue items tab in opac user account
To test:
1 - Check out an item to a patron, backdated to be overdue
2 - Log in as that user to the OPAC
3 - From 'Your summary' - click the overdue tab, click renew
4 - 500 Error
5 - Apply patch
6 - Reload the page and repeat
7 - Success!

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
(cherry picked from commit 0219e4baf8)
Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
2025-09-25 16:22:39 +02:00
David Cook 755c0fe1b7
Bug 40523: Remove unused variable from datatables.js
This change removes an unused variable from datatables.js

Test plan:
0. Apply the patch
1. Go to http://localhost:8080/cgi-bin/koha/opac-main.pl
2. Search for this payload: "abc123"
3. Click on "Search history" in the top right corner of the screen
4. Click ""CSV", "Copy", and "Print" on the "Current session" toolbar
5. Note that all the buttons work as expected

Signed-off-by: Owen Leonard <oleonard@myacpl.org>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
(cherry picked from commit b572ae29eb)
Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
2025-09-25 16:22:39 +02:00
David Cook 1728a81dc5
Bug 40773: Do not map "vue/dist" files in Makefile
This change ensures that "vue/dist" files are not mapped into
the pm_to_blib target of the Makefile, so that they are only handled
by the explicit compile steps in the top targets of the Makefile.

Test plan:
0. Apply the patch
1. perl build-resources.PL
2. ls ./koha-tmpl/intranet-tmpl/prog/js/vue/dist
3. Note that files are present
4. perl Makefile.PL
5. Take all the defaults
6. vi Makefile
7. Search for vue\/dist
8. Note that the only hit is for "cp -r koha-tmpl/intranet-tmpl/prog/js/vue/dist
blib/INTRANET_TMPL_DIR/prog/js/vue/"

Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
(cherry picked from commit 0b6f7a2701)
Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
2025-09-25 16:22:38 +02:00
Jonathan Druart 2ee0a54788
Bug 40765: Fix EDI.t
I have no idea why this is fixing the test!

Without this patch they fail:

t/db_dependent/Koha/EDI.t .. 1/5
    #   Failed test '14 log lines recorded for passed invoice file'
    #   at t/db_dependent/Koha/EDI.t line 725.
    #          got: '12'
    #     expected: '14'

    #   Failed test 'Warn recorded for transferring items'
    #   at t/db_dependent/Koha/EDI.t line 728.
    #                   'Unmatched item at branch:WID'
    #     doesn't match '(?^u:transferring.*)'

    #   Failed test 'Warn recorded for transferring items'
    #   at t/db_dependent/Koha/EDI.t line 728.
    #                   ''
    #     doesn't match '(?^u:transferring.*)'

    #   Failed test 'Warn recorded for unmatched item'
    #   at t/db_dependent/Koha/EDI.t line 728.
    #                   ''
    #     doesn't match '(?^u:Unmatched item at branch:.*)'
    # Looks like you failed 4 tests of 32.

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
(cherry picked from commit ec2fbf3a4d)
Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
2025-09-25 16:22:38 +02:00
Jonathan Druart ba7b962235
Bug 40765: Prevent acquisition tests to fail if order.quantity = 0
When using TestBuilder to build an order the tests will fail when the object will be saved:

00:09:41 koha-1      |     # Looks like you planned 58 tests but ran 26.
00:09:41 koha-1      |
00:09:41 koha-1      | #   Failed test 'cancel() tests'
00:09:41 koha-1      | #   at t/db_dependent/Koha/Acquisition/Order.t line 1042.
00:09:41 koha-1      | Cannot insert order: Mandatory parameter quantity is missing at t/db_dependent/Koha/Acquisition/Order.t line 868.
00:09:41 koha-1      | # Looks like your test exited with 255 just after 14.
00:09:41 koha-1      | [22:03:54] t/db_dependent/Koha/Acquisition/Order.t

This happened on Koha_Main/3350

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
(cherry picked from commit 621b75ddf0)
Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
2025-09-25 16:22:38 +02:00
David Nind c0b74874b9
Bug 40468: Terminology on About > Licenses page - use US spelling
On the licenses page, there are some occurrences of "licence"
(British English spelling). License (US American spelling)
should be used.

Test plan:
1. Go to More > About Koha > Licenses.
2. Search the page for "licence".
3. Note some occurrences of "licence", which is the British English
   spelling.
4. Apply the patch and refresh the page.
5. Repeat step 2.
6. Note that there are now no occurences of "licence".
7. Sign off.

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Andrew Fuerste Henry <andrew@bywatersolutions.com>

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
(cherry picked from commit 11c1c88a68)
Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
2025-09-25 16:22:33 +02:00
Paul Derscheid f62f0645ae
Revert "Bug 15516: Fix Cypress test"
This reverts commit 11678357bb.

Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
2025-09-25 15:55:58 +02:00
Paul Derscheid 3e40468620
Revert "Bug 36135: Add batch_modify_holds permissions"
This reverts commit 21917b5d9e.

Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
2025-09-25 15:55:57 +02:00
Paul Derscheid 0c99c3229c
Revert "Bug 36135: Add ability to batch modify holds"
This reverts commit 3706351ac1.

Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
2025-09-25 15:55:56 +02:00
Paul Derscheid 88328ccd95
Revert "Bug 36135: Fix syntax error in permissions.inc"
This reverts commit 509909ac11.

Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
2025-09-25 15:55:56 +02:00
Paul Derscheid c03ba1c8c0
Revert "Bug 36135: Fix forbidden pattern"
This reverts commit 23bad2362d.

Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
2025-09-25 15:55:55 +02:00
Paul Derscheid 0b730bb14c
Revert "Bug 36135: Make modified_holds table not use the API"
This reverts commit cf14a4a7e8.

Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
2025-09-25 15:55:55 +02:00
Paul Derscheid 8470b2e10d
Revert "Bug 36135: Correct tools-menu category logic"
This reverts commit 645a4fd7c5.

Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
2025-09-25 15:55:55 +02:00
Paul Derscheid 3d8b3e8efa
Revert "Bug 36135: (follow-up) Fix suspension search and other improvements"
This reverts commit 2248ac8544.

Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
2025-09-25 15:55:54 +02:00
Paul Derscheid 39a1bec6ce
Revert "Bug 36135: Require users to have batch_modify_holds and place_holds permssion to use the tool"
This reverts commit 8e6c352963.

Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
2025-09-25 15:55:54 +02:00
Paul Derscheid 9271312915
Revert "Bug 36135: DBRev 25.05.03.008"
This reverts commit 791921c6e4.

Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
2025-09-25 15:55:53 +02:00
Paul Derscheid 46c4ae220e
Revert "Bug 36135: Fix t/Koha/Auth/Permissions.t"
This reverts commit cf7e5338d7.

Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
2025-09-25 15:55:53 +02:00
Paul Derscheid 29f7415bfd
Revert "Bug 36135: Fix Cypress test"
This reverts commit 4a4541826a.

Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
2025-09-25 15:55:48 +02:00
Jonathan Druart f71311d392
Bug 40753: Fix DT's SaveState on the orders table
We build the the orders table depending on some conditions (sysprefs or if the
basket is closed/opened).
DataTables cannot correctly restore the state because the number of columns
stored in localStorage is different than the one we have one the table.

Test plan:
Open and close a basket
Confirm that the table is correctly displayed (no extra columns)

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
(cherry picked from commit 8456184878)
Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
2025-09-20 10:43:58 +02:00
Jonathan Druart c2a7a1906c
Bug 39930: Prevent DT's state to be lost overnight
The default value for stateDuration is 7200 (2h). Which means DataTables
will ignore the saved state if reused after this delay.

Additionally is causes problem on some tables where the default state is
not restored and all columns are displayed.

From https://datatables.net/reference/option/stateDuration
```
Please note that the value is given in seconds. The value 0 is a special value as it indicates that the state can be stored and retrieved indefinitely with no time limit.
```

We are going to set it to 0 so that the state is only lost/reset after a
logout

Test plan:
Ideally you can should edit this file and set saveState to 60 (seconds),
so it's easy to test.
Do not apply this patch and confirm that the state is not restored after
either 60s or 2h (if you modified the file or not).
It is a problem on the checkout list table as extra columns (like
"Today's checkouts") are displayed.

With this patch applied the state should be restored correctly.
If you logout the state will be lost however.

Ideally we might want to store user's preferences on the server.

Signed-off-by: Ludovic Julien <ludovic.julien@inLibro.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
(cherry picked from commit ad11a32584)
Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
2025-09-20 10:43:56 +02:00
Pedro Amorim 8ac94d1226
Bug 39345: (QA follow-up): Fix erm_custom_reports.t
prove t/db_dependent/api/v1/erm_custom_reports.t

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
(cherry picked from commit 7491053be6)
Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
2025-09-20 10:43:56 +02:00
Pedro Amorim d3aa5ec2d7
Bug 39345: (QA follow-up): Add exception handling for unsupported counter release
To test this on the UI, you can add the following line of code at the beginning on 'new' in SushiCounter.pm:
->{response}->{Report_Header}->{Release} = 6;

This will force the release to be '6'. Then you can perform a harvest using the UI. The background job will fail with the error message saying that counter release 6 is not supported

prove t/db_dependent/Koha/BackgroundJobs/ErmSushiHarvester.t

Signed-off-by: Eric Phetteplace <phette23@gmail.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
(cherry picked from commit 9482590909)
Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
2025-09-20 10:43:55 +02:00
Pedro Amorim 0f7cd550a0
Bug 39345: (QA follow-up): Fix QA complaints
QA script still fails but I believe these are false positives caused by the tests files being moved

Signed-off-by: Eric Phetteplace <phette23@gmail.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
(cherry picked from commit dcf28e5b8a)
Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
2025-09-20 10:43:55 +02:00