koha.git
3 years agoBug 27413: Restore debarred and debarredcomment to batch patron mod tools
Jonathan Druart [Fri, 15 Jan 2021 10:27:47 +0000 (11:27 +0100)]
Bug 27413: Restore debarred and debarredcomment to batch patron mod tools

It was added by bug 13552 but removed by 19793.

Test plan:
Update patron in a batch and confirm that you can modify the restriction
expiration and comment.

Signed-off-by: Joonas Kylmälä <joonas.kylmala@helsinki.fi>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
(cherry picked from commit 85ae9bd021aef4e7423669a61df7c4c7fd5b726b)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
3 years agoBug 27047: Fix suggestions filtering at the OPAC
Jonathan Druart [Fri, 15 Jan 2021 10:16:26 +0000 (11:16 +0100)]
Bug 27047: Fix suggestions filtering at the OPAC

There is a "Search" input box that appears to be broken for... ever?

This patch replaces it with the DataTables filtering.

Test plan:
Create some suggestions, go to your suggestion list at the OPAC
Confirm that the filtering now works correctly

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>
(cherry picked from commit 63c49e1f89c298d6b385729fbfd9d30c7674a33a)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
3 years agoBug 27299: Remove tokenization for phrase register/index with ICU
David Cook [Tue, 22 Dec 2020 22:57:38 +0000 (09:57 +1100)]
Bug 27299: Remove tokenization for phrase register/index with ICU

This patch removes tokenization for phrase register/index when
using ICU.

This should cause "exact" searches to work the same way with ICU
as they do with CHR.

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
(cherry picked from commit 7f9c909d5a603c40125064e7e32f24e595d596e2)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
3 years agoBug 27420: Use object accessor for $attr_type->class()
Martin Renvoize [Wed, 13 Jan 2021 11:22:53 +0000 (11:22 +0000)]
Bug 27420: Use object accessor for $attr_type->class()

We introduced a bug in the patron attribute forms with bug 5161.

Test plan
1/ Create two PA_CLASS authorized values
2/ Create two corresponding patron attribute types referencing the above
classes.
3/ Edit a patron, both attributes should appear within their own
fieldsets at the bottom of the member entry form.
4/ Set a value for the first of the two patron attributes and save
5/ Edit the patron again, note that the first attribute no longer
resides within it's own fieldset
6/ Apply the patch
7/ Edit the patron again, note that the first attribute now resides
inside it's own fieldset again
8/ Signoff

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
(cherry picked from commit 08396d4b2ffe7db4f7550631a751603f01387095)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
3 years agoBug 15448: Remove items fetch
Jonathan Druart [Thu, 14 Jan 2021 09:44:46 +0000 (10:44 +0100)]
Bug 15448: Remove items fetch

We fetch them already too many times.

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
(cherry picked from commit 6cd68dd05bdac2787fa0b67b7f90a5836c57745c)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
3 years agoBug 15448: Fix ISE
Jonathan Druart [Thu, 14 Jan 2021 09:42:53 +0000 (10:42 +0100)]
Bug 15448: Fix ISE

The method Koha::Items->itemnumber is not covered by tests!

Trace begun at /kohadevbox/koha/Koha/Objects.pm line 592
Koha::Objects::AUTOLOAD('Koha::Items=HASH(0x55981fd94790)') called at /kohadevbox/koha/opac/opac-reserve.pl line 465

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
(cherry picked from commit 9790b5ca3a1b8a92d56a14207d6245c02dfe7fd6)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
3 years agoBug 15448: (follow-up) Adapt to changes on bug 24254
Tomas Cohen Arazi [Mon, 21 Dec 2020 19:30:31 +0000 (16:30 -0300)]
Bug 15448: (follow-up) Adapt to changes on bug 24254

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
(cherry picked from commit 8af3ecdd538f22bfbf4d99bda629283fe856f3de)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
3 years agoBug 15448: (follow-up) Fetch the patron category once
Tomas Cohen Arazi [Fri, 4 Dec 2020 11:33:43 +0000 (08:33 -0300)]
Bug 15448: (follow-up) Fetch the patron category once

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
(cherry picked from commit c9f66f5e6b5360a57885c26436c7eb3f2747bd28)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
3 years agoBug 15448: Filter out items hidden in OPAC on placing hold
Tomas Cohen Arazi [Fri, 4 Dec 2020 11:21:36 +0000 (08:21 -0300)]
Bug 15448: Filter out items hidden in OPAC on placing hold

This patch leverages on bug 24254's
Koha::Items->filter_by_visible_in_opac to filter out items that
shouldn't be presented to the end user in the OPAC interface.

To test:
1. Circulation and Fine rules for item-level holds are set to allow.
2. Setting the OpacHiddenItems preference to "ccode: [SUPPRESS]"
3. An item with collection Code Suppress is set.
4. Search for the title in the OPAC.
=> SUCCESS: The Suppress ccode item isn't shown.
5. View the detail page for the title.
=> SUCCESS: The suppress ccode item isn't shown.
6. Place a hold on the item:
  -- Click "Show more options"
  -- Select "A specific item"
=> FAIL: the ccode with the opachiddenitems rule has an item that appear in the list to place a hold
7. Apply this patch and repeat 6
=> SUCCESS: The item doesn't show!
8. Sign off :-D

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
(cherry picked from commit 051f5519861cb2365ddd06d08a9047648af2318b)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
3 years agoBug 24254: (QA follow-up) Inlines opachiddenitems handling
Martin Renvoize [Thu, 14 Jan 2021 11:28:35 +0000 (11:28 +0000)]
Bug 24254: (QA follow-up) Inlines opachiddenitems handling

We decided to inline the opachiddenitems filter as we don't believe it
will be used exclusively.

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
(cherry picked from commit e26e9266d341dec77ae4c8ca17c08e9d78fc777b)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
3 years agoBug 24254: Implement separate filters and add patron param
Tomas Cohen Arazi [Mon, 21 Dec 2020 18:50:13 +0000 (15:50 -0300)]
Bug 24254: Implement separate filters and add patron param

This patch introduces two new methods for stacking filters on
Koha::Items:

- filter_out_lost
_ filter_out_opachiddenitems

This two filters are what actually happened inside the
filter_by_visible_in_opac. Everything is covered by tests.

In the process I added a Koha::Patron param to the method that is
internally used to decide if the OPACHiddenItems syspref needs to be
honoured or not. This *could* be better done with a fallback to
C4::Context->userenv if no param is passed.

I decided to leave that part for later, if we really find it would help
(e.g. if bug 10589 gets some action and we really need something here to
 handle that).

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

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
(cherry picked from commit 42c4089fad79461f5aaea3c3354e902d192af543)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
3 years agoBug 24254: Read the OpacHiddenItems preference internally
Tomas Cohen Arazi [Sat, 19 Dec 2020 13:21:18 +0000 (10:21 -0300)]
Bug 24254: Read the OpacHiddenItems preference internally

After discussing the 'rules' parameter usefulness we decided it was not
the best idea, and the gains in terms of 'performance' would me
meaningless (in-memory caching of sysprefs). This patch makes a really
minor tweak to the tests so they mock the C4::Context->yaml_preference
method, but keeping the same original rules to highlight no behaviour
change takes place.

Then the rules parameter is removed from the calls, and the tests should
keep passing.

A minor change to make $rules = undef is made to highlight the // {}
behaviour when reading the syspref..

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

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
(cherry picked from commit b1eda4facde26883e76ee321e142650525438846)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
3 years agoBug 24254: Compare itemlost with 0
Tomas Cohen Arazi [Sat, 19 Dec 2020 13:05:16 +0000 (10:05 -0300)]
Bug 24254: Compare itemlost with 0

On C4::Search and C4::Circulation the uses of the items.itemlost field
highlight the fact that the comparisson itemlost <= 0 was wrong, as it
is evaluated as a Perl boolean.

The column can only be an int and NOT NULL, so we need to check if it is
0 to ponder if not hidden.

This patch changes the tests to reflect this, and adjust the
Koha::Items->filter_by_visible_in_opac implementation to adapt to this.

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

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
(cherry picked from commit a592ebb3bb115f05812f140e8528dc1297a9dbfa)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
3 years agoBug 24254: Add Koha::Items->filter_by_visible_in_opac
Tomas Cohen Arazi [Thu, 3 Dec 2020 18:11:14 +0000 (15:11 -0300)]
Bug 24254: Add Koha::Items->filter_by_visible_in_opac

This patch adds a method based on the original idea from Nick, but on
Koha::Items.

