Commit Graph

58581 Commits

Author SHA1 Message Date
Owen Leonard c4389ea7a8
Bug 39421: (follow-up) Correct title attribute
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-04-23 09:35:09 +02:00
Nick Clemens f186c46cee
Bug 39421: Restore missing date picker on Circulation > Renew
This patch restores the renewal date input field (with a date
picker) for Circulation > Renew. This was missing.

It changes the behavor slightly so that it mirrors Circulation >
Check in. A settings icon is included in the barcode field,
clicking this then shows the date field with the date picker
(and any other options).

Previously on the renewals page (24.05.x and earlier), there was
no settings icon in the barcode field and the date input field
with date picker was already shown.

This user interface pattern is used elsewhere in Koha, and this
chnage will help improve consistency.

Test plan:
1. Browse to Circulation > Check in.
2. Note the settings icon in the barcode form field.
3. Click it to show the the return date field with a date picker,
   and other options.
4. Browse to Circulation > Renew.
5. Note there is no settings icon.
6. Apply the patch.
7. Repeat step 4 - note that there is now a settings icon.
8. Click the settings icon to show the renewal date form field.
9. Click the input field to show teh date picker.

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>
2025-04-23 09:35:08 +02:00
Lucas Gass 74838888c0
Bug 39633: Use column names to get table settings
1. Cataloging > Inventory
2. Run the tool without uploaded barcodes
3. Table loads and you see all the DataTable controls ( Table settings, etc )
4. Run the tool while uploading at least 1 barcode
5. No DataTable controls
6. APPLY PATCH
7. Try steps 1 -4 again, making sure everything now works.

Signed-off-by: Sam <sam.sowanick@corvallisoregon.gov>

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-04-23 09:35:08 +02:00
Jonathan Druart 5309946fd1
Bug 39664: Fix selection of repeatable additional fields linked with AV
Move the radio buttons outside of the select.

Caused by
  commit ba31ec291f
  Bug 38714: additional-fields-entry.inc

To test:
1) Add an AV 'repeatable' additional field for libraries, at:
http://localhost:8081/cgi-bin/koha/admin/additional-fields.pl?tablename=branches
2) Edit a library. Notice no options show.
3) Revert additional-fields-entry.inc to how it was previous to the commit. Hard refresh the edit library page. Notice the options show.

Signed-off-by: Pedro Amorim <pedro.amorim@openfifth.co.uk>
Signed-off-by: Martin Renvoize <martin.renvoize@openfifth.co.uk>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-04-23 09:35:07 +02:00
Thomas Klausner 8bc4ea1418
Bug 39700: Fix test case t/db_dependent/Authority/Merge.t broken in 34739
Bug 34739 added some test cases to t/db_dependent/Authority/Merge.t which work when run as a standlone test, but fail when run with some other tests. This patch fixes the test.

Test Plan:

* Start KTD and enter a shell
* Run only the single test:
  prove t/db_dependent/Authority/Merge.t
* You should get "All test successful"
* Now run two tests:
  prove t/db_dependent/Biblio.t t/db_dependent/Authority/Merge.t
* You will get a FAIL:
  t/db_dependent/Authority/Merge.t (Wstat: 256 (exited 1) Tests: 14 Failed: 1)
  Failed test:  13

* Apply the patch

* Again run two tests:
  prove t/db_dependent/Biblio.t t/db_dependent/Authority/Merge.t
* You should get "All test successful"

Sponsored by: HKS3

Signed-off-by: Roman Dolny <roman.dolny@jezuici.pl>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-04-23 09:35:07 +02:00
Andrew Fuerste Henry 29cd3022ac
Bug 38994: Add classes to circulation module homepage
To test:
1: inspect /koha/circ/circulation-home.pl, see most elements lack distinct classes
2: apply patch, reload page
3: inspect page again, confirm nothing has changed in display
4: confirm page elements have distinct classes now and can be accurately targetted with CSS

