koha.git
40 hours agoBug 24191: Make objects.search pass to_model to dbic_merge_sorting master
Tomas Cohen Arazi [Mon, 9 Dec 2019 18:31:36 +0000 (15:31 -0300)]
Bug 24191: Make objects.search pass to_model to dbic_merge_sorting

This patch makes objects.search pass the to_mode method reference so it
can be used to map API attributes to column names when building the
sorting portion of the query.

To test:
1. Apply the regression tests on this patchset
2. Run:
  $ kshell
 k$ prove t/db_dependent/Koha/REST/Plugin/Objects.t
=> FAIL: Tests fail!
3. Apply the rest of the patchset
4. Run:
 k$ prove t/Koha/REST/Plugin/Query.t
=> SUCCESS: Tests pass! changes to the methods work as expected!
5. Run:
 k$ prove t/db_dependent/Koha/REST/Plugin/Objects.t
=> SUCCESS: Tests pass!
6. Sign off :-D

Sponsored-by: ByWater Solutions
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Josef Moravec <josef.moravec@gmail.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

40 hours agoBug 24191: Add to_model param to _build_order_atom and dbic_merge_sorting
Tomas Cohen Arazi [Mon, 9 Dec 2019 17:48:48 +0000 (14:48 -0300)]
Bug 24191: Add to_model param to _build_order_atom and dbic_merge_sorting

This patch adds a to_model parameter to dbic_merge_sorting so it is
passed when used (for example from objects.search). The to_model param
is passed along to the _build_order_atom method where it is finally
used.

In the process I wrote tests that reflected some problems in the current
code:
- Mojolicious automatically returns a scalar if a query parameter only
happens once on a request. The code expected an arrayref in every case.
- There's a design issue that forced me to use some hacky code in
_build_order_atom.

The first issue is dealth with, by using Scalar::Util::reftype as the
Perl docs recommend.

The second issue, I don't plan to clean it here, as there's ongoing work
on a Koha::Objects->search_from_api method that will obsolete this code
most probably (see bug 23893 for a better picture of where the mappings
will be living soon).

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

Sponsored-by: ByWater Solutions
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Josef Moravec <josef.moravec@gmail.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

40 hours agoBug 24191: Regression tests
Tomas Cohen Arazi [Mon, 9 Dec 2019 17:41:35 +0000 (14:41 -0300)]
Bug 24191: Regression tests

This patch adds missing tests for calling objects.search with
non-existent column names for sorting, that should be mapped using
to_model for that matter.

Tests should fail as there's no current use of to_model for building the
order_by portion of the query.

Sponsored-by: ByWater Solutions
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Josef Moravec <josef.moravec@gmail.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

40 hours agoBug 24138: Fix calculation of suspension days when a limit is set
Jonathan Druart [Fri, 29 Nov 2019 13:45:25 +0000 (14:45 +0100)]
Bug 24138: Fix calculation of suspension days when a limit is set

If there is a limit for the number of suspension days
(maxsuspensiondays), the calculation is wrong. We are reducing the
number of days before taking into account the suspension charging
interval.

For instance, a checkin is 1 year late and the circ rules are defined to
charge 7 days every 15 days.
It results in 365 * 7 / 15 days of suspension => 170 days

Before this patch the calculation was:
365 * 7 limited to 333, 333 / 15 => 22 days

Test plan:
Given the examples in the commit messages and the description of the bug
report, setup complex circulation rules and confirm that the debarment
dates are calculated correctly

Signed-off-by: Hugo Agud <hagud@orex.es>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

40 hours agoBug 24138: Move the calculation out of the sub
Jonathan Druart [Fri, 29 Nov 2019 12:55:27 +0000 (13:55 +0100)]
Bug 24138: Move the calculation out of the sub

No changes expected here. For the next patch we are going to need to add
test and calculate the new debarment date. To ease the writing of these
tests the calculation is moved out of the existing subroutine.

Signed-off-by: Hugo Agud <hagud@orex.es>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

40 hours agoBug 23970: Make search with "Publication date" field work at any position
Jonathan Druart [Mon, 25 Nov 2019 12:35:25 +0000 (13:35 +0100)]
Bug 23970: Make search with "Publication date" field work at any position

The changes made in the following commit:
  commit 0d2e83bca5b91376e9262b6cb0b993f09b919018
  Bug 14636: Item search - fix search and sort by publication date for MARC21
was put at the wrong place. It was inside a "if $i == 1" test that
impacts the first field only.

Test plan:
0/ Use a MARC21 installation
1/ Search items by publication date, use twice the field using different
values.
For instance:
  publication date: 2005 OR
  publication date: 2006
=> Without this patch you only get results for 2005
=> With this patch applied you get results for both years.

Signed-off-by: Joonas Kylmälä <joonas.kylmala@helsinki.fi>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

40 hours agoBug 21761: Do not call $self->store in ->set_password
Jonathan Druart [Tue, 10 Dec 2019 09:50:58 +0000 (10:50 +0100)]
Bug 21761: Do not call $self->store in ->set_password

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

40 hours agoBug 21761: Call set + store as update
Martin Renvoize [Fri, 21 Jun 2019 15:47:55 +0000 (16:47 +0100)]
Bug 21761: Call set + store as update

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

40 hours agoBug 24177: (QA follow-up) Fix warning
Tomas Cohen Arazi [Tue, 10 Dec 2019 14:44:44 +0000 (11:44 -0300)]
Bug 24177: (QA follow-up) Fix warning

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

40 hours agoBug 24177: Import Koha::Account::CreditTypes to cash_register_stats.pl
Josef Moravec [Tue, 10 Dec 2019 07:56:55 +0000 (07:56 +0000)]
Bug 24177: Import Koha::Account::CreditTypes to cash_register_stats.pl

Test plan:
0) Do not apply the patch
1) Confirm the bug - go to Reports -> Cash register
--> You will see ISE
2) Apply the patch, and restart_all
3) Confirm the ISE is gone and you see the form for Cash register report

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

46 hours agoBug 24199: (bug 23042 follow-up) Prevent t/Auth_with_shibboleth.t to fail randomly
Jonathan Druart [Tue, 10 Dec 2019 10:22:59 +0000 (11:22 +0100)]
Bug 24199: (bug 23042 follow-up) Prevent t/Auth_with_shibboleth.t to fail randomly

CGI->url_param does not always return the parameters in the same order.

Test plan:
0/ Recreate the random failure, does not apply the patch and run
t/Auth_with_shibboleth.t several times.
You will notice that it fails inconsistenly
1/ Apply the patch and confirm that it now passes 100% of the time

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