The idea is to build a proper filter, based on the current rules for
hiding things, directly on the DBIC query. The caller takes care of
knowing if the filtering should apply (i.e. checking the patron category
exceptions) and then it would do something like:

    my @items;
    if ( <patron_category_does_not_have_exception> ) {
        @items = $biblio->items->filter_by_visible_in_opac(
            {
                rules => $rules
            }
        );
    }
    else {
        # still want to enforce 'hidelostitems'
        @items = $biblio->items->filter_by_visible_in_opac;
    }

To test:
1. Apply this patches
2. Run:
   $ kshell
  k$ prove t/db_dependent/Koha/Items.t
=> SUCCESS: Tests pass!
3. Look at the use cases on the tests, read the code
=> SUCCESS: It all makes sense
4. Compare with Koha::Item->hidden_in_opac
=> SUCCESS: It all makes sense
5. Sign off :-D

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
(cherry picked from commit 2250cf0293c690c6d1e79090aa3cec7b43cb2797)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
3 years agoBug 24254: Unit tests
Tomas Cohen Arazi [Thu, 3 Dec 2020 18:11:00 +0000 (15:11 -0300)]
Bug 24254: Unit tests

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
(cherry picked from commit ab6711572a4b107684c9f1a7b3d7f98998714a61)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
3 years agoBug 25054: (QA follow-up) Add space after comma for multiple aliases
Katrin Fischer [Tue, 12 Jan 2021 21:53:49 +0000 (21:53 +0000)]
Bug 25054: (QA follow-up) Add space after comma for multiple aliases

Just a little formatting change to help readability by adding
a space after comma: alias1, alias2, ...

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
(cherry picked from commit 5f448b1a86ff9a27d547e4d93cf84b3752e0201c)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
3 years agoBug 25054: Display search field aliases in Search Engine Configuration
Fridolin Somers [Thu, 12 Nov 2020 09:11:33 +0000 (10:11 +0100)]
Bug 25054: Display search field aliases in Search Engine Configuration

It'd be great if the Search Engine Configuration page would display
the various aliases (shortcuts) available : ti for title, sn for local-number, etc.

Patch changes Koha/SearchEngine/Elasticsearch/QueryBuilder.pm to move
hard-coded vars at the beging and adds a method to provide to %index_field_convert via a method.

Test plan :
1) Use Elasticsearch
2) Go to Administration > Search engine configuration (Elasticsearch)
3) Check you see new column 'Aliases' with for example ti for title.
4) Perform a search 'ti:<title>' and check you get results

Signed-off-by: Séverine QUEUNE <severine.queune@bulac.fr>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
(cherry picked from commit fd8aee927005f27fb10ed8944afbbd318e610dfb)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
3 years agoBug 26962: Compiled CSS
Jonathan Druart [Wed, 13 Jan 2021 16:19:28 +0000 (17:19 +0100)]
Bug 26962: Compiled CSS

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
(cherry picked from commit e7d6ac62a8ac5d14f4cbdc7fcb073bb09ed4c7cf)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
3 years agoBug 26962: (follow-up) Catch other #000066 occurrences
Lucas Gass [Wed, 13 Jan 2021 00:06:27 +0000 (00:06 +0000)]
Bug 26962: (follow-up) Catch other #000066 occurrences

