]> git.koha-community.org Git - koha.git/log
koha.git
8 months agoBug 35518: Check authentication and set userenv before fetching userenv variables
Nick Clemens [Fri, 26 Jan 2024 14:10:01 +0000 (14:10 +0000)]
Bug 35518: Check authentication and set userenv before fetching userenv variables

Currently we get the userenv before we have set it correctly for the session

To test:
 1 - Sign in as a user with fast cataloging permission
 2 - Bring up a patron, type gibberish into barcode field to get a fast cataloging link
 3 - Check the link, it should have your current signed in barcode
 4 - Sign in to a different browser with a different user and at a different branch
 5 - Bring up a aptron in circulation and type gibberish into barcode field to get a fast cataloging link
 6 - It may have your branch, but it may also have the other user's branch from the other window
 7 - Keep entering gibberish to get a link until one user has the correct branch
 8 - Then switch to the other browser, and keep entering gibberish, watch the branchcode change
 9 - Apply patch, restart all
10 - Test switching between browsers. generating fast cataloging links
11 - Users should now consistently have the correct branch

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
8 months agoBug 36034: Add test
Jonathan Druart [Wed, 14 Feb 2024 07:49:33 +0000 (08:49 +0100)]
Bug 36034: Add test

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
8 months agoBug 36034: (bug 34893 follow-up) fix capture of return values from checkpw
Andreas Jonsson [Thu, 8 Feb 2024 10:57:03 +0000 (11:57 +0100)]
Bug 36034: (bug 34893 follow-up) fix capture of return values from checkpw

Adapt code to the change of return value type of checkpw
introduced in bug 34893

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
8 months agoBug 29002: Remove whitespace only lines
Martin Renvoize [Thu, 11 Jan 2024 11:14:27 +0000 (11:14 +0000)]
Bug 29002: Remove whitespace only lines

Jonathan highlighted some trailing whitespace.. I only see a few cases
where a line only contains whitespace and I didn't see these caught by
the QA script at the time of submission.

Anyway, this removes the spaces

8 months agoBug 35962: (bug 35843 follow-up 2) Fix BackgroundJob.t on D10
Jonathan Druart [Tue, 6 Feb 2024 07:32:31 +0000 (08:32 +0100)]
Bug 35962: (bug 35843 follow-up 2) Fix BackgroundJob.t on D10

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
8 months agoBug 34893: Unit tests for C4::Auth::checkpw
Tomas Cohen Arazi [Fri, 15 Dec 2023 13:54:11 +0000 (10:54 -0300)]
Bug 34893: Unit tests for C4::Auth::checkpw

This patch introduces some tests on the current (and new) behavior for
the `checkpw` function.

I needed it to better understand if an edge case was actually possible
(it wasn't).

Found a really minor annoyance for the internal check with expired
password not returning the $patron object for consistency with the other
use cases.

I think this method deserves (at least) changing the return value to a
sane data structure. But that's not target for backporting to stable
releases. So a separate bug.

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
8 months agoBug 34893: (QA follow-up) Tidy code for qa script
Kyle M Hall [Fri, 1 Dec 2023 11:29:19 +0000 (06:29 -0500)]
Bug 34893: (QA follow-up) Tidy code for qa script

Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
8 months agoBug 34893: Add checkpw change to REST API
David Cook [Tue, 28 Nov 2023 22:57:39 +0000 (22:57 +0000)]
Bug 34893: Add checkpw change to REST API

This patch adds the checkpw return value change to the REST API
route for validating user identifiers and password.

Test plan:
0. Apply patch
1. prove t/db_dependent/api/v1/password_validation.t

Bonus points:
1. koha-plack --reload kohadev
2. Enable syspref RESTBasicAuth
3. curl -XPOST -H "Content-Type: application/json" \
-u <staff_userid>:<staff_password> \
-d '{"identifier":"<cardnumber>","password":"<password>"}' \
http://localhost:8081/api/v1/auth/password/validation
4. Validation doesn't fail. It gives you cardnumber, patron_id, userid

Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
8 months agoBug 34893: ILS-DI can return the wrong patron for AuthenticatePatron
Kyle M Hall [Fri, 22 Sep 2023 18:20:59 +0000 (14:20 -0400)]
Bug 34893: ILS-DI can return the wrong patron for AuthenticatePatron

Imagine we have a set of users. Some of those users have a NULL userid. We then call AuthenticatePatron from ILS-DI for a patron with a NULL userid, but a valid cardnumber. We call checkpw, which returns the cardnumber and userid. We then call Koha::Patrons->find on the userid *which is null*, meaning the borrowernumber returned is not the correct one, but instead the earliest patron inserted into the database that has a NULL userid.

Test Plan:
1) Give three patrons a userid and a password
2) From the database cli, set all patrons's userid to null
   Run this query: update borrowers set userid = null;
3) Call AuthenticatePatron with username being the 1st patron cardnumber,
   and password being the password you set for that patron
   http://localhost:8080/cgi-bin/koha/ilsdi.pl?service=AuthenticatePatron&username=kohacard&password=koha
4) Note you get back a borrowernumber for a different patron. Refresh the page and the number is correct.
5) Do the same with the 2nd patron. Same issue at 1st and correct number after.
6) Apply this patch
7) Restart all the things!
8) Do the same with the 3rd patron.
9) Note you get the correct borrowernumber! :D
10) prove t/Auth.t t/db_dependent/Auth_with_ldap.t t/Auth_with_shibboleth.t t/db_dependent/Auth_with_cas.t

Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
8 months agoBug 34893: Add unit tests
Kyle M Hall [Wed, 29 Nov 2023 17:18:32 +0000 (17:18 +0000)]
Bug 34893: Add unit tests

Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
8 months agoBug 32474: (follow-up): Tell the tests to wait for the intercepted request responses
Matt Blenkinsop [Fri, 2 Feb 2024 10:29:06 +0000 (10:29 +0000)]
Bug 32474: (follow-up): Tell the tests to wait for the intercepted request responses

Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
8 months agoBug 35962: (bug 35843 follow-up) Fix BackgroundJob.t on D10
Jonathan Druart [Wed, 31 Jan 2024 15:44:47 +0000 (16:44 +0100)]
Bug 35962: (bug 35843 follow-up) Fix BackgroundJob.t on D10

Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
8 months agoBug 35940: Close modal before typing
Matt Blenkinsop [Wed, 31 Jan 2024 16:36:27 +0000 (16:36 +0000)]
Bug 35940: Close modal before typing

Tests currently fail due to a modal remaining open. This patch closes the modal to make the tests pass

Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
8 months agoBug 35940: (bug 35477 follow-up) Fix cypress tests
Jonathan Druart [Tue, 30 Jan 2024 13:30:31 +0000 (14:30 +0100)]
Bug 35940: (bug 35477 follow-up) Fix cypress tests

AssertionError: Timed out retrying after 10000ms: Expected to find element: `main div[class='dialog message']`, but never found it.