46 hours agoBug 20948: Add missing html filter
Jonathan Druart [Tue, 10 Dec 2019 10:17:36 +0000 (11:17 +0100)]
Bug 20948: Add missing html filter

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

2 days agoBug 17831: DBRev 19.12.00.001
Martin Renvoize [Mon, 9 Dec 2019 14:56:10 +0000 (14:56 +0000)]
Bug 17831: DBRev 19.12.00.001

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

2 days agoBug 17831: Database update - Tidy up frameworks in existing installations
Katrin Fischer [Sun, 24 Nov 2019 12:39:57 +0000 (12:39 +0000)]
Bug 17831: Database update - Tidy up frameworks in existing installations

The mapped table and column doesn't exist, so we should also remove
it from existing installations.

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

2 days agoBug 17831: Remove non-existig bibliosubject.subject mapping from frameworks
Nick Clemens [Tue, 10 Jan 2017 17:16:38 +0000 (17:16 +0000)]
Bug 17831: Remove non-existig bibliosubject.subject mapping from frameworks

This patch removes the assignment of non-existent koha field
'bibliosubject.subject' to MARC subject fields in the installer data
for koha

To test:
You'll want a new fresh db

1 - Apply patch
2 - Run websintaller
3 - Ensure that thigns go smoothly
4 - Add/delete/edit some records and ensure that things are working with
the installed frameworks

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

2 days agoBug 24128: Add alias for biblionumber search
Nick Clemens [Wed, 27 Nov 2019 11:26:45 +0000 (11:26 +0000)]
Bug 24128: Add alias for biblionumber search

To test:
1 - In staff or OPAC using ES, search for "biblionumber:3" or any existing biblionumber
2 - No results
3 - Apply patch, restart all the things
4 - Search again
5 - You go to the biblionumber

Signed-off-by: Bob Bennhoff <bbennhoff@clicweb.org>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

2 days agoBug 20948: Only display item-level hold info if first hold
Jonathan Druart [Mon, 18 Nov 2019 09:30:04 +0000 (10:30 +0100)]
Bug 20948: Only display item-level hold info if first hold

On the item list of the catalogue detail page we display next item-level
hold info even if it is not the next hold. That leads to confusion as it
will not necessarily be the accurate info.

This patch makes the following changes:
- Display the item-level hold only if it is the next hold (priority ==
1)
- Display "There is an item level hold on this item (priority=X)"
if there is at least 1 item-level hold placed on this item

Test plan:
- Place several next available holds on a single item record
- Place an item level hold on the item
- Go the the biblio detail page
=> Without this patch, the item will show the item level hold
=> With the patch you see "There is an item level hold on this item"
- Check the item in, confirm the hold
=> No changes, the item will show the waiting hold info
- Cancel all the holds except the item-level one
=> No changes, the item will how the item-level one

Signed-off-by: Lisette Scheer <lisetteslatah@gmail.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

2 days agoBug 20948: Simplify existing code
Jonathan Druart [Mon, 18 Nov 2019 09:10:56 +0000 (10:10 +0100)]
Bug 20948: Simplify existing code

No changes expected here.

Signed-off-by: Lisette Scheer <lisetteslatah@gmail.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

2 days agoBug 23246: (follow-up) Hardcoding tab position is not enough
Tomas Cohen Arazi [Mon, 1 Jul 2019 17:13:15 +0000 (14:13 -0300)]
Bug 23246: (follow-up) Hardcoding tab position is not enough

There are many conditions that determine the tab number for 'media'.
Translated into variables that hold the tabs count on each condition, it
is clear that '3' was not good enough:
            [%- holdings      = (SeparateHoldings)   ? 2 : 1
                notes         = (MARCNOTES || notes) ? 1 : 0
                acq           = (Koha.Preference('AcquisitionDetails')) ? 1 : 0
                frbr          = (FRBRizeEditions  && XISBNS) ? 1 : 0
                local_covers  = (LocalCoverImages && (localimages || CAN_user_tools_upload_local_cover_images)) ? 1 : 0
                media_tab     = holdings + notes + acq + frbr + local_covers
            -%]

This patch gets rid of the hardcoded value, adds an id to the 'media'
tab (i.e. 'media_tab') and uses JS to get the right index.

To test:
- Play with the different options governing those variables
=> FAIL: 3 is not always the 'media' tab
- Apply this patch
- Repeat your tests
=> SUCCESS: It always picks the 'media' tab
- Sign off :-D

Sponsored-by: American Numismatics Society
Signed-off-by: Maryse Simard <maryse.simard@inlibro.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

2 days agoBug 23246: Only jump into the 'images' tab HTML5MediaEnabled is set
Tomas Cohen Arazi [Mon, 1 Jul 2019 16:16:42 +0000 (13:16 -0300)]
Bug 23246: Only jump into the 'images' tab HTML5MediaEnabled is set

This patch makes jumping into the third tab happen only if
HTML5MediaEnabled is set to 'both' or 'staff'.

To test:
- Have HTML5MediaEnabled set to 'opac' or 'not at all'
- Open the detail page of a record with no holdings
=> FAIL: The 'images' tab is selected
- Apply this patch
- Reload
=> SUCCESS: The 'holdings' tab is selected as it should be.
- Sign off :-D

Sponsored-by: America Numismatic Society
Signed-off-by: Maryse Simard <maryse.simard@inlibro.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

2 days agoBug 24126: Article requests tab appears twice on patron's checkout screen
Owen Leonard [Tue, 26 Nov 2019 17:31:15 +0000 (17:31 +0000)]
Bug 24126: Article requests tab appears twice on patron's checkout screen

This patch removes duplicated markup on the checkout page which results
in the "Article requests" tab appearing twice.

To test, apply the patch and enable ArticleRequests.

Check out to a patron. In the set of tabs that includes checkouts,
holds, restrictions, etc., the "Article requests" tab should appear only
once.

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

2 days agoBug 23987: "return to cataloguing" if the record is deleted from bachMod-del
Jonathan Druart [Wed, 20 Nov 2019 09:56:24 +0000 (10:56 +0100)]
Bug 23987: "return to cataloguing" if the record is deleted from bachMod-del

If a bibliographic record is deleted after having deleted all their items in a batch,
we should not display a "return to the record" button but "return to cataloguing" instead

Test plan:
1 - Have/make a bib with items
2 - On details page select Edit->Delete items in a batch
3 - Select all items and check "Delete record if no items remain"
4 - Delete the things
5 - On confirmation screen you have a count of items/bibs deleted
=> Without the patch there is a 'Return to record' button that leads to nowhere
=> With this patch there is a "Return to cataloging module" button
6 - Repeat using the "Delete selected items" link on top of the items table
=> Without the patch there is a 'Return to where you were' button that leads to nowhere
=> With this patch there is a "Return to cataloging module" button