Addtional test steps:
-Check printing an invoice, inscept the page and make sure none of the colors are set to #000066
-For the OPAC you must rebuild the CSS ((https://wiki.koha-community.org/wiki/Working_with_SCSS_in_the_OPAC_and_staff_client)
-Look at some areas where you might print in the OPAC (try a list), inscept the page and make sure there is no colors set to #000066
-You can also use Jonathan's method of 'git grep -l -c 000066' to make sure no occurrences are left.
-I left macles.tt as is because I am not sure about that template

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
(cherry picked from commit f2a537c88b8b632eb3393a51012ca51c893e7ca5)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
3 years agoBug 26962: Make print.css pure black
Lucas Gass [Fri, 6 Nov 2020 22:48:06 +0000 (22:48 +0000)]
Bug 26962: Make print.css pure black

Test plan:
1. Generate some different notice/slips like ISSUESLIP, HOLD_SLIP, any slip you like
2. Inspect and see that body, p tags and see that the computed color is #333333 or #000066.
3. Apply patch
4. The computed style for color should not be #00000
5. This prints much better, especially on thermal/receipt printers

Signed-off-by: David Cook <dcook@prosentient.com.au>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
(cherry picked from commit d0b82280f82f0846938bf101502c403a09cfc4e4)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
3 years agoBug 27306: (QA follow-up) Add space between title and subtitle
Katrin Fischer [Sun, 10 Jan 2021 22:41:46 +0000 (23:41 +0100)]
Bug 27306: (QA follow-up) Add space between title and subtitle

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
(cherry picked from commit 9c8d4abeed95113ff5da56d3438a68ed64c8fedf)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
3 years agoBug 27306: Add subtitle to return-claims-table
Lucas Gass [Wed, 23 Dec 2020 20:47:32 +0000 (20:47 +0000)]
Bug 27306: Add subtitle to return-claims-table

To test:
-turn on claim returned
-find some items with a 245b or add a 245b to some items
-check those items out and mark them as claimed returned
-on the borrowers /cgi-bin/koha/circ/circulation.pl page look at the return-claims-table
-no subtitle
-apply patch and clear browser cache, restart_all
-now you should see the subtitle

Signed-off-by: Kelly McElligott <kelly@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
(cherry picked from commit ee6c4548ad27c3efd4c78956e70336baffb994b0)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
3 years agoBug 26713: Add pagination to bottom of saved SQL reports table
Owen Leonard [Thu, 3 Dec 2020 12:06:46 +0000 (12:06 +0000)]
Bug 26713: Add pagination to bottom of saved SQL reports table

This patch adds a second pagination menu to the bottom of the report
results table.

To test, apply the patch and go to Reports.

- Run a report which will return multiple pages of results (greater
  than 20).
- The results should display with a pagination bar at the top and bottom
  of the table.
- Confirm that both pagination menus work 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>
(cherry picked from commit dbc74154754c4d5d03baa7c96b8511e0c2e0d036)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
3 years agoBug 27308: Skip blank lines when inserting new
Nick Clemens [Thu, 24 Dec 2020 13:35:28 +0000 (13:35 +0000)]
Bug 27308: Skip blank lines when inserting new

The intent of the macro insert new function is to add a new field at the correct numerical place in the record. If you have a blank line while editing, however, the new line will be inserted at the blank line, rather than checking the rest of the record.

To test:
1 - Create a macro like
    new 690=‡aLOCAL SUBJECT
2 - Insert a blank line into your record somewhere before where the 690 should be inserted
3 - Run the macro
4 - Line is inserted before the blank line
5 - Apply patch
6 - Reload (ensure cache is cleared and JS files are reloaded)
7 - Remove the previously created field, but leave the blank
8 - Run the macro
9 - Field is created at correct position

Signed-off-by: Barbara Johnson <barbara.johnson@bedfordtx.gov>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Bug 27308: (QA follow-up) Remove commented line

I don't think we need to keep the original line as a comment.. this
patch simply cleans it up.

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
(cherry picked from commit 3b0f86b53173d30da5dbb42710a7c9bf9edaa3bb)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
3 years agoBug 27307: Don't drop phrase directive when searching keyword index
Nick Clemens [Thu, 24 Dec 2020 14:04:55 +0000 (14:04 +0000)]
Bug 27307: Don't drop phrase directive when searching keyword index

We convert 'keyword' to '' as an index since we want it to search all fields

When we are searching 'as phrase', however, we should not drop the search type

To test:
 1 - Enable IntranetCatalogPullDown
 2 - Set searchEngine to Elasticsearch
 3 - Perform a search for 'Keyword as phrase' for a phrase that does appear in a record
 4 - You get the result
 5 - Reverse the order of words in the phrase
 6 - You still get a result?
 7 - Apply patch
 8 - Restart all the things
 9 - Reversed search does not return record
10 - Correct order and search, correct record returned

Signed-off-by: Andrew Fuerste-Henry <andrew@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
(cherry picked from commit 9cfce5f010c485ee5e046bcc99a9d33a70d9213a)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
3 years agoBug 27307: Unit test
Nick Clemens [Thu, 24 Dec 2020 14:04:17 +0000 (14:04 +0000)]
Bug 27307: Unit test

Signed-off-by: Andrew Fuerste-Henry <andrew@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
(cherry picked from commit 2e9344d2e3e959f9c474d43f59ff7688d1a784ee)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
3 years agoBug 26957: Don't remove words that are also operators from search terms
Nick Clemens [Mon, 23 Nov 2020 18:37:48 +0000 (18:37 +0000)]
Bug 26957: Don't remove words that are also operators from search terms

FindDuplicate has a hardcoded regex to remove 'and', 'or', and 'not' from any search fields, however,
is does this with no regard for these terms being embedded in the middle of a word or phrase.

E.g.:
'Coupland' becomes 'Coupl'
'Frog and toad' becomes 'frog toad'
etc.

This patch simplay removes the substitutions as we already quote the terms as well

To test:
1 - Add records to your system like:
    The night circus by Erin Morgenstern
    Frog and toad all year
    Nothing ever happens
2 - Attempt to add purchase suggestions like
    title: the night circus, author:Morgenstern, Erin
    title: For and toad all year
    title:nothing ever happens (case is important)
3 - No warnings about existing biblios
4 - Apply patches
5 - Delete existing suggestions
6 - Repeat step 2
7 - Each attempt should warn you of existing biblio

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>
(cherry picked from commit a52a9d787544aae384aee1a33c9d3bb35d98f8fa)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
3 years agoBug 26957: Unit tests
Nick Clemens [Mon, 23 Nov 2020 18:37:39 +0000 (18:37 +0000)]
Bug 26957: Unit tests

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
(cherry picked from commit a1f44a831e2c41da8074bca4fcf250335687135a)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
3 years agoBug 26894: Handle subfield 0 and delete empty fields
Nick Clemens [Mon, 2 Nov 2020 12:05:47 +0000 (12:05 +0000)]
Bug 26894: Handle subfield 0 and delete empty fields

This patch corrects handling of subfield 0 when copying/moving. Before these
patches copying from subfield 0 would copy the entire field.

We also correct an error that if moving a single subfield, we can leave behind empty
fields with no subfields. They should be deleted.

To test:
1 - Define a new MARC Modification template with actions:
        Delete field 100$0
        Add new field 100$0 with value Test
        Update existing or add new field 100$0 with value TestUpdated
        Move field 100$0 to 600$0
        Copy field 600$0 to 100$0
        Copy and replace field 245$0 to 700$0
2 - Define a new record like:
    LDR 00334nam a22001217a 4500
    003 ff
    005 20201102111604.0
    008 201102b        xxu||||| |||| 00| 0 eng d
    040 _ _ ‡cvsd
    100 1 _ ‡012345‡aKnuth, Donal Ervin‡d1938
    245 _ _ ‡012345‡aThe aty of computer programming‡cDonald E. Knuth
    650 _ 0 ‡042‡aComputer programming‡9462
3 - Modify this record using the template above
4 - Note that entier 245 is copied to 700, same for 600 field
5 - Apply patch
6 - Now only subfields 0 are copied

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>
(cherry picked from commit 77f3d48dee24ad51dfbed65922712064dedff1ff)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
3 years agoBug 27356: Don't hide the SMTP servers table when last displayed is deleted
Jonathan Druart [Thu, 7 Jan 2021 10:13:48 +0000 (11:13 +0100)]
Bug 27356: Don't hide the SMTP servers table when last displayed is deleted

Found on bug 27251 which was mimicking SMTP server code for QOTD.

To recreate:
Create a SMTP server with name "a"
Create a SMTP server with name "aa"

Filter by "aa"
=> Only 1 row displayed

Delete it, confirm
=> The table disappears

Note that we could re-add this test when bug 27353 will be pushed, as
recordsTotal will contain the unfiltered number of records in the DB.

Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
(cherry picked from commit 518e42d17c43a34f198ca4779546d72596160726)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
3 years agoBug 27149: Don't strip itemnumber when adding item status via Z3950Responder
Nick Clemens [Thu, 3 Dec 2020 17:04:19 +0000 (17:04 +0000)]
Bug 27149: Don't strip itemnumber when adding item status via Z3950Responder

This breaks MARCEdit integration as svc/bib uses the itemnumber field to update items

To test:
1 - sudo koha-z3950-responder --stop kohadev
2 - Run it manually:
    perl /kohadevbox/koha/misc/z3950_responder.pl -c /etc/koha/sites/kohadev/z3950 -u kohadev-koha -p /var/run/koha/kohadev/z3950-responder.pid -D -d kohadev-koha-z3950 -l /var/log/koha/kohadev/z3950.log
3 - Connect and search to verify itemnumber is in item records
    yaz-client localhost:2100
    base biblios
    find shuffle
    show 1+1
4 - sudo koha-z3950-responder --stop kohadev
5 - Run it manually to add item status
    perl /kohadevbox/koha/misc/z3950_responder.pl --add-item-status k -c /etc/koha/sites/kohadev/z3950 -u kohadev-koha -p /var/run/koha/kohadev/z3950-responder.pid -D -d kohadev-koha-z3950 -l /var/log/koha/kohadev/z3950.log
6 - Connect and search, no itemnumber in records
7 - Apply patch
8 - Stop, restart all the things, and manually start server with item status again
9 - Connect and search, itemnumbers are included

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>
(cherry picked from commit 1d61203fab02038a615be979315e509b8fbdeafd)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
3 years agoBug 27149: Unit tests
Nick Clemens [Thu, 3 Dec 2020 17:03:40 +0000 (17:03 +0000)]
Bug 27149: 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>
(cherry picked from commit 1ae737603f3043c590e33e517d7d95ca8a8283ce)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
3 years agoBug 27130: Don't display itemnumber under "File type" section
Nick Clemens [Wed, 2 Dec 2020 07:55:38 +0000 (08:55 +0100)]
Bug 27130: Don't display itemnumber under "File type" section

There is no need to have the "File type" section when we attach a cover
item to an item (we cannot upload a zip file)

This patch removes the fieldset abd adds the itemnumebr to the breadcrumbs and headings.
It also adjusts the help text, removing ZIP as an option when uploading for a biblio or item

Lastly it adjusts the results page to use a heading to make things a bit clearer

Test plan:
 1 - Enable 'LocalCoverImages' system preference
 2 - Browse to the details page for a record
 3 - Under the 'Images' tab click 'Upload'
 4 - Note the display includes File type section with a biblionuber input
 5 - Upload an image and note the results page
 6 - Return to the biblio, this time on the 'Holdings' tab
 7 - Click the down arrow next to 'Edit' and choose 'Upload image'
 8 - Note the form has a File type section with an itemnumber input
 9 - Apply patch
10 - Repeat steps 2-9, making sure changes to page make sense
11 - Note the breadcrumbs have been updated
12 - Confirm you can complete the upload of the cover for an item and that results look as expected

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
(cherry picked from commit b66458901268e6cb19585e8de3ea6adb458522fc)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
3 years agoBug 26851: Don't generate a notice to library if no content
Nick Clemens [Wed, 28 Oct 2020 19:00:28 +0000 (19:00 +0000)]
Bug 26851: Don't generate a notice to library if no content

To test:
 1 - Check out an over due to a patron
 2 - Set overdue triggers to a trigger less than number of days overdue
 3 - Make sure the patron has no email
 4 - Set content of ODUE notice to:
    [%# Comment will not print %]
 5 - perl misc/cronjobs/overdue_notices.pl
 6 - Check the message queue
 7 - There is a notice sent to the library:
    "These messages were not sent directly to the patrons."
    With no messages
 8 - Apply patch
 9 - Repeat
10 - No new message generated

Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
(cherry picked from commit 9769160083d614601997945f29a0fe9d353bf7ec)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
3 years agoBug 26593: Remove _get_discount_from_rule
Nick Clemens [Thu, 19 Nov 2020 15:46:52 +0000 (15:46 +0000)]
Bug 26593: Remove _get_discount_from_rule

This patch remove the private sub used in GetIssuingCharges in favor
of get_effective_rule

It corrects the wrong precedence for rules and adds tests to cover this
subroutine

NOTE: the 'branch' for the discount will be determined by the signed in branch,
    this is a bug to be fixed in the future

To test:
1 - Define a rentalcharge for an itemtype
2 - Define a 10% discount for library A, category A, all itemtypes
3 - Define a 50% discount for all libraries, category A, same itemtype
4 - Attempt to checkout an item from library A of the matching itemtype
5 - The 50% discount is applied
6 - Apply patches
7 - Attempt to checkout an item from library A of the matching itemtype
8 - The 10% discount is applied

prove -v t/db_dependent/Circulation.t

Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
(cherry picked from commit c055685ac4f59b2a83730c67792c6fb3c81d2123)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
3 years agoBug 26848: Fix Readonly dependency in cpanfile
Julian Maurice [Wed, 28 Oct 2020 15:29:16 +0000 (16:29 +0100)]
Bug 26848: Fix Readonly dependency in cpanfile

- It is a required module. If it is missing, Koha will not start
- Set the minimum version to 2.00. While not strictly required, it's the
version that states that "Deprecation of Readonly::XS as a requirement
for fast, readonly scalars is complete", it is available in Debian
oldoldstable (jessie, 8), and Readonly::XS was not even needed with Perl
> 5.8, which allows us to:
- Remove dependency on Readonly::XS

Signed-off-by: Mason James <mtj@kohaaloha.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
(cherry picked from commit 3af9563a4f52e050461942e4f25c7e9e4918f3d0)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
3 years agoBug 21301: add unit tests
Fridolin Somers [Fri, 4 Sep 2020 08:01:20 +0000 (10:01 +0200)]
Bug 21301: add unit tests

Run t/db_dependent/ILSDI_Services.t with and without previous patches

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>
(cherry picked from commit d828feafbd5f3b788d76a1a79bc4c0522bdb600e)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
3 years agoBug 21301: (follow-up) Remove borrowernumber in issues for GetRecords ILS-DI service
Fridolin Somers [Thu, 26 Mar 2020 12:02:14 +0000 (15:02 +0300)]
Bug 21301: (follow-up) Remove borrowernumber in issues for GetRecords ILS-DI service

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>
(cherry picked from commit 83f5fef84edb0306f401f736008423a5871bdbc5)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
3 years agoBug 21301: (QA follow-up) Fix number of tests
Marcel de Rooy [Fri, 8 Nov 2019 07:07:32 +0000 (07:07 +0000)]
Bug 21301: (QA follow-up) Fix number of tests

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>
(cherry picked from commit 97d94bad13bc2d14a954cb67aca6c6605f9d4906)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
3 years agoBug 21301: Remove patron informations in reserves for GetRecords ILS-DI service
Fridolin Somers [Thu, 3 Oct 2019 13:43:56 +0000 (15:43 +0200)]
Bug 21301: Remove patron informations in reserves for GetRecords ILS-DI service

Actually, the GetRecords service gives many information :
borrowernumber (reserves field)

The issue data should not be sent by these service, its a privacy problem.

Test plan :
1) Enable ILS-DI webservice
2) Place hold on an item
3) Go to {opac}/cgi-bin/koha/ilsdi.pl?service=GetRecords&id={biblionumber}
4) Check the reserves tag content

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
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>
(cherry picked from commit 37c042b9f3d3c307dac8e9205c65227e3c956ee3)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
3 years agoBug 21301: Remove patron informations in issues for GetRecords ILS-DI service
Fridolin Somers [Wed, 2 Oct 2019 14:28:21 +0000 (16:28 +0200)]
Bug 21301: Remove patron informations in issues for GetRecords ILS-DI service

