]> git.koha-community.org Git - koha.git/log
koha.git
2 years agoBug 30588: Add selenium tests
Jonathan Druart [Tue, 26 Jul 2022 12:51:54 +0000 (14:51 +0200)]
Bug 30588: Add selenium tests

Sponsored-by: Rijksmuseum, Netherlands
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 30588: Add tests for the REST API routes
Jonathan Druart [Tue, 26 Jul 2022 09:41:14 +0000 (11:41 +0200)]
Bug 30588: Add tests for the REST API routes

Sponsored-by: Rijksmuseum, Netherlands
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 30588: Adjust existing selenium tests
Jonathan Druart [Tue, 26 Jul 2022 12:34:56 +0000 (14:34 +0200)]
Bug 30588: Adjust existing selenium tests

Sponsored-by: Rijksmuseum, Netherlands
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 30588: Add the option to require 2FA setup on first staff login
Jonathan Druart [Mon, 25 Jul 2022 14:53:02 +0000 (16:53 +0200)]
Bug 30588: Add the option to require 2FA setup on first staff login

Bug 28786 added the ability to turn on a two-factor authentication,
using a One Time Password (OTP).
Once enabled on the system, librarian had the choice to enable or
disable it for themselves.
For security reason an administrator could decide to force the
librarians to use this second authentication step.

This patch adds a third option to the existing syspref, 'Enforced', for
that purpose.

QA notes: the code we had in the members/two_factor_auth.pl controller
has been moved to REST API controller methods (with their tests and
swagger specs), for reusability reason. Code from template has been
moved to an include file for the same reason.

Test plan:
A. Regression tests
As we modified the code we need first to confirm the existing features
are still working as expected.
1. Turn off TwoFactorAuthentication (disabled) and confirm that you are not able to
enable and access the second authentication step
2. Turn it on (enabled) and confirm that you are able to enable it in your account
3. Logout and confirm then that you are able to login into Koha

B. The new option
1. Set the pref to "enforced"
2. You are not logged out, logged in users stay logged in
3. Pick a user that does not have 2FA setup, login
4. Notice the new screen (UI is a bit ugly, suggestions welcomed)
5. Try to access Koha without enabling 2FA, you shouldn't be able to
access any pages
6. Setup 2FA and confirm that you are redirected to the login screen
7. Login, send the correct pin code
=> You are fully logged in!

Note that at 6 we could redirect to the mainpage, without the need to
login again, but I think it's preferable to reduce the change to
C4::Auth. If it's considered mandatory by QA I could have a look on
another bug report.

Sponsored-by: Rijksmuseum, Netherlands
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 30588: Adjust existing occurrences of TwoFactorAuthentication
Jonathan Druart [Mon, 25 Jul 2022 13:58:56 +0000 (15:58 +0200)]
Bug 30588: Adjust existing occurrences of TwoFactorAuthentication

We need to replace 0 with 'disabled', and 1 with 'enabled'

Sponsored-by: Rijksmuseum, Netherlands
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 30588: Add 'enforced' option to TwoFactorAuthentication
Jonathan Druart [Mon, 25 Jul 2022 13:34:47 +0000 (15:34 +0200)]
Bug 30588: Add 'enforced' option to TwoFactorAuthentication

Sponsored-by: Rijksmuseum, Netherlands
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 29662: (QA folow-up) Add explanation for empty to system preference description
Katrin Fischer [Tue, 18 Oct 2022 20:25:37 +0000 (20:25 +0000)]
Bug 29662: (QA folow-up) Add explanation for empty to system preference description

This amends the system preference description for PrefillItem
to explain what happens when the pref is left empty.

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 29662: (bug 27526 follow-up) Prefill all subfields if SubfieldsToUseWhenPrefill...
Jonathan Druart [Mon, 13 Dec 2021 10:50:33 +0000 (11:50 +0100)]
Bug 29662: (bug 27526 follow-up) Prefill all subfields if SubfieldsToUseWhenPrefill is empty

Signed-off-by: Thibault Keromnès <thibault.keromnes@univ-paris8.fr>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 31672: Remove 'Your' from tab descriptions in OPAC patron account
Katrin Fischer [Mon, 3 Oct 2022 16:48:52 +0000 (16:48 +0000)]
Bug 31672: Remove 'Your' from tab descriptions in OPAC patron account

I'll try to keep the test plan simple:
* Go to patron account in OPAC
* Verify that the your from the beginning of the tab
  descriptions has been removed

