]> git.koha-community.org Git - koha.git/log
koha.git
2 years agoBug 28786: Don't expose secret and auth_method to the REST API
Jonathan Druart [Thu, 20 Jan 2022 14:47:11 +0000 (15:47 +0100)]
Bug 28786: Don't expose secret and auth_method to the REST API

This can be done later if needed.

Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2 years agoBug 28786: (QA follow-up) Check the returned CSRF token
Marcel de Rooy [Tue, 18 Jan 2022 12:45:17 +0000 (12:45 +0000)]
Bug 28786: (QA follow-up) Check the returned CSRF token

We're doing this in the registering stage and at disabling.

Test plan:
Ënable two-factor auth but logout/login on another tab. You should
get the Wrong CSRF token when submitting.
Do similar thing while disabling.
Verify that you can register / disable when in the same session.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2 years agoBug 28786: (QA follow-up) Do not call generate_secret32
Marcel de Rooy [Mon, 17 Jan 2022 12:53:46 +0000 (12:53 +0000)]
Bug 28786: (QA follow-up) Do not call generate_secret32

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2 years agoBug 28786: (QA follow-up) Fix qa warnings
Marcel de Rooy [Thu, 13 Jan 2022 07:52:33 +0000 (07:52 +0000)]
Bug 28786: (QA follow-up) Fix qa warnings

 FAIL   members/two_factor_auth.pl
   FAIL   file permissions
                File must have the exec flag
 FAIL   koha-tmpl/intranet-tmpl/prog/en/modules/members/two_factor_auth.tt
   FAIL   filters
                missing_filter at line 42 (                        <p>Account: [% issuer %]</p>)
                missing_filter at line 43 (                        <p>Key: [% key_id %]</p>)
                missing_filter at line 54 (                            <input type="hidden" name="secret32" value="[% secret32 %]" />)
                missing_filter at line 58 (                                    <img id="qr_code" src="[% qr_code_url %]" />)
 FAIL   Koha/Auth/TwoFactorAuth.pm
   FAIL   pod coverage
                POD is missing for 'new'

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2 years agoBug 28786: (QA follow-up) Upgrade atomicupdate to new style
Marcel de Rooy [Tue, 21 Dec 2021 15:07:56 +0000 (15:07 +0000)]
Bug 28786: (QA follow-up) Upgrade atomicupdate to new style

Test plan:
Run dbrev again.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2 years agoBug 28786: Add tests for checkauth
Jonathan Druart [Mon, 13 Sep 2021 21:19:24 +0000 (23:19 +0200)]
Bug 28786: Add tests for checkauth

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2 years agoBug 28786: Correctly inherit from Auth::GoogleAuth
Jonathan Druart [Mon, 13 Sep 2021 21:13:44 +0000 (23:13 +0200)]
Bug 28786: Correctly inherit from Auth::GoogleAuth

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2 years agoBug 28786: Improve readability in C4::Auth::checkauth
Jonathan Druart [Fri, 30 Jul 2021 10:36:46 +0000 (12:36 +0200)]
Bug 28786: Improve readability in C4::Auth::checkauth

Sponsored-by: Orex Digital
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2 years agoBug 28786: Two-factor authentication for staff client - TOTP
Jonathan Druart [Thu, 29 Jul 2021 14:08:25 +0000 (16:08 +0200)]
Bug 28786: Two-factor authentication for staff client - TOTP

This patchset introduces the Two-factor authentication (2FA) idea in
Koha.

It is far for complete, and only implement one way of doing it, but at
least it's a first step.
The idea here is to offer the librarian user the ability to
enable/disable 2FA when logging in to Koha.

It will use time-based, one-time passwords (TOTP) as the second factor,
an application to handle that will be required.

https://en.wikipedia.org/wiki/Time-based_One-Time_Password

More developements are possible on top of this:
* Send a notice (sms or email) with the code
* Force 2FA for librarians
* Implementation for OPAC
* WebAuthn, FIDO2, etc. - https://fidoalliance.org/category/intro-fido/

Test plan:
 0.
  a. % apt install -y libauth-googleauth-perl && updatedatabase && restart_all
  b. To test this you will need an app to generate the TOTP token, you can
 use FreeOTP that is open source and easy to use.
 1. Turn on TwoFactorAuthentication
 2. Go to your account, click 'More' > 'Manage Two-Factor authentication'
 3. Click Enable, scan the QR code with the app, insert the pin code and
 register
 4. Your account now requires 2FA to login!
 5. Notice that you can browse until you logout
 6. Logout
 7. Enter the credential and the pincode provided by the app
 8. Logout
 9. Enter the credential, no pincode
10. Confirm that you are stuck on the second auth form (ie. you cannot
access other Koha pages)
11. Click logout => First login form
12. Enter the credential and the pincode provided by the app

Sponsored-by: Orex Digital
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2 years agoBug 28786: Add controller script and template
Jonathan Druart [Thu, 29 Jul 2021 13:25:18 +0000 (15:25 +0200)]
Bug 28786: Add controller script and template

Sponsored-by: Orex Digital
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2 years agoBug 28786: Add new DB column borrowers.auth_method
Jonathan Druart [Thu, 29 Jul 2021 13:40:07 +0000 (15:40 +0200)]
Bug 28786: Add new DB column borrowers.auth_method

Sponsored-by: Orex Digital
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2 years agoBug 28786: Add new DB column borrowers.secret
Jonathan Druart [Thu, 29 Jul 2021 13:12:49 +0000 (15:12 +0200)]
Bug 28786: Add new DB column borrowers.secret

Sponsored-by: Orex Digital
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2 years agoBug 28786: Add new syspref TwoFactorAuthentication
Jonathan Druart [Wed, 28 Jul 2021 18:49:55 +0000 (20:49 +0200)]
Bug 28786: Add new syspref TwoFactorAuthentication

Sponsored-by: Orex Digital
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2 years agoBug 30204: Add subtitle to serial search results
Lucas Gass [Tue, 1 Mar 2022 16:11:40 +0000 (16:11 +0000)]
Bug 30204: Add subtitle to serial search results

To test:
1. Make some new serial subscriptions and connect them to biblios that contain subtitles.
2. Do a serial search that will return your newly created subscription.
3. Notice the subtitle doesn't appear.
4. Apply patch and restart_all
5. Again try step 2.
6. Notice the subtitle appears alongside the title now.
7. Make sure it still sorts that column correctly.