Actually, the GetRecords service gives many information :
bibliographic data (marcxml field)
item data (items field)
issue data (issues field)

The issue data should not be sent by these service, its a privacy problem.
Biblio title and author are redundant.
This patch changes to use Koha::Checkouts to get issues informations with only the addition of item barcode.

Test plan :
1) Enable ILS-DI webservice
2) Checkout an item
3) Go to {opac}/cgi-bin/koha/ilsdi.pl?service=GetRecords&id={biblionumber}
4) Check the issues tag content

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
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>
(cherry picked from commit 8ae0ef6eb529cb866914ee8cffba469a9486a53c)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
3 years agoBug 24470: Mark a batch as 'imported' if all the bib has been imported
Jonathan Druart [Wed, 9 Dec 2020 14:22:35 +0000 (15:22 +0100)]
Bug 24470: Mark a batch as 'imported' if all the bib has been imported

When a staged MARC file is used to populate a basket in acquisitions,
the status of the batch is kept as "staged" until a user repeat the operation.
The "imported" status is added to the batch when new orders are added to
a basket "from a new file" (yes!...)

Test plan:
- Create a basket
- Add to basket From a New File
- Select a marc file and stage
- Add titles to your basket
Until all your records are imported the batch will have the status
"staged"
When all your records will be imported, the status of the batch will be
"imported"

Signed-off-by: Barbara Johnson <barbara.johnson@bedfordtx.gov>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
(cherry picked from commit 99cebb82dc6fd1aa3f7466f03a267cac9deedc6c)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
3 years agoBug 27336: Fix xt/find-missing-filters.t
Jonathan Druart [Mon, 11 Jan 2021 09:20:11 +0000 (10:20 +0100)]
Bug 27336: Fix xt/find-missing-filters.t

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
(cherry picked from commit 6be845a785db29a946742edb7c52a0057d6b5f8b)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
3 years agoBug 27336: Add POD for new package
Jonathan Druart [Mon, 11 Jan 2021 09:17:25 +0000 (10:17 +0100)]
Bug 27336: Add POD for new package

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
(cherry picked from commit 0db3787a20e928c2ee8e5b0ce2d636c5bf8763cf)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
3 years agoBug 27336: Sanitize correctly HTML id
Julian Maurice [Fri, 8 Jan 2021 09:58:45 +0000 (10:58 +0100)]
Bug 27336: Sanitize correctly HTML id

Valid characters are alphanumeric characters (a-zA-Z0-9), hyphen (-)
and underscore (_)

https://www.w3.org/TR/CSS21/syndata.html#value-def-identifier

All invalid characters will be replaced by '_'

Test plan:
1. Go to Administration » System preferences and click on 'Searching'
   tab
2. You should see a console error (Uncaught Error: Syntax error,
   unrecognized expression: #collapse_Did_you_mean/spell_checking)
3. Apply patch
4. Make sure the error is gone
5. prove t/Koha_Template_Plugin_HtmlId.t

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>
(cherry picked from commit d89f6027be001d537b0eb73ea3fb4641d5fcd292)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
3 years agoBug 27109: Improve labels on the background job views
Jonathan Druart [Tue, 1 Dec 2020 14:41:56 +0000 (15:41 +0100)]
Bug 27109: Improve labels on the background job views

Replace "enqueued_on" with "Enqueued on", same for started_on and
ended_on

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>
(cherry picked from commit 9ab65aa6c36754db9c6b9e90efde6b05fec147a7)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
3 years agoBug 27109: Remove Replay action - not implemented
Jonathan Druart [Tue, 1 Dec 2020 14:43:38 +0000 (15:43 +0100)]
Bug 27109: Remove Replay action - not implemented

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>
(cherry picked from commit 30cb954cc698853423d7afa4ead6716c73ad5c6d)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
3 years agoBug 26797: Escape firstname to prevent relative's checkouts to crash
Jonathan Druart [Wed, 2 Dec 2020 10:25:13 +0000 (11:25 +0100)]
Bug 26797: Escape firstname to prevent relative's checkouts to crash

If no firstname is defined for a relative, the "Relative's checkouts"
tab will be "processing" forever.
JS error:
  TypeError: oObj.borrower.firstname is null

Test plan:
1 - Create a patron (PatronA) in a category with type 'Org'
    'School' in sample data works
2 - Add a guarantee (Patron B)
3 - Check out an item to PatronA
4 - Go to PatronB's record and click relativwe's checkouts
5 - There is an error and the table doe snot load
6 - Apply patch
7 - Reload
8 - Table loads correctly

Signed-off-by: Kelly McElligott <kelly@bywatersolutions.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
(cherry picked from commit 13fb0906be41e6f2f5effb89321bcac8371c8b45)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
3 years agoBug 25292: Flushing L1 on every Z3950 server search
Jonathan Druart [Mon, 27 Apr 2020 14:25:32 +0000 (16:25 +0200)]
Bug 25292: Flushing L1 on every Z3950 server search

This patch flushes the L1 cache on each Z3950 server search.

There is no need to flush it in init_handler (when the connection is
made), the L1 cache is not accessed (this behaviour goes against what I
expected).

This means each search will fetch values from the
L2 cache (ie memcached) and persist the L1 cache (in Perl
memory cache) until the result are returned (or longer?).

Test plan:
% perl misc/z3950_responder.pl --config-dir=/kohadevbox/koha/etc/z3950
% zoomsh
ZOOM>connect localhost:2100
ZOOM>set databaseName biblios
ZOOM>search x
ZOOM>search x

Between the 2 searches you can modify the value of SearchEngine, you
will notice that the number of hits is different

Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
(cherry picked from commit e466c4130406748fdd2d74d5fbee161e4f79cf92)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
3 years agoBug 27349: DBRev 20.11.01.003
Jonathan Druart [Mon, 11 Jan 2021 09:10:06 +0000 (09:10 +0000)]
Bug 27349: DBRev 20.11.01.003

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
(cherry picked from commit 9f03a9e974a930416e237b846fe78b8e0e5b3404)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
3 years agoBug 27349: (QA follow-up) Move DB update to perl file and add description
Nick Clemens [Fri, 8 Jan 2021 14:37:30 +0000 (14:37 +0000)]
Bug 27349: (QA follow-up) Move DB update to perl file and add description

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
(cherry picked from commit 37b5a14f4ca07a6b25960764a4214b00f9831542)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
3 years agoBug 27349: Fix Mana system preference wrong type
Fridolin Somers [Wed, 6 Jan 2021 10:47:59 +0000 (11:47 +0100)]
Bug 27349: Fix Mana system preference wrong type

Mana system preference type 'YesNo' is wrong since it has 3 values.
Change to 'Choice'

Test plan :
1) Run atomic update
2) Check in database 'Mana' system preference type is 'Choice'

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>
(cherry picked from commit 557d2137d6dcfa1ce6f816c1d55c254418fe581c)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
3 years agoBug 27090: Opac basket: fix the 'In transit from' and 'to'
Christophe Croullebois [Wed, 25 Nov 2020 10:29:40 +0000 (11:29 +0100)]
Bug 27090: Opac basket: fix the 'In transit from' and 'to'