Bonus: This moves the Recalls history tab below the Holds history
as this is the more logical place for it.

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 31693: Remove non-existent fields from the See-also-from index (Elasticsearch...
Caroline Cyr La Rose [Wed, 5 Oct 2022 16:20:49 +0000 (12:20 -0400)]
Bug 31693: Remove non-existent fields from the See-also-from index (Elasticsearch, MARC21)

This patch removes fields from the See-from index that don't exist in
MARC21.

The existing fields can be found here: https://www.loc.gov/marc/authority/ad5xx.html

The following fields are removed:

- 511$b
- 511$m
- 511$o
- 511$r
- 530$b
- 530$c
- 530$e
- 547$b
- 547$e
- 547$f
- 547$h
- 547$j
- 547$k
- 547$l
- 547$m
- 547$n
- 547$o
- 547$p
- 547$q
- 547$r
- 547$s
- 547$t
- 548$b
- 548$c
- 548$d
- 548$e
- 548$f
- 548$g
- 548$h
- 548$k
- 548$l
- 548$m
- 548$n
- 548$o
- 548$p
- 548$r
- 548$s
- 548$t
- 550$c
- 550$d
- 550$e
- 550$f
- 550$h
- 550$j
- 550$k
- 550$l
- 550$m
- 550$n
- 550$o
- 550$p
- 550$q
- 550$r
- 550$s
- 550$t
- 551$b
- 551$c
- 551$d
- 551$e
- 551$f
- 551$h
- 551$k
- 551$l
- 551$m
- 551$n
- 551$o
- 551$p
- 551$r
- 551$s
- 551$t
- 555$b
- 555$c
- 555$d
- 555$e
- 555$f
- 555$g
- 555$h
- 555$j
- 555$k
- 555$l
- 555$m
- 555$n
- 555$o
- 555$p
- 555$q
- 555$r
- 555$s
- 555$t
- 562$b
- 562$c
- 562$d
- 562$e
- 562$f
- 562$g
- 562$h
- 562$k
- 562$l
- 562$m
- 562$n
- 562$o
- 562$p
- 562$r
- 562$s
- 562$t

Furthermore, the format of the mapping for 511 has been corrected.

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 31691: Remove non-existent fields from the See-from index (Elasticsearch, MARC21)
Caroline Cyr La Rose [Wed, 5 Oct 2022 16:01:46 +0000 (12:01 -0400)]
Bug 31691: Remove non-existent fields from the See-from index (Elasticsearch, MARC21)

This patch removes fields from the See-from index that don't exist in
MARC21.

The existing fields can be found here: https://www.loc.gov/marc/authority/ad4xx.html

The following fields are removed:

- 411$b
- 411$m
- 411$o
- 411$r
- 430$b
- 430$c
- 430$e
- 440(abcdefghjklmnopqrstvxyz) (all of them, 440 doesn't exist at all)
- 441(abcdefghklmnoprstvxyz) (all of them, 441 doesn't exist at all)
- 444(abcdefghjklmnopqrstvxyz) (all of them, 444 doesn't exist at all)
- 447$b
- 447$e
- 447$f
- 447$h
- 447$j
- 447$k
- 447$l
- 447$m
- 447$n
- 447$o
- 447$p
- 447$q
- 447$r
- 447$s
- 447$t
- 448$b
- 448$c
- 448$d
- 448$e
- 448$f
- 448$g
- 448$h
- 448$k
- 448$l
- 448$m
- 448$n
- 448$o
- 448$p
- 448$r
- 448$s
- 448$t
- 462$b
- 462$c
- 462$d
- 462$e
- 462$f
- 462$g
- 462$h
- 462$k
- 462$l
- 462$m
- 462$n
- 462$o
- 462$p
- 462$r
- 462$s
- 462$t
- 462$v
- 462$x
- 462$y
- 462$z

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 31687: Add see from and see also from tracings in Match index
Caroline Cyr La Rose [Wed, 5 Oct 2022 15:08:11 +0000 (11:08 -0400)]
Bug 31687: Add see from and see also from tracings in Match index

This patch adds see from and see also from terms for uniform title,
chronological term, topical term, geographic name, and genre/form term
to the Match index in Elasticsearch for MARC21.

Previously, only see from/see also from for personal names,
corporate names, and meeting names were indexed.

To test:

1. Without patch, import attached authority records
1.1. Download attached records
1.2. Go to Tools > Stage MARC records for import
1.3. Click 'Browse' and choose the downloaded file
1.4. Click 'Upload file'
1.5. Choose Record type = Authority
1.6. Click 'Stage for import'
1.7. From the job details, click 'View batch'
1.8. Click 'Import this batch into the catalog'

2. Without patch, search for see from and see also from tracings
2.1. Go to Authorities
2.2. In the 'Default' drop-down menu, choose 'Uniform title'
2.3. Choose the 'Search all headings' tab
2.4. Enter the search term 'Five hundred'
2.5. Click 'Submit' or press 'Enter'
 --> No results
2.6. Redo the search for the following search terms

Authority type Search term Should be found in
Uniform title five hundred 430
Uniform title films préférés 530
Chronological term fifteenth 448
Chronological term middle ages 548
Topical term lalopathie 450
Topical term troubles communication 550
Geographic name cécropia 451
Geographic name canada francophone 551
Genre/Form term filmiques 455
Genre/Form term films 555

3. Apply patch
4. Delete index, reset mappings and reindex authorities (with command line, -a -d -r)
5. Redo the searches from step 2, there should now be results

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 31588: Update cpanfile for new OpenAPI versions (master)
Mason James [Tue, 20 Sep 2022 16:25:38 +0000 (04:25 +1200)]
Bug 31588: Update cpanfile for new OpenAPI versions (master)

Signed-off-by: Mason James <mtj@kohaaloha.com>
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 17170: DBRev 22.06.00.067
Tomas Cohen Arazi [Fri, 21 Oct 2022 14:19:39 +0000 (11:19 -0300)]
Bug 17170: DBRev 22.06.00.067

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 17170: (follow-up) Adjust for RM follow-ups
Nick Clemens [Fri, 21 Oct 2022 13:30:39 +0000 (13:30 +0000)]
Bug 17170: (follow-up) Adjust for RM follow-ups

Use direct DB names when saving/loading
Don't escape boolean values as strings

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 17170: (follow-up) Use x instead of X
Tomas Cohen Arazi [Thu, 6 Oct 2022 14:42:54 +0000 (11:42 -0300)]
Bug 17170: (follow-up) Use x instead of X

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 17170: (follow-up) adjust tests for bug 25375
Tomas Cohen Arazi [Thu, 6 Oct 2022 14:41:18 +0000 (11:41 -0300)]
Bug 17170: (follow-up) adjust tests for bug 25375

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 17170: (QA follow-up) Escape things, make them translatable
Tomas Cohen Arazi [Thu, 6 Oct 2022 13:58:53 +0000 (10:58 -0300)]
Bug 17170: (QA follow-up) Escape things, make them translatable

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 17170: (QA follow-up) Spec cleanup
Tomas Cohen Arazi [Thu, 6 Oct 2022 13:44:59 +0000 (10:44 -0300)]
Bug 17170: (QA follow-up) Spec cleanup

This patch removes not required (for now) query parameters as we can
query using q= on those. They can be added back eventually, if needed.

Attributes now match the database as well.

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 17170: (QA follow-up) DB changes
Tomas Cohen Arazi [Thu, 6 Oct 2022 13:44:21 +0000 (10:44 -0300)]
Bug 17170: (QA follow-up) DB changes

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 17170: Minor fixes
Tomas Cohen Arazi [Thu, 6 Oct 2022 12:21:50 +0000 (09:21 -0300)]
Bug 17170: Minor fixes

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 17170: (QA follow-up) Improve model structure
Martin Renvoize [Tue, 4 Oct 2022 15:52:12 +0000 (16:52 +0100)]
Bug 17170: (QA follow-up) Improve model structure

This feature is awesome, but it's modals all feel a bit off.. this is an
improvement to one of them, but far from perfect.

I opt to work with Owen to create a guideline (and template) for modals going
forward and let this patchset go in as is.

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 17170: (QA follow-up) Relocate 'Save'
Martin Renvoize [Tue, 4 Oct 2022 15:21:46 +0000 (16:21 +0100)]
Bug 17170: (QA follow-up) Relocate 'Save'

Another minor rebase issue I believe.. relocate the 'Save search as
filter' link back up to sit next to 'Edit this search'.

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 17170: (QA follow-up) Remove re-introduced file
Martin Renvoize [Tue, 4 Oct 2022 14:52:29 +0000 (15:52 +0100)]
Bug 17170: (QA follow-up) Remove re-introduced file

We reintroduced the definitions api spec file with this patch.. it's not
required.

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 17170: Add the ability to create 'saved searches' for use as filters when searchi...
Nick Clemens [Mon, 18 Apr 2022 14:51:36 +0000 (14:51 +0000)]
Bug 17170: Add the ability to create 'saved searches' for use as filters when searching the catalog

This patch alters the code in the ES QueryBuilder. Reflecting
how things are handled in build_query_compat we clean the query,
but not the limits. In Zebra we simply recursivly call buildQuery,
but the ES query structure

This patchset adds a new ability to save searches on the staff client, and display them in the results
page on staff or opac as a new filter.

New filters can be added from the results page after a search, and there is an admin page for updating
deleting and renaming filters

There is a new permission to control management of these filters

New filters can be added that are not displayed along with facets, this allows for building custom links
using these filters to keep URLs shorter

Due to bug 30528 testing in ES is recommended

To test:
 1 - Apply patches and update database and restart all
 2 - Enable new system preference 'SavedSearchFilters'
 3 - As superlibrarian perform a search in staff client, something broad like 'a'
 4 - Note new 'Save search as filter' link on results page
 5 - Click it, save search as new filter, check 'Staff client' visibility
 6 - Perform another search
 7 - Note the filter now appears above facets
 8 - Click to it filter results
 9 - Note results are limited by the new filter, and it is checked in the facets
10 - Confirm click the [x] removes the filter
11 - Go to administration->search filters
12 - Confirm the filter appears
13 - Edit and mark as OPAC visible
14 - Test OPAC to ensure it shows and can be applied/removed
15 - Copy URL with filter applied
16 - In adminsitration mark filter as not visible on staff or opac
17 - Confirm link above still works
18 - Create a new staff with catalogue and search filters permission
19 - Ensure they can access/save filters
20 - Remove filter permission and ensure they cannot
21 - Disable system preference
22 - Confirm links to search filters page are removed from admin home and admin sidebar
23 - Confirm filters do not appear on results and cannot be created
24 - Enable pref
25 - Create a filter
26 - From search filters page, click 'Edit search'
27 - Confirm you are taken to advanced search page letting you know which filter you are editing
28 - Confirm you can change searhc options and save
29 - Confirm you can perform the search from this page

Sponsored-by: Sponsored by: Round Rock Public Library [https://www.roundrocktexas.gov/departments/library/]
Signed-off-by: Michal Urban <michalurban177@gmail.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 17170: (follow-up) Display search filters admin links when appropriate
Nick Clemens [Fri, 15 Apr 2022 16:39:10 +0000 (16:39 +0000)]
Bug 17170: (follow-up) Display search filters admin links when appropriate

Sponsored-by: Sponsored by: Round Rock Public Library [https://www.roundrocktexas.gov/departments/library/]
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 17170: Unit tests
Nick Clemens [Wed, 13 Apr 2022 12:17:25 +0000 (12:17 +0000)]
Bug 17170: Unit tests

Sponsored-by: Sponsored by: Round Rock Public Library [https://www.roundrocktexas.gov/departments/library/]
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 17170: Add admin page for filters and ability to edit/save existing filters
Nick Clemens [Tue, 12 Apr 2022 18:28:00 +0000 (18:28 +0000)]
Bug 17170: Add admin page for filters and ability to edit/save existing filters

This patchset adds a new ability to save searches on the staff client, and display them in the results
page on staff or opac as a new filter.

New filters can be added from the resuilts page after a search, and there is an admin page for updating
deleting and renaming filters

There is a new permission to control management of these filters

New filters can be added that are not displayed along with facets, this allows for building custom links
using these filters to keep URLs shorter

Due to bug 30528 testing in ES is recommended

To test:
 1 - Apply patches and update database and restart all
 2 - Enable new system preference 'SavedSearchFilters'
 3 - As superlibrarian perform a search in staff client, something broad like 'a'
 4 - Note new 'Save search as filter' link on results page
 5 - Click it, save search as new filter, check 'Staff client' visibility
 6 - Perform another search
 7 - Note the filter now appears above facets
 8 - Click to it filter results
 9 - Note results are limited by the new filter, and it is checked in the facets
10 - Confirm click the [x] removes the filter
11 - Go to administration->search filters
12 - Confirm the filter appears
13 - Edit and mark as OPAC visible
14 - Test OPAC to ensure it shows and can be applied/removed
15 - Copy URL with filter applied
16 - In adminsitration mark filter as not visible on staff or opac
17 - Confirm link above still works
18 - Create a new staff with catalogue and search filters permission
19 - Ensure they can access/save filters
20 - Remove filter permission and ensure they cannot
21 - Disable system preference
22 - Confirm links to search filters page are removed from admin home and admin sidebar
23 - Confirm filters do not appear on results and cannot be created
24 - Enable pref
25 - Create a filter
26 - From search filters page, click 'Edit search'
27 - Confirm you are taken to advanced search page letting you know which filter you are editing
28 - Confirm you can change searhc options and save
29 - Confirm you can perform the search from this page

Sponsored-by: Sponsored by: Round Rock Public Library [https://www.roundrocktexas.gov/departments/library/]
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 17170: Handle search filters in query builders
Nick Clemens [Thu, 17 Mar 2022 10:50:02 +0000 (10:50 +0000)]
Bug 17170: Handle search filters in query builders

This patch updates the query building code to expand filters when searching
and pass them back as part of the cgi and descriptive search strings

Sponsored-by: Sponsored by: Round Rock Public Library [https://www.roundrocktexas.gov/departments/library/]
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 17170: Add search filters to staff and opac interfaces
Nick Clemens [Fri, 14 Jan 2022 14:08:51 +0000 (14:08 +0000)]
Bug 17170: Add search filters to staff and opac interfaces

This patch displays the filters on the results pages with the facets

Sponsored-by: Sponsored by: Round Rock Public Library [https://www.roundrocktexas.gov/departments/library/]
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 17170: Add API route for SearchFilters
Nick Clemens [Thu, 16 Sep 2021 15:54:19 +0000 (15:54 +0000)]
Bug 17170: Add API route for SearchFilters

This adds the API routes and tests

Sponsored-by: Sponsored by: Round Rock Public Library [https://www.roundrocktexas.gov/departments/library/]
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 17170: Update schema for boolean
Nick Clemens [Wed, 13 Apr 2022 13:29:41 +0000 (13:29 +0000)]
Bug 17170: Update schema for boolean

Sponsored-by: Sponsored by: Round Rock Public Library [https://www.roundrocktexas.gov/departments/library/]
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 17170: DBIC schema
Tomas Cohen Arazi [Thu, 6 Oct 2022 12:05:57 +0000 (09:05 -0300)]
Bug 17170: DBIC schema

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 17170: DB Updates
Nick Clemens [Tue, 14 Sep 2021 12:58:00 +0000 (12:58 +0000)]
Bug 17170: DB Updates

This patch adds the new table, permission, and a syspref to enable the feature

Sponsored-by: Sponsored by: Round Rock Public Library [https://www.roundrocktexas.gov/departments/library/]
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 31830: (QA follow-up) include heading in page section
Katrin Fischer [Fri, 21 Oct 2022 13:40:05 +0000 (13:40 +0000)]
Bug 31830: (QA follow-up) include heading in page section

Moves the div up a few levels to the heading for this part of the page
is included. This also makes it consistent with the page-section for
"Manage orders" directly above.

Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 31830: Add page-section class to acq home table
Lucas Gass [Wed, 19 Oct 2022 22:51:45 +0000 (22:51 +0000)]
Bug 31830: Add page-section class to acq home table

To test:
1. Go to the Acquisitions home page.
2. Look and the bugdets and funds table and notice the page-section class.
3. Make sure everything looks good.

Note: I made some indentation changes.

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 31771: Add page-section to stock rotation pages
Lucas Gass [Tue, 18 Oct 2022 22:22:55 +0000 (22:22 +0000)]
Bug 31771: Add page-section to stock rotation pages

To test:
1. Apply patch
2. Set the system preference 'StockRotation' to enable.
3. Go to Cataloging / Stock rotation
4. Add some new rotas
5. Make sure the page looks good with the new page-section div

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 31770: Add page-section class to rotating collections page
Lucas Gass [Tue, 18 Oct 2022 22:11:30 +0000 (22:11 +0000)]
Bug 31770: Add page-section class to rotating collections page

To test:
1. Apply patch
2. Go to the rotating collections page. Tools / Rotating collections
3. Add some new collections
4. Note that the page looks good with the new page section div.

Note:
I made some indentation changes and fixed a small typo where the 'dropdown-toggle' class was not being properly applied.

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 31848:: Compiled CSS
Tomas Cohen Arazi [Fri, 21 Oct 2022 13:22:12 +0000 (10:22 -0300)]
Bug 31848:: Compiled CSS

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 31848: Correct margin and padding on action fieldset in aside
Owen Leonard [Tue, 18 Oct 2022 12:07:38 +0000 (12:07 +0000)]
Bug 31848: Correct margin and padding on action fieldset in aside

This patch makes a minor modification to the padding and margin of
<fieldset class="action"> nested in a .brief fieldset. This markup is
seen most often in sidebar filter form. The change allows the submit
button to line up better with other form fields.

The patch also corrects and inconsistency by modifying the holds queue
template so that the .action fieldset is inside the .brief fieldset.

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

- If necessary, place one or more holds for pickup at your logged-in
  library and rebuild the holds queue
  (misc/cronjobs/holds/build_holds_queue.pl)
- Go to Circulation -> Holds queue.
- The form should look correct.
- Submit the form and check the form in the sidebar. It should look
  correct as well, with the submit button aligned left with the other
  form fields.
- Check pages with similar sidebar forms, e.g.:
  - Administration -> Budgets -> Funds -> Planning
  - Circulation -> Overdues
  - Circulation -> Holds to pull
  - Acquisitions -> Invoices -> Search results

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 31753: Compiled CSS
Tomas Cohen Arazi [Fri, 21 Oct 2022 13:21:01 +0000 (10:21 -0300)]
Bug 31753: Compiled CSS

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 31753: (follow-up) lighten headers more
Martin Renvoize [Fri, 21 Oct 2022 10:52:43 +0000 (11:52 +0100)]
Bug 31753: (follow-up) lighten headers more

OK.. colors are hard!.. This patch increases the 'lighten' parameter a
little and hopefully improves the headers and footers of modals slighty
back to being less 'bright' green.

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 31753: Dialog boxes inside of modals don't seem wide enough
Owen Leonard [Tue, 18 Oct 2022 18:39:21 +0000 (18:39 +0000)]
Bug 31753: Dialog boxes inside of modals don't seem wide enough

This patch makes some tweaks to the style of Bootstrap modals in the
staff interface, including making a correction to the style of .dialog
<div>s within modals.

The patch makes a correction to the modal markup generated by the guided
reports template for SQL previews so that the modal footer displays
correctly.

The patch also removes CSS which makes links inside headings the same
color as the heading text. The effect of this was to make links
invisible in the headings of hold confirmation modals.

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

- Test the hold confirmation modal in check-in:
  - Place a hold on an available title.
  - Check in an item from that record and confirm that the modal
    looks correct. The "Check in message" box should take up the whole
    width of the modal, and the links in the modal header should be the
    standard green.
- Test the SQL preview modal in reports:
  - Go to Reports -> Use saved.
  - Click the actions menu associated with one of your saved reports and
    choose "Preview SQL." The modal should look correct.
- Other modals which might be tested: MARC previews from the
  bibliographic detail page, the cataloging search page, the Z39.50
  search page, etc.

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 29987: (QA follow-up) Remove unused cnt attribute missing a filter
Kyle M Hall [Fri, 21 Oct 2022 10:49:32 +0000 (10:49 +0000)]
Bug 29987: (QA follow-up) Remove unused cnt attribute missing a filter

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 29987: Improve validation
Martin Renvoize [Fri, 30 Sep 2022 15:06:45 +0000 (16:06 +0100)]
Bug 29987: Improve validation

This patch adds hinting to display the required state of the cash
register fields.

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 29987: Display credit without offsets in transactions
Martin Renvoize [Wed, 24 Aug 2022 10:06:57 +0000 (11:06 +0100)]
Bug 29987: Display credit without offsets in transactions

This patch adds a row to the transactions table for credits without
corresponding offsets

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 29987: (follow-up) Fix missing payment type
Martin Renvoize [Wed, 24 Aug 2022 10:23:25 +0000 (11:23 +0100)]
Bug 29987: (follow-up) Fix missing payment type

The payment type include has changed since the patch was first written,
we now require a 'type' is passed to properly set the field name.

This should fix the 'bankable' issue raised.

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 29987: Add register support to manual credits
Martin Renvoize [Wed, 29 Jun 2022 16:19:05 +0000 (17:19 +0100)]
Bug 29987: Add register support to manual credits

This patch adds the register and transaction type selection options to
the manual credit page.

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 31714: Add Generic way to print patron slips
Martin Renvoize [Fri, 7 Oct 2022 15:24:20 +0000 (16:24 +0100)]
Bug 31714: Add Generic way to print patron slips

This patch adds a very simple controller and template to allow patron
slip printing without all the boilerplate.

See bug 31713 for an example use.

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 31684: Plugin versions starting with a "v" cause unnecessary warnings
Kyle M Hall [Wed, 17 Mar 2021 14:44:31 +0000 (10:44 -0400)]
Bug 31684: Plugin versions starting with a "v" cause unnecessary warnings

Our code assumes that plugin version will be purely numeric ( e.g. 1.2.3 ) but many plugin authors ( including myself ) use the format "v1.2.3".
This causes warnings as we use a numeric comparison on the version numbers.
It could make sense to check for and strip any v's from the beginning of the version.

Test Plan:
1) Apply the first patch to set the test plugin's version to v1.01
2) prove t/db_dependent/Koha/Plugins/Plugins.t
3) Note the warnings and test failures
4) Apply this patch
5) prove t/db_dependent/Koha/Plugins/Plugins.t
6) All tests pass!

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 31684: Set Koha::Plugin::Test version to 'v1.01'
Kyle M Hall [Wed, 5 Oct 2022 12:47:16 +0000 (12:47 +0000)]
Bug 31684: Set Koha::Plugin::Test version to 'v1.01'

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 31803: Compiled CSS
Tomas Cohen Arazi [Fri, 21 Oct 2022 12:56:21 +0000 (09:56 -0300)]
Bug 31803: Compiled CSS

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 31803: "remove from cart" button displayed even if not in cart
Owen Leonard [Thu, 20 Oct 2022 10:55:06 +0000 (10:55 +0000)]
Bug 31803: "remove from cart" button displayed even if not in cart

This patch modifies CSS related to the "Remove from cart" button
associated with bibligraphic record views. A change in specificity of
buttons made by Bug 30952 made it so that the button was no longer
hidden correctly.

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

- Locate a bibliographic record in the staff interface and view the
  detail page.
- In the toolbar you should see an "Add to cart" button but not a
  "Remove from cart" button.
- The buttons should correctly toggle on and off as you add and remove
  the title from the cart.

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 31829: Fix change password form alignment
Lucas Gass [Wed, 19 Oct 2022 22:44:45 +0000 (22:44 +0000)]
Bug 31829: Fix change password form alignment

This patch gives the fieldset on member-password.tt the class row. It also moves the hints below the list.

To test:
1. Apply patch
2. Pull up a patron record and go to 'Change password'.
3. Make sure the form now looks good.
4. Also check and make sure the form is still functional.

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 31885: Define submit button as primary in renew page
Fridolin Somers [Thu, 20 Oct 2022 06:29:06 +0000 (20:29 -1000)]
Bug 31885: Define submit button as primary in renew page

Submit button in renew page is the most important action on this form, it should be yellow

Test plan :
1) Go to renew page /cgi-bin/koha/circ/renew.pl
2) Check submit button 'Submit' as class 'btn-primary' and is yellow

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 31750: (follow-up) Stylelint fixes
Owen Leonard [Tue, 18 Oct 2022 17:34:16 +0000 (17:34 +0000)]
Bug 31750: (follow-up) Stylelint fixes

This patch makes no changes which affect the style of the page.
All changes are corrections to formatting.

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 31750: Need more padding in cataloguing
Owen Leonard [Tue, 18 Oct 2022 17:21:40 +0000 (17:21 +0000)]
Bug 31750: Need more padding in cataloguing

This patch makes some minor tweaks to the CSS controlling the appearance
of the toolbar shown in the basic cataloging editor.

To test, apply the patch and go to Cataloging -> New record.

- Confirm that the page looks correct, with the toolbar the same width
  as the main content of the page.
- Confirm that the toolbar looks correct when you scroll and the toolbar
  "floats"

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 31811: Add 'page-section' to MARC modification templates pages
Owen Leonard [Thu, 20 Oct 2022 17:59:19 +0000 (17:59 +0000)]
Bug 31811: Add 'page-section' to MARC modification templates pages

This patch adds "page-section" divs to the MARC modification templates
template so that sections are properly defined and content has adequate
contrast.

Note: The patch includes indentation changes, so please ignore
whitespace when checking the diff.

To test, apply the patch and go to Cataloging -> MARC modification
templates.

The main content should be surrounded by a white box whether you're
looking at the list of templates, the the action add/edit form.

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 31738: Fix untranslatable string for recalls
Katrin Fischer [Sat, 15 Oct 2022 22:04:11 +0000 (00:04 +0200)]
Bug 31738: Fix untranslatable string for recalls

To test translation:
1. Apply patch and update your po files using:
   https://wiki.koha-community.org/wiki/Translating_Koha#Updating_the_po_files_in_your_installation
2. Verify the string appears in po files now and translate it
3. Install the language

To test functionality:
1. Turn on recalls
   1.1. In Administration > Global system preferences, enable UseRecalls
   1.2. Add recalls permissions in your circulation rules
2. In the OPAC, log in as a patron
3. Find a record with checked out items and place a recall
4. In the intranet, go to the patron file of the patron who currently has that item checked out
--> In the Checkouts table at the bottom of the page, there is a red message next to the recalled title

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 31810: Define 'Place hold' button as primary
Fridolin Somers [Thu, 20 Oct 2022 01:42:50 +0000 (15:42 -1000)]
Bug 31810: Define 'Place hold' button as primary

When placing a hold in staff, the 'Place hold' button should be yellow for the most important action on this form.

Patch changes this button from btn-default to btn-primary.

Test plan :
Play with placing hold, one and several, with cases :
- normal
- override required
- none available

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 31884: Define 'check in' button as primary
Fridolin Somers [Thu, 20 Oct 2022 06:20:35 +0000 (20:20 -1000)]
Bug 31884: Define 'check in' button as primary

Check in button in check in page is the most important action on this form, it should be yellow

Test plan :
1) Go to check in page /cgi-bin/koha/circ/returns.pl
2) Check submit button 'Check in' as class 'btn-primary' and is yellow

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 28375: (QA follow-up) Remove two remaining interface params
Marcel de Rooy [Mon, 17 Oct 2022 11:45:40 +0000 (11:45 +0000)]
Bug 28375: (QA follow-up) Remove two remaining interface params

No test plan: parameter is already obsolete.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 28375: (follow-up) Use C4::Context->interface
Nick Clemens [Fri, 7 Oct 2022 12:00:21 +0000 (12:00 +0000)]
Bug 28375: (follow-up) Use C4::Context->interface

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 28375: (follow-up) Remove guessed interface parameter - always pass
Nick Clemens [Fri, 30 Sep 2022 12:06:25 +0000 (12:06 +0000)]
Bug 28375: (follow-up) Remove guessed interface parameter - always pass

Previous patch added interface parameter passed on each call. There was an
existing one that 'guessed' - this patch removes that

Fixes missing comma

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 28375: Inefficiencies in fetching COinS
Nick Clemens [Tue, 18 May 2021 15:59:53 +0000 (15:59 +0000)]
Bug 28375: Inefficiencies in fetching COinS

This patchset adds an 'interface' parameter to XSLTParseForDisplay to avoid fetching
coins when not needed

Additionally we move some logic from the scripts to searchResults to avoid an extra fetch fo the biblio object

To test:
1 - Enable  COinSinOPACResults syspref
2 - Also enable  OPACShowOpenURL  and  OPACOpenURLItemTypes  - adding an itemtype that you can find
3 - Perform a search on the OPAC and confirm coins are included and openurl shown
4 - Perform a search on staff client and confirm openurls do not show
5 - Apply patch
6 - Results should be the same

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 31728: Remove duplicate claims modal template markup
Owen Leonard [Mon, 10 Oct 2022 16:22:05 +0000 (16:22 +0000)]
Bug 31728: Remove duplicate claims modal template markup

This patch removes some markup which duplicates markup now in a
separate include file. modal-claims.inc contains the same
markup for #claims-returned-modal as checkouts.table.inc.

To test, apply the patch and make sure a LOST authorized value code
is defined in the  ClaimReturnedLostValue system preference.

- Check an item out to a patron, e.g. item 39999000001334 to patron
  23529000179433.
- In the table showing the patron's checkouts, click the "Claim
  returned" button.
- A "Claim returned" modal should appear.
- Click "Make claim."
- Switch to the "Claims" tab. You should see the item listed there.
- Check out another item, e.g. 39999000013313, to the patron and test
  the return claim process again from the patron detail page.
- Check out another item, e.g. 39999000018691, to the patron with a due
  date specified which is in the past.
- Go to Circulation -> Overdues. You should see the item in the list of
  overdues. Test that the "Claim returned" button works correctly on
  this page too.

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 31842: Fix DT search error on col.data.split
Marcel de Rooy [Mon, 17 Oct 2022 10:32:47 +0000 (10:32 +0000)]
Bug 31842: Fix DT search error on col.data.split

Set searchable to false for opac_info.

Test plan:
Check if DT search for libraries works again.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
[EDIT] Reverted the data/render function change as requested
by Jonathan. Considering the fact that dataTables or custom
extensions do not check col.data.split as a clear bug btw.
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 31883: Filter trim causes false warnings
Mason James [Thu, 20 Oct 2022 00:26:17 +0000 (13:26 +1300)]
Bug 31883: Filter trim causes false warnings

Test plan:
Run xt/find-missing-filters.t

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 29012: Fix undef warnings around unseen_renewals_allowed in smart-rules.pl
Slava Shishkin [Tue, 11 Oct 2022 15:18:23 +0000 (18:18 +0300)]
Bug 29012: Fix undef warnings around unseen_renewals_allowed in smart-rules.pl

Trivial fix.

To reproduce:
1. Create or edit a rule on /cgi-bin/koha/admin/smart-rules.pl - i.e. submit the form (make POST request)
2. Notice the mentioned above warning in plack-intranet-error.log
3. Apply the patch.
4. Repeat step 1.
5. That warning in log file should be no more.

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 29012: Fix existing update to prevent inserting incorrect data
Nick Clemens [Tue, 11 Oct 2022 12:40:51 +0000 (12:40 +0000)]
Bug 29012: Fix existing update to prevent inserting incorrect data

Both updates now rely on 'suspension_chargeperiod' as the source of truth
for existence of a rule. Spot checking some existing production databases this
seems to be acceptable.

This alters the update to only add rules where a 'suspension_chargeperiod' rule exists
and a value for the rule is not already set.

NOTE: While the table has a unique key:
UNIQUE KEY `branchcode` (`branchcode`,`categorycode`,`itemtype`,`rule_name`),

This key doesn't prevent duplicates on NULLs, i.e.:

branchcode  | categorycode  | itemtype  | rule_name                 | rule_value
NULL        | NULL          | BK        | unseen_renewals_allowed   | 1
NULL        | NULL          | BK        | unseen_renewals_allowed   | 2
NULL        | NULL          | BK        | unseen_renewals_allowed   | 3

So we need to both check that any rule is present and that the specific rule is not.
The 'INSERT IGNORE' won't IGNORE existing values except for the most specific rules

Test plan:
 0 - Edit and save existing default rule in DB (sample data does not include suspension_chargeperiod)
 1 - Set some rules for "Default checkout, hold and return policy" for "Standard rule" and some specific libraries
 2 - cp installer/data/mysql/db_revs/220600024.pl installer/data/mysql/atomicupdate/
 3 - SELECT * FROM circulation rules, note the number of rules that exist
 4 - updatedatabase
 5 - Check the DB again, you should now have rules as described in the bug
     i.e. You will have 5 new rules per 'Default checkout, hold and return policy'
 6 - apply 1st patch on bug
 7 - rm installer/data/mysql/atomicupdate/220600024.pl (so we don't add again)
 8 - updatedatabase
 9 - Check DB, the extra rules have been deleted
10 - Apply 2nd patch
11 - cp installer/data/mysql/db_revs/220600024.pl installer/data/mysql/atomicupdate/
12 - rm installer/data/mysql/atomicupdate/bug_31727.pl (so we can confirm update isn't adding rules)
13 - updatedatabase
14 - Confirm no change in rules since step 9
15 - git reset --hard (get deleted update back)
16 - rm installer/data/mysql/atomicupdate/220600024.pl

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 31417: Update and reference cat-menu.inc
Martin Renvoize [Fri, 19 Aug 2022 11:18:46 +0000 (12:18 +0100)]
Bug 31417: Update and reference cat-menu.inc

This patch reinstates the cat-menu.inc include and references it from
the various 'tools' that are closely tied to cataloging.

We use the new cataloging home page submission as a reference for which
options should appear in the menu.

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 31162: (QA follow-up) Use new WRAPPPERs and fix help link
Katrin Fischer [Mon, 17 Oct 2022 20:18:16 +0000 (20:18 +0000)]
Bug 31162: (QA follow-up) Use new WRAPPPERs and fix help link

This migrates the start page to the new page structure using
WRAPPERs instead of includes. One visible problem before
was the missing help link.

Also makes sure the help link leads to the correct page :)

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 31162: Add a cataloging module home page
Martin Renvoize [Fri, 15 Jul 2022 11:37:03 +0000 (12:37 +0100)]
Bug 31162: Add a cataloging module home page

This patch adds a new cataloging-home template and controller and
replaces most cases of links to addbooks.  This serves to provide a new
cataloging home page for the cataloging module and keeps it distinct
from the current addbooks page it partially replaces as a starting point
for cataloging.

We migrate most cataloging related tools from the 'Tools' module whilst
opting to move 'Rotating collections' to the 'Circulation' section of
the 'Tools' homepage. We also add links to the cataloging tab of system
preferences and a the adminstration pages if the user has the correct
permissions to have access to these areas.

Signed-off-by: KIT <michaela.sieber@kit.edu>
Signed-off-by: Emmanuel Bétemps <e.betemps@gmail.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 31626: DBRev 22.06.00.066
Tomas Cohen Arazi [Tue, 18 Oct 2022 12:54:08 +0000 (09:54 -0300)]
Bug 31626: DBRev 22.06.00.066

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 31626: DBIC schema
Tomas Cohen Arazi [Tue, 18 Oct 2022 12:50:41 +0000 (09:50 -0300)]
Bug 31626: DBIC schema

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 31626: (QA follow-up) Make db_rev robust
Tomas Cohen Arazi [Tue, 18 Oct 2022 12:48:59 +0000 (09:48 -0300)]
Bug 31626: (QA follow-up) Make db_rev robust

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 31626: Add letter id to the message queue table
Kyle Hall [Mon, 26 Sep 2022 16:05:10 +0000 (12:05 -0400)]
Bug 31626: Add letter id to the message queue table

It can be useful to know exactly what template was used to generate a notice. To this end, it would be useful to store the letter id as a foreign key in the message queue table.

Test Plan:
1) Apply this patch
2) Run updatedatabase.pl
3) Restart all the things!
4) Run an action that will send a notice to a patron
5) Note the letter id is now in the message_queue table for that notice!

