Commit Graph

59444 Commits

Author SHA1 Message Date
Andrew Fuerste Henry 11358ffe16
Bug 30568: Correct reference to patron_title in patron-title.inc
In the staff interface we set the class for the patron's title (Mr/Mrs/etc) to "patron_title," but we were making it "patron-title" in the OPAC. This patch standardizes them.

Signed-off-by: Sam Sowanick <sam.sowanick@corvallisoregon.gov>
Signed-off-by: Martin Renvoize <martin.renvoize@openfifth.co.uk>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
2025-10-22 07:42:50 -06:00
Nick Clemens 164bca6158
Bug 30568: Add maybe_span to opac patron-title
Signed-off-by: Sam Sowanick <sam.sowanick@corvallisoregon.gov>
Signed-off-by: Martin Renvoize <martin.renvoize@openfifth.co.uk>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
2025-10-22 07:42:50 -06:00
Andrew Fuerste Henry 21beec0dbf
Bug 30568: Add classes to name components in OPAC
To test:
1- have a patron with values in all parts of name (firstname, preferred name, surname, othername, middlename)
2- log into OPAC as patron, observe where are how name is displayed, lack of classes on component parts
3- apply patch
4- reload OPAC pages, observe name looks the same but now has classes when inspected

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: Sam Sowanick <sam.sowanick@corvallisoregon.gov>
Signed-off-by: Martin Renvoize <martin.renvoize@openfifth.co.uk>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
2025-10-22 07:42:49 -06:00
Nick Clemens a05c7d538f
Bug 30568: Add classes to component name parts in intranet
This patch adds a wrapper function in patron-title.inc that can be used to either span, or not if no html requested
It replaces the same concept that was used for patron title

to test:
1 - have a patron with all name parts
2 - load pages with a variety of name displays, confirm lack of classes
3 - apply patch
4 - reload pages from step 2, confirm there are now classes *except for where the name is called with no_html, like a page title
5 - Check page titles, patron search, placing a hold, patron search and confirm different links and views work as before

Signed-off-by: Sam Sowanick <sam.sowanick@corvallisoregon.gov>
Signed-off-by: Martin Renvoize <martin.renvoize@openfifth.co.uk>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
2025-10-22 07:42:49 -06:00
Jonathan Druart 3a6fe57c26
Bug 36674: Remove duplication
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Lisette Scheer <lisette@bywatersolutions.com>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
2025-10-22 07:42:48 -06:00
Paul Derscheid df466f65b5
Bug 36674: Lazy-load intranet API clients via proxy
Replaced the eager imports in the intranet APIClient aggregator with
lazy proxies so individual client modules are only fetched the first
time they are actually used.

Documented the pattern in the createClientProxy JSDoc, and kept the legacy
synchronous API intact by forwarding property access, method calls, and
promise chaining. The Vue aggregator remains on static imports for now
because the rspack bundles already would handle chunking (which we need to configure)
and would require broader consumer changes.

This is a bit hacky, but only touches the api-client itself, which I like.
Otherwise we would have to adjust all consumers.

Test plan:
1. Log in to the staff interface and visit Admin → System preferences.
2. Open DevTools, Network tab, and enable “Disable cache”.
3. Trigger an API call (e.g. edit a preference and click “Save”, or run
await APIClient.sysprefs.sysprefs.update_all({}).catch(()=>{}); from
the console).
4. Confirm a new request for js/fetch/system-preferences-api-client.js
appears and the page still behaves as before.
5. Theoretically we would need to test all call sites..
6. Sign-off

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Lisette Scheer <lisette@bywatersolutions.com>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
2025-10-22 07:42:41 -06:00
Lucas Gass 412879a418
Bug 40969: Mock the RenewalPeriodBase preference correctly
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>
2025-10-21 08:47:08 -06:00
Jonathan Druart bed343d5ed
Bug 40470: Fix filtering by REPORT_GROUP when auth val is numeric
When the authorised value of a REPORT_GROUP is numeric the filtering
does not work.

Test plan:
Create a new REPORT_GROUP av "123" (the description can be alphanumeric)
Create a new report and assign it to this new group
Confirm that with this patch the filtering works when the "123" tab is
selected

