koha.git
16 months agoBug 32295: Fix punctuation for "Filters :" on serials claims page
Katrin Fischer [Sun, 5 Feb 2023 01:37:19 +0000 (01:37 +0000)]
Bug 32295: Fix punctuation for "Filters :" on serials claims page

To test:
* Add a subscription
* Generate next issue, to have a late one
* Go to serials > claims
* Select your vendor
* Verify one of the sections is labelled "Filters :"
* Apply patch
* Verify the section is now labelled "Filters:"

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 32290: Fix terminology on ILL requests page
Katrin Fischer [Sun, 5 Feb 2023 02:18:05 +0000 (03:18 +0100)]
Bug 32290: Fix terminology on ILL requests page

This makes some fixes for the terminology used in
the ill-requests.pl page:

This item cannot be issued as it has no biblio record associated with it
> This item cannot be checked out out as there is no bibliographic
  record associated with it

You must choose a branch
> You must choose a library

View borrower details
> View patron details

Test plan:
* You can set up ILL using the instructions on
  https://wiki.koha-community.org/wiki/ILL_backends
* All strings will be located on the ILL request management page or
  the ILL requests list
* Or... you could verify looking at the patch itself

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 32222: Fix capitalization in various "id is invalid"
Katrin Fischer [Sun, 5 Feb 2023 00:51:12 +0000 (01:51 +0100)]
Bug 32222: Fix capitalization in various "id is invalid"

ID is an abbreviation and should be written with capitals.

See: https://www.oxfordlearnersdictionaries.com/definition/english/identification

This fixes all occurences of "id is invalid" to read "ID is invalid"

To test:
* As some are hard to trigger warnings, the best way here is to review the patch.

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 32023: Remove hr in OpacNav for CMS pages
Katrin Fischer [Mon, 6 Feb 2023 21:44:03 +0000 (22:44 +0100)]
Bug 32023: Remove hr in OpacNav for CMS pages

In a page created with the new Pages tool, there is a
<hr> above the OpacNav block.
This hr is not present on other OPAC pages and is
removed by this patch.

To test:
1. Go to Tools > Pages > New entry
2. Create a page and save
3. Copy the OPAC link
4. Go to Tools > HTML customizations > New entry
5. Create an OpacNav entry with the link to the page
6. Go to the OPAC main page
   --> Notice how the left navigation section looks
7. Click on the link on the left to go to the page
   --> an horizontal line appears above OpacNav
8. Apply patch
9. Repeat test - the horizontal line should be gone now

Signed-off-by: Caroline Cyr La Rose <caroline.cyr-la-rose@inlibro.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 32226: Fix capitalization of "Add/Edit html content"
Katrin Fischer [Sun, 5 Feb 2023 00:57:15 +0000 (01:57 +0100)]
Bug 32226: Fix capitalization of "Add/Edit html content"

HTML is an abbreviation and as such should always be
capitalized.

To test:
* Go to administration > libraries
* Edit any existing branch
* The hint for OPAC info reads 'Add html content'
* Add some content, verify the link changes to 'Edit html content'
* Apply patch
* Verify both cases now read 'HTML'

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 31860: Standardize capitalization used for item subfield descriptions
Katrin Fischer [Mon, 6 Feb 2023 22:18:41 +0000 (22:18 +0000)]
Bug 31860: Standardize capitalization used for item subfield descriptions

This standardizes "Total Holds" to "Total holds" etc.
Also changed is UNIMARC
* "Collection code" to "Collection" like MARC21
* "Current Location" to "Current library" like MARC21 (holdingbranch)
* "Permanent Location" to "Home library" like MARC21 (homebranch)

To test:
* You'll need to apply the patch and then run the web installer to
  create your frameworks
* Once you got a fresh installation, got to
  Administration > Bibliographic frameworks > Choose any
* Go to 995 (for UNIMARC) or 952 (for MARC21)
* Check the descriptions of the subfields for capitalization and
  spelling errors

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>
16 months agoBug 32264: Fix capitalization and terminology: Show in Staff client?
Katrin Fischer [Sun, 5 Feb 2023 01:14:09 +0000 (02:14 +0100)]
Bug 32264: Fix capitalization and terminology: Show in Staff client?

This fixes several occurences of Staff client to read
staff interface.

To test:
* Activate the search filter feature via the SavedSearchFilters
  system preference
* Do a search in the staff catalogue
* Use the link "save as search filter" on top of the results list
* Verify it reads "Show in Staff client?" in the form
* Go to administration > search filters
* Verify the table has a heading "staff client"
* Edit the filter
* Verify there is the "Show in staff client" again
* Apply patch
* All those spots should now read 'staff interface'

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 32455: Cleanup and expand ExpireReservesAutoFill.t
Nick Clemens [Wed, 14 Dec 2022 14:20:20 +0000 (14:20 +0000)]
Bug 32455: Cleanup and expand ExpireReservesAutoFill.t

The tests here reused data, and deleted the tables before starting,
with a little shifting we can use specific data and avoid mass deletion

To test:
prove -v t/db_dependent/Holds/ExpireReservesAutoFill.t

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>
16 months agoBug 32455: Unit tests
Nick Clemens [Wed, 14 Dec 2022 13:46:24 +0000 (13:46 +0000)]
Bug 32455: Unit tests

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>
16 months agoBug 32455: Use from_email_address for 'from' field for hold notices
Nick Clemens [Tue, 13 Dec 2022 12:01:04 +0000 (12:01 +0000)]
Bug 32455: Use from_email_address for 'from' field for hold notices

This patch updates two occurrences where the inbound library email is
used as the from address

To test:
 1 - Set a unique 'Email' and 'Reply to' address for a library
 2 - Find a patron of that library, ensure they have an email
 3 - Ensure their messaging preference for holds is 'email'
 4 - Set system preference ReservesMaxPickupDelay to -1
 5 - Set system preference  ExpireReservesMaxPickUpDelay to Allow
 6 - Set system preference ExpireReservesAutoFill to Do
 7 - Place and fill a hold for that patron at that library
 8 - Check the patron's notification tab, confirm the from address is the 'Reply to'
 9 - Place a hold for another patron on the same item
10 - Run the expired holds cronjob:
     perl misc/cronjobs/holds/cancel_expired_holds.pl --reason=whatever
11 - Check the message_queue - notice the from address is the 'reply to'
12 - Apply patch
13 - Repeat 1-11, confirm the from addresses are correct now

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>
16 months agoBug 32580: Fix typo in cancel link on background jobs page
Katrin Fischer [Fri, 6 Jan 2023 23:24:11 +0000 (00:24 +0100)]
Bug 32580: Fix typo in cancel link on background jobs page