Signed-off-by: shiyao <shiyao@inlibro.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2 years agoBug 30204: Add unit test
Kyle M Hall [Tue, 5 Apr 2022 16:54:37 +0000 (12:54 -0400)]
Bug 30204: Add unit test

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2 years agoBug 30205: Add subtitle to subscription detail page
Lucas Gass [Tue, 1 Mar 2022 16:30:04 +0000 (16:30 +0000)]
Bug 30205: Add subtitle to subscription detail page

To test:
1. Make some new serial subscriptions and connect them to biblios that contain subtitles.
2. Do a serial search that will return your newly created subscription.
3. Click on one of those subscription to be taken to the subscription detail page.
4. Look at the main heading (h1) and the "Biblio:" line. Notice there is no subtitle in either place
5. Apply patch, restart_all, and reload the subscription detail page.
6. You should now see the subtitle on both the main heading (h1) and on the 'Biblio:' line.

Signed-off-by: Andrew Fuerste-Henry <andrew@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2 years agoBug 30346: Correctly transfer values when editing rules
Lucas Gass [Mon, 11 Apr 2022 19:35:14 +0000 (19:35 +0000)]
Bug 30346: Correctly transfer values when editing rules

To test:
--Create a circulation rule with a value in "Overdue fines cap (amount), or edit an existing rule to add it
-Save the new (or edited) rule.
-Edit the same rule again to change any other field. Note that "Overdue fines cap (amount)" is now blank
-Save your edited rule - "Overdue fines cap (amount)" will save as blank.

Apply patch

--Create a circ rule with a value in Overdue fines cap (amount) and check "Cap fine at replacement price" for that same rule.
-Save the rule
-Try ediding the rule and make sure both of those values now save correctly.
-Add several more rules and try playing with both "Cap fine at replacement price" and "Overdue fines cap (amount)". Make sure everything saves right.

Signed-off-by: Andrew Fuerste-Henry <andrew@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2 years agoBug 18392: Add noExport of rows and don't export 'edit' row
Nick Clemens [Wed, 13 Apr 2022 19:42:06 +0000 (19:42 +0000)]
Bug 18392: Add noExport of rows and don't export 'edit' row

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2 years agoBug 18392: use KohaTable for circ rules to allow export of matrix
Nick Clemens [Wed, 13 Apr 2022 19:10:43 +0000 (19:10 +0000)]
Bug 18392: use KohaTable for circ rules to allow export of matrix

To test:
1 - Define some circ rules
2 - View them, note the appearance
3 - Apply patch
4 - Reload and note change of header
5 - Use the new button to export, try various formats
6 - Test the filter and export

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2 years agoBug 30288: Provide links to OPACUserJS and OPACUserCSS in tools
Owen Leonard [Tue, 15 Mar 2022 10:41:57 +0000 (10:41 +0000)]
Bug 30288: Provide links to OPACUserJS and OPACUserCSS in tools

This patch provides easy access to the OPACUserJS and OPACUserCSS
system  preferences in the Additional Contents (News and HTML
customisations) sections.

To test:

1. In the staff client, go to Tools -> News. Notice there is a button to
   add a New entry. Confirm this button is also there when you go to
   Tools -> HTML customisations.
2. Apply the patch and refresh the page.
3. Confirm there are now two new buttons to take you to OPACUserJS and
   OPACUserCSS. Confirm these buttons take you to the correct system
   preference.

Sponsored-by: Catalyst IT
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Bug 30288: (follow-up) Add permissions check

This follow-up wraps the system preference links in a check for
"parameters_manage_sysprefs" permission so that the links don't display
to those without permission to access system preferences.

Signed-off-by: Aleisha Amohia <aleishaamohia@hotmail.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2 years agoBug 30226: DBRev 21.12.00.035
Fridolin Somers [Thu, 21 Apr 2022 00:58:42 +0000 (14:58 -1000)]
Bug 30226: DBRev 21.12.00.035

Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2 years agoBug 30226: (follow-up) Remove text from database update
Fridolin Somers [Thu, 21 Apr 2022 00:56:16 +0000 (14:56 -1000)]
Bug 30226: (follow-up) Remove text from database update

The text displayed by database update is not really helpful.
And it will be incorrect if update is run several times.

Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2 years agoBug 30226: (QA follow-up) Sync atomicupdate with sysprefs.sql
Marcel de Rooy [Fri, 15 Apr 2022 09:43:26 +0000 (09:43 +0000)]
Bug 30226: (QA follow-up) Sync atomicupdate with sysprefs.sql

Description and remove choices.
Set items => flag items (as in circulation.pref)

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2 years agoBug 30226: Add system preference AllowSetAutomaticRenewal
Lucas Gass [Fri, 4 Mar 2022 21:06:17 +0000 (21:06 +0000)]
Bug 30226: Add system preference AllowSetAutomaticRenewal

To test:
1. Apply patch, restart the things, and run updatedatabase
2. Look for the system preference 'AllowSetAutomaticRenewal'.
3. To preserve current behavior the system preference should be set to allow by default.
4. Go to the circulation page and see that under 'Checkout settings' there is the option to set a particular item for auto renewal.
5. Set 'AllowSetAutomaticRenewal' to 'don't allow'.
6. Go back to the circulation page and under checkout settings you should no longer see the option to set an item for auto renewal.

Signed-off-by: Kelly mcElligott <kelly@bywatersolutions.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2 years agoBug 29815: Pre-populate 'Date acquired' field when adding/editing items
Alex Buckley [Mon, 10 Jan 2022 04:27:27 +0000 (04:27 +0000)]
Bug 29815: Pre-populate 'Date acquired' field when adding/editing items

This patch pre-fills the 952$d (Date acquired) item subfield on page
load. Users can still click on the field to fill this subfield.