Signed-off-by: Jason Robb <jrobb@sekls.org>
Signed-off-by: David Cook <dcook@prosentient.com.au>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-04-22 08:46:54 +02:00
Stefan Berndtsson 1c3bc68e9c
Bug 39467: Fix patron "View restrictions" link in messages
Currently nothing happens when clicking the "View restrictions" link
in patron messages. Using the bootstrap api to open it resolves the
issue.

To test:
1) Go to a patrons details page, click "Restrictions" and add amanual
   restriction.
2) A message with a "View restrictions" link should appear.
3) Clicking this link does not open the "Restrictions" tab as it should.
4) Apply patch
5) Now this "View restrictions" link should open the "Restrictions" tab

Sponsored-by: Gothenburg University Library
Signed-off-by: Jesse Maseto <jesse@bywatersolutions.com>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-04-22 08:46:53 +02:00
Pedro Amorim 1d6017bbd8
Bug 39449: Fix table sort arrows
Test plan:
1) Look at the same biblio on both OPAC and Staff:
http://localhost:8081/cgi-bin/koha/catalogue/detail.pl?biblionumber=76
http://localhost:8080/cgi-bin/koha/opac-detail.pl?biblionumber=76

2) Click on the 'current library' column header for OPAC and 'Home
   library' for staff. Notice that on Staff when it's DESC, arrow points
   down (as expected), but on OPAC when it's DESC, the arrows points up.

3) Apply patch. Reset CSS:
   yarn css:build

4) Do a hard refresh on the OPAC. Repeat test plan. Notice they now
   behave the same.

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Lisette Scheer <lisette@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-04-22 08:46:53 +02:00
Johanna Räisä ae069f57ec
Bug 38905: change permissions for item creation and modification
This patch changes the permissions to edit_items for item creation and modification via the API.

Test plan:
1) Apply the patch
2) prove t/db_dependent/api/v1/biblios.t

Sponsored-by: Koha-Suomi Oy
Signed-off-by: Jan Kissig <bibliothek@th-wildau.de>
Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-04-22 08:46:52 +02:00
Baptiste Wojtkowski 0473abdd62
Bug 39238: Add links toward private lists in biblio
TEST PLAN:
1 - Create a public list, add a book in the list
2 - Notice there is a link on biblio's details on the intranet
3 - Add the book in a private list, notice there is no link on biblio's
  details
4 - Apply patch
5 - Notice there is now a link to the list

Signed-off-by: Karolina Sumara <karolettaeska@gmail.com>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-04-22 08:46:52 +02:00
Katrin Fischer 7ee729af4d
Bug 39171: DBRev 24.12.00.027
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-04-22 08:46:51 +02:00
David Gustafsson 833ad77a8f
Bug 39171: Rename IS02709 ElasticsearchMARCFormat to base64ISO2709
To test:
1) Apply patch
2) Make sure tests in t/db_dependent/Koha/SearchEngine/Elasticsearch.t
   pass

Signed-off-by: David Cook <dcook@prosentient.com.au>
Signed-off-by: Thomas Klausner <domm@plix.at>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-04-22 08:46:51 +02:00
Katrin Fischer a8cb53a045
Bug 39062: DBRev 24.12.00.026
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-04-22 08:46:50 +02:00
Andrew Fuerste Henry 4f2ee1640d
Bug 39062: Increase stocknumber length in items and deleteditems
Signed-off-by: David Cook <dcook@prosentient.com.au>
Signed-off-by: Baptiste Wojtkowski <baptiste.wojtkowski@biblibre.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-04-22 08:46:50 +02:00
Andrew Fuerste Henry 41d781648f
Bug 39062: increase length of items.stocknumber and deleteditems.stocknumber in kohastructure.sql
To test:
1: try to save a value in the 952$i that is more than 32 characters
2: It does not work.
3: apply patch
4: try to save a value in the 952$i that is more than 32 characters
5: it does work!
6: delete your item and use a report to confirm the full string is in deleteditems.stocknumber
7: Maybe use DESCRIBE from mysql commandline to see the length and confirm it's changed?