One way to test:
* Make sure you are using Elasticsearch
* Edit a record in your catalog
* Go to: /cgi-bin/koha/admin/background_jobs.pl
* Uncheck 'Current jobs only'
* Cancel the job, you'll see a 404 error
* Apply patch
* Repeat, now the redirect should work right

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>
16 months agoBug 24616: (QA follow-up) Remove "This has bug" comment
Katrin Fischer [Fri, 3 Feb 2023 14:51:25 +0000 (14:51 +0000)]
Bug 24616: (QA follow-up) Remove "This has bug" comment

... hopefully because there is no more bug now!

Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 24616: Do not save form if user press cancel
Emmi Takkinen [Tue, 1 Nov 2022 07:21:57 +0000 (09:21 +0200)]
Bug 24616: Do not save form if user press cancel

If one starts to copy a notice but then cancels
this when pop-up is displayed, changes are still
saved. This patch fixes this.

To test:
1. Copy notice to a library where it already exists
2. Press save and then cancel when pop-up is
displayed
=> Form and changes are still saved
3. Apply this patch.
4. Repeat steps 1. and 2.
=> Form is no longer saved

Sponsored-by: Koha-Suomi Oy
Signed-off-by: ml-inlibro <marie-luce.laflamme@inlibro.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 24616: Allow copying notice to a branch even if it exists in that branch
Emmi Takkinen [Thu, 28 Jul 2022 12:22:20 +0000 (15:22 +0300)]
Bug 24616: Allow copying notice to a branch even if it exists in that branch

If you try to copy notice or slip to a branch which already
has that notice or slip Koha won't let you save it. Instead
pop-up saying branch already has that notice is displayed.

This patch allows users to copy and override already existing
notice or slip.

To test:
1. Find notice which exists e.g. in all branches and branch A.
2. Copy that notice, add notice screen is displayed.
3. Press save.
=> Pop-up informing that notice already exists in branch A
is displayed.
4. Apply this patch.
5. Repeat steps 2. and 3.
6. Pop-up to confirm overwrite of notice is displayed.
=> Confirm that if you press OK, notice is saved succesfully.
=> Otherwise, changes to notice should not be saved.

Also try to save the notice you tested with as a new (same code)
to branch A. Confirm that pop-up is displayed as it should be.

Sponsored-by: Koha-Suomi Oy
Signed-off-by: Nick <nick@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 32772: Make all autocomplete searches 'starts_with'
Nick Clemens [Tue, 31 Jan 2023 20:15:09 +0000 (20:15 +0000)]
Bug 32772: Make all autocomplete searches 'starts_with'

To test:
1 - Add patrons with surname Fitzwilliams and Williams
2 - Enable 'PatronAutocomplete' syspref
3 - In checkout box type 'Will'
4 - You see fitwilliams first
5 - Apply patch
6 - Type 'Will'
7 - Autocomplete does not suggest Fitzwilliam, only Williams
8 - Type '%will'
9 - Fitzwilliams is suggested

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 32230: Fix capitalization of "Manage Domains"
Katrin Fischer [Sun, 5 Feb 2023 01:07:20 +0000 (02:07 +0100)]
Bug 32230: Fix capitalization of "Manage Domains"

To test:
* Go to administration > Identity providers
* Add a new identity provider and fill out all required form fields
  Hint: you can use the buttons to add example JSON to the input fields
* Save
* Verify the entry in the table now shows a "Manage Domains" button
* Apply patch
* Verify the button now reads correctly: "Manage domains"

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 32881: System preferences sub menu text is hard to read
Pedro Amorim [Fri, 3 Feb 2023 16:11:02 +0000 (16:11 +0000)]
Bug 32881: System preferences sub menu text is hard to read

This patch makes the font-size slightly larger and applies a background color to the selected submenu.

To test:
Go to system preferences
Click on any side menu item and check the items in the sub menu under it
Apply patch
run yarn build
Go to system preferences again and check the changes

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 32761: Correct typos in CircControl syspref
Andrew Fuerste-Henry [Fri, 3 Feb 2023 17:32:43 +0000 (17:32 +0000)]
Bug 32761: Correct typos in CircControl syspref

To test:
1: look up the CircControl syspref, see that it says "wether" and "libray"
2: apply patch
3: reload, see it says "whether" and "library"

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 32294: Fix capitalization for user ID in self checkout
Katrin Fischer [Sun, 5 Feb 2023 01:24:58 +0000 (02:24 +0100)]
Bug 32294: Fix capitalization for user ID in self checkout

Fixes capitalization of "user ID" on the self checkout help
page.

To test:
* Enable WebBasedSelfCheck
* Go to: /cgi-bin/koha/sco/sco-main.pl in the OPAC
* Log in and open help
* Verify there is a User ID within a sentence and a User id in the heading
* Apply patch
* Both should be corrected

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 32289: Fix punctuation in "Delete desk "X?"
Katrin Fischer [Sun, 5 Feb 2023 01:44:23 +0000 (01:44 +0000)]
Bug 32289: Fix punctuation in "Delete desk "X?"

The question mark should be after the quote instead of before.

To test:
* Enable desks using the UseCirculationDesks system preference
* Go to administration > circulation desks
* Add a new desk and save
* Delete desk
* Verify the heading reads "Delete desk "X?"
* Apply patch
* Verify the punctuation now is fixed now

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 32606: Revert Flatpickr style changes made in Bug 31943
Owen Leonard [Tue, 10 Jan 2023 19:32:56 +0000 (19:32 +0000)]
Bug 32606: Revert Flatpickr style changes made in Bug 31943

This patch removes the CSS controlling the width of a Flatpickr date
input. The side-effects of this change are worse than the problem the
change was intended to fix.

To test, apply the patch and rebuild the staff interface CSS.

Check pages which are referenced in bugs caused by Bug 31943:

- The holds page (Bug 32259)
- Checking out when specifying a date due in the past (Bug 32210)
- Circulation -> Renew (Bug 32157)

Flatpickr inputs should look correct.

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 32515: Ignore no-block flag in check-in message
Nick Clemens [Tue, 27 Dec 2022 20:32:10 +0000 (20:32 +0000)]
Bug 32515: Ignore no-block flag in check-in message

Bug 12225 changed the templates to correctly pass through the no-block flag,
however, we don't have a no-block routine for checkins

This patch restore previous behaviour of performing a normal checkin when
no block was requested - it adds a new FIXME

To test:
1 - See bug 32537
    https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=32537
2 - Repeat test plan on that bug, noting that there is no response when no-block = Y
3 - Apply this patch
4 - Repeat the tests and confirm no-block = Y has a standard checkin response

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Blou <philippe.blouin@inlibro.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 32787: Patron restrictions admin page has patron categories search bar
Owen Leonard [Thu, 2 Feb 2023 14:43:38 +0000 (14:43 +0000)]
Bug 32787: Patron restrictions admin page has patron categories search bar

This patch updates the patron restriction administration page to correct
the markup around the header and breadcrumbs: Using the header WRAPPER,
using the sub-header WRAPPER, and switching to the system preferences
search bar.