Test plan:
1. Visit a biblio. Add an item, observe on page load the 'Date acquired' subfield is
empty
2. Visit a subscription. Receive a serial, observe after setting the serial status to 'Arrived' the item form loads with an empty 'Date acquired' subfield
3. Apply patch and restart services
4. Repeat step 1 and confirm now on page load the 'Date acquired'
subfield populates with today's date
5. Delete the populated 'Date acquired' subfield value. Click in the
field and confirm the field is populated and the calendar input displays
6. Delete the 'Date acquired' subfield value again. Confirm that tabbing
from a different field into the date acquired field behaves the same as
click
7. Repeat step 2. This time confirm on page load the 'Date acquired' subfield
contains the current date
8. Delete the populated 'Date acquired' subfield value. Click in the
field and confirm it is populated
9. Delete the populated 'Date acquired' subfield value. Tab to the field
from another field and confirm it behaves the same as click
10. Visit a biblio. Edit an item with a date acquired value in
the past. Confirm the date acquired value is unchanged after saving.

Sponsored-By: Brimbank Library, Australia
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2 years agoBug 29602: (follow-up) fix TemplateToolkit.t
Fridolin Somers [Thu, 21 Apr 2022 00:37:23 +0000 (14:37 -1000)]
Bug 29602: (follow-up) fix TemplateToolkit.t

Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2 years agoBug 29602: (follow-up) Fix missing filters
Fridolin Somers [Wed, 20 Apr 2022 19:40:40 +0000 (09:40 -1000)]
Bug 29602: (follow-up) Fix missing filters

Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2 years agoBug 30544: Add font awesome version to licenses page
Nick Clemens [Thu, 14 Apr 2022 13:26:59 +0000 (13:26 +0000)]
Bug 30544: Add font awesome version to licenses page

This patch simply adds the version number we are using
and updates the link to point to our version

To test:
1 - Confirm the About->Licenses page points to the correct Font Awesome
    version

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2 years agoBug 26370: (QA follow-up) Add new option to templates
Martin Renvoize [Mon, 11 Apr 2022 09:51:26 +0000 (10:51 +0100)]
Bug 26370: (QA follow-up) Add new option to templates

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2 years agoBug 26370: (QA follow-up) Rename option never_demagnitize to inhouse_patron_categories
Kyle Hall [Mon, 11 Apr 2022 10:37:58 +0000 (06:37 -0400)]
Bug 26370: (QA follow-up) Rename option never_demagnitize to inhouse_patron_categories

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2 years agoBug 26370: Add ability to disable demagnetizing items via SIP2 for arbitrary patron...
Kyle M Hall [Tue, 11 May 2021 11:51:45 +0000 (07:51 -0400)]
Bug 26370: Add ability to disable demagnetizing items via SIP2 for arbitrary patron categories

Some libraries have certain patron categories that can only do in house checkouts via SIP self check machines.
In these cases, the items should not be demagnetized since the items cannot leave the library.

Test Plan:
1) Apply this patch
2) prove t/db_dependent/SIP/Message.t

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2 years agoBug 30237: DBRev 21.12.00.034
Fridolin Somers [Wed, 20 Apr 2022 15:06:12 +0000 (05:06 -1000)]
Bug 30237: DBRev 21.12.00.034

Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2 years agoBug 9097: Add option to manually send welcome email
Martin Renvoize [Tue, 8 Mar 2022 16:43:01 +0000 (16:43 +0000)]
Bug 9097: Add option to manually send welcome email

This patch adds a new 'Send welcome email' option to the 'More' dropdown
menu in the patrons toolbar.

Clicking the button will queue the welcome email again for the patron and
redirect the user to the Notices tab to view it's contents.

Signed-off-by: Kelly McElligott <kelly@bywatersolutions.com>
Signed-off-by: Jessie Zairo <jzairo@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2 years agoBug 30237: (QA follow-up) Spelling
Marcel de Rooy [Fri, 15 Apr 2022 09:26:53 +0000 (09:26 +0000)]
Bug 30237: (QA follow-up) Spelling

Thankyou => Thank you
No thanks ;)

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2 years agoBug 30237: (follow-up) Make LibraryName conditional
Martin Renvoize [Mon, 11 Apr 2022 14:13:49 +0000 (15:13 +0100)]
Bug 30237: (follow-up) Make LibraryName conditional

It's easy to forget to set the LibraryName preference.. as such we can
make this a conditional and fall back to a default of 'the library'.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2 years agoBug 30237: Add a note about WELCOME notice to system preference
Martin Renvoize [Mon, 11 Apr 2022 14:00:39 +0000 (15:00 +0100)]
Bug 30237: Add a note about WELCOME notice to system preference

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2 years agoBug 30237: (follow-up) Add french sample notice
Martin Renvoize [Mon, 11 Apr 2022 13:55:48 +0000 (14:55 +0100)]
Bug 30237: (follow-up) Add french sample notice

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2 years agoBug 30237: (follow-up) Update Notice
Martin Renvoize [Mon, 11 Apr 2022 13:52:51 +0000 (14:52 +0100)]
Bug 30237: (follow-up) Update Notice

This patch updates the sample notice as suggested by Katrin.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2 years agoBug 30237: Replace AutoEmailOpacUser with AutoEmailNewUser
Martin Renvoize [Tue, 8 Mar 2022 16:15:52 +0000 (16:15 +0000)]
Bug 30237: Replace AutoEmailOpacUser with AutoEmailNewUser

This patch replaces the AutoEmailOpacUser system preference with a new
AutoEmailNewUser preference. This makes the functionof the preference
clearer.

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2 years agoBug 30237: Reference new WELCOME notice
Martin Renvoize [Tue, 8 Mar 2022 13:42:38 +0000 (13:42 +0000)]
Bug 30237: Reference new WELCOME notice

This patch updates all references to the former ACCTDETAILS notice to
use the new WELCOME email notice instead.

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2 years agoBug 30237: Replace ACCDETAILS notice with WELCOME notice
Martin Renvoize [Tue, 8 Mar 2022 16:01:44 +0000 (16:01 +0000)]
Bug 30237: Replace ACCDETAILS notice with WELCOME notice

This patch drops the ACCDETAILS notice in preference to a new WELCOME
notice.

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2 years agoBug 29005: Unit tests
Martin Renvoize [Wed, 2 Mar 2022 14:18:55 +0000 (14:18 +0000)]
Bug 29005: Unit tests

Add a unit test for the additional functionality of sending welcome
emails from Koha::Patrons::Import.

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2 years agoBug 29005: Add support for the command line script
Martin Renvoize [Wed, 2 Mar 2022 13:41:16 +0000 (13:41 +0000)]
Bug 29005: Add support for the command line script

