koha.git
3 years agoBug 24807: Simplify with new and imporved value_callbacks
David Gustafsson [Mon, 20 Apr 2020 11:03:24 +0000 (13:03 +0200)]
Bug 24807: Simplify with new and imporved value_callbacks

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 24807: Refactor using tokenize_callbacks
David Gustafsson [Thu, 16 Apr 2020 15:26:41 +0000 (17:26 +0200)]
Bug 24807: Refactor using tokenize_callbacks

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 24807: Add suppport for uncertain fields and ranges
Nick Clemens [Wed, 8 Apr 2020 09:55:20 +0000 (09:55 +0000)]
Bug 24807: Add suppport for uncertain fields and ranges

To test:
1 - Have some records with uncertain dates in the 008
    19uu, 195u, etc.
2 - Index them in Elasticsearch
3 - Do a search that will return them
4 - Sort results by publication/copyright date
5 - Note odd results
6 - Apply patch
7 - Reindex
8 - Sorting should be improved

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 24807: Update tests
David Gustafsson [Thu, 16 Apr 2020 12:51:13 +0000 (14:51 +0200)]
Bug 24807: Update tests

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 24807: Add database update script
David Gustafsson [Thu, 5 Mar 2020 10:35:32 +0000 (11:35 +0100)]
Bug 24807: Add database update script

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 24807: Add "year" type to improve sorting behaviour
David Gustafsson [Wed, 4 Mar 2020 16:07:11 +0000 (17:07 +0100)]
Bug 24807: Add "year" type to improve sorting behaviour

Add a "year" search field type. Fields with this type will only
retain values that looks like years, so invalid values such as
whitespace or word characters will not be indexed.
This for instance improves the behaviour when sorting by
"date-of-publication". If all values are indexed, records with
junk data instead of valid years will appear first among the search
results, drowning out more relevant hits. If assigning this field
the "year" type these records will instead always appear last,
regarless of sort order.

To test:

1) Have at least two biblios, one with a valid year in 008 (pos 7-10)
and another with an invalid one ("uuuu" for example)
2) Perform a wildcard search (*) and sort results by publication date.
3) The record with invalid year of pulication in 008 should appear first
4) Apply patch and run database updates
5) Reindex ElasticSearch
6) Perform the same search as in 2)
7) The record with the invalid year should now appear last

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 25744: replace <b> with <strong> in the staff interface
Lucas Gass [Thu, 6 Aug 2020 18:21:52 +0000 (18:21 +0000)]
Bug 25744: replace <b> with <strong> in the staff interface

This patch set attempts to replace all the <i> tags with <em> and all
the <b> tags with <strong> in the staff interface.
I attempted to get all the templates, includes, and xslt files.

To test:

1. Review the changes as best as possible, looking for mistakes.
2. grep for <i> and <b> in the modules, includes, and xslt folders. You should get nothing/
3. If you grep '<\/i>' you should only see instances of Font Awesome.
4. If you grep '<\/b>' you should only see instances where caret is used.

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Julian Maurice <julian.maurice@biblibre.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 25744: Replace <i> with <em> in staff interface
Lucas Gass [Thu, 6 Aug 2020 17:29:54 +0000 (17:29 +0000)]
Bug 25744: Replace <i> with <em> in staff interface

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Julian Maurice <julian.maurice@biblibre.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 26049: Replace li with span class results_summary in UNIMARC intranet XSLT
Fridolin Somers [Thu, 23 Jul 2020 08:21:36 +0000 (10:21 +0200)]
Bug 26049: Replace li with span class results_summary in UNIMARC intranet XSLT

In all XSLT for record display, fields are created with <span class="results_summary> except in UNIMARC intranet where there is just <li>.

This allows a better CSS customisation and closer code in files for OPAC and intranet.

Actually li gets diplayed with a dot at each line, we don't want this.

Test plan :
1) For each modified file run 'xsltproc file.xsl' and see there is no
   error
2) Use default XSLT in all system preferences
3) Perform a search and check display with and without patch
4) Click on a record to see details and check display with and without patch

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 26262: (follow-up) Fix course details page, default configuration
Owen Leonard [Mon, 31 Aug 2020 12:33:19 +0000 (12:33 +0000)]
Bug 26262: (follow-up) Fix course details page, default configuration

Bug 25287 changed the default DataTable configuration in the OPAC so
that tables are paginated by default. This is inconsistent with the way
we currently use DataTables in the OPAC, and the change was probably
unintentional. This patch returns the default pagination configuration
to what it was before: Off.

The patch also updates opac-course-details.tt with the same DOM
configuration as opac-course-reserves.tt.

To test, apply the patch and view the list of course reserves and the
list of titles attached to a course. In both cases there should be no
pagination controls, and the tables should show all results.

Signed-off-by: Alexis Ripetti <alexis.ripetti@inLibro.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 26262: Remove wrong dom setting in course reserves (OPAC)
Tomas Cohen Arazi [Wed, 26 Aug 2020 15:41:47 +0000 (12:41 -0300)]
Bug 26262: Remove wrong dom setting in course reserves (OPAC)

The current setting required pagination to be displayed. This was hidden
probably as a side effect of styling settings. But the docs are clear on
the fact that p and l are intended for displaying pagination controls
and table rows lenght information [1]

As the course reserves datatable is not paginated, this needs to be
fixed properly by removing those controls in the configuration. This
patch does so.

To test:
1. Have some course reserves
2. See them in the OPAC
=> FAIL: Some funky, misaligned pagination artifacts are displayed
3. Apply this patch and reload
=> SUCCESS: Things are back to normal!
4. Sign off :-D

[1] https://datatables.net/examples/basic_init/dom.html

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 26301: Use CanBookBeRenewed when renewing via self-checkout
David Cook [Wed, 26 Aug 2020 07:35:36 +0000 (07:35 +0000)]
Bug 26301: Use CanBookBeRenewed when renewing via self-checkout

Currently, if you have OverduesBlockCirc set to "Ask for confirmation"
and OverduesBlockRenewing set to "allow renewing", you get caught
in a loop where you can never renew an overdue material.

This patch uses CanBookBeRenewed for renewals, rather than CanBookBeIssued,
which means the correct rules are applied to the correct scenario.

To test:

a. Set OverduesBlockCirc to "Ask for confirmation"
b. Ensure "OverduesBlockRenewing" set to "allow renewing"
0. Apply the patch
1. Checkin item barcode 3999900000001
2. Go to http://localhost:8081/cgi-bin/koha/circ/circulation.pl?borrowernumber=51
3. Checkout item barcode 3999900000001 to 1 year ago
4. Go to http://localhost:8080/cgi-bin/koha/sco/sco-main.pl
5. Login as the "koha" user
6. Click on "Renew item"
7. Note that the item is renewed

8. Checkin item barcode 3999900000001
9. Go to http://localhost:8081/cgi-bin/koha/circ/circulation.pl?borrowernumber=51
10. Checkout item barcode 3999900000001 to 1 year ago
11. Go to http://localhost:8080/cgi-bin/koha/sco/sco-main.pl
12. Login as the "koha" user
13. Type "3999900000001" into the box under "Scan a new item or enter its barcode"
14. Click "Submit"
15. Note the system says the item is already checked out and it prompts
you to click "Renew item" in this screen
16. Click "Renew item"
17. Note the system says "Item renewed" near the top of the screen, and the "Due"
date near the bottom of the screen is more recent than the original due date

