Commit Graph

56736 Commits

Author SHA1 Message Date
Lucas Gass acadcb41b7
Bug 39881: Add patron card number to transfers to receive table
To test:
0. APPLY PATCH
1. Transfer an item from Library A to Library B
2. Place and item-level hold on the item
3. Set library to Library B
4. Go to Circulation >  Transfers to receive
5. In the 'On hold for' column you should now see the patron card number.

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Aleisha Amohia <aleishaamohia@hotmail.com>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
(cherry picked from commit 295fd3bf89)
Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
(cherry picked from commit 9fcc9a30f3)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2025-07-31 16:02:36 +02:00
Andrew Fuerste Henry 23f1445879
Bug 40332: Show tools sidebar category for batch extend due dates permission
To test:
1 - have or create a user with the permissions batch_extend_due_dates edit_quotes but no other Tools
2 - log into koha as that user, go to Tools module, confirm both Batch Extend Due Dates and Quote Editor are available from the Tools module home page
3 - Click into either available tool, confirm the sidebar menu contains the category Additional Tools and a link to Quote Editor, but nothing else
4 - add the edit_notices permission to your user
5 - reload your page from step 3, confirm the sidebar menu now also contains the Patrons & Circulation category with both Notices & Slips and Batch Extend Due Dates.
6 - apply patch, restart services, reload page, confirm nothing has changed
7 - remove the edit_notices permission from your user
8 - reload your page from step 3, confirm the sidebar menu now contains the Patrons & Circulation category with only Batch Extend Due Dates.

Signed-off-by: David Flater <flaterdavid@gmail.com>
Signed-off-by: Emily Lamancusa <emily.lamancusa@montgomerycountymd.gov>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
(cherry picked from commit e98fab0502)
Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
(cherry picked from commit 94a50dd6e6)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2025-07-31 15:51:55 +02:00
Emily Lamancusa 0d3ffab860
Bug 39572: Improve EDIFACT order confirmation message
Add EAN account information to EDIFACT order confirmation message
when the BasketConfirmations system preference is enabled.

To test:
1. Set EDIFACT system preference to Enable
2. Set BasketConfirmations system preference to Enable
3. Create at least 2 EANs, one with a description and one without a
   description
   i. Go to Acquisitions > Library EANs
   ii. Click "New EAN" and fill in the fields
4. Create an EDI account
   i. Go to Acquisitions > EDI accounts
   ii. Click "New account"
   iii. Click Submit (for testing purposes you don't need to fill in
         the fields)
5. Find or create a basket for the same vendor that's on the EDI account
6. Add an order to the basket from any source
7. In the menu bar at the top of the basket screen, click "Create
   EDIFACT order" and select an EAN
--> Note that the confirmation page doesn't tell you which EAN was
    selected
8. Click "No, don't close"
9. Apply patch and restart_all
10. Repeat step 7
--> The confirmation page should now display both the basket and the
    selected EAN
11. Click "Cancel"
--> Confirm that the basket is still open
12. Repeat step 7
13. Click "Yes, generate order and close basket"
--> Confirm the basket is closed
14. Click "EDIFACT messages" in the sidebar menu
--> Confirm that you see a message with type ORDERS for that basket

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@openfifth.co.uk>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
(cherry picked from commit 0c9e5029b3)
Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
(cherry picked from commit ea49cfb38b)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2025-07-31 15:48:37 +02:00
Fridolin Somers 2de7cf8b86
Bug 40088: Do not show edit button for default framework
In Administration > MARC bibliographic frameworks > "MARC structure":
Do not show "Edit framework" button in tools bar since one can not edit
the default framework description.
Currently it leads to new framework creation.

Test plan :
1) Go to Administration > MARC bibliographic frameworks
2) On default framework row, click Actions > MARC structure
3) Check you dont see in tool bar "Edit framework" button
4) Go to Administration > MARC bibliographic frameworks
5) On a framework row (not default one), click Actions > MARC structure
6) Check you see in tool bar "Edit framework" button

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

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
(cherry picked from commit c3eccceae5)
Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
(cherry picked from commit 5f8958d220)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2025-07-31 15:29:03 +02:00
Fridolin Somers a234ec29a9
Bug 39827: Fix framework code in edit framework button
In Administration > MARC bibliographic frameworks the "Edit framework" button in tools bar always edits default framework