We moved from message to alert.

Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
8 months agoBug 35506: Move the checkouts table load delay logic out of document ready
Jonathan Druart [Tue, 23 Jan 2024 15:04:32 +0000 (16:04 +0100)]
Bug 35506: Move the checkouts table load delay logic out of document ready

== Test plan ==
0. Have Selenium running
   ktd --selenium up
1. prove t/db_dependent/selenium/regressions.t
2. It should still work

Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
8 months agoBug 34862: (follow-up) Fix some misplaced messages and add missing
Owen Leonard [Thu, 9 Nov 2023 18:06:03 +0000 (18:06 +0000)]
Bug 34862: (follow-up) Fix some misplaced messages and add missing

This patch fixes some templates where the messages include was appearing
in the wrong place, for instance above the left-hand sidebar instead of
at the top of the main content.

The patch also adds the new include to some templates which lacked it.

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
8 months agoBug 34862: Manual changes
Jonathan Druart [Thu, 21 Sep 2023 13:12:45 +0000 (15:12 +0200)]
Bug 34862: Manual changes

Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
8 months agoBug 34862: Add messages.inc
Jonathan Druart [Thu, 21 Sep 2023 13:08:54 +0000 (15:08 +0200)]
Bug 34862: Add messages.inc

Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
8 months agoBug 34862: Include messages.inc
Jonathan Druart [Thu, 21 Sep 2023 13:10:48 +0000 (15:10 +0200)]
Bug 34862: Include messages.inc

Generated using `perl add_blocking_errors.pl`

Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
8 months agoBug 34862: Remove blocking_errors where there is no main
Jonathan Druart [Thu, 21 Sep 2023 12:13:22 +0000 (14:13 +0200)]
Bug 34862: Remove blocking_errors where there is no main

Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
8 months agoBug 18397: (follow-up) Some tiny style and spelling changes
Katrin Fischer [Wed, 31 Jan 2024 12:55:01 +0000 (12:55 +0000)]
Bug 18397: (follow-up) Some tiny style and spelling changes

* cc is an abbreviation, so updated to CC
* Adding consistency with punctuation for error messages
* Updated a borrower to patron

Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
8 months agoBug 18397: Add message delivery details to the notices tab
Martin Renvoize [Wed, 8 Nov 2023 16:41:02 +0000 (16:41 +0000)]
Bug 18397: Add message delivery details to the notices tab

This patch adds further delivery details to the notices tab in patron
details in the staff client.

Once a message is sent, we display the 'from:', 'to:' and 'cc:'
addresses in the 'Delivery note' column when they exist.

Test plan
1. Enable KTD to send email [1] (without email configured the
   delivery note displayed "Unhandled email failure, check the logs for
   further details").

2. Add email addresses to two patrons and to KohaAdminEmailAddress,
   and run misc/cronjobs/process_message_queue.pl after generating
   notices.

3. For the two patrons with email addresses, make one a guarantor.

4. Sent Welcome messages (Patron account > More > Send welcome email) -
   nothing in delivery note column.

5. Checkout out an item to the guarantee (item checkout email enabled) -
   nothing in delivery note column.

6. Send the notices by running misc/cronjobs/process_message_queue.pl
   again.

7. Now the 'Delivery note' columns should contain from:, to: and cc:
   address details.

[1] Option 1 - smpt-sink (aka the sandboxes way)
    - Install the postfix package inside ktd (sudo apt install postfix)
      When asked in the wizard, I named mine 'local'
    - Start smpt-sink with
      `nohup smtp-sink -u root -D mail 127.0.0.1:25 100 </dev/null >/dev/null 2>&1 &`

    Option 2 - To test sending emails using a Google account:
    - Set up an App password for your Google Account
    - Edit /etc/koha/sites/kohadev/koha-conf.xml file and add this
      configuration near the end (where <user_name> = your Google email
      address; <password> = your APP password, not your Google account
      password):

      <smtp_server>
        <host>smtp.gmail.com</host>
        <port>587</port>
        <timeout>5</timeout>
        <ssl_mode>STARTTLS</ssl_mode>
        <user_name>GOOGLEACCOUNTUSER</user_name>
        <password>GOOGLEAPPPASSWORD</password>
        <debug>1</debug>
      </smtp_server>

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Aleisha Amohia <aleishaamohia@hotmail.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
8 months agoBug 35479: (QA follow-up): Tidy
Pedro Amorim [Mon, 18 Dec 2023 12:51:16 +0000 (12:51 +0000)]
Bug 35479: (QA follow-up): Tidy

Signed-off-by: Pedro Amorim <pedro.amorim@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
8 months agoBug 35479: (follow-up) Match formatting for other cronjob logs
Nick Clemens [Tue, 5 Dec 2023 13:40:48 +0000 (13:40 +0000)]
Bug 35479: (follow-up) Match formatting for other cronjob logs

To test:
1 - Install the Kitchen Sink plugin
2 - Restart all
3 - Enable 'CronjobLog' system preference
4 - perl misc/cronjobs/plugins_nightly.pl
5 - Note you see on the command line 'Remember to clean the kitchen' - this indicates the plugin cron ran
6 - Tools->log viewer, select 'cronjob' and view
7 - Note you only see 'plugins_nightly.pl' Run and End lines
8 - Apply patches
9 - perl misc/cronjobs/plugins_nightly.pl
10 - View logs agian
11 - Note you now see Run and End lines for 'Koha::Plugin::Com::ByWaterSolutions::KitchenSink'
12 - Confirm they look like the other lines
13 - Edit KitchenSink.pm and add 'die "Kittens";' to the cronjob nightly
14 - perl misc/cronjobs/plugins_nightly.pl
15 - View logs, confirm there is a FAILED error message for the KitchenSink cron

Signed-off-by: Pedro Amorim <pedro.amorim@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
8 months agoBug 35479: Log start, end, and any failures for each plugin's nightly cronjob
Kyle M Hall [Mon, 4 Dec 2023 17:41:32 +0000 (12:41 -0500)]
Bug 35479: Log start, end, and any failures for each plugin's nightly cronjob

When running the plugins_nightly.pl cronjob, we should record the plugins that have a nightly method, logging the start and end of each plugins routine

Test Plan:
1) Enable CronjobLog
2) Install a plugin with a nightly cronjob ( e.g.
   https://github.com/bywatersolutions/koha-plugin-book-list-printer )
3) Run plugins_nightly.pl
4) Note new entries in the cronjob viewer for the start and end of the
   plugin's nightly cronjob run
5) Edit the plugin, add a line like "die 'this is a test';" to the
   plugin's nightly cronjob
6) Run plugins_nightly.pl
7) View the action logs, not the log for the error you added!

Signed-off-by: Pedro Amorim <pedro.amorim@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
8 months agoBug 35490: Remove GetMarcItem from C4::Biblio module
Marcel de Rooy [Tue, 5 Dec 2023 15:51:35 +0000 (15:51 +0000)]
Bug 35490: Remove GetMarcItem from C4::Biblio module