18. Checkin item barcode 3999900000001
19. Go to http://localhost:8080/cgi-bin/koha/sco/sco-main.pl
20. Login as the "koha" user
21. Type "3999900000001" into the box under "Scan a new item or enter its barcode"
22. Click "Submit"
23. Note the system says "Item checked out" and the item appears in the checkouts
at the bottom of the screen

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 26435: (QA follow-up) Terminology: Fix some more borrowers in other preferences
Katrin Fischer [Sat, 12 Sep 2020 17:53:26 +0000 (17:53 +0000)]
Bug 26435: (QA follow-up) Terminology: Fix some more borrowers in other preferences

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 26435: (QA follow-up) Fix terminology: borrower to patron in new hint
Katrin Fischer [Sat, 12 Sep 2020 17:51:52 +0000 (17:51 +0000)]
Bug 26435: (QA follow-up) Fix terminology: borrower to patron in new hint

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 26435: Add warning to AutoSelfCheck sysprefs
Andrew Fuerste-Henry [Fri, 11 Sep 2020 15:39:53 +0000 (15:39 +0000)]
Bug 26435: Add warning to AutoSelfCheck sysprefs

To test:
1- apply patch, restart
2- look up AutoSelfCheck sysprefs
3- confirm new note in description

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 26460: Fix line ending in JSON
Nick Clemens [Mon, 14 Sep 2020 17:44:36 +0000 (17:44 +0000)]
Bug 26460: Fix line ending in JSON

Wrong line ending in JSON causes error:
Uncaught SyntaxError: missing } after property list
note: { opened at line 29579, column 15

To test:
1 - Have a title with some items not for hold in staff interface
2 - Set AllowHoldPolicyOverride to 'Allow'
3 - Attempt to place hold on the title
4 - Note JS error in the console and datatable does not load for items
5 - Apply patch
6 - Reload
7 - Error is cleared, table loads correctly

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 25969: Don't set itemnumber as reserve->itemnumber
Nick Clemens [Fri, 4 Sep 2020 16:16:27 +0000 (16:16 +0000)]
Bug 25969: Don't set itemnumber as reserve->itemnumber

When a hold is checked in at the wrong destination we revert the found status
For a title level hold this means we return it to a title level hold, with no itemnumber

When we checkin the item we find the hold, but won't set the itemnumber in the hold until it is confirmed

In the script we were setting the itemnumber param, but then setting it again using the reserve itemnumber.
In all conditions before the itemnumber has been set, we don't need to set it again, especially when we do
so incorrectly

To test:
- Log in at Library A
- Place hold on item at Library A, for pickup at Library A
- Check item in at Library A
- Click "Confirm hold"
- Set library to Library B
- Check item in again (try with both the box on reutrns.pl and the box in the header)
- Click "Confirm hold and transfer"
- get error: Can't call method "biblio" on an undefined value at /kohadevbox/koha/circ/returns.pl line 147
- apply patch
- repeat
- success!
- confirm trappings of holds works as normally otherwise too

Signed-off-by: Daniel Gaghan <daniel.gaghan@pueblolibrary.org>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 25969: Checking in a found hold at a different branch then confirming the hold...
Kyle M Hall [Thu, 9 Jul 2020 18:36:31 +0000 (14:36 -0400)]
Bug 25969: Checking in a found hold at a different branch then confirming the hold causes internal server error

If a record level hold is filled and waiting at Library A, and the item
is checked in at Library B, and an attempt is made to re-fill the hold
with the item, Koha will return an ISE.

Test Plan:
1) Place a hold for Library A, at Library A, for pickup at Library A
2) Check in the item at Library A and fill the hold so it is waiting at Library A
3) Log in as Library B, check in the same barcode
4) Note the request to fill the hold with the item
5) Choose to fill the hold
6) Note you get an internal server error
7) Apply this patch
8) Restart all the things!
9) Repeat steps 1-5
10) No ISE!

Signed-off-by: Daniel Gaghan <daniel.gaghan@pueblolibrary.org>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 26420: Use translated notices for overdue_notices.pl
Jonathan Druart [Thu, 10 Sep 2020 07:42:58 +0000 (09:42 +0200)]
Bug 26420: Use translated notices for overdue_notices.pl

This script does not pass the patron's preferred lang for notices.

Test plan:
Enable TranslateNotices
Create a patron with a preferred lang for notices != default
Translate ODUE for this language
Setup the overdue notices for this patron's category
Check an item out for this patron (select the correct due date to
trigger the notice)
Run the script overdue_notices.pl
Check the message_queue table and confirm that the notice enqueued is
translated

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 26269: Fix variable name mismatch for cash_register in paycollect
Martin Renvoize [Wed, 16 Sep 2020 10:02:22 +0000 (11:02 +0100)]
Bug 26269: Fix variable name mismatch for cash_register in paycollect

It appears that through various rebases the variable names in the form
and the controller script have become mismatched.  This patch corrects
the situation and clarifies their intended use.

Test plan:
1/ Turn on cash registers in sysprefs
2/ Define at least 2 cash registers in Admin
3/ Create a manual invoice on a patron
4/ Pay off half of your fee, selecting the first register
5/ Pay off the remaining fee, selecting the second register
6/ Query accountlines.register_id for your two payments
8/ Confirm the two accountlines.register_id's do not match (thus the
passed variable was used)

https://bugs.koha-community.org/show_bug.cgi?id=26469

Signed-off-by: Jessie Zairo <jzairo@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 26470: Store the item before calling the after action hook
Tomas Cohen Arazi [Tue, 15 Sep 2020 19:23:05 +0000 (16:23 -0300)]
Bug 26470: Store the item before calling the after action hook

This patch makes Koha::Item->store call $self->SUPER::store before
calling the hook, so things like the itemnumber (AUTO_INCREMENT field)
are available to the plugin hook.

It does so by storing the output on a temporary variable, to keep the
current behaviour of just returning the output from SUPER::store.

To test:
1. Apply the regression tests patch
2. Run:
   $ kshell
  k$ prove t/db_dependent/Koha/Plugins/Biblio_and_Items_plugin_hooks.t \
           t/db_dependent/Koha/Item.t \
           t/db_dependent/Koha/Items.t
=> FAIL: the hooks tests fail. Item.t hasn't been altered so should pass
3. Apply this patch
4. Repeat 2.
=> SUCCESS: Tests pass! Item.t as well! (i.e. no behaviour change)
5. Sign off :-D

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 26470: Regression tests
Tomas Cohen Arazi [Tue, 15 Sep 2020 19:21:33 +0000 (16:21 -0300)]
Bug 26470: Regression tests

This patch tweaks the test plugin so it composes an exception based on
the fact that the hook was called with the item and item_id parameters
defined.

It then makes the tests expect a specific exception message with
information about this.

To test:
1. Apply this patch
2. Run:
   $ kshell
  k$ prove t/db_dependent/Koha/Plugins/Biblio_and_Items_plugin_hooks.t