Test plan :
1) Go to Administration > MARC bibliographic frameworks
2) On any framework except default one click on actions then "MARC structure"
3) In tools bar click on "Edit framework"
4) Check you are editing the correct framework

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Emily Lamancusa <emily.lamancusa@montgomerycountymd.gov>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit e8dcf3e898)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2025-07-31 15:28:28 +02:00
Lari Strand a24bb09254
Bug 32934: Correctly honor the no block due date for SIP checkout messages
**Problem:**
When using SIP checkout messages with the "no block" flag, the specified due date
was being ignored. Instead of honoring the provided due date, the system would:
1. Use the due date as the transaction timestamp (incorrect behavior)
2. Calculate a new due date based on circulation rules
3. Return an empty due date field (AH) in the SIP response

This affected SIP2 integrations where external systems needed to specify exact
due dates for checkouts, particularly for offline circulation scenarios.

**Root Cause:**
The `ProcessOfflineIssue` function in C4::Circulation was only returning a
success/failure message, but the SIP checkout transaction needed access to the
resulting checkout object to properly set the due date. The SIP Transaction::Checkout
module was calling `ProcessOfflineIssue` but couldn't retrieve the checkout details
to populate the transaction's due date field.

**Solution:**
1. Modified `ProcessOfflineIssue` to return both the status message AND the checkout
   object: `return ( "Success.", $checkout );`
2. Updated `ProcessOfflineOperation` to handle the new return format by capturing
   only the message: `( $report ) = ProcessOfflineIssue( $operation );`
3. Modified SIP Transaction::Checkout to capture both return values and use the
   checkout object to set the proper due date via `duedatefromissue`
4. Fixed the timestamp parameter to use `dt_from_string` instead of the due date

**Test Plan:**
1. **Unit Tests:**
   - Run `prove t/db_dependent/Circulation/OfflineCirculation.t` to verify
     ProcessOfflineIssue returns checkout object and respects due_date parameter
   - Run `prove t/db_dependent/SIP/Transaction.t` to verify SIP checkout honors
     no_block_due_date parameter

2. **Manual SIP Testing:**
   - Connect to SIP server via telnet on port 6001
   - Send checkout message with no block flag and specific due date:
     `111YN20250115    18000120241201    180001AP|AO|AC|AD|AB<barcode>|AA<cardnumber>|`
   - Verify response contains correct due date in AH field
   - Verify checkout record in database has the specified due date

3. **Regression Testing:**
   - Verify normal SIP checkouts (without no block) still work correctly
   - Verify offline circulation operations continue to function
   - Verify ProcessOfflineOperation still processes queued operations correctly

Signed-off-by: Brendan Lawlor <blawlor@clamsnet.org>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@openfifth.co.uk>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
(cherry picked from commit 4d069e5006)
Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
(cherry picked from commit d1f3ba0767)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2025-07-31 15:03:31 +02:00
Martin Renvoize 5cfd349d10
Bug 32934: Unit tests
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
(cherry picked from commit 04ab86f1f7)
Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
(cherry picked from commit ecdcdcfb75)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2025-07-31 15:02:17 +02:00
Andrii Nugged 84321c9b15
Bug 40092: Fill auto-populated control fields in MARC editors
Problem: Clicking Save doesn't fill control fields automatically in both the authority and bibliographic MARC editors.

Regression introduced when class `framework_plugin` was added: `AreMandatoriesNotOk()` rewrites the element `class` attribute with a hard‑coded string, dropping existing classes. Because the plugins that populate 000/003/005/008 rely on `framework_plugin`, the inputs are skipped and the fields remain empty.

This patch stops clobbering the attribute and instead appends the visual 'notFilled' class via `elt.classList.add()`. The one-line fix is applied in both `authorities.tt` and `addbiblio.tt`.

Test plan:

Authority editor

1. Authorities → New authority → choose framework (e.g. Topical term).
2. Leave all fields blank, click Save.
   Before patch: 000, 003, 008 remain blank; required tags turn yellow.
3. Apply patch, hard‑refresh, repeat steps 1–2.
   After patch: control fields auto‑populate as in 24.11.

Bibliographic editor

1. Cataloguing → New record (Not in Advanced MARC editor).
2. Click Save without entering data.
   Before patch: control fields stay blank; record cannot be saved.
3. Apply patch, hard‑refresh, repeat.
   After patch: record is blocked, but 000/005/008 auto‑populate.

Both editors behave like 24.11; mandatory highlighting still works.

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Aleisha Amohia <aleishaamohia@hotmail.com>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
(cherry picked from commit 4c4023c41c)
Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
(cherry picked from commit 3fd87e0ddd)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2025-07-31 14:54:29 +02:00
Owen Leonard e17a2a4fc1
Bug 40111: Fix title sorting on two reports
This patch modifies two reports in order to correct sorting on title
columns.

To test, apply the patch and got to reports -> Lost items.

- Run the report with parameters that will return multiple results.
  - Test sorting the title column. The articles 'a', 'an', and 'the'
    should be ignored.