The patch also corrects the page title to prevent a leading "rsaquo;"
in some cases.

Note: This patch contains indentation changes, so ignore whitespace when
viewing the diff.

To test, apply the patch and go to Administration -> Patron
restrictions. The system preferences search should be preselected in the
header search bar, and everything should look correct.

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: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 32546: Move ILL system preferences into their own tab in administration
Katrin Fischer [Fri, 20 Jan 2023 14:12:22 +0000 (14:12 +0000)]
Bug 32546: Move ILL system preferences into their own tab in administration

Without this patch the interlibrary loan related system preferences
appeared on the circulation tab, that is already quite long. As ILL
is a complete module, it deserves its own tab.

To test:
* Search for interlibrary loan related preferences in Admin, verify their number
  and location
* Apply patch
* Verfiy all the previously found preferences now appear on their own tab:
  Interlibrary loans

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>
16 months agoBug 32655: Move phone and itiva variables into templates
Lucas Gass [Tue, 17 Jan 2023 18:42:28 +0000 (18:42 +0000)]
Bug 32655: Move phone and itiva variables into templates

To test:
1. Go to a patron record or create a new one.
2. Toggle the 'Patron messaging preferences' fieldset so it is hidden.
3. Notice the variables.
4. Apply patch
5. Try steps 1 & 2 again, no varibales.
6. Attempt to toggle on/off options for email/sms. When email/sms are off the digest option next to it should be disabled.
7. Go to  Administration > Patron categories and try step 6 there as well.

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>
16 months agoBug 32785: Typo: Maximum number of simultaneus pickups per interval (curbside pickups)
Caroline Cyr La Rose [Wed, 1 Feb 2023 19:59:38 +0000 (14:59 -0500)]
Bug 32785: Typo: Maximum number of simultaneus pickups per interval (curbside pickups)

This patch corrects a small typo in the curbside pickup administration
page.

To test:
1. Apply patch
2. Enable the CurbsidePickup system preferences
3. Go to Administration > Curbside pickup
   --> Next to Maximum patrons per interval, the tip should be "Maximum number of simultaneous pickups per interval"

Signed-off-by: Matt Blenkinsop <matt.blenkinsop@ptfs-europe.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 32793: import_patrons.pl typo in usage
Pedro Amorim [Thu, 2 Feb 2023 10:00:39 +0000 (10:00 +0000)]
Bug 32793: import_patrons.pl typo in usage

Typo fix to prevent confusion in CLI usage

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 28314: Spinning icon is not always going away for local covers in staff
Hammat Wele [Thu, 19 Jan 2023 15:50:49 +0000 (15:50 +0000)]
Bug 28314: Spinning icon is not always going away for local covers in staff

The spinner is always visible with images which are under 80-90 px high

this patch remove the spinner when the image is loaded.

To test:
1. Make sure the LocalCoverImages system preference is enabled
   1.1. Go to Administration > Global system preferences
   1.2. Search for Coverimages
   1.3. Set LocalCoverImages to 'Show'
   1.4. Click 'Save all Enhanced content preferences'
2. Add a short local cover image to a record (I added one which is just a grey rectangle with the size printed on it, to facilitate the test)
   2.1. Download the attached image
   2.2. Find a record without an image
   2.3. Click the 'Images' tab
   2.4. Click 'Upload'
   2.5. Click 'Drop files here or click to select a file' and choose the downloaded image
   2.6. Click 'Process images'
   2.7. Click on the title of the record in the page heading to access the detailed record
   --> Note that the image is displayed normally, but the spinner is also displayed
4. Apply the patch
5. Search for the previous record with the small image
6. Click on the title of the record in the page heading to access the detailed record
   --> Note that the spinner is no more displayed

Signed-off-by: Andrew Fuerste-Henry <andrewfh@dubcolib.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 30962: (QA follow-up) Rename attribute and simplify tests
Tomas Cohen Arazi [Fri, 27 Jan 2023 17:41:17 +0000 (14:41 -0300)]
Bug 30962: (QA follow-up) Rename attribute and simplify tests

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 30962: Add unit tests for /auth/password/validation endpoint
David Cook [Wed, 4 Jan 2023 00:52:25 +0000 (00:52 +0000)]
Bug 30962: Add unit tests for /auth/password/validation endpoint

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

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 30962: REST API: Add endpoint /auth/password/validation
David Cook [Fri, 17 Jun 2022 04:43:44 +0000 (04:43 +0000)]
Bug 30962: REST API: Add endpoint /auth/password/validation

This patch adds an endpoint for /auth/password/validation

This allows a third-party, using an authenticated and authorized Koha
API user, to check if the username and password given by a user is
correct in Koha.

For example, a Keycloak extension can be created using its
User Storage SPI to use Koha as the user database for Keycloak. This
API allows us to authenticate the user as a particular Koha user - without
creating a Koha user session for them.

Test plan:
0. Apply patch and koha-plack --restart kohadev
1. Go to http://localhost:8081/cgi-bin/koha/admin/preferences.pl?op=search&searchfield=RESTBasicAuth
2. Enable "RESTBasicAuth"
3. Run the following commands while substituting correct values for <koha_user> and <koha_password>
3. curl -XPOST -H "Content-Type: application/json" -u <koha_user>:<koha_password> http://localhost:8081/api/v1/auth/password/validation -d '{ "username": "<koha_username">, "password": "<koha_password>" }' -v
4. Note "204 No Content" response
5. curl -XPOST -H "Content-Type: application/json" -u <koha_user>:<koha_password> http://localhost:8081/api/v1/auth/password/validation -d '{ "username": "<koha_username">, "password": "this is definitely not the password" }' -v
6. Note "400 Bad Request" response and error message {"error":"Validation failed"}

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 32672: Incorrect CSS path to jquery-ui
Owen Leonard [Wed, 18 Jan 2023 15:41:51 +0000 (15:41 +0000)]
Bug 32672: Incorrect CSS path to jquery-ui

This patch removes links to jQueryUI assets which are not required in
the self-checkout and self-checkin pages.

The patch also adds missing JS to the self-checkin page related to
internationalization. This prevents a JS error related to an undefined
function, "__".

To test, apply the patch and view the main pages in self-checkout and
self-checkin, and the help page in self checkout. There should be no
errors in the browser console related to missing files.

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>
16 months agoBug 32537: (QA follow-up): Tidy code
Kyle Hall [Tue, 3 Jan 2023 13:14:50 +0000 (08:14 -0500)]
Bug 32537: (QA follow-up): Tidy code

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 32537: (QA follow-up) Don't allow invalid no block values
Kyle Hall [Tue, 3 Jan 2023 13:12:08 +0000 (08:12 -0500)]
Bug 32537: (QA follow-up) Don't allow invalid no block values

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 32537: Add no-block option to SIP cli emulator
Nick Clemens [Tue, 27 Dec 2022 20:21:15 +0000 (20:21 +0000)]
Bug 32537: Add no-block option to SIP cli emulator