Signed-off-by: David Cook <dcook@prosentient.com.au>
Signed-off-by: Baptiste Wojtkowski <baptiste.wojtkowski@biblibre.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-04-22 08:46:49 +02:00
Owen Leonard 35e00aa69a
Bug 37907: Add column to user summary to show date an item was checked out on
This patch adds a "Checked out on" column to the table of checkouts
and the table of overdues on the OPAC user summary page.

To test, apply the patch and log in to the OPAC as a user who has
overdue items.

- On the user summary page confirm that the "Checked out" table shows a
  column for "Checked out on" and that the information is
  displayed correctly.
- Make the same check of the "Overdue" tab.

Sponsored-by: Athens County Public Libraries
Signed-off-by: Olivier V <olivier.vezina@inLibro.com>
Signed-off-by: Baptiste Wojtkowski <baptiste.wojtkowski@biblibre.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-04-22 08:46:49 +02:00
Pedro Amorim 346bef792e
Bug 38669: (QA follow-up): Prevent multiple occurrences of 'op' in the form
This may happen if getting to the ILL auto screen from the type disclaimer screen for example
Which causes the 'return to request'm form submission to have 2 'op's, causing error.

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-04-22 08:46:48 +02:00
Pedro Amorim ff4bdb1ef5
Bug 38669: (QA follow-up): Fix find-missing-op-in-forms.t failure
prove xt/find-missing-op-in-forms.t

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-04-22 08:46:48 +02:00
Pedro Amorim bf0309b4ee
Bug 38669: Add 'Return to form' button at top of auto backend screen
Follow test plan from bug 35604, but notice you now have the possibility to return to the form

Sponsored-by: UKHSA - UK Health Security Agency
Sponsored-by: PTFS Europe Ltd <https://ptfs-europe.com>
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-04-22 08:46:47 +02:00
Pedro Amorim 858134df9f
Bug 38685: Add missing ops to breadcrumbs
Breadcrumbs added to the following op pages:
- confirm
- delete_confirm
- generic_confirm
- edititem
- edit_action
- check_out
- cud-cancel
- availability

Test plan:
1) Enable ILLModule
2) Create a new ILL request:
   <staff_url>/cgi-bin/koha/ill/ill-requests.pl?method=create&backend=Standard
3) Try various actions like 'Edit request', 'Confirm request', 'Place
   request with partners', etc.
4) Notice the breadcrumbs were previously missing. They are now there.
5) If you want to test the breadcrumbs on the batches pages or
   availability check stage let me know and I'll help setting up the
   required plugins to have them work.

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-04-22 08:46:47 +02:00
Pedro Amorim b02d4c42cc
Bug 38685: Preparation: DRY code
This is in preparation of the next patch, to avoid big copy + pastes

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-04-22 08:46:46 +02:00
Pedro Amorim 7ed014dd1e
Bug 38685: Only render breadcrumb item if content not empty
This ensures the '>' caret is only rendered if there is indeed some
breadcrumb content.

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-04-22 08:46:46 +02:00
Pedro Amorim eee149e5a7
Bug 38685: Remove useless batch_create code
This is not used and not needed.
Noticed when evaluating every potential 'op'.

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-04-22 08:46:45 +02:00
Brendan Lawlor 0323d147dd
Bug 37050: (follow-up) Fix invalid html syntax in tt
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-04-22 08:46:45 +02:00
Brendan Lawlor a00693d263
Bug 37050: Add select2 to SQL reports multiselect
This patch adds select 2 to multi-select parameter fields in
SQL reports. If no selections are made for a multi-select
all authorised values will be used by default. This allows reports
to be written where a multi select parameter is optional.

To test:
1. Apply patch
2. Go to Reports and create a report from SQL
   select *
   from items
   where
   homebranch in <<Libraries|branches:in>>
   and
   itype in <<Item type|itemtypes:in>>