Note that there is a link AND a button, coming from
  commit 928c0af2b6a2c7aa6ed54019c5bd7dbddbccf4ee
  Bug 15824 - 'Done' button is unclear on batch item modification and deletion
I do not think it makes sense to have both.

Signed-off-by: George Williams <george@nekls.org>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

2 days agoBug 23987: Use src=CATALOGUING for edition/deletion in batch from items table
Jonathan Druart [Wed, 20 Nov 2019 09:53:32 +0000 (10:53 +0100)]
Bug 23987: Use src=CATALOGUING for edition/deletion in batch from items table

There are 2 ways to land in batchMod from the detail page of a bib
record: from the Edit menu, and the action buttons on top of the items
table.

We want the same behavior for both and so use src=CATALOGUING
It will make batchMod to behave identically for the "return" button

Signed-off-by: George Williams <george@nekls.org>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

2 days agoBug 24033: Fix column labelling on basket summary page (ecost)
Lisette Scheer [Thu, 14 Nov 2019 21:53:25 +0000 (21:53 +0000)]
Bug 24033: Fix column labelling on basket summary page (ecost)

When viewing a basket, some of the column names are unclear
and are different than the terms used for the same field
on the order form. This patch edits the column titles to
match the order form.

To test:
1) In acquisitions, create a budget.
2) In acquisitions, create a fund.
3) In acquisitions, create a vendor.
4) In acquisitions, create a basket and add a test item to the basket.
5) Observe the column titles ecost tax inc. and ecost tax exc.
   Check the column visibility settings if you don't see
   the columns.
6) Apply the patch.
7) Observe the column titles have been updated.

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

2 days agoBug 24056: Capitalization: Cash Register ID on cash register management page
Lisette Scheer [Tue, 19 Nov 2019 18:15:17 +0000 (18:15 +0000)]
Bug 24056: Capitalization: Cash Register ID on cash register management page

When editing a cash register, Cash register ID doesn't follow
our capitalization guidelines. This patch fixes that.

To Test:
1) Turn on cash register usage in the system preferences.
2) Add a cash register.
3) Edit the cash register.
4) Note the incorrect capitalization.
5) Apply the patch.
6) Edit the cash register.
7) Note the correct capitalization.

Signed-off-by: George Williams <george@nekls.org>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

2 days agoBug 24057: Hea is not an acronym
Owen Leonard [Mon, 18 Nov 2019 16:10:14 +0000 (16:10 +0000)]
Bug 24057: Hea is not an acronym

This patch changes "HEA" (incorrectly capitalized) to "Hea" on the
staff client administration home page.

To test, apply the patch and set the "UsageStats" system preference to
"No, let me think about it."

 - Go to Administration in the staff client.
 - There should be a message at the top asking if you want to share
   anonymous usage statisitcs with the community. The word "Hea" in this
   message should be capitalized correctly.

Signed-off-by: Séverine QUEUNE <severine.queune@bulac.fr>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

2 days agoBug 24053: Typo in FinePaymentAutoPopup description
Lisette Scheer [Tue, 19 Nov 2019 17:50:45 +0000 (17:50 +0000)]
Bug 24053: Typo in FinePaymentAutoPopup description

There is a typo in the FinePaymentAutoPopup system preference description.
This patch fixes that.

To test:
1) Go to the systems preferences in administration.
2) Search for FinePaymentAutoPopup
3) Observe .. at the end of the preference description.
4) Apply the patch
5) Repeat steaps 1-2
6) Ovserve correct punctuation at the end of the preference description.

Signed-off-by: Séverine QUEUNE <severine.queune@bulac.fr>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

2 days agoBug 24136: Update sponsors for 19.11 cycle
Martin Renvoize [Fri, 29 Nov 2019 10:49:37 +0000 (10:49 +0000)]
Bug 24136: Update sponsors for 19.11 cycle

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

2 days agoBug 24168: (bug 23116 follow-up) AllowHoldPolicyOverride allows a librarian to almost...
Jonathan Druart [Wed, 4 Dec 2019 15:04:45 +0000 (16:04 +0100)]
Bug 24168: (bug 23116 follow-up) AllowHoldPolicyOverride allows a librarian to almost place a hold on an item already on hold

This patch actually fixes the issue described on bug 23116.

Test plan:
See bug 23116 and comment 5. Important to note that the later comparison with
itemAlreadyOnHold assumes that the variable is a string.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

9 days agoBug 24145: (bug 22543 follow-up) Fix Auth.t
Jonathan Druart [Mon, 2 Dec 2019 16:50:40 +0000 (17:50 +0100)]
Bug 24145: (bug 22543 follow-up) Fix Auth.t

Auth.t is failing because of: 1. recent changes from bug 22543 and 2. wrong mocked CGI->param in tests
Without this patch we hit the exit statement that breaks the tests with the following error:

t/db_dependent/Auth.t .. 1/22 Un-mocked method 'url()' called at /kohadevbox/koha/C4/Auth.pm line 1223.
Un-mocked method 'redirect()' called at /kohadevbox/koha/C4/Auth.pm line 1227.
A context appears to have been destroyed without first calling release().
Based on $@ it does not look like an exception was thrown (this is not always
a reliable test)

This is a problem because the global error variables ($!, $@, and $?) will
not be restored. In addition some release callbacks will not work properly from
inside a DESTROY method.

Here are the context creation details, just in case a tool forgot to call
release():
  File: t/db_dependent/Auth.t
  Line: 74
  Tool: Test::More::subtest

Cleaning up the CONTEXT stack...
    # Looks like you planned 22 tests but ran 1.
t/db_dependent/Auth.t .. Dubious, test returned 255 (wstat 65280, 0xff00)
Failed 21/22 subtests

Test Summary Report
-------------------
t/db_dependent/Auth.t (Wstat: 65280 Tests: 1 Failed: 0)
  Non-zero exit status: 255
  Parse errors: Bad plan.  You planned 22 tests but ran 1.
Files=1, Tests=1,  2 wallclock secs ( 0.02 usr  0.00 sys +  1.54 cusr  0.24 csys =  1.80 CPU)
Result: FAIL

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

9 days agoBug 24144: (bug 23836 follow-up) Fix regressions.t tests
Jonathan Druart [Mon, 2 Dec 2019 16:12:06 +0000 (17:12 +0100)]
Bug 24144: (bug 23836 follow-up) Fix regressions.t tests

Bug 23836 changes the behavior for tracklinks.pl but did not adjust the
tests.

We must then expect 404 if the pref is turned off.
Also mock_preference cannot work (we are hitting the web server and so
need to set the value in DB and flush the L1 caches)

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