This patch adds welcome email for new users support to the command line
patron import tool.

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2 years agoBug 29005: Add option to send welcome email from patron imports
Martin Renvoize [Fri, 1 Oct 2021 09:40:50 +0000 (10:40 +0100)]
Bug 29005: Add option to send welcome email from patron imports

This patch adds the ability to send the ACCTDETAILS notice for new users
added using the patron import tool.

Test plan
1. Create a valid csv for patron import that includes some new users,
   ensuring you add a valid email address for which you have access.
2. Import the users using the patron import tool and select the new
   'Send email to new patrons' checkbox.
3. Check that the notice appears in the new patrons notices
4. Check that you received a welcome email for the user.

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2 years agoBug 29420: HTTP status code incorrect when calling error pages directly under Plack...
David Cook [Wed, 1 Dec 2021 01:31:27 +0000 (01:31 +0000)]
Bug 29420: HTTP status code incorrect when calling error pages directly under Plack/PSGI

The error pages wrote a HTTP status code of 200 for all PSGI requests, even
though it should have only done it for PSGI requests from the ErrorDocument
middleware. This patch fixes that.

0) Do not apply patch
1) Open F12 dev tools and go to Network tab
2) Go to http://localhost:8081/files/blah
3) Note that the webpage is a 404 error but HTTP status code is 200
4) Go to http://localhost:8081/cgi-bin/koha/circ/blah
5) Note that the webpage is a 404 error and HTTP status code is 404

6) Apply patch
7) Go to http://localhost:8081/files/blah
8) Note that the webpage is a 404 error and HTTP status code is 404
9) Go to http://localhost:8081/cgi-bin/koha/circ/blah
10) Note that the webpage is a 404 error and HTTP status code is 404

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2 years agoBug 27631: (RM follow-up) Fix missing h1 to div
Fridolin Somers [Wed, 20 Apr 2022 14:47:34 +0000 (04:47 -1000)]
Bug 27631: (RM follow-up) Fix missing h1 to div

Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2 years agoBug 27631: Compiled CSS
Fridolin Somers [Wed, 20 Apr 2022 14:36:00 +0000 (04:36 -1000)]
Bug 27631: Compiled CSS

Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2 years agoBug 27631: (follow-up) Various corrections
Owen Leonard [Tue, 1 Mar 2022 15:22:55 +0000 (15:22 +0000)]
Bug 27631: (follow-up) Various corrections

This patch addresses issues found during QA:

- Double headings (patron details page)
- Inconsistent heading position (check out, patron accounting)
- Missing headings when there is no data (Library EANs, Item search
  fields, MARC modification templates).
- Typo: Z19.50 => Z39.50
- Reword "Classification sources" heading: "Classification
  configuration"

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2 years agoBug 27631: (follow-up) Modify logo CSS to give better alignment
Owen Leonard [Mon, 8 Nov 2021 12:57:41 +0000 (12:57 +0000)]
Bug 27631: (follow-up) Modify logo CSS to give better alignment

This patch modifies the CSS of the Koha logo and its container so that
it more closely matches the previous version and so that alignment is
handled better at various browser widths.

To test, apply the patch and build the staff interface CSS
(https://wiki.koha-community.org/wiki/Working_with_SCSS_in_the_OPAC_and_staff_client).

Check various pages in the staff interface to confirm that the position
of the Koha logo is correct. Adjust your browser width to confirm that
the alignment adapts at narrow widths.

Test also on pages where the header search form can be expanded, e.g.
Patrons -> [+] to expand search options. Or Acquisitions -> Orders
search -> [+]. Confirm that logo alignment is correct on these pages
too.

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2 years agoBug 27631: (follow-up) Some minor corrections
Owen Leonard [Thu, 30 Sep 2021 15:57:32 +0000 (15:57 +0000)]
Bug 27631: (follow-up) Some minor corrections

This patch makes some corrections to issues found during testing:

Some duplicate headings, a markup error in labeledMARCdetail.tt, a
change of the transfers heading from "Branch transfers" to "Item
transfers."

This patch also undoes the changes to the position of the toolbar on
several pages. I think those changes don't belong in this bug.

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2 years agoBug 27631: (follow-up) circ/branchtransfers.tt
Wainui Witika-Park [Wed, 2 Jun 2021 08:44:35 +0000 (08:44 +0000)]
Bug 27631: (follow-up) circ/branchtransfers.tt

Changed file to have one <h1> tag showing that describes the page,
rather than the <h1> around the logo.

The hierarchy of other heading tags may be wrong, but this will be
dealt with in an additional bug.

To test:
1) Go to the Staff Client
2) Apply patch
3) Go to circ/branchtransfers and check that it has an obvious and
   descriptive heading
4) Ensure that the heading is <h1>

Sponsored-by: Catalyst IT
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2 years agoBug 27631: (follow-up) reports/guided_reports_start.tt
Wainui Witika-Park [Tue, 1 Jun 2021 04:40:40 +0000 (04:40 +0000)]
Bug 27631: (follow-up) reports/guided_reports_start.tt

Changed file to have one <h1> tag showing that describes the page,
rather than the <h1> around the logo.

The hierarchy of other heading tags may be wrong, but this wil be dealt
with in an additional bug.

To test:
1) Go to the Staff Client
2) Apply patch
3) Go to reports/guided_reports_start and check that it has an obvious
   and descriptive heading
4) Ensure that the heading is <h1>

Sponsored-by: Catalyst IT
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2 years agoBug 27631: (follow-up) tools/marc_modification_templates.tt
Wainui Witika-Park [Fri, 28 May 2021 03:33:22 +0000 (03:33 +0000)]
Bug 27631: (follow-up) tools/marc_modification_templates.tt

Changed file to have one <h1> tag showing that describes the page,
rather than the <h1> around the logo.

The hierarchy of other heading tags may be wrong, but this will be
dealt with in an additional bug.

To test:
1) Go to the Staff Client
2) Apply patch
3) Go to tools/marc_modification_templates and check that it has an
   obvious and descriptive heading
4) Ensure that the heading is <h1>

Sponsored-by: Catalyst IT
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2 years agoBug 27631: (follow-up) course_reserves/course-details.tt
Wainui Witika-Park [Mon, 24 May 2021 15:08:11 +0000 (15:08 +0000)]
Bug 27631: (follow-up) course_reserves/course-details.tt