- Perform the same test with the "Orders by fund" report.

Sponsored-by: Athens County Public Libraries
Signed-off-by: Anneli Österman <anneli.osterman@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 b94f53291c)
Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
(cherry picked from commit bd43f8df50)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2025-07-31 14:46:16 +02:00
Owen Leonard 17c8c770c2
Bug 40165: Incomplete logic for controlling display of OPAC language footer
This patch adds some additional logic to the template which controls the
appearance of the footer in the OPAC. Some additional checks are
required to make sure an empty footer doesn't display in some
circumstances.

To test, apply the patch and install at least one additional translation
besides English.

Check any OPAC page when various combinations of system preferences are
enabled:

- opaclanguagesdisplay
- OPACLanguages
- OpacLangSelectorMode
- OPACReportProblem
- CookieConsent
- OpacKohaUurl

In particular, confirm that there is not an empty footer when
opaclanguagesdisplay is enabled but there is only one translation
enabled.

Sponsored-by: Athens County Public Libraries
Signed-off-by: Roman Dolny <roman.dolny@jezuici.pl>

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
(cherry picked from commit 78b8a2e6f1)
Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
(cherry picked from commit 7aca5cfa90)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2025-07-31 14:42:34 +02:00
Fridolin Somers 46abe2fafb
Revert "Bug 36586: Define self-checkin timer using Javascript class"
This reverts commit b5bc9cf343.
2025-07-31 14:34:37 +02:00
Jonathan Druart 11b58bc552
Bug 40317: Remove warnings from Auth_with_shibboleth.t output
t/db_dependent/Auth_with_shibboleth.t .. 1/5 GetPreparedLetter called at t/db_dependent/Auth_with_shibboleth.t line 73.
EnqueueLetter called at t/db_dependent/Auth_with_shibboleth.t line 80.
SendQueuedMessages called with message_id: 42 at t/db_dependent/Auth_with_shibboleth.t line 90.

Not sure what exactly is going on here, but warnings_are is not supposed
to show the warnings in the output. I think it's because of the logger
mock. A workaround is to use a variable we increment then compare to see
if we reach the sub.

Test plan:
  % prove t/db_dependent/Auth_with_shibboleth.t
should return green without warnings

Signed-off-by: Martin Renvoize <martin.renvoize@openfifth.co.uk>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
(cherry picked from commit f8fd672602)
Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
(cherry picked from commit 6d12848ba3)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2025-07-31 14:13:46 +02:00
Jonathan Druart 4ce645a170
Bug 40316: Remove warnings from selenium/regressions.t
Wide character in print at /usr/share/perl/5.36/Test2/Formatter/TAP.pm line 156.

Test plan:
Confirm that
  % prove t/db_dependent/selenium/regressions.t
still passes and does not generate warnings

Signed-off-by: Martin Renvoize <martin.renvoize@openfifth.co.uk>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
(cherry picked from commit 5f44a5ef5a)
Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
(cherry picked from commit fc9647c5ac)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2025-07-31 14:05:45 +02:00
William Lavoie 5adb51cdd3
Bug 19113: Barcode value builder not working with numeric branchcode
The regexp for the value builder 'hbyymmincr' doesn't allow for numerics in the branchcode,
so the nextnum found is always 0 and multiple Add always generate the same barcode.
This simply allow for numerics within the regex.

Test
- It's a bit complicated.  You need
   - all your branchcodes to be numerics (01,02,71...)
   - all barcodes to already be a bunch of numbers
- Modify the syspref 'autobarcode' to hbyymmincr, the home branch + date one.
- Find an item in the pro-search,
- New -> New Item
- Click on the 'p' to have the value builder create the next barcode.
   - Without the patch, the query won't have found anything, so it'll suggest xxxxxx0001
- Click Add.  It reprensent the form to enter another one.
   - Click on the 'p' edit box, it'll offer you again xxxxxx0001
With the patch, it'll offer valid ones everytime.

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

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit db067d48ee)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2025-07-31 10:27:42 +02:00
Phil Ringnalda b4dca4bf67
Bug 39293: Remove box around subfield tag in basic editor
Prior to the Bootstrap 5 update, the feature of editing subfield codes in the
basic editor was kept subtle by putting the code in an <input>, but removing
the border around the input, so it required either knowing the feature exists
or accidentally clicking on or around the single letter code and seeing it
turn into an editable input.

This patch removes the border again, because when people accidentally see the
feature, they are sometimes not pleased to see it.

Test plan:
1. Without the patch, open the cataloging basic editor and switch to the "1"
   tab with the 100 fields.