Signed-off-by: Andrew Fuerste-Henry <andrewfh@dubcolib.org>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 25426: DBRev 22.06.00.065
Tomas Cohen Arazi [Tue, 18 Oct 2022 12:38:05 +0000 (09:38 -0300)]
Bug 25426: DBRev 22.06.00.065

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 25426: (QA follow-up) Make subtest stand on its own
Tomas Cohen Arazi [Tue, 18 Oct 2022 12:35:17 +0000 (09:35 -0300)]
Bug 25426: (QA follow-up) Make subtest stand on its own

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 25426: (QA follow-up) Update notes on circulation rules page for new pref
Katrin Fischer [Mon, 3 Oct 2022 10:14:20 +0000 (12:14 +0200)]
Bug 25426: (QA follow-up) Update notes on circulation rules page for new pref

This adds a note to the circulation rules page that already
explained about ReservesControlBranch to also include information
about the new CircControlReturnsBranch system preference.

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 25426: (QA follow-up) Rephrase CircControlReturnsBranch system preference description
Katrin Fischer [Mon, 3 Oct 2022 09:32:55 +0000 (11:32 +0200)]
Bug 25426: (QA follow-up) Rephrase CircControlReturnsBranch system preference description

Rephrased in hope to make its use a little clearer:
* 'logged in at' replaced with 'checked in at' keeping self checks in mind
* 'At checkin' rephrased a bit to explain possible options

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 25426: (QA follow-up) Small fixes to POD and INSERT IGNORE or datatabase update
Katrin Fischer [Mon, 3 Oct 2022 09:31:06 +0000 (11:31 +0200)]
Bug 25426: (QA follow-up) Small fixes to POD and INSERT IGNORE or datatabase update