Changed file to have one <h1> tag showing that describes the page,
rather than the <h1> around the logo.

The hierarchy of other heading tags may be wrong, but this will be
dealt with in an additional bug.

To test:
1) Go to the Staff Client
2) Apply patch
3) Go to course_reserves/course-details and check that it has an obvious
   and descriptive heading
4) Ensure that the heading is <h1>

Sponsored-by: Catalyst IT
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2 years agoBug 27631: admin folder
Wainui Witika-Park [Mon, 19 Apr 2021 05:31:07 +0000 (05:31 +0000)]
Bug 27631: admin folder

Changed each of the pages in the admin folder to have one <h1> tag
showing that describes the page, rather than the <h1> describing the
logo.

The hierarchy of heading tags may be broken in many pages, but this
will be dealt with in an additional bug.

To test:
1) Go to the Staff Client
2) Apply patch
3) Go to each of the pages in the admin folder and check that they have
   an obvious and descriptive heading
4) Ensure that the heading in the page is <h1>

Sponsored-by: Catalyst IT
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2 years agoBug 27631: Hidden <h1> on intranet-main.tt
Wainui Witika-Park [Wed, 14 Apr 2021 02:58:19 +0000 (02:58 +0000)]
Bug 27631: Hidden <h1> on intranet-main.tt

This patch visually hides a <h1> on intranet-main.tt so that the
heading is available to be read out by screenreaders in the summary of
headings on the page.

Test plan:

1) Ensure the <h1> "Koha home" heading on the staff client main/home
   page is hidden visually, but in the source code you can see it

Sponsored-by: Catalyst IT
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2 years agoBug 27631: acqui folder
Wainui Witika-Park [Mon, 5 Apr 2021 21:50:20 +0000 (21:50 +0000)]
Bug 27631: acqui folder

Changed each of the pages in the acqui folder to have one <h1> tag
showing that describes the page, rather than the <h1> describing the
logo.

The hierarchy of heading tags may be broken in many pages, but this
will be dealt with in an additional bug.

To test:
1) Go to the Staff Client
2) Apply patch
3) Go to each of the pages in the acqui folder and check that they have
   an obvious and descriptive heading
4) Ensure that the heading in the page is <h1>

Sponsored-by: Catalyst IT
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2 years agoBug 27631: cataloguing folder
Wainui Witika-Park [Tue, 13 Apr 2021 22:41:11 +0000 (22:41 +0000)]
Bug 27631: cataloguing folder

Changed each of the pages in the cataloguing folder to have one <h1>
tag showing that describes the page, rather than the <h1> describing the
logo.

The hierarchy of heading tags may be broken in many pages, but this will
be dealt with in an additional bug.

To test:
1) Go to the Staff Client
2) Apply patch
3) Go to each of the pages in the cataloguing folder and check that they
   have an obvious and descriptive heading
4) Ensure that the heading in the page is <h1>

Sponsored-by: Catalyst IT
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2 years agoBug 27631: reports and serials folders
Wainui Witika-Park [Mon, 5 Apr 2021 09:34:34 +0000 (09:34 +0000)]
Bug 27631: reports and serials folders

Changed each of the pages in the reports and serials folders to
have one <h1> tag showing that describes the page, rather than the <h1>
describing the logo.

The hierarchy of heading tags may be broken in many pages, but this
will be dealt with in an additional bug.

To test:
1) Go to the Staff Client
2) Apply patch
3) Go to each of the pages in the reports and serials folders and
   check that they have an obvious and descriptive heading
4) Ensure that the heading in the page is <h1>

Sponsored-by: Catalyst IT
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2 years agoBug 27631: tools and virtualshelves folders
Wainui Witika-Park [Mon, 5 Apr 2021 09:46:17 +0000 (09:46 +0000)]
Bug 27631: tools and virtualshelves folders

Changed each of the pages in the tools and virtualshelves folders to
have one <h1> tag showing that describes the page, rather than the <h1>
describing the logo.

The hierarchy of heading tags may be broken in many pages, but this
will be dealt with in an additional bug.

To test:
1) Go to the Staff Client
2) Apply patch
3) Go to each of the pages in the tools and virtualshelves folders and
   check that they have an obvious and descriptive heading
4) Ensure that the heading in the page is <h1>

Sponsored-by: Catalyst IT
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2 years agoBug 27631: catalogue and tags folders
Wainui Witika-Park [Wed, 7 Apr 2021 01:23:49 +0000 (01:23 +0000)]
Bug 27631: catalogue and tags folders

Changed each of the pages in the catalogue and tags folders to have one
<h1> tag showing that describes the page, rather than the <h1>
describing the logo.

The hierarchy of heading tags may be broken in many pages, but this
will be dealt with in an additional bug.

To test:
1) Go to the Staff Client
2) Apply patch
3) Go to each of the pages in the catalogue and tags folders and check
   that they have an obvious and descriptive heading
4) Ensure that the heading in the page is <h1>

Sponsored-by: Catalyst IT
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2 years agoBug 27631: offline_circ, patroncards, plugins, pos, reserve, rotating_collections...
Wainui Witika-Park [Mon, 5 Apr 2021 09:30:06 +0000 (09:30 +0000)]
Bug 27631: offline_circ, patroncards, plugins, pos, reserve, rotating_collections folders

Changed each of the pages in the offline_circ, patroncards, plugins,
pos, reserve, rotating_collections folders to have one <h1> tag showing
that describes the page, rather than the <h1> describing the logo.

The hierarchy of heading tags may be broken in many pages, but this
will be dealt with in an additional bug.

To test:
1) Go to the Staff Client
2) Apply patch
3) Go to each of the pages in the offline_circ, patroncards, plugins,
   pos, reserve, rotating_collections folders and check that they have
   an obvious and descriptive heading
4) Ensure that the heading in the page is <h1>

Sponsored-by: Catalyst IT
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2 years agoBug 27631: installer and onboarding folders
Wainui Witika-Park [Wed, 7 Apr 2021 01:24:13 +0000 (01:24 +0000)]
Bug 27631: installer and onboarding folders

Changed each of the pages in the installer and onboarding folders to
have one <h1> tag showing that describes the page, rather than the <h1>
describing the logo.

The hierarchy of heading tags may be broken in many pages, but this
will be dealt with in an additional bug.

