koha.git
4 years agoBug 20399: Remove "did you mean" for the staff interface
Fridolin Somers [Thu, 19 Mar 2020 14:59:39 +0000 (17:59 +0300)]
Bug 20399: Remove "did you mean" for the staff interface

The amdin page for the "did you mean" feature has two block for setting it up in the staff interface, and a note saying this isn't implemented on the staff interface yet.
We remove the part about the staff interface until it actually is implemented.

Test plan :
1) Apply patch
2) Go to Administration > Did you mean?
3) See there is only the OPAC block
4) Change some checkboxes
5) Save configuration
6) Check that configuration is saved

Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@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 20415: DBRev 19.12.00.056
Martin Renvoize [Thu, 26 Mar 2020 11:54:44 +0000 (11:54 +0000)]
Bug 20415: DBRev 19.12.00.056

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 20415: Add POD
Kyle M Hall [Wed, 25 Mar 2020 13:27:30 +0000 (09:27 -0400)]
Bug 20415: Add POD

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 20415: Remove UseKohaPlugins system preference
Fridolin Somers [Thu, 19 Mar 2020 14:22:30 +0000 (17:22 +0300)]
Bug 20415: Remove UseKohaPlugins system preference

Owen Leonard 2018-03-16 10:47:47 UTC :
<<
I don't think the system preference adds any security. There are already multiple permissions required for working with plugins:

- Configure plugins
- Manage plugins ( install / uninstall )
- Use report plugins
- Use tool plugins

And even with those permissions your server must be configured to allow the use of plugins.
>>

Test plan :
1) Install kitchen sink plugin https://github.com/bywatersolutions/koha-plugin-kitchen-sink
2) Run misc/devel/install_plugins.pl
3) Set config enable_plugins=1
4) Check all parts of the plugin are working
5) Set config enable_plugins=0
6) Check all parts of the plugin are disabled

Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 20415: add Koha.ArePluginsEnabled Template Toolkit method
Fridolin Somers [Thu, 19 Mar 2020 14:01:13 +0000 (17:01 +0300)]
Bug 20415: add Koha.ArePluginsEnabled Template Toolkit method

In order to remove UseKohaPlugins syspref, adds to Koha Template Toolkit
plugin a method ArePluginsEnabled().

Test plan:
1) Set syspref UseKohaPlugins enabled
2) Set config enable_plugins=1
3) Check you see "Tool plugins" in "Tools" home page and menu
4) Check you see "Manage plugins" in "Koha administration" home page
5) Check you see "Report plugins" in "Reports" home page and menu
6) Set config enable_plugins=0
7) Check you don't see in 3) 4) 5)
8) Run prove t/Koha_Template_Plugin_Koha.t

Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 24614: Use Koha::Reports from save_report and update_sql
Jonathan Druart [Tue, 11 Feb 2020 16:21:38 +0000 (17:21 +0100)]
Bug 24614: Use Koha::Reports from save_report and update_sql

In order to get the default value defined at DBMS level, we use
Koha::Reports (to inherit from Koha::Object->store) from the 2 add/edit
methods of C4::Reports::Guided.
A second step would be to remove completely those CRUD subroutines and
use directly Koha::Reports instead.

Test plan:
1. Add and edit some reports
2. Disable memcached, create a report, edit it
=> Should not crash
3. Make sure the tests make sense and that they pass after the second
patch.

The error was:
DBD::mysql::db do failed: Column 'cache_expiry' cannot be null [for
Statement "UPDATE saved_sql SET savedsql = ?, last_modified = now(),
report_name = ?, report_group = ?, report_subgroup = ?, notes = ?,
cache_expiry = ?, public = ? WHERE id = ? "] at
/kohadevbox/koha/C4/Reports/Guided.pm line 633.

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>
4 years agoBug 24614: Add tests
Jonathan Druart [Tue, 11 Feb 2020 16:21:15 +0000 (17:21 +0100)]
Bug 24614: Add tests

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>
4 years agoBug 24829: ClaimReturnedWarningThreshold is always triggered if patron has one or...
Kyle M Hall [Mon, 9 Mar 2020 13:33:54 +0000 (09:33 -0400)]
Bug 24829: ClaimReturnedWarningThreshold is always triggered if patron has one or more claims

ClaimReturnedWarningThreshold is supposed to display a warning if a patron has more than the number of claims specified in the system preference. Currently the warning is displayed for any number of claims over zero.

Test Plan:
1) Make 3 return claims for a patron
2) Set ClaimReturnedWarningThreshold to 4
3) Note the claims warning displays for the patron on circulation.pl
4) Apply this patch
5) Reload circulation.pl, the warning should go away
6) Set ClaimReturnedWarningThreshold to 2
7) Reload the page, the warning should reappear

Signed-off-by: Sally <sally.healey@cheshiresharedservices.gov.uk>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 24959: Fix id/label pairs in saved reports table
Owen Leonard [Mon, 23 Mar 2020 20:10:15 +0000 (20:10 +0000)]
Bug 24959: Fix id/label pairs in saved reports table

This patch adds a unique id attribute to each checkbox in the table of
saved reports. Also updated is the corresponding <label>'s "for"
attribute so that clicking the report id will toggle the checkbox.

To reproduce, go to Reports -> Use saved and click a number in the ID
column. Nothing happens.

After applying the patch clicking the number should check or uncheck the
corresponding checkbox.

Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>
Works Ok, no errors.

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 24878: Add auth check for copy-holidays
Jonathan Druart [Tue, 17 Mar 2020 10:37:12 +0000 (11:37 +0100)]
Bug 24878: Add auth check for copy-holidays

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 24878: Add authentication checks to the calendar tool
Jonathan Druart [Mon, 16 Mar 2020 15:26:48 +0000 (16:26 +0100)]
Bug 24878: Add authentication checks to the calendar tool

There is a security hole in 2 scripts that are used by the UI to edit
holidays.

To test:
1) Go to Tools -> Calendar, for Centerville
   Check no holiday for 30/4/2020