3. Run the report making multiple selections for each parameter
    and making single selections for each parameter
4. Run the report making multiple selections for one parameter and no
   selections in another parameter
5. Check that the results are as you would expect
6. On the results page click 'Show SQL code'
7. Confirm that the codes are included according to your selections
8. Note that when no selections are made for a parameter all codes are
   used by defaut

Sponsored-by: CLAMS
Signed-off-by: Michaela Sieber <michaela.sieber@kit.edu>
Signed-off-by: Pedro Amorim <pedro.amorim@openfifth.co.uk>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-04-22 08:46:44 +02:00
Janusz Kaczmarek 34870b7d6a
Bug 39500: Subfield 111 $n is badly displayed in OPAC (MARC21)
If the main heading is 111 and id contains subfield $n, the content of
this subfield is badly displayed in OPAC: at the beginning of the
heading text (right after "By:"), and then correctly, as the part of
the link.

Test plan:
==========
1. Check if the 111 $n subfield is available in the framework you are
   using. If not, activate it (Editor checkbox).
2. Take any bibliographic record and replace the main heading with a
   conference heading (111), e.g.:
   111 $a Annual Koha Hackfest $n (13 : $c Marseille : $d 2025)
   Control in OPAC that the $n subfield is displayed twice (first time
   at the beginning)
3. Apply the patch ; restart_all
4. Check the result in OPAC: the main heading should be displayed
   correctly now.

Signed-off-by: Thomas Klausner <domm@plix.at>

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-04-22 08:46:44 +02:00
Marcel de Rooy 6b8aeda66e
Bug 39624: (follow-up) Fix deleting the All line
Test plan:
Add a line for All categories.
Delete it again. Check when refreshing the page.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Brendan Gallagher <brendan@bywatersolutions.com>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-04-22 08:46:43 +02:00
Marcel de Rooy ea73b35cf2
Bug 39624: Add patron category * (All) to open_article_requests limit
Test plan:
Go to smart rules.
Add a limit for All.
Refresh and check if it is still there.
Enable ArticleRequests and verify if the limit is working.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Brendan Gallagher <brendan@bywatersolutions.com>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-04-22 08:46:43 +02:00
Marcel de Rooy 663830d9ed
Bug 25015: (QA follow-up) Slide together
We do not need 1 or 0 here btw. We just check for true.

Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-04-22 08:46:42 +02:00
Emily Lamancusa 6bfcd23bdb
Bug 25015: Allow staff with edit_items permissions to edit fast add items
To test:
1. Set up a user with only catalogue and edit_items permissions
2. Create a Fast Add record with item
    a. Go to Cataloging
    b. Click on Fast Cataloging
    c. Fill in mandatory fields and save the record
    d. Fill in mandatory item fields and click Add item
3. Log in as the user you set up in step 1
4. Search for the record you created in step 2
5. Click Edit > Manage items in the menu at the top of the record
==> You do not have permission to access this page!
6. Go back to biblio record page
7. Apply patch and restart_all
8. Click Edit > Manage items again
==> Edit items page loads normally
9. Make a few edits and confirm that they save correctly

Signed-off-by: Phil Ringnalda <phil@chetcolibrary.org>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-04-22 08:46:41 +02:00
David Cook 44b50d9d44
Bug 39635: Update required version for List::MoreUtils in cpanfile
This change updates the required version for List::MoreUtils
following the inclusion of "zip6" function introduced in
List::MoreUtils version 0.423