9 days agoKoha 19.12 - Dobbie is a free elf...
Martin Renvoize [Mon, 2 Dec 2019 17:10:11 +0000 (17:10 +0000)]
Koha 19.12 - Dobbie is a free elf...

    “Dobby has got a sock. Master threw it, and
    Dobby caught it, and Dobby — Dobby is free."

Koha, the worlds first completely open library system. 🧦

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

13 days agoUpdate release notes for 19.11.00 release v19.11.00
Martin Renvoize [Wed, 27 Nov 2019 15:21:08 +0000 (15:21 +0000)]
Update release notes for 19.11.00 release

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

13 days agoMaintanence team template corrections
Martin Renvoize [Thu, 28 Nov 2019 18:23:44 +0000 (18:23 +0000)]
Maintanence team template corrections

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

13 days agoAdd release team for 20.05 cycle
Martin Renvoize [Thu, 28 Nov 2019 16:51:02 +0000 (16:51 +0000)]
Add release team for 20.05 cycle

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

2 weeks agoIncrement version for 19.11.00 release
Martin Renvoize [Wed, 27 Nov 2019 13:38:14 +0000 (13:38 +0000)]
Increment version for 19.11.00 release

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

2 weeks agoAlign DB updates
Martin Renvoize [Wed, 27 Nov 2019 16:33:51 +0000 (16:33 +0000)]
Align DB updates

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

2 weeks agoTranslation Fixes
Martin Renvoize [Wed, 27 Nov 2019 13:33:45 +0000 (13:33 +0000)]
Translation Fixes

Correct some fatal errors in the translation files

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

2 weeks agoTranslation updates for Koha 19.11.00
Koha translators [Wed, 27 Nov 2019 11:37:58 +0000 (08:37 -0300)]
Translation updates for Koha 19.11.00

(cherry picked from commit bc938166712f17d731a1f190628c27593a082419)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

2 weeks agoBug 24130: (RM follow-up) Fix old invalid data
Martin Renvoize [Wed, 27 Nov 2019 15:52:57 +0000 (15:52 +0000)]
Bug 24130: (RM follow-up) Fix old invalid data

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

2 weeks agoUpdate contributors statistics for release
Martin Renvoize [Wed, 27 Nov 2019 11:33:21 +0000 (11:33 +0000)]
Update contributors statistics for release

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

2 weeks agoBug 23042: Correct shib param escaping
Jonathan Druart [Wed, 19 Jun 2019 17:12:15 +0000 (12:12 -0500)]
Bug 23042: Correct shib param escaping

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

2 weeks agoBug 23042: Only include GET params in return URL for Shibboleth
Martin Renvoize [Thu, 13 Jun 2019 16:02:33 +0000 (17:02 +0100)]
Bug 23042: Only include GET params in return URL for Shibboleth

The shibboleth return target included POST parameters in the URL string,
this meant that a failed local login POST would include the username and
password used in the attemtped login in plaintext in the redirect URL
that is appended to the shibboleth login URL.

Signed-off-by: Mark Tompsett <mtompset@hotmail.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

2 weeks agoBug 23042: Add tests to catch POST params in return URL
Martin Renvoize [Wed, 19 Jun 2019 09:56:30 +0000 (10:56 +0100)]
Bug 23042: Add tests to catch POST params in return URL

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

2 weeks agoBug 23836: exit after output_error
Jonathan Druart [Wed, 30 Oct 2019 12:15:38 +0000 (13:15 +0100)]
Bug 23836: exit after output_error

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

2 weeks agoBug 23836: Don't forward form tracklinks if not tracking
Nick [Thu, 17 Oct 2019 15:26:18 +0000 (15:26 +0000)]
Bug 23836: Don't forward form tracklinks if not tracking

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

2 weeks agoBug 23329: (RM follow-up) Restore DB after test
Martin Renvoize [Thu, 15 Aug 2019 07:54:59 +0000 (08:54 +0100)]
Bug 23329: (RM follow-up) Restore DB after test

Test plan:
1) Dump your DB before the tests is run
2) Run the test
3) Dumper your DB again and compare to the first dump
Success if there are no differences (other than the timestamp of the
dump)

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>

2 weeks agoBug 23329: Fix tests
Jonathan Druart [Wed, 14 Aug 2019 18:56:48 +0000 (14:56 -0400)]
Bug 23329: Fix tests

- www.google.com vs https://www.google.com
- Remove transaction otherwise data are not available from webserver
- Use new C4::Output::output_error to avoid 302 (redirect)

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>

2 weeks agoBug 23329: Move error page to its own subroutine
Jonathan Druart [Wed, 14 Aug 2019 18:56:46 +0000 (14:56 -0400)]
Bug 23329: Move error page to its own subroutine

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>

2 weeks agoBug 23329: (RM follow-up) Add regression tests
Martin Renvoize [Wed, 14 Aug 2019 10:34:47 +0000 (11:34 +0100)]
Bug 23329: (RM follow-up) Add regression tests

Test plan:

Run the new tests and they should all pass once we've caught all cases

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>

2 weeks agoBug 23329: (QA follow-up) Resolve warning on wrong biblionumber
Marcel de Rooy [Fri, 9 Aug 2019 09:27:18 +0000 (09:27 +0000)]
Bug 23329: (QA follow-up) Resolve warning on wrong biblionumber

Passing a wrong biblionumber generates a warning:
    GetMarcUrls called on undefined record at opac/tracklinks.pl line 58.

Test plan:
[1] Try it again with a wrong biblionumber and check the logs.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
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>

2 weeks agoBug 23329: (follow-up) Allow item URI with a biblionumber parameter
Marcel de Rooy [Fri, 9 Aug 2019 09:18:13 +0000 (09:18 +0000)]
Bug 23329: (follow-up) Allow item URI with a biblionumber parameter

If you pass a URI with a biblionumber without specifying the itemnumber,
tracklinks did not redirect an item URI.

Test plan:
[1] Add URI in an item.
[2] Pass this URI with the itemnumber to tracklinks. Should pass.
[3] Pass this URI with the biblionumber to tracklinks. Should pass now too.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
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>

2 weeks agoBug 23329: (follow-up) Use any instead of grep
Tomas Cohen Arazi [Tue, 23 Jul 2019 19:39:18 +0000 (16:39 -0300)]
Bug 23329: (follow-up) Use any instead of grep

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
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>

2 weeks agoBug 23329: Only redirect tracklinks.pl to urls contained in records
Nick Clemens [Wed, 17 Jul 2019 11:01:01 +0000 (11:01 +0000)]
Bug 23329: Only redirect tracklinks.pl to urls contained in records