This patch adds the option to pass a no-block option and use this
in checkout/checkin/renew messages

To test:
1 - perl misc/sip_cli_emulator.pl -a localhost -p 6001 -l CPL -su term1 -sp term1 -m checkin --item 39999000010831
2 - Confirm out like:
    SEND: 09N20221227    20183920221227    201839APCPL|AOCPL|AB39999000010831|ACterm1|BIN|
    (Note the N after 09)
3 - Apply patch
4 - Restart SIP, repeat 1
5 - Confirm still an N
6 - perl misc/sip_cli_emulator.pl -a localhost -p 6001 -l CPL -su term1 -sp term1 -m checkin --item 39999000010831 -n N
7 - Confirm still an N
8 - perl misc/sip_cli_emulator.pl -a localhost -p 6001 -l CPL -su term1 -sp term1 -m checkin --item 39999000010831 -n Y
9 - Confirm the send has a Y after 09

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>
16 months agoBug 32797: Check if fields have a value, not if true
Nick Clemens [Thu, 2 Feb 2023 14:57:14 +0000 (14:57 +0000)]
Bug 32797: Check if fields have a value, not if true

When saving OAI set mappgins we are checking for truth, this prevents
saving subfield 0. We should check for content

To test:
1 - Go to Admin->OAI sets
2 - Create a set
3 - Define mappings for the set
4 - Attempt to save a rule on field 952 subfield 0 (withdrawn)
5 - It does not save
6 - Apply patch
7 - Try again
8 - Success!

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 32673: Remove misc/load_testing/ scripts
Jonathan Druart [Wed, 18 Jan 2023 13:32:23 +0000 (14:32 +0100)]
Bug 32673: Remove misc/load_testing/ scripts

see comment 0 for more info

Signed-off-by: David Cook <dcook@prosentient.com.au>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 32612: (QA follow-up) Add missing interface for Logger
Marcel de Rooy [Fri, 3 Feb 2023 09:45:03 +0000 (09:45 +0000)]
Bug 32612: (QA follow-up) Add missing interface for Logger

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 32612: (QA follow-up) Remove worker.log
Marcel de Rooy [Fri, 3 Feb 2023 09:41:11 +0000 (09:41 +0000)]
Bug 32612: (QA follow-up) Remove worker.log

It is not used; overruled by daemon's --output option.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 32612: (QA follow-up) Remove more unneeded appender lines
Marcel de Rooy [Fri, 3 Feb 2023 08:14:06 +0000 (08:14 +0000)]
Bug 32612: (QA follow-up) Remove more unneeded appender lines

To be more consistent ;)

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 32612: (QA follow-up) Update package files
Kyle Hall [Thu, 2 Feb 2023 11:53:53 +0000 (06:53 -0500)]
Bug 32612: (QA follow-up) Update package files

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 32612: (QA follow-up) Remove superfluous line
Kyle Hall [Wed, 1 Feb 2023 17:37:44 +0000 (12:37 -0500)]
Bug 32612: (QA follow-up) Remove superfluous line

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 32612: Add worker-error to log4perl conf
Nick Clemens [Wed, 11 Jan 2023 18:46:11 +0000 (18:46 +0000)]
Bug 32612: Add worker-error to log4perl conf

