]> git.koha-community.org Git - koha.git/log
koha.git
4 years agoBug 24166: Do not hang when displaying checkout list if barcode is not set
Jonathan Druart [Wed, 18 Dec 2019 10:09:51 +0000 (11:09 +0100)]
Bug 24166: Do not hang when displaying checkout list if barcode is not set

If a barcode is not set, there is a JS error in the log:
  TypeError: oObj.barcode is null
We should not call escapeHtml() on it if not barcode is set for a given
item.

Test plan:
Check an item out
Remove its barcode
Load the checkout list
=> Without this patch you get the "loading" popup and the table is never
displayed
=> With this patch applied you see the checkout list

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 24121: Item types icons in intra search results are requesting icons from opac...
Pedro Amorim [Wed, 11 Dec 2019 11:28:34 +0000 (10:28 -0100)]
Bug 24121: Item types icons in intra search results are requesting icons from opac images path

When searching in INTRA you'll notice the item type icons not showing.

To test:
1) Set syspref item-level_itypes to biblio
2) Confirm that there is a biblioitems.itemtype mapping to a MARC field
3) Verify that item type icons are set for all the types
4) Perform a search where biblios with said MARC field is filled with a type value
5) Verify that where the icon should appear, it's showing the browser icon for image not found
6) Apply patch.
7) Repeat step 4.
8) Observe the icons are now displayed correctly

Sponsored-by: Governo Regional dos Açores
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 24274: Remove field 01e from sql installer files
Marcel de Rooy [Thu, 19 Dec 2019 09:47:44 +0000 (09:47 +0000)]
Bug 24274: Remove field 01e from sql installer files

Field 01e comes from an older utility (RLIN) and does not belong here.
Note: It is the only non-numeric field tag in Koha. And it seems to be
an violation of the MARC standard.

Test plan:
Run a new install and check the bibliographic frameworks.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 24281: Fix the list of types of visual materials
Maryse Simard [Fri, 20 Dec 2019 14:03:39 +0000 (09:03 -0500)]
Bug 24281: Fix the list of types of visual materials

In the MARC21 XSLT files for results in both staff and OPAC, the
type of visual material for code "g" is "legal article" instead
of "game". This patch change the value to "game".

To test:
0. Set up:
    - have a MARC21 database
    - use default XSLT file for display of results :
        OPACXSLTResultsDisplay : default
        XSLTResultsDisplay : defaul
    - If needed, catalog a game. In the 008 tag editor :
        Type of Material : VM - Visual Materials
        33 - Type of visual material : g - Game
1. On both staff and OPAC, make a search which returns results
including visual materials of type game (the title catalogued
in previous step).
2. Note that in the list of results, the label "Type of visual
material" is followed by "legal article".
3. Apply patch.
4. Repeat step 1.
5. Note "legal article" has been replaced by "game".

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 24283: (bug 21446 follow-up) close strong and add missing parens
Nick Clemens [Fri, 20 Dec 2019 11:29:39 +0000 (11:29 +0000)]
Bug 24283: (bug 21446 follow-up) close strong and add missing parens

To Test:
1) Create a course in course reserves, make it inactive
2) Add an item to it, changing item type and location
3) Make the course enabled
4) Note that the normal item type is no longer bold and has both opening and closing parentheses; Note that the normal location is also not bold and has both opening and closing parentheses.
5) Disable the course
6) Note that the normal item type is in bold with an opening parentheses but no closing parentheses; Note that the normal location is in bold with both opening and closing parentheses.
7) Apply patch
8) Note view is fixed

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 18688: Warnings about UTF-8 charset when creating a new language
Bernardo Gonzalez Kriegel [Mon, 9 Dec 2019 23:41:45 +0000 (20:41 -0300)]
Bug 18688: Warnings about UTF-8 charset when creating a new language

This patch removes some warnings when creating new languages,
those related with uft8 and two not related.

Tipical messages are:
>Warning: Can't determine original templates' charset, defaulting to UTF-8
>Warning: Charset Out defaulting to UTF-8
>...
>Removing empty file /../xx-YY-marc-NORMARC.po
>I UTF-8 O UTF-8 at /../kohaclone/misc/translator/tmpl_process3.pl line 365.
>Use of uninitialized value $pref_name in concatenation (.) or string at /.../misc/translator/LangInstaller.pm line 197.
>Created /../misc/translator/po/xx-YY-messages.po.

First four are 'normal' messages
The fifth one correspond to an unquoted preference string
The sixth one is a normal output message from msgint command
We will hide them unless verbose '-v' option is selected,
and fix the error.