Signed-off-by: Brendan Gallagher <brendan@bywatersolutions.com>

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-04-22 08:46:41 +02:00
Katrin Fischer 59ced52d8b
Bug 39374: DBRev 24.12.00.025
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-04-22 08:46:40 +02:00
David Cook d53f82ce88
Bug 39374: Database changes
Signed-off-by: Brendan Gallagher <brendan@bywatersolutions.com>
Signed-off-by: Baptiste Wojtkowski <baptiste.wojtkowski@biblibre.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-04-22 08:46:40 +02:00
David Cook 8e9a3d851d
Bug 39374: Add feature to block sending of lists from OPAC
This change adds a system preference OPACDisableSendList which
disables the ability to send lists from the OPAC, and hides the
"Send list" link on the opac-shelves.pl page.

This is useful in situations where you do not want OPAC users to be
able to generate emails to arbitrary addresses with arbitrary comments.

Test plan:
0. Apply the patch and koha-plack --restart kohadev
1. Create a public list with at least one record and view it in the OPAC
2. Click "Send list" and note you can fill out boxes for "Email address"
and "Comment"
3. Change syspref OPACDisableSendList to "Don't allow" and click "Send list"
again
4. Note the popup window now says "You do not have permission to send this list."
5. Reload the list web page and notice "Send list" no longer appears on the toolbar
next to "Print list"

Signed-off-by: Brendan Gallagher <brendan@bywatersolutions.com>
Signed-off-by: Baptiste Wojtkowski <baptiste.wojtkowski@biblibre.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-04-22 08:46:39 +02:00
Pedro Amorim 8538c885f6
Bug 39663: Fix header element for Patrons
Commit https://github.com/Koha-Community/Koha/commit/f42df40 renamed 'Members' to 'Patrons' but didnt adjust h3->h2 as it did with every other entry in this page

Signed-off-by: Pedro Amorim <pedro.amorim@openfifth.co.uk>
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-04-22 08:46:39 +02:00
Baptiste Wojtkowski 248013a2a9
Bug 39317: Fix CSRF protection for letters
TEST PLAN:
1 - go to /cgi-bin/koha/tools/letter.pl
2 - click on New notice -> claim serial issue (or any other one)
3 - Fill required fields with random string
4 - Save -> if it breaks, go to
5 - Open a network panel (F12 -> network)
6 - Filter on letter.pl
7 - Fill another new notice -> the arguments of the form page have been
  passed in the address of the POST request.
8 - Apply patch
9 - Repeat the whole process and see it works now

Signed-off-by: Magnus Enger <magnus@libriotech.no>
I can't recreate the problem, but the change seems sensible enough
and does not seem to introduce a regression, I can still save a
new letter/notice.
Signed-off-by: David Cook <dcook@prosentient.com.au>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-04-22 08:46:38 +02:00
Andreas Roussos 4a6d097c31
Bug 39501: add "value=" attributes to the HTML select element
In the current main branch, when linking authorities with other
authorities, if you select a relationship you no longer get the
associated letter (i.e. the "relationship code") copied to the
appropriate subfield. Rather, the whole description gets copied.

This patch fixes that.

Test plan:

0) [PREREQUISITES in order for the authority finder plugin to come up]
   a) You must have at least one authority type besides the 'Default'.
   b) View the MARC structure of the 'Default' auth type, then click
      on 'Actions->Subfields' for tag 500; click on 'Edit subfields'.
      Select the subfield 'a' tab, then pick an auth type from the
      'Thesaurus:' dropdown menu; click 'Save changes' at the top.

1) In the Staff client, go to Authorities, then click 'New Authority'
   and pick the 'Default' authority type (or edit an existing auth).

2) When the authority editor comes up, go to tag 500 and expand it.

3) Click on the ellipsis (...) next to subfield $a.

4) When the authority finder comes up, search for an authority, pick
   a relator code from the 'Special relationship:' dropdown, and then
   click on the 'Choose' button for one of the authorities you found.

5) Notice that the whole description for the relationship you selected
   gets copied (instead of just the single letter relationship code).

6) Apply this patch.

7) Repeat steps 1-4.
   Notice that, this time, only the relationship code gets copied over.