* Makes sure the system preference is added with INSERT IGNORE
* Some smaller fixes/additions to the POD of get_return_branch_policy

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 25426: Allow return policy to be selected via syspref and not just home library
Kyle M Hall [Thu, 25 Aug 2022 13:05:32 +0000 (13:05 +0000)]
Bug 25426: Allow return policy to be selected via syspref and not just home library

1) Apply this patch
2) Run updatedatabase.pl
3) Verify CircControlReturnsBranch is set to home library by default
4) Set a Return policy for Branch A to "Item returns home" ( homebranch )
5) Set a Return polity for Branch B to "Item returns to issuing library" ( holdingbranch )
6) Set a Return polity for Branch C to "Item floats" ( noreturn )
7) Create an item with homebranch of Branch A, holding branch of branch B
8) Log in as Branch C
9) Set CircControlReturnsBranch to "the library the item is currently held by"
10) Check the item in, note it should be returned to the holding library
11) Set CircControlReturnsBranch to "the library the item is owned by"
12) Check the item in, note it should be returned to the home library
13) Set CircControlReturnsBranch to "the library you are logged in at"
14) Check the item in, note it should float

Signed-off-by: Andrew Fuerste-Henry <andrewfh@dubcolib.org>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 14783: (follow-up) Fix problematic db_rev
Tomas Cohen Arazi [Tue, 18 Oct 2022 12:02:44 +0000 (09:02 -0300)]
Bug 14783: (follow-up) Fix problematic db_rev

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 27265: (QA follow-up) Typo on L99 cron script
Marcel de Rooy [Mon, 17 Oct 2022 13:08:33 +0000 (13:08 +0000)]
Bug 27265: (QA follow-up) Typo on L99 cron script

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 27265: (follow-up) Use existing parameter
Nick Clemens [Fri, 30 Sep 2022 12:32:25 +0000 (12:32 +0000)]
Bug 27265: (follow-up) Use existing parameter

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 27265: Enable message queue cron to accept multiple codes and types
Kyle M Hall [Fri, 18 Dec 2020 13:45:06 +0000 (08:45 -0500)]
Bug 27265: Enable message queue cron to accept multiple codes and types