To test:
1) Go to the Staff Client
2) Apply patch
3) Ensure that the page source shows logo inside <div> and not inside
   <h1>
4) Go to each of the pages in the installer and onboarding folders and
   check that they have an obvious and descriptive heading
5) Ensure that the heading in the page is <h1>

Sponsored-by: Catalyst IT
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2 years agoBug 27631: authorities, clubs, common, course_reserves folders
Wainui Witika-Park [Mon, 5 Apr 2021 08:52:33 +0000 (08:52 +0000)]
Bug 27631: authorities, clubs, common, course_reserves folders

Changed each of the pages in the authorities, clubs, common,
course_reserves folders to have one <h1> tag showing that describes
the page, rather than the <h1> describing the logo.

The hierarchy of heading tags may be broken in many pages, but this
will be dealt with in an additional bug.

To test:
1) Go to the Staff Client
2) Apply patch
3) Go to each of the pages in the authorities, clubs, common,
   course_reserves folders and check that they have an obvious and
   descriptive heading
4) Ensure that the heading in the page is <h1>

Sponsored-by: Catalyst IT
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2 years agoBug 27631: labels and members folders
Wainui Witika-Park [Mon, 19 Apr 2021 05:51:05 +0000 (05:51 +0000)]
Bug 27631: labels and members folders

Changed each of the pages in the labels and members folders to have one
<h1> tag showing that describes the page, rather than the <h1>
describing the logo.

The hierarchy of heading tags may be broken in many pages, but this
will be dealt with in an additional bug.

To test:
1) Go to the Staff Client
2) Apply patch
3) Go to each of the pages in the labels and members folders and check
   that they have an obvious and descriptive heading
4) Ensure that the heading in the page is <h1>

Sponsored-by: Catalyst IT
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2 years agoBug 27631: circ folder
Wainui Witika-Park [Mon, 19 Apr 2021 05:35:46 +0000 (05:35 +0000)]
Bug 27631: circ folder

Changed each of the pages in the circ folder to have one <h1> tag
showing that describes the page, rather than the <h1> describing the
logo.

The hierarchy of heading tags may be broken in many pages, but this
will be dealt with in an additional bug.

To test:
1) Go to the Staff Client
2) Apply patch
3) Go to each of the pages in the circ folder and check that they have
   an obvious and descriptive heading
4) Ensure that the heading in the page is <h1>

Sponsored-by: Catalyst IT
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2 years agoBug 27631: Changed <h1> around logo to <div>
Wainui Witika-Park [Mon, 19 Apr 2021 05:22:08 +0000 (05:22 +0000)]
Bug 27631: Changed <h1> around logo to <div>

To test:
1) Look at Staff Client and the logo
2) Apply patch
3) Check Koha logo moves to the middle of the page when zooming in
4) Ensure page source shows logo inside <div> and not <h1>

Sponsored-by: Catalyst IT
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2 years agoBug 25815: SIP Checkout: add more information on why the patron is blocked.
Matthias Meusburger [Thu, 17 Oct 2019 08:32:18 +0000 (10:32 +0200)]
Bug 25815: SIP Checkout: add more information on why the patron is blocked.

Currently, on SIP checkout, Koha only returns "Patron Blocked" when there is
a problem with the patron.

This patch adds more specific informations, with the following messages:

 - "Patron expired"
 - "Patron debarred"
 - "Patron has fines" (see system preference "noissuescharge")
 - "Patron blocked" (see system preference "OverduesBlockCirc")

Test plan:

 - Try to do a SIP checkout with a patron that is in one of the above situations.
 - Check that the displayed message matches the patron's situation.

Signed-off-by: Sonia <sonia.bouis@univ-lyon3.fr>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2 years agoBug 30223: Move book cover image upload JS to a separate file
Owen Leonard [Wed, 2 Mar 2022 16:12:05 +0000 (16:12 +0000)]
Bug 30223: Move book cover image upload JS to a separate file

This patch moves most of the JavaScript from upload-images.tt into a
separate file, upload-images.js. Functionality should be unchanged.

To test, apply the patch and go to Tools  -> Upload local cover image.

Test all the things:
 - Drag-and-drop upload
 - Click-to-browse upload;
 - Deleting existing images
 - Uploading a zip file

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2 years agoBug 30509: Fix configuration of Notices accordion widget
Owen Leonard [Mon, 11 Apr 2022 17:04:34 +0000 (17:04 +0000)]
Bug 30509: Fix configuration of Notices accordion widget

The jQueryUI upgrade broke the Accordion on the notices edit page. I'm
not sure why, but defining a "header" option in the accordion
configuration fixes it.

To test, apply the patch and test the notices edit page both with and
without TranslateNotices and multiple languages installed. In both cases
the different sections (Email, Print, SMS) should open and close
correctly.

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2 years agoBug 30540: Fix perl critic complaint of leading zeros
Nick Clemens [Thu, 14 Apr 2022 10:51:18 +0000 (10:51 +0000)]
Bug 30540: Fix perl critic complaint of leading zeros

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2 years agoBug 30540: eval on set_time_zone
Martin Renvoize [Thu, 14 Apr 2022 08:14:47 +0000 (09:14 +0100)]
Bug 30540: eval on set_time_zone

This patch adds an eval around the call to set_time_zone so that we
don't crash on invalid local dates and instead just keep the passed
floating timezone.

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2 years agoBug 30540: Unit test
Martin Renvoize [Thu, 14 Apr 2022 09:19:47 +0000 (10:19 +0100)]
Bug 30540: Unit test

This patch adds tests for checking the output_pref method against
a timezone and datetime that would cause an Invalid local time failure

To test:
1. Apply this patch
2. Run:
   $ kshell
   k$ prove t/DateUtils.t
=> FAIL: The feature is not implemented, tests fail to complete

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2 years agoBug 29483: Further improve performance of script
Nick Clemens [Fri, 19 Nov 2021 16:13:49 +0000 (16:13 +0000)]
Bug 29483: Further improve performance of script

This patch adds a few tests to cover more cases, and to highlight current functionality.

The script only allows renewal if all outstanding holds can be filled by available items.
This means we can return as soon as we have determined that not all holds can be filled.

I add FIXME and some explanatory comments - I will file a follow-up bug for those, but
I feel we can accept these improvements to the performance and deal with the issues
of how it 'should' work versus how it does work on another report.