Bug 19487 limited redirection to urls contained in a record/item if we were tracking.
We should probably limit forwarding if not tracking as well.
Additionally, if we don't have a soucre, let's not forward

To test:
 0 - Set TrackClicks syspref to 'Don't track'
 1 - Hit localhost:8080/cgi-bin/koha/tracklinks.pl?uri=http://www.google.com
 2 - You get forwarded to google
 3 - Set TrackClicks to 'Track anonymously'
 4 - You get a 404
 5 - Apply patch
 6 - Hit localhost:8080/cgi-bin/koha/tracklinks.pl?uri=http://www.google.com
 7 - You get a 404
 8 - Set TrackClicks syspref to 'Don't track'
 9 - Hit localhost:8080/cgi-bin/koha/tracklinks.pl?uri=http://www.google.com&biblionumber=1
     Choose a biblionumber that exists
10 - You get a 404
11 - Add http://www.google.com to the 856$u of the record used above
12 - Hit localhost:8080/cgi-bin/koha/tracklinks.pl?uri=http://www.google.com&biblionumber=1
13 - You are redirected
14 - Confirm redirection and 404 as expected with other settings of TrackClicks

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
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>

2 weeks agoBug 22543: Prevent "back and refresh attack"
Magnus Enger [Fri, 6 Sep 2019 07:54:04 +0000 (09:54 +0200)]
Bug 22543: Prevent "back and refresh attack"

To reproduce and test:
- Log into the OPAC, you are taken to /cgi-bin/koha/opac-user.pl
- Log out, you are taken to /cgi-bin/koha/opac-main.pl?logout.x=1
- Click "Back", you are taken to /cgi-bin/koha/opac-user.pl
- Reload the page, you see an error like "Confirm new submission
  of form"
- Reload the page again and confirm the submission of the form
- You are now logged in to the OPAC again!
- Log out again
- Apply this patch
- Log in to the OPAC, you are taken to /cgi-bin/koha/opac-user.pl
- Log out, you are taken to /cgi-bin/koha/opac-main.pl?logout.x=1
- Click back, you are taken to /cgi-bin/koha/opac-user.pl
- No matter how many times you reload /cgi-bin/koha/opac-user.pl,
  you should not see anything other than the login form.
- Check that Self Check Out still works as it should, by making
  sure you have a user with self_check permissions, then setting
  WebBasedSelfCheck, AutoSelfCheckAllowed, AutoSelfCheckID and
  AutoSelfCheckPass appropriately. Then visit
  /cgi-bin/koha/sco/sco-main.pl and verify everything works as
  expected.

The messages and errors pages you see related to resubmitting the
form might differ from the ones described here, depending on what
browser you use. I tested in Chromium 76.0.x.

This fix was originally proposed by LMSCloud:
https://github.com/LMSCloud/Koha-LMSCloud/commit/74a7fe0f0c5b2ce0d65bd26452c6dcaf0a7f65ad

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

2 weeks agoBug 23451: Fix other similar wrong filterings
Jonathan Druart [Wed, 14 Aug 2019 17:39:43 +0000 (13:39 -0400)]
Bug 23451: Fix other similar wrong filterings

Signed-off-by: Liz Rea <wizzyrea@gmail.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

2 weeks agoBug 23451: Prevent XSS vulnerabilities in opac-imageviewer.pl
Jonathan Druart [Wed, 14 Aug 2019 17:31:53 +0000 (13:31 -0400)]
Bug 23451: Prevent XSS vulnerabilities in opac-imageviewer.pl

And certainly in other sripts as it is in opac-bottom.inc

Signed-off-by: Liz Rea <wizzyrea@gmail.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

2 weeks agoBug 23025: Update yarn.lock
Martin Renvoize [Fri, 22 Nov 2019 08:46:20 +0000 (08:46 +0000)]
Bug 23025: Update yarn.lock

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

2 weeks agoBug 23025: security vulnerability detected in fstream < 1.0.12 defined in yarn.lock
Owen Leonard [Fri, 31 May 2019 16:34:34 +0000 (16:34 +0000)]
Bug 23025: security vulnerability detected in fstream < 1.0.12 defined in yarn.lock

This patch updates the version requirements for modules used by yarn.
Running "yarn upgrade" will upgrade the project's direct dependencies as
listed in package.json. However, the output of "yarn audit" will
identify more vulnerabilities with libraries further down the dependency
tree.

Adding a "resolutions" list in package.json seems to be the way to
include these upgrades in an installation.

After making these changes I ran "yarn install" and "yarn audit" again.
The audit reported no vulnerabilities.

Upgrading yarn.lock should allow for the installation of newer versions
of npm modules in new installations. I believe it is necessary to run
"yarn upgrade" on existing installations in order to bring dependencies
up to versions matching those on existing installations.

To test, run the yarn commands we use to compile SCSS in the staff
client and the opac:

yarn build
yarn build --view opac

They should complete without error.

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

2 weeks agoBug 20954: (RM follow-up) Add Sponsor
Martin Renvoize [Wed, 27 Nov 2019 11:19:32 +0000 (11:19 +0000)]
Bug 20954: (RM follow-up) Add Sponsor