2. Note that the codes for the subfields are clearly in editable inputs.
3. Apply patch, reload the editor page.
4. Note that now the codes look like just plain text, until you actually
   click on or very near the letter, when they become visible as inputs
   by having the focus border.

Sponsored-by: Chetco Community Public Library
Signed-off-by: Andrew Fuerste Henry <andrew@bywatersolutions.com>
Signed-off-by: Baptiste Wojtkowski <baptiste.wojtkowski@biblibre.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit cfb5d05ed9)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2025-07-31 09:57:40 +02:00
Jonathan Druart 9399d5f794
Bug 40277: Add a test
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
(cherry picked from commit 1c7cb4d43b)
Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
(cherry picked from commit 342f6465f2)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2025-07-28 11:03:56 +02:00
Fridolin Somers d16a366e10
Bug 40277: Remove warn in C4::Koha::GetAuthorisedValues()
When using the OPAC and you are not logged in, there are warnings
in the logs:
[WARN] Use of uninitialized value $branch_limit in concatenation (.) or string

It comes from C4::Koha::GetAuthorisedValues() :
     my $branch_limit = C4::Context->userenv ? C4::Context->userenv->{"branch"} : "";
     my $cache_key    = "AuthorisedValues-$category-$opac-$branch_limit";

C4::Context->userenv->{"branch"} can be undef

The patch fixes using C4::Context::mybranch().

Test plan:
1. Set the OpacAdvancedSearchTypes system preference to something
   other than "itemtypes", for example "loc".