2) To add a new holiday without login execute
   a curl command with necessary parameters
3) Reload page from 1), verify the new holiday
   edit and delete the holiday
4) Apply the patch
5) Do 2) again, this time you get a lengthy output,
   with the magic words:

   <title>Koha &rsaquo;
       Log in to Koha
   </title>

Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 24673: Add CSRF token support to opac-messaging.pl
David Cook [Mon, 17 Feb 2020 06:50:49 +0000 (06:50 +0000)]
Bug 24673: Add CSRF token support to opac-messaging.pl

This patch adds CSRF token support to opac-messaging.pl,
which allows users to manually update their messaging preferences,
but prevents bad actors from tricking people into updating their
preferences from cross-site requests.

Test plan:
0. Set SMSSendDriver global system preference to "Test" if unset
1. Log into the OPAC
2. Navigate to a URL in your browser like the following:
http://localhost:8080/cgi-bin/koha/opac-messaging.pl?modify=yes
&1=email&digest=1&2-DAYS=5&2=email&digest=2&4=email&SMSnumber=0444444444
3. Observe that the preference and SMS number update

4. Apply the patch

5. Navigate to a URL in your browser like the following:
http://localhost:8080/cgi-bin/koha/opac-messaging.pl?modify=yes
&1=email&digest=1&2-DAYS=5&2=email&digest=2&4=email&SMSnumber=0444444444
6. Observe that you get an error message of "Wrong CSRF token" instead
of the previous behaviour
7. Navigate to a URL in your browser like the following:
http://localhost:8080/cgi-bin/koha/opac-messaging.pl
8. Update "Advance notice" to 3 and update "SMS number" to 61111111111
9. Observe that the "Advance notice" and "SMS number" fields update
correctly

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 24801: Display all the libraries - Selenium fix
Jonathan Druart [Thu, 26 Mar 2020 08:59:32 +0000 (09:59 +0100)]
Bug 24801: Display all the libraries - Selenium fix

Same as for categories.

22:41:28 koha_1       | STRACE: /usr/share/perl5/Try/Tiny.pm:104 in Selenium::Remote::Driver::catch {...}
22:41:28 koha_1       |  /usr/local/share/perl/5.20.2/Selenium/Remote/Driver.pm:353 in Try::Tiny::try
22:41:28 koha_1       |  (eval 1337):1 in Selenium::Remote::Driver::__ANON__
22:41:28 koha_1       |  (eval 1339):2 in Selenium::Remote::Driver::__ANON__
22:41:28 koha_1       |  /usr/local/share/perl/5.20.2/Selenium/Remote/Driver.pm:1330 in Selenium::Remote::Driver::_execute_command
22:41:28 koha_1       |  /usr/local/share/perl/5.20.2/Selenium/Remote/Driver.pm:1330 in (eval)
22:41:28 koha_1       |  /kohadevbox/koha/t/lib/Selenium.pm:174 in Selenium::Remote::Driver::find_element
22:41:28 koha_1       |  /kohadevbox/koha/t/lib/Selenium.pm:166 in t::lib::Selenium::click_when_visible
22:41:28 koha_1       |  t/db_dependent/selenium/administration_tasks.t:128 in t::lib::Selenium::click
22:41:28 koha_1       |
22:41:28 selenium_1   | 14:41:28.273 INFO - Executing: [take screenshot])
22:41:28 selenium_1   | 14:41:28.873 INFO - Done: [take screenshot]
22:41:31 koha_1       |
22:41:31 koha_1       | SCREENSHOT: https://framapic.org/0nvX5dhLHpU1/tAEnENSeLRXB
22:41:31 koha_1       | An element could not be located on the page using the given search parameters: //div[@class="main container-fluid"]//a[contains(@href, "/admin/branches.pl?op=add_form&branchcode=UT_BC")],xpath at /kohadevbox/koha/t/lib/Selenium.pm line 174.

The screenshot was obvious, the UT_BC was not on the first page.
There was a total of 33 libraries at this point, which is not expected,
maybe data not deleted from previous selenium tests.

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 24455: (follow-up) Document function
Martin Renvoize [Wed, 25 Mar 2020 13:40:04 +0000 (13:40 +0000)]
Bug 24455: (follow-up) Document function

This patch just adds some minimal documentation to the main exported JS
function.

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 24455: Add Moment.js to About page
Kyle M Hall [Wed, 4 Mar 2020 13:51:42 +0000 (08:51 -0500)]
Bug 24455: Add Moment.js to About page

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 24455: Add JS functions to format date and datetime strings
Agustin Moyano [Fri, 17 Jan 2020 19:19:30 +0000 (16:19 -0300)]
Bug 24455: Add JS functions to format date and datetime strings

This patch adds the a js-date-format.inc file on each opac and staff interface (date-format.inc whas not available as name)

When you include that file in your TT, you'll get the following functions available:

1. $date(raw_date_string, options)

   This function parses a date string, as produced by an api call, and returns the corresponding date formatted according to 'dateformat' and 'TimeFormat' parameters.

   For example:

   // dateformat: us
   // timeformat: 12hr
   // Timezone: UTC

   $date('2020-03-23T15:00:00+01:00') // You will get '03/23/2020'

   $date('2020-03-23T15:00:00+01:00', {withtime: true}) // You will get '03/23/2020 14:00'

   $date('2020-03-23T15:00:00+01:00', {withtime: true, tz: 'Europe/Paris'}) // You will get '03/23/2020 15:00+01:00'

   Options:

   * dateformat: override date format as configured in staff interface (accepts also 'rfc3339')

   * timeformat: override time format as configured in staff client (available options are '12hr' and '24hr')

   * withtime: also print the time part (default false)

   * tz: set the timezone

2. $datetime(raw_date_string, option)

   The same as $date but sets withtime to true

3. $time(raw_date_string, option)

   The same as $datetime but shows only the time part

To test you must implement and test bug 20936, where it will be used