Sponsored-by: South East Kansas Library System [http://www.sekls.org]
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

2 weeks agoBug 20292: (RM follow-up) Add Sponsor
Martin Renvoize [Wed, 27 Nov 2019 11:18:01 +0000 (11:18 +0000)]
Bug 20292: (RM follow-up) Add Sponsor

Sponsored-by: Duchesne County Library [http://uintahlibrary.org/]
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

2 weeks agoBug 17168: (RM follow-up) Add Sponsors
Martin Renvoize [Wed, 27 Nov 2019 11:16:04 +0000 (11:16 +0000)]
Bug 17168: (RM follow-up) Add Sponsors

Sponsored-by: Sponsored by: Round Rock Public Library [https://www.roundrocktexas.gov/departments/library/]
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

2 weeks agoBug 20595: (RM follow-up) Add Sponsor
Martin Renvoize [Wed, 27 Nov 2019 11:06:31 +0000 (11:06 +0000)]
Bug 20595: (RM follow-up) Add Sponsor

Sponsored-by: PTFS Europe
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

2 weeks agoBug 23522: (RM follow-up) Add Sponsors
Martin Renvoize [Wed, 27 Nov 2019 11:03:56 +0000 (11:03 +0000)]
Bug 23522: (RM follow-up) Add Sponsors

Sponsored-by: Virginia Tech [https://lib.vt.edu/]
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

2 weeks agoBug 14570: (RM follow-up) Add Sponsors
Martin Renvoize [Wed, 27 Nov 2019 10:39:36 +0000 (10:39 +0000)]
Bug 14570: (RM follow-up) Add Sponsors

Sponsored-by: Northeast Kansas Library System [http://www.nekls.org]
Sponsored-by: Vermont Organization of Koha Automated Libraries [http://gmlc.org/index.php/vokal]
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

2 weeks agoBug 23958: Compiled CSS
Martin Renvoize [Wed, 27 Nov 2019 09:26:01 +0000 (09:26 +0000)]
Bug 23958: Compiled CSS

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

2 weeks agoBug 23958: Use Font Awesome icon to replace "new window" icon image
Owen Leonard [Mon, 4 Nov 2019 00:38:20 +0000 (19:38 -0500)]
Bug 23958: Use Font Awesome icon to replace "new window" icon image

This patch modifies several templates in order to eliminate the
dependency on an image file for styling certain links which open popups
or new windows. A Font Awesome icon is used instead.

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

Cataloging:

 - Create a new MARC record which has the same ISBN as a record in your
   catalog.
 - When you save the record it should warn you that it is a possible
   duplicate. The message should contain an icon-prefixed link to the
   existing record.
 - Clicking the link should open details about the title in a new
   window.

Circulation:

 - Enable the itemBarcodeFallbackSearch system preference.
 - Open a patron for checkout and enter a word in the "barcode" field
   instead of a barcode.
 - The page should return a list of titles to choose from. Each title
   should be a link with an icon. Clicking the link should open details
   about the title in a new window.

Acquisitions:

 - Go to Acquistisions -> Vendor -> Basket.
 - Choose "Add to basket" -> From an external source.
 - Search for and select a record which exists in your catalog.
 - You should be taken to a page with a "Duplicate warning" message. The
   message should contain an icon-prefixed link to the existing record.
 - Clicking this link should open details about the title in a new
   window.

 - Create a MARC file with two records: One which exists in your catalog
   and one which doesn't. Stage that file for import.
 - Choose "Add to basket" again and select "From a staged file."
 - Select the file you staged.
 - You should be taken to a page with a "Duplicate warning" message. The
   message should contain an icon-prefixed link to the existing record.
 - Clicking the link should open details about the title in a new
   window.

Patrons:

 - Create a new patron which has the same name and birthday as an
   existing patron.
 - When you save the record you should be shown a duplicate warning. The
   link to the possible duplicate patron should be prefixed with an icon
   and should open the patron's details in a popup window.

Signed-off-by: Maryse Simard <maryse.simard@inlibro.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

2 weeks agoBug 23955: Compiled CSS
Martin Renvoize [Wed, 27 Nov 2019 09:24:39 +0000 (09:24 +0000)]
Bug 23955: Compiled CSS

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

2 weeks agoBug 23955: Replace famfamfam icon in OPAC holds template
Owen Leonard [Sun, 3 Nov 2019 22:03:46 +0000 (22:03 +0000)]
Bug 23955: Replace famfamfam icon in OPAC holds template

This patch modifies the OPAC holds template so that when an item isn't
available for an item-level hold a Font Awesome icon is displayed
instead of a famfamfam image.

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

 - Make sure you have items which can be placed on hold at the item
   level.
 - Locate a title with more than one item, at least one of which isn't
   available to be placed on hold (item is marked withdrawn, for
   instance).
 - Start the process of placing a hold on the item.
 - On the "Confirm holds" scren, click "Show more options" and select "A
   specific item."
 - In the table of items, any item which isn't available to be put on
   hold should be inidicated with a red X. The title attribute of the
   icon should show "Cannot be put on hold."

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

2 weeks agoBug 23927: Do not copy invoiceid for a new duplicated order
Jonathan Druart [Mon, 25 Nov 2019 10:53:45 +0000 (11:53 +0100)]
Bug 23927: Do not copy invoiceid for a new duplicated order

When an order is created from an existing one (duplication), then the
invoice should be set to null instead of retrieved.

Test plan:
- receive an order
- in a new basket, add an order "From exisitions orders (copy)"
- search your received order
- duplicate
- go to the bibliographic record "Acquisition details" tab
=> Without this patch you will see that the invoice is the same for the
two orders
=> With this patch the invoice for the new order is not set

Signed-off-by: Séverine QUEUNE <severine.queune@bulac.fr>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

2 weeks agoBug 23927: Add tests
Jonathan Druart [Mon, 25 Nov 2019 10:53:00 +0000 (11:53 +0100)]
Bug 23927: Add tests

Signed-off-by: Séverine QUEUNE <severine.queune@bulac.fr>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

2 weeks agoBug 24120: (follow-up) input_name too
Nick Clemens [Tue, 26 Nov 2019 14:12:01 +0000 (14:12 +0000)]
Bug 24120: (follow-up) input_name too

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

2 weeks agoBug 24120: URI filter search terms in sort dropdowns
Nick Clemens [Tue, 26 Nov 2019 13:19:28 +0000 (13:19 +0000)]
Bug 24120: URI filter search terms in sort dropdowns

To test:
1 - Search for C++
2 - Sort your results
3 - Note search is now for "C  "
4 - Apply patch
5 - Search for C++
6 - Reorder results
7 - Still searching for C++

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

2 weeks agoBug 24113: guarantor info lost when a duplicate is found
Kyle M Hall [Tue, 26 Nov 2019 15:23:36 +0000 (10:23 -0500)]
Bug 24113: guarantor info lost when a duplicate is found

When a patron is created with a guarantor but a duplicate is found (or any other warnings I guess) the guarantor's info are lost.

This patch improves on previous functionality by retaining the select guarantor relationship as well.

Test Plan:
1) Create a new child with a name already used, add a guarantor
2) Attempt to save, no the guarantor is not shown when the editor is redisplayed
3) Apply this patch
4) Restart all the things!
5) Repeat 1
6) Note the guarantor is retained and the relationship is as well!

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

2 weeks agoBug 21390: (RM follow-up) Add Sponsor
Martin Renvoize [Tue, 26 Nov 2019 16:02:07 +0000 (16:02 +0000)]
Bug 21390: (RM follow-up) Add Sponsor

Sponsored-by: Goethe-Institut
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

2 weeks agoBug 14570: (RM follow-up) Stray console.log
Martin Renvoize [Tue, 26 Nov 2019 16:01:16 +0000 (16:01 +0000)]
Bug 14570: (RM follow-up) Stray console.log

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

2 weeks agoBug 24076: Remove inline CSS to center patron home library in search results
Owen Leonard [Wed, 20 Nov 2019 18:11:55 +0000 (18:11 +0000)]
Bug 24076: Remove inline CSS to center patron home library in search results

This patch removes code from the patron search results DataTable
configuration which was designed to add "text-align:center" to the table
cells containing patron home library. I don't think there's a good
reason to centering to that data.