2. Go to OPAC without logging in, and perform a search.
3. Check the /var/log/koha/kohadev/plack-opac-error.log and note
   the warnings in the log:
   [WARN] Use of uninitialized value $branch_limit in concatenation (.) or ...
   (Alternative, tail the logs: tail -f /var/log/koha/kohadev/*.log
4. Apply the patch.
5. Repeat step 2 and check that there are no longer any warnings.
6. Sign off.

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 d60deb348c)
Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
(cherry picked from commit 8854037fbd)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2025-07-28 11:03:55 +02:00
Martin Renvoize ed1226827d
Bug 37305: (follow-up) Only add control number subfield when defined
The previous commit introduced a bug where the control number subfield 'w'
was being added to the MARC field even when undefined, causing test failures.

This patch adds a condition to only push the control number subfield when
the value is actually defined, matching the pattern used for other subfields
in the method.

Signed-off-by: Martin Renvoize <martin.renvoize@openfifth.co.uk>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
(cherry picked from commit 32860c2778)
Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
(cherry picked from commit ad7a9355a3)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2025-07-28 10:55:22 +02:00
Martin Renvoize 8f4dff1c76
Bug 37305: Remove C4::Biblio::prepare_host_field
This patch updates the only use of prepare_host_field to use the well
tested Koha::Biblio->generate_marc_host_field method instead and then
removes the aforementioned prepare_host_field method from C4::Biblio.

Test plan
1) Ensure the "enhanced workflow" for creating analytics still functions
   as expected.

Sponsored-by: Open Fifth <https://openfifth.co.uk>
Signed-off-by: Heather Hernandez <flyingendpaper@gmail.com>
Signed-off-by: Martin Renvoize <martin.renvoize@openfifth.co.uk>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
(cherry picked from commit 3e627d7a77)
Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
(cherry picked from commit a5949e7575)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2025-07-28 10:55:22 +02:00
Martin Renvoize 12837d0773
Bug 37305: Subfield order matters
This patch updates the use of a hash to store and then pass subfields to
the MARC::Field new method to an array with key/value pairs using fat comma's.

This allows us to maintain the integrity check that we're passing string
as the first arguament in each pair whilst also allowing us to ensure
fields are passed in the order they are found.

Sponsored-by: Open Fifth <https://openfifth.co.uk>
Signed-off-by: Heather Hernandez <flyingendpaper@gmail.com>
Signed-off-by: Martin Renvoize <martin.renvoize@openfifth.co.uk>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
(cherry picked from commit 3d9778b2cd)
Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
(cherry picked from commit ac2ca31d87)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2025-07-28 10:50:52 +02:00
Tomas Cohen Arazi 4cd03fcb73
Bug 40261: Tidy debian/build-git-snapshot
Signed-off-by: David Flater <flaterdavid@gmail.com>
Signed-off-by: Martin Renvoize <martin.renvoize@openfifth.co.uk>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
(cherry picked from commit dc11fbdc5b)
Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
(cherry picked from commit 61b3019600)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2025-07-28 10:46:31 +02:00
Owen Leonard 80ba31f7b1
Bug 39441: Some staff interface templates have div.container instead of div.container-fluid
This patch updates a few templates so that div.container is replaced
with div.container-fluid. div.container gives us a fixed maximum width
that isn't consistent the rest of Koha.

To test, apply the patch and go to the staff interface.

- Perform a catalog search which will return multiple results.
- In the search results, check multiple results and click "Add to cart."
- Click the cart icon in the top menu to trigger the cart popup.
- The contents of the cart popup should fill the whole width of the
  window.
- The other instances of this are less noticeable because of how the
  pages work. These changes are more about consistency:
  - The OPAC place hold page
  - The club enrollment process (both in the OPAC and the staff
    interface)
  - As long as these interactions work correctly all is good.

Sponsored-by: Athens County Public Libraries
Signed-off-by: Lisette Scheer <lisette@bywatersolutions.com>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
(cherry picked from commit 0c074c694e)
Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
(cherry picked from commit 3e0f04851f)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2025-07-28 10:43:22 +02:00
Lucas Gass 2048da14f2
Bug 38939: Add reservenote column to members/holdshistory.pl
To test:
1. APPLY PATCH, restart_all
2. Make some holds for patrons in both the staff client and the OPAC. ( For OPAC turn on  OpacHoldNotes )
3. Make sure you add some notes to each of these holds.
4. Go to the patron account and click on the 'Holds history' tab.
5. Make sure the hold note is there and looks correct.
6. Ensure you can hide the coluimn properly via Table settings.

Signed-off-by: Andrew Auld <andrew.auld@openfifth.co.uk>
Signed-off-by: Martin Renvoize <martin.renvoize@openfifth.co.uk>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
(cherry picked from commit 81859ce662)
Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
(cherry picked from commit aed4eb5974)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2025-07-28 10:39:01 +02:00
Owen Leonard 5eb4acc1d4
Bug 40249: "Copy settings" should be "Copy permissions"
This patch changes the "Copy sesttings" button on the patron permissions
page to return it to its previous text "Copy permissions." This is
consistent with related controls on the page.

To test, apply the patch and locate a patron in the staff interface.
From their checkout or detail page choose More -> Set permissions from
the toolbar.

In the toolbar of permissions-related controls you should see a button
labeled "Copy permissions."

Sponsored-by: Athens County Public Libraries
Signed-off-by: David Flater <flaterdavid@gmail.com>

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
(cherry picked from commit 3f6b630601)
Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
(cherry picked from commit fe3f83e492)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2025-07-28 10:35:08 +02:00
Emily Lamancusa 2025ddf3e7
Bug 40030: Escape values when displaying action logs comparison
When viewing the action logs for a system preference change, there is an
option to view a comparison between different log lines for the same
system preference. However, if a system preference value contains HTML
markup (e.g. in IntranetUserJS), the diff text is only escaped on
sections where a change is marked, so unchanged lines containing HTML
markup result in the HTML being rendered.

Escape the string values for unchanged sections as well, to ensure that
HTML markup in the diff text will not be rendered.

To test:
1. Edit IntranetUserJS and add some code that contains HTML markup.
   For example:
$("body").append('<a id="helloworld" class="btn btn-default">Say hi</a>');
2. Save the preference
3. Make another change to IntranetUserJS that does not affect the line
   you just added, and save again to ensure there are at least 2 action
   log lines for comparison
4. Go to Tools > Log viewer
5. Select System Preferences module and Submit
6. Find the log entries for the above two revisions to IntranetUserJS
7. Check the Compare checkboxes on those entries, and click View
   comparison
--> Note that the HTML button is rendered in the comparison
8. Apply patch
9. Clear browser cache and refresh the page
10. Repeat step 7
--> The button is not rendered and the code is displayed as written
11. Make a change to the line you added in step 1 (for example, replace
    "Say hi" with "Say hello")
12. Refresh the page
13. Check the checkboxes for the newest 2 log entries and click View
    comparison to view the diff for that last change
--> Confirm the change is shown correctly - the button is not rendered
    and nothing has been double-escaped

Signed-off-by: Phil Ringnalda <phil@chetcolibrary.org>

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
(cherry picked from commit 78dbb72ce9)
Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
(cherry picked from commit 25c36c5884)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2025-07-28 10:33:13 +02:00
Fridolin Somers 839fc4e7a6
Bug 34776: [24.11.x] fix folding
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2025-07-28 10:27:43 +02:00
Emmi Takkinen 27262c0058
Bug 34776: Add unit tests for sub restore_form_values
Test that input values don't change when send to the
sub restore_form_values.

To test prove t/Form_MessagingPreferences.t

Sponsored-by: Koha-Suomi Oy
Signed-off-by: David Nind <david@davidnind.com>

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
(cherry picked from commit 2c4a89801e)
Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
(cherry picked from commit a57bd07127)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2025-07-28 10:22:07 +02:00
Emmi Takkinen 4e591a268e
Bug 34776: Remove unneeded if statement
We don't need to check if $op is add_form after
error, since this value always changes.

Sponsored-by: Koha-Suomi Oy
Signed-off-by: David Nind <david@davidnind.com>

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
(cherry picked from commit c4052b981f)
Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
(cherry picked from commit 7fc5b0b0f6)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2025-07-28 10:22:07 +02:00
Marcel de Rooy c59dfb40b1
Bug 34776: Unit tests
Just a small beginning..

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

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
(cherry picked from commit 6cc683b518)
Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
(cherry picked from commit 3b031ce510)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2025-07-28 10:22:06 +02:00
Emmi Takkinen f2fb8844e8
Bug 34776: Restore patron messaging preferences if error occurs during new account creation
If error occurs while creating a new patron messaging
preferences are either lost or reseted as default
fro patron category. This patch adds new method
restore_form_values to restore already added messaging
preferences.

To test:
1. Enable syspref EnhancedMessagingPreferences.
2. Create a new patron but cause an error to prevent it from
saving (e.g. add wrong age).
3. Add messaging preferences for patron (if there are default
preferences, add also new ones or remove defaults).
4. Attempt to save.
=> Note that messaging preferences were lost and you need to
readd them.
5. Apply this patch.
6. Repeat steps from 2 to 4.
=> Note that messaging preferences which you added are kept
even if error occurs.

Sponsored-by: Koha-Suomi Oy
Signed-off-by: Jesse Maseto <jesse@bywatersolutions.com>
Signed-off-by: David Nind <david@davidnind.com>

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
(cherry picked from commit 8ed31509ae)
Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
(cherry picked from commit 8d496f1bed)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2025-07-28 10:21:00 +02:00
Marcel de Rooy 93349248df
Bug 39871: (QA follow-up) Do not hardcode nullable check
Lets check DBIx's columns_info.

Test plan:
Try to blank an integer column and a string column. Verify results.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
(cherry picked from commit c0a1731715)
Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
(cherry picked from commit 7ed54da4f2)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2025-07-28 10:09:52 +02:00
Emily Lamancusa 7b9078a99b
Bug 39871: Don't pass undef for non-nullable fields from batch mod tool
To test:
1. Set not-for-loan, withdrawn, and damaged statuses on some items
2. Try to edit only those items with the Batch item modification tool
3. Check the checkboxes to clear the withdrawn, not-for-loan, and
   damaged statuses
4. Click Save
5. View the background job report
   --> Note that it says the items could not be modified
6. Look at the items
   --> The statuses have not been cleared
7. Apply patch and restart_all
8. Repeat steps 2-5
   --> The background job report says the modifications were successful
9. View the items
   --> The statuses have been cleared

Signed-off-by: David Flater <flaterdavid@gmail.com>
Signed-off-by: Owen Leonard <oleonard@myacpl.org>

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
(cherry picked from commit 341c93ee58)
Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
(cherry picked from commit 2e206204c6)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2025-07-28 10:09:20 +02:00
Tomas Cohen Arazi 7a2bb02df0
Bug 40244: Fix typo in branchoverdues.tt
This patch fixes a trivial typo. The text appears in two more places
with the right form on the same template.

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Owen Leonard <oleonard@myacpl.org>

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
(cherry picked from commit 77fdb32e8f)
Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
(cherry picked from commit 377602a36d)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2025-07-28 10:01:58 +02:00
Owen Leonard 5f08cccbad
Bug 39954: Fix cataloging search results incorrect menu markup
This patch corrects the dropdown menu markup in the "Records found in
the reservoir" section of the cataloging search results page. It was not
upgraded to Bootstrap 5 markup.

To test, apply the patch and go to Cataloging.

- Click "New from Z39.50/SRU"
- Perform a search which will return multiple results.
- Close the popup window and perform the same search in the "Cataloging
  search" header form.
- Scroll down to the "Records found in the reservoir" section.
- Click the "Actions" menu on one of the results. The menu should look
  correct.

Sponsored-by: Athens County Public Libraries
Signed-off-by: Roman Dolny <roman.dolny@jezuici.pl>
Signed-off-by: Lisette Scheer <lisette@bywatersolutions.com>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
(cherry picked from commit 5f2dfbc226)
Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
(cherry picked from commit e377e09840)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2025-07-25 16:57:54 +02:00
Owen Leonard 859bf3c69c
Bug 39534: Hide reports subgroup filter if there are no subgroups
This patch updates the JavaScript which runs on the list of saved SQL
reports, adding a check for report subgroups to the display of the
report subgroups dropdown. The patch also hides the subgroups dropdown
if there is no saved tab, in which case the tabsInit function doesn't
run.

To test you should have multiple reports organized in multiple groups
and subgroups. See the test plan on Bug 39534.

- Go to Reports -> Saved SQL reports.
- If the page loads with the "All" tab active, there should be no
  subgroups dropdown.
- If the page loads under a different tab, the subgroups dropdown should
  only show if that group has subgroups.
- Switch between the various report group tabs to confirm that the
  subgroups dropdown is shown or hidden correctly based on the existence
  of subgroups.

Sponsored-by: Athens County Public Libraries
Signed-off-by: Anneli Österman <anneli.osterman@koha-suomi.fi>
Signed-off-by: Lisette Scheer <lisette@bywatersolutions.com>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
(cherry picked from commit 1e57f5c8d3)
Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
(cherry picked from commit d7bf63a327)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2025-07-25 16:54:11 +02:00
Mason James 35dee71d00
Bug 40039: Add production enhancements to build-git-snapshot tool
this patch adds some useful features to allow the build-git-snapshot tool to build production packages

the patch adds the following options:

     --urgency, -u
        the urgency string for the resulting package. Default is '$urgency'.

    --incr, -i
        set debian revision (default = '-1')

    --(no)autochangelog
        whether or not to update the debian/changelog file.
        Default is to update it.

note: this patch does not change any of the existing behaviour of the tool

test plan to come...

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
(cherry picked from commit 3e7c839714)
Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
(cherry picked from commit 14662a012e)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2025-07-25 16:52:08 +02:00
Martin Renvoize 8842423b18
Bug 40079: (follow-up) Improve test coverage and fix undef handling
This patch modernizes the Scrubber.t unit test with comprehensive
coverage following Koha best practices:

- Uses subtest structure for logical grouping
- Tests all scrubber types (default, comment, note)
- Includes security testing for XSS prevention
- Covers edge cases and error handling
- Tests new list elements added in previous commits

Also fixes C4::Scrubber to handle undef parameters cleanly by
treating them as 'default' type instead of generating warnings.

Test plan:
1. Run prove t/Scrubber.t
2. Verify all tests pass without warnings
3. Confirm comprehensive coverage of module functionality

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
(cherry picked from commit 21f3340442)
Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
(cherry picked from commit 1ab7ccde18)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2025-07-25 16:49:49 +02:00
Martin Renvoize b513d654d8
Bug 40079: (follow-up) Update unit test
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
(cherry picked from commit c5f64db21f)
Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
(cherry picked from commit ceb1f9f230)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2025-07-25 16:48:58 +02:00
Martin Renvoize e0fa74360b
Bug 40079: (follow-up) Add dl, dt, dd tags to notes profile scrubber
Adds support for HTML description list elements (dl, dt, dd) to the
'note' profile in the HTML scrubber configuration. This allows
librarians to use description lists in note fields for better
structured content presentation.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
(cherry picked from commit 9ef8f098d8)
Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
(cherry picked from commit 421968355e)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2025-07-25 16:48:57 +02:00
Martin Renvoize 79a3ff3dec
Bug 40079: Add ul/ol and li to allowed tags in notes profile
This patch add the unordered list, ordered list and list item html tags
to the list of allowed tags in C4::Scrubber.

Test plan:
1) Add a course reserve and include the following in the public note
   field:
   <ul>
     <li>First item</li>
     <li>Second item</li>
   </ul>
2) View the course details page and note "First item Second item" all
   appears on the same line (the ul and li tags have been stripped)
3) View the course reserves page and note the same issue in the public
   notes field of the table display
4) Apply this patch
5) Repeat 2 and 3 and note you now have a bullet pointed list displayed
   in both places
6) The display of the note on the details page may look mis-aligned..
   that will be dealt with on it's own bug

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

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
(cherry picked from commit ddad4e81a2)
Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
(cherry picked from commit fb2899f311)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2025-07-25 16:48:57 +02:00
Fridolin Somers ff0a32a714
Bug 40022: Add the 25.11 release team (squashed) 2025-07-25 16:39:02 +02:00
Nick Clemens 2edc07b710
Bug 39912: Update RealTimeHoldsQueue when hold pickup location is updated
When a hold's pickup location is changed we should rebuild the holds queue.

To test:
1 - Enable RealTimeHoldsQueue
2 - Enable LocalHoldsPriority where pickup library matches home library
3 - Place two biblio level holds on a bib with one item for two different patrons for delivery to a different library then the home library
4 - Check the queue - firstpatron should have priority
5 - Change the pickup location for the second hold to be picked up at the home library
6 - Check the queue, unchanged
7 - Change the pickup location back
8 - Apply patch, restart all
9 - Change the pickup location to the items home library again
10 - Check the queue
11 - Second patron has now been given priority

Signed-off-by: Michelle Spinney <mspinney@clamsnet.org>
Signed-off-by: Martin Renvoize <martin.renvoize@openfifth.co.uk>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
(cherry picked from commit 3664281d37)
Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
(cherry picked from commit 87043c9f53)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2025-07-25 16:16:22 +02:00
Marcel de Rooy 4af0a13ff3
Bug 40242: Remove double operator in Quotes.pm
Test plan:
Read patch.
Run t/db_dependent/Koha/Quotes.t

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
(cherry picked from commit 0ed2b7cfa8)
Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
(cherry picked from commit 816b4537e9)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2025-07-25 16:11:15 +02:00
Lucas Gass 1ce5104666
Bug 39411: Add cardnumber and dateexpiry to OPAC virtual card
To test:
1. APPLY PATCH
2. Enable  OPACVirtualCard
3. Login to the OPAC and visit the account page.
4. Click on 'My virtual card'
5. Notice that the cardnumber and expiratrion date are now listed.

Signed-off-by: Emmanuel Bétemps <e.betemps@gmail.com>
Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
(cherry picked from commit 4636d813be)
Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
(cherry picked from commit ec04bbbb62)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2025-07-25 15:47:57 +02:00
Tomas Cohen Arazi 05d43daabf
Bug 40144: Get rid of `sip_cli_emulator.pl` warnings
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: David Nind <david@davidnind.com>

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
(cherry picked from commit 8f90ac9d4e)
Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
(cherry picked from commit 3042fa93d8)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2025-07-25 15:43:26 +02:00
Tomas Cohen Arazi 89a20a36ca
Bug 23883: sip_cli_emulator.pl should display real parameter names
For creating this patch I looked at all parameters defined in the
handler mapping, removed duplicated ones and tracked down which ones
really were parameters in `GetOptions`. This included tracking down
variables that were later assigned other values and things like that.

The mapping is used to display the right parameter name if missing a
mandatory one.

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

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
(cherry picked from commit 46cc88acc3)
Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
(cherry picked from commit ec396bfdd4)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2025-07-25 15:42:08 +02:00
Baptiste Wojtkowski c065e16b8d
Bug 40109: Fix path for fix_invalid_dates.pl in hint from search_for_data_inconsistencies.pl
Bug 31143 created a script in cronjob and then moved it to maintenance. However, it is still referred as in cronjob in help strings. This patch updates the hint.

No test needed I guess. Only changing a string

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

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
(cherry picked from commit 34886a9b5b)
Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
(cherry picked from commit 5ffdf17098)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2025-07-25 15:40:54 +02:00
Alexander Blanchard 2ae12cf6c2
Bug 39223: Fix the OPAC browse search (opac-browse.pl)
This fixes the OPAC browse search feature (OpacBrowseSearch
system preference, Elasticsearch only). Expanding and
collapsing the search results was not working.

Test plan:
1. Start up KTD using Elasticsearch; ktd --es7 up
2. Enable the OpacBrowseSearch system preference.
3. In the OPAC, click 'Browse search' (one of the
   options under the search box).
4. Search for 'a', for the search type use Author, then
   click Search.
5. Click on one of the search results - note that it doesn't
   expand to show the titles for the author.
6. Apply the patch.
7. Refresh the page and repeat steps 3 to 5. Note that the
   author section now expands andd collapses when clicked,
   and that the titles for the author are now shown.

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

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
(cherry picked from commit 448b9cd17e)
Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
(cherry picked from commit f222847062)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2025-07-25 15:39:45 +02:00
Jonathan Druart fda49309c0
Bug 40127: Remove JS error from the biblio detail page when no items
"build_items_table is not defined"

We should not try to build the items table if there are no items.

Test plan:
Go to the bibliographic detail page of a biblio without items
You should not see errors in the browser's console

Go to the bibliographic detail page of a biblio with items
You should not see errors in the browser's console
The table should be displayed and the different features should work as
before

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

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
(cherry picked from commit 561535503c)
Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
(cherry picked from commit ce72073ff5)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2025-07-25 15:30:35 +02:00
Jonathan Druart 80da7586dc
Bug 40127: Move build_items_table outside of document.ready
So it's not delayed and we catch have the error in the Cypress test.
Otherwise the error appear too late (in the after each) and the test
does not fail

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

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
(cherry picked from commit 2d1c6b8666)
Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
(cherry picked from commit 7c33240af2)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2025-07-25 15:30:34 +02:00