Signed-off-by: Laurence <laurence.rault@biblibre.com>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-04-22 08:46:38 +02:00
Owen Leonard 715006bd86
Bug 39274: Non public notes are low contrast in the issues table - Previous checkouts
This patch reflects some rethinking on my part about how the Bootstrap
color classes are meant to be used, and makes some changes which I hope
will be more consistent with the Bootstrap 5 documentation while keeping
our interface usable.

The main difference is in the use of the classes "text-bg-*" and
"bg-*-subtle." For example the class "bg-info-subtle" will give an
element a subtle colored background. "text-bg-info" will have a more
saturated background color. The "text-" part of the class is a reference
to the fact that elements with that category of classes will have text
color which adapts to provide correct contrast.

This patch also makes a minor adjustment to the color used for "warning"
type elements (e.g. <div class="alert alert-warning">. I've adjusted the
color slightly in order to differentiate it from the "primary"
class color we use for submit buttons.

To test, apply the patch and rebuil the staff interface CSS. Clear your
browser cache if necessary.

Checkouts:
1. Have an item with a non-public note.
2. Check it out, it looks fine while under "Today's issues"
3. Set the issuedate to some time in the past
   `update issues set issuedate = '2025-03-04 15:58:46';`
4. The non-public note should appear in legible red.

Return claims:
1. The "Claims" tab on the patron detail and checkout pages already used
   the "text-bg-*" classes but the "-success" class didn't work well
   with the tab background color so I removed it. I notice there is a bug
   in the way the classes change as the tab is activated, but that will
   have to be dealt with on another bug.

Bibliographic details:
1. Place at least one hold and at least one article request on a title.
2. The detail view should show "Holds: 1", and "Article requests: 1"
   with the numbers in legible Bootstrap badges.

Holds:
1. Perform a catalog search which will return multiple titles.
2. Select multiple titles and click "Place hold."
3. Select a patron to place a hold for.
4. Confirm the holds by clicking "Place hold."
5. The holds should now be shown under the heading "Existing holds,"
   with Bootstrap badgets showing the hold count on each.

Patrons requesting modification:
1. Submit an update to a patron record via the OPAC.
2. On the patrons home page in the staff interface there should be a
   "Patrons requesting modifications" link at the top, with a count of
   pending modifications shown in a Bootstrap badge.

Check-ins:
1. Check in an item from a patron account with multiple other checkouts.
2. In the table of checked-in items the patron's remaining checkout
   count should be shown in a Bootstrap badge.

SMTP servers:
1. Go to Administration -> SMTP Servers.
2. Edit at least one server so that debug mode is enabled and it is
   marked as a default server.
3. In the view of servers, the debug mode and default status should be
   shown in Bootstrap badges.

Plugins:
1. Go to Administration -> Plugins.
2. Upload a plugin if necessary, and check the list of installed plugins
   when the plugin is disabled and when it is enabled. In both cases the
   status should appear in a Bootstrap badge.

About page:
1. Go to the About page.
2. Under the "Server information" tab, the status of Memcached and
   Message broker should be shown with a background color--pale blue for
   okay statuses.

Tools home page:
1. If necessary, go to the OPAC and submit at least one comment on a
   bibliographic record and tag at least one record.
2. In the staff interface, on the Tools home page, the number of tags
   pending approval and the number of comments awaiting moderation
   should show in Bootstrap badges.

Sponsored-by: Athens County Public Libraries
Signed-off-by: Andrew Fuerste Henry <andrew@bywatersolutions.com>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-04-22 08:46:37 +02:00
Lucas Gass 9f16b085b5
Bug 39484: Fix external sounds in self checkout module
To test:
1. Enable AudioAlerts
2. Set something up in the SCO to play a sound from an external source. ( I used #sco_main as my selector )
3. Go to SCO and try to trigger the sound, nothing plays.
4. APPLY PATCH
5. Try steps 2 and 3 again, this time you should hear the sound from an external source.

Signed-off-by: Andrew <andrew.auld@openfifth.co.uk>
Signed-off-by: Brendan Lawlor <blawlor@clamsnet.org>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-04-22 08:46:37 +02:00
Alexander Blanchard 198f9d7738
Bug 39490: Table Columns Missing Headings
An accessibility audit highlighted that the purchase suggestions
and search history tables in the 'My Account' section do not
have headings in the tickbox column. The report suggests headings
should be added to support those using screen readers.

To Test:
1) In the opac, navigate to 'Your Account'
2) Navigate to 'Purchase Suggestions'
3) Add a purchase suggestion if you currently have none
4) Note that the left column does not have a heading and you cannot tab to it
5) Navigate to 'Search History'
6) Note, you must have searched the catalogue at least once for this table to display
7) Note that the left column does not have a heading and you cannot tab to it
8) Apply the patch
9) Repeat the steps above
10) Note that the tables now have a tooltip with information relevant to the column
11) Note that this column heading can now be tabbed to