To test, apply the patch and perform a patron search in the staff
client. The "Library" column should contain left-aligned data, matching
almost every other column in the table.

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

2 weeks agoBug 23452: Multiple select options in system preferences are not translatable
Bernardo Gonzalez Kriegel [Mon, 4 Nov 2019 13:50:11 +0000 (10:50 -0300)]
Bug 23452: Multiple select options in system preferences are not translatable

Translate script ignores multiple options in system preferences,
this patch fix that.

To test:
1) Apply the patch
2) Go to misc/translator
cd misc/translator
3) Update your preferred language
perl translate update xx-YY
4) Updated pref file must contain new strings, eg.
egrep "when cataloguing an item" po/xx-YY-pref.po
5) Edit & translate that string
6) Install the updated translation
perl translate install xx-YY
7) Check that the translated pref file has
a) multiple options present
b) the message from 5) is translated
see for example circulation.pref
en: koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/circulation.pref
xx: koha-tmpl/intranet-tmpl/prog/xx-YY/modules/admin/preferences/circulation.pref

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

2 weeks agoBug 23256: Remove the http:// prefix before OPACBaseURL in OPAC_REG_VERIFY
Jonathan Druart [Wed, 20 Nov 2019 13:35:10 +0000 (14:35 +0100)]
Bug 23256: Remove the  prefix before OPACBaseURL in OPAC_REG_VERIFY

The title explained everything, compare with
installer/data/mysql/fr-FR/1-Obligatoire/sample_notices.sql and other
notices.
It's certainly due to the fact that fr-CA took time to be integrated and
the change happened in the meanwhile

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

2 weeks agoBug 21574: Local use system preferences page doesn't have the system preferences...
Lisette Scheer [Tue, 19 Nov 2019 16:58:45 +0000 (16:58 +0000)]
Bug 21574: Local use system preferences page doesn't have the system preferences menu

The "local use" tab in system preferences is showing the admin menu instead of the
system preferences menu tabs. This patch fixes the menu display.

To test:
1) Go to the system preferences in administration.
2) Click the 'Local use' tab.
3) Observe the inncorrect menu.
4) Apply the patch.
5) Repeat steps 1-2
6) Observe the correct menu.

Signed-off-by: Caroline Cyr La Rose <caroline.cyr-la-rose@inlibro.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

2 weeks agoBug 23624: (RM follow-up) Add Sponsor
Martin Renvoize [Tue, 26 Nov 2019 11:38:34 +0000 (11:38 +0000)]
Bug 23624: (RM follow-up) Add Sponsor

Sponsored-by: Higher Education Libraries of Massachusetts
Sponsored-by: Fenway Library Organization
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

2 weeks agoBug 23626: (RM follow-up) Add Sponsor
Martin Renvoize [Tue, 26 Nov 2019 11:35:17 +0000 (11:35 +0000)]
Bug 23626: (RM follow-up) Add Sponsor

Sponsored-by: Higher Education Libraries of Massachusetts
Sponsored-by: Fenway Library Organization
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

2 weeks agoBug 14697: (RM follow-up) Add Sponsor
Martin Renvoize [Tue, 26 Nov 2019 11:28:45 +0000 (11:28 +0000)]
Bug 14697: (RM follow-up) Add Sponsor

Sponsored-by: Fargo Public Library
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

2 weeks agoBug 17179: (RM follow-up) Add Sponsor
Martin Renvoize [Tue, 26 Nov 2019 11:21:34 +0000 (11:21 +0000)]
Bug 17179: (RM follow-up) Add Sponsor

Sponsored-by: Round Rock Public Library
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

2 weeks agoBug 23905: Remove extra closing span
Jonathan Druart [Tue, 26 Nov 2019 09:16:19 +0000 (10:16 +0100)]
Bug 23905: Remove extra closing span

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

2 weeks agoBug 23905: Button "Search to add" doesn't work on Quick add new patron
Kyle M Hall [Mon, 25 Nov 2019 16:50:46 +0000 (11:50 -0500)]
Bug 23905: Button "Search to add" doesn't work on Quick add new patron

This issue is caused by duplicating the patron guarantor fieldset.
The solution is to move it between the two forms insetad.
In addition, this patch moves the guarantor information fieldset to the area below the "Quick add" fieldset, instead of *inside* it. This change preserves the correct styling and layout of the Guarantor information fieldset whilst it is moved back and forth by the "quick add"/"full form" toggle.

Test Plan:
1) Quick add a child patron
2) Attempt to use the "Search to add" button
3) Note it does nothing
4) Apply this patch
5) Repeat steps 1 and 2
6) It works now!
7) Test toggling between the quick add and full form views,
   note the "Guarantor information" fieldset shows correctly
   in the full form view.

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

2 weeks agoBug 14741: Selecting all child permissions doesn't select the top level check box
Owen Leonard [Thu, 21 Nov 2019 17:12:30 +0000 (17:12 +0000)]
Bug 14741: Selecting all child permissions doesn't select the top level check box

This patch modifies the patron flags page so that manually selecting all
the child permissions also checks the checkbox for the parent
permission.

To test, apply the patch, open a patron record, select More -> Set
permissions.

 - Expand a set of permissions, for instance "Add, modify, and view
   patron information."
 - If any boxes are checked, uncheck them.
 - Check each of the "child" checkboxes ("Add, modify, and view..." and
   "View patron infos..." ).
 - When both checkboxes are checked, the "Add, modify, and view" parent
   permission should be automatically checked.

Signed-off-by: Maryse Simard <maryse.simard@inlibro.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

2 weeks agoBug 24100: (bug 23788 follow-up) Capitalization correction
Martin Renvoize [Mon, 25 Nov 2019 11:21:52 +0000 (11:21 +0000)]
Bug 24100: (bug 23788 follow-up) Capitalization correction

Correct the capitalization of the class name introduced in bug 23788.

Test plan:
1) Prior to patch attempt to 'pay off selected' - Note a server error
2) Apply patch
3) Attempt to 'pay off selected' - Note it now works as expected.
4) Signoff

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

2 weeks agoBug 23964: (follow-up) We should check for only active holds when determining to...
Nick Clemens [Mon, 25 Nov 2019 11:32:32 +0000 (11:32 +0000)]
Bug 23964: (follow-up) We should check for only active holds when determining to set waiting

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

2 weeks agoBug 24072: Typos in advance_notices.pl causes DUEDGST not to be sent
Magnus Enger [Wed, 20 Nov 2019 14:15:15 +0000 (15:15 +0100)]
Bug 24072: Typos in advance_notices.pl causes DUEDGST not to be sent