Test plan:
Compile module, run qa tools.
Search for the use of C4::Items in C4/Biblio.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
8 months agoBug 34282: Fix availability check in ILL batches
Pedro Amorim [Fri, 14 Jul 2023 15:46:56 +0000 (15:46 +0000)]
Bug 34282: Fix availability check in ILL batches

Staging modal area had issues listing availability checks for each request in the batch creation process

To test:
1) Run bash <(curl -s https://raw.githubusercontent.com/ammopt/koha-ill-dev/master/start-ill-dev-plus.sh)
2) Install a metadata enrichment plugin, e.g. https://github.com/PTFS-Europe/koha-plugin-api-pubmed/releases
3) Install and configure an availability plugin, e.g. eds https://github.com/PTFS-Europe/koha-plugin-ill-avail-eds/releases
4) Enable ILLCheckAvailability sys pref
5) Create a new ILL batch and input some pubmedids, i.e. 3489859431452466
6) Verify that the availability results show and are working, for each request in the batch

Signed-off-by: Edith Speller <Edith.Speller@ukhsa.gov.uk>
Sponsored-by: UKHSA (UK Health Security Agency)
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
8 months agoBug 35389: (QA follow-up) Update circ-nav too
Marcel de Rooy [Fri, 19 Jan 2024 09:53:14 +0000 (09:53 +0000)]
Bug 35389: (QA follow-up) Update circ-nav too

As Katrin spotted, we need to not forget the sidebar menu.

Test plan:
Check if the item is visible/invisible on the sidebar menu of
Circulation. (Depending on StockRotation pref.)

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
8 months agoBug 35389: Hide 'Transfer to send' if StockRotation disabled
Marcel de Rooy [Thu, 23 Nov 2023 09:08:18 +0000 (09:08 +0000)]
Bug 35389: Hide 'Transfer to send' if StockRotation disabled

Test plan:
Disable StockRotation pref. Check if report is hidden on circ home.
Enable. Check if report is visible.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
8 months agoBug 35951: Remove useless include category-out-of-age-limit.inc
Tomas Cohen Arazi [Tue, 30 Jan 2024 17:01:26 +0000 (14:01 -0300)]
Bug 35951: Remove useless include category-out-of-age-limit.inc

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
9 months agoBug 32474: Store the selected option label
Jonathan Druart [Thu, 30 Nov 2023 09:34:54 +0000 (10:34 +0100)]
Bug 32474: Store the selected option label

It prevents the label to be removed when the selected option is not
longer in the item list.

Signed-off-by: Matt Blenkinsop <matt.blenkinsop@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
9 months agoBug 32474: Add cypress tests
Matt Blenkinsop [Thu, 30 Nov 2023 10:51:14 +0000 (10:51 +0000)]
Bug 32474: Add cypress tests

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
9 months agoBug 32474: Pass label and identifier
Jonathan Druart [Tue, 3 Oct 2023 08:22:46 +0000 (10:22 +0200)]
Bug 32474: Pass label and identifier

Signed-off-by: Matt Blenkinsop <matt.blenkinsop@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
9 months agoBug 32474: Adjust tests
Jonathan Druart [Tue, 3 Oct 2023 14:30:46 +0000 (16:30 +0200)]
Bug 32474: Adjust tests

We need to use the same data, for instance we had "license name" and
"first license name" for the license with license_id=1

Signed-off-by: Matt Blenkinsop <matt.blenkinsop@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
9 months agoBug 32474: Adjust tests - X-Total-Count
Jonathan Druart [Tue, 3 Oct 2023 07:59:24 +0000 (09:59 +0200)]
Bug 32474: Adjust tests - X-Total-Count

Signed-off-by: Matt Blenkinsop <matt.blenkinsop@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
9 months agoBug 32474: Fix required
Jonathan Druart [Tue, 3 Oct 2023 07:58:27 +0000 (09:58 +0200)]
Bug 32474: Fix required

Signed-off-by: Matt Blenkinsop <matt.blenkinsop@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
9 months agoBug 32474: Fix scroll bump when new data loads
Matt Blenkinsop [Fri, 29 Sep 2023 15:08:02 +0000 (15:08 +0000)]
Bug 32474: Fix scroll bump when new data loads

This patch addresses an annoying scroll bump when new data loads. Previously the
scrollbar would jump all the way to the top of the selct before resetting, this
has now been stopped.

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
9 months agoBug 32474: Fix duplicate API call
Matt Blenkinsop [Thu, 27 Apr 2023 14:39:04 +0000 (14:39 +0000)]
Bug 32474: Fix duplicate API call

This patch fixes a duplicate API call and fixes the "required" attribute

Test plan as before

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
9 months agoBug 32474: Properly call getAll
Jonathan Druart [Thu, 27 Apr 2023 06:56:39 +0000 (08:56 +0200)]
Bug 32474: Properly call getAll

To encode q parameter correctly, based on bug 33623

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
9 months agoBug 32474: Do not fetch all the licenses
Jonathan Druart [Thu, 27 Apr 2023 06:54:25 +0000 (08:54 +0200)]
Bug 32474: Do not fetch all the licenses

Otherwise we are loosing all the point of the pagination!

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
9 months agoBug 32474: Infinite scroll v-selects
Matt Blenkinsop [Fri, 21 Apr 2023 10:57:43 +0000 (10:57 +0000)]
Bug 32474: Infinite scroll v-selects

This patch is an example ajax based v-select. The v-select will load the first
20 items and then continue to load paginated sections of 20 items as the user
scrolls down. The v-select also offers ajax based searches (unpaginated) and
will return to 20 item pagination if the search is cleared.

Currently the pagination just works with an Intersection Observer based on
scrolling - the main issue with this is that the size of the v-select window
changes every time new data is added to the list and this causes the scrollbar
to jump before resetting at the correct size. This can be a bit annoying,
especially when scrolling quickly.

The only way round this will either be to paginate using buttons i.e.
(previous/next page) or to limit the data to 20 items at all times and
re-paginate when scrolling back up - interested to hear thoughts/suggestions
on this or whether anyone has a magic CSS fix that solves it ;)

The new v-select is only in one location so far as a test - Agreement Licenses

Test plan:
1) You will need to add multiple licenses in order to see the pagination,
   attached is a script that will create 100 dummy licenses at a time if you
   wish to use that
2) Once licenses are created, apply patch and run yarn build
3) Navigate to Agreements and click the New Agreement button
4) Scroll down to the Add new license option and click the button
5) The License select is the InfiniteScrollSelect and should display the
   licenses you have added
6) Open the dropdown and 20 items will be listed
7) Scroll down and as you scroll, more items will be loaded (this can be seen
   in the Network tab in developer tools)