To test:
1) Go to misc/translator
2) Create new language files
  $ perl translate create xx-YY
3) Check warnings and messages
4) Apply the patch
5) Remove created files, and create them again
   Ther must be no messages
6) Repeat 5) with verbose option '-v', check
   old messages

7) BONUS: without the patch update a language,
   for example de-DE:
   $ perl translate update de-DE
   Note (git status) a new file, po/de-DE-messages.po~
   This is a backup file from msgmerge command
   With the patch this backup is removed.

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 11500: Use dateformat syspref and datepicker on additems.pl (and other item catal...
Owen Leonard [Fri, 22 Nov 2019 14:42:56 +0000 (14:42 +0000)]
Bug 11500: Use dateformat syspref and datepicker on additems.pl (and other item cataloguing pages)

This patch modifies the cataloging plugin dateaccessioned.pl so that it
triggers the addition of a datepicker widget to fields it is linked
with. Despite its name the plugin can be used on any item field which
requires a date.

To test, apply the patch and make sure you have one or more item
subfields linked to the dateaccessioned.pl plugin. For instance, in
MARC21:

 - Administration -> MARC bibliographic framework -> MARC structure ->
   952 -> Edit subfields:
   - subfields d ("Date acquired") and w ("Price effective from"):
     - Other options -> Plugin -> dateaccessioned.pl

 - Go to cataloging and add or edit an item on a bibliographic record
 - The "Date acquired" and "Price effective from" fields should be
   styled as datepickers.
 - Clicking in these fields should populate the field with today's date
   and trigger the datepicker popup.
 - Test that all the datepicker features work correctly.
 - Test that manual entry of a date works.

 - With the AcqCreateItem system preference set to "placing an order,"
   go to Acquisitions -> Vendor -> Add to basket.
   - Add a title to your basket using your preferred method.
   - In the "New order" form, find the section for adding an item.
   - Test the "Date acquired" and "Price effective from" fields, which
     should behave just like they did in the cataloging module.

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>
4 years agoBug 19465: Document koha-create --elasticsearch-server option switch
Tomas Cohen Arazi [Fri, 13 Oct 2017 19:04:40 +0000 (16:04 -0300)]
Bug 19465: Document koha-create --elasticsearch-server option switch

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Bouzid Fergani <bouzid.fergani@inlibro.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 19465: Add --elasticsearch-server option to koha-create
Tomas Cohen Arazi [Fri, 13 Oct 2017 18:59:25 +0000 (15:59 -0300)]
Bug 19465: Add --elasticsearch-server option to koha-create

This patch adds the --elasticsearch-server option switch to koha-create.
It allows choosing a different Elasticsearch configuration. It defaults
to the current 'localhost:9200' value.

To test:
- Apply this patches
- Run:
  $ reset_all
  $ man koha-create
=> SUCCESS: The man page shows correct information about the added
option switch
- Run:
  $ sudo koha-create --create-db test
=> SUCCESS: /etc/koha/sites/test/koha-conf.xml contains the default
   value (i.e. the current behaviour is kept)
- Run:
  $ sudo koha-create --create-db --elasticsearch-server tomas:1234 test2
=> SUCCESS: /etc/koha/sites/test2/koha-conf.xml contains the passed
   value in the <elasticsearch><server> section.
- Sign off :-D

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>
4 years agoBug 24046: Untranslatable 'Activate filters'
Maryse Simard [Mon, 18 Nov 2019 13:50:52 +0000 (08:50 -0500)]
Bug 24046: Untranslatable 'Activate filters'

Bug 9573 moved the code for the table filters activation to it's
own javascript file. The strings contained in this file are not
translatable. This patch moves the strings to the datatables
include file since the filters are related to datatables.

Test plan:
Visit the catalogue/detail.pl and reports/itemslost.pl and test
that the 'Activate/Deactivate filters' option still work correctly.

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 24242: Display funds that the logged in user can access - suggestions
Jonathan Druart [Sun, 15 Dec 2019 11:32:34 +0000 (12:32 +0100)]
Bug 24242: Display funds that the logged in user can access - suggestions

The design of this script is pretty bad and any modifications is a
challenge.
Here we are trying to display to display the funds available for the
logged in user. I did not understand previous code, as we are doing a
limit using CanUserUseBudget, I do not think it makes sense to retrieve
funds for a given library.
Also, I am wondering if the dropdown list in the filters has ever been
populated: budgetid_loop in the template *never* appeared in the history
of suggestion.pl (??)

Test plan:
Search for suggestions
Add/edit suggestions
=> The funds in the dropdown list should be the ones the logged in user
can use.

Signed-off-by: hc <hc@interleaf.ie>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 21232: Add a client-side check on biblionumber when creating a subscription
Jonathan Druart [Fri, 13 Dec 2019 11:41:20 +0000 (12:41 +0100)]
Bug 21232: Add a client-side check on biblionumber when creating a subscription

This patch adds an AJAX call to the REST API (/api/v1/biblios/) to
retrieve and display the biblio's title.
On clicking the "next" button a check is done to make sure the title
exists, which means the biblionumber we manually entered is valid (can
we assume a title is mandatory?)

Test plan:
- Create or edit a new subscription
- Enter an invalid biblionumber in the input
=> A friendly note is telling you that the biblio does not exist
- Try to switch to the next screen
=> You get an alert
- Enter a valid biblionumber in the input
=> The title is displayed
=> Try to switch to the next screen
=> It works!

Signed-off-by: hc <hc@interleaf.ie>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 24243: Do not explode if invalid metadata when searching catalogue
Jonathan Druart [Sun, 15 Dec 2019 11:53:06 +0000 (12:53 +0100)]
Bug 24243: Do not explode if invalid metadata when searching catalogue

If the bibliographic record metadata cannot be decoded, the get_coins
call should catch the exception raised by Koha::Biblio::Metadata->record
to not explode

Error is: "Invalid data, cannot decode objec"

Test plan:
0/ Do not apply the patch
1/ Search for record at the OPAC
2/ Note one of the biblionumber from the first page result
3/ Set to empty string the biblio_metadata to make the error appears:
  update biblio_metadata set metadata="" where biblionumber=42;
4/ Try the same search
=> You get an internal server error
5/ Apply the patch, restart plack and try again
=> It now works, ie. it does not explode

Signed-off-by: Liz Rea <wizzyrea@gmail.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 24175: Simplify tests
Jonathan Druart [Tue, 17 Dec 2019 13:57:58 +0000 (14:57 +0100)]
Bug 24175: Simplify tests

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Joonas Kylmälä <joonas.kylmala@helsinki.fi>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 24175: Take advantage of Koha::Item->holds
Jonathan Druart [Tue, 17 Dec 2019 13:23:16 +0000 (14:23 +0100)]
Bug 24175: Take advantage of Koha::Item->holds

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Joonas Kylmälä <joonas.kylmala@helsinki.fi>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 24175: Use itemnumber when searching for holds in SIP drop_hold
Nick Clemens [Wed, 4 Dec 2019 18:50:41 +0000 (18:50 +0000)]
Bug 24175: Use itemnumber when searching for holds in SIP drop_hold

To test:
1 - place a hold for a patron
2 - Get SIP running
    https://wiki.koha-community.org/wiki/Koha_SIP2_server_setup
3 - edit the sip_cli_emulator.pl for hold_mode from '+' to '-'
4 - Attempt to cancel hold
5 - It fails
6 - Apply patch
7 - Try again
8 - It succeeds

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Joonas Kylmälä <joonas.kylmala@helsinki.fi>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 24175: Unit tests
Nick Clemens [Wed, 4 Dec 2019 18:38:22 +0000 (18:38 +0000)]
Bug 24175: Unit tests

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Joonas Kylmälä <joonas.kylmala@helsinki.fi>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 24259: Handle non existing default circ rule in Charges::Fees
Jonathan Druart [Wed, 18 Dec 2019 09:50:43 +0000 (10:50 +0100)]
Bug 24259: Handle non existing default circ rule in Charges::Fees

Can't call method "lengthunit" on an undefined value at
/usr/share/koha/lib/Koha/Charges/Fees.pm line 101.

Test plan:
1 - Remove all/all rule form circulation rules
2 - Define a rental fee per day for an itemtype
3 - Checkout an item of this type ot patron
4 - Should get note of no circ rule defined
5 - Confirm the checkout
=> item is checked out

Signed-off-by: hc <hc@interleaf.ie>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 24169: Add a comment to clarify the use of the dataTable class
Jonathan Druart [Thu, 19 Dec 2019 06:41:11 +0000 (07:41 +0100)]
Bug 24169: Add a comment to clarify the use of the dataTable class

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 24169: Advanced editor: icons/buttons for sorting the search results are missing
Owen Leonard [Tue, 17 Dec 2019 15:53:38 +0000 (15:53 +0000)]
Bug 24169: Advanced editor: icons/buttons for sorting the search results are missing

This patch "manually" adds the "dataTable" class to the table of search
results in the advanced cataloging editor. This allows the correct
styles to get picked up from existing CSS.

To test, go to Cataloging and open the advanced editor. Perform a search
using the sidebar search form. In the table of results, confirm that
table sorting indicators look correct and that sorting works correctly.

Signed-off-by: Cori Lynn Arnold <carnold@dgiinc.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 24232: Hide the "Delete biblio" if permission edit_catalogue not set
Jonathan Druart [Wed, 18 Dec 2019 08:46:51 +0000 (09:46 +0100)]
Bug 24232: Hide the "Delete biblio" if permission edit_catalogue not set

The script moveitem.pl requires editcatalogue => 'edit_items', the
deletion of a biblio editcatalogue => edit_catalogue. Even if weird I
guess we could have a librarian with edit_items but edit_catalogue.

Signed-off-by: Kelly McElligott <kelly@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 24232: Fix required permissions in DELETE /biblios/:biblio_id
Tomas Cohen Arazi [Tue, 17 Dec 2019 17:43:54 +0000 (14:43 -0300)]
Bug 24232: Fix required permissions in DELETE /biblios/:biblio_id

This patch fixes the required permissions defined on the spec for the
mentioned endpoint.

To test:
1. Apply the tests patch
2. Run:
   $ kshell
  k$ prove t/db_dependent/api/v1/biblios.t
=> FAIL: Tests fail due to badly defined permissions
3. Apply this patch
4. Repeat 2
=> SUCCESS: Tests pass! Notice parameters: edit_catelogue didn't exist
5. Sign off :-D

Signed-off-by: Kelly McElligott <kelly@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 24232: Regression tests
Tomas Cohen Arazi [Tue, 17 Dec 2019 17:38:41 +0000 (14:38 -0300)]
Bug 24232: Regression tests

This patch enhances the tests for the DELETE /biblios/:biblio_id
endpoint so more fine grained permissions are tested.

It highlights the fact that the required permissions defined on the spec
are not correcttly defined.

To test:
1. Run:
   $ kshell
  k$ prove t/db_dependent/api/v1/biblios.t
=> FAIL: Tests fail because the user (that now has subpermissions only)
does not have enough permissions for a non-existent subpermission

Signed-off-by: Kelly McElligott <kelly@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 24268: Break assignment and warn into separate actions
Nick Clemens [Wed, 18 Dec 2019 18:53:04 +0000 (18:53 +0000)]
Bug 24268: Break assignment and warn into separate actions

Signed-off-by: Liz Rea <wizzyrea@gmail.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 24268: Unit tests
Nick Clemens [Wed, 18 Dec 2019 19:01:26 +0000 (19:01 +0000)]
Bug 24268: Unit tests

Signed-off-by: Liz Rea <wizzyrea@gmail.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 24215: Do not always display an empty entry
Jonathan Druart [Wed, 18 Dec 2019 08:04:38 +0000 (09:04 +0100)]
Bug 24215: Do not always display an empty entry

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 24215: Correct display of guarantor relationship errors
Martin Renvoize [Wed, 11 Dec 2019 11:33:51 +0000 (11:33 +0000)]
Bug 24215: Correct display of guarantor relationship errors

Test plan:
1) Add some bad data to your borrower_relationships table. ( add or
   update a relationship such that the 'relationship' field contains a
   value not listed in the corresponding system preference.
2) Go to the about system information page and note the nasty display of
   ARRAY(whatever)