To test:
1 - prove -v t/db_dependent/Circulation.t

Signed-off-by: Andrew Fuerste-Henry <andrew@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2 years agoBug 29483: Check ItemsAnyAvailableAndNotRestricted once per patron
Nick Clemens [Mon, 15 Nov 2021 13:54:00 +0000 (13:54 +0000)]
Bug 29483: Check ItemsAnyAvailableAndNotRestricted once per patron

ItemsAnyAvailableAndNotRestricted can take a long time and create nested loops.
We can check it once per patron, however, this requires us to flip the loops.
Since an item can only be used once, we now add a check to see if this item has already
been assigned to a borrower.

To test:
1 - Find or create a biblio with 100 items
2 - Place ten 'Next available' holds on a biblio
3 - Set preference 'AllowRenewalIfOtherItemsAvailable' to 'Allow'
    Set circ rules 'On shelf holds allowed' to 'If any unavailable'
4 - Checkout one of the items to a patron, backdated to be overdue
5 - Note a long loading time for the patron's checkouts
6 - Apply patch, restart_all
7 - Patron loads much faster

Signed-off-by: Andrew Fuerste-Henry <andrew@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2 years agoBug 29483: Unit tests
Nick Clemens [Thu, 18 Nov 2021 16:11:24 +0000 (16:11 +0000)]
Bug 29483: Unit tests

This patch updates the AllowRenewalIfOtherItemsAvailable tests to
remove deletion of all data, and create specific circ rules for this
test. It adjust several other tests that were relying on the rules from
this test, so thy too create their opwn specific rules.

Additionally, we add tests to cover the case of mutliple items on the record,
and some items cannot fill some reserves.

What is uncovered here is that the same patron is checked twice, so two holds can
be filled, but they only satisfy a single patron

Signed-off-by: Andrew Fuerste-Henry <andrew@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2 years agoBug 29602: (follow-up) fix duplicate, missing or mismatching <span>
Victor Grousset/tuxayo [Sat, 5 Feb 2022 20:43:04 +0000 (21:43 +0100)]
Bug 29602: (follow-up) fix duplicate, missing or mismatching <span>

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2 years agoBug 29602: (follow-up) fix crash: SET KohaSpan => USE KohaSpan
Victor Grousset/tuxayo [Fri, 4 Feb 2022 23:21:26 +0000 (00:21 +0100)]
Bug 29602: (follow-up) fix crash: SET KohaSpan => USE KohaSpan

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2 years agoBug 29602: (follow-up) Fix TT tags broken due to missing %
Victor Grousset/tuxayo [Fri, 4 Feb 2022 22:38:13 +0000 (23:38 +0100)]
Bug 29602: (follow-up) Fix TT tags broken due to missing %

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2 years agoBug 29602: (follow-up) Surround strings with span tag
Fridolin Somers [Wed, 15 Dec 2021 07:46:43 +0000 (21:46 -1000)]
Bug 29602: (follow-up) Surround strings with span tag

To be nicer with translators.

Update the PO files for whichever languages will show how this is useful.

Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net>
Rebased-by: Victor Grousset/tuxayo <victor@tuxayo.net>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2 years agoBug 29602: Surround strings with span tag
Jonathan Druart [Tue, 30 Nov 2021 13:54:15 +0000 (14:54 +0100)]
Bug 29602: Surround strings with span tag

To be nicer with translators.

Update the PO files for whichever languages will show how this is
useful.

Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net>
Rebased-by: Victor Grousset/tuxayo <victor@tuxayo.net>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2 years agoBug 30435: Remove unused MACLES cataloging plugin
Owen Leonard [Fri, 1 Apr 2022 15:20:47 +0000 (15:20 +0000)]
Bug 30435: Remove unused MACLES cataloging plugin

This patch removes the files associated with the MACLES cataloging
plugin. The feature is unmaintained.

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: Fridolin Somers <fridolin.somers@biblibre.com>
2 years agoBug 30518: Correct DateTime maths for needs_advancing
Martin Renvoize [Wed, 13 Apr 2022 07:24:22 +0000 (08:24 +0100)]
Bug 30518: Correct DateTime maths for needs_advancing

The needs_advancing method prior to this patch used basic DateTime
arithmatic, adding a DateTime::Duration in Days to the Arrival date of
the item and then comparing that to today. This, however, can cause bugs
when the arrival + duration date coincides with a DST boundary and as
such may result in an invalid local date.  See
https://metacpan.org/pod/DateTime#Making-Things-Simple for further
details.

This patch updates the code to use the DST safe delta_days method to
count the days between arrival and now instead and then compares this
integer to the defined duration of the stage.

To test:
1. Re-run the unit tests, they should now pass.

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2 years agoBug 30518: Unit test
Martin Renvoize [Wed, 13 Apr 2022 07:52:02 +0000 (08:52 +0100)]
Bug 30518: Unit test

This patch adds tests for checking the needs_advancing method against
a timezone and datetime that would cause an Invalid local time failure

To test:
1. Apply this patch
2. Run:
   $ kshell
   k$ prove t/db_dependent/StockRotationItems.t
=> FAIL: The feature is not implemented, tests fail to complete

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2 years agoBug 30488: Fix error when placing recall via OPAC
Aleisha Amohia [Thu, 7 Apr 2022 22:17:18 +0000 (22:17 +0000)]
Bug 30488: Fix error when placing recall via OPAC

This error occurs due to how UpdateStats is called in Koha/Recalls.pm

To test:
1) Enable the UseRecalls system preference and set some random values in
the recalls circulation and fines rules.
2) Find or create an item. Check this item out to Patron A.
3) Log in to the OPAC as Patron B.
4) Find the item you checked out to Patron A. Click the button to place
a recall.
5) Fill out whatever details you like. Click the Submit button. This
should trigger the error.
6) Apply the patch and refresh the page.
7) Confirm the recall has now been requested successfully.

Sponsored-by: Catalyst IT
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2 years agoBug 30410: (follow-up) Instantiate object in unit test
Martin Renvoize [Tue, 19 Apr 2022 07:30:56 +0000 (08:30 +0100)]
Bug 30410: (follow-up) Instantiate object in unit test