=> FAIL: Tests fail!

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 26407: fix query in 'title exists' in `search_for_data_inconsistencies.pl`
Fridolin Somers [Tue, 8 Sep 2020 14:54:19 +0000 (16:54 +0200)]
Bug 26407: fix query in 'title exists' in `search_for_data_inconsistencies.pl`

Bug 23871 added check for 'title exists' to `search_for_data_inconsistencies.pl`.
There is a typo in DBIx query to create or : hashref instead of arrayref.

Test plan :
1) Change title of biblio record XXX in SQL :
   UPDATE biblio SET title = '' WHERE biblionumber=XXX
2) Change title of biblio record YYY in SQL :
   UPDATE biblio SET title = NULL WHERE biblionumber=YYY
3) Run misc/maintenance/search_for_data_inconsistencies.pl
4) Check you see both records

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 20168: Compiled CSS - RTL files
Jonathan Druart [Fri, 18 Sep 2020 08:32:15 +0000 (10:32 +0200)]
Bug 20168: Compiled CSS - RTL files

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 26394: Update .mailmap
Jonathan Druart [Fri, 4 Sep 2020 16:25:45 +0000 (18:25 +0200)]
Bug 26394: Update .mailmap

The .mailmap file used to generate the stats is different from the one we have in our repo. It's much more complete and should be integrated into Koha.

Test plan:
Confirm that the different mappings are correct

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 26365: Remove comparison with 0000-00-00 for datecancellationprinted
Jonathan Druart [Thu, 3 Sep 2020 09:58:14 +0000 (11:58 +0200)]
Bug 26365: Remove comparison with 0000-00-00 for datecancellationprinted

Using MySQL 8:
t/db_dependent/Koha/Acquisition/Order.t .. 10/11 No method count found for Koha::Acquisition::Orders DBIx::Class::Storage::DBI::_dbh_execute(): DBI Exception: DBD::mysql::st execute failed: Incorrect DATE value: '0000-00-00' [for Statement "SELECT COUNT( * ) FROM `aqorders` `me` WHERE ( ( ( `datecancellationprinted` IS NULL OR `datecancellationprinted` = ? ) AND `ordernumber` IN ( ?, ?, ? ) ) )" with ParamValues: 0='0000-00-00', 1=23, 2=24, 3=25] at /kohadevbox/koha/Koha/Objects.pm line 597

We must remove the comparison with 0000-00-00

Highlighted by bug 23166.

I wanted to provide a DB rev but we (obviously) cannot:
MySQL [koha_kohadev]> UPDATE aqorders SET datecancellationprinted=NULL WHERE datecancellationprinted="0000-00-00";
ERROR 1292 (22007): Incorrect date value: '0000-00-00' for column 'datecancellationprinted' at row 1

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 26384: (QA follow-up) Fix two exceptions
Marcel de Rooy [Fri, 11 Sep 2020 07:11:22 +0000 (07:11 +0000)]
Bug 26384: (QA follow-up) Fix two exceptions

AuthUtils.t went back to 644, but should be 755
Adding an exception in the xt test for fix-old-fsf-address.exclude

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 26384: Add test to catch for missing or extra execution flags
Jonathan Druart [Mon, 7 Sep 2020 09:31:52 +0000 (11:31 +0200)]
Bug 26384: Add test to catch for missing or extra execution flags

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 26384: Fix executable flags
Jonathan Druart [Mon, 7 Sep 2020 09:33:08 +0000 (11:33 +0200)]
Bug 26384: Fix executable flags

.pm must not have -x
.t must have -x
.pl must have -x

Test plan:
Apply only the first patch, run the tests and confirm that the failures
make sense
Apply this patch and confirm that the test now returns green

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 26401: Remove xt/fix-old-fsf-address*
Jonathan Druart [Mon, 7 Sep 2020 09:25:38 +0000 (11:25 +0200)]
Bug 26401: Remove xt/fix-old-fsf-address*

On bug 24545 we fixed all the license statements and added a QA check + a test in our test suite.
We do not longer need this script.

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 26007: (QA follow-up) Fix English yml file
Marcel de Rooy [Fri, 11 Sep 2020 06:31:04 +0000 (06:31 +0000)]
Bug 26007: (QA follow-up) Fix English yml file

git grep -l -E "link:\s*\"?[0-9]" | xargs sed -i -e "/link:/ s/130/\"Title-uniform\"/"
Only one occurrence without quotes around 130.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 26250: Fix regressions.t when SearchEngine=ES
Jonathan Druart [Thu, 10 Sep 2020 08:41:32 +0000 (10:41 +0200)]
Bug 26250: Fix regressions.t when SearchEngine=ES

Prior to this patch it failed with:
t/db_dependent/selenium/regressions.t .. 5/5 Can't call method "leader" on an undefined value at /kohadevbox/koha/Koha/SearchEngine/Elasticsearch.pm line 548.

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 23816: Fix selenium tests
Jonathan Druart [Thu, 10 Sep 2020 08:07:05 +0000 (10:07 +0200)]
Bug 23816: Fix selenium tests

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 23816: Fix patron edition
Jonathan Druart [Thu, 10 Sep 2020 07:57:51 +0000 (09:57 +0200)]
Bug 23816: Fix patron edition

The patron edition was broken, we always got the pattern alert
Password:
Password must contain at least 8 characters, including UPPERCASE, lowercase and numbers

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 26157: Correct two occurrences
Jonathan Druart [Wed, 9 Sep 2020 14:31:07 +0000 (16:31 +0200)]
Bug 26157: Correct two occurrences

We don't want to hide the warnings for all tests

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 23816: DBRev 20.06.00.037
Jonathan Druart [Wed, 9 Sep 2020 13:13:45 +0000 (13:13 +0000)]
Bug 23816: DBRev 20.06.00.037

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 23816: (QA follow-up) Use existing form validation to validate min password length
Katrin Fischer [Thu, 27 Aug 2020 18:07:16 +0000 (20:07 +0200)]
Bug 23816: (QA follow-up) Use existing form validation to validate min password length

The pattern check didn't work for me, but I figured we might
want to use the same validation as for the other numeric fields
on the form instead (upper age limit, etc.)

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 23816: (follow-up) Fix many things
Agustin Moyano [Thu, 27 Aug 2020 15:58:56 +0000 (12:58 -0300)]
Bug 23816: (follow-up) Fix many things

This patch:
 * reverts changes on misc/admin/set_password.pl
 * makes category param mandatory for AuthUtils::is_valid_password and AuthUtils::generate_password
 * changes onboarding.pl to set category param in AuthUtils::is_valid_password
 * Completes t/db_dependent/AuthUtils.t and drops t/AuthUtils.t
 * Removes offending <input type="number"/> and replaces it by <input type="text" inputmode="numeric" pattern="[0-9]*"/>

https://bugs.koha-community.org/show_bug.cgi?id=23826

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 23816: trivial code simplification
Jonathan Druart [Wed, 19 Aug 2020 07:00:12 +0000 (09:00 +0200)]
Bug 23816: trivial code simplification

Ease readability

Signed-off-by: Agustin Moyano <agustinmoyano@theke.io>
https://bugs.koha-community.org/show_bug.cgi?id=23826

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 23816: Set default value in tests
Jonathan Druart [Wed, 19 Aug 2020 06:48:19 +0000 (08:48 +0200)]
Bug 23816: Set default value in tests