Signed-off-by: Andrew Isherwood <andrew.isherwood@ptfs-europe.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 24455: Add moment-timezone library in staff
Agustin Moyano [Fri, 17 Jan 2020 21:04:55 +0000 (18:04 -0300)]
Bug 24455: Add moment-timezone library in staff

This patch adds koha-tmpl/intranet-tmpl/lib/moment/moment-timezone-with-data-10-year-range.min.js in order to use the moment library with timezones (https://momentjs.com/timezone/)

Signed-off-by: Andrew Isherwood <andrew.isherwood@ptfs-europe.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 24455: Add moment-timezone library in opac
Agustin Moyano [Fri, 17 Jan 2020 19:19:30 +0000 (16:19 -0300)]
Bug 24455: Add moment-timezone library in opac

This patch adds koha-tmpl/opac-tmpl/bootstrap/lib/moment-timezone-with-data-10-year-range.min.js in order to use the moment library with timezones (https://momentjs.com/timezone/)

Signed-off-by: Andrew Isherwood <andrew.isherwood@ptfs-europe.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 24455: Add moment library in staff
Agustin Moyano [Fri, 17 Jan 2020 21:03:48 +0000 (18:03 -0300)]
Bug 24455: Add moment library in staff

This patch adds koha-tmpl/intranet-tmpl/lib/moment/moment.min.js in order to use the moment library (https://momentjs.com/)

Signed-off-by: Andrew Isherwood <andrew.isherwood@ptfs-europe.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 24455: Add moment library in opac
Agustin Moyano [Fri, 17 Jan 2020 19:19:30 +0000 (16:19 -0300)]
Bug 24455: Add moment library in opac

This patch adds koha-tmpl/opac-tmpl/bootstrap/lib/moment.min.js in order to use the moment library (https://momentjs.com/)

Signed-off-by: Andrew Isherwood <andrew.isherwood@ptfs-europe.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 24886: (follow-up) Add markup comments
Owen Leonard [Mon, 23 Mar 2020 19:48:25 +0000 (19:48 +0000)]
Bug 24886: (follow-up) Add markup comments

This patch adds comments to the template to highlight the markup
structure.

This patch should have no effect on the interface or functionality.

Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@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 24886: Reindent reports template
Owen Leonard [Tue, 17 Mar 2020 00:55:05 +0000 (00:55 +0000)]
Bug 24886: Reindent reports template

This patch reindents the template for saved reports, replacing tabs with
spaces and making indentation consistent. Some lines have been split up.

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

 - Test adding, editing, viewing, and running reports
 - Test filtering by group and subgroup
 - Test the process of adding a guided report

 Everything should work as expected.

 Use your preferred method for checking the differences between files
 while ignoring whitespace. I use diff with the  "-w" flag, but I'm not
 your dad. The only changes you see should be split lines.

Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@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 24158: Add missing html filters
Jonathan Druart [Mon, 23 Mar 2020 08:33:27 +0000 (09:33 +0100)]
Bug 24158: Add missing html filters

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 24158: Convert actual cost in an other currency when receiving
Jonathan Druart [Wed, 4 Dec 2019 16:40:17 +0000 (17:40 +0100)]
Bug 24158: Convert actual cost in an other currency when receiving

This patch adds a currency dropdown list to the Actual cost field when
receiving items in the acquisition module.
The idea is to let the librarian entered a price in a foreign currency
that will automatically be converted in the local currency ('active').
This converted value will be use as the actual cost once the form is
submitted.

Test plan:
- Create several currencies with different rates
- Create an order, close the basket and receive
- On the receipt page you will notice a new "change currency" checkbox
right close to the 'Actual cost' input.
- Check it
=> The 'Actual cost' input is readonly and a new line appears at the
bottom.
- Enter a number and select a currency
=> The 'Actual cost' input is automatically filled with the converted
value
- Save
=> The converted Actual cost has been inserted in the database.

Sponsored-by: Athlone Institute of Technology
Signed-off-by: Devinim <nazli@devinim.com.tr>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 24828: Add ability to specify cash register in SIP config
Martin Renvoize [Mon, 9 Mar 2020 14:53:05 +0000 (14:53 +0000)]
Bug 24828: Add ability to specify cash register in SIP config

This patch adds the ablity to specify a cash register id to link to
payments taken via SIP2 clients.

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>
4 years agoBug 23590: Add notice template for translated installer files
Jonathan Druart [Wed, 25 Mar 2020 11:45:13 +0000 (12:45 +0100)]
Bug 23590: Add notice template for translated installer files

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 23355: (RM follow-up) Make DB update idempotent
Martin Renvoize [Wed, 25 Mar 2020 11:19:17 +0000 (11:19 +0000)]
Bug 23355: (RM follow-up) Make DB update idempotent

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 24745: (follow-up) Correct return statement in news plugin
Owen Leonard [Tue, 24 Mar 2020 12:42:11 +0000 (12:42 +0000)]
Bug 24745: (follow-up) Correct return statement in news plugin

Subroutine should "return;" instead of "return 0;"
We also prevent ProhibitExplicitReturnUndef by not returning "undef"
explicitly.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 24745: OPAC news block plugin should evaluate as false if there are no items
Owen Leonard [Thu, 27 Feb 2020 01:31:37 +0000 (01:31 +0000)]
Bug 24745: OPAC news block plugin should evaluate as false if there are no items

This patch changes the way news is returned from GetNewsToDisplay in
KohaNews.pm so that the template variable will evaluate as false instead
of simply being an empty data structure.

To verify the bug, remove your opacheader news entry and view source on
any page in the OPAC. You should find some empty markup right after
'</div> <!-- /navbar -->'

<div class="container-fluid">
    <div class="row-fluid">
    </div>
</div>

To test the fix, apply the patch and reload the OPAC page. The empty
divs should be gone. Add content to the opacheader news item and confirm
that it displays correctly.

Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@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 24185: Make holds page fast when 'on shelf holds' set to 'If all unavailable'
Andrew Nugged [Tue, 14 Jan 2020 22:50:49 +0000 (00:50 +0200)]
Bug 24185: Make holds page fast when 'on shelf holds' set to 'If all unavailable'

When "reserve/request.pl -> C4/Reserves.pm::IsAvailableForItemLevelRequest" called many times with hundred of items and "on shelf holds" parameter set to "If all unavailable" for these items + patron, it goes slow.

It happens because in subloop it is checking if all items available so it is O(n^2) and it re-checks each time the same info for each item with repeating DB/data requests.

Fix:
The inner loop 1:1 picked out into separate subroutine and called outside of the loop, saving data in 'items_any_available' variable once, this variable passed to IsAvailableForItemLevelRequest to be used inside as the precalculated result.

This made algorithm O(n) instead of O(n^2) so there is noticeable speed increase.

How to reproduce:

1) on freshly installed kohadevbox create/import one book,
remember that biblionumber for later use it in down below,

2) add 100 items for that book for some library,

3) find some patron, that patron's card number we will
use as a borrower down below to open holds page,

4) check for the rule or set up a single circulation rule
in admin "/cgi-bin/koha/admin/smart-rules.pl",
that rule should match above book items/library/patron,
check that rule to have a non-zero number of holds (total, daily, count) allowed,
and, IMPORTANT: set up "On shelf holds allowed" to "If all unavailable",
("item level holds" doesn't matter).

5) open "Home > Catalog > THAT_BOOK > Place a hold on THAT_BOOK" page
("holds" tab), and enter patron code in the search field,
or you can create a direct link by yourself, for example, in my case it was:
/cgi-bin/koha/reserve/request.pl?biblionumber=4&findborrower=23529000686353