8) Enter a search query and the results should reflect the search query
9) Delete the search query and the dropdown should return to the first 20
   paginated items and pagination will work again when scrolling
10) Try submitting the form with paginate/searched options and the form should
    still work as intended

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
9 months agoBug 35483: (follow-up) Trivial indentation changes
Owen Leonard [Fri, 26 Jan 2024 17:51:36 +0000 (14:51 -0300)]
Bug 35483: (follow-up) Trivial indentation changes

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Anneli Österman <anneli.osterman@koha-suomi.fi>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
9 months agoBug 35483: Restore holds table select to switch item level holds to record level...
Lari Taskula [Mon, 4 Dec 2023 22:51:45 +0000 (22:51 +0000)]
Bug 35483: Restore holds table select to switch item level holds to record level holds

To test:
1. Apply patch
2. Add item level hold to a record/item, make sure patron has no other
   holds on that record
3. Go to /cgi-bin/koha/reserve/request.pl?biblionumber=xxx where xxx is
   the record you placed the hold for
4. Under "Existing holds" table, in "Details" column you should see
   "Only item <barcode>" dropdown
5. Select "Next available" from the dropdown
6. Click Update hold(s)
7. Observe dropdown is gone and cell value has changed from
   "Only item <barcode>" to "Next available"
8. Cancel the hold and add two item level holds for the same patron
9. Under "Existing holds" table, in "Details" column you should see
   "Only item <barcode>", but no select dropdown

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Anneli Österman <anneli.osterman@koha-suomi.fi>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
9 months agoBug 35936: Fix saving existing report with incorrect AV category
Jonathan Druart [Tue, 30 Jan 2024 09:04:45 +0000 (10:04 +0100)]
Bug 35936: Fix saving existing report with incorrect AV category

When an existing report is saved and an incorrect AV category is selected,
the UI is asking "do you want to save anyway", but the "Update SQL" button
leads to a blank page and the report is not saved.

On bug 33966 the value is been adjust to 'update_sql' but this incorrect
was left.

To test you need to use the browser inspector to adjust the value of the
selected option.

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
9 months agoBug 35300: Add page-section to invoice files page
Katrin Fischer [Sat, 6 Jan 2024 19:57:04 +0000 (19:57 +0000)]
Bug 35300: Add page-section to invoice files page

To test:
* Enable AcqEnableFiles system preference
* Go to acquisitions
* Search for a vendor and receive shipment
* Enter an invoice number and create new invoice
* Finish receive
* Click on 'manage invice files' link
* Upload a sample file
* Verify the table is missing the usual white background
* Apply patch
* Verify the the table now displays with the usual white
  background

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
9 months agoBug 35406: (follow-up) More HTML fixes
Owen Leonard [Wed, 29 Nov 2023 13:51:15 +0000 (13:51 +0000)]
Bug 35406: (follow-up) More HTML fixes

This patch fixes even more markup errors and HTML validation issues.

Signed-off-by: Phil Ringnalda <phil@chetcolibrary.org>
Signed-off-by: Emily Lamancusa <emily.lamancusa@montgomerycountymd.gov>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
9 months agoBug 35406: Fix typo in holds queue viewer template
Tomas Cohen Arazi [Mon, 27 Nov 2023 15:08:42 +0000 (12:08 -0300)]
Bug 35406: Fix typo in holds queue viewer template

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Phil Ringnalda <phil@chetcolibrary.org>
Signed-off-by: Emily Lamancusa <emily.lamancusa@montgomerycountymd.gov>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
9 months agoBug 35368: Add public to "Add a new checkout" in API documentation
Katrin Fischer [Fri, 12 Jan 2024 23:51:14 +0000 (23:51 +0000)]
Bug 35368: Add public to "Add a new checkout" in API documentation

Without this patch the "Add a new checkout" label showed
up twice in the Checkouts section of the API documentation.
This adds (public) to the end of one, to make it possible
to distinguish them.

To test (ON YOUR HOST MACHINE):
1. Run:
   $ cd api/v1/swagger
   $ docker run --rm -v $(pwd):/api --workdir /api redocly/cli \
           build-docs swagger.yaml --output index.html
2. Open the generated index.html in your browser
3. Verify doubled up headings
4. Apply patch
5. Re-run docker command form 1.
6. Verify there are now 2 different labels and "(public)" is on the
   right one.

Note: if you have wrong permissions on the file, chown it to your
own user to open it in the browser.

Signed-off-by: Matt Blenkinsop <matt.blenkinsop@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
9 months agoBug 35922: Fix www/batch.t
Tomas Cohen Arazi [Mon, 29 Jan 2024 13:04:50 +0000 (10:04 -0300)]
Bug 35922: Fix www/batch.t

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
9 months agoBug 30230: (follow-up) Fix permission check in staff interface navigation
Katrin Fischer [Mon, 29 Jan 2024 11:18:10 +0000 (11:18 +0000)]
Bug 30230: (follow-up) Fix permission check in staff interface navigation

The patron module should now show up in the staff main navigation on
top of the page if the user only has the new list_borrowers permission.

Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
9 months agoBug 30230: (follow-up) Update missing descriptions
Katrin Fischer [Mon, 29 Jan 2024 11:10:18 +0000 (11:10 +0000)]
Bug 30230: (follow-up) Update missing descriptions

One of the follow-ups fixed the description in the
atomic update, but missed the SQL and include files.

Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
9 months agoBug 30230: DBRev 23.12.00.006
Katrin Fischer [Mon, 29 Jan 2024 10:57:40 +0000 (10:57 +0000)]
Bug 30230: DBRev 23.12.00.006

Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
9 months agoBug 30230: (QA follow-up) Also add list_borrowers to the singular endpoint
Martin Renvoize [Mon, 22 Jan 2024 14:23:59 +0000 (14:23 +0000)]
Bug 30230: (QA follow-up) Also add list_borrowers to the singular endpoint

Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
9 months agoBug 30230: (QA follow-up) Add unit tests for API definition change
Martin Renvoize [Mon, 22 Jan 2024 14:23:34 +0000 (14:23 +0000)]
Bug 30230: (QA follow-up) Add unit tests for API definition change

Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
9 months agoBug 30230: (follow-up) Add list permission on home-search include and update atomic...
Thibaud Guillot [Tue, 16 Jan 2024 16:01:58 +0000 (17:01 +0100)]
Bug 30230: (follow-up) Add list permission on home-search include and update atomic update file

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
9 months agoBug 30230: (follow-up) fix unit test
David Cook [Tue, 19 Dec 2023 02:47:12 +0000 (02:47 +0000)]
Bug 30230: (follow-up) fix unit test

Signed-off-by: David Cook <dcook@prosentient.com.au>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
9 months agoBug 30230: (follow-up) Fix display issue on search bar
Thibaud Guillot [Fri, 8 Dec 2023 08:46:16 +0000 (09:46 +0100)]
Bug 30230: (follow-up) Fix display issue on search bar

Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net>
Signed-off-by: David Cook <dcook@prosentient.com.au>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
9 months agoBug 30230: Add new 'list_borrowers' permission
Thibaud Guillot [Thu, 30 Nov 2023 14:14:42 +0000 (15:14 +0100)]
Bug 30230: Add new 'list_borrowers' permission