This patch updates the unit test for the BackgroundJob->_derived_class()
private method to instantiate a proper object to work on instead of
calling the type_to_class_mapping method directly as non-object method.

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2 years agoBug 30135: (follow-up) Rename accessor in failing test
Martin Renvoize [Thu, 14 Apr 2022 09:44:36 +0000 (10:44 +0100)]
Bug 30135: (follow-up) Rename accessor in failing test

We renamed the LSQ seqment accessor from 'collection_code' to
'sequenece_code' to more clearly reflect the EDI segment name instead of
the Koha field we had mapped it to. (Especially as that mapping is not
optionally to ccode or location).

However, I forgot to update the corresponding test. This patch does that
update.

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2 years agoBug 29810: Fix patron embed definitions
Tomas Cohen Arazi [Wed, 13 Apr 2022 20:11:27 +0000 (17:11 -0300)]
Bug 29810: Fix patron embed definitions

Due to a race and a bad rebase, the patrons embeds added on bug 30063
didn't get copied to the parameters secition, thus breaking embedding.

To test:
1. In master, open the patron search page and the inspector
2. Perform a search
=> FAIL: No results
=> FAIL: There's an error 500 in the API response, mentioning embedding
is not allowed
3. Apply this patch
4. Restart all
6. Repeat 2
=> SUCCESS: Results are back!
=> SUCCESS: No more API errors
7. Sign off :-D

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2 years agoBug 30410: (QA follow-up) Only fetch plugins mapping once
Kyle Hall [Mon, 11 Apr 2022 17:02:26 +0000 (13:02 -0400)]
Bug 30410: (QA follow-up) Only fetch plugins mapping once

Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2 years agoBug 30410: (QA follow-up) Pluralise new methods, fix minor issues with language
Kyle Hall [Mon, 11 Apr 2022 14:33:24 +0000 (10:33 -0400)]
Bug 30410: (QA follow-up) Pluralise new methods, fix minor issues with language

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2 years agoBug 30410: Add a way for plugins to expose tasks they implement
Tomas Cohen Arazi [Thu, 31 Mar 2022 15:33:21 +0000 (17:33 +0200)]
Bug 30410: Add a way for plugins to expose tasks they implement

This patch implements a mechanism for plugins to tell Koha they
implement background jobs, by returning a mapping

```
    task => class
```

* _task_ is a string that will be used when queueing new tasks, to let
  the workers know which class to instantiate to launch the job (a.k.a.
  process).

* _class_ is a string for a class name.

For this to  work, plugins need to include the 'namespace' attribute in
their metadata. If they don't, they will be skipped when listing the
valid _background jobs_.

After this, high-level methods for letting plugins (easily) enqueue
their tasks will be provided.

To test:
1. Apply this patch
2. Run:
   $ kshell
  k$ prove t/db_dependent/Koha/Plugins/BackgroundJob.t
=> SUCCESS: Tests pass!
3. Sign off :-D

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2 years agoBug 30410: Unit tests
Tomas Cohen Arazi [Thu, 31 Mar 2022 15:32:40 +0000 (17:32 +0200)]
Bug 30410: Unit tests

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2 years agoBug 27783: DBRev 21.12.00.033
Fridolin Somers [Wed, 13 Apr 2022 13:01:13 +0000 (15:01 +0200)]
Bug 27783: DBRev 21.12.00.033

Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2 years agoBug 27783: DBIC update
Tomas Cohen Arazi [Mon, 4 Apr 2022 17:50:57 +0000 (19:50 +0200)]
Bug 27783: DBIC update

Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2 years agoBug 27783: (follow-up) Rename options
Martin Renvoize [Mon, 11 Apr 2022 15:10:49 +0000 (16:10 +0100)]
Bug 27783: (follow-up) Rename options

Why require `job_`.. it's easiery to just use 'queue' and we have 'job'
from the context of the script we're calling.  This also inproves
consistency between the debian commands and the script params.

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2 years agoBug 27783: (QA follow-up) Make dbrev executable
Kyle M Hall [Mon, 11 Apr 2022 14:09:24 +0000 (14:09 +0000)]
Bug 27783: (QA follow-up) Make dbrev executable

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2 years agoBug 27783: Add queue handling in packaging tools
Tomas Cohen Arazi [Mon, 4 Apr 2022 18:23:09 +0000 (20:23 +0200)]
Bug 27783: Add queue handling in packaging tools

This patch adds queue name handling in is_worker_running and a handy
method to centralize process name handling for queue-specific workers.

To test:
1. Apply this patch
2. Run:
   $ source debian/scripts/koha-functions.sh
   $ get_worker_name kohadev
   kohadev-koha-worker
=> SUCCESS: Default queue means no queue name included
   $ get_worker_name kohadev default
   kohadev-koha-worker
=> SUCCESS: Default queue means no queue name included
   $ get_worker_name kohadev long_tasks
   kohadev-koha-worker-long_tasks
=> SUCCESS: Queue name appended to the name
4. Run:
   $ perl misc4dev/cp_debian_files.pl \
              --koha_dir /kohadevbox/koha \
              --gitify /kohadevbox/gitify \
              --instance kohadev
5. Run:
   $ koha-worker --start --queue oleonard kohadev
=> SUCCESS: Starts!
6. Check:
   $ ps waux | grep oleonard
=> SUCCESS: It is running
7. Play with --stop, --restart, --status and different queue names,
   including 'default' and without the --queue param as well.
=> SUCCESS: All as expected!
8. Sign off :-D

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2 years agoBug 27783: (QA follow-up) Make dbrev idempotent
Tomas Cohen Arazi [Sat, 2 Apr 2022 10:58:25 +0000 (12:58 +0200)]
Bug 27783: (QA follow-up) Make dbrev idempotent

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2 years agoBug 27783: Rename queues and adjust currently defined jobs
Tomas Cohen Arazi [Fri, 1 Apr 2022 11:56:09 +0000 (13:56 +0200)]
Bug 27783: Rename queues and adjust currently defined jobs

This patch renames the queues so the default is the **real-time** one, and
the other (*long_tasks*) is kept for **long running** tasks.

All current *batch* tasks are explicitly assigned to the **long_tasks**
queue as well.

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2 years agoBug 27783: (follow-up) Add DB change to installer
Martin Renvoize [Wed, 30 Mar 2022 15:29:17 +0000 (16:29 +0100)]
Bug 27783: (follow-up) Add DB change to installer

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>