We tell TestBuilder to generate the categories with NULL (and rely on
the sysprefs)

Signed-off-by: Agustin Moyano <agustinmoyano@theke.io>
https://bugs.koha-community.org/show_bug.cgi?id=23826

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 23816: Add minimum password length and require strong password overrides by category
Agustin Moyano [Wed, 15 Apr 2020 20:13:02 +0000 (17:13 -0300)]
Bug 23816: Add minimum password length and require strong password overrides by category

This patch adds the capability to override minPasswordLenth and RequireStrongPassword settings by category

To test:
1. koha-shell kohadev
2. koha-mysql kohadev

3. drop database koha_kohadev;
4. create database koha_kohadev;

5. go to admin page and start webinstaller. There continue the steps until onboarding.
6. reach step 3 of onboarding and create a new administrator patron
CHECH => Password control woks as normal (Minimum length 3 and strong required)

7. finish Koha installation and enter admin with your new administrator
8. set minPasswordLength to 3 and RequireStrongPassword to “Don’t require”
9. Create a new category (CAT2 from now on.. CAT1 is the category you made in onboarding process) and set minimum password length to 8 and require strong password
10. Create two new patrons, one with CAT1(patron1) and one with CAT2 (patron2)
CHECK => In both cases, try different combinations of length and strength. For patron1 the only requirement is to have 3 letters, but for patron2 the minimum length will be 8 and will require strong password.
CHECK => Try changing patron category before saving. Password requirements will change with category change.

11. Edit CAT1 and set minimum password length to 5
12. Go to patron1 details page, and change password.
CHECH => Now password minimum length is 5, but still it doesn’t require strong password

13. Edit CAT1, leave blank minimum password length and set require strong password to yes.
14. Go to patron1 details page, and change password.
CHECH => Password minimum length is back to 3, but now strong password is required

15. Set minimum password length in CAT2 to 12.
16. Go to patron2 details page, and click to fill a random generated password
CHECK => generated password should be 12 characters length

17. Set PatronSelfRegistration to Allow in admin settings
18. Go to OPAC and fill self registration from.
CHECK => Play with patron category. For each change in category, password requirements are modified.
CHECK => Set CAT1 as patron category, set ‘aA1’ as password (or another valid password for CAT1) and before hitting submit button, change to CAT2. Form should enter invalid state, and CAT2 password requirements should be displayed as error in password input.

19. Create a patron for CAT1 and another for CAT2, leaving password blank
CHECK => For CAT1’s patron, generated password length is 8 (minimum length for generated passwords), but for CAT2’s patron should be 12

20. In admin set PatronSelfRegistrationVerifyByEmail to require
21. Fill self registration form again with CAT2 as category
CHECK => Password requirements works as previous case.
22. Leave password blank and click submit

23. select * from message_queue;
24. Copy the link in the message and paste it in OPAC
CHECH => Generated password is 12 characters long. (Copy user id for next steps)

25. In admin set OpacResetPassword to Allow
26. Go back to OPAC, reload and click on “Forgot password?” link
27. Paste user id and click submit
28. Repeat steps 23 and 24
CHECK => Info message says “Your password must contain at least 12 characters, including UPPERCASE, lowercase and numbers.”
CHECK => enter an invalid password and you’ll get the same message in warning.

29. Login OPAC with the last user and your newly created password
30. Go to “Change your password” option
CHECK => Info message says “Your password must contain at least 12 characters, including UPPERCASE, lowercase and numbers.”
CHECK => enter an invalid password and you’ll get the same message in below “New password” input.

31. prove t/db_dependent/AuthUtils.t t/db_dependent/Koha/Patron/Category.t

32. Sign off

Sponsored-by: Northeast Kansas Library - NEKLS
Signed-off-by: Andrew Fuerste-Henry <andrew@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 23816: Add tests
Agustin Moyano [Wed, 15 Apr 2020 20:13:16 +0000 (17:13 -0300)]
Bug 23816: Add tests

Sponsored-by: Northeast Kansas Library - NEKLS
Signed-off-by: Andrew Fuerste-Henry <andrew@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 23816: (follow-up) Define boolean column in shcema
Agustin Moyano [Thu, 16 Apr 2020 20:59:17 +0000 (17:59 -0300)]
Bug 23816: (follow-up) Define boolean column in shcema

Sponsored-by: Northeast Kansas Library - NEKLS
Signed-off-by: Andrew Fuerste-Henry <andrew@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 23816: [DO NOT PUSH] Update category schema
Agustin Moyano [Wed, 15 Apr 2020 19:12:16 +0000 (16:12 -0300)]
Bug 23816: [DO NOT PUSH] Update category schema

Sponsored-by: Northeast Kansas Library - NEKLS
Signed-off-by: Andrew Fuerste-Henry <andrew@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 23816: Update kohastructure and atomic update
Agustin Moyano [Wed, 15 Apr 2020 19:12:16 +0000 (16:12 -0300)]
Bug 23816: Update kohastructure and atomic update

Sponsored-by: Northeast Kansas Library - NEKLS
Signed-off-by: Andrew Fuerste-Henry <andrew@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 26285: Follow E.164 pattern for OPAC too
David Cook [Wed, 26 Aug 2020 04:05:21 +0000 (04:05 +0000)]
Bug 26285: Follow E.164 pattern for OPAC too

This patch uses the E.164 pattern for phone numbers
for the OPAC (and not just the staff interface).

To test:
0) Follow the same plan as the staff interface, but
go to /cgi-bin/koha/opac-messaging.pl after logging
into the OPAC

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 26285: Follow E.164 pattern for validating SMS numbers
David Cook [Mon, 24 Aug 2020 06:42:27 +0000 (06:42 +0000)]
Bug 26285: Follow E.164 pattern for validating SMS numbers

Currently, Koha is not correctly validating SMS numbers using
E.164. This causes Australian phone numbers without a country code
to fail validation.

This patch uses the E.164 pattern of 1-3 digits for country code,
prefixed by a + symbol, and followed by up to 12 digits for
the remainder of the phone number.

To test:

0. Don't apply patch yet
1. Set "SMSSendDriver" to "Anything"
2. Go to http://localhost:8081/cgi-bin/koha/members/memberentry.pl?op=modify&destination=circ&borrowernumber=51
3. Type in 0455555555 and note "Please enter a valid phone number." message in browser

6. Apply the patch

7. Go to http://localhost:8081/cgi-bin/koha/members/memberentry.pl?op=modify&destination=circ&borrowernumber=51
8. Type in 0455555555 and note no validation error
9. Type in +61455555555 and note no validation error
10. Type in 123456789012 and note no validation error
11. Type in 1234567890123 and note "Please enter a valid phone number." error
12. Type in +900123456789012 and note no validation error
13. Type in 900123456789012 and note "Please enter a valid phone number." error

Signed-off-by: Sally <sally.healey@cheshiresharedservices.gov.uk>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 26007: (QA follow-up) Remove message on marc_subfields_structure
Marcel de Rooy [Fri, 4 Sep 2020 09:33:13 +0000 (09:33 +0000)]
Bug 26007: (QA follow-up) Remove message on marc_subfields_structure