When a patron search is performed only a user with edit_borrowers
permission can search by name. Search can works only with cardnumber but
it makes searching less intuitive I think.

So, as mentioned in the discussion, I've added a new 'list_borrowers' permission,
completely independent of 'edit_borrowers', so that I can search for a member via the interface
and get the results. In addition to the permission to perform check in and checkouts, this no longer poses an obstacle to simple use.

Test plan:

1) Check with a user without 'edit_borrowers' permission that the patron search can only be performed with cardnumber
2) Apply this patch
3) Make the updatedatabase to add new 'list_borrowers' permissions
4) Set 'list_borrowers' permission on one user and see the difference

Signed-off-by: Andrew Fuerste-Henry <andrewfh@dubcolib.org>
Signed-off-by: Emmi Takkinen <emmi.takkinen@koha-suomi.fi>
Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net>
Signed-off-by: David Cook <dcook@prosentient.com.au>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
9 months agoBug 35535: Allow for cancellation of holds with or without a reason
Lucas Gass [Wed, 17 Jan 2024 15:45:53 +0000 (15:45 +0000)]
Bug 35535: Allow for cancellation of holds with or without a reason

TO TEST:
1. Have a waiting hold on a particular barcode
2. Have at least 1 HOLD_CANCELLATION auth value
3. Check in the barcode and try to cancel the hold on the modal while
   selecting a reason.
=> SUCCESS: You can cancel a hold when selecting a reason.
4. Repeat 1-3 but not selecting any reason.
=> SUCCESS: Hold cancelled correctly.
5. Delete all HOLD_CANCELLATION auth values.
6. Repeat Try 1-3
=> SUCCESS: No reason displayed
=> FAIL: Cancelling does nothing. There's an error in the browser
   inspector
7. Apply this patch
8. Repeat 1-3
=> SUCCESS: No reason displayed
=> SUCCESS: Cancelling works
9. Sign off :-D

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Edit: amended the test plan to make it clearer
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
9 months agoBug 35753: Remove Checkbox() function
Lucas Gass [Tue, 9 Jan 2024 21:57:49 +0000 (21:57 +0000)]
Bug 35753: Remove Checkbox() function

To test:
1. APPLY PATCH and clear browser cache.
2. Have multiple additional content items ( news/HTML customization/Pages )
3. From one of the pages ( news/HTML customization/Pages ) click the 'Delete selected' button. Since no items are checked you should see the 'Please select content to delete' alert.
4. Check some items and click 'Delete selected' they should be correctly deleted.

Note: There is no change in behavior from this patch.

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
9 months agoBug 35774: Use itemnumber instead of biblioitemnumber
Lucas Gass [Fri, 12 Jan 2024 18:05:22 +0000 (18:05 +0000)]
Bug 35774: Use itemnumber instead of biblioitemnumber

With Bug 33639 already pushed to master there should be NO change in behavior.

To test:
1. APPLY PATCH
2. Create one or more item groups for a bib if needed
3. Create a new item, and at the bottom of the 'Add item' screen, select the item group to which you want this item added. Save.
4. The item should succesffuly be added to the item group.
5. Add a new item and to the same record and this time try the 'Create a new item group' from the dropdown.
6. Name the new item group.
7. Make sure it is correctly added to the item group.

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>
9 months agoBug 34853: Switch to 'div' as suggested
Martin Renvoize [Tue, 16 Jan 2024 17:11:23 +0000 (17:11 +0000)]
Bug 34853: Switch to 'div' as suggested

This patch switches us from '<span class="clearfix">' to '<div>' so
we're just using a block level elemenet instead of manipulating an
inline element to act like a block.

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
9 months agoBug 34853: Add clearfix span to Invoice links
Martin Renvoize [Wed, 20 Sep 2023 15:47:49 +0000 (16:47 +0100)]
Bug 34853: Add clearfix span to Invoice links

This patch adds a clearfix span around the invoicenumber and EDI message
display texts which should result in them each having their own line.

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
9 months agoBug 35396: Replace Datatables' column filters throttling with input timeout
lmstrand [Fri, 24 Nov 2023 12:08:21 +0000 (14:08 +0200)]
Bug 35396: Replace Datatables' column filters throttling with input timeout

This patch replaces throttling filter events with a typing timeout for datatable filtering events. This patch should increase filtering responsiveness to datatables that have column filtering enabled across Koha.

To test:
1) Get a datatable with multiple results showing in intranet, for example search patrons with no search string to get all patrons in a filterable datatable result view or open Receive orders page that shows pending orders and order lines in Acquisitions like /cgi-bin/koha/acqui/parcel.pl?invoiceid=xxx
2) Type a character into a Datatable column filtering field
=> notice a filtering event fires right after the first character has been entered
3) Keep typing
=> notice multiple sequential filtering events being fired during the typing and one at the end when typing has stopped
4) Apply patch
5) Start typing into a filtering field
=> Note that during typing no filtering events are being fired unless the time between entering characters exceeds 500ms
6) End typing into the filter field
=> notice that just one filtering event fires at the end of typing if characters were entered sequentially faster than 500ms apart.

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
9 months agoBug 35445: Require OPAC user to confirm self-registration with button push
David Cook [Mon, 4 Dec 2023 05:24:01 +0000 (05:24 +0000)]
Bug 35445: Require OPAC user to confirm self-registration with button push

This change requires the OPAC user to confirm self-registration with
a button push when verifying registration using an emailed token.

Test plan:
0. Apply the patch and koha-plack --reload kohadev
1. Set syspref PatronSelfRegistrationVerifyByEmail to "Don't require"
2. Create a patron using the self-registration on the OPAC
3. Note that no confirmation step is needed when self-registering
4. Set syspref PatronSelfRegistrationVerifyByEmail to "Require"
5. Create a patron using the self-registration on the OPAC
6. Look in message_queue to find the URL with the token to
visit in the browser
7. Visit that URL
8. Note that the page says "Registration pending" and asks you to
click a button labeled "Confirm"
9. Click the button labeled "Confirm"
10. Note that the self-registration is confirmed and details are
shown on the page

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
9 months agoBug 35514: Fix total cost update when adding multiple items to order
Thibaud Guillot [Thu, 7 Dec 2023 16:06:55 +0000 (17:06 +0100)]
Bug 35514: Fix total cost update when adding multiple items to order

Test plan:

1) Create a basket and add an order line to go on neworderempty.pl
   (the new order form)
2) Choose to add one item and repeat the operation
3) See on form that the total cost is updated without update vendor
   price
4) Now add multiple items, for example, "2" you will see that the total
   cost is not updated