To see the 'In  transit from' and 'to' fields in an Opac basket we have :

<span class="item-status intransit">In transit from [% Branches.GetName( item.transfertfrom ) | html %]
    to [% Branches.GetName( item.transfertto ) | html %] since [% item.transfertwhen | $KohaDates %]</span>

But in koha-tmpl/opac-tmpl/bootstrap/en/includes/item-status.inc we have no :

[% USE Branches %]

This patch just corrects this lack

Test plan:
1° find an item in a transit status or create one with this status
2° put it in an Opac basket
3° note that in the location column of the Opac basket the 'In transit from' and 'to' fields are empty.
4° apply the patch
5° check again and validate that the 2 fields are now filled

Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
(cherry picked from commit 7be57c66085071fea763a572ac2a6ceb82641297)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
3 years agoBug 27345: Add missing global permissions for superlibrarian
Jonathan Druart [Tue, 5 Jan 2021 10:35:05 +0000 (11:35 +0100)]
Bug 27345: Add missing global permissions for superlibrarian

When a superlibrarian is logged in, C4::Auth::get_template_and_user pass the CAN_user_$flag to the template, but some are missing:
suggestions, lists, cash_management

So far they are not used in the template but it will avoid a developer to spend time on it if we fix it now.

Test plan:
Compare with installer/data/mysql/mandatory/userflags.sql
Note that we don't need selfcheck

Signed-off-by: David Cook <dcook@prosentient.com.au>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
(cherry picked from commit 8c9acd7f28f3204ffb13cf18894a47fcf3f17c85)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
3 years agoBug 26983: Fix [un]select all links in inventory
Jonathan Druart [Wed, 2 Dec 2020 09:26:25 +0000 (10:26 +0100)]
Bug 26983: Fix [un]select all links in inventory

The select/unselect all links took into account only the items displayed
when the page was loaded (so 20).

Test plan:
1. Go to Tools-> Inventory-> Do a Search to produce more than 20 results
2. Select 50, 100 or All entries to show
3. click on Select All
=> All items must be selected, not only the first 20

Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
Signed-off-by: Julian Maurice <julian.maurice@biblibre.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
(cherry picked from commit e15446af125d0986cc3d9f122e91b21a5e21c6f6)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
3 years agoBug 27351: DBRev 20.12.00.002
Jonathan Druart [Fri, 8 Jan 2021 14:21:22 +0000 (14:21 +0000)]
Bug 27351: DBRev 20.12.00.002

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
(cherry picked from commit 555080c1ddb5178d9673b22fde385219d0fd22ec)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
3 years agoBug 27351: (QA follow-up) Use skeleton.perl and add description
Nick Clemens [Fri, 8 Jan 2021 13:35:38 +0000 (13:35 +0000)]
Bug 27351: (QA follow-up) Use skeleton.perl and add description

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
(cherry picked from commit e6426a540bfdc64c55abc824c901d0ed24dc8779)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
3 years agoBug 27351: Fix UsageStatsCountry system preference wrong type
Fridolin Somers [Wed, 6 Jan 2021 14:32:37 +0000 (15:32 +0100)]
Bug 27351: Fix UsageStatsCountry system preference wrong type

UsageStatsCountry system preference type 'YesNo' is wrong since it has
several values.
Change to 'Choice'.
Looks like this error whas only in updatedabase 3.17.00.030.

Test plan :
1) Run atomic update
2) Check in database 'UsageStatsCountry' system preference type is
   'Choice'

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>
(cherry picked from commit bbab6615637c60c757df79bdc695a606622ed96a)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
3 years agoBug 27164: Fix item search CSV export
Fridolin Somers [Mon, 7 Dec 2020 16:03:40 +0000 (17:03 +0100)]
Bug 27164: Fix item search CSV export

In item search CSV export, data cells are exported with double quotes.
There should also be double quotes in header cells.
Also some spaces can be removed.
Delimiter must be from system preference 'delimiter'.
TT filter must be $raw not html, only double quotes must be espaped by
duplication of it.

This may help to open the CSV with any table/calc software.

Test plan :
1.0) Create a record with title : Laurel & "Hardy"
1.2) Create an item on this record
2.0) Without patch
2.1) Perform an item search on title 'Laurel'
2.2) Export as a CSV file and save the file locally
2.3) Open the file with a table/calc software
3.0) Apply patch
3.1) Perform same item search
3.2) Export as a CSV file and save the file locally
3.3) Open the file with a table/calc software
4.0) Compare files with diff/meld
=> you see double quotes arround header cells
   and removal of space after coma
4.1) Check that delimiter is from system preference 'delimiter'
4.2) In table/calc software they should look the same

Signed-off-by: Andrew Fuerste-Henry <andrew@bywatersolutions.com>
Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
(cherry picked from commit 1700c393b1de3c32b3b572efd0cf935255813e2b)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
3 years agoBug 26417: Remove warn in Koha::Patron is_valid_age
Fridolin Somers [Wed, 9 Sep 2020 11:54:34 +0000 (13:54 +0200)]
Bug 26417: Remove warn in Koha::Patron is_valid_age

In Koha::Patron is_valid_age the is a compare : $age < $low
But $low may be undef.
It generates a warn :
Use of uninitialized value $low in numeric lt (<)

Needs a test like for $high.

Test plan :
1) Run prove t/db_dependent/Koha/Patrons.t
2) Edit a patron catetory, empty "Age required" and save
3) Edit a patron of this category
4) Check in logs you don't see "Use of uninitialized value $low in numeric lt (<)"

Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net>
Signed-off-by: Julian Maurice <julian.maurice@biblibre.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
(cherry picked from commit f042c804cda09deaee614f73ec9a888bea4ab99a)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
3 years agoBug 27292: Add TablesSettings directive to fix columns_settings_borrowers_table
David Cook [Wed, 23 Dec 2020 04:41:58 +0000 (04:41 +0000)]
Bug 27292: Add TablesSettings directive to fix columns_settings_borrowers_table

This patch adds the USE TablesSettings directive which allows the plugin
to be invoked to fill the columns_settings_borrowers_table variable.

Test plan:
0. Do not apply the patch
1. Go to http://localhost:8081/cgi-bin/koha/reserve/request.pl?borrowernumber=51&biblionumber=29
2. View source on the page and note columns_settings_borrowers_table has no value assigned
2. Apply the patch
3. In a new tab, go to http://localhost:8081/cgi-bin/koha/reserve/request.pl?borrowernumber=51&biblionumber=29
4. Note that nothing has changed on the surfeace
5. View source ont he page and note columns_settings_borrowers_table now has a value assigned

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: Julian Maurice <julian.maurice@biblibre.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
(cherry picked from commit 31ec92bfab16654b2a3f763d141559d0f882a1e7)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
3 years agoBug 27245: Replace AutoCommit=0 with txn_begin in bulkmarcimport.pl
Jonathan Druart [Fri, 18 Dec 2020 13:41:12 +0000 (14:41 +0100)]
Bug 27245: Replace AutoCommit=0 with txn_begin in bulkmarcimport.pl

To prevent
DBD::mysql::db begin_work failed: Already in a transaction at /usr/share/perl5/DBIx/Class/Storage/DBI.pm line 1588, <GEN45> line 1.

Test plan:
1 - Export more than 100 records
2 - Use bulkmarcimport (with -commit=10) to import them
    perl misc/migration_tools/bulkmarcimport.pl -b -file testbmi.xml -v -m=MARCXML --commit=10
3 - Modify a record to make the import fail (for instance having a too long
lccn)
4 - Use bulkmarcimport (with -commit=10) to import them
    perl misc/migration_tools/bulkmarcimport.pl -b -file testbmi.xml -v -m=MARCXML --commit=10