3) Apply the patch
4) Repeat step 2 and note that a list of bad values is now displayed
   instead.

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 24137: Same fixes for *_local.sql files
Jonathan Druart [Mon, 16 Dec 2019 09:34:27 +0000 (10:34 +0100)]
Bug 24137: Same fixes for *_local.sql files

Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>
tested using

$ export L=uk-UA (and ru-RU)
$ for o in mandatory optional;
 do for a in installer/data/mysql/$L/marcflavour/marc21/$o/*.sql; do
  mysql kohatest < $a;
 done;
done

Signed-off-by: Joonas Kylmälä <joonas.kylmala@helsinki.fi>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 24137: Manual replacement for hidden
Jonathan Druart [Tue, 10 Dec 2019 11:03:09 +0000 (12:03 +0100)]
Bug 24137: Manual replacement for hidden

Arbitrary set to -6 when was NULL

Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>
Fixed 991 in uk-UA marc21_bibliographic_DEFAULT_local.sql

All files load without errors, mandatory and optional
Signed-off-by: Joonas Kylmälä <joonas.kylmala@helsinki.fi>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 24137: Fix biblio frameworks install for ru-Ru and uk-UA (repeatable)
Jonathan Druart [Tue, 10 Dec 2019 11:02:44 +0000 (12:02 +0100)]
Bug 24137: Fix biblio frameworks install for ru-Ru and uk-UA (repeatable)

Replace repeatable='' with repeatable=0

perl -p -i -e "s/^\s\('', '(\d+)', (\d), '', / ('', '\1', \2, 0, /" installer/data/mysql/ru-RU/marcflavour/marc21/mandatory/marc21_bibliographic_DEFAULT_general.sql installer/data/mysql/uk-UA/marcflavour/marc21/mandatory/marc21_bibliographic_DEFAULT_general.sql

Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>
Signed-off-by: Joonas Kylmälä <joonas.kylmala@helsinki.fi>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 24137: Fix biblio frameworks install for ru-Ru and uk-UA (mandatory)
Jonathan Druart [Tue, 10 Dec 2019 10:59:51 +0000 (11:59 +0100)]
Bug 24137: Fix biblio frameworks install for ru-Ru and uk-UA (mandatory)

Replace mandatory='' with mandatory=0

perl -p -i -e "s/^\s\('', '(\d+)', '', / ('', '\1', 0, /" installer/data/mysql/ru-RU/marcflavour/marc21/mandatory/marc21_bibliographic_DEFAULT_general.sql installer/data/mysql/uk-UA/marcflavour/marc21/mandatory/marc21_bibliographic_DEFAULT_general.sql

Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>
Signed-off-by: Joonas Kylmälä <joonas.kylmala@helsinki.fi>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 23233: (RM follow-up) Rename syspref in test
Martin Renvoize [Tue, 17 Dec 2019 09:07:44 +0000 (09:07 +0000)]
Bug 23233: (RM follow-up) Rename syspref in test

The AllowItemsOnHoldCheckout system preference was renamed to
AllowItemsOnHoldCheckoutSIP to clarify it's use, but one case was missed
in the test suit.

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 24245: rename self reg confirm page body id
Lucas Gass [Sat, 14 Dec 2019 00:55:39 +0000 (00:55 +0000)]
Bug 24245: rename self reg confirm page body id

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 22381: Change wording on Calendar-related system
Lucas Gass [Wed, 4 Dec 2019 23:49:31 +0000 (23:49 +0000)]
Bug 22381: Change wording on Calendar-related system

TEST PLAN:
1. Apply Patch
2. Look at the 5 sysprefs (useDaysMode, OverdueNoticeCalendar, finesCalendar, ExcludeHolidaysFromMaxPickUpDelay, SuspensionsCalendar)
3. Make sure the wording and options all make sense
4. Make sure the options are properly ignoring or using the calendar.

Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>
Fixed double 'when' on line 740
No errors

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 24240: Move form closing tag outside of conditional
Nick Clemens [Fri, 13 Dec 2019 14:24:33 +0000 (14:24 +0000)]
Bug 24240: Move form closing tag outside of conditional

To test:
1 - Create a public list
2 - View the list as a user not signed in
3 - Validate the HTML, note the div closed with open elements, and a form tag unclosed
4 - Apply patch
5 - Those errors are fixed

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 24085: Make print and cancel-hold buttons instead of submit
Nick Clemens [Fri, 13 Dec 2019 23:01:05 +0000 (23:01 +0000)]
Bug 24085: Make print and cancel-hold buttons instead of submit

 To test:
 1 - Place a hold on an item
 2 - Check in the item to trigger the hold
 3 - Test both the print and cancel buttons to make sure all looks
     correct

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 24235: DUEDGST not sent if PREDUDGST checkbox is off
Radek Šiman [Fri, 13 Dec 2019 16:30:56 +0000 (16:30 +0000)]
Bug 24235: DUEDGST not sent if PREDUDGST checkbox is off

DUEDGST notice required PREDUEDGST to be on, but both messages have to
be generated independently

Test plan:
0) Do not apply the patch and reproduce the bug
    - turn OFF sms PREDUEDGST and turn ON sms DUEDGST for a given borrower
    - Sms version of DUEDGST is never generated into the message queue.
1) Apply the patch
2) Ensure that the bug is fixed

Signed-off-by: Michal Denar <black23@gmail.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 24241: (bug 23049 follow-up) Add description for manage_accounts
Jonathan Druart [Fri, 13 Dec 2019 16:50:59 +0000 (17:50 +0100)]
Bug 24241: (bug 23049 follow-up) Add description for manage_accounts

Test plan:
Edit permissions for a patron
Unfold "Manage Koha system settings (Administration panel)"
=> Without this patch a checkbox appears without description
=> With this patch you see the description for manage_accounts

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 23233: DBRev 19.12.00.002
Martin Renvoize [Mon, 16 Dec 2019 11:00:27 +0000 (11:00 +0000)]
Bug 23233: DBRev 19.12.00.002

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 23233: (follow-up) Correct test description
Joonas Kylmälä [Tue, 22 Oct 2019 11:20:39 +0000 (11:20 +0000)]
Bug 23233: (follow-up) Correct test description

AllowItemsOnHoldCheckout is not checked anymore but instead only
whether the tmp_holdsqueue is empty or not.

Signed-off-by: Lari Taskula <lari.taskula@hypernova.fi>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 23233: (follow-up) Add description to atomic upgrade
Joonas Kylmälä [Tue, 22 Oct 2019 11:04:48 +0000 (11:04 +0000)]
Bug 23233: (follow-up) Add description to atomic upgrade

Signed-off-by: Lari Taskula <lari.taskula@hypernova.fi>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 23233: (follow-up) Remove accidentally left comment
Joonas Kylmälä [Tue, 22 Oct 2019 11:00:51 +0000 (11:00 +0000)]
Bug 23233: (follow-up) Remove accidentally left comment

The line

t::lib::Mocks::mock_preference( 'AllowItemsOnHoldCheckout', 0 );

was removed from below this comment line but the comment explaining
what it does was forgotten.

Signed-off-by: Lari Taskula <lari.taskula@hypernova.fi>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 23233: Remove use of AllowItemsOnHoldCheckout from C4::Items::GetItemsInfo
Kyle M Hall [Mon, 1 Jul 2019 12:56:09 +0000 (08:56 -0400)]
Bug 23233: Remove use of AllowItemsOnHoldCheckout from C4::Items::GetItemsInfo

Signed-off-by: Joonas Kylmälä <joonas.kylmala@helsinki.fi>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 23233: Remove use of AllowItemsOnHoldCheckout from Koha::Item::has_pending_hold...
Kyle M Hall [Mon, 1 Jul 2019 11:19:33 +0000 (07:19 -0400)]
Bug 23233: Remove use of AllowItemsOnHoldCheckout from Koha::Item::has_pending_hold, it can cause false data to be returned

Signed-off-by: Joonas Kylmälä <joonas.kylmala@helsinki.fi>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 23233: AllowItemsOnHoldCheckout is misnamed and does not indicate it is for SIP...
Kyle M Hall [Fri, 28 Jun 2019 18:07:39 +0000 (14:07 -0400)]
Bug 23233: AllowItemsOnHoldCheckout is misnamed and does not indicate it is for SIP-based checkouts only

The system preference AllowItemsOnHoldCheckout only affects SIP based checkouts. I believe we should rename it AllowItemsOnHoldCheckoutSIP so it matches AllowItemsOnHoldCheckoutSCO. We should also update the description as well.

As far as I know AllowItemsOnHoldCheckout has never affected anything except SIP traffic. That does not preclude the addition of another AllowItemsOnHoldCheckout syspref that would affect the staff interface, but that would be an enhancement and is outside the scope of this bug report.

Test Plan:
1) Test AllowItemsOnHoldCheckout via SIP
2) Apply this patch
3) Test AllowItemsOnHoldCheckoutSIP via SIP
4) Note there is no difference!
5) Note the syspref description has been update to mention SIP

Signed-off-by: Joonas Kylmälä <joonas.kylmala@helsinki.fi>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 24184: Reword FallbackToSMSIfNoEmail syspref text
Lucas Gass [Thu, 5 Dec 2019 21:52:31 +0000 (21:52 +0000)]
Bug 24184: Reword FallbackToSMSIfNoEmail syspref text

Signed-off-by: Andrew Fuerste-Henry <andrew@bywatersolutions.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 21270: Display "Make an Interlibrary loan request" even if "suggestions" is turne...
Jonathan Druart [Thu, 5 Dec 2019 12:19:20 +0000 (13:19 +0100)]
Bug 21270: Display "Make an Interlibrary loan request" even if "suggestions" is turned off

Test plan:
- Turn off "suggestions"
- Turn on "ILLModule"
=> When logged in you should see the "Make an Interlibrary loan request"

- Turn on "suggestions"
- Turn off "ILLModule"
=> When logged in you should see the "Make a purchase suggestion"

- Turn on "suggestions"
- Turn on "ILLModule"
=> When logged in you should see both links.

- Turn off "suggestions"
- Turn off "ILLModule"
=> You should not see the "Not finding what you're looking for?" block

- Turn on "suggestions"
- Turn on AnonSuggestions
=> You should see the "Make a purchase suggestion" even when logged out

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 21270: "Not finding what you're looking for" displaying uselessly
Blou [Fri, 24 Aug 2018 15:46:54 +0000 (11:46 -0400)]
Bug 21270: "Not finding what you're looking for" displaying uselessly

When doing OPAC search, at the bottom you have an offer presented with "Not finding what you're looking for" to introduce Suggestions or ILL if enabled.

Bug 7317 modified the if-else and now if you enable ILLModule but not AnonSuggestions and are not logged, you have this little string sitting there, offering nothing to the user.

Just taunting them...

TEST:
0) Set IllModule to true, AnonSuggestions to false.
1) Without login, just to an OPAC search.  At the bottom will be a nice string laughing at your failed search
2) Apply the patch.
3) Problem at 1) is fixed.
4) Login to validate that ILL link now appear.
5) Modify combination of IllModule and AnonSuggestions to validate links appearing.

Signed-off-by: Dilan Johnpullé <dilan@calyx.net.au>
Signed-off-by: Andrew Isherwood <andrew.isherwood@ptfs-europe.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 13806: Sanitize inputs where creating Reports subgroup
Owen Leonard [Fri, 22 Nov 2019 16:47:45 +0000 (16:47 +0000)]
Bug 13806: Sanitize inputs where creating Reports subgroup

This patch adds validation of report group and subgroup inputs so that
the user can't enter data into only one half of the group code/name
pair.

To test, apply the patch and go to Reports -> Use saved.

  - Create or edit a report which doesn't have a group or subgroup
    assigned.

  - Under "Report group," select the "or create" radio button.

  - Click the "Update SQL" button to submit the form without entering a
    group code or name. The form should require taht you enter data into
    both fields.

  - Enter data into the report group code and name fields. Add data to
    either the code or data field under "Report subgroup." You should
    not be able to submit the form without populating both.

  - Start over editing a report which doesn't have a group or subgroup
    assigned.

    - Select an existing group under "Report group."

    - Under "Report subgroup," select the "or create" option.

      - You should not be able to submit the form without adding data in
        both the code and name fields for the report subgroup.

Signed-off-by: Séverine QUEUNE <severine.queune@bulac.fr>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 24230: fix intranet_js plugin hook before body end tag
Fridolin Somers [Fri, 13 Dec 2019 06:01:23 +0000 (07:01 +0100)]
Bug 24230: fix intranet_js plugin hook before body end tag

The plugin hook intranet_js is after body tag in intranet-bottom.inc :
    </body>
[% KohaPlugins.get_plugins_intranet_js | $raw %]
</html>

It must be before like in opac-bottom.inc

Test plan :
1) Install a Koha plugin with intranet_js hook, like KitechenSink
2) Go to an intranet page
3) Look at source of the page to see plugin code is before body end tag

Signed-off-by: Nicolas Legrand <nicolas.legrand@bulac.fr>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 23800: (QA follow-up) Remove useless line
Marcel de Rooy [Fri, 13 Dec 2019 10:03:20 +0000 (10:03 +0000)]
Bug 23800: (QA follow-up) Remove useless line

The lines with my @barcodes makes no sense anymore.

Test plan:
Test with a barcode file.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 23800: (QA follow-up) Fix item case, reduce code
Marcel de Rooy [Fri, 13 Dec 2019 09:28:28 +0000 (09:28 +0000)]
Bug 23800: (QA follow-up) Fix item case, reduce code

The solution for items does not work, since it compares barcodes.
Instead of a grep in a map, we could do simpler.

Test plan:
Try barcode file, order not by itemnumber. Toggle with case. Add wrong code.
Try same via barcode list text area.
Try an itemnumber file, reorder again. Add wrong number.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 23800: Does not order items by barcode in batch item modification
Jonathan Druart [Mon, 11 Nov 2019 10:09:45 +0000 (11:09 +0100)]
Bug 23800: Does not order items by barcode in batch item modification

They must be displayed in the same order they have been scanned (or they
appear in the file)

This is an alternative patch. Same behavior for barcodes or itemnumbers,
as well as if a file has been used or items scanned.
Code is duplicated, but refactoring is out of the scope.

Signed-off-by: Andrew Fuerste-Henry <andrew@bywatersolutions.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 24090: Subfield text in red when mandatory in record edition
Fridolin Somers [Fri, 22 Nov 2019 14:04:34 +0000 (15:04 +0100)]
Bug 24090: Subfield text in red when mandatory in record edition

In biblio or autority record edition, color subfield text in red when mandatory.
Like patron fields in patron edition form.

Test plan :
1) Edit a biblio record
2) See that mandatory subield text is red (#C00)
3) Same in autority record edition

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 24170: Fix sysprefs search result order
Jonathan Druart [Wed, 4 Dec 2019 14:44:53 +0000 (15:44 +0100)]
Bug 24170: Fix sysprefs search result order

The same sysprefs search will not always return the results in the same
order.
If you search for 'd' in the "search system preferences" box
  /cgi-bin/koha/admin/preferences.pl?op=search&searchfield=d
you will see that the modules are not ordered consistently.

This patch makes them display alphabetically

Test plan:
Search the same string several times in the syspref list.
The search result should always be ordered the same way

Signed-off-by: cori <corilynn.arnold@gmail.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 23785: Fix call get_coins on undef value in opac-search.pl
Jonathan Druart [Mon, 11 Nov 2019 09:14:14 +0000 (10:14 +0100)]
Bug 23785: Fix call get_coins on undef value in opac-search.pl

If the search engine index returns a record that is no longer in the DB,
an OPAC search will explode with:
  Can't call method "get_coins" on an undefined value at
  /usr/share/koha/opac/cgi-bin/opac/opac-search.pl line 692.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 24106: In returns.pl, don't search for item if no barcode is provided
Kyle M Hall [Mon, 25 Nov 2019 18:18:16 +0000 (13:18 -0500)]
Bug 24106: In returns.pl, don't search for item if no barcode is provided

When loading returns.pl, code to check rotating collections fires off an search for items by barcode, but doesn't check for a barcode first. This means the code will search for items where barcode is NULL, which is definitely not the intended function.

Test Plan:
1) Apply this patch
2) Set up a rotating collection with items
3) Transfer the collection
4) Check in a rotating collection item
5) Note no change in functionality

Signed-off-by: Liz Rea <wizzyrea@gmail.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 24124: Fix authorities selection in batch deletion tool in Chrome
Owen Leonard [Mon, 2 Dec 2019 15:14:33 +0000 (15:14 +0000)]
Bug 24124: Fix authorities selection in batch deletion tool in Chrome

This patch adds some inline CSS to force clearing on some elements in
the forms for batch record modification and deletion. The problem with
selecting the "Authorities" radio button stemmed from the fact that
non-clearing floats caused elements to invisibly overlap in the form.

To test, apply the patch and test both batch record modification and
batch record deletion. Upon selecting the "Authorities" radio button in
each case the "Select a list of records" tab should disappear. Selecting
the "Biblios" option should re-display the tab.

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 24164: Copy the letter for each email
Nick Clemens [Tue, 3 Dec 2019 19:55:19 +0000 (19:55 +0000)]
Bug 24164: Copy the letter for each email

To test:
1 - Set or have two patrons with emails - note thier borrowernumber for the report
2 - Create a report - note the report id ($REPORT_ID)
SELECT borrowernumber, surname, firstname, email FROM borrowers WHERE borrowernumber IN (##,##);
3 - Create a notice in circulation with code TESTEMAIL
4 - The content should be "[% surname %]"
5 - perl misc/cronjobs/patron_emailer.pl --report $REPORT_ID --notice TESTEMAIL --module circulation --from anyone@anywhere.com --verbose
6 - Note that the emails both have the same surname
7 - Apply patch
8 - Repeat 5
9 - Emails now have correct content

Signed-off-by: Kelly McElligott <kelly@bywatersolutions.com>
Signed-off-by: Jessica Zairo <jzairo@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 24164: Unit test
Nick Clemens [Tue, 3 Dec 2019 19:54:07 +0000 (19:54 +0000)]
Bug 24164: Unit test

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 24191: Make objects.search pass to_model to dbic_merge_sorting
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>
4 years 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>
4 years 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>
4 years 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>
4 years 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>
4 years 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>
4 years 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>
4 years 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>
4 years 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>
4 years 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>
4 years 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>
4 years 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>
4 years 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>
4 years 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>
4 years 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>
4 years 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>
4 years 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>
4 years 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>
4 years 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>
4 years 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>
4 years 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>
4 years 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>
4 years 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>
4 years 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>
4 years 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>
4 years 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>
4 years 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>
4 years 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>
4 years 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>
4 years 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>
4 years 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>
4 years 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>
4 years 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>
4 years 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>
4 years 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>
4 years 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>
4 years 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>
4 years 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>
4 years 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>
4 years 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>