There are two typos in advance_notics.pl that cause DUEDGST messages
not to be sent. See Bugzilla for full details.

If you think the typo is sufficiently obvious, you can just eyeball the
patch and sign off, methinks. Otherwise, testing can be done something
like this:
- Make sure you have enabled enhanced messaging preferences, and a
  patron with "Email" and "Digests only" set for "Item due" messages
- Issue an item to this patron, with due date today
- Run something like this to generate advance notices:
  $ sudo koha-shell -c "perl \
  /home/vagrant/kohaclone/misc/cronjobs/advance_notices.pl -n -c" kohadev
- See that no notices are shown (-n means messages will go to stdout,
  instead of into the message queue).
- Apply the patch and run advance_notices.pl again, as before. A DUEDGST
  message should now be displayed.

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

2 weeks agoBug 23901: Fix indentation
Lari Taskula [Fri, 25 Oct 2019 13:39:12 +0000 (13:39 +0000)]
Bug 23901: Fix indentation

This patch only fixes the indentation of code inside the if-block.

To test:
1. Apply patch
2. Run: git diff -w HEAD~1 and observe no result

Sponsored-by: Koha-Suomi Oy
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

2 weeks agoBug 23901: Fix sms_input is null in opac-messaging.tt
Lari Taskula [Fri, 25 Oct 2019 13:36:11 +0000 (13:36 +0000)]
Bug 23901: Fix sms_input is null in opac-messaging.tt

When sms messaging is disabled, JavaScript breaks in opac-messaging.tt.
Bug introduced in Bug 22862.

To test:
1. Enable EnhancedMessagingPreferences system preference
2. Disable sms messaging by unsetting SMSSendDriver system preference
3. Go to OPAC -> your messaging
4. Observe JavaScript error "sms_input is null" in your browser console
5. Apply patch
6. Refresh page and observe the error is gone

Sponsored-by: Koha-Suomi Oy
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

2 weeks agoBug 24013: Fix transferbook if item is checked out
Jonathan Druart [Wed, 20 Nov 2019 10:52:04 +0000 (11:52 +0100)]
Bug 24013: Fix transferbook if item is checked out

Wrong conflict resolution, the following
  commit 6eade474ed3a84a5ba372a26ac27bf9fb4bd2299
  Bug 18276: Remove GetBiblioFromItemNumber - Easy ones
restored a previous change from
  commit 546379cc92b733cb29a0b70247a72c770afdad26
  Bug 17680: C4::Circulation - Remove GetItemIssue, simple calls

Not that "easy" or "simple"...

Test plan:
Run the test before and after this patch.

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

2 weeks agoBug 24013: Add tests
Jonathan Druart [Wed, 20 Nov 2019 10:55:55 +0000 (11:55 +0100)]
Bug 24013: Add tests

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

2 weeks agoBug 24093: Sorting indicators broken on list contents view
Owen Leonard [Fri, 22 Nov 2019 18:41:28 +0000 (18:41 +0000)]
Bug 24093: Sorting indicators broken on list contents view

This patch updates the table markup for the lists contents view so that
the table sort state is correctly indicated by arrows in the table
headers. The markup changes allow the standard DataTables CSS to apply
to this table even though it is not a DataTable.

To test, apply the patch, go to Lists, and view any list with multiple
titles attached.

 - The list should be sorted by default according to the list's
   settings, and the arrow in the header row should correctly reflect
   the sorting column and direction.
 - Test re-sorting the table by each of the different sortable columns,
   confirming each time that the sorting arrows are correct.

Signed-off-by: Maryse Simard <maryse.simard@inlibro.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

2 weeks agoBug 24084: PlainMARC view broken on OPAC if other $.ajax calls produce errors
Owen Leonard [Thu, 21 Nov 2019 18:08:48 +0000 (18:08 +0000)]
Bug 24084: PlainMARC view broken on OPAC if other $.ajax calls produce errors

This patch removes the use of jQuery's ajaxSetup() and load() to get the
"plain" MARC view and replaces it with $.get(). This allows for
error-handling on this specific AJAX request rather than all on the
page.

To test, apply the patch and view a bibliographic record in the OPAC.

 - Click the "MARC view" tab.
 - Click the "view plain" link.
  - The plain-text MARC view should load.
  - Clicking "view labeled" should return you to the original view.

To test error handling, edit opac-MARCdetail.tt line 185 and add a typo
to the URL, e.g. "opac-showmark.pl." Repeat the above steps. Clicking
the "view plain" link should trigger an error message: "Sorry, plain
view is temporarily unavailable."

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

2 weeks agoBug 24075: Unit tests
Kyle M Hall [Thu, 21 Nov 2019 11:34:11 +0000 (06:34 -0500)]
Bug 24075: Unit tests

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

2 weeks agoBug 24075: Backdating a return to the exact due date and time results in the fine...
Martin Renvoize [Fri, 22 Nov 2019 12:31:09 +0000 (12:31 +0000)]
Bug 24075: Backdating a return to the exact due date and time results in the fine not being refunded

When you use the date picker or book drop mode and check in an item that is due on that date, a fine is assessed and not refunded.

For example: item 12345 is due on 11/19/2109 23:59.  On 11/20/2019 I check the item in using date picker/book drop setting the check in date to 11/19/2019 23:59, the patron is charged a fine, and the fine is not cleared as would be expected, since the item is being checked in before it is overdue.

Test Plan:
1) Back date a checkout so it is overdue
2) Run fines.pl to generate the fine
3) Return the item, backdating to the same date/time is was due
4) Note the fine was not removed
5) Apply this patch
6) Repeat steps 1-3
7) Fine should be zeroed out now!

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

2 weeks agoBug 24068: (RM follow-up) Enhance the POD
Martin Renvoize [Fri, 22 Nov 2019 14:47:19 +0000 (14:47 +0000)]
Bug 24068: (RM follow-up) Enhance the POD

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

2 weeks agoBug 24068: Fix I18 plugin - tnpx must call __npx
Jonathan Druart [Tue, 19 Nov 2019 16:26:52 +0000 (17:26 +0100)]
Bug 24068: Fix I18 plugin - tnpx must call __npx

Test plan:
Use the following code to test this change
    [% PROCESS 'i18n.inc' %]
    [% SET nb_stuffs = 1 %]
    [% tnpx('context', 'There is one stuff.', 'There are {count} stuffs.', nb_stuffs, { count = nb_stuffs }) | $raw  %]
    [% SET nb_stuffs = 42 %]
    [% tnpx('context', 'There is one stuff.', 'There are {count} stuffs.', nb_stuffs, { count = nb_stuffs }) | $raw  %]

Compare with and without the patch

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>