5 - Notice that the import stops but that the imported record are imported (apart from the last batch of 10)

Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
(cherry picked from commit 4a90c0b647fdfdb0a39b43f6b10adba3bca53215)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
3 years agoBug 26367: Prevent warn about undefined values when record level hold has an itemtype
Nick Clemens [Thu, 3 Sep 2020 12:15:57 +0000 (12:15 +0000)]
Bug 26367: Prevent warn about undefined values when record level hold has an itemtype

To test:
 1 - set AllowHoldItemTypeSelection to 'Allow'
 2 - Find a patron from Library A
 3 - Find a record with an item from Library A
 4 - Place a title level hold with itemtype specified for a delivery at Library A for patron and record above
 5 - perl misc/cronjobs/holds/build_holds_queue.pl
 6 - There are warns:
 Use of uninitialized value in hash element at /kohadevbox/koha/C4/HoldsQueue.pm line 523.
 Use of uninitialized value in string eq at /kohadevbox/koha/C4/HoldsQueue.pm line 523
 7 - Apply this patch
 8 - perl misc/cronjobs/holds/build_holds_queue.pl
 9 - No more warns!
10 - prove -v t/db_dependent/HoldsQueue.t
11 - All tests pass!

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>
(cherry picked from commit d2e2a3975fb66d8c2e2766ecbe014fb71952e6d0)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
3 years agoBug 26367: Unit test
Nick Clemens [Thu, 3 Sep 2020 12:06:51 +0000 (12:06 +0000)]
Bug 26367: Unit test

This warn only appears when:
  The borrower and item branches match
  AND
  The hold fulfillment policy is any or the pickupbranch matches the items branch specified by hold_fulfillment_policy
  AND
  The request has an itemtype set

To trigger we simply add some itemtype to existing hold requests in the test

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

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>
(cherry picked from commit cd83fbe58d6f3ee2cd15880acaaccd495007c83f)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
3 years agoBug 26364: Don't skip records that match the isbn we passed
Nick Clemens [Wed, 9 Sep 2020 13:24:20 +0000 (13:24 +0000)]
Bug 26364: Don't skip records that match the isbn we passed

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>
(cherry picked from commit 86617ba7cd54cbeb7f2241468cd3e10f20d2bc27)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
3 years agoBug 26364: Remove false matches on isbn
Nick Clemens [Wed, 9 Sep 2020 13:33:17 +0000 (13:33 +0000)]
Bug 26364: Remove false matches on isbn

The test here was returning 0590353403 when searched for 9780590353403
because of the regex matching

Koha doesn't work this way unless SearchWithISBNVariations is set to 'search'
and you use a dropdown to select ISBN for searching

To test:
1 - Search catalog for nb=9780590353403
2 - Confirm you don't have results, or delete the records with results
3 - Add isbn 0590353403 to a record
4 - Repeat search, fails
5 - Enable SearchWithISBNVariations
6 - Repeat search, fails
7 - Go to advanced search, select ISBN, search for 9780590353403
8 - Get results

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>
(cherry picked from commit 854d404a9c161845731d39980165f8d641713a80)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
3 years agoBug 26364: Remove useless condition
Nick Clemens [Wed, 9 Sep 2020 13:40:37 +0000 (13:40 +0000)]
Bug 26364: Remove useless condition

$response_data is a hash with one key, content

Why are we checkiing it against a string?

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>
(cherry picked from commit 8b22c3846caa2004b411c6bd19a5d41bc602e704)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
3 years agoBug 26364: Don't discard the passed isbn
Nick Clemens [Wed, 9 Sep 2020 13:44:45 +0000 (13:44 +0000)]
Bug 26364: Don't discard the passed isbn

I don't know, if we get rid fo this check we can now check the db for the same isbn we passed

This may be useful as we may want to see the biblio with the same isbn as long as number is different?

This will make tests fail

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>
(cherry picked from commit feb7f5f6dd89f58f3b027898705fb0fa57a051ab)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
3 years agoBug 26364: Adjust unit tests
Nick Clemens [Wed, 9 Sep 2020 14:34:26 +0000 (14:34 +0000)]
Bug 26364: Adjust unit tests

We shouldn't rely on knowing exactly which ISBNs we get, we should specifically
check for what we do or don't expect.

I believe we should return biblios that have the same isbn we passed, as it signlas we have another
biblio in the catalog that matches the one we are on.

To test:
prove -v t/db_dependent/XISBN.t

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>
(cherry picked from commit d9063ba246bd020de83bc67964a08855a73ccb24)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
3 years agoBug 27252: DBRev 20.11.01.001
Jonathan Druart [Thu, 7 Jan 2021 14:36:20 +0000 (14:36 +0000)]
Bug 27252: DBRev 20.11.01.001

Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
3 years agoBug 27252: Add deprecation warning, cross_fields pref, and add version to ES info
Nick Clemens [Wed, 16 Dec 2020 18:50:55 +0000 (18:50 +0000)]
Bug 27252: Add deprecation warning, cross_fields pref, and add version to ES info

This patch prepares Koha to officially no longer support Elasticsearch 5.X

It adds a new system preference 'ElasticsearchCrossFields' to allow users to choose whether or not
to enable this feature

It updates the about page to add a deprecation warning if a site is running ES5

To test:
 1 - Be running Koha with Elasticsearch 5.X
 2 - Attempt to search
   Error: Unable to perform your search. Please try again.
 3 - Apply patch
 4 - Update database
 5 - Searching works
 6 - Find syspref 'ElasticsearchCrossFields'
 7 - Enable it
 8 - Searching is now broken
 9 - Check the about page
 10 - you can now see the Elasticsearch version
 11 - The systeminformation tab has a deprectaion warning
 12 - Set SearchEngine preference to 'Zebra'
 13 - View the about page - no warnings
 14 - Test again with ES6 - searching should "work" with either pref setting
 15 - There should be no warning on about pages

Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
(cherry picked from commit 181267bd2bf66a5efd065b48149eed4ff1044599)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
3 years agoBug 26847: (follow-up) fix get_attribute() call
Victor Grousset/tuxayo [Tue, 5 Jan 2021 12:56:32 +0000 (13:56 +0100)]
Bug 26847: (follow-up) fix get_attribute() call

Since the upgrade to Selenium 3 in bug 27055, an additional parameter is
required for get_attribute() to actually work.
https://metacpan.org/pod/Selenium::Remote::WebElement#get_attribute

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
(cherry picked from commit de739259298b323bb881b62b1bc96bc9e3589496)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
3 years agoBug 26847: Add data-categorycode to opac pages
Martin Renvoize [Wed, 4 Nov 2020 14:53:57 +0000 (14:53 +0000)]
Bug 26847: Add data-categorycode to opac pages

This patch adds the data-categorycode attribute to the loggedinuser span
for all pages in the opac.

Test plan
1/ Apply first patch, varify unit test fails.
2/ Apply second patch, varify unit test now passes.
3/ Navigate to opac and login
4/ Varify that data-categorycode is present in the loggedinuser span in
the client.

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
(cherry picked from commit c7e228c60cfe352ccd7f1dee54990dcaa22c0240)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
3 years agoBug 26847: Add UI test for categorycode in masthead
Martin Renvoize [Wed, 4 Nov 2020 14:45:27 +0000 (14:45 +0000)]
Bug 26847: Add UI test for categorycode in masthead

This test adds a regression test for the addition of categorycode
into the masthead of the staff client.

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
(cherry picked from commit 69bf6e80cf4c35601dbeea871c973c7ce3997e41)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
3 years agoBug 24863: QueryFuzzy syspref says it requires Zebra but ElasticSearch has some support.
Lisette Scheer [Sat, 24 Oct 2020 19:09:59 +0000 (19:09 +0000)]
Bug 24863: QueryFuzzy syspref says it requires Zebra but ElasticSearch has some support.

This patch updates the description of the QueryFuzzy system preference
to make it more clear how it works with Zebra and how Elasticsearch has
some amount of fuzzy available for searches.

To test:
1. Go to administration
2. Search for QueryFuzzy
3. Observe the current description, which only includes Zebra.
4. Apply patch
5. Repeat steps 1-2
6. Observe the updated description.
7. Sign off

Signed-off-by: Andrew Fuerste-Henry <andrew@bywatersolutions.com>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
(cherry picked from commit 137cf586551be4affb112eba3a61bc49b0099342)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
3 years agoBug 24541: Purge old messages
Didier Gautheron [Thu, 30 Jan 2020 09:35:31 +0000 (10:35 +0100)]
Bug 24541: Purge old messages