6) it should be pretty long page generation time on old code, densely increasing for every hundred items added. In the case of this solution, it's fast, and time increases a little only, linear.

I tested on my computer in VirtualBox for page generation times,
did 3-5 runs for same case to check if results are stable, and got such values:

(old code):
  100 items:    50 seconds
  200 items:   3.2 minutes
  300 items:   7.3 minutes

(version with fix):
  100 items:   4.4 seconds
  200 items:   7.5 seconds
  300 items:  10.4 seconds

Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.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 24185: Make holds page faster: Preparatory refactoring
Andrew Nugged [Tue, 14 Jan 2020 20:51:57 +0000 (22:51 +0200)]
Bug 24185: Make holds page faster: Preparatory refactoring

This is just refactoring. extracting logically independent code
to separate sub + tests update. No logic change yet.

Searching for "any_available" item among all biblionumber items was done
inside of "elsif on_shelf_holds == 2", and it is logically very independent
piece of code (this "@items" loop), it needs just biblionumber and patron
as parameters so it can be extracted into separate subroutine, and
later also called/reused from somewhere else.

This ability to call from another place also made for future patch
to remove O(n^2) problem with nested loops.

Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.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 24185: Make holds page faster - Call to subroutine moved below "if"
Andrew Nugged [Thu, 19 Dec 2019 16:20:24 +0000 (18:20 +0200)]
Bug 24185: Make holds page faster - Call to subroutine moved below "if"

`$on_shelf_holds` was assigned before "return .. if" but not used in that code piece,
so sometimes it was useless. Moved assignment after "return .. if".

Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.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 24185: Make holds page faster - Improved "if"
Andrew Nugged [Thu, 19 Dec 2019 16:16:33 +0000 (18:16 +0200)]
Bug 24185: Make holds page faster - Improved "if"

`$can_item_be_reserved eq 'OK'` moved in `&&` before `IsAvailableForItemLevelRequest`
to cut away with static known values before calling to more resource consuming subroutine.

Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.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 23590: DBRev 19.12.00.055
Martin Renvoize [Wed, 25 Mar 2020 09:38:32 +0000 (09:38 +0000)]
Bug 23590: DBRev 19.12.00.055

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 23590: (QA follow-up) Fix links to patron records (TT variable confusion)
Katrin Fischer [Tue, 24 Mar 2020 14:53:26 +0000 (14:53 +0000)]
Bug 23590: (QA follow-up) Fix links to patron records (TT variable confusion)

Fixes links to the patron accounts from the edit and list view of
suggestions.

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 23590: DBIC Changes
Jonathan Druart [Tue, 24 Mar 2020 12:05:19 +0000 (13:05 +0100)]
Bug 23590: DBIC Changes

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 23590: Fix 'select manager' when creation a suggestion
Jonathan Druart [Tue, 24 Mar 2020 11:12:06 +0000 (12:12 +0100)]
Bug 23590: Fix 'select manager' when creation a suggestion

On creating the TT var managedby_patron does not exist yet

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 23590: Create a separate template notice NOTIFY_MANAGER
Jonathan Druart [Mon, 16 Mar 2020 17:46:22 +0000 (18:46 +0100)]
Bug 23590: Create a separate template notice NOTIFY_MANAGER

To separate the two feature we want to create a distinct template
notice.
A new NOTIFY_MANAGER notice is added.
A follow-up patch will be added for other languages, when this one will
be approved by QA.

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 23590: Fix ergonomic issue if last modification by is empty
Jonathan Druart [Mon, 16 Mar 2020 17:31:05 +0000 (18:31 +0100)]
Bug 23590: Fix ergonomic issue if last modification by is empty

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 23590: Update new fields with relevant values
Jonathan Druart [Mon, 16 Mar 2020 17:21:56 +0000 (18:21 +0100)]
Bug 23590: Update new fields with relevant values

We are filling lastmodificationdate and lastmodificationby depending on
the max dates between manageddate, accepteddate and rejecteddate

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 23590: Remove unused variable
Jonathan Druart [Mon, 3 Feb 2020 10:19:46 +0000 (11:19 +0100)]
Bug 23590: Remove unused variable

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 23590: (QA follow-up) Fix some problems created by recent changes and updatedatab...
Katrin Fischer [Fri, 31 Jan 2020 21:18:29 +0000 (21:18 +0000)]
Bug 23590: (QA follow-up) Fix some problems created by recent changes and updatedatabase statement