Why? Since the combo has been disabled since a few releases. If you
want to change this mapping, you should do it on Koha to MARC mappings.
This change is no longer per framework, but over all frameworks.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 26007: (QA follow-up) Replace wrong link values from sql installer files
Marcel de Rooy [Fri, 4 Sep 2020 09:09:00 +0000 (09:09 +0000)]
Bug 26007: (QA follow-up) Replace wrong link values from sql installer files

Field 943$a has link value "130". This does not work; 130 is not a search
index. It should be Title-uniform.
Note: Only used on a search link in the intranet MARC detail page.

In some cases "130" should be replaced by "Title-uniform", but sometimes
130 without quotes had to be replaced. Performed by two sed statements
on git grep results.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 26007: (QA follow-up) Add index name to the q parameter
Marcel de Rooy [Fri, 4 Sep 2020 08:38:24 +0000 (08:38 +0000)]
Bug 26007: (QA follow-up) Add index name to the q parameter

The link constructed in MARC-detail is not consistent. It adds
an index name but does not show in the query in the search box.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 26007: Add/fix warning for changes to the Koha to MARC mappings
Katrin Fischer [Sun, 30 Aug 2020 20:31:32 +0000 (22:31 +0200)]
Bug 26007: Add/fix warning for changes to the Koha to MARC mappings

There are 2 pages where one can change the Koha to MARC mappings in Koha:

- When editing the configuration for a MARC subfield
- On administration > Koha 2 MARC mappings

This patch adds a warning that the batchRebuildBiblioTables script
must be run if the mapping is changed.

To test:
- Go to Administration > MARC bibliographic frameworks >
  Any framework > MARC structure > Any field > Edit subfield
- ÃThe hint about the batchRebuildBiblioTables will be on "Link"
  instead of "Koha Link". This is wrong as the link doesn't care
  about the mappings.
- Go to Administration > Koha to MARC mappings
- Verify there is no hint
- Apply patch
- Verify both pages now show an appropriate message

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
This commit message is not completely accurate. See the follow-ups.

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 26388: Do not show 'Renew all' or 'Renew selected' if no renewable items
Nick Clemens [Fri, 4 Sep 2020 13:18:53 +0000 (13:18 +0000)]
Bug 26388: Do not show 'Renew all' or 'Renew selected' if no renewable items

Additionally, only include renewable items in 'Renew all'

To test:
1 - Check out some items to a patron, ideally:
    Some not renewable because set for auto renewal
    Some not renewable because of holds
    Some renewable
 2 - Confirm 'Renew selected' and 'Renew all' show on the opac
 3 - Click 'Renew all'
 4 - You get errors about the non-renewable items?
 5 - Check in all renewable items
 6 - Confirm you still see renew buttons
 7 - Apply patch
 8 - Refresh and you shoudl not see renew buttons
 9 - Check out a renewable item
10 - Click 'Renew all'
11 - Renewable item is renewed with no error
12 - Try again with 'Renew selected'
13 - Confirm it works as expected

Signed-off-by: Andrew Fuerste-Henry <andrew@bywatersolutions.com>
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 16314: Show upload link for upload plugin in basic MARC editor
Owen Leonard [Sat, 11 Jul 2020 13:25:11 +0000 (13:25 +0000)]
Bug 16314: Show upload link for upload plugin in basic MARC editor

This patch updates the basic MARC editor to provide a plugin name
variable to the template, allowing us to make a check on the name and
conditionally show an upload link if the "upload.pl" cataloging plugin
is selected.

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

 - Go do Administration -> MARC bibliographic framework -> MARC
   structure -> 856 -> Edit subfields.
 - Edit the "u" subfield and select "upload.pl" as the plugin under
   "Other options."
 - Go to Cataloging and create or edit a MARC record.
 - Under tab 8 look for the 856 tag, subfield u. There should be an
   "Upload" link corresponding to the form field.
 - Click the upload link to confirm that it triggers a popup window with
   the upload form.
 - Confirm that other similar plugin links (for instance 100$a, 600$a)
   display the old "tag editor" icon.

Signed-off-by: Lisette Scheer <lisetteslatah@gmail.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 24663: Fix one missing occurrence
Jonathan Druart [Wed, 9 Sep 2020 12:46:54 +0000 (14:46 +0200)]
Bug 24663: Fix one missing occurrence

pushed in the meanwhile

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 20168: Fix selenium tests
Jonathan Druart [Wed, 9 Sep 2020 13:37:39 +0000 (15:37 +0200)]
Bug 20168: Fix selenium tests

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 20168: DBRev 20.06.00.036
Jonathan Druart [Wed, 9 Sep 2020 12:28:13 +0000 (12:28 +0000)]
Bug 20168: DBRev 20.06.00.036

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 20168: Compiled CSS
Jonathan Druart [Wed, 9 Sep 2020 12:25:13 +0000 (14:25 +0200)]
Bug 20168: Compiled CSS

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 20168: Remove li tags from OPACSearchForTitleIn for new installs
Jonathan Druart [Wed, 9 Sep 2020 12:33:23 +0000 (14:33 +0200)]
Bug 20168: Remove li tags from OPACSearchForTitleIn for new installs

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 20168: Consider opaclayoutstylesheet empty if 'opac.css'
Jonathan Druart [Wed, 9 Sep 2020 12:23:41 +0000 (14:23 +0200)]
Bug 20168: Consider opaclayoutstylesheet empty if 'opac.css'

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 20168: (follow-up) Add automatic creation of RTL CSS
Owen Leonard [Fri, 4 Sep 2020 14:32:04 +0000 (14:32 +0000)]
Bug 20168: (follow-up) Add automatic creation of RTL CSS

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 20168: Update of the OPAC bootstrap template to bootstrap v4
Owen Leonard [Thu, 14 May 2020 15:54:00 +0000 (15:54 +0000)]
Bug 20168: Update of the OPAC bootstrap template to bootstrap v4

This patch updates the version of Bootstrap in the OPAC from 2.3.1 to
4.5.0. The Bootstrap JavaScript files have been replaced with custom
builds of the 4.5.0 JavaScript source files. The Bootstrap CSS is now
built into the OPAC CSS by loading the required Bootstrap 4.5.0 SCSS
files in node_modules.

OPAC SCSS now starts with Bootstrap customizations:

/* Bootstrap variable customizations */
$headings-color: #727272;
...

Followed by loading the necessary Bootstrap SCSS files:

/* Bootstrap imports */
@import "../../../../../node_modules/bootstrap/scss/functions";
@import "../../../../../node_modules/bootstrap/scss/variables";
...

Followed by our CSS. The build process for generating compiled CSS now
creates a file which bundles Bootstrap CSS and ours. Removed from the
Koha source: Bootstrap CSS files, Bootstrap "glyphicons" images.

The upgrade to Bootstrap 4 involved a lot of markup changes to conform
with new Bootstrap classes, especially in classes related to the grid.
Besides duplicating the grid we used before, this upgrade adds some new
features made possible by Bootstrap 4.5's use of flexbox as a layout
tool. This includes custom ordering of columns based on class names:
https://getbootstrap.com/docs/4.5/layout/grid/#order-classes.

Other areas where the most changes have been made: Navigation menus,
breadcrumb menus, buttons, dropdowns.

Bootstrap's JavaScript file is now "bootstrap.bundle.min.js" to reflect
the fact that a required JavaScript asset is now distributed separately
in Bootstrap 4. The "bundle" version includes Popper.js.