misc/cronjobs/cleanup_database.pl provides some database cleanup.

This patch adds cleanup for messages table.

Test plan :
- Count messages : select count(*),date(message_date) from  messages group by date(message_date);
- Run cleanup : misc/cronjobs/cleanup_database.pl -v --confirm --messages 365
- Recount messages

Signed-off-by: Séverine QUEUNE <severine.queune@bulac.fr>
Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
(cherry picked from commit ead1493f5b3baedcc1eaf062991b8792aba7f231)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
3 years agoBug 25462: Compiled CSS
Jonathan Druart [Mon, 4 Jan 2021 15:31:27 +0000 (16:31 +0100)]
Bug 25462: Compiled CSS

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
(cherry picked from commit ae1ae478fd5004ba8527822aef9ce5b45b061a33)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
3 years agoBug 25462: (follow-up) Remove <br /> as it is no longer needed
Martin Renvoize [Thu, 5 Nov 2020 11:34:54 +0000 (11:34 +0000)]
Bug 25462: (follow-up) Remove <br /> as it is no longer needed

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
(cherry picked from commit 847ef673440733c3e76bf4c520838bf8fa3db3eb)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
3 years agoBug 25462: Show shelving location on a new line after home library (OPAC)
Owen Leonard [Tue, 12 May 2020 12:44:45 +0000 (12:44 +0000)]
Bug 25462: Show shelving location on a new line after home library (OPAC)

This patch updates the OPAC CSS to move the shelving location a
new line after the 'Home library' in list of holdings on the
bibliographic detail page.

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

- Locate a title in the OPAC which has items with a shelving
  location.
- View the detail page for that title. In the table of holdings,
  confirm that the shelving location information is on a separate line
  from the home library information.

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
(cherry picked from commit 0da7cd5359bd1b2b96b2fd9204a07e5e10b45948)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
3 years agoBug 25462: Show shelving location on a new line after home library (staff client)
Owen Leonard [Tue, 12 May 2020 12:43:21 +0000 (12:43 +0000)]
Bug 25462: Show shelving location on a new line after home library (staff client)

This patch updates the staff client CSS to move the shelving location a
new line after the 'Home library' in list of holdings on the
bibliographic detail page.

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).

- Locate a title in the staff client which has items with a shelving
  location.
- View the detail page for that title. In the table of holdings,
  confirm that the shelving location information is on a separate line from
  the home library information.

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
(cherry picked from commit 088e798ea33b43c7dfe9a3aa3e6cdd895d32dc9c)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
3 years agoBug 25462: Shelving location should be on a new line in holdings table
David Roberts [Tue, 12 May 2020 09:56:28 +0000 (09:56 +0000)]
Bug 25462: Shelving location should be on a new line in holdings table

This patch moves the shelving location a new line after the Home library
in the holdings table.

To test:

1) Assign a shelving location with a long description to an item.
2) See that it displays on the same line as the Home Library in /cgi-bin/koha/catalogue/detail.pl
3) Apply the patch
4) Check that the shelving location is now on a new line

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
(cherry picked from commit 287d4aae129cb2958eae67073b9208b7db94bef4)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
3 years agoBug 26875: (follow-up) Fix error message ("greater or equal")
Victor Grousset/tuxayo [Mon, 28 Dec 2020 17:28:58 +0000 (18:28 +0100)]
Bug 26875: (follow-up) Fix error message ("greater or equal")

Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
(cherry picked from commit a7bc53d9431b32d6560f3cf987d2c4e30c6cf34c)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
3 years agoBug 26875: Allow printing of just one barcode in batch
Andrew Fuerste-Henry [Fri, 30 Oct 2020 16:25:05 +0000 (16:25 +0000)]
Bug 26875: Allow printing of just one barcode in batch

To test:
1- go to the Print Barcode Range page
2- enter From=1 and To=1
3- confirm error "Must be greater than from value."
4- apply patch, restart, reload page
5- enter From=1, To=1
6- confirm no error
7- change From to 2, error reappears

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
(cherry picked from commit e581255eccb1b6851735f9eb2c297dd0c01ffa06)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
3 years agoBug 27085: Corrections in overdue_notices.pl help text
Timothy Alexis Vass [Wed, 25 Nov 2020 07:45:39 +0000 (07:45 +0000)]
Bug 27085: Corrections in overdue_notices.pl help text

-library      <branchname>     only deal with overdues from this library (repeatable : several libraries can be given)
Should be <branchcode>

Help text should also be proper sentences.

To test:
0) Run misc/cronjobs/overdue_notices.pl -h
1) Check that the text is now:
   -library      <branchcode>     Only deal with overdues from this library.
2) Check that the rest of the help text are proper sentences,
   with leading capital letter and punctuation.
3) Sign off.

Sponsored-by: Lunds Universitetsbibliotek
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
(cherry picked from commit 1ad7d034e65d0b518335086345f2f533d1898c56)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
3 years agoBug 25954: Prevent two elements with id="description" in the DOM
Jonathan Druart [Mon, 4 Jan 2021 14:09:19 +0000 (15:09 +0100)]
Bug 25954: Prevent two elements with id="description" in the DOM

It also fixes t/db_dependent/selenium/administration_tasks.t

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
(cherry picked from commit b13982d6a52dc9660e0d35ccfc40193774a336a4)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
3 years agoBug 25954: Compiled CSS
Jonathan Druart [Mon, 4 Jan 2021 12:59:38 +0000 (13:59 +0100)]
Bug 25954: Compiled CSS

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
(cherry picked from commit 4d7b353b628077d99d7503a3afb343e315d00e1e)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
3 years agoBug 25954: (QA follow-up) Correct label "for" attribute in authorities search
Josef Moravec [Tue, 17 Nov 2020 17:34:12 +0000 (17:34 +0000)]
Bug 25954: (QA follow-up) Correct label "for" attribute in authorities search

Change it from first select box to text input for consistancy with other
search forms

Test plan:
1) Apply the patch
2) Go to authorities search
3) Confirm the labels in all search tabs are linked to text input field

Signed-off-by: Josef Moravec <josef.moravec@gmail.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
(cherry picked from commit 3b2bd038279911e8f29b376b2e70a2b9f9b6bb66)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
3 years agoBug 25954: (follow-up) Correct label "for" attribute
Owen Leonard [Thu, 6 Aug 2020 19:09:43 +0000 (19:09 +0000)]
Bug 25954: (follow-up) Correct label "for" attribute

This patch updates a couple of search include forms to change the "for"
attribute of the label. Although "idx" is the first field in this
situation, the label's text applies to the keyword field so it should
give focus to the keyword field.

Signed-off-by: Josef Moravec <josef.moravec@gmail.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
(cherry picked from commit 1920c92d811dc5477a9cb1064f6f7e2dd473a380)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
3 years agoBug 25954: Replace paragraph tags with labels in header search forms
Owen Leonard [Wed, 8 Jul 2020 13:40:37 +0000 (13:40 +0000)]
Bug 25954: Replace paragraph tags with labels in header search forms

This patch replaces instances of <p class="tip"> with <label
class="tip"> in header search forms where there is not already a label
tag corresponding to the first form field.

In cases where there is already a label on the first form field the <p>
is kept.

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)

Test the header search forms on the following pages:

 - Staff interface home page
 - Acquisitions home
 - Acquisitions -> Vendor -> Contracts
 - Acquisitions -> Vendor -> Add to basket -> From a suggestion
 - Advanced catalog search
 - Authorities
 - Administration
 - Administration -> Funds
 - Administration -> Desks (UseCirculationDesks must be enabled)
 - Administration -> Cities and towns
 - Administration -> Currencies and exchange rates
 - Administration -> Patron categories
 - Administration -> Z39.50/SRU servers
 - Catalog -> Search results
 - Cataloging
 - Circulation
 - Circulation -> Check in
 - Patrons
 - Serials
 - Tools -> Notices and Slips

In each case, check that the search form labels work as expected to move
focus to the corresponding form field.

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Josef Moravec <josef.moravec@gmail.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
(cherry picked from commit 38bc9eb2a8c01c8625b1c33c7e098cd0022b2710)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
3 years agoBug 27178: Add 'str' namespace to exclude-result-prefixes
Jonathan Druart [Thu, 10 Dec 2020 10:35:50 +0000 (11:35 +0100)]
Bug 27178: Add 'str' namespace to exclude-result-prefixes

Some nodes in the generated HTML document contain the 'str' namespace.
For instance, at the OPAC on the search result list, you can see:
<a xmlns:str="http://exslt.org/strings" href="/cgi-bin/koha/opac-detail.pl?biblionumber=18566&amp;query_desc=kw%2Cwrdl%3A%20spin" class="title">