- Ensure that the sequence of columns will be the same for new
  and updated installations (add AFTER ...)
- Fix permissions (see bug 22868)
- Fix column configuration (see 16784)
- Remove '- ' displying before the date

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 23590: (QA follow-up) Add missing filters and drop script type
Martin Renvoize [Fri, 31 Jan 2020 14:35:39 +0000 (14:35 +0000)]
Bug 23590: (QA follow-up) Add missing filters and drop script type

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>
4 years agoBug 23590: Fix select manager on list for all tabs
Jonathan Druart [Wed, 13 Nov 2019 16:49:59 +0000 (17:49 +0100)]
Bug 23590: Fix select manager on list for all tabs

Sponsored-by: BULAC - http://www.bulac.fr/
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 23590: Remove JS error on the suggestion list
Jonathan Druart [Wed, 13 Nov 2019 15:39:18 +0000 (16:39 +0100)]
Bug 23590: Remove JS error on the suggestion list

The notify option is only available from the edit view

Sponsored-by: BULAC - http://www.bulac.fr/
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 23590: Add atomic update file
Jonathan Druart [Wed, 13 Nov 2019 14:55:19 +0000 (15:55 +0100)]
Bug 23590: Add atomic update file

Sponsored-by: BULAC - http://www.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 23590: Add lastmodification by and date columns
Jonathan Druart [Thu, 7 Nov 2019 14:32:50 +0000 (15:32 +0100)]
Bug 23590: Add lastmodification by and date columns

No tests are provided for the changes made to SearchSuggestion. It is
going to be remove very soon as it is super ugly...

Sponsored-by: BULAC - http://www.bulac.fr/
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 23590: Add the ability to notify a new manager
Jonathan Druart [Thu, 7 Nov 2019 13:42:12 +0000 (14:42 +0100)]
Bug 23590: Add the ability to notify a new manager

Sponsored-by: BULAC - http://www.bulac.fr/
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 23590: Only return patrons that have the suggestions_manage permission
Jonathan Druart [Wed, 6 Nov 2019 18:59:21 +0000 (19:59 +0100)]
Bug 23590: Only return patrons that have the suggestions_manage permission

Sponsored-by: BULAC - http://www.bulac.fr/
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 23590: Batch update manager for suggestions
Jonathan Druart [Wed, 6 Nov 2019 18:41:36 +0000 (19:41 +0100)]
Bug 23590: Batch update manager for suggestions

Sponsored-by: BULAC - http://www.bulac.fr/
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 23590: Cleaning - Remove op_* vars
Jonathan Druart [Wed, 6 Nov 2019 18:17:32 +0000 (19:17 +0100)]
Bug 23590: Cleaning - Remove op_* vars

Sponsored-by: BULAC - http://www.bulac.fr/
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 23590: Clean TT variables for patrons
Jonathan Druart [Wed, 6 Nov 2019 18:16:57 +0000 (19:16 +0100)]
Bug 23590: Clean TT variables for patrons

Just a bit of cleaning

Sponsored-by: BULAC - http://www.bulac.fr/
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 23590: Add ability to edit the manager of a suggestion
Jonathan Druart [Wed, 6 Nov 2019 18:05:05 +0000 (19:05 +0100)]
Bug 23590: Add ability to edit the manager of a suggestion

Prior to this patch there was an hidden behavior that set the manager to
the logged in user when a suggestion was edited. This patch proposes to
let the librarian pick another manager.
Other small adjustements will be added to polish this new behavior:
 * Create 2 new DB columns: suggestions.lastmodificationby and
 suggestion.lastmodificationdate
 * Choose a manager when editing a suggestion
 * Batch modify suggestions and set a manager for them
 * Let notify the new manager using the TO_PROCESS letter
 * Display the manageddate, lastmodificationby and lastmodificationdate
 info where appropriate

This first patch adds a new "Select manager" link when editing a
suggestion.

Test plan for the whole patchset:
0/
  a. Execute the update DB entry, generate the new DBIC file and restart all
  b. Create at least 2 patrons with the suggestions_manage permission
1/ Submit a new suggestion (OPAC or staff, not important)
2/ Accept it
3/ Edit it
=> "Last modification by" is empty
=> You see that you are the manager of this suggestion
4/ Click "Select manager" and search for a new manager
=> The patron search will only display patrons with the
suggestions_manage permission
5/ Save
6/ Edit again
=> The manager is set to you, but there is a note saying that previously
it was the patron you picked
=> The "Last modification by" is set to you
7/ Click "Keep existing manager"
=> The manager is now set to the previous manager
8/ Select another manager (which has a valid email address defined)
9/ Click the "notify" checkbox
10/ Save
11/ Confirm that a TO_PROCESS notice has been generated into the
message_queue table
12/ Create at least one other suggestion
13/ List the suggestions
=> There is a 4th action column to assign a manager to several
suggestions in one go.
14/ Use this new button and confirm that it works as expected
15/ Go to your purchase suggestion list (OPAC and staff)
=> You see the "managed date" displayed in a new column

Sponsored-by: BULAC - http://www.bulac.fr/
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 24754: (QA follow-up) Add timestamp, remove 11th parameter
Marcel de Rooy [Fri, 20 Mar 2020 12:38:29 +0000 (12:38 +0000)]
Bug 24754: (QA follow-up) Add timestamp, remove 11th parameter

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 24754: Set userenv for ilsdi requests
Nick Clemens [Fri, 28 Feb 2020 14:46:37 +0000 (14:46 +0000)]
Bug 24754: Set userenv for ilsdi requests

Currently ILSDI scripts do not have a userenv set. This affects both
action_logs and statistics.

For action_logs we either get no user or, if there is an active session, we use that one. This can have unintended consequences and we should explicitly set the env so that system user (0) is recorded