Unrelated changes: Indentation corrections, removal of invalid
"//<![CDATA[" markers, removal of invalid script type attributes.

To test, apply the patch and run 'yarn install' to install Bootstrap as
an npm module. Run 'yarn build --view opac' to regenerate the OPAC CSS.

Test as many aspect of the OPAC as possible, viewing pages at various
browser widths to confirm that everything adjusts well. Test with
various OPAC interface system preferences enabled and disabled.

Test self checkout and self checkin.

Known issues: RTL support has not been updated.

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 23682: DBRev 20.06.00.035
Jonathan Druart [Thu, 3 Sep 2020 12:20:57 +0000 (12:20 +0000)]
Bug 23682: DBRev 20.06.00.035

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 23682: Fix use Koha::Plugins::Handler statements
Jonathan Druart [Thu, 3 Sep 2020 12:11:46 +0000 (14:11 +0200)]
Bug 23682: Fix use Koha::Plugins::Handler statements

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 23682: Dedup plugin calls my moving to a single call in process_invoice()
Kyle M Hall [Mon, 31 Aug 2020 17:02:05 +0000 (13:02 -0400)]
Bug 23682: Dedup plugin calls my moving to a single call in process_invoice()

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 23682: INSERT IGORE systen preference in database update
Katrin Fischer [Tue, 25 Aug 2020 14:18:32 +0000 (14:18 +0000)]
Bug 23682: INSERT IGORE systen preference in database update

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 23682: (QA follow-up) Fix typo in syspref description
Kyle M Hall [Mon, 24 Aug 2020 17:21:26 +0000 (13:21 -0400)]
Bug 23682: (QA follow-up) Fix typo in syspref description

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 23682: Add ability to manually import EDI invoices as an alternative to automatic...
Kyle M Hall [Thu, 26 Sep 2019 14:39:36 +0000 (10:39 -0400)]
Bug 23682: Add ability to manually import EDI invoices as an alternative to automatic importing on download

Some library would like to delay the importing of invoices until
a time of their choosing. The invoices should be imported into
the database as they do now, but the invoice processing should
be skipped. Instead, any invoice file with a status of 'new'
should have an 'Import' button to process the invoice.

Test Plan:
1) Apply this patch
2) Run updatedatabase.pl
3) Enable the new syspref EdifactInvoiceImport
4) Run the edi cronjob to import a new invoice file
5) View EDI messages table at /acqui/edifactmsgs.pl
6) Note the invoice files is not processes, and retains the status of 'new'
7) Use the 'import' button to process the invoice
8) Note the invoice is now marked 'received' and the 'import' button is gone
9) Verify the invoice was actually processes

Signed-off-by: Debi Stears <DDStears@washoecounty.us>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 24197: DBRev 20.06.00.034
Jonathan Druart [Thu, 3 Sep 2020 12:20:57 +0000 (12:20 +0000)]
Bug 24197: DBRev 20.06.00.034

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 24197: (QA follow-up) Shorten syspref name to AddressForFailedEmailNotices
Nick Clemens [Wed, 2 Sep 2020 17:32:42 +0000 (17:32 +0000)]
Bug 24197: (QA follow-up) Shorten syspref name to AddressForFailedEmailNotices

If you define the address we use it, if not we fallback,
it's not really a redirect, and that just makes the name longer.

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 24197: (QA follow-up) Embelished syspref description
Martin Renvoize [Wed, 2 Sep 2020 15:33:06 +0000 (16:33 +0100)]
Bug 24197: (QA follow-up) Embelished syspref description

As requested, I have embelished the syspref description to more
accurately depict the fallback sequence for email delivery.

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 24197: Changed use of 'branch' terminology to 'library'
Alex Buckley [Wed, 22 Apr 2020 00:01:58 +0000 (00:01 +0000)]
Bug 24197: Changed use of 'branch' terminology to 'library'

Sponsored-by: Catalyst IT
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 24197: Added new local use syspref which sets the email address that failed overd...
Alex Buckley [Tue, 21 Apr 2020 23:21:20 +0000 (23:21 +0000)]
Bug 24197: Added new local use syspref which sets the email address that failed overdue notices are set to.

Test plan:
1. Set no email addresses in patron record then checkout
items to the patron making the due date in the past

2. Visit patron's home library page: Administration > Libraries
Set a branch email and in global system preferences observe there is no syspref
named RedirectAddressForFailedOverdueNotices

3. Manually run overdue_notices.pl

4. Check the message_queue database table and observe there is a
print overdue notice and a email notice with to_address of the
branch email address

5. Apply patch

6. Run database update:
cd installer/data/mysql
sudo koha-shell <instance_name>
./updatedb.pl

7. Confirm there is a new system preference named:
RedirectAddressForFailedOverdueNotices

Give it a different email address to that in the branch email.

7. Repeat steps 1,3,4 and observe that the failed overdue notices have been
sent to the email defined in RedirectAddressForFailedOverdueNotices

Sponsored-By: Catalyst IT
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 25541: (QA follow-up) Default to disabled + Correct message
Martin Renvoize [Wed, 2 Sep 2020 13:40:08 +0000 (14:40 +0100)]
Bug 25541: (QA follow-up) Default to disabled + Correct message

This patch defaults the 'holds_block_checkin' configuration to disabled
(to maintain current behaviour on upgrades). It also updates a
copy/paste for siplog logging to make the message triggered by this
action unique as expected.

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 25541: (QA follow-up) Rename no_holds_checkin to holds_block_checkin
Kyle M Hall [Wed, 2 Sep 2020 12:54:08 +0000 (08:54 -0400)]
Bug 25541: (QA follow-up) Rename no_holds_checkin to holds_block_checkin

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 25541: Add new param to debian sip config
Kyle M Hall [Wed, 19 Aug 2020 13:10:42 +0000 (09:10 -0400)]
Bug 25541: Add new param to debian sip config

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 25541: Add ability to prevent checkin via SIP of items with holds
Kyle M Hall [Tue, 19 May 2020 12:35:06 +0000 (08:35 -0400)]
Bug 25541: Add ability to prevent checkin via SIP of items with holds

Some libraries would like patrons to be unable to return items with
holds via SIP. Instead, the screen message should indicate that the
patron should return that item at the circ desk so a librarian can use
it to fill the next hold right away and place it on the hold shelf.

Test Plan:
1) Apply this patch.
2) Place a hold for an item.
3) Enable the new SIP option no_holds_checkin for a SIP account.
4) Restart the SIP server.
5) Check in the item using the SIP CLI tool using the SIP account
   for which you set the new option.
6) Note the checkin fails with a screen message indicating you should
   return the item to the circulation desk.

Signed-off-by: Peter Lau <peter.lau@yccece.edu.hk>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 26041: Enable keyboard navigation without 'ctrl'
Martin Renvoize [Wed, 22 Jul 2020 12:28:44 +0000 (13:28 +0100)]
Bug 26041: Enable keyboard navigation without 'ctrl'

This patch enables keyboard navigation using the arrow keys without the
need to hold the control key for the jQuery UI datepicker.