The solution is to add 'str' to exclude-result-prefixes.
From https://developer.mozilla.org/en-US/docs/Web/XSLT/Element/stylesheet
"""
Specifies any namespace used in this document that should not be sent to the output document. The list is whitespace separated.
"""

Test plan:
0. Don't apply this patch
1. Launch a search at the OPAC
2. Inspect the title link for the records
=> Note the 'xmlns:str' attribute on tag "a"
3. Apply this patch
4. restart_all
5. Repeat 1. and 2.
=> Note that the attribute is gone now.

QA will check that no other occurrences is missing (note that one
NORMARC xsl is missing it, but NORMARC is deprecated)

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>
(cherry picked from commit 71aaf8b458254921022b5e14440f158c8c7eb7bd)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
3 years agoBug 27168: Sort most popular by number of issues desc
Jonathan Druart [Wed, 9 Dec 2020 15:27:41 +0000 (16:27 +0100)]
Bug 27168: Sort most popular by number of issues desc

It seems that there is a weird behavior when the title is used as a
second sort

Test plan:
Turn on OpacTopissue
Make sure the table always displays entries sorted by number of issues
desc

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
(cherry picked from commit b42e08029e91fdb2d3cb9a8725314236d862269c)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
3 years agoBug 26953: Hide phone and itiva from "Overdue notice/status triggers"
Jonathan Druart [Wed, 2 Dec 2020 09:52:27 +0000 (10:52 +0100)]
Bug 26953: Hide phone and itiva from "Overdue notice/status triggers"

If the prefs are off we should not display the checkboxes

Test plan:
1. Turn off PhoneNotification and TalkingTechItivaPhoneNotification
2. Go to the "Overdue notice/status triggers" and confirm that phone and
itiva columns are not displayed
3. Turn the prefs on and confirm the checkboxes are now displayed

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
(cherry picked from commit 6ef7cbededc424e93622b30832ebc7f609d7308d)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
3 years agoBug 27310: Remove CSS float on 'Visibility' in framework edition
Fridolin Somers [Tue, 29 Dec 2020 10:55:25 +0000 (11:55 +0100)]
Bug 27310: Remove CSS float on 'Visibility' in framework edition

In administration > framework edition > subfield edition, 'Visibility' label as a CSS rule float none.
This seems obsolete, removing it will align label like others.

Test plan :
1) Go to Administration
2) Edit any framework
3) Edit any subfield
4) Look at 'Visibility'
=> Without patch label is sticked to the left
=> With patch label postion is like others

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>
(cherry picked from commit 48b39167bb2f7fc06ece57d0fbcf94fe949b426a)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
3 years agoBug 27031: Use Koha.Preference() more often in header.inc and js_includes.inc
David Cook [Thu, 24 Dec 2020 00:07:04 +0000 (00:07 +0000)]
Bug 27031: Use Koha.Preference() more often in header.inc and js_includes.inc

This patch uses the Koha.Preference() macro more often in key includes.
(In the longer term, it will help reduce dependency in problematic C4::Auth code.)

Test plan:
0. Apply patch
1. Go to http://localhost:8081/cgi-bin/koha/mainpage.pl
2. Note "Cart" link in nav bar
3. Click "Cart" and note "Your cart is currently empty" text
4. Click "More" and note "Course Reserves" in dropdown menu
5. Go to http://localhost:8081/cgi-bin/koha/catalogue/search.pl?q=test
6. Click "Select all" above search results
7. Click "Add to cart"
8. Note "Cart" now has 3 displaying next to it
9. Click "Cart"
10. Note there are three titles in the cart
11. Click "Empty and close" and click "OK" to confirm
12. Note "Cart (0)" now appears in the top nav
13. Go to http://localhost:8081/cgi-bin/koha/admin/preferences.pl?op=search&searchfield=IntranetNav
14. Save the following content in the system preference: <li><a href="/index.html">New Home</a></li>
15. Refresh the page
16. Note "New Home" appears in the top nav between "Cart" and "More"

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>
(cherry picked from commit 4186a5873bdeca5b57b153f07494d800ca93cb8b)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
3 years agoBug 26996: Convert Elasticsearch indexer commit buffer size to integer
Björn Nylén [Wed, 11 Nov 2020 07:35:21 +0000 (08:35 +0100)]
Bug 26996: Convert Elasticsearch indexer commit buffer size to integer

When multithreaded indexing is used, the commit size for children are spread
out resulting in them being of type float. When records are processed and the
commit counter decreased it may then never reach *exactly* 0. This means records
are never commited. This patch makes sure the counter is an integer to avoid the
problem.

To test you must find a set of circumstances that causes the issue. For me:
1. Run: ./rebuild_elasticsearch -v -b -p 2 -c 400
2. Note that only one process is logging "Committing xxx records..."
3. Kill processes.
4. Apply patch.
5. Repeat 1
6. Note that both processes are logging "Committing xxx records..."

Sponsored-by: Lund University Library
Signed-off-by: Joonas Kylmälä <joonas.kylmala@helsinki.fi>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
(cherry picked from commit ba9c9cc794123d60c92a4ce499aa4554299936b6)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
3 years agoBug 27135: Adjust "upload image" button when viewing item's cover images
Jonathan Druart [Thu, 3 Dec 2020 08:40:45 +0000 (09:40 +0100)]
Bug 27135: Adjust "upload image" button when viewing item's cover images

When viewing the cover image of an item, the "upload image" button is
about to upload an image at biblio level.

Test plan:
- Attach a cover image to an item
- View it
- Notice the "Upload image" button, confirm that with this patch applied
the wording changed and that clicking it will attach a cover image to
the item
- Attach a cover image to the biblio
- View it
- Notice the "Upload image" button, confirm that with this patch applied
the wording changed and that clicking it will attach a cover image to
the biblio

Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
(cherry picked from commit f0209415245fec941f44ed40ee47d8f163e5bb48)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
3 years agoBug 27043: Add to number_of_replicas and number_of_shards to index config
Fridolin Somers [Tue, 17 Nov 2020 13:49:58 +0000 (14:49 +0100)]
Bug 27043: Add to number_of_replicas and number_of_shards to index config

With Elasticsearch 6 (>6.4), we have a warning on index creation :
  the default number of shards will change from [5] to [1] in 7.0.0

See https://github.com/elastic/elasticsearch/pull/30587

I propose to add number_of_shards in index config.

Also add number_of_replicas that is better explicit.
In case on only one node, it must be 0.

Test plan :
1) Use Elasticsearch
2) Apply patch and flush memcached
3) Rebuild indexes : misc/search_tools/rebuild_elasticsearch.pl -v -b -d
4) Check you dont have a warning about number of shards
5) Check the settings of index :
   curl '<cluster>:9200/<myindex>_biblios/_settings?pretty&filter_path=**.number_of_*'
6) You should see :
   "number_of_shards" : "5",
   "number_of_replicas" : "1"

Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
(cherry picked from commit 3dc90c66c7e3e53c6fab1792ebac65767e770c5e)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
3 years agoBug 26171: (QA follow-up) Add table name and object type to message
Nick Clemens [Mon, 21 Dec 2020 19:24:05 +0000 (19:24 +0000)]
Bug 26171: (QA follow-up) Add table name and object type to message

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
(cherry picked from commit 0f7bbb64df376cd0998d6e882ad2f0a699187863)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
3 years agoBug 26171: adapt Koha/Exceptions.t
Fridolin Somers [Fri, 7 Aug 2020 08:30:55 +0000 (10:30 +0200)]
Bug 26171: adapt Koha/Exceptions.t

Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
(cherry picked from commit c961b238a2c726f7bf2dc70a672d31c43da84f29)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
3 years agoBug 26171: Show biblionumber in Koha::Exceptions::Metadata::Invalid
Fridolin Somers [Fri, 7 Aug 2020 08:05:52 +0000 (10:05 +0200)]
Bug 26171: Show biblionumber in Koha::Exceptions::Metadata::Invalid

Bug 23846 added a check for invalid MARCXML in search_for_data_inconsistencies.pl.
But the error message does not show the biblionumber of invalid biblio record.

Test plan:
1) Import a bibliographic record with invalid XML, you can add non printable characters, like 0x1F (CTRL-V 1F with vim)
2) Run misc/maintenance/search_for_data_inconsistencies.pl
3) Check you see correct biblionumber in error message :
Invalid data, cannot decode object (id=xxx, biblionumber=yyy, format=marcxml, schema=zzz, decoding_error=...

Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
(cherry picked from commit 3b987412f699d16794520e1b3ec1b04b82fdd4e4)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>