Signed-off-by: George <george@nekls.org>

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
2025-10-20 10:12:59 -06:00
Jonathan Druart 0f6f5ab252
Bug 40907: Prevent DT crash when searching with regex metachars
We should remove the regex metacharacters from the string or JS code
will raise an error and the query won't be generated, leading to the DT
neverending loading problem.

Test plan:
Go to http://localhost:8081/cgi-bin/koha/catalogue/detail.pl?biblionumber=4
In the global "Search" of the items table, search using a regex
metacharacters in order to form a broken regex (eg. '[')
=> Without this patch there is a JS error in the console "Uncaught
SyntaxError: unterminated character class" and you get the "Processing"
that never ends
=> With this patch applied the search succeeds.

Signed-off-by: Mathieu <mathsabypro@gmail.com>
Signed-off-by: Brendan Lawlor <blawlor@clamsnet.org>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
2025-10-20 10:12:58 -06:00
Jonathan Druart 7c4c013645
Bug 40907: Add a Cypress test
Signed-off-by: Mathieu <mathsabypro@gmail.com>
Signed-off-by: Brendan Lawlor <blawlor@clamsnet.org>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
2025-10-20 10:12:58 -06:00
Jonathan Druart 353508cf0b
Bug 40931: (bug 39533 follow-up) More specific max-width CSS rule to prevent side-effects
The changes made on bug 39533 for the export page have affected other
instance of select2.
eg. on the "place holds" view the select2 elements are too narrow.

This patch suggests to reduce the elements on which the CSS rule
'max-width: 60%' is applied.

Test plan:
Confirm that this patch does not affect the display of the select2
elements on the export and item edition pages.

Confirm that the pickup locations are wider (and their values are
displayed) when placing multi holds

Signed-off-by: CJ Lynce <cj.lynce@westlakelibrary.org>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
2025-10-20 10:12:57 -06:00
Jonathan Druart d79cf5665d
Bug 40939: Fix batch actions from report results
Batch patron operations are broken when using cardnumbers

From
  commit d659526b5a
  Bug 38664: Tidy the whole codebase