Signed-off-by: Brendan Gallagher <brendan@bywatersolutions.com>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-04-22 08:46:36 +02:00
Fridolin Somers 9292b076ac
Bug 39626: Use patron-title.inc in pendingreserves.tt
In "Holds to pull" page, patron column should use patron-title.inc like in other pages (like waiting holds).
This allows to use surname first to allow better sorting/finding.

Test plan :
1) Place an hold on some record
2) Go to  Circulation > Holds to pull
3) Check you see in column "First patron" : surname then firstname

Signed-off-by: Emmanuel Bétemps <e.betemps@gmail.com>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-04-22 08:46:36 +02:00
Nick Clemens 342c1d5993
Bug 39301: pseudonymize_statistics.pl script generates too many background jobs
This patch changes the script to use 'Koha::PseudonymizedTransaction->new_from_statistic' directly
rather than calling 'Koha::Statistic->pseudonymize()' which generates a background job.

Additionally, some of the checks from 'pseudonymnize' and the background job are moved into the search
so we don't fetch any to pseudonymize that should not be.

To test:
 1 - Generate some entries in statistics (checkin, checkout, renew, etc)
 2 - Enable pseudonymization (see bug 28911 if you need bcrypt settings)
 3 - perl misc/maintenance/pseudonymize_statistics.pl -v -c
 4 - Statistics pseudonymized
 5 - Check the background jobs table, note jobs were generated
 6 - Apply patch
 7 - perl misc/maintenance/pseudonymize_statistics.pl -v -c
 8 - You get same count as before, and are warned of existing pseudonymized transactions
 9 - enter 'Y' to continue
10 - Check the pseudonymized_transacations table
11 - Confirm same rows were generated twice
12 - Check the background jobs
13 - Confirm there were no new jobs generated (for pseudonymization)

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>
2025-04-22 08:46:35 +02:00
Andrew Fuerste Henry 13b813a4f9
Bug 39321: Hide subfield tag information for control fields in bib and authority editing
This applies only to the basic editor, but for both bibs and authorities
To test:
1 - Open a bib in the basic editor, see that the control fields show the subfield tag value label and that the value of 00 is slightly cut off in the display
2 - Open an authority in the basic editor and confirm same
3 - apply patch
4 - reload your records and see that the subfield value and label are now hidden for control fields in both bib and authrority editing

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

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-04-22 08:46:35 +02:00
Lukas Koszyk 42ec5d36c2
Bug 38760: Add support for database connection encryption parameters in koha-mysql
The koha-mysql didn't work when the instance was set up to use an encrypted
database connection.

Please note: this testplan is for ktd, not for a production environment!