For statistics we need to specify a branch to record for actions like renewals. With bug 24759 we add an items method for this. We should take advantage of this method and use the 'opac' interface as the ilsdi scripts live there.

To test:
1 - Enable ILSDI in systempreferences
2 - Checkout an item to a patron
3 - Enable Renewal logs
4 - Ensure you will be able to renew the item several times
5 - Open an incognito/private browser
6 - Renew item via ilsdi:
    http://localhost:8080/cgi-bin/koha/ilsdi.pl?service=RenewLoan&patron_id=5&item_id=1128
7 - Check action logs, interface may be random, user should be 0, if not make sure the user in step 9 is a different one
8 - In private browser open a new tab
9 - Sign in to staff client
10 - Return to other tab
11 - Refresh page to repeat renewal
12 - Check action_logs
13 - The second renewal indicates it was renewed via intranet by logged in staff member
14 - Apply patch
15 - restart_all
16 - Ensure staff client still signed in
17 - Repeate renewal again
18 - Check logs, renewal now indicates opac again (as it should), user is 0 even if logged in on other tab

Signed-off-by: David Nind <david@davidnind.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 22771: (QA follow-up) Fix POD
Nick Clemens [Tue, 24 Mar 2020 12:15:26 +0000 (12:15 +0000)]
Bug 22771: (QA follow-up) Fix POD

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 22771: Fix mistakes in list of nonfiling character fields
David Gustafsson [Fri, 6 Mar 2020 13:07:53 +0000 (14:07 +0100)]
Bug 22771: Fix mistakes in list of nonfiling character fields

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 22771: Respect nonfiling indicators for search fields
David Gustafsson [Wed, 26 Feb 2020 15:14:36 +0000 (16:14 +0100)]
Bug 22771: Respect nonfiling indicators for search fields

Strip initial characters from search fields in accordance with
nonfiling character indicators.

To test:

1) Apply patch
2) Run tests in t/Koha/SearchEngine/Elasticsearch.t
3) All tests should pass

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 13881: DBRev 19.12.00.054
Martin Renvoize [Wed, 25 Mar 2020 09:28:16 +0000 (09:28 +0000)]
Bug 13881: DBRev 19.12.00.054

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 13881: Update Schema
Nicolas Legrand [Wed, 2 Oct 2019 12:28:43 +0000 (14:28 +0200)]
Bug 13881: Update Schema

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 13881: (QA follow-up) Some documentation and terminology fixes
Katrin Fischer [Tue, 24 Mar 2020 11:24:52 +0000 (11:24 +0000)]
Bug 13881: (QA follow-up) Some documentation and terminology fixes

- Branchcode = Library
- Desk id = Desk ID
- Show library name on desk list and when deleting desk instead of code
- Some small changes to the database documentation.

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 13881: (QA follow-up) Check for manage_libraries permission
Katrin Fischer [Tue, 24 Mar 2020 11:24:33 +0000 (11:24 +0000)]
Bug 13881: (QA follow-up) Check for manage_libraries permission

The .pl was checking for a new permission desks_management not
(yet) added. As the templates already checked for manage_libraries
the .pl was changed accordingly to also use it.

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 13881: Add desk management
Nicolas Legrand [Wed, 2 Oct 2019 12:09:21 +0000 (14:09 +0200)]
Bug 13881: Add desk management

Add a desk and linked it to a library (branch). That's it. In the
future it'll have super features like being able to link waiting
reserve to a specific desk.

Test plan:

1. go to the administration page and notice there isn't any mention of
desk whatsoever
2. apply patches
3. ./installer/data/mysql/updatedatabase.pl
4. prove t/db_dependent/Koha/Desks.t
5. you now have desks links in admin-home and admin-menu
6. click the link
7. add a desk
8. add another one
9. delete one
10. you should have a fair list of all current desks defined
11. Done

Signed-off-by: Séverine QUEUNE <severine.queune@bulac.fr>
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 13881: Datebase changes, kohastructure and atomicupdate
Nicolas Legrand [Wed, 2 Oct 2019 12:25:50 +0000 (14:25 +0200)]
Bug 13881: Datebase changes, kohastructure and atomicupdate

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 21800: (RM follow-up) Fix unit tests
Martin Renvoize [Wed, 25 Mar 2020 08:04:26 +0000 (08:04 +0000)]
Bug 21800: (RM follow-up) Fix unit tests

We were not setting the repeatable flag for the default framework in the
Item2Marc tests and we also needed to flush the cash to get our
framework changes to be recognised.

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 21443: (RM follow-up) Fix failing tests
Martin Renvoize [Tue, 24 Mar 2020 16:25:07 +0000 (16:25 +0000)]
Bug 21443: (RM follow-up) Fix failing tests

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 24461: Add to_api_mapping to Koha::Acquisition::BasketGroup
Tomas Cohen Arazi [Mon, 20 Jan 2020 14:08:23 +0000 (11:08 -0300)]
Bug 24461: Add to_api_mapping to Koha::Acquisition::BasketGroup

This patch adds to_api_mapping to the Koha::Acquistion::BasketGroup
class.

To test:
1. Compare the mapping with the one on the RFC
=> SUCCESS: They match
2. Sigh off :-D

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 24962: Do not display the toolbar when editing a patron and dup is found
Jonathan Druart [Tue, 24 Mar 2020 08:41:06 +0000 (09:41 +0100)]
Bug 24962: Do not display the toolbar when editing a patron and dup is found

Whe a duplicate patron is found, the toolbar to save is display without
the button.
We must hide it completely, user has to use the 2 buttons from the dup
message "Editing existing" or "Save as new".

Signed-off-by: Sally <sally.healey@cheshiresharedservices.gov.uk>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 21503: Restore existing ternary operator logic
Jonathan Druart [Tue, 24 Mar 2020 10:04:28 +0000 (11:04 +0100)]
Bug 21503: Restore existing ternary operator logic