It would be nice to be able to combine several types in a single run,
but exclude others, without having to have multiple cron lines

Test Plan:
1) Apply this patch
2) Run process_message_queue.pl with a single -c parameter
3) Note behavior is unchanged
4) Run process_message_queue.pl with multiple -c parameters
5) Note all the codes specified are processed
6) Repeat 2-5 with -t for type limits

Signed-off-by: Andrew Fuerste-Henry <andrewfh@dubcolib.org>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 27315: use the namespace-aware docbook stylesheet
Andreas Roussos [Tue, 11 Oct 2022 06:41:15 +0000 (08:41 +0200)]
Bug 27315: use the namespace-aware docbook stylesheet

When viewing the man page for the `koha-list` command, the output does
not appear correctly: there appears to be a "staircase"-like effect on
the text. The same is true for all other man pages.

The source XML files for our man pages have the following namespace
declaration at the top: xmlns='http://docbook.org/ns/docbook', which
means they are DocBook V5.0 documents and should be processed by
namespace-aware DocBook XSL stylesheets.

This patch fixes that by using the DocBook-to-man-page transformation
stylesheet from the docbook-xsl-ns package (note the "-ns" suffix).

Test plan:
1) Apply the patch
2) Build and install new package
3) Confirm the man pages display correctly

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 28555: (follow-up) Add to script documenation
Nick Clemens [Mon, 17 Oct 2022 17:17:25 +0000 (17:17 +0000)]
Bug 28555: (follow-up) Add to script documenation

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 28555: (follow-up) Make verbose count flags passed
Nick Clemens [Wed, 12 Oct 2022 13:11:46 +0000 (13:11 +0000)]
Bug 28555: (follow-up) Make verbose count flags passed

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 28555: Improve logging for overdue_notices.pl
Nick Clemens [Fri, 11 Jun 2021 15:12:32 +0000 (15:12 +0000)]
Bug 28555: Improve logging for overdue_notices.pl