Unfortunately, there are some issues with the database TLS configuration in koha-testing-docker.
This is described comment 14 of bug 36026 (https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=36026#c14)

As a workaround, you can add "mysql_ssl_optional=1" in Koha/Database.pm.
See point (g) in comment 15 of bug 36026 (https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=36026#c15)

Testing Database Connection Encryption:
1. Apply the patch.
2. Configure koha-conf.xml to use a TLS connection
(see comment 10 https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=36026#c10, follow steps 3a-g + 4 )
3. Run:
koha-mysql <koha_instance>
4. Verify that the MySQL console opens successfully.
5. Check the encryption settings in the MySQL console:
- run:
SHOW VARIABLES LIKE '%ssl%';
- run:
STATUS;
Ensure that the following conditions are met:
- have_openssl and have_ssl are set to "YES".
- The SSL cipher in use is displayed.

Testing MySQL Timezone Configuration:
1. Apply the patch.
2. Configure the timezone in koha-conf.xml, for example:
<timezone>Antarctica/South_Pole</timezone>
3. Run:
koha-mysql <koha_instance>
4. Verify that the MySQL console opens successfully.
5. Check the timezone setting in the MySQL console by running:
SELECT @@session.time_zone;
6. Confirm that the output matches the timezone configured in koha-conf.xml.

Sponsored-by: Karlsruhe Institute of Technology (KIT)
Signed-off-by: Jan Kissig <bibliothek@th-wildau.de>
Signed-off-by: Thomas Klausner <domm@plix.at>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-04-22 08:46:34 +02:00
Owen Leonard 19d51a7f36
Bug 39015: Fix sorting by date on cash register statistics page
This patch adds a "data-sort" attribute to the columns in the results
table which contain dates. This allows DataTables to sort using the
unformatted date.

The patch also adds the "anti-the" class to the column containing
titles, ensuring that the sort excludes articles.

To test, apply the patch and go to Reports -> Statistics wizards -> Cash
register. You must have multiple entries in the results, which could be
generated by using the "Create manual invoice" form under a patron's
account tab. Unfortunately that won't create entries with multiple dates
to sort on. I assume a proper test will require some manual SQL updates.

To test title sorting you should have some transactions which are tied
to an item. To generate this data:

- Set the 'WhenLostChargeReplacementFee' system preference to "Charge"
- Add a replacement cost to some items in the catalog.
- Check those items out ot a patron.
- From the "Item details" tab for those records, mark each item lost.
  - The charges should now be on the patron's account.

- On the Cash register statistics page, submit the form using parameters
  which will return multiple results.
- Test that the "Transaction date" and "Updated" columns work correctly
  with various settings of the "dateformat" system preference.
- Test that the "Bibliographic record title" column sorts correctly,
  excluding initial articles (a, an, the) from the sort.

Sponsored-by: Athens County Public Libraries
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Baptiste Wojtkowski <baptiste.wojtkowski@biblibre.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-04-22 08:46:34 +02:00
Jonathan Druart 77079b17ef
Bug 38984: Uniformize noSort NoExport NoExport
Signed-off-by: Martin Renvoize <martin.renvoize@openfifth.co.uk>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-04-22 08:46:33 +02:00
Owen Leonard 739adc5593
Bug 38984: (follow-up) Replace obsolete "paginate" option with "paging"
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Martin Renvoize <martin.renvoize@openfifth.co.uk>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-04-22 08:46:33 +02:00
Owen Leonard 476a991376
Bug 38984: (follow-up) Fix nosort class on first column
Changing "nosort" to "NoSort". Also adding an "order" option to the
table configuration so that the table isn't sorted by default on the
first column (overriding the NoSort option).

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Martin Renvoize <martin.renvoize@openfifth.co.uk>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-04-22 08:46:32 +02:00
Owen Leonard 6a9716c00d
Bug 38984: (follow-up) Fix syntax error in invoice-files table
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Martin Renvoize <martin.renvoize@openfifth.co.uk>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-04-22 08:46:31 +02:00
Jonathan Druart a39d1e2421
Bug 38984: Specific - tools/batch_extend_due_dates.tt
Why no sort on item type? Why no sort on #checkouts_result?

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Martin Renvoize <martin.renvoize@openfifth.co.uk>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-04-22 08:46:31 +02:00