To test:
1 - Apply patch
2 - vim /etc/koha/sites/kohadev/log4perl.conf, Add lines below:
log4perl.logger.worker = WARN, WORKER
log4perl.appender.WORKER=Log::Log4perl::Appender::Screen
log4perl.appender.WORKER.stderr=1
log4perl.appender.WORKER.mode=append
log4perl.appender.WORKER.layout=PatternLayout
log4perl.appender.WORKER.layout.ConversionPattern=[%d] [%p] %m %l%n
log4perl.appender.WORKER.utf8=1
3 - Restart all
4 - Edit misc/background_jobs_worker.pl
-        my $job = Koha::BackgroundJobs->find($args->{job_id});
+        my $job;# = Koha::BackgroundJobs->find($args->{job_id});
5 - In another terminal: tail -f /var/log/koha/kohadev/koha-worker-error.log
6 - Force enqueue a job (that won't be found because of #4
  perl -e 'use Koha::BackgroundJob::BatchUpdateItem; my $bg = Koha::BackgroundJob::BatchUpdateItem->new(); $bg->enqueue({ record_ids=>['888888']});'
7 - Note error in log like:
  [2023/01/11 19:26:10] [WARN] No job found for id=2983 main:: /kohadevbox/koha/misc/background_jobs_worker.pl (111)

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
17 months agoBug 32712: (QA follow-up) Add missing include
Tomas Cohen Arazi [Thu, 2 Feb 2023 15:30:06 +0000 (12:30 -0300)]
Bug 32712: (QA follow-up) Add missing include

I assumed it wasn't needed because teh .tt files using this already
includ teh Koha plugin. But we shuoldn't skip, just in case someone
doesn't notice when reusing this, and debugging will be a pain.

Sorry for that.

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
17 months agoBug 32741: Fix {biblios|authorities}/bib1.att duplicate codes
Tomas Cohen Arazi [Fri, 27 Jan 2023 19:32:16 +0000 (16:32 -0300)]
Bug 32741: Fix {biblios|authorities}/bib1.att duplicate codes

This patch fixes a duplicate attribute code for Author-in-order in the
biblios definition.
The picked code matches what was already in ccl.properties.

Also Chronological-term for authorities gets fixed.

To test:
1. Apply the regression tests
2. Run:
  k$ prove xt/verify_bib1.att.t
=> FAIL: Some failiures
3. Apply this patch
4. Repeat 1
=> SUCCESS: Tests now pass!
5. Sign off :-D

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
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>
17 months agoBug 32741: Regression tests
Tomas Cohen Arazi [Fri, 27 Jan 2023 18:59:52 +0000 (15:59 -0300)]
Bug 32741: Regression tests

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
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>
17 months agoBug 32779: ERM - Fix import from list
Jonathan Druart [Wed, 1 Feb 2023 13:06:27 +0000 (14:06 +0100)]
Bug 32779: ERM - Fix import from list

There is a typo, '$' is missing, which caused the following error:
Use of inherited AUTOLOAD for non-method Koha::BackgroundJob::CreateEHoldingsFromBiblios::fix_coverage() is no longer allowed at /kohadevbox/koha/Koha/BackgroundJob/CreateEHoldingsFromBiblios.pm line 126

Test plan:
Create a list, add an item
Turn on ERM
Create a package
Go to /cgi-bin/koha/erm/eholdings/local/titles
Click "Import from list"
Select the package, then your list, and import
It should succeed

Signed-off-by: Pedro Amorim <pedro.amorim@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
17 months agoBug 32779: Add tests
Jonathan Druart [Wed, 1 Feb 2023 13:28:23 +0000 (14:28 +0100)]
Bug 32779: Add tests

Signed-off-by: Pedro Amorim <pedro.amorim@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
17 months agoBug 32401: Remove x-koha-query support
Tomas Cohen Arazi [Tue, 6 Dec 2022 14:19:31 +0000 (11:19 -0300)]
Bug 32401: Remove x-koha-query support

HTTP headers can only contain ASCII characters, and it is thus
impractical to use a header for passing DB queries that could contain
non-ascii characters.

We don't need it, and should be removed.

This patch removes traces from the datatables.js files and also from
detail.tt, which had it set to false anyway.

See bug 32406 and bug 32409 for the cases in which it was being used,
and problematic.

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
17 months agoBug 32409: Fix cashup searching with non latin-1 chars
Tomas Cohen Arazi [Tue, 6 Dec 2022 14:02:20 +0000 (11:02 -0300)]
Bug 32409: Fix cashup searching with non latin-1 chars

This patch fixes a problem with the way queries are passed to the API so
cashups are searchable with non-laint1 chars.

To test:
1. Have two superlibrarian users, one with non-latin1 chars on the name
   (e.g. خمسة)
2. Setup a debit type that can be sold.
3. Use the POS module to have some activity, using both your regular
   user and the other one.
4. Go to the register you used, and choose 'Transaction history'
5. Perform a couple cashups with each user ('Record cashup').
6. Look at the 'Cashup history' table
=> SUCCESS: You see cashups for both users
7. Use the 'Search' filter with latin chars
=> SUCCESS: Your user with only latin1 chars is displayed on the table
8. Repeat, using some non-latin1 char found on the other user
=> FAIL: Table is not refreshed or filtered!
9. Apply this patch
10. Reload the page
11. Repeat 8
=> SUCCESS: Filtering works now!
12. Sign off :-D

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
17 months agoBug 32406: Switch acq datatable from headers to query param
David Cook [Mon, 5 Dec 2022 22:50:23 +0000 (22:50 +0000)]
Bug 32406: Switch acq datatable from headers to query param

This patch changes the pending orders datatable from using the
x-koha-query header to the "q" query parameter, so that it is
able to support UTF-8 encoded scripts rather than just Latin-1
scripts.

Test plan:

1. Apply patch
2. Go to
http://localhost:8081/cgi-bin/koha/cataloguing/addbiblio.pl?biblionumber=29
3. Change title from "Gairm" to "五" (alternatively use "cœur" or Arabic title)
4. Create a basket containing multiple records including bib 29 五
5. Close the basket
6. Receive shipment
7. You should be on a page like the following:
http://localhost:8081/cgi-bin/koha/acqui/parcel.pl?invoiceid=3
8. In the search box, type in 五
9. Note that you see a "Processing..." box and then the
results are filtered to just show the order for 五

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
tcohen amend: removed the line instead as we are probably phasing out
that DT configuration option anyway.

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
17 months agoBug 20256: DBRev 22.12.00.003
Tomas Cohen Arazi [Wed, 1 Feb 2023 19:03:39 +0000 (16:03 -0300)]
Bug 20256: DBRev 22.12.00.003

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
17 months agoBug 20256: DBIC schema
Tomas Cohen Arazi [Wed, 1 Feb 2023 19:03:09 +0000 (16:03 -0300)]
Bug 20256: DBIC schema

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
17 months agoBug 20256: (QA follow-up) Make atomicupdate idempotent
Tomas Cohen Arazi [Wed, 1 Feb 2023 14:33:56 +0000 (11:33 -0300)]
Bug 20256: (QA follow-up) Make atomicupdate idempotent

Without this patch, running the atomicupdate twice crashes on patrons
with edit_items permissions:

C4::Installer::run_atomic_updates(): DBI Exception: DBD::mysql::db do failed: Duplicate entry '19-9-edit_any_item' for key 'PRIMARY' at /kohadevbox/koha/installer/data/mysql/updatedatabase.pl line 24303
DEV atomic update /kohadevbox/koha/installer/data/mysql/atomicupdate/bug_20256.perl  [14:26:41]
ERROR - C4::Installer::run_atomic_updates(): DBI Exception: DBD::mysql::db do failed: Duplicate entry '19-9-edit_any_item' for key 'PRIMARY' at /kohadevbox/koha/installer/data/mysql/updatedatabase.pl line 24303

It also aligns this 3yro script with the new structure we've been using.

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
17 months agoBug 20256: Add unit tests
Kyle M Hall [Fri, 29 Mar 2019 18:58:00 +0000 (14:58 -0400)]
Bug 20256: Add unit tests

Signed-off-by: Bob Bennhoff - CLiC <bbennhoff@clicweb.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
17 months agoBug 20256: Use new methods
Kyle M Hall [Thu, 28 Mar 2019 15:07:02 +0000 (11:07 -0400)]
Bug 20256: Use new methods

Signed-off-by: Bob Bennhoff - CLiC <bbennhoff@clicweb.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
17 months agoBug 20256: Update groups editor
Kyle M Hall [Thu, 28 Mar 2019 11:12:37 +0000 (07:12 -0400)]
Bug 20256: Update groups editor

Signed-off-by: Bob Bennhoff - CLiC <bbennhoff@clicweb.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
17 months agoBug 20256: Add new methods for checking item editing permissions
Kyle M Hall [Wed, 27 Mar 2019 17:31:28 +0000 (13:31 -0400)]
Bug 20256: Add new methods for checking item editing permissions

Signed-off-by: Bob Bennhoff - CLiC <bbennhoff@clicweb.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
17 months agoBug 20256: Refactor subs for rights to view patrons to make them generic for general use
Kyle M Hall [Wed, 27 Mar 2019 17:06:54 +0000 (13:06 -0400)]
Bug 20256: Refactor subs for rights to view patrons to make them generic for general use

Signed-off-by: Bob Bennhoff - CLiC <bbennhoff@clicweb.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
17 months agoBug 20256: Add new permission to editor
Kyle M Hall [Wed, 27 Mar 2019 17:05:24 +0000 (13:05 -0400)]
Bug 20256: Add new permission to editor

Signed-off-by: Bob Bennhoff - CLiC <bbennhoff@clicweb.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
17 months agoBug 20256: Update database
Kyle M Hall [Wed, 27 Mar 2019 17:03:16 +0000 (13:03 -0400)]
Bug 20256: Update database

Test Plan:
1) Apply this patch set
2) Run updatedatabase.pl
3) Create two library groups with some libraries in them,
   make sure to enable the new feature to limit editing of items
4) Test the functionality, if an item is owned by a library in
   your group, you should have full editing abilities. If an item
   is from a different group, you should only be able to make the
   same changes you would be able to if IndependentBranches were.