Test plan
1/ Navigate to an item in the opac and attempt to place a hold
2/ On the resultant screen, use keyboard navigation to trigger the 'Show
more options' dropdown.
3/ Focus on one of the date inputs using keyboard navigation.
4/ Use 'ctrl + arrow' keys to navigate the datepicker.
5/ Note that prior to the patch using 'bare' arrow keys does not trigger
anything
6/ Apply the patch and confirm that the datepicker can now be naviated
using the arrow keys without holding the ctrl key.
7/ Confirm that using the ctrl key combinations continue to work as
expected too.
8/ Signoff

Signed-off-by: Brandon J <brandon.jimenez@inLibro.com>
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 17801: Use issuedate for limits in Most Circulated Items
Andrew Fuerste-Henry [Thu, 27 Aug 2020 18:03:14 +0000 (18:03 +0000)]
Bug 17801: Use issuedate for limits in Most Circulated Items

To test:
1 - Have two checkouts in old_issues
    issue 1: timestamp 2020-08-01 00:00:00, issuedate 2019-08-01 00:00:00
    issue 2: timestamp 2020-07-01 00:00:00, issuedate 2019-07-01 00:00:00
2 - Perform a Most Circulated Items search for checkout dates 2020-06-01 to 2020-09-01. Both checkouts appear in search
3 - Repeat search with checkout dates 2019-06-01 to 2019-09-01. Neither checkout appears in search
4 - apply patch, restart all
5 - Repeat search with checkout dates 2020-06-01 to 2020-09-01. Neither checkout appears in search
6 - Repeat search with checkout dates 2019-06-01 to 2019-09-01. Both checkouts appears in search

Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 26236: Fix translating interface from DB term to readable term
Nick Clemens [Tue, 18 Aug 2020 13:33:33 +0000 (13:33 +0000)]
Bug 26236: Fix translating interface from DB term to readable term

When viewing the logs we try to swith the db values like 'cron' to friendly terms like
'Cron job'

The values we use for building the selectors on the page ar eupper case, but DB values are lower case

If we simply force upper case in the comparison we can ensure we always match correctly

To test:
1 - Enable some 'Logs' setting in System preferences
2 - Perform some action in koha that will log
    Run a cronjob
    Change a syspref
    etc.
3 - Browse to Tools-> Log viewer
4 - Click 'Submit' to see all logs
5 - Note the 'Interface' column contains lower case DB values
6 - Apply patch
7 - Reload the page
8 - Values in interface are now Camel cased and more friendly

Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 26271: Add null to the list of accepted account_line data types
Joonas Kylmälä [Fri, 21 Aug 2020 13:23:38 +0000 (16:23 +0300)]
Bug 26271: Add null to the list of accepted account_line data types

The database schema for accountlines table allows the
manager_id/user_id column to be NULL. If request to
/api/v1/patrons/<patron_id>/account returns such an accountline where
it is NULL we get 500 error as response. Adding NULL to allowed data
types fixes this issue.

To test:
 1) Run prove t/db_dependent/api/v1/patrons_accounts.t and notice it
    doesn't fail

Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 26271: Add failing test to reveal issue with patrons API endpoint
Joonas Kylmälä [Fri, 21 Aug 2020 13:21:42 +0000 (16:21 +0300)]
Bug 26271: Add failing test to reveal issue with patrons API endpoint

When manager_id is null/undef the API returns error code 500.

To test:
 1) Notice failure when running
    prove t/db_dependent/api/v1/patrons_accounts.t

Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 15851: (QA follow-up) Fix booleans to uppercase to make this work for Elasticsear...
Katrin Fischer [Tue, 1 Sep 2020 03:37:22 +0000 (03:37 +0000)]
Bug 15851: (QA follow-up) Fix booleans to uppercase to make this work for Elasticsearch and UseControlNumber

Same test plan as before, but with UseControlNumber = Use and
Elasticsearch.

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 15851: (follow-up) Only display the analytics link when required (staff)
Tomas Cohen Arazi [Fri, 17 Jul 2020 12:44:46 +0000 (09:44 -0300)]
Bug 15851: (follow-up) Only display the analytics link when required (staff)

This patch replicates the introduced behaviour, for the admin interface.
To test, follow the test plan from the OPAC, but on the intranet.

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 15851: Only display the analytics link when required
Tomas Cohen Arazi [Wed, 24 Jun 2020 17:50:37 +0000 (14:50 -0300)]
Bug 15851: Only display the analytics link when required

This patch makes opac-detail.pl query for analytics the same way it
would do with the generated link (i.e. based on UseControlNumber) and
passes a flag to the XSLT so it displays (or not) the 'Analytics' link.

To test:
1. Apply the first patch
2. Have a known record without analytics
3. Open the record in the OPAC
=> FAIL: It shows the 'Analytics' link
4. Have a record known to have analytics and open in OPAC, on a separate
   tab
=> SUCCESS: It shows the 'Analytics' link
5. Apply this patch and restart_all
6. Reload the tabs
=> SUCCESS: It shows the link where it has to, and hides it where it
shouldn't be displayed
7. Sign off :-D

Sponsored-by: Orex Digital
Signed-off-by: Hugo Agud <hagud@orex.es>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 15851: Display analytics links for more cases
Tomas Cohen Arazi [Wed, 24 Jun 2020 16:08:25 +0000 (13:08 -0300)]
Bug 15851: Display analytics links for more cases

The current XSLT displays the link to linked analytics only for serials.
This patch makes it show for all the relevant position 7 on the leader
values. I left out a and b as recommended by expert librarians on my
team, but I can revert that if required.

The current implementation adds a new CSS class for each case, so
libraries willing to keep the current behaviour or just have more
granular control on the cases they want the link to display, just can.

This patch makes sense with the follow-up one, which will display the
link only if there are really related records.

To test:
1. Open a non-serial record, notice there's no link to analytics
2. Apply this patch and reload
=> SUCCESS: There's an 'Analytics' link
3. Inspect the produced HTML
=> SUCCESS: A special class with analytic_* value has been added, and
thus we now can control its display through CSS
4. Sign off :-D

Sponsored-by: Orex Digital
Signed-off-by: Hugo Agud <hagud@orex.es>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 26313: (follow-up) Fix OPAC and "Show volumes" links
Katrin Fischer [Tue, 1 Sep 2020 19:22:31 +0000 (21:22 +0200)]
Bug 26313: (follow-up) Fix OPAC and "Show volumes" links

Elasticsearch requires the booleans in search requests to
be uppercase. This fixes the "Show analytics" link in
OPAC (same as first patch for intranet) and the "Show volume"
link.

To test both patches:

Set UseControlNumber = Use

1) "Show analytics"
- Turn SearchEngine to Elasticsearch and make sure it works
- Pick any serial record in your database, make sure 001 is set
- Go to new > new child record
- Fill in 245 and save
- For both staff and OPAC:
  - Click on the "In" link, it should bring you to the parent record
  - Click on "Show analytics", it should show your analytical record
- Switch to "Zebra" - verify links still work.

2) "Show volumes"
- Turn SearchEngine to Elasticsearch again
- Pick any serial record in your database, make sure 001 is set
- Set LDR, pos. 19 = a - Set
- Note 001 value
- Find another record and edit it
- Set LDR, pos. 19 = a or b, LDR 7 not a or b (m will work)
- Set 773$ title of set record $w 001 of set record
- For both staff and OPAC:
  - Click on the "In: link, it should bring up your set record
  - Click on the "Show volumes" link, it should bring up the volume