5) Apply this patch, refresh form and repeat steps 3 to 5

Signed-off-by: Michał Dudzik <dudzikmichal@wp.pl>
Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
9 months agoBug 35530: Tell UserCSS and UserJS in libraries administration are for OPAC
Fridolin Somers [Mon, 8 Jan 2024 13:22:29 +0000 (14:22 +0100)]
Bug 35530: Tell UserCSS and UserJS in libraries administration are for OPAC

In libraries administration new fields UserCSS and UserJS are for OPAC,
this should be in label.

This patch uses text "Specific OPAC CSS", since the system preference OPACUserCSS as help :
Library specific CSS can be defined in ...

Test plan
1) Go to Administration >  Libraries
2) Modify a library
3) Check you see new labels

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
9 months agoBug 35578: Simplify the code using intersect
Jonathan Druart [Fri, 12 Jan 2024 15:54:49 +0000 (16:54 +0100)]
Bug 35578: Simplify the code using intersect

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
9 months agoBug 35578: Validate "Where" in OPAC Authority search
David Cook [Fri, 15 Dec 2023 00:14:05 +0000 (00:14 +0000)]
Bug 35578: Validate "Where" in OPAC Authority search

This patch adds validation to the "Where" field in OPAC Authority search.

Test plan:
0. Apply the patch and koha-plack --reload kohadev
1. Go to http://localhost:8080/cgi-bin/koha/opac-authorities-home.pl
2. Type "test" into "Term(s)" field
3. Click "Submit"
4. Confirm a result is found

5. Repeat the above using "Where" values of "in the complete record",
"in any heading", and "in main entry"

6. Using the HTML inspector in the browser, change the value of
the selected option of the "marclist" select element to
"this is broken"
7. Click "Submit"
8. Confirm a result is found (ie it's not throwing a fatal error
anymore)

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
9 months agoBug 35742: Fix removal of added user from fund
Jonathan Druart [Fri, 5 Jan 2024 11:17:53 +0000 (12:17 +0100)]
Bug 35742: Fix removal of added user from fund

On the fund edition page, if a new user is added the "Remove" link does
not remove the user.

Test plan:
0. Do not apply this patch
1. Edit a fund
2. Click "Add users"
3. Search for patron and add some users
   => Notice that the "Remove" link does not remove the user
4. Apply this patch and repat 1, 2, 3
   => Notice that the "Remove" link remove the user

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>
9 months agoBug 35743: Fix patron's category selection in the column filter
Jonathan Druart [Fri, 5 Jan 2024 11:01:55 +0000 (12:01 +0100)]
Bug 35743: Fix patron's category selection in the column filter

The "category" filter is not selected in the column filter dropdown.

Test plan:
0. Do not apply this patch
1. Search for patron, select a patron's category
   => Notice that the "Category" column has a column filter, but no
      option is selected
2. Apply the patch
3. Repeat 1
   => The "Category" column has the option you selected in the filter
      block.

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>
9 months agoBug 35745: Fix 'Set suggester' of a suggestion
Jonathan Druart [Tue, 9 Jan 2024 12:16:40 +0000 (13:16 +0100)]
Bug 35745: Fix 'Set suggester' of a suggestion

On the suggestion edit form, if a suggester is selected using the "Set
to patron" (and patron search), the details of the selected patron will
contained "undefined" for the library's name and patron's category
description.

Test plan:
Edit a suggestion, click "Set to patron", select a patron
Notice that with this patch the library's name and patron category is
correctly displayed.

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>
9 months agoBug 35744: Implement +strings for GET /patrons/:patron_id
Jonathan Druart [Tue, 9 Jan 2024 12:14:55 +0000 (13:14 +0100)]
Bug 35744: Implement +strings for GET /patrons/:patron_id

In order to retrieve the library's name and patron category's
description alongwith other patron's info.

Test plan:
Run the following command before and after this patch:

% curl -u koha:koha --request GET 'http://localhost:8081/api/v1/patrons/42' --header "Content-Type: application/json" --header "x-koha-embed: +strings" | jq

Notice that you now have _strings which contains the library's name and
patron category's description

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>
9 months agoBug 35800: Remove item.can.be.edited check
Lucas Gass [Tue, 23 Jan 2024 17:53:39 +0000 (17:53 +0000)]
Bug 35800: Remove item.can.be.edited check

To test:
APPLY PATCH
1. Check out an item to a patron from library A
2. Give permissions to a patron from library B
   (example of a circulation staff account)
     - circulate
     - catalogue
     - borrowers ( including view_borrower_infos_from_any_libraries )
     - reserveforothers
     - updatecharges
     - suggestions
     - lists
     - clubs -> enroll
3. If necessary, change the username and password of that staff member in order to be able to log in
4. In a private browser window, log in as the staff member
5. View the record with the checked out item
6. You should see the name/cardnumber of the patron the item is checked out ot.
7. Turn off the view_borrower_infos_from_any_libraries for this patron.
8. Now on the record detail page you should see text like `Checked out to A patron from library Midway : due 01/28/2024`.

Signed-off-by: Caroline Cyr La Rose <caroline.cyr-la-rose@inlibro.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
9 months agoBug 35833: Silence few warnings from searching
Marcel de Rooy [Thu, 18 Jan 2024 13:46:45 +0000 (14:46 +0100)]
Bug 35833: Silence few warnings from searching

Resolve:
[2024/01/18 11:31:24] [WARN] Use of uninitialized value $hits in numeric eq (==) at /usr/share/koha/opac/opac-search.pl line 612.
[2024/01/18 11:31:24] [WARN] Use of uninitialized value $times in subtraction (-) at /usr/share/koha/C4/Search.pm line 1715.

Test plan:
Look for a few search expressions without results.
Check log without and with patch.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
9 months agoBug 35833: Fix warnings from C4/Koha
Marcel de Rooy [Thu, 18 Jan 2024 13:39:55 +0000 (14:39 +0100)]
Bug 35833: Fix warnings from C4/Koha

[2024/01/18 11:52:40] [WARN] Argument " " isn't numeric in numeric eq (==) at /usr/share/koha/C4/Koha.pm line 600.
[2024/01/18 11:52:40] [WARN] Argument " " isn't numeric in numeric eq (==) at /usr/share/koha/C4/Koha.pm line 659.

Note: According to the code in MARC::Field the indicator returned cannot be undef. So we do not return new
uninitialized warnings.

Test plan:
Check your log before and after patch.
Possibly you may need to create a record with spaces as field indicators.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
9 months agoBug 33464: Add page-section to "Orders by fund" result list
Katrin Fischer [Sat, 13 Jan 2024 18:15:03 +0000 (18:15 +0000)]
Bug 33464: Add page-section to "Orders by fund" result list

This updates the results table for the "Orders by fund"
report with the common white background.

To test:
* Go to Reports > Orders by fund
* Search for orders (you might have to add one)
* Verify the results table is missing the common
  white background