-                                                [%- IF header_row.$place.cell == batch_type || header_types.item(header_row.$place.cell) == batch_type %]
-[%# We must not add whitespace to the cardnumbers %][% cells.cell | html %]
+                                            [%- IF header_row.$place.cell == batch_type || header_types.item(header_row.$place.cell) == batch_type %]
+                                                [%# We must not add whitespace to the cardnumbers %][% cells.cell | html %]

The auto tidy added the whitespaces back

This patch suggests to use TT to add the new lines.

+                                                [%- cells.cell | html -%][% "\n" | $raw %][%# We want 1 item per line, without whitespace %]

Test plan:
- save and run "SELECT cardnumber FROM borrowers"
- use the Batch Operations button to send all visible cardnumbers to batch patron modification
- see that all of your cardnumbers have been found

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>
2025-10-20 10:12:56 -06:00
Jonathan Druart a9ffa8b64a
Bug 40982: Add Cypress tests
Signed-off-by: Martin Renvoize <martin.renvoize@openfifth.co.uk>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
2025-10-20 10:12:56 -06:00
Jonathan Druart c7a7fdde08
Bug 40982: Enable bKohaColumnsUseNames for libraries
We want to add Cypress test for the force_visibility flag.
We do not test the basket table: the acq module will be rewritten

Signed-off-by: Martin Renvoize <martin.renvoize@openfifth.co.uk>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
2025-10-20 10:12:55 -06:00
Jonathan Druart ad906a523a
Bug 40982: Do not raise Error when bKohaColumnsUseNames is not set
Return early if there is no visibility to force

Signed-off-by: Slava Shishkin <slavashishkin@gmail.com>
Signed-off-by: Martin Renvoize <martin.renvoize@openfifth.co.uk>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
2025-10-20 10:12:55 -06:00
Jonathan Druart 1ffa8aa6dd
Bug 40982: Remove cannot_be_toggled for modify and cancel
It's already set in the global config.

However it does make sense to have it for supplier_report: you don't
want to show it in the dropdown if the pref is off

Signed-off-by: Slava Shishkin <slavashishkin@gmail.com>
Signed-off-by: Martin Renvoize <martin.renvoize@openfifth.co.uk>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
2025-10-20 10:12:54 -06:00
Jonathan Druart 41b531b315
Bug 40982: Allow to force visibility when needed
The _dt_visibility function is only called when the state is
initialized. Here we want to force the visibility of some columns even
if the state exists already.

The idea of this patch is to add a new 'force_visibility' flag to the
column when the visibility needs to be respected regardless what is in
the state. That should only be used when column cannot be toggled.

Signed-off-by: Slava Shishkin <slavashishkin@gmail.com>
Signed-off-by: Martin Renvoize <martin.renvoize@openfifth.co.uk>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
2025-10-20 10:12:54 -06:00
Jonathan Druart 3429bbfa12
Bug 40982: (bug 40753 follow-up) Adjust conditions
The IF/ELSE block contents have been reversed in the JS code.

Signed-off-by: Slava Shishkin <slavashishkin@gmail.com>
Signed-off-by: Martin Renvoize <martin.renvoize@openfifth.co.uk>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
2025-10-20 10:12:53 -06:00
Jonathan Druart de27044ba2
Bug 41042: Make 'default sort order' available to new installations
If a row exists in DB for a given table, default_sort_order will be NULL
in DB which will replace the flag from the YAML file: the feature won't
be available.

Test plan:
0. checkout main (we don't want bug 30633)
1. Go to http://localhost:8081/cgi-bin/koha/admin/columns_settings.pl#biblio-detail%7Choldingst
=> Notice that "Default sort order" is not available for 'holdingst'
(it's added by bug 30633)
2. Save
3. Verify what you have in DB:
select * from tables_settings where module="opac" and tablename="holdingst";
4. Apply 30633, restart_all
5. Go to http://localhost:8081/cgi-bin/koha/admin/columns_settings.pl#biblio-detail%7Choldingst
=> Notice that "Default sort order" is not available for 'holdingst' (not ok)
6. Save
7. Verify what you have in DB:
select * from tables_settings where module="opac" and tablename="holdingst";
8. Apply this patch set
9. Go to http://localhost:8081/cgi-bin/koha/admin/columns_settings.pl#biblio-detail%7Choldingst
=> Notice that "Default sort order" is available for 'holdingst'!
10. Save, verify what you have in DB.

Signed-off-by: Michaela Sieber <michaela.sieber@kit.edu>
Signed-off-by: Martin Renvoize <martin.renvoize@openfifth.co.uk>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
2025-10-20 10:12:53 -06:00
Jonathan Druart 71553c5803
Bug 41042: Simplify tests
No change here.

Test plan:
Apply only this patch and confirm that the tests are still passing.
The previous code was dynamic but complicated to adjust. The next patch
needs more complex and specific comparisons.

Signed-off-by: Michaela Sieber <michaela.sieber@kit.edu>
Signed-off-by: Martin Renvoize <martin.renvoize@openfifth.co.uk>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
2025-10-20 10:12:52 -06:00
Andrew Fuerste Henry 5e5ffeea82
Bug 40937: Include show data menu button for batch_borrowernumbers
To test:
1 - save and run a report of "SELECT borrowernumber FROM borrowers"
2 - observe your results page does not include the Show Data Menu button
3 - save and run a report of "SELECT cardnumber FROM borrowers"
4 - observe your results page does include the button
5 - save and run a report of "SELECT borrowernumber, cardnumber FROM borrowers"
6 - observe you are once again buttonless on the results page
7 - apply patch
8 - run your report from step 1, observe you now have the button
9 - run your report from step 3, observe you still have the button
10 - run your report from step 5, observe you now have the button
11 - confirm that the batch actions dropdown only includes the patron actions once

Signed-off-by: Magnus Enger <magnus@libriotech.no>
Works as advertised.
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
2025-10-20 10:12:52 -06:00
Jonathan Druart 5d770843f3
Bug 41010: Adjust show_priority condition in opac-detail
We had
[% IF item_level_holds > 0 || show_priority %]
[% ELSIF show_priority %]

We never reach ELSIF.

I am not sure what's the correct fix here. People involved on bug 39276
should help.

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
2025-10-20 10:12:51 -06:00
Nick Clemens 605cc89893
Bug 40997: Remove uneccessary whitespace
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>
2025-10-20 10:12:51 -06:00
Nick Clemens a7be3a3f8b
Bug 40997: Don't check elements that have been removed
Signed-off-by: Brendan Lawlor <blawlor@clamsnet.org>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
2025-10-20 10:12:50 -06:00
Jonathan Druart 01c2e93a5d
Bug 40041: Remove duplicated or unecessary entries
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
2025-10-20 10:12:50 -06:00
Tomás Cohen Arazi 357558d954
Bug 40041: Reorganize and fix .mailmap file
- Group same-person entries together for better maintainability
- Normalize excessive whitespace padding that breaks terminal tools like tig
- Add column alignment with second column at position 65 for readability
- Move all sponsor entries to bottom of file
- Add missing canonical name mappings for unmapped emails:
  * Matt Blenkinsop, Andrew Auld, Colin Campbell variations
  * Mathieu Saby email/username mappings
- Remove malformed entry (Alex Arnaud = <=>)
- Fix Colin Campbell canonical mapping to OpenFifth email

This improves .mailmap functionality in both newer git versions
and older versions like those in KTD (git 2.39.5).

To test:
1. Run:
   $ ktd --shell
  k$ for i in colin.campbell@openfifth.co.uk chloe.zermatten@openfifth.co.uk martin.renvoize@openfifth.co.uk aude.charillon@openfifth.co.uk andrew.isherwood@ptfs-europe.com matt.blenkinsop@openfifth.co.uk matt.blenkinsip@ptfs-europe.com matt.blenkinsop@ptfs-europe.com andrew.auld@ptfs-europe.com pedro.amorim@ptfs-europe.com msaby mathsabypro@gmail.com marjorie.barry-vila@collecto.ca andrew.auld@openfifth.co.uk catrina@bywatersolutions.com felicie.thiery@biblibre.com janne.seppanen@lahti.fi jesse@bywatersolutions.com kelly@bywatersolutions.com laurence.rault@biblibre.com samalau@gmail.com ; do git check-mailmap -- "<$i>" ; done
=> FAIL: Don't look like canonical email entries
2. Apply this patches
3. Repeat 1
=> SUCCESS: They look great!
4. Sign off :-D

Signed-off-by: Tomás 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>
2025-10-20 10:12:49 -06:00
Tomás Cohen Arazi 6c3153a481
Bug 40041: Fix structurally incorrect .mailmap entries
This patch fixes malformed entries in .mailmap that were causing
display issues and incorrect author mapping.

Issues fixed:
- Marjorie Barry-Vila: Missing closing '>' in email address
- Mathieu Saby: Incorrect alias format instead of proper mailmap format
  (was using excessive padding with alias, now uses proper
   'Name <email> OldName <email>' format)

These structural issues were breaking terminal display in tools like
tig and preventing proper author consolidation.

Test plan:
1. Apply patch
2. Run: git log --oneline | head -20
=> SUCCESS: Authors display correctly
3. Check in tig or other git tools
=> SUCCESS: No excessive column width issues
4. Verify mailmap functionality:
   git shortlog -sn | grep -E 'Mathieu|Marjorie'
=> SUCCESS: Authors properly consolidated
5. Sign off :-D

Signed-off-by: Tomás 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>
2025-10-20 10:12:49 -06:00
Tomás Cohen Arazi d2d85c9f4a
Bug 40959: Fix LOC classification display (staff interface)
This patch fixes the display logic for the LOC classification field
(050).

The current issue is that the inner components (each subfield) gets
separated with the pipe symbol (|) instead of grouping the components
together and using the separator for the outer 050 occurences.

To test:
1. Open a record to edit it
2. Add 050 like this:

```
050  4 $aE337.5 $b.O54 2025
050  4 $aE415.7 $b.A44 2025
```

3. Save
=> FAIL On the staff interface it displays:

```
LOC classification: E337.5 | .O54 2025 E415.7 | .A44 2025
```

4. Apply this patch
5. Run:
   $ ktd --shell
  k$ restart_all
6. Reload the detail page
=> SUCCESS: Things display correctly!
7. Sign off :-D

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
2025-10-20 10:12:39 -06:00
Lucas Gass 3a0c975391
Revert "Bug 31149: Use dayjs to parse dates"
This reverts commit ccb4bcf055.

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
2025-10-17 06:51:26 -06:00
Lucas Gass 63366881d4
Revert "Bug 31149: Add dayjs plugins"
This reverts commit 1a6e53b7c1.

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
2025-10-17 06:51:26 -06:00
Jonathan Druart d5da194323
Bug 39877: Force commit id length to 10
The size of the commit id can vary, depending on the git repo.
For instance Jenkins had stored results using length of 9 (e9a07fe6a)
because it's a shallow clone.

But 9 is not enough for our repo:
% git rev-list --all | sort | uniq -w 9 -D
29dfcf49f28bb8e75ab4b71a2d68f194928d3de9
29dfcf49f6

We need to force the length for both commands we use, so commits matched
during the comparison.

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
2025-10-17 06:51:18 -06:00
Marcel de Rooy c8d6da9635
Bug 40272: (QA follow-up) Only add a biblio test
And move the comment where it belongs.
More changes on 41031.

Test plan:
Add a new biblio record with basic editor.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
2025-10-16 15:20:20 -06:00
Marcel de Rooy 2c8ba37c0d
Bug 40272: Add an alert for bad fixed-length control fields
Development wise it is much simpler to do this check in perl when
opening the editor than getting this logic into the template with
javascript. Furthermore, older data may be corrupted, but we trust
the current plugins to not insert such fields anymore.

Test plan:
Run t/db_dependent/Koha/Biblio/Metadata/Extractor/MARC/MARC21.t
Open an existing record in the basic editor. Shorten 008 without plugin.
Save and open the record again. Do you get the alert?

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Martin Renvoize <martin.renvoize@openfifth.co.uk>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
2025-10-16 15:20:19 -06:00
Jan Kissig bfdb2cb4b0
Bug 40141: Add "Run" and "Test" buttons to data provider toolbar
This patch adds the SUSHI test and run options to the toolbar of the data providers detail page.
If a provider is not active the buttons are disabled.

Testplan:
- go to /cgi-bin/koha/erm/eusage/usage_data_providers
- add a dummy provider
- notice the toolbar on the data provider detail page: Only Edit and Delete are available
- apply the patch
- run 'yarn js:build'
- I needed to call 'restart_all'
- refresh the providers detail page and notice the two new buttons: Test and run now
- click on 'test' and wait for the result
- click on 'Run now' and enter some appropriate dates.
- Click 'yes run' to see the jobs queued
- (Please do not dismiss the 'run now' dialog by clicking outside, as this triggers bug 41001)

Signed-off-by: Clemens Tubach <clemens.tubach@kit.edu>
Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
2025-10-16 15:20:19 -06:00
Lucas Gass bc0b0d2907
Bug 40936: DBRev 25.06.00.025
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
2025-10-16 15:20:18 -06:00
Kyle M Hall 63c44cbd0e
Bug 40936: Add index for default patron sort order
The default sort order for Koha's patron search includes many columns, some of which are not indexed:

[% CASE 'name-address' %] {
"data":"me.surname:me.preferred_name:me.firstname:me.middle_name:me.othernames:me.street_number:me.address:me.address2:me.city:me.state:me.postal_code:me.country",

Depending on the number of patrons in the database, and the specific configuration of the server, this can end up generating a query that creates a temp table in the hundreds of gigabytes of data or more. Not only does this risk crashing a database server with insufficient disk space, it's also incredibly slow.

We've found a compound index prevents the issue and also makes the search much faster. InndoDB indexes have a fixed maximum length which is too small ( 3072 bytes ) to encompass the full data for all the fields we need to sort by.

The following works well as a comprise to keep the index length within the maximum:
CREATE INDEX idx_borrowers_sort_order ON borrowers (
    surname(100),        -- 400
    preferred_name(80),  -- 320
    firstname(80),       -- 320
    middle_name(50),     -- 200
    othernames(50),      -- 200
    streetnumber(20),    -- 80
    address(100),        -- 400
    address2(75),        -- 300
    city(75),            -- 300
    state(40),           -- 160
    zipcode(20),         -- 80
    country(40)          -- 160
);

Test Plan:
1) Apply this patch
2) Run updatedatabase.pl
3) Perform a patron search
4) No change in behvior should be noted!

Signed-off-by: Martin Renvoize <martin.renvoize@openfifth.co.uk>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
2025-10-16 15:20:18 -06:00
Jonathan Druart 096fd56b6c
Bug 30724: Fix selenium tests - info => success class
I don't think this is correct. We only want success after we enabled 2FA

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
2025-10-16 15:20:17 -06:00
Jonathan Druart e77d2ad22b
Bug 30724: Fix selenium tests - wording
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
2025-10-16 15:20:17 -06:00
Jonathan Druart b4bc754439
Bug 30724: Fix selenium tests - fix logic if no borrowernumber passed
Then consider we want to edit the logged in user settings

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
2025-10-16 15:20:16 -06:00
Pedro Amorim 1a6e53b7c1
Bug 31149: Add dayjs plugins
It seems dayjs is now being imported twice? With the second time overriding the first, but without the plugins.
This patch "fixes" the issue by proving this, but there is likely a better solution than this copy-paste from js-date-format.inc

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
2025-10-16 15:20:16 -06:00
Jonathan Druart b6aab57065
Bug 41012: (bug 40622 follow-up) Clear the MSS cache
For some reasons t/db_dependent/ILSDI_Services.t fails if run after
t/db_dependent/api/v1/biblios.t

When we modify the MARC subfield structure from the tests we must flush
the cache.

Actually I don't understand why the tests are even passing.

I have not tracked down why it only fails when run after t/db_dependent/api/v1/biblios.t

Test plan:
0. Do not apply this patch
1. prove t/db_dependent/api/v1/biblios.t t/db_dependent/ILSDI_Services.t
It fails
    #   Failed test 'Title hidden in output as expected'
    #   at t/db_dependent/ILSDI_Services.t line 874.
    #          got: '1'
    #     expected: '0'
2. Apply this patch, repeat 1.
=> it's green!

Signed-off-by: David Cook <dcook@prosentient.com.au>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
2025-10-16 15:20:08 -06:00
Owen Leonard c543c54971
Bug 38863: Show bookings options on itemtypes.pl
This patch adds a column to the table of item types in item types
administration to show if the item type is bookable by default. The
column is hidden by default.

To test, apply the patch and restart services.

- Go to Administration -> Item types
- If necessary, edit an item type and check the "Bookable" checkbox.
- In the table of item types, the "Bookbable" column should be hidden by
  default.
- Click the "Columns" button and check the "Bookable" menu item to show
  it. It should now appear.
- Click the "Configure" button and try making changes to the default
  configuration. Your changes should be reflected on the item types
  pages.

Sponsored-by: Athens County Public Libraries
Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
2025-10-15 16:12:09 -06:00
Lucas Gass d212eea842
Bug 38942: Fix display issues with item-template-toolbar
This patch does the following:
-Adds a 'btn' and 'btn-default' class to the buttons in the item-template-toolbar
-Removes the btn-group parent containers
-Changes the wording of the remember session checkbox to 'Remember for session', just like it is on the check out screen for due dates.
-Adds a visual divider after the 'Remember for session' checkbox
-Add CSS to addbiblio.css to make the checkbox/label appear a little nicer

To test:
-Add an item and 'Save as template'
-Notice the toolbar buttons look different from other toolbars in Koha.
-Apply patch
-Look again, the buttons should look better, hopefully!

Signed-off-by: Barbara Johnson <barbara.johnson@bedfordtx.gov>
Signed-off-by: Baptiste Wojtkowski <baptiste.wojtkowski@biblibre.com>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
2025-10-15 16:12:08 -06:00
Laura_Escamilla 8a13329a41
Bug 7132: Acq: Check for duplicates when ordering from empty record
To test using a new empty record:

1. Ensure you have a vendor and a new basket available for ordering.
   Click on “+Add to basket” and select “From a new (empty) record”
2. Choose an existing record to test with for example “CSS : the
   definitive guide”
   (http://localhost:8081/cgi-bin/koha/catalogue/detail.pl?biblionumber=12&searchid=scs_1759160315801)
3. Copy over the main details from the existing record in order to fill
   out the required details of the new order. I.e Title, and Koha item
   type. Click add item and then select a fund. It’s not necessary to
   fill anything else out.
4. Click save and notice that the duplicate record is not found.
5. Apply the patch and restart_all. Clear cache in your browser if
   necessary.
6. Repeat steps 2 - 4. This time a duplicate warning will appear. Ensure
   that all options of the duplicate warning work as expected.
7. Sign off and have a great day!

Signed-off-by: Kim Gnerre <kgnerre@hotchkiss.org>
Signed-off-by: Julian Maurice <julian.maurice@biblibre.com>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
2025-10-15 16:12:08 -06:00
Nick Clemens 290b6af654
Bug 38438: Forget item selections on a new search
This patch adds a new checkbox to the item search
"Forget item selections from previous search"

This way, selections are remembered when paginating, and can optionally
be kept between searches, but defaults to clearing the storage on a enw search.

To test:
1 - Do an item search for books, select two items
2 - Batch modify those items
3 - Do a new item search for music
4 - Select two items
5 - Batch delete them
6 - Note 4 items are going to be deleted
7 - Apply patch
8 - Start a new item search for books from centerville
9 - Note the form option to forget previous selections, leave it checked
10 - Do the search, select two items, batch modify, only 2!
11 - Start a new item search, uncheck the box, search
12 - Select two and batch modify, 4 items are sent!
13 - Popcorn!

Signed-off-by: Ludovic Julien <ludovic.julien@inLibro.com>
Signed-off-by: Martin Renvoize <martin.renvoize@openfifth.co.uk>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
2025-10-15 16:12:07 -06:00
Nick Clemens deb11ee1c8
Bug 40722: Add a log when resetting mappings during elastic rebuild
The command currently logs when deleting indexes and indexing records, it would be helpful
to have a log when resetting the mappings, and to log which mapping file has been used.

To test:
1 - perl misc/search_tools/rebuild_elasticsearch.pl -r
2 - No log of reset
3 - Apply patch
4 - perl misc/search_tools/rebuild_elasticsearch.pl -r
5 - Note reset is logged

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@openfifth.co.uk>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
2025-10-15 16:12:07 -06:00
Brendan Lawlor 4cadd40278
Bug 40757: (follow-up) Make highlight color more subtle
Signed-off-by: Brendan Lawlor <blawlor@clamsnet.org>
Signed-off-by: Martin Renvoize <martin.renvoize@openfifth.co.uk>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
2025-10-15 16:12:06 -06:00
Nick Clemens 3c4755c3ce
Bug 40757: Highlight circulation rules on click
To test:
1 - Apply patch, yarn build, restart all
2 - Browse to Admin->Circulation rules
3 - Click on some rows
4 - They highlight!
5 - Click to edit a row, highlight removed
6 - Cancel editing, editing color is removed
7 - Sign off!

Signed-off-by: Brendan Lawlor <blawlor@clamsnet.org>
Signed-off-by: Martin Renvoize <martin.renvoize@openfifth.co.uk>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
2025-10-15 16:12:06 -06:00
Lucas Gass c629e76e90
Bug 40070: DRRev 25.06.00.024
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
2025-10-15 16:12:05 -06:00
Marcel de Rooy f8afb7f78b
Bug 40070: Control display of serial pubdate on detail pages
Test plan:
Add a serial that creates items.
Receive an issue.
Toggle pref DisplayPublishedDate and verify that publisheddate
is shown or hidden.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Laura_Escamilla <laura.escamilla@bywatersolutions.com>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
2025-10-15 16:12:05 -06:00