This syntax is much more readable IMO. Precendent patch also missed the
case where the parameter was undef.
I think we are good now.

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 21503: Changed logic for checking values
Christopher Brannon [Wed, 17 Oct 2018 21:19:43 +0000 (21:19 +0000)]
Bug 21503: Changed logic for checking values

Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.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 21503: Tests clarification for debugging
Christopher Brannon [Wed, 17 Oct 2018 21:15:36 +0000 (21:15 +0000)]
Bug 21503: Tests clarification for debugging

Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.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 21503: Tests cleanup and highlight a missing case
Jonathan Druart [Mon, 15 Oct 2018 13:45:55 +0000 (10:45 -0300)]
Bug 21503: Tests cleanup and highlight a missing case

This patch does the following changes:
- Use build_object to create the MSS
- Store the generate AVs. That was not the case before and so we were
not testing the right things
- Split the tests into 2 parts: staff and OPAC, for readability
- Update the tests' descriptions
- Highlight a problem: If descriptions are missing for both OPAC and
staff, undef is returned. Is that what we expect? It seems that it is
not what were expecting the tests.

Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.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 21503: Fix AV to fail to other values
Christopher Brannon [Fri, 12 Oct 2018 18:45:29 +0000 (18:45 +0000)]
Bug 21503: Fix AV to fail to other values

To Test (Test both detail.pl and opac-detail.pl for functionality):
    1) Apply patch (restart_all)
    2) Look up an item that has a shelving location with a description
        defined (opac description too).
    3) Remove opac description from shelving location.  Refresh
        opac-detail.pl and note that description fails back to the
        regular description.  Refresh detail.pl and note no change.
    4) Remove regular description from shelving location.  Refresh
        opac-detail.pl and detail.pl.  Note that both default to the
        shelving location code.
    5) Remove the shelving location from the LOC table all together.
        Refresh opac-detail.pl and detail.pl.  Note that both default to
        the requested shelving location code.

Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.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 21503: Tests for the existing behavior
Tomas Cohen Arazi [Mon, 8 Oct 2018 19:21:25 +0000 (16:21 -0300)]
Bug 21503: Tests for the existing behavior

This patch introduces 7 tests for the current behaviour for the
AuthorisedValues template plugin.

To test:
- Apply this patch
- Run:
  $ kshell
 k$ prove t/db_dependent/Template/Plugin/AuthorisedValues.t
=> SUCCESS: Tests pass, all green!

Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.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 24877: Add link from vendor to linked subscriptions
Katrin Fischer [Fri, 13 Mar 2020 20:52:24 +0000 (20:52 +0000)]
Bug 24877: Add link from vendor to linked subscriptions

Koha shows the number of subscriptions linked to a vendor,
but there is no way to look them up. This adds a link to the
subscription search with the vendor name, so there is an easy way
to find the subscriptions.

To test:
- Be superlibrarian or have serials permission
- Make sure you have one or more subscriptions linked to vendors
- Go to the vendor's detail page in acquisitions
- Verify the number of subscriptions is now a link
- Verify the search results are correct when clicking on it
- Remove permissions (no serials, not superlibrarian)
- Verify now the number shows, but is not linked

Signed-off-by: Nazlı Çetin <nazli@devinim.com.tr>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 24875: Remove extra punctuation from tools start page
Katrin Fischer [Fri, 13 Mar 2020 20:30:06 +0000 (20:30 +0000)]
Bug 24875: Remove extra punctuation from tools start page

The patron clubs note was ending with .., but patch also removed
some single . to be consistent with the majority of entries on the
tools page.

To test:
- Check the tools start page for ending . in the notes
- Apply patch
- Verify the punctuation is now consistent

Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@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 24476: DBRev 19.12.00.053
Martin Renvoize [Tue, 24 Mar 2020 11:26:17 +0000 (11:26 +0000)]
Bug 24476: DBRev 19.12.00.053

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 24476: (QA follow-up) Move new option below warnings and messages in OPAC account
Katrin Fischer [Tue, 24 Mar 2020 09:14:55 +0000 (10:14 +0100)]
Bug 24476: (QA follow-up) Move new option below warnings and messages in OPAC account

This makes it so the new option appears right above the table of checkouts etc.
but below any warnings, messages or dialogs.

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 24476: Add boolean for TINYINT
Nick Clemens [Fri, 28 Feb 2020 19:16:52 +0000 (19:16 +0000)]
Bug 24476: Add boolean for TINYINT

Signed-off-by: Andrew Fuerste-Henry <andrew@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 24476: Schema changes
Nick Clemens [Mon, 23 Mar 2020 11:48:47 +0000 (11:48 +0000)]
Bug 24476: Schema changes

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 24476: (QA follow-up) Standardize on 'auto renew(al)' and improve db update
Katrin Fischer [Sun, 22 Mar 2020 17:07:57 +0000 (17:07 +0000)]
Bug 24476: (QA follow-up) Standardize on 'auto renew(al)' and improve db update

There were several versions: auto renew, auto-renew, autorenew
I've decided to use auto renew (from automatic renewal) to keep
things a bit more consistent.

The DB update was missing AFTER and IGNORE for the sys pref.
Also fixed a tiny typo (tp > to)
Also changed

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 24476: Allow direct editing of autorenew_checkouts by patron
Nick Clemens [Fri, 28 Feb 2020 20:06:32 +0000 (20:06 +0000)]
Bug 24476: Allow direct editing of autorenew_checkouts by patron

Signed-off-by: Andrew Fuerste-Henry <andrew@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 24476: Rename autorenewal to autorenew_checkouts
Nick Clemens [Fri, 28 Feb 2020 17:30:07 +0000 (17:30 +0000)]
Bug 24476: Rename autorenewal to autorenew_checkouts

Signed-off-by: Andrew Fuerste-Henry <andrew@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 24476: Allow patrons to opt out of auto-renewal
Nick Clemens [Thu, 23 Jan 2020 02:38:50 +0000 (02:38 +0000)]
Bug 24476: Allow patrons to opt out of auto-renewal