* Appyl patch
* Reload page and verify styling is improved

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
9 months agoBug 34298: Add page-section to duplicated orders list
Katrin Fischer [Sat, 13 Jan 2024 17:54:32 +0000 (17:54 +0000)]
Bug 34298: Add page-section to duplicated orders list

When creating an order from an existing order (copy),
on the third page, the page section was  missing on the
table.

To test:
* Create a basket with an order, close the basket.
* Create a second basked
* Create a new order line using:
  "From existing orders (copy)"
* Search for your previous order and select it for copy - Next
* Select a fund - Duplicate orders
* Verify that the table with the order lines to create
  doesn't have the white background
* Apply patch
* Reload page - the table now should appear styled correctly

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>
9 months agoBug 34872: Add page-section to cart pop-up in staff interface
Katrin Fischer [Sat, 13 Jan 2024 15:58:17 +0000 (15:58 +0000)]
Bug 34872: Add page-section to cart pop-up in staff interface

This adds the page-section class to the tables in the cart pop-up
in the staff interface.

To test:
* Search for records in the staff interface and add some to the cart
* Open the cart, review the normal and brief view
* Apply patch
* Review normal and brief view again - tables/sections should now
  have the white background.

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
9 months agoBug 35350: Update label creator pop-up windows with consistent footer markup
Owen Leonard [Thu, 16 Nov 2023 13:51:44 +0000 (13:51 +0000)]
Bug 35350: Update label creator pop-up windows with consistent footer markup

This patch updates two label creator templates in order to style
submission and close buttons in a fixed footer at the bottom of the
window, with markup consistent with other pop-up windows.

To test, apply the patch and go to Cataloging -> Label creator.

- Click New -> Label batch.
- Click the "Add items" button under the form.
- A "Search for items" window should pop up.
  - The window's fixed footer should have the "Search" and "Close
    window" buttons. Test that each work correctly.
- Submit a search which will return results.
  - The search results window should also have a fixed footer. I moved
    the "Add checked" and "Done" buttons out of a floating toolbar and
    put the controls there for consistency's sake.
  - Confirm that both controls work correctly.

Signed-off-by: Barbara Johnson <barbara.johnson@bedfordtx.gov>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
9 months agoBug 35349: Reindent label item search template
Owen Leonard [Thu, 16 Nov 2023 12:13:06 +0000 (12:13 +0000)]
Bug 35349: Reindent label item search template

This patch reindents the label item search template so that it has
consistent indentation. These changes should have no visible effect on
the page.

To test, apply the patch and go to Cataloging -> Label creator.

- Click New -> Label batch.
- Click the "Add items" button under the form.
- A "Search for items" window should pop up.
- The form should look correct, and work as it did before the patch.

Viewing the diff while ignoring whitespace changes should show only
places where a line break was added.

Signed-off-by: Barbara Johnson <barbara.johnson@bedfordtx.gov>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
9 months agoBug 35596: Error in writeoff_debts documentation
Caroline Cyr La Rose [Mon, 18 Dec 2023 21:06:28 +0000 (16:06 -0500)]
Bug 35596: Error in writeoff_debts documentation

This patch corrects an error in the documentation of the
writeoff_debts.pl script. The --type parameter accepts debit type codes,
not credit type codes.

To test:
-  Run ./misc/cronjobs/writeoff_debts.pl
-  Make sure the sentence for --type makes sense, grammar and spelling
   are correct

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>
9 months agoBug 34913: Fix perlcritic for VirtualShelves.pm
Jonathan Druart [Mon, 29 Jan 2024 09:41:56 +0000 (10:41 +0100)]
Bug 34913: Fix perlcritic for VirtualShelves.pm

C4/Utils/DataTables/VirtualShelves.pm: "@order_by" is declared but not used at line 86, column 9.  Unused variables clutter code and make it harder to read.  (Severity: 3)

Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
9 months agoBug 35893: Add missing </li> in opac.pref
Tomas Cohen Arazi [Wed, 24 Jan 2024 13:46:55 +0000 (10:46 -0300)]
Bug 35893: Add missing </li> in opac.pref

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Matt Blenkinsop <matt.blenkinsop@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
9 months agoBug 35373: Remove false FIXME comment from gather_print_notices.pl
Katrin Fischer [Fri, 12 Jan 2024 23:23:57 +0000 (23:23 +0000)]
Bug 35373: Remove false FIXME comment from gather_print_notices.pl

Removes a FIXME line mentioning bug 8000 that implemented
SendAllEmailsTo. But the note was added to the "From" line
and the "To" address is taken from a command line parameter.

To test:
* Review change carefully

Signed-off-by: Brendan Lawlor <blawlor@clamsnet.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
9 months agoBug 35354: Update description of EmailLibrarianWhenHoldisPlaced system preference
Katrin Fischer [Sat, 13 Jan 2024 00:08:04 +0000 (00:08 +0000)]
Bug 35354: Update description of EmailLibrarianWhenHoldisPlaced system preference

This includes more information about the email addresses
used in the system preference description.

To test:
* Search for EmailLibrarianWhenHoldisPlaced in administration >
  system preferences
* Verify description
* Apply patch
* Verify improved description and that the links work as expected

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
9 months agoBug 35701: (follow-up) Fix last instance of t variable
Owen Leonard [Tue, 9 Jan 2024 16:15:00 +0000 (16:15 +0000)]
Bug 35701: (follow-up) Fix last instance of t variable

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>
9 months agoBug 35701: Do not use t
Jonathan Druart [Thu, 4 Jan 2024 15:24:26 +0000 (16:24 +0100)]
Bug 35701: Do not use t

To not interfer with the t from I18N

On bug 35329 we are using the I18N TT plugin that is providing the 't'
subroutine.

This loop is redefining the subroutine, therefore it is not longer
accessible.

Test plan:
Edit a patron and confirm the the "Title" dropdown still contain the
different values of syspref BorrowersTitles.

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>
9 months agoBug 35795: Missing closing tag in OPAC course details template
Owen Leonard [Fri, 12 Jan 2024 16:35:28 +0000 (16:35 +0000)]
Bug 35795: Missing closing tag in OPAC course details template

This patch adds a missing closing tag, "</em>" to the breadcrumb
navigation shown when viewing the detail page of a course.

To test you must have at least one course created in the course reserves
module (Course reserves -> New course)

- Apply the patch and go to the OPAC.
- Open the Course reserves page and click the name of the course you
  created.
- The last item in the breadcrumb menu should be "Course reserves for
  [your course name]" and "you_course_name" should be in italics.
- The rest of the page should look correct.

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>
9 months agoBug 35820: Fix table id on hold ratios page
Owen Leonard [Wed, 17 Jan 2024 11:58:03 +0000 (11:58 +0000)]
Bug 35820: Fix table id on hold ratios page

This patch corrects the ID on the table showing holds on the holds
ratios page so that it matches the DataTables initialization and
configuration. I'm not aware of any bug with the functionality, but
consistency is good.