Signed-off-by: Bob Bennhoff - CLiC <bbennhoff@clicweb.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
17 months agoBug 32633: (QA follow-up) Add handling for authorities merge
Martin Renvoize [Tue, 31 Jan 2023 14:15:53 +0000 (14:15 +0000)]
Bug 32633: (QA follow-up) Add handling for authorities merge

When you first click 'actions -> merge' from a result in the authories
search page you will see a new 'Merging with authority: ' text appear at
the top of the search results.

Prior to this patch, the text appears outside of the white page-section
and is almost un-noticable.

After this patch, we add a page-section with bg-info (blue backround)
around the merge message which makes it stand up more clearly.

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
17 months agoBug 32633: (QA follow-up) Move page-section nesting
Martin Renvoize [Tue, 31 Jan 2023 13:39:20 +0000 (13:39 +0000)]
Bug 32633: (QA follow-up) Move page-section nesting

This follow-up makes a small change to the page-section nesting on the
Cataloging and Authorities search results pages.  We move the 'h2'
outside of the page section but include the paging and number of results
inside with the results tables themselves.

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
17 months agoBug 32633: Add 'page-section' to cataloging and authority pages
Owen Leonard [Fri, 13 Jan 2023 12:12:30 +0000 (12:12 +0000)]
Bug 32633: Add 'page-section' to cataloging and authority pages

This patch adds a "page-section" container div around the main section
of cataloging and authority pages which lack it.

This patch contains indentation changes, so please ignore whitespace
when looking at the diff.

Apply the patch and view the following pages to confirm that the main
content is contained in a white box:

 - Cataloging -> Cataloging search results
 - Cataloging -> Edit items: The table of items and the item edit form
   should each be contained in a page-section.
 - Authorities -> Search results
 - Authorites -> Merge authorities: From the authorities search results
   list, click "Actions -> Merge" for one result, and then "Actions ->
   Merge" for another.
 - Click "Next" after selecting a merge reference.
   - The "Destination record" information should be contained in a
     page-section.

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
17 months agoBug 32239: Remove uneeded CSS from reports.css
Lucas Gass [Mon, 9 Jan 2023 18:32:39 +0000 (18:32 +0000)]
Bug 32239: Remove uneeded CSS from reports.css

To test:
1. Apply patch.
2. When adding a new SQL report, the options for adding/creating groups and sub groups should be aligned properly.
3. Turn on Mana and look at Mana Knowledge Base report search results to make sure everything is still properly aligned there.

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
17 months agoBug 32588: (QA follow-up) Add missing filter
Tomas Cohen Arazi [Tue, 31 Jan 2023 14:06:03 +0000 (11:06 -0300)]
Bug 32588: (QA follow-up) Add missing filter

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
17 months agoBug 31326: Koha::Biblio->get_components_query fetches too many component parts
Johanna Raisa [Tue, 9 Aug 2022 08:58:59 +0000 (11:58 +0300)]
Bug 31326: Koha::Biblio->get_components_query fetches too many component parts

This patch adds double quotes to rcn and cni when searching component parts
with get_components_query.

Test plan:
1) Apply the patch
2) prove Koha/t/db_dependent/Koha/Biblio.t

Sponsored-by: Koha-Suomi Oy
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
17 months agoBug 32377: Set param skiptotals on call of GetBudgetHierarchy in acqui/histsearch.pl
Emmi Takkinen [Wed, 30 Nov 2022 10:33:19 +0000 (12:33 +0200)]
Bug 32377: Set param skiptotals on call of GetBudgetHierarchy in acqui/histsearch.pl

Calling GetBudgetHierarchy from acqui/histsearch.pl
is slow if param skiptotals is not used.

To test:
1. Open browsers Console -> Network (F12).
2. Navigate to Order search page and perform search.
=> Take a note how long it takes to load the Search results page.
3. Apply this patch.
4. Repeat step 2.
=> Page should now load faster.

Sponsored-by: Koha-Suomi Oy
Signed-off-by: Frédéric Demians <f.demians@tamil.fr>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
17 months agoBug 20473: Whitespace
Nick Clemens [Fri, 16 Dec 2022 13:14:51 +0000 (13:14 +0000)]
Bug 20473: Whitespace

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
17 months agoBug 20473: Don't display 'Item information' tab when adding to basket from a file...
Nick Clemens [Fri, 16 Dec 2022 13:12:19 +0000 (13:12 +0000)]
Bug 20473: Don't display 'Item information' tab when adding to basket from a file and not creating items

This patch adds a conditional, and moves another up one level to remove the tab
when it will have no content/effect

To test:
1. Stage a MARC file from Tools > Stage MARC records for import
2. Go to Acquisitions and create a basket for a vendor
3. Add to basket from staged file
4. Note that the "item information" tab is present, if you click on it, not that it is not useful
5. Cancel adding to basket
6. Apply patch
7. Add to basket from the staged file again
8. Confirm there is no item information tab
9. Confirm orders are added on 'Save'

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
17 months agoBug 32588: Make filters on 'items with no checkouts' report translatable
Katrin Fischer [Sat, 7 Jan 2023 02:11:48 +0000 (02:11 +0000)]
Bug 32588: Make filters on 'items with no checkouts' report translatable

This makes the filters on top of the 'items with no checkouts' report
translatable. The descriptions of the filters used the wrong terms and
were also pulled from the .pl file, making them untranslatable.

To test:
* Without patch: Run the 'items with no checkouts' report with various
  settigs.
* Verify, that the display on top doesn't use standard terminology
  Doc type = item type, Branch = library
* Apply patch
* Verify display is improved and standard terminology is used

If you know how to, you can also confirm strings show up nicely in
translations:
https://wiki.koha-community.org/wiki/Translating_Koha#Updating_the_po_files_in_your_installation

Signed-off-by: Frédéric Demians <f.demians@tamil.fr>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
17 months agoBug 27424: DBRev 22.12.00.002
Tomas Cohen Arazi [Tue, 31 Jan 2023 13:55:21 +0000 (10:55 -0300)]
Bug 27424: DBRev 22.12.00.002

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
17 months agoBug 27424: (QA follow-up) Add confirmation if (un)checking the default smtp server...
Kyle Hall [Fri, 27 Jan 2023 11:56:42 +0000 (06:56 -0500)]
Bug 27424: (QA follow-up) Add confirmation if (un)checking the default smtp server checkbox

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
17 months agoBug 27424: (QA follow-up) Show current default on the editor for non-default servers
Kyle Hall [Fri, 27 Jan 2023 11:34:31 +0000 (06:34 -0500)]
Bug 27424: (QA follow-up) Show current default on the editor for non-default servers

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
17 months agoBug 27424: (QA follow-up) Highlight the default row in the SMTP servers table
Kyle Hall [Thu, 26 Jan 2023 20:02:13 +0000 (15:02 -0500)]
Bug 27424: (QA follow-up) Highlight the default row in the SMTP servers table

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
17 months agoBug 27424: Clarify logic
Tomas Cohen Arazi [Fri, 4 Feb 2022 17:40:15 +0000 (14:40 -0300)]
Bug 27424: Clarify logic