To test:
1 - Verify on staff side that patron can be edited to opt in our out of auto renewal
2 - Check out some items to a patron opted in to auto renewal
3 - Ensure the items are checked out and set to autorenew
4 - Login on the opac at the patron
5 - Verify items cannot be renewed as scheduled for auto-renewal
6 - On staff side, opt patron out of auto renewal
7 - Verify on opac items are no longer marked for auto renewal
8 - Run the auto renewal cron job, items are not renewed
9 - Set 'no renewal before' to a setting that would prevent renewal
10 - Verify that opting patron in or out of auto renewal changes only the reason items cannot be renewed
11 - Set 'no renewal before' to a setting that would allow for renewal
12 - Verify that opting patron in/out changes their ability to renew
13 - Verify that when opted out cron does not renew
14 - Verify that when opted in the item is auto renewed
15 - Reset the due date, opt out, verify manual renewal succeeds

Signed-off-by: Andrew Fuerste-Henry <andrew@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 24476: Change CanBookBeRenewed and adjust tests
Nick Clemens [Thu, 23 Jan 2020 02:37:19 +0000 (02:37 +0000)]
Bug 24476: Change CanBookBeRenewed and adjust tests

Signed-off-by: Andrew Fuerste-Henry <andrew@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 24476: API Updates
Nick Clemens [Thu, 23 Jan 2020 02:36:29 +0000 (02:36 +0000)]
Bug 24476: API Updates

Signed-off-by: Andrew Fuerste-Henry <andrew@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 24476: Database updates
Nick Clemens [Thu, 23 Jan 2020 02:35:38 +0000 (02:35 +0000)]
Bug 24476: Database updates

Signed-off-by: Andrew Fuerste-Henry <andrew@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 24276: Add unit tests for mandatory parameter of FillWithDefaultValues
Marcel de Rooy [Fri, 20 Dec 2019 08:20:23 +0000 (08:20 +0000)]
Bug 24276: Add unit tests for mandatory parameter of FillWithDefaultValues

Test plan:
Run t/db_dependent/Acquisition/FillWithDefaultValues.t

Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@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 24276: Add FillWithDefaultValues call in neworderempty
Marcel de Rooy [Thu, 19 Dec 2019 14:17:39 +0000 (14:17 +0000)]
Bug 24276: Add FillWithDefaultValues call in neworderempty

Apply mandatory defaults from the ACQ framework to records from external
source in Acquisition.

Test plan:
[1] Add 'BK' as mandatory default in ACQ framework for 942$c.
[2] Add order to basket via external source.
[3] Check 942$c on detail page of new record, MARC tab.

Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@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 24276: First change indent
Marcel de Rooy [Thu, 19 Dec 2019 13:46:21 +0000 (13:46 +0000)]
Bug 24276: First change indent

No other changes than whitespace, guys.

Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@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 24951: Add id to payout modal confirm button
Martin Renvoize [Mon, 23 Mar 2020 12:47:27 +0000 (12:47 +0000)]
Bug 24951: Add id to payout modal confirm button

This patch adds an ID to the payout confirmation modal on the
borrower account details page.

Test plan:
1/ Apply patch
2/ Attempt to issue a payout to a patron
3/ Inspect the page and note the presence of an ID for the confirm
   button
4/ Signoff

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>
4 years agoBug 21443: DBRev 19.12.00.052
Martin Renvoize [Tue, 24 Mar 2020 11:12:51 +0000 (11:12 +0000)]
Bug 21443: DBRev 19.12.00.052

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 21443: Remove the dependency on finesCalendar
Kyle M Hall [Mon, 23 Mar 2020 12:06:08 +0000 (08:06 -0400)]
Bug 21443: Remove the dependency on finesCalendar

Considering that the the use of finesCalendar for this calculation is
already a binary choice, it makes sense to remove the use of
finesCalendar here. It is an uneccessary complication that could
introduce confusion. Allowing this new setting to directly control
the behavior makes it clear and obvious what is going on.

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 21443: Mark new columns as boolean in schema file
Kyle M Hall [Mon, 23 Mar 2020 10:50:05 +0000 (06:50 -0400)]
Bug 21443: Mark new columns as boolean in schema file

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 21443: Unit tests
Kyle M Hall [Mon, 9 Mar 2020 17:36:22 +0000 (13:36 -0400)]
Bug 21443: Unit tests

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Marti Fuerst <mfuerst@hmcpl.org>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 21443: Add ability to exclude holidays when calculating rentals fees by time...
Kyle M Hall [Mon, 9 Mar 2020 17:28:16 +0000 (13:28 -0400)]
Bug 21443: Add ability to exclude holidays when calculating rentals fees by time period

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Marti Fuerst <mfuerst@hmcpl.org>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 21443: Update Schema
Kyle M Hall [Mon, 9 Mar 2020 17:13:46 +0000 (13:13 -0400)]
Bug 21443: Update Schema

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Marti Fuerst <mfuerst@hmcpl.org>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 21443: Update database
Kyle M Hall [Mon, 9 Mar 2020 17:11:55 +0000 (13:11 -0400)]
Bug 21443: Update database

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Marti Fuerst <mfuerst@hmcpl.org>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
4 years agoBug 24837: Rename selectbranchprinter.pl to set-library.pl
Katrin Fischer [Fri, 13 Mar 2020 18:03:12 +0000 (18:03 +0000)]
Bug 24837: Rename selectbranchprinter.pl to set-library.pl

This renames the selectbranchprinter.pl file to the more
fitting set-library.pl.

To test:
- Change the library with "Set library" from
  - The menu in the top navigation bar
  - The circulation start page
- Verify the help link on page leads to the correct
  section in the manual
- Read the code... and verify all occurences have been caught

Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@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 24953: Compiled CSS
Martin Renvoize [Tue, 24 Mar 2020 11:03:54 +0000 (11:03 +0000)]
Bug 24953: Compiled CSS

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