The patch also wraps the table in a "page-section" div, an update which
includes indentation changes.

To test, apply the patch and if necessary, place multiple holds on a
title so that the hold ratios page will display results.

- Go to Circulation -> Hold ratios.
- The table of hold ratios should look correct.
- Click the "Configure" button at the top of the table.
- On the table settings page, change the default visibility of some
  columns.
- Return to the hold ratios page to confirm that the correct columns are
  hidden by default.

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>
9 months agoBug 35831: Move UpdateItemLocationOnCheckout to Checkout policy section
Caroline Cyr La Rose [Wed, 17 Jan 2024 21:38:24 +0000 (16:38 -0500)]
Bug 35831: Move UpdateItemLocationOnCheckout to Checkout policy section

This patch moves the UpdateItemLocationOnCheckout system preference from
the Checkin policy section of the circulation preferences to the
Checkout policy section.

To test:
1. Apply patch
2. Go to Administration > System preferences > Circulation
3. Check that UpdateItemLocationOnCheckout is under Checkout policy

The text should be the same as before, and the feature should not have changed.

Signed-off-by: Aude <aude.charillon@ptfs-europe.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
9 months agoBug 35835: Fix shebang in cataloguing/ysearch.pl
Marcel de Rooy [Thu, 18 Jan 2024 15:02:10 +0000 (15:02 +0000)]
Bug 35835: Fix shebang in cataloguing/ysearch.pl

Speaks for itself.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
9 months agoBug 35407: Correct terminology: Show fewer collections
Owen Leonard [Mon, 4 Dec 2023 15:47:23 +0000 (15:47 +0000)]
Bug 35407: Correct terminology: Show fewer collections

In the OPAC, the "Show more" and "Show less" links have aria-labels to
make their function clearer to screen readers. The collection and item
type controls need corrected terminology, and the links also need to
have their template filter corrected (html, not uri).

To test, apply the patch and perform a catalog search in the OPAC.

- Test that the "Show more" and "Show less" links in the facets sidebar
  work correctly to expand and collapse the lists of facets.
- It's not necessary to test with a screen reader. You can view the
  source to confirm the markup on the "Show more collections" and "Show
  more item types" links.

  Before:
  <a href="#" aria-label="%0A%20%20%20%20Show%20more%20collection%20codes%0A"><strong>Show more</strong></a>

  After:
  <a href="#" aria-label="Show more collections"><strong>Show more</strong></a>

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
9 months agoBug 35323: Fix hint for OpacMoreSearches HTML customization
Katrin Fischer [Sat, 6 Jan 2024 19:49:25 +0000 (19:49 +0000)]
Bug 35323: Fix hint for OpacMoreSearches HTML customization

There was some confusion on where this content appears.
This patch fixes the description shown as hint in the HTML
customizations tool when when the OpacMoreSearches entry is
selected.

To test:
* Before appyling the patch
* Add a new HTML customization for OpacMoreSearches
* Verif hint showing below the pull down
* Set a title and a publication date in the past
* Enter a short text, like "Koha" as content
* Save
* Go to the OPAC, verify text shows in the navigation
* Apply patch
* Verify hint is now correct

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
9 months agoBug 33457: (follow-up) Simplify even further
Martin Renvoize [Thu, 25 Jan 2024 11:55:42 +0000 (11:55 +0000)]
Bug 33457: (follow-up) Simplify even further

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
9 months agoBug 33457: (QA follow-up) Use js-patron-format instead
Martin Renvoize [Tue, 23 Jan 2024 14:44:27 +0000 (14:44 +0000)]
Bug 33457: (QA follow-up) Use js-patron-format instead

This patch updates the code to use the $patron_to_html js function
rather than replicating it locally.. this means if in the future we
introduce further fixes/improvements to the display they're affect here
too.

Test plan
1) As for the original implementation, confirm the fix is still fixed

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
9 months agoBug 33457: Improve display of fund users when the patron has no firstname
Owen Leonard [Tue, 16 Jan 2024 12:57:34 +0000 (12:57 +0000)]
Bug 33457: Improve display of fund users when the patron has no firstname

This patch updates the way the fund modification page handles patron
names so that a patron with only a first name or only a surname will
have their name appear correctly when selected as a manager or a user.

To test, apply the patch if necessary, create a patron with only a first
name and one with only a surname and give them acquisitions permissions.

- Go to Administration -> Funds.
- Edit a fund.
- Click 'Add users'.
- Select a user, only staff users will be searchable
- Select one of the patrons you created.
  - The patron name should appear correctly
  - Test with both your first name only patron and your last name only
    patron.
- Perform the same test with the 'Select owner' process.

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
9 months agoBug 35865: Add missing hint about permissions when adding managers to a basket
Jonathan Druart [Mon, 22 Jan 2024 21:07:24 +0000 (22:07 +0100)]
Bug 35865: Add missing hint about permissions when adding managers to a basket

When searching for managers for an acquisition basket, the list of patrons is
limited to patrons with the baskets_managers permission. For other patron
searches there is a hint about the restriction but it does not appear here.

Test plan;
Edit a basket, click "Add user" to select a manager.
Notice the hint about the permission.

Signed-off-by: Loïc Vassaux--Artur <loic.vassaux-artur@outlook.fr>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
9 months agoBug 35841: Change wording to indicate request to cancel
Lucas Gass [Thu, 18 Jan 2024 23:09:33 +0000 (23:09 +0000)]
Bug 35841: Change wording to indicate request to cancel

1. APPLY PATCH
2. Update circ rules "Default waiting hold cancellation policy" to allow cancellation of holds.
3. Put some holds onto a patron account, Make some waiting holds and have others be any other status besides waiting.
4. Log in to the OPAC as that patron.
5. Go to your account details and look at the Holds tab.
6. You should see a 'Request to cancel' button for all waiting holds.
7. You should see a 'Cancel' button for all non-waiting holds.

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
9 months agoBug 35817: Fix hint on patron's category when batch update patron
Jonathan Druart [Tue, 16 Jan 2024 12:41:59 +0000 (13:41 +0100)]
Bug 35817: Fix hint on patron's category when batch update patron

When a patron's attribute is limited to a given patron's category, the
batch patron modification tool will display a hint "This attribute will
be only applied to the patron's category %s". But this is followed by
the description of the patron's attribute, not the patron's category.

Test plan:
Create a patron's attribute "Color of hair" and select a patron
category (Patron).
Batch edit batch and select "Color of hair"
A hint will be display.
=> Without this patch the hint is "This attribute will be only applied
   to the patron's category Color of hair"
=> With this patch it will be corrected to "This attribute will be only
   applied to the patron's category Patron"

Signed-off-by: Anneli Österman <anneli.osterman@koha-suomi.fi>
Signed-off-by: Julian Maurice <julian.maurice@biblibre.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>