This patch simplifies how Koha::SMTP::Servers->get_default is written,
to help readability.

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
17 months agoBug 27424: (QA follow-up) Make Koha::SMTP::Server->store deal with defaults
Tomas Cohen Arazi [Fri, 4 Feb 2022 17:24:18 +0000 (14:24 -0300)]
Bug 27424: (QA follow-up) Make Koha::SMTP::Server->store deal with defaults

This patch makes the ->store method take care of setting the server as
the only default one.

To test:
1. Apply this patch
2. Run:
   $ kshell
  k$ prove t/db_dependent/Koha/SMTP/Server.t
=> SUCCESS: Tests pass!
3. The UI keeps working as it should.
4. Sign off :-D

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
17 months agoBug 27424: Update database
Kyle Hall [Tue, 25 Jan 2022 19:06:41 +0000 (14:06 -0500)]
Bug 27424: Update database

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
17 months agoBug 27424: Add ability to specify an SMTP server in the database as the default server
Kyle Hall [Thu, 20 Jan 2022 19:26:13 +0000 (14:26 -0500)]
Bug 27424: Add ability to specify an SMTP server in the database as the default server

Bug 22343 adds the ability to defined SMTP servers via the UI; But to then utilise them you have to go to each individual library via the libraries admin area and select the SMTP server.

We should have a way to override the fallback/default SMTP server right from the SMTP servers administration page.. setting one of our defined SMTP Servers as the system default rather than using the hard coded fallback options.

Test Plan:
1) Apply this patch set
2) Restart all the things!
3) Browser to the SMTP servers editor,
   verify only one server can be set as the default server
4) Set a default server, verify that server was used to send email from
   a cronjob, AND/OR prove t/db_dependent/Koha/SMTP/Server.t

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
17 months agoBug 27424: Update schema file
Kyle Hall [Thu, 20 Jan 2022 19:25:39 +0000 (14:25 -0500)]
Bug 27424: Update schema file

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
17 months agoBug 26628: Fix access to clubs when user only has clubs permission
Katrin Fischer [Thu, 26 Jan 2023 21:46:51 +0000 (21:46 +0000)]
Bug 26628: Fix access to clubs when user only has clubs permission

If a user only has the clubs and no permission from the tools section,
they can't access the patron clubs page by navigation. This patch
extends the permission checks for tools to include the clubs, that
live on the tools page, but have a top level permission.

To test:
- create a patron with only the catalogue and clubs permissions
- log in to the staff client as that patron
- navigate to a patron record, confirm you can see the Clubs tab in the patron account, can add patrons to and remove patrons from clubs
- confirm you don't have a link to the Tools module either on the Koha homepage or in the More menu
- enter the clubs URL manually (/cgi-bin/koha/clubs/clubs.pl), confirm you are allowed to open the page
- Apply patch
- The only changes should be:
  - You can now see the Tools entry in the More navigation menu
  - You can now see the Tools module link on the start page
  - Both take you to the tools page, only visible tools is 'Patron clubs'

Signed-off-by: Andrew Fuerste-Henry <andrewfh@dubcolib.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
17 months agoBug 32442: (bug 28739 follow-up) Ensure txn is rollbacked
Jonathan Druart [Wed, 14 Dec 2022 07:42:03 +0000 (08:42 +0100)]
Bug 32442: (bug 28739 follow-up) Ensure txn is rollbacked

If the TT process call is returning false and so the croak is raised,
then the txn is not rollbacked and the txn is not commited either.

We need to ensure the txn will be correctly rollbacked.

Test plan:
1. Go to any notice and create some invalid Template Toolkit:

[% IF ( 1 == 1 %]
test
[% END %]

2. Save and continue

3. Logout of Koha and attempt to log back in
=> Without this patch you got
Transaction aborted: DBIx::Class::Storage::DBI::mysql::_exec_svp_release(): DBI Exception: DBD::mysql::db do failed: SAVEPOINT savepoint_4 does not exist at /kohadevbox/koha/Koha/Object.pm line 170
. Rollback failed: DBIx::Class::Storage::DBI::mysql::_exec_svp_rollback(): DBI Exception: DBD::mysql::db do failed: SAVEPOINT savepoint_3 does not exist at /kohadevbox/koha/Koha/Patron.pm line 363 at /kohadevbox/koha/Koha/Patron.pm line 363
 at /usr/share/perl5/DBIx/Class/Exception.pm line 77
=> With this patch applied the login works successfully

QA Note: The test is not testing that the txn is rolledback, I didn't
manage to test that.

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
17 months agoBug 32442: Add tests
Jonathan Druart [Wed, 14 Dec 2022 07:31:01 +0000 (08:31 +0100)]
Bug 32442: Add tests

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
17 months agoBug 32589: Improve headings on result tables for 'Items with no checkouts'
Katrin Fischer [Sat, 7 Jan 2023 01:34:24 +0000 (01:34 +0000)]
Bug 32589: Improve headings on result tables for 'Items with no checkouts'

When no filter was selected on the search form, the heading on
the results table showed as NULL. When library or item type were
selected the codes instead of the descriptions showed.

To test:
* Without patch:
* Run the 'items with no checkouts' report with different settings
  for 'By:'. Verify the headings on the tables are not nice.
* Apply patch
* Rerun reports
  * Headings should be "Ungrouped, item type or library descriptions
  * Summary table also shows item type and library descriptions

Signed-off-by: Frédéric Demians <f.demians@tamil.fr>
  → OK. Would be nice to have decoding also in 'Filtered on' top section
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
17 months agoBug 32587: Add page-section to 'items with no checkouts' report
Katrin Fischer [Sat, 7 Jan 2023 01:31:34 +0000 (01:31 +0000)]
Bug 32587: Add page-section to 'items with no checkouts' report

This adds page sections to the summary and result tables
for the 'items with no checkouts' report.

To test:
* Run the 'item with no checkouts' report with different settings
* Confirm result tables are missing the white brackground from
  page-section
* Apply patch
* Confirm the result tables now do have the white background

Signed-off-by: Frédéric Demians <f.demians@tamil.fr>
  → Confirm both problem and solution
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
17 months agoBug 32586: Reindent items with no checkouts report template
Katrin Fischer [Sat, 7 Jan 2023 00:25:40 +0000 (00:25 +0000)]
Bug 32586: Reindent items with no checkouts report template

The indentation in the template was off and also full of tab
characters, so this does some clean-up prior to doing some
other small changes on separate bugs.

To test:
* Run the 'Items with no checkouts' report in the report module
* Note: If you get an error in this step, you need to turn of
  sql_strict_mode in your koha-conf.xml, but this bug is out
  of scope here.
* Apply patch
* Rerun the report, it should appear unchanged

Signed-off-by: Frédéric Demians <f.demians@tamil.fr>
  → Nice to the eyes, and no regression
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
17 months agoBug 32292: Tidy and sort keys
Tomas Cohen Arazi [Tue, 31 Jan 2023 13:28:20 +0000 (10:28 -0300)]
Bug 32292: Tidy and sort keys

This patch does a perltidy on the data structure, but also organizes
keys alphabetically to ease maintenance.

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
17 months agoBug 32292: Fix POD
Katrin Fischer [Mon, 21 Nov 2022 22:31:24 +0000 (22:31 +0000)]
Bug 32292: Fix POD

POD had a typo in suggestions and was missing the new aqorders.

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>
17 months agoBug 32292: Add missing column descriptions to borrowers table
Katrin Fischer [Mon, 21 Nov 2022 22:15:15 +0000 (22:15 +0000)]
Bug 32292: Add missing column descriptions to borrowers table

Adds missing column descriptions for new features etc. to the
existing entry for borrowres columns descriptions.

To test:
* Go to reports > Guided reports
* Select patrons module
* Make sure all entries for the tables items and suggestions show
  up with nice descriptions

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>
17 months agoBug 32292: Add column descriptions to biblio table
Katrin Fischer [Mon, 21 Nov 2022 21:49:43 +0000 (21:49 +0000)]
Bug 32292: Add column descriptions to biblio table

This adds nice descriptions to the aqorders database columns.

To test:
* Go to Guided reports
* Start a new report for acquisitions module
* Verify that all aqorders columns show with nice descriptions
      None should be missing.

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>
17 months agoBug 32292: Add column descriptions to aqorders table
Katrin Fischer [Mon, 21 Nov 2022 21:40:54 +0000 (21:40 +0000)]
Bug 32292: Add column descriptions to aqorders table

This adds nice descriptions to the aqorders database columns.

To test:
* Go to Guided reports
* Start a new report for acquisitions module
* Verify that all aqorders columns show with nice descriptions
  None should be missing.

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>
17 months agoBug 32292: Add column descriptions to subscriptions table / complete items table
Katrin Fischer [Mon, 21 Nov 2022 21:36:31 +0000 (21:36 +0000)]
Bug 32292: Add column descriptions to subscriptions table / complete items table

* Adds proper labels to the database columns for suggestions
* Adds missing item columns:
  * coded_location_qualifier
  * deleted_on
  * exclude_form_local_holds_priority
* Fixes spelling of item type, Uniform resource identifier

To test:
* Go to reports > Guided reports
* Select acquisition or another module using the items
* Make sure all entries for the tables items up with nice descriptions
* Changes to subscriptions: verify reading the patch, these don't seem to show
  up yet in guided reports.

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>
17 months agoBug 31962: Add tooltip to 'configure' on datatable controls
Katrin Fischer [Fri, 6 Jan 2023 21:04:54 +0000 (21:04 +0000)]
Bug 31962: Add tooltip to 'configure' on datatable controls

This makes sure that the last button on the datatable controls
also has a tooltip, like the other buttons.

To test:
* Without the patch:
* Check out an item and look at the table of checkouts
* Look at the detail page of a record with at least one item
* Confirm that the 'configure' button doesn't have a tooltip appear
  as a bubble like the other buttons
* Apply patch
* Restart_all and reload pages
* Make sure the styling of the 'configure' tooltip now matches that
  of the other buttons

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>
17 months agoBug 32689: Add missing space between 773$i label text and content
Katrin Fischer [Fri, 20 Jan 2023 15:49:09 +0000 (15:49 +0000)]
Bug 32689: Add missing space between 773$i label text and content

When 777 Ind. 2 = 8, $i will be used as the label. In this case,
we were missing a space between the $i and the other subfields.
This patch makes sure there is a space.

Note: the colon is expected to be part of the data here.

To test:
* Update default framework to display 773 a t w i by default in the editor,
  OPAC and staff interface.
* Search for a record in the staff interface
* Click New > Add child record from the detail page
* Enter 245 and any mandatory fields
* Add $i to 773 entry and make the indicators: 0 8
* On the detail page and the result lists,
  $i will be used a label, but there'll be no space between
  label and content.

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>
17 months agoBug 19188: Use the Price template plugin with_symbol => 1
Jonathan Druart [Thu, 1 Feb 2018 17:32:54 +0000 (14:32 -0300)]
Bug 19188: Use the Price template plugin with_symbol => 1

To make it displayed correctly depending on the configuration of the
currency

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
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>
17 months agoBug 19188: Self checkout missing currency symbol
Jenny Way [Tue, 16 Jan 2018 22:05:39 +0000 (22:05 +0000)]
Bug 19188: Self checkout missing currency symbol

Test plan:
1. Under administration and system preferences, enable WebBasedSelfCheck
2. In OPAC give user fine by going to 'my account' at top right
3. Then under fines tab 'create manual invoice'
4. Make sure this amount is more than noissuescharge which can be
   changed under system preferences
5. Go to the web based self check from the OPAC URL
6. Log in as your user
7. Try to check out an item
7. Error 'Item cannot be checked out' should occur
8. With the patch, the currency symbol should show for the amount.

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.83@web.de>
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>
17 months agoBug 25812: Fines can be displayed on SIP checkin/checkout
Matthias Meusburger [Wed, 25 Sep 2019 13:30:51 +0000 (15:30 +0200)]
Bug 25812: Fines can be displayed on SIP checkin/checkout

Test plan:

 - Enable show_outstanding_amount in SIPconfig.xml

 - Check that the total outstanding amout for the patron is displayed on SIP
   checkout (if it exists), for example:
   Patron has fines - You owe $10.00.

 - Check that the outstanding amout for a given item is displayed on SIP
   checkin (if it exists), for example:
   "You owe $10.00 for this item."

 - Check that it is not displayed when show_outstanding_amount is disabled.

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
17 months agoBug 30310: Fix date_to_rfc3339
Jonathan Druart [Tue, 3 Jan 2023 17:16:24 +0000 (18:16 +0100)]
Bug 30310: Fix date_to_rfc3339

We need the customParseFormat plugin to provide a custom date format to
the dayjs constructor.
Found while working on bug 32559, don't remove this function, it will be
used later.

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
17 months agoBug 30310: Replace one more occurrence to moment
Jonathan Druart [Tue, 3 Jan 2023 16:55:02 +0000 (17:55 +0100)]
Bug 30310: Replace one more occurrence to moment

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
17 months agoBug 30310: Add missing utc plugin
Jonathan Druart [Fri, 4 Nov 2022 09:54:31 +0000 (10:54 +0100)]
Bug 30310: Add missing utc plugin

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>