Currenlty the output with -v from overdue_notices is a bit overwhelming and hard to parse

I do a few things here:
1 - Only show SQL if verbose > 1
2 - Add some separators to make it more readab;e
3 - Remove some redundant messages with branchcode and borrowernumber

To test:
1: perl misc/cronjobs/overdue_notices.pl -v
2: Notice you get a LOT of information all smushed together
3: Apply patch
4: perl misc/cronjobs/overdue_notices.pl -v
5: Less info, and easier to read
6: perl misc/cronjobs/overdue_notices.pl -v -v
7: All the info, but nicer to read

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 31835: Add page-section to holds queue
Lucas Gass [Mon, 17 Oct 2022 17:24:10 +0000 (17:24 +0000)]
Bug 31835: Add page-section to holds queue

To test:
1. Apply patch
2. Make some holds and then run build_holds_queue.pl
3. Look at the holds queue and make sure everything looks right with the new page-section.

Note:
I made some indentation and whitespace changes.

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 31569: (QA follow-up) Add missing entries in schema
Tomas Cohen Arazi [Mon, 17 Oct 2022 21:00:41 +0000 (18:00 -0300)]
Bug 31569: (QA follow-up) Add missing entries in schema

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 14783: DBRev 22.06.00.064
Tomas Cohen Arazi [Mon, 17 Oct 2022 20:33:34 +0000 (17:33 -0300)]
Bug 14783: DBRev 22.06.00.064

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 14783: Update atomicupdate syntax
Tomas Cohen Arazi [Mon, 17 Oct 2022 18:59:07 +0000 (15:59 -0300)]
Bug 14783: Update atomicupdate syntax

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 14783: Compiled CSS
Tomas Cohen Arazi [Mon, 17 Oct 2022 18:45:10 +0000 (15:45 -0300)]
Bug 14783: Compiled CSS

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 14783: (QA follow-up) Rename method and move tests
Tomas Cohen Arazi [Mon, 17 Oct 2022 18:43:22 +0000 (15:43 -0300)]
Bug 14783: (QA follow-up) Rename method and move tests

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 14783: (QA follow-up) Add unit tests.
Björn Nylén [Tue, 9 Nov 2021 14:40:22 +0000 (15:40 +0100)]
Bug 14783: (QA follow-up) Add unit tests.

This commit adds unit tests for Bug 14783.

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 14783: (QA follow-up) Change "Pick up location" to "Pickup location" in table.
Björn Nylén [Tue, 9 Nov 2021 15:42:04 +0000 (16:42 +0100)]
Bug 14783: (QA follow-up) Change "Pick up location" to "Pickup location" in table.

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 14783: (follow-up) Move pickup library form into modal
Owen Leonard [Wed, 28 Jul 2021 19:27:34 +0000 (19:27 +0000)]
Bug 14783: (follow-up) Move pickup library form into modal

This patch attemps to simplify the list of holds by moving the form for
changing a hold's pickup library into a modal dialog.

This patch also makes minor tweaks to the CSS for the "X" close button
shown in modal in windows. Instances where modal markup used "x" have
been updated to use the Bootstrap 4 standard "&times;"

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

- Turn on the OPACAllowUserToChangeBranch system preference.
- Log in to the OPAC as a user with holds.
- In the view of your holds, confirm that each hold which can be
  modified shows a "Change" link.
- Clicking the link should show a modal window with the title of the
  item on hold shown in the header.
- Confirm that changing the pickup location works correctly.

Signed-off-by: Barbara Johnson <barbara.johnson@bedfordtx.gov>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>