- Switch to "Zebra" - verify all links still work.

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 26313: "Show analytics" link must use uppercase for booleans
Nick Clemens [Tue, 1 Sep 2020 12:32:56 +0000 (12:32 +0000)]
Bug 26313: "Show analytics" link must use uppercase for booleans

In elasticsearch we only treat AND and OR as boolean operators if
they are capitalized

To test:
- Turn SearchEngine to Elasticsearch and make sure it works
- Pick any serial record in your database, make sure 001 is set
- Go to new > new child record
- Fill in 245 and save
- Click on the "In" link, it should bring you to the parent record
- Click on "Show analytics" => there will be no result
- Apply patch
- restart and reload
- Try again
- It works!
- Switch SearchEngine syspref to 'Zebra'
- Test again
- It still works!

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 26331: Make svc/letters/preview executable
David Cook [Tue, 1 Sep 2020 05:19:14 +0000 (15:19 +1000)]
Bug 26331: Make svc/letters/preview executable

Without this patch, you can't preview letters when running Koha in CGI mode.

To test:
1. Run Koha as CGI (and not Plack)
2. Go to /cgi-bin/koha/tools/letter.pl?op=add_form&branchcode=&module=circulation&code=CHECKIN
3. Try to preview the notice (using a valid barcode)
4. Note in the browser console that svc/letters/preview is generating a 500 error

Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 26362: Show correct libraries in overdues report
David Cook [Thu, 3 Sep 2020 05:40:57 +0000 (05:40 +0000)]
Bug 26362: Show correct libraries in overdues report

Currently the overdues report does the following display:
Patron library = home branch
Home library = holding branch
Holding library = patron branch

This patch corrects the display of libraries in the overdues report.

To test:

0) Do not apply patch
1) Go to http://localhost:8081/cgi-bin/koha/circ/circulation.pl?borrowernumber=51
2) Go to http://localhost:8081/cgi-bin/koha/circ/set-library.pl
3) Choose "Troy"
4) http://localhost:8081/cgi-bin/koha/circ/circulation.pl?borrowernumber=51
5) Checkout "39999000004571" with due date of "09/01/2019 23:59"

Note the facts:
Patron library = Centerville
Home library = Fairview
Holding library = Troy

6) Go to http://localhost:8081/cgi-bin/koha/circ/overdue.pl
7) Change "Columns" visibility to show Holding and Home libraries
8) Note that the libraries are incorrect:

Patron library appears to be: Fairview
Home library appears to be: Troy
Holding library appears to be: Centerville

9) Apply the patch
10) koha-plack --restart kohadev
11) Go to http://localhost:8081/cgi-bin/koha/circ/overdue.pl
12) Change "Columns" visibility to show Holding and Home libraries
13) Note that the libraries are correct:

Patron library appears to be: Centerville
Home library appears to be: Fairview
Holding library appears to be: Troy

Signed-off-by: Emmi Takkinen <emmi.takkinen@outlook.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 26309: Make cxn_pool configurable
Nick Clemens [Thu, 27 Aug 2020 15:03:17 +0000 (15:03 +0000)]
Bug 26309: Make cxn_pool configurable

In get_elasticsearch_params we set the conf to static if undefined,
but we never defined it

To test:
1 - Apply unit test patch
2 - prove -v t/Koha/SearchEngine/Elasticsearch.t
3 - It fails
4 - Apply this patch
5 - It succeeds

Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 26309: Unit tests
Nick Clemens [Thu, 27 Aug 2020 15:03:07 +0000 (15:03 +0000)]
Bug 26309: Unit tests

Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 24663: (follow-up) Remove authnotrequired if set to 0
Jonathan Druart [Mon, 2 Mar 2020 09:08:12 +0000 (10:08 +0100)]
Bug 24663: (follow-up) Remove authnotrequired if set to 0

2 newly added scripts

Signed-off-by: Tomás Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 24663: Handle special cases for recovery password and selfreg
Jonathan Druart [Mon, 17 Feb 2020 15:44:37 +0000 (16:44 +0100)]
Bug 24663: Handle special cases for recovery password and selfreg

The password recovery and self-registration features need to be
accessible at the OPAC even if not public.

Test plan:
Self register a new account, then ask for a new password with OpacPublic
turned off

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomás Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 24663: Force authentication in svc/records/preview (?)
Jonathan Druart [Mon, 17 Feb 2020 12:31:38 +0000 (13:31 +0100)]
Bug 24663: Force authentication in svc/records/preview (?)

Was this wrong?

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomás Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 24663: Force auth in adveditorshortcuts.pl
Jonathan Druart [Mon, 17 Feb 2020 12:31:17 +0000 (13:31 +0100)]
Bug 24663: Force auth in adveditorshortcuts.pl

This was wrong!

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 24663: Remove authnotrequired if set to 0
Jonathan Druart [Mon, 17 Feb 2020 12:20:48 +0000 (13:20 +0100)]
Bug 24663: Remove authnotrequired if set to 0

It defaults to 0 in get_template_and_user

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 24663: Test OpacPublic for all OPAC scripts
Jonathan Druart [Mon, 17 Feb 2020 12:16:48 +0000 (13:16 +0100)]
Bug 24663: Test OpacPublic for all OPAC scripts

Prior to this patchset there were 3 different calls to
get_template_and_user (or checkauth) with the authnotrequired param:
 * authnotrequired => 0
 * authnotrequired => 1
 * authnotrequired => ( C4::Context->preference("OpacPublic") ? 1 : 0 )

The first one says that an unauthenticated user can access the page, the
second that the user has to be authenticated, and the last one that it
depends on the OpacPublic syspref.
Actually we must replace the first one with the third one, if the OPAC
is not public, the authentication must be forced.

To do so we are going to remove the "authnotrequired => 0" occurrences,
and check the OpacPublic syspref's value in C4::Auth

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 25360: (follow-up) Remove the https FIXME in Auth.pm
Marcel de Rooy [Wed, 5 Aug 2020 13:48:59 +0000 (13:48 +0000)]
Bug 25360: (follow-up) Remove the https FIXME in Auth.pm

The FIXME is no longer valid since we fixed the X-Forwarded headers
for Plack. And since we do not even use using_https anymore in
the templates (see bug 21094).

Test plan:
Run Auth.t
Git grep for using_https

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 25360: Use secure flag for CGISESSID cookie when using HTTPS
David Cook [Mon, 4 May 2020 01:12:26 +0000 (11:12 +1000)]
Bug 25360: Use secure flag for CGISESSID cookie when using HTTPS

This patch adds the secure flag to the CGISESSID cookie when using HTTPS.
This prevents the cookie being used again over a normal HTTP
request.

Bug 25360: [Follow-up] Test for "on" or "ON" value for HTTPS env var

This patch tests for HTTPS "on" or "ON" before setting the secure
cookie.

Bug 25360: [Follow-up] Fix typo in C4/InstallAuth.pm

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
[EDIT] Amended number of tests in Context.t
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 23634: Make is_superlibrarian return 1 or 0
Jonathan Druart [Thu, 3 Sep 2020 08:20:32 +0000 (10:20 +0200)]
Bug 23634: Make is_superlibrarian return 1 or 0

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>