]> git.koha-community.org Git - koha.git/log
koha.git
3 years agoBug 25313: (QA follow-up) DelAuthority tests
Tomas Cohen Arazi [Tue, 11 Aug 2020 12:32:10 +0000 (09:32 -0300)]
Bug 25313: (QA follow-up) DelAuthority tests

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
(cherry picked from commit d4a15b27b8359a13fa80952ed7e920b7388527fb)

Signed-off-by: Andrew Fuerste-Henry <andrew@bywatersolutions.com>
3 years agoBug 25313: Add skip_merge to ModAuthority
Marcel de Rooy [Wed, 29 Apr 2020 14:19:00 +0000 (16:19 +0200)]
Bug 25313: Add skip_merge to ModAuthority

Sometimes you know that the merge is useless, since the reporting
tag did not change.
Might be handy in batch processing of authority records.

Test plan:
Pick an authority with a few linked biblio recs (so that it will
immediately merge; lower than MergeLimit).
Open authority record and save it.
Verify that a linked biblio record was merged. Check time in 005.
You proved that this patch does not break the regular process.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Phil Ringnalda <phil@chetcolibrary.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
(cherry picked from commit 517dcabdf73acfaf01cde461beb8bac84f86c82e)

Signed-off-by: Andrew Fuerste-Henry <andrew@bywatersolutions.com>
3 years agoBug 25313: Regression tests
Tomas Cohen Arazi [Tue, 11 Aug 2020 12:26:50 +0000 (09:26 -0300)]
Bug 25313: Regression tests

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
(cherry picked from commit 7abee7fd6913c178baffafe2ea8cfc33f38c87f6)

Signed-off-by: Andrew Fuerste-Henry <andrew@bywatersolutions.com>
3 years agoBug 26337: Pass skip_merge to DelAuthority when removing unsused authorities
Nick Clemens [Tue, 1 Sep 2020 13:32:46 +0000 (13:32 +0000)]
Bug 26337: Pass skip_merge to DelAuthority when removing unsused authorities

This script checks that an authority is not being used before deleting it.
We do not need to check biblios for the authority id as we have already verified it is unused.

TO test:
 1 - Reset db to koha test database
 2 - perl misc/migration_tools/remove_unused_authorities.pl -t
 3 - Note a number of unsued authorities
 4 - perl misc/migration_tools/remove_unused_authorities.pl -c
 5 - Note authorities are removed
 6 - Reset db
 7 - Apply patch
 8 - perl misc/migration_tools/remove_unused_authorities.pl -t
 9 - Note results are the same
10 - perl misc/migration_tools/remove_unused_authorities.pl -c
11 - Note results are the same

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Josef Moravec <josef.moravec@gmail.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
(cherry picked from commit e8f39a001c979fb0ef7ac342dd07062285d0264d)

Signed-off-by: Andrew Fuerste-Henry <andrew@bywatersolutions.com>
3 years agoBug 26944: Point help link to automatic item mod in manual
Andrew Fuerste-Henry [Thu, 5 Nov 2020 20:28:11 +0000 (20:28 +0000)]
Bug 26944: Point help link to automatic item mod in manual

To test:
1 - go to automatic item mod, click help, end up at manual homepage
2 - apply patch, restart, reload page
3 - click link again, go to auto item mod in manual

Signed-off-by: Sally <sally.healey@cheshiresharedservices.gov.uk>
Signed-off-by: Josef Moravec <josef.moravec@gmail.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
(cherry picked from commit 308b03a31b95a8808751b98d3b285adcb370f47f)

Signed-off-by: Andrew Fuerste-Henry <andrew@bywatersolutions.com>
3 years agoBug 26846: Fix regressions - Preselect expected and late serials
Jonathan Druart [Tue, 10 Nov 2020 11:32:04 +0000 (12:32 +0100)]
Bug 26846: Fix regressions - Preselect expected and late serials

This is a follow-up for bug 17674. Expected and late serials must be
checked by default.

Test plan:
Have some serial collection and notice that the checkboxes are checked
for expected and late serials
/serials/serials-collection.pl?subscriptionid=42

Signed-off-by: Timothy Alexis Vass <timothy_alexis.vass@ub.lu.se>
Signed-off-by: Josef Moravec <josef.moravec@gmail.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
(cherry picked from commit bf8ab094705163f50f46451b0dffa00cdd1d4ab9)

Signed-off-by: Andrew Fuerste-Henry <andrew@bywatersolutions.com>
3 years agoBug 26986: Prevent Selenium's StaleElementReferenceException
Jonathan Druart [Tue, 10 Nov 2020 10:37:55 +0000 (11:37 +0100)]
Bug 26986: Prevent Selenium's StaleElementReferenceException

This is a follow-up bug for bug 26162

By finding the element before the click I hope to get the good element,
even if the page changed in the meanwhile.

Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
(cherry picked from commit 836d9a38727859f06902a7be6790592431fe812e)

Signed-off-by: Andrew Fuerste-Henry <andrew@bywatersolutions.com>
3 years agoBug 26516: Don't accept incorrect values for copyrightdate/publicationyear
Nick Clemens [Wed, 23 Sep 2020 14:42:40 +0000 (14:42 +0000)]
Bug 26516: Don't accept incorrect values for copyrightdate/publicationyear

The previous patch rejects incorrect values when saving to the db specifically for copyrightdate
An error is thrown for the int conversion when it fails

Rather than catching things when saving we can fix the value when generated, simply returning null when parsing
the record

To test:
1 - Add a new record to Koha making sure data is valid except 260$c:
    198-
2 - Save the record
3 - It fails
4 - Apply this patch
5 - Restart all the thigns
6 - Repeat
7 - Success!

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
(cherry picked from commit e1400890ec8040ced8e3550eddbfd0d4e8af2347)

Signed-off-by: Andrew Fuerste-Henry <andrew@bywatersolutions.com>
3 years agoBug 27021: Make chaining ->empty always return an empty resultset
Tomas Cohen Arazi [Fri, 13 Nov 2020 18:54:32 +0000 (15:54 -0300)]
Bug 27021: Make chaining ->empty always return an empty resultset

This patch borrows the implementation Martin did on bug 27002, to
woraround this issue, and implements it properly on the
Koha::Objects->empty method.

To test:
1. Apply the regression tests patch
2. Run:
   $ kshell
  k$ prove t/db_dependent/Koha/Objects.t
=> FAIL: Tests fail! The resultset should be empty and it isn't!
3. Apply this patch
4. Repeat 2
=> SUCCESS: Tests pass!
5. Sign off!

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
(cherry picked from commit 55835ccfaffef48b924857e18bfd964aebda3a0a)

Signed-off-by: Andrew Fuerste-Henry <andrew@bywatersolutions.com>
3 years agoBug 27021: Regression tests
Tomas Cohen Arazi [Fri, 13 Nov 2020 18:47:39 +0000 (15:47 -0300)]
Bug 27021: Regression tests

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
(cherry picked from commit a386954b8b17925ed213a56878e1d453ba8c7635)

Signed-off-by: Andrew Fuerste-Henry <andrew@bywatersolutions.com>
3 years agoBug 18267: (QA follow-up) fix typo: overriden => overridden
Victor Grousset/tuxayo [Fri, 20 Nov 2020 15:44:04 +0000 (16:44 +0100)]
Bug 18267: (QA follow-up) fix typo: overriden => overridden

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
(cherry picked from commit 3acf7e226041f00a5743a9be30d998e6b73db2c5)

Signed-off-by: Andrew Fuerste-Henry <andrew@bywatersolutions.com>
3 years agoBug 18267: Refactored Edifact Price Calculations
Colin Campbell [Thu, 12 Nov 2020 11:42:05 +0000 (11:42 +0000)]
Bug 18267: Refactored Edifact Price Calculations

Refactored the price calculations for Quotes and Invoices
This takes in to account various combinations used by different
vendors. Makes the extraction of basic price, quantity and tax
information more reliable. Tests are in Edifact.t and EdiInvoice.t

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
(cherry picked from commit 36d46c6510ee93ffc52f6b914389c66351b16f33)

Signed-off-by: Andrew Fuerste-Henry <andrew@bywatersolutions.com>
3 years agoBug 26988: (QA follow-up) Unit tests
Tomas Cohen Arazi [Mon, 16 Nov 2020 15:54:13 +0000 (12:54 -0300)]
Bug 26988: (QA follow-up) Unit tests

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
(cherry picked from commit 6bbd13ba031cf4ba592b989e869cba3a95405d4b)

Signed-off-by: Andrew Fuerste-Henry <andrew@bywatersolutions.com>
3 years agoBug 26988: Adjust for bug 26963
Nick Clemens [Fri, 13 Nov 2020 13:15:29 +0000 (13:15 +0000)]
Bug 26988: Adjust for bug 26963

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
(cherry picked from commit 91e21d3a95520f19fa3632d87f2c8f32b11ea1eb)

Signed-off-by: Andrew Fuerste-Henry <andrew@bywatersolutions.com>
3 years agoBug 26988: No need to check if hold is linked to a patron
Jonathan Druart [Fri, 13 Nov 2020 10:07:53 +0000 (11:07 +0100)]
Bug 26988: No need to check if hold is linked to a patron

Holds are deleted along with patrons.

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
(cherry picked from commit 7f83e703abd69383cb80ca36cd8219959f1ab205)

Signed-off-by: Andrew Fuerste-Henry <andrew@bywatersolutions.com>
3 years agoBug 26988: (follow-up) Change event to focus
Agustin Moyano [Wed, 11 Nov 2020 15:22:20 +0000 (12:22 -0300)]
Bug 26988: (follow-up) Change event to focus

Click event on select element if Firefox does not work as expected, so
this patch changes the event to focus for it to work seamlessly in both
browsers.

https://bugs.koha-community.org/show_bug.cgi?id=26899
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
(cherry picked from commit 7edb1a55bc54fd5c68700e703be9deff3d6a0199)

Signed-off-by: Andrew Fuerste-Henry <andrew@bywatersolutions.com>
3 years agoBug 26988: (follow-up) Fix filter and encode api values and escape rendered values
Nick Clemens [Wed, 11 Nov 2020 03:11:56 +0000 (03:11 +0000)]
Bug 26988: (follow-up) Fix filter and encode api values and escape rendered values

This patch makes the QA tools happy and follows correct procedures for passing data to
and rendering data from the api

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
(cherry picked from commit 19a30acaece904aeedcc6a3728e3815895d10c56)

Signed-off-by: Andrew Fuerste-Henry <andrew@bywatersolutions.com>
3 years agoBug 26988: (follow-up) Adjust code to use api field names
Nick Clemens [Wed, 11 Nov 2020 02:53:46 +0000 (02:53 +0000)]
Bug 26988: (follow-up) Adjust code to use api field names

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
(cherry picked from commit 4388d20fb12f77aa733498baa4a287e4fb7c6998)

Signed-off-by: Andrew Fuerste-Henry <andrew@bywatersolutions.com>
3 years agoBug 26988: (QA follow-up) Make the API return proper library objects
Tomas Cohen Arazi [Tue, 10 Nov 2020 20:38:26 +0000 (17:38 -0300)]
Bug 26988: (QA follow-up) Make the API return proper library objects

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
(cherry picked from commit 14506040292201a78733a9c1746bf7f590205fe3)

Signed-off-by: Andrew Fuerste-Henry <andrew@bywatersolutions.com>
3 years agoBug 26988: Make ->patron prefetchable
Tomas Cohen Arazi [Tue, 10 Nov 2020 20:37:21 +0000 (17:37 -0300)]
Bug 26988: Make ->patron prefetchable

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
(cherry picked from commit 75456ba973f87d3c46d045811ad32dfe2a153e3f)

Signed-off-by: Andrew Fuerste-Henry <andrew@bywatersolutions.com>
3 years agoBug 26988: Add API route to fetch hold pickup locations and use it in the holds table
Nick Clemens [Tue, 10 Nov 2020 13:35:14 +0000 (13:35 +0000)]
Bug 26988: Add API route to fetch hold pickup locations and use it in the holds table

To test:
1 - Place a number of holds on a record
2 - Have different pickup locations for the holds
3 - Have some libraries that are not pickup locations
4 - Load the holds tab for the record and note libraries not pickup locations are not in dropdowns
5 - Apply patch and restart all things
6 - Reload the holds table
7 - Click on a dropdown, note the spinner, should load successfully
8 - Confirm the dropdown matches the options before the patch
9 - Confirm updating the hold location works

Signed-off-by: Andrew Fuerste-Henry <andrew@bywatersolutions.com>
Signed-off-by: Bob Bennhoff <bbennhoff@clicweb.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
(cherry picked from commit 83d471394562b8137fce9b3a538d19efc41fa1e1)

Signed-off-by: Andrew Fuerste-Henry <andrew@bywatersolutions.com>
3 years agoUpdate release notes for 20.05.06 release v20.05.06
Lucas Gass [Mon, 23 Nov 2020 23:31:13 +0000 (23:31 +0000)]
Update release notes for 20.05.06 release

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
3 years agoIncrement version for 20.05.06 release
Lucas Gass [Mon, 23 Nov 2020 23:24:28 +0000 (23:24 +0000)]
Increment version for 20.05.06 release

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
3 years agoTranslation updates for Koha 20.05.06
Koha translators [Mon, 23 Nov 2020 23:13:16 +0000 (20:13 -0300)]
Translation updates for Koha 20.05.06

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
3 years agoBug 26904: OPAC password recovery allows regexp in email
Fridolin Somers [Tue, 3 Nov 2020 08:19:34 +0000 (09:19 +0100)]
Bug 26904: OPAC password recovery allows regexp in email

When using OPAC password recovery form, opac/opac-password-recovery.pl :
if one provides correct login and an email, there is a check that this email is one of patron's.

This check uses RegExp with case insensitive :
  if ( $email && !( any { /^$email$/i } @emails ) )

This is a security issue since one can simply enter '.*'.
Severity is normal because the login must be a correct.

I propose to use simple string compare with lowercase to be case insensitive.

Test plan :
1) Don't apply patch
2) Enable system preference 'OpacResetPassword'
3) Go to 'OPAC > Log in to your account > Forgot your password?'
4) Enter an existing userid or cardnumber and '.*' in 'Email'
5) The password recovery is created ! (check table 'borrower_password_recovery')
6) Apply patch
7) Enter an existing userid or cardnumber and '.*' in 'Email'
8) You get the message 'No account was found with the provided information.'
9) Enter an existing userid or cardnumber and in 'Email' the corresponding email but with different case
10) The password recovery is created (check table 'borrower_password_recovery')

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Julian Maurice <julian.maurice@biblibre.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
(cherry picked from commit 904e926ba0f407b24aa3d94be5afe37b5e3ec075)

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
3 years agoBug 25758: Return on_reserve over too_soon when not calling from automatic_renewals...
Nick Clemens [Fri, 4 Sep 2020 12:47:58 +0000 (12:47 +0000)]
Bug 25758: Return on_reserve over too_soon when not calling from automatic_renewals cron

Bug 19014 altered CanBookBeRenewed to return (auto_)too_soon over on_reserve

For cron purposes this is the correct behaviour.

For display purposes we wish to see on_reserve over too_soon

This patchset adds a switch to 'CanBookBeRenewed' to alter the priority of these statuses

To test:
 1 - set NoRenewalBeforePrecision to date only
 2 - set a circ rule to auto-renewal=yes, no renewal before=0, checkout period to 7 days
 3 - check item out
 4 - confirm item shows Scheduled For Automatic Renewal in issues table
 5 - place a hold on the item for another patron
 6 - reload issues table for patron 1, confirm checkout still shows "scheduled for automatic renewal" rather than "on hold"
 7 - change No Renewal Before value to 7
 8 - reload issues table for patron 1, confirm checkout now shows "on hold"
 9 - Apply patch
10 - restart_all
11 - Reload the issues table - confirm 'on_hold' still shows
12 - Change No Renewal Before to 0
13 - Refresh issues table, still shows 'On hold'
14 - perl misc/cronjobs/automatic_renewals.pl -v
15 - Result shows 'auto_too_soon'
16 - prove -v t/db_dependent/Circulation.t

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

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
3 years agoBug 26557: (bug 23463 follow-up) Fix Batch import when incoming records contain itemn...
Jonathan Druart [Thu, 19 Nov 2020 14:16:36 +0000 (15:16 +0100)]
Bug 26557: (bug 23463 follow-up) Fix Batch import when incoming records contain itemnumber

Prior to ug 23463 AddItemFromMarc where calling AddItem, that did not
take into account the itemnumber field.
Now that we are using Koha::Item, we need to remove the items.itemnumber
field from the MARC record

Test plan:
1 - find an existing bib in your system with just one item
2 - export that bib with the item attached
3 - delete the barcode from your item in Koha
4 - stage your exported marc file for reimport, match on biblionumber, set it to Always Add Items
5 - confirm that the bib matches and the incoming 952 is parsed
6 - click "Import this batch into the catalog"

=> Without this patch you get (in the logs, or hidden)
manage-marc-import.pl: DBD::mysql::st execute failed: Duplicate entry '23' for key 'PRIMARY' [for Statement "INSERT INTO `items` ( `barcode`, `biblioitemnumber`, `biblionumber`, `ccode`, `cn_sort`, `cn_source`, `damaged_on`, `dateaccessioned`, `datelastborrowed`, `datelastseen`, `holdingbranch`, `homebranch`, `itemcallnumber`, `itemlost_on`, `itemnumber`, `itype`, `location`, `more_subfields_xml`, `onloan`, `permanent_location`, `replacementpricedate`, `timestamp`, `withdrawn_on`) VALUES ( ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, current_timestamp, ? )" with ParamValues: 0="BC_23", 1=8, 2=8, 3="REF", 4='CN__23', 5=undef, 6=undef, 7="2014-09-04", 8=undef, 9="2014-09-04", 10="FPL", 11="FPL", 12="CN_23", 13=undef, 14="23", 15="BK", 16="GEN", 17=undef, 18=undef, 19="GEN", 20="2014-09-04", 21=undef] at /usr/share/perl5/DBIx/Class/Storage/DBI.pm line 1836.
manage-marc-import.pl: DBIx::Class::Storage::DBI::_dbh_execute(): Duplicate entry '23' for key 'PRIMARY' at /kohadevbox/koha/Koha/Object.pm line 169
manage-marc-import.pl: {UNKNOWN}: Transaction aborted: Duplicate ID. Rollback failed: DBIx::Class::Storage::txn_rollback(): Refusing to roll back without a started transaction at /kohadevbox/koha/tools/manage-marc-import.pl line 253 at /kohadevbox/koha/tools/manage-marc-import.pl line 253

=> With this patch applied, the new item must be added to the existing bibliographic record

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
3 years agoBug 26738: [20.05.x] (bug 24819 follow-up) Fix manager selection
Jonathan Druart [Mon, 2 Nov 2020 14:01:32 +0000 (15:01 +0100)]
Bug 26738: [20.05.x] (bug 24819 follow-up) Fix manager selection

Bug 23590 added a new feature to select the manager of a suggestion.
One month later bug 24819 added the ability to pick the suggester.

This second patchset broke the manager selection.

This patch simplifies the way the suggester is selected, using the
generic way and mimicking what is done for the manager.

Test plan:
- create a new purchase suggestion from within acquisitions (suggestion.pl?op=add)
- click "select manager," search for user, click Select
- see that the user you just selected shows under "Created by,"
- see that "Managed by" still says "You"
- modify the suggester
- save your suggestion
=> Everything is saved correctly

QA will test the permission alert:
Edit suggestion.tt and remove "&permissions=suggestions.suggestions_manage"
Edit the suggestion, select a manager, pick a patron in the list who
does not have sufficient permissions, save
=> you get the alert

Signed-off-by: Andrew Fuerste-Henry <andrew@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Bug 26738: (QA follow-up) Add missing filter

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
3 years agoBug 26973: [20.05.x] (bug 26119 follow-up) Restore patron's attributes during self...
Jonathan Druart [Tue, 10 Nov 2020 11:55:17 +0000 (12:55 +0100)]
Bug 26973: [20.05.x] (bug 26119 follow-up) Restore patron's attributes during self-registration

The assumption on bug 26119 was wrong. We actually store patron's
attributes during self-registration if
PatronSelfRegistrationVerifyByEmail is not enabled.

Test plan:
Test the different combinations of PatronSelfRegistration and PatronSelfRegistrationVerifyByEmail
Confirm that the patron's attributes appears during self-registration if
PatronSelfRegistrationVerifyByEmail is not set.
Confirm that the patron's attributes are stored when they are displayed
on the self-registration form
Confirm that you can edit the patron's attributes in any cases (if they
are marked as editable at the OPAC)

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
3 years agoBug 26963: [20.05.x]
Nick Clemens [Wed, 11 Nov 2020 01:24:15 +0000 (01:24 +0000)]
Bug 26963: [20.05.x]

Bug 26963: Unit tests

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Bug 26963: Don't call 'can_be_transferred' for each possible library for each item

Currently When calling Koha::Template::Plugin::Branches::pickup_locations
we call pickup_location for each item of the bib, and for each item we get a list of possible
branches, we then check those branches against the transfer limits, this is inefficent

Given a system with 100 branches, and each branch having an item attached to one bib (100 items)
we will call can_be_transferred ~10000 times - and that will happen for each hold placed on the bib

For me this patch reduced load time from 77 seconds to 18 seconds

To test:
1 - Find a bib
2 - Place 4 title level holds
3 - Add some branches and items for this bib to your system:
  INSERT INTO branches (branchcode,branchname,pickup_location) SELECT CONCAT(branchcode,"D"),CONCAT(branchname,"A"),pickup_location FROM branches;
  INSERT INTO branches (branchcode,branchname,pickup_location) SELECT CONCAT(branchcode,"D"),CONCAT(branchname,"B"),pickup_location FROM branches;
  INSERT INTO branches (branchcode,branchname,pickup_location) SELECT CONCAT(branchcode,"D"),CONCAT(branchname,"C"),pickup_location FROM branches;
  INSERT INTO branches (branchcode,branchname,pickup_location) SELECT CONCAT(branchcode,"D"),CONCAT(branchname,"D"),pickup_location FROM branches;
  INSERT INTO items (biblionumber,biblioitemnumber,barcode,itype,homebranch,holdingbranch) SELECT 1,1,CONCAT("test-",branchcode),'BKS',branchcode,branchcode FROM branches;
4 - Set systempreferences:
    UseBranchTransferLimits = 'enforce'
     BranchTransferLimitsType = 'item type'
5 - Find the bib and click the holds tab
6 - Wait for a long time, it shoudl eventually load
7 - Apply patch and restart al the things
8 - Load the page again, it should be much faster

Signed-off-by: Andrew Fuerste-Henry <andrew@bywatersolutions.com>
Signed-off-by: Bob Bennhoff <bbennhoff@clicweb.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Bug 26963: (follow-up) Change subroutine name for QA tools

It didn't like the ending _at

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Bug 26963: (QA follow-up) Convert to ResultSets

This patch removes the previously introduced private method by
converting the arrayref returns to ResultSets appropriately and inlining
the filter search queries.

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Bug 26963: (QA follow-up) Migrate unit tests into pickup_location

We wrote unit tests for _can_pickup_locations as part of this patchset,
but then I inlined the method whilst golfing. This patch moves those
tests into the existing pickup_locations test so we more thoroughly
cover the case where branch transfer limits are in play.

NOTE: The tests all assume that all items have an effective_itemtype and
ccode. I'm pretty sure items all have a type at this point, but I'm less
sure we enforce collection codes?

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Bug 26963: (QA follow-up) Don't delete existing data before tests

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Bug 26963: (QA follow-up) Update mocked return of pickup_locations

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Bug 26963: (QA follow-up) Fix cases where we expected a list

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Bug 26963: (QA follow-up) Fix up tests and cover case of undefined ccode

While this technically shouldn't happen, if a library creates itemtype limits, then flips the pref, those rules are still in the db until a ccode rule is saved.

To be extra safe, when checking for rules of one type, we should make sure the other type is undef - i.e. if looking for ccode rules, we should confirm the itype is undef for those rules

Additionally, we shouldn't set the barcode now that we are not deleting all items, so we use copynumber for our item identification field as it doesn't need to be unique in the DB

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Bug 26963: Ignore existing libraries

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
3 years agoBug 26990: (bug 22284 follow-up) Prevent hold to be placed if cannot be transferred
Jonathan Druart [Wed, 11 Nov 2020 13:55:27 +0000 (14:55 +0100)]
Bug 26990: (bug 22284 follow-up) Prevent hold to be placed if cannot be transferred

There is a missing parameter to CanItemBeReserved, we need to know if
the hold can be placed at a given pickup library.

Test plan:
1 - Set preferences:
     UseBranchTransferLimits: enforce
     BranchTransferLimitsType: itype
     AllowHoldPolicyOverride: Don't allow
2 - Set Centerville 'Book' items to not be allowed to transfer to any other library
3 - Make sure Hold policy is set to 'any library'
4 - Find a record with a Centerville item and other items
5 - Attempt to place an item level hold on the Centerville item (with a
pickup library different than Centerville)
=> Without this patch you are taken to the holds list, but your hold is not placed
Nothing indicates why hold has failed
=> With this patch you cannot select the item from Centerville
"Cannot be transferred to pickup library"

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
(cherry picked from commit fbd0bbf98f574a7eb804673978a198eea6fdd798)

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
3 years agoBug 26987: (bug 23463 follow-up) Fix serial receipt if makePreviousSerialAvailable
Jonathan Druart [Tue, 10 Nov 2020 13:11:10 +0000 (14:11 +0100)]
Bug 26987: (bug 23463 follow-up) Fix serial receipt if makePreviousSerialAvailable

$serialitem is not a Koha::Item there, we need to fetch the item before.

Test plan:
Turn makePreviousSerialAvailable on
Create a subscription
Receive an serial item, mark it "arrived"
Without this patch Koha explodes with
No property notforloan for Koha::Serial::Item at /usr/share/perl5/Exception/Class/Base.pm line 88
Koha::Object::set('Koha::Serial::Item=HASH(0x55dd67c75700)', 'HASH(0x55dd672cec30)') called at /kohadevbox/koha/serials/serials-edit.pl line 273

With this patch applied the notforloan and itype values are correctly
set for the new serial item.

Signed-off-by: Magnus Enger <magnus@libriotech.no>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
(cherry picked from commit dc465736cd14a860ffbda1571012fe94fb1e65fa)

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
3 years agoBug 26594: (QA follow-up) Make _UpdateBorrowerDebarmentFlags a public method
Kyle M Hall [Thu, 5 Nov 2020 11:48:04 +0000 (06:48 -0500)]
Bug 26594: (QA follow-up) Make _UpdateBorrowerDebarmentFlags a public method

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
(cherry picked from commit f8206ca60cb1bbd32a90b7898a6877166026b8bb)

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
3 years agoBug 26594: Fix patrons merge problem with restrictions
Fridolin Somers [Thu, 1 Oct 2020 12:19:05 +0000 (14:19 +0200)]
Bug 26594: Fix patrons merge problem with restrictions

When merging a patron A with restriction(s) into an other patron B,
the entries of borrower_debarments are OK but the value of borrowers.debarred for patron B need to be updated.
An effect of this strange storage of restrictions in both places.

Test plan :
1) Create a patron A with a manual restriction with some date and
   comment
2) Create a patron B with no restriction
3) Merge patron A and B, keeping patron B
4) Look at patron B details page
=> Without patch you see no restriction
=> With patch you see the restriction from patron A

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
(cherry picked from commit bd66a2e175e062b662652f81efcafb48b6d230d7)

3 years agoBug 26594: add Unit Test
Fridolin Somers [Fri, 2 Oct 2020 07:22:36 +0000 (09:22 +0200)]
Bug 26594: add Unit Test

Run prove t/db_dependent/Patron/Borrower_Debarments.t

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
(cherry picked from commit e5ba5f406899c554ccc71212cbee5531b91c3f41)

3 years agoBug 24633: (follow-up) Tweak sample plugin targets
Tomas Cohen Arazi [Tue, 20 Oct 2020 17:36:22 +0000 (14:36 -0300)]
Bug 24633: (follow-up) Tweak sample plugin targets

Sponsored-by: Theke Solutions
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
(cherry picked from commit 017036f695df46df1fe3c2106b96b6285b0b9e83)

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
3 years agoBug 24633: Add support for gitlab searching of plugins
Tomas Cohen Arazi [Tue, 20 Oct 2020 17:29:38 +0000 (14:29 -0300)]
Bug 24633: Add support for gitlab searching of plugins

This patch adds the option to add Gitlab repositories to look for
Koha plugins. As with Github, plugin projects need to be named
koha-plugin-* and the release file needs to be named with the .kpz
extension.

To test:
1. Apply this patchset
2. Check either koha-conf.xml or koha-conf.site.xml.in for sample
   configurations of gitlab targets.
3. Tweak your koha-conf.xml accordingly. You could have:

 <plugin_repos>
     <repo>
         <name>ByWater Solutions</name>
         <org_name>bywatersolutions</org_name>
         <service>github</service>
     </repo-
     <repo>
         <name>Theke Solutions</name>
         <org_name>thekesolutions</org_name>
         <service>gitlab</service>
     </repo>
     <repo>
         <name>PTFS Europe</name>
         <org_name>ptfs-europe</org_name>
         <service>github</service>
     </repo>
  </plugin_repos>

4. Flush memcached and restart plack:
   $ flush_memcached
   $ koha-plack --restart kohadev
5. Open the plugins page, search for anything, like 'gobi' or 'a'
=> SUCCESS: You get Theke results!
6. Pick a gitlab plugin for install
=> SUCCESS: It is installed!
7. Sign off :-D

Sponsored-by: Theke Solutions
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
(cherry picked from commit df2a7e4aa200ea9648d993241e75ef27e12fa103)

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
3 years agoBug 26727: (follow-up) More markup corrections
Owen Leonard [Tue, 3 Nov 2020 18:00:57 +0000 (18:00 +0000)]
Bug 26727: (follow-up) More markup corrections

This patch makes more markup changes to the templates previously
modified in order to try to arrive at some agreeable solutions.

- In the value_builder EXAMPLE template, the <p> is unnecessary and is
  removed. Also removed is the script "type" attribute and obsolete
  CDATA markers.
- In the article request template an unnecessary <p> is removed.
- In the merge patrons template the submit button is now in a <fieldset
  class="action"> as is consistent with other forms.
- In the MARC modifications template I've added <div>s around each
  "line" in the form to add the line break, along with some CSS to add
  margins.
- The submit button is now inside a <fieldset class="action"> and the
  "Cancel" link now has the "cancel" class.

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
(cherry picked from commit d5d736909ccd24b38e90e89b1484da73972d8645)

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
3 years agoBug 26727: Fix <p/> appearing in the templates
Katrin Fischer [Sun, 18 Oct 2020 16:30:24 +0000 (16:30 +0000)]
Bug 26727: Fix <p/> appearing in the templates

The self-closing p is not valid in HTML5:

Error: Self-closing syntax (/>) used on a non-void HTML element.
Ignoring the slash and treating as a start tag.

To test:

1)
- Activate Article requests
- Search for a record to place an article request on in staff
- Look up the patron
- Verify the article request form looks ok
2)
- Search for a list of patrons
- Check 2 patrons and merge them using the button above the list
- Verify the distance between the button and the table looks ok
3)
- Create a new MARC modification template
- Create a new action
- Verify the distances between the first and second line of form
  elements looks ok
4)
- Place a hold in staff
- Click on the Suspend link in the holds table (not below)
- Verify the modal looks ok

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
(cherry picked from commit bbf0d21284924d6b7529017fc78178b98242aaee)

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
3 years agoBug 26908: (follow-up) Alter template check
Martin Renvoize [Thu, 5 Nov 2020 12:42:47 +0000 (12:42 +0000)]
Bug 26908: (follow-up) Alter template check

This alters the template check to use the presence of the plugins
arrayref rather than requiring a second call to check for
plugins_enabled.

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
(cherry picked from commit a10db1347dfbe5a444e669e363aab9b635d74069)

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
3 years agoBug 26908: Restore ability to view and select EDI plugins for a vendor account
Kyle M Hall [Tue, 3 Nov 2020 13:31:39 +0000 (08:31 -0500)]
Bug 26908: Restore ability to view and select EDI plugins for a vendor account

Test Plan:
1) Install an EDI plugin
2) Browse to edi_accounts.pl, create or edit an account
3) Note the plugins pulldown is missing
4) Apply this patch
5) Restart all the things!
6) Reload the page
7) Note the pulldown is back!

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
(cherry picked from commit 0d438de0186fb08d2a1f8eb82b0df0204efff5ef)

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
3 years agoBug 26911: (bug 18936 follow-up) Remove invalid data before copying the circ rules
Jonathan Druart [Tue, 3 Nov 2020 15:45:33 +0000 (16:45 +0100)]
Bug 26911: (bug 18936 follow-up) Remove invalid data before copying the circ rules

UPDATE: changed queries to not touch * values

To test:
 1 - Checkout 19.11.x and reset_all
 2 - Add a new patron category, itemtype, and branch to your system
 3 - Create issuing rules using thise 3 values, and others
 4 - Delete the new category, itemtype and branch
 5 - Checkout master
 6 - Restart_all
 7 - updatedatabase
 8 - you get errors
 9 - repeat 1-5
10 - apply patch
11 - restart_all
12 - updatedatabase
13 - no errors!

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Andrew Fuerste-Henry <andrew@bywatersolutions.com>
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
(cherry picked from commit 31e38bc371943d1e76f49aacd1dd159a254f71e7)

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
3 years agoBug 26915: Fix FinePaymentAutoPopup behaviour
Jonathan Druart [Wed, 4 Nov 2020 08:04:19 +0000 (09:04 +0100)]
Bug 26915: Fix FinePaymentAutoPopup behaviour

The behaviour of the syspref FinePaymentAutoPopup is broken, the popup
explodes with
    Can't call method "unblessed" on an undefined value at /home/vagrant/kohaclone/members/printfeercpt.pl line 64

It has been broken by
  commit a2449a81be55aa5b3710ca2c6df7884513f89540
  Bug 23051: (follow-up) Add renewal feedback and move code to subroutines and test
which modified the return value of Koha::Account->pay (from $payment_id
to a hashref)

Test plan:
- To test activate FinePaymentAutoPopup
- Create a manual fee
- Write it off using the write off button on the account line (not below table)
=> Without the patch you get the error
=> With the patch applied the popup is correctly displayed

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
(cherry picked from commit 42c0475a948577442e44b11dbb12b45b25171418)

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
3 years agoBug 26190: Allow to close a basket with only cancelled order lines
Katrin Fischer [Sat, 17 Oct 2020 22:47:49 +0000 (22:47 +0000)]
Bug 26190: Allow to close a basket with only cancelled order lines

At the moment there are several cases, when closing a basket is not
possible:
- when there are no order lines in it
- when there are order lines with uncertain prices
- when the basket is marked as a standing order

The first case wasn't checked correctly as only pending/received
orders would be counted, but not cancelled orders.

To test:
- Create a basket
- Create an order line
- Verify the "close this basket" button shows
- Cancel the order line - the button disappears
- Apply the patch
- Verify the button appears and works now
- Create another basket - make sure you cannot close it
  without order lines
- Create an order line with uncertain price checked
  - you cannot close it
- Resolve the uncertain price - you can now close the basket.

Signed-off-by: Séverine QUEUNE <severine.queune@bulac.fr>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
(cherry picked from commit 2d6595a1bf0e04611c2a1d5c18489c6ee799a9aa)

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
3 years agoBug 11460: Remove MARC21 default mapping from itemcallnumber system preference
Katrin Fischer [Mon, 26 Oct 2020 22:40:50 +0000 (22:40 +0000)]
Bug 11460: Remove MARC21 default mapping from itemcallnumber system preference

The mapping in the itemcallnumber system preference is only valid
for MARC21 libraries using DDC classification, but not for libraries
using UNIMARC or other classification.

This patch suggests to remove the default mapping and start new installations
with an empty value.

To test:
- On an emtpy database
- Apply patch
- Run the web installer, selecting either MARC21 or UNIMARC
- Verify that the itemcallnumber system preference is empty
- Verify the description now also include examples for UNIMARC

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
(cherry picked from commit d80421ce855fd9069dbe1e7cd6b1ea42a665899b)

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
3 years agoBug 26832: Make Elasticsearch mappings export use UTF-8
Fridolin Somers [Tue, 27 Oct 2020 08:03:16 +0000 (09:03 +0100)]
Bug 26832: Make Elasticsearch mappings export use UTF-8

Script misc/search_tools/export_elasticsearch_mappings.pl allows to export current search engine configuration into a YAML file.
This export should use UTF-8 encoding, like other exports.

Test plan :
1) Go to Administration > Search engine configuration (Elasticsearch)
2) Edit a field label to use a diacrtic, for example local-number => Numéro
3) Save
4) Edit file etc/koha-conf.xml to enable 'elasticsearch_index_mappings'
5) Export mappings to file via misc/search_tools/export_elasticsearch_mappings.pl -t $MARCFLAVOUR
6) Reset memcached and plack
7) Back to Administration > Search engine configuration (Elasticsearch)
8) Click on 'Reset Mappings' and accept
9) Look at field 'local-number'
=> Without patch diacritic 'é' is broken
10) You may try with an emoji B-)

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
(cherry picked from commit 9441537e5436b43805d578108ebee0c8394eb5aa)

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
3 years agoBug 26696: Fix colspan in payment table when credit exists
Katrin Fischer [Thu, 15 Oct 2020 23:23:41 +0000 (01:23 +0200)]
Bug 26696: Fix colspan in payment table when credit exists

The colspan was adjusted for the total due when a new column
was added to the table, but the 2 lines for credits were missed.

To test:
- Go to any patron account
- Create a manual invoice
- Create a credit
- Go to the 'Make a payment' tab
- Veriy that the total lines at the bottom of the table are
  slightly off
- Apply the patch
- Verify that the total lines in the table now display correctly

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
(cherry picked from commit adfed0a945eb00ff0fe501ff1c90e25076777a34)

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
3 years agoBug 25167: (QA follow-up) Don't add a new variable
Nick Clemens [Sat, 24 Oct 2020 01:51:55 +0000 (01:51 +0000)]
Bug 25167: (QA follow-up) Don't add a new variable

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
(cherry picked from commit 7a87cc310b5836b6808c8836ee9e38b3dd725160)

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
3 years agoBug 25167: Fix to a fix wrong inventory results
Didier Gautheron [Wed, 8 Apr 2020 07:33:44 +0000 (09:33 +0200)]
Bug 25167: Fix to a fix wrong inventory results

Test plan :
- Check you have in default framework an item subfield mapped with items.notforloan and with an authorized value catergory,
  for example 'NOTFORLOAN'
- Create a new value in this category, for example '9'
- Create a biblio with default framework
- Create an item with barcode='000AAA1', callnumber='A-1' and notforloan=0
- Create an item with barcode='000AAA2', callnumber='A-2' and notforloan=9
- Create a file 'barecodes.txt' containing 2 lines '000AAA1' and '000AAA2'
- Go to inventory tool : /cgi-bin/koha/tools/inventory.pl
- Choose file in 'Barcode file'
- Enter item callnumber between 'A-0' and 'A-9'
- Check 'Compare barcodes list to results'
- Submit=> without patch, you get no warnings
- Redo the same inventory but with checking items.notforloan 'For loan'
  (using the browser back page is ok)
- submit => still no warning, Bug 000AAA2 must be listed it's not 'For loan'
- Apply patch, repeat, with tems.notforloan 'For loan' checked you get the
  right warning

Signed-off-by: Séverine QUEUNE <severine.queune@bulac.fr>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
(cherry picked from commit 1181402eee9392fddf0e3a64de5941880485c074)

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
3 years agoBug 26900: Fixes Koka::Libraries typo in C4/Reserves.pm
Blou [Mon, 2 Nov 2020 19:24:50 +0000 (14:24 -0500)]
Bug 26900: Fixes Koka::Libraries typo in C4/Reserves.pm

Plain simple:

my $home_library = Koka::Libraries->find( {branchcode => $item->homebranch} );

This patch replaces 'Koka' by 'Koha'.

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
(cherry picked from commit 3dee550e346d8a998335eb7ce77b4a064a1d129a)

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
3 years agoBug 26853: DBIC changes
Lucas Gass [Mon, 16 Nov 2020 19:13:14 +0000 (19:13 +0000)]
Bug 26853: DBIC changes

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
3 years agoBug 26853: DBRev 20.05.05.003
Lucas Gass [Mon, 16 Nov 2020 19:10:46 +0000 (19:10 +0000)]
Bug 26853: DBRev 20.05.05.003

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
3 years agoBug 26853: Throw a fatal error if import_biblios insert fails
David Cook [Thu, 29 Oct 2020 05:23:10 +0000 (05:23 +0000)]
Bug 26853: Throw a fatal error if import_biblios insert fails

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
(cherry picked from commit 8b70bd03f7371deb8dd7ef25e2036c0bbc9b1698)

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
3 years agoBug 26853: Harmonize import_biblios with biblio and biblioitems
David Cook [Thu, 29 Oct 2020 05:20:53 +0000 (05:20 +0000)]
Bug 26853: Harmonize import_biblios with biblio and biblioitems

This patch harmonizes the column datatypes of import_biblios
with biblio and biblioitems to prevent database errors which cause
staged MARC uploads to sometimes fail to update 100% correctly.

To test:
1. Go to http://localhost:8081/cgi-bin/koha/tools/stage-marc-import.pl
2. Upload a file with MARC records with titles longer than 128
characters long
3. Click "Stage for import"
4. Monitor /var/log/koha/kohadev/intranet-error.log for
database errors
5. Note that there are no database errors

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
(cherry picked from commit e39b9684d5cd0ce15a3d1f07d7691b832309287b)

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
3 years agoBug 26639: Add auto_savepoint to DBIC connection
Jonathan Druart [Fri, 26 Oct 2018 14:17:40 +0000 (11:17 -0300)]
Bug 26639: Add auto_savepoint to DBIC connection

See comment 0.

https://metacpan.org/pod/distribution/DBIx-Class/lib/DBIx/Class/Manual/Cookbook.pod#Nested-transactions-and-auto-savepoints

Otherwise:
DBIx::Class::Storage::txn_rollback(): A txn_rollback in nested transaction is ineffective! (depth 1) at t/db_dependent/Koha/Objects.t line 274

Possible side-effects? Slowness?

We need to push it to master ASAP and see how our test suite behave.

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

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
3 years agoBug 26605: Correctly URI-encode query string in call number browse plugin
Phil Ringnalda [Fri, 2 Oct 2020 21:52:57 +0000 (14:52 -0700)]
Bug 26605: Correctly URI-encode query string in call number browse plugin

If you search for a call number like "M KRUEGER CO #11" in the
cn_browser.pl plugin, your query is cut off at "M KRUEGER CO " because
the hash isn't escaped, so the browser thinks you are opening a
window and trying to navigate to the element with the id 11 rather
than passing the #11 to the server.

To test:
1) Find the record you will use to test, determing the MARC
framework it uses by going to Edit > Edit record > Settings
2) In Administration > MARC bibliographic framework, click MARC
structure in the Actions menu for that framework
3) Navigate to the 952 tag, in the Actions menu click Edit subfields
4) In the tab for o, choose the Plugin cn_browser.pl and click
Save Changes
5) Click the Edit button next to one of the items on your record
6) In the Full call number field, add " CO #11" to the call number
7) Click the ... next to the field to open the Tag editor
8) In the popup window, verify that the search field includes the
" CO #11" you added to the call number

Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
(cherry picked from commit c52a9e4cf362949192d3d58adab287cd82effbf1)

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
3 years agoBug 26723: Improve link text on OverDriveAuthName system preference
Lisette Scheer [Sat, 24 Oct 2020 18:18:54 +0000 (18:18 +0000)]
Bug 26723: Improve link text on OverDriveAuthName system preference

The OverDriveAuthName system preference contains a link labeled "here"
to a seperate administration page that should be labeled better. This
patch renames the link.

To test:
1. Go to administration
2. Search the system preferences for OverDriveAuthName
3. Obeserve the "here" link in the preference.
4. Apply the patch.
5. Repeat steps 1-2.
6. Observe the new link text.
7. Sign off.

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
(cherry picked from commit daca3478f48ece4f92957eb4b4638d5aa18844a5)

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
3 years agoBug 26816: Chomp whitespace around i18n strings
Owen Leonard [Mon, 26 Oct 2020 11:55:57 +0000 (11:55 +0000)]
Bug 26816: Chomp whitespace around i18n strings

This patch adds the chomp shorthand [%- -%] to the output of i18n.inc to
prevent extra spaces from being inserted.

To test, apply the patch and perform a catalog search in the staff
interface which will return results with multiple items.

In the items column, the availability information should not have
unwanted spaces:

3 items, 3 available:

...instead of

3 items , 3 available:

Signed-off-by: Barbara Johnson <barbara.johnson@bedfordtx.gov>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
(cherry picked from commit 190f7155f1e9b3100a0dfb91279228033fc28546)

3 years agoBug 17515: Order Z3950 server by rank and preserve ordering
Nick Clemens [Tue, 27 Oct 2020 15:59:46 +0000 (15:59 +0000)]
Bug 17515: Order Z3950 server by rank and preserve ordering

Previously we put all the servers into an object with keys of the server id

This patch converts it to an array of objects to preserve order, and adjusts code to use the array index
where necessary and store the server id within the array

To test:
1 - Add some new Z3950 servers, they don't need to be valid
    FIRST
    SECOND
    THIRD
    FOURTH
2 - Adjust the ranking so FOURTH:1 THIRD:2 SECOND:3 FIRST:4
3 - Enable and launch the advanced editor
4 - Click 'Advanced' under search on the left
5 - Note the list displays in the order you entered the servers
6 - Apply patch
7 - Reload
8 - Order is correct
9 - With valid servers, confirm that searching still works and servers can be checked or unchecked to include/remove from results

https://bugs.koha-community.org/show_bug.cgi?id=17515

Signed-off-by: B Johnson <barbara.johnson@bedfordtx.gov>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
(cherry picked from commit 7bbf4f7b5fe54a46d2c54a4dc445a0400dfbef23)

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
3 years agoBug 26487: Add all MARC flavours for not-onloan-count search field
Fridolin Somers [Fri, 18 Sep 2020 13:09:10 +0000 (15:09 +0200)]
Bug 26487: Add all MARC flavours for not-onloan-count search field

In admin/searchengine/elasticsearch/mappings.yaml the search field not-onloan-count is defined for MARC21 on 999x.
This should be for all the MARC flavours, like in Zebra config.

Test plan:
1) On a UNIMARC database
2) Reset Elasticsearch mappings
3) Check search engine config to see field 'not-onloan-count' on 999$x
4) Same on a NORMARC database

Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
(cherry picked from commit 0ee41b53168c3a5275533a731160b643909cd110)

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
3 years agoBug 18051: Set UTF8 Flag for record searches/imports from rancor
Nick Clemens [Thu, 29 Oct 2020 12:18:56 +0000 (12:18 +0000)]
Bug 18051: Set UTF8 Flag for record searches/imports from rancor

The advanced cataloging editor uses Koha::MetaSearcher to find and import records
from Z3950.

The records are correctly converted to UTF8, however, we need to set the flag in the
record to ensure they are parsed correctly later

To test:
 1 - Add OHIOLINK as a z39 source as described in earlier comments
 2 - Browse to Cataloging->Advanced editor
 3 - Click Search->Advanced
 4 - Select OHIOLINK
 5 - Search for author 'capek karel'
 6 - Note records look bad
 7 - Apply patch
 8 - Restart all the things
 9 - Repeat
10 - Success!

Signed-off-by: Barbara Johnson <barbara.johnson@bedfordtx.gov>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
(cherry picked from commit 4d92e3d284e392ad681b095c02965fe57a85a5a1)

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
3 years agoBug 26581: (follow-up) Skip merge when deleting authority
Nick Clemens [Mon, 2 Nov 2020 12:46:59 +0000 (12:46 +0000)]
Bug 26581: (follow-up) Skip merge when deleting authority

Tests failing, seems to be because the indexes haven't been created yet.
When deleting authority we perform a 'merge' where we search for biblios
containing the authority.

Since these are simply tets we can skip this step, avoid the search, and avoid
a crash

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
3 years agoBug 26581: (follow-up) Restore unsetting of doreturn
Nick Clemens [Tue, 27 Oct 2020 14:36:24 +0000 (14:36 +0000)]
Bug 26581: (follow-up) Restore unsetting of doreturn

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
3 years agoBug 26581: [20.05.x] Only reindex records once per checkin
Martin Renvoize [Fri, 16 Oct 2020 14:04:31 +0000 (15:04 +0100)]
Bug 26581: [20.05.x] Only reindex records once per checkin

This patch simply passes skip_record_index calls to Koha:Item:store
for all the changes done in AddReturn.

Testing is really verifiying that items are still correctly indexed at the end

For both search engines
To test:
1 - Find or create a record with multipel items
2 - Populate both:
     UpdateItemLocationOnCheckin
     UpdateNotForLoanStatusOnCheckin
3 - Confirm that checking in an item correctly updates the item status in search results
4 - Test with items issued, and items not issued
5 - Test when generating a transfer (checkin at different branch)
6 - Test when item was marked lost
7 - Test when filling transfer

Signed-off-by: Séverine Queune <severine.queune@bulac.fr>
Signed-off-by: Christoper Brannon <cbrannon@cdalibrary.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Bug 26581: Unit tests

These tests cover the changes to ensure the AddReturn calls index_records once
per call and that other calls pass the skip_record_index parameter correctly

Signed-off-by: Séverine Queune <severine.queune@bulac.fr>
Signed-off-by: Christoper Brannon <cbrannon@cdalibrary.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
3 years agoBug 18050: move aqbudgetperiods table before aqbudgets, to fix sql error
Mason James [Mon, 26 Oct 2020 18:41:03 +0000 (07:41 +1300)]
Bug 18050: move aqbudgetperiods table before aqbudgets, to fix sql error

00:02:16.310 koha_1       | DBD::mysql::st execute failed: Can't create table `koha_kohadev`.`aqbudgets` (errno: 150 "Foreign key constraint is incorrectly formed") at /usr/share/perl5/DBIx/RunSQL.pm line 278, <$args{...}> line 1.
00:02:16.310 koha_1       | Something went wrong loading file /kohadevbox/koha/installer/data/mysql/kohastructure.sql ([SQL ERROR]: CREATE TABLE `aqbudgets` ( -- information related to Funds
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit 3df7a02d8198e7a0a0af5459c4c3d2192177b27f)

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
3 years agoBug 26583: Remove unneccessary code in AddIssue
Nick Clemens [Thu, 1 Oct 2020 10:50:17 +0000 (10:50 +0000)]
Bug 26583: Remove unneccessary code in AddIssue

The lines to calc due date are doubled

ModDateLastSeen is not needed as we set the item not lost and we can set
the date as we do for date last borrowed and save a DB store

Largely this is reading the code and confirming the changes make sense

To test:
1 - Apply patch
2 - Check out items, confirm it works as before
3 - prove -v t/db_dependent/Circulation.t

Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
(cherry picked from commit 6e37dcafee872cdea378ba845ef49d702a3fbfc5)

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
3 years agoBug 26726: (QA follow-up) Add line break and 'the' for readability
Nick Clemens [Sat, 24 Oct 2020 00:21:55 +0000 (00:21 +0000)]
Bug 26726: (QA follow-up) Add line break and 'the' for readability

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
(cherry picked from commit 6da94551f122373e9ec418d3c80035c599c18fb5)

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
3 years agoBug 26726: changed the text of the "here" link on the transport cost matrix administr...
Tal Rogoff [Fri, 23 Oct 2020 23:02:29 +0000 (23:02 +0000)]
Bug 26726: changed the text of the "here" link on the transport cost matrix administration page

test plan:
1.Set the UseTransportCostMatrix system to disabled
2.Go to Administration>Transport cost matrix
3.Blue box at top of the page contains link labelled "here"
4.Apply patch
5.Refresh page
6.Link should now be labelled "UseTransportCostMatrix"

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
(cherry picked from commit c85b3ee07f551644891c86a74d6d2f87bfc9bdeb)

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
3 years agoBug 26450: (QA follow-up) Replace tabs with spaces
Nick Clemens [Sat, 24 Oct 2020 02:07:51 +0000 (02:07 +0000)]
Bug 26450: (QA follow-up) Replace tabs with spaces

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
(cherry picked from commit cf12049ca1b71a5c5ef12092499fb39aea8f36e9)

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
3 years agoBug 26450: fix typo in plugin template
Andreas Roussos [Mon, 14 Sep 2020 07:59:34 +0000 (09:59 +0200)]
Bug 26450: fix typo in plugin template

The UNIMARC field 105 plugin template contains some dropdown menu
options with unnecessary capitalisation: "w - Religious text".

This patch fixes that.

Test plan: apply the patch, and confirm that the dropdown menu
options appear in all lowercase.

Signed-off-by: Julian Maurice <julian.maurice@biblibre.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
(cherry picked from commit 17f307285f5d877806ac95fe64ce154be03948b6)

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
3 years agoBug 26725: (QA follow-up) Add line break and 'the' for readability
Nick Clemens [Sat, 24 Oct 2020 00:42:31 +0000 (00:42 +0000)]
Bug 26725: (QA follow-up) Add line break and 'the' for readability

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
(cherry picked from commit 17723b5423fcf644026130d8cc75e58986c55efb)

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
3 years agoBug 26725: link text changed to just system preference name. "system preference"...
Tal Rogoff [Fri, 23 Oct 2020 22:45:58 +0000 (22:45 +0000)]
Bug 26725: link text changed to just system preference name. "system preference" put in sentence case.

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
(cherry picked from commit 46b371a057e619264ad1c8d39abbcce7745ae734)

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
3 years agoBug 26725: changed the text of the "here" link on the patron attributes administratio...
Tal Rogoff [Fri, 23 Oct 2020 22:10:59 +0000 (22:10 +0000)]
Bug 26725: changed the text of the "here" link on the patron attributes administration page

test plan:
1. set ExtendedPatronAttributes system preferences to "Don't enable"
2. go to Administration > Patron attribute types
3. the link text of "here" is displayed in the blue box at the top of
the page
4. apply the patch
5. refresh the page
6. notice the link text has changed to "ExtendedPatronAttributes System
Preference"

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
(cherry picked from commit b3a51fbc552ad89d7ee4604ac502cd2e7a7a8667)

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
3 years agoBug 26606: Correctly URI-encode query string in URL loaded after deleting an authorit...
Phil Ringnalda [Fri, 2 Oct 2020 22:35:04 +0000 (15:35 -0700)]
Bug 26606: Correctly URI-encode query string in URL loaded after deleting an authority record

If you search for "this & that" and delete one of the results, after
it is deleted the search in the reloaded page is for "this " rather
than for "this & that". The template uses the url filter, which is
for filtering an entire URI where :, &, #, etc. should be left alone,
rather than the uri filter which is for filtering a URI component
where they should be encoded.

To test:
1) Go to Authorities > New authority > New from Z39.50/SRU
2) Search for the Author (corporate) this & that collective
3) Actions > Import, Save
4) From the detail for that authority, Edit > Edit as new (duplicate)
5) Edit the 110 field, add 2 at the end and Save
6) Search authorities for this & that
7) For one of the ones you created, Actions > Delete, confirm
8) The page that reloads should have a search for this & that, not
just for this

Signed-off-by: Didier Gautheron <didier.gautheron@biblibre.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
(cherry picked from commit 16e5a9d8dcf7ab332a455ff74e23115fde27a10f)

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
3 years agoBug 26766: Correct selection of title during OPAC note confirmation
Owen Leonard [Wed, 21 Oct 2020 17:15:30 +0000 (17:15 +0000)]
Bug 26766: Correct selection of title during OPAC note confirmation

This patch modifies the JavaScript in opac-user.tt which executes when
the user submits a checkout note. The script tries to grab the
checkout's title from an earlier cell in the table row so that it can
display it in the confirmation message.

Before start ratings were enabled on this page, the title of each
checked-out item was the only HTML inside this table cell, so it was
necessary only to grab the HTML contents of the <td>. Now that star
ratings might be displayed as well we must make the selection more
specific.

To test, apply the patch and enable both the  OpacStarRatings and
AllowCheckoutNotes preferences.

 - Log in to the OPAC as a user with checkouts.
 - On the "Your summary" page, fill out and submit the "Note" field for
   one of your checkouts.
 - In the confirmation message, confirm that the correct title
   information is displayed as a link to the bibliographic detail page.

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
(cherry picked from commit 54dcce14139bf5c60e98603a667629141296580e)

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
3 years agoBug 26762: Modify template logic in opac-reserves.tt to avoid error
Owen Leonard [Wed, 21 Oct 2020 11:57:26 +0000 (11:57 +0000)]
Bug 26762: Modify template logic in opac-reserves.tt to avoid error

This patch makes a change to the OPAC hold template to prevent certain
cases where the output is invalid.

To reproduce, perform a search in the OPAC which will return some titles
which can be placed on hold and some which cannot.

 - Select all results (some holdable, some not)
 - Click the "Place hold" link
 - On the "Confirm holds" page the layout will be broken after the
   first instance of the message "There are no items that can be placed
   on hold."

To test, apply the patch and repeat the process above. After the patch
has been applied the "confirm holds" page should look correct.
Validating the HTML source should return no errors.

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
(cherry picked from commit d10d24e42aaaf4b2e23b52b94aa14ab8745b396f)

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
3 years agoBug 26756: Fix quotes showing behind some system preference descriptions
Owen Leonard [Tue, 20 Oct 2020 16:04:11 +0000 (16:04 +0000)]
Bug 26756: Fix quotes showing behind some system preference descriptions

This patch adds matching quotes to two OPAC preference descriptions
which were missing them.

To test, apply the patch and go to Administration -> System preferences.

- Open the "OPAC" tab.
- Check the descriptions of these preferences:
  - AllowPatronToSetCheckoutsVisibilityForGuarantor
  - AllowPatronToSetFinesVisibilityForGuarantor

There should be no trailing quotation mark.

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
(cherry picked from commit 2dab6ab31626970e3c9be841b610575060f8f344)

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
3 years agoRevert "Bug 26619: Cart - The "Print" button is only translated when you are in ...
Lucas Gass [Fri, 13 Nov 2020 21:36:34 +0000 (21:36 +0000)]
Revert "Bug 26619: Cart - The "Print" button is only translated when you are in "More details" mode"

This reverts commit e47f2132add2b132806caeeff1631059b0f1cba8.

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
3 years agoBug 26619: Cart - The "Print" button is only translated when you are in "More details...
Owen Leonard [Tue, 20 Oct 2020 11:22:07 +0000 (11:22 +0000)]
Bug 26619: Cart - The "Print" button is only translated when you are in "More details" mode

This patch adds the "Print" string to datatables.js so that it can be
picked up for translation.

To test, apply the patch and add some items to the cart in the OPAC.

- Open the cart. You should see a button labeled "Print."
- The print button should work correctly.

TESTING TRANSLATABILITY

- Update a translation, e.g. fr-FR:

  > cd misc/translator
  > perl translate update fr-FR

- Open the corresponding .po file for JavaScript strings,
  misc/translator/po/fr-FR-messages-js.po
- Locate strings pulled from
  koha-tmpl/opac-tmpl/bootstrap/js/datatables.js for translation:

  msgid "Print"
  msgstr ""

- Edit the "msgstr" string however you want (it's just for testing).
- Install the updated translation:

   > perl translate install fr-FR

- Switch to your newly translated language in the OPAC and
  repeat the test plan above. The translated strings should appear.

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
(cherry picked from commit 599a6cb92e26e37857b344484d6c8b233555f0dc)

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
3 years agoBug 25353: Correct eslint errors in additems.js
Owen Leonard [Mon, 19 Oct 2020 18:32:18 +0000 (18:32 +0000)]
Bug 25353: Correct eslint errors in additems.js

This patch makes minor changes to additem.js to correct errors
highlighted by eslint:

- Consistent indentation
- Notation of global and exported variables and functions
- Consistent use of the "var" declaration for all new variables
- Remove variables from function calls which aren't used

To test, apply the patch and use your preferred eslint-enabled tool to
check for errors. There should be none.

If you don't have eslint integrated in your development environment you
could use the online ESLint demo at https://eslint.org/demo.

The demo isn't configured to assume a browser environment with jQuery
present, so you'll have to modify the top line after pasting the
contents of additem.js:

/* global $ alert window __ */

Signed-off-by: Julian Maurice <julian.maurice@biblibre.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
(cherry picked from commit ebe08fb745b04899404bed5ceb00c891a518e89c)

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
3 years agoBug 26526: Relabel checkout note column in OPAC
Katrin Fischer [Sat, 17 Oct 2020 15:08:59 +0000 (15:08 +0000)]
Bug 26526: Relabel checkout note column in OPAC

When checkout notes are active, there is currently a new
column labelled 'Note' in the checkouts table in OPAC.
When a note is added, this is sent to the library. For
the user it's not clear from the label, that these notes
are not personal, but for reporting to the library.
The new label "Report a problem" aims to make this clearer.

To test:
- Turn on AllowCheckoutNotes system preference
- Check out some items to your account
- Go to the OPAC
- Look at the list of checkouts
- Apply patch
- Reload the page and check the checkouts table again
- Verify the heading has changed from "Notes" to "Report a problem"
- Hover over the heading with your cursor to see some more info

Bonus: Patch adds an id "checkout-notes" to the header cell, that
will make it easier for libraries to change text or style if needed.

Signed-off-by: Barbara Johnson <barbara.johnson@bedfordtx.gov>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
(cherry picked from commit 70c64fad46a91f910a00d59149000b982705fd24)

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
3 years agoBug 18050: DBRev 20.05.05.002
Lucas Gass [Fri, 13 Nov 2020 21:20:24 +0000 (21:20 +0000)]
Bug 18050: DBRev 20.05.05.002

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
3 years agoBug 18050: (QA follow-up) Adjust conditions and make use of message text
Katrin Fischer [Mon, 5 Oct 2020 06:17:34 +0000 (06:17 +0000)]
Bug 18050: (QA follow-up) Adjust conditions and make use of message text

- When we run into invalid data, we use Augustin's suggested solution
  and copy the data into a separate table, setting the budget_period_id to
  NULL.
- We amend the output using the new $message.

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
(cherry picked from commit 3c8bef50a223e70fe3023222f5f940a2b1771b5d)

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
3 years agoBug 18050: (follow-up) Force adding FK constraint
Agustin Moyano [Fri, 9 Oct 2020 18:14:26 +0000 (15:14 -0300)]
Bug 18050: (follow-up) Force adding FK constraint

When there are inconsistent budget_period_id in aqbudgets this patch
creates the table _bug_18050_aqbudgets with the original data, then sets
the column to null and warns the user that there is inconsistent data.

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
(cherry picked from commit 1193dddd8beb4a10a78e385b221c0f908d92dcf6)

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
3 years agoBug 18050: Add relation alias to schema
Katrin Fischer [Sun, 13 Sep 2020 23:31:52 +0000 (23:31 +0000)]
Bug 18050: Add relation alias to schema

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
(cherry picked from commit 2800b53bdd6df1e87f72673bc79ed4896f4e4e35)

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
3 years agoBug 18050: DBIC
Lucas Gass [Fri, 13 Nov 2020 21:15:16 +0000 (21:15 +0000)]
Bug 18050: DBIC

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
3 years agoBug 18050: Add FK constraint on aqbudgets.budget_period_id
Katrin Fischer [Sun, 13 Sep 2020 22:42:27 +0000 (22:42 +0000)]
Bug 18050: Add FK constraint on aqbudgets.budget_period_id

This adds a FK constraint on aqbudgets.budget_period_id so that
a fund cannot be added with an invalid aqbudget.budget_period_id.

We should not have funds that belong to no budget. In case we have, the
update will be skipped and a note displayed.

Part1:
- Before applying the patch
- Make sure you have a budget with some funds linked to it
- You will have to change one of the funds to link to an invalid
  budget with SQL:
  UPDATE aqbudgets SET budget_period_id = 999 WHERE budget_id = max(budget_id);
- Apply patch
- Run updatedatabase - verify that you see the hint about 1 existing fund with invalid budget.
- Repair your fund with SQL
  UPDATE aqbudgets SET budget_period_id = ... WHERE budget_id = max(budget_id);
  (... needs to be your existing budget_period_id)
- Run updatedatabase again - verify it runs successfully now.
- If you try to change the budget_period_id to a non-existing now with SQL, you will
  get a database error. The new FK doesn't permit it.
Part 2:
- Start fresh with the web installer, verify there are no errors on
  creating the database tables

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
(cherry picked from commit 0ce62b29bf5ebe30125eb4c631de11391134f109)

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
3 years agoBug 26673: Fix perlcritic complains
Jonathan Druart [Mon, 2 Nov 2020 07:42:20 +0000 (08:42 +0100)]
Bug 26673: Fix perlcritic complains

This patch fixes the following perlcritic complain:
Package declaration must match filename at line 19, column 1.  Correct the filename or package statement.

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
(cherry picked from commit 59588c3a3e3390c2796ac417696829fd26fcb4f0)

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
3 years agoBug 26673: Remove #!/usr/bin/env perl from .pm modules too
David Cook [Wed, 14 Oct 2020 22:53:24 +0000 (22:53 +0000)]
Bug 26673: Remove #!/usr/bin/env perl from .pm modules too

Signed-off-by: Joonas Kylmälä <joonas.kylmala@helsinki.fi>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
(cherry picked from commit e692b40523839bda45a20e4cf1cac7cdfbf53a13)

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
3 years agoBug 26673: Remove shebangs from Perl modules
Jonathan Druart [Wed, 14 Oct 2020 09:24:33 +0000 (11:24 +0200)]
Bug 26673: Remove shebangs from Perl modules

It's not needed.

Signed-off-by: David Cook <dcook@prosentient.com.au>
Signed-off-by: Joonas Kylmälä <joonas.kylmala@helsinki.fi>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
(cherry picked from commit 9f47b4ffd72211a216df67ef912b5eddb2b954db)

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
3 years agoBug 26784: Silence warns about comparing undefined values for MARC modification templates
Nick Clemens [Thu, 22 Oct 2020 12:36:13 +0000 (12:36 +0000)]
Bug 26784: Silence warns about comparing undefined values for MARC modification templates

This patch simply checks if conditionals are defined before comparing

We don't need to check actions because you cannot save an action without an action :-)

To test:
1 - Define several actions for a MARC modification template
2 - Ensure you have actions with no conditionals
3 - Tail the intranet logs
4 - Browse to Tools->MARC modification templates
5 - Click 'Edit actions' for the template you setup above
6 - Note warns like:
    [2020/10/22 12:30:18] [WARN] Use of uninitialized value in string eq at /kohadevbox/koha/tools/marc_modification_templates.pl line 127.
7 - Apply patch
8 - Restart all the things
9 - Edit actions again and note no more warns

Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
(cherry picked from commit 2dd19840449beadd1f1752bd8cc18f0163f7f8a4)

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
3 years agoBug 26781: (follow-up) Adjust tests as fields are no longer completely removed
Nick Clemens [Mon, 2 Nov 2020 11:24:02 +0000 (11:24 +0000)]
Bug 26781: (follow-up) Adjust tests as fields are no longer completely removed

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
(cherry picked from commit 03742a1e246e68fa62c2f2fff963beba28f35c80)

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
3 years agoBug 26781: Check for subfield defined rather than truth
Nick Clemens [Thu, 22 Oct 2020 10:59:17 +0000 (10:59 +0000)]
Bug 26781: Check for subfield defined rather than truth

To recreate:
 1 - Have a record with 100$0 defined
 2 - Define a Marc Modification template:
    Delete field 100$0
 3 - Perform Batch record modification, enter the record above in the list of records
 4 - Preview the MARC
 5 - Note the entire 100 field has been deleted, don't modify the record
 6 - Apply patch
 7 - Restart all the things
 8 - Test the modification again
 9 - This time the preview confirms only the subfield 0 deleted
10 - Modify the record
11 - Confirm the record is correctly updated

Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
JD amended patch: Fix typo ony vs only

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
(cherry picked from commit be4f0c7639a679b1ec808e6e9cf9af0fc9576e79)

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
3 years agoBug 26627: (QA follow-up) Remove barcode input by id
Kyle M Hall [Thu, 5 Nov 2020 11:40:42 +0000 (06:40 -0500)]
Bug 26627: (QA follow-up) Remove barcode input by id

Signed-off-by: Joonas Kylmälä <joonas.kylmala@helsinki.fi>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
(cherry picked from commit ebb437349ebbadf90599c23a46126e5d8eda72da)

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
3 years agoBug 26627: Print and confirming a hold can cause an infinite loop
Kyle M Hall [Wed, 7 Oct 2020 15:01:02 +0000 (11:01 -0400)]
Bug 26627: Print and confirming a hold can cause an infinite loop

Test plan:
1) Place a hold for pickup at library A
2) Confirm the hold and print slip
3) Checkin the item again
4) Confirm the hold and print slip
5) The modal returns, do it again
6) Apply this patch
7) Reload the page
8) Repeat steps 1-3
9) No loop!

Signed-off-by: Séverine QUEUNE <severine.queune@bulac.fr>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
(cherry picked from commit a71596fb395d449a62f5a6417780ed23948755c4)

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
3 years agoBug 26601: Add utf8 encoding to text output of overdue_notices.pl
Mark Hofstetter [Mon, 19 Oct 2020 17:28:19 +0000 (17:28 +0000)]
Bug 26601: Add utf8 encoding to text output of overdue_notices.pl

This patch sets the UTF8 encoding for output of overdue_notices.pl when
outputting to txt.

To test:
0/ Check out an item with due date yesterday (use specify due date)
1/ Create ODUE text with utf8 encoded characters, chinese characters, umlauts etc
   <url>/cgi-bin/koha/tools/letter.pl?op=add_form&module=circulation&code=ODUE
2/ Run
   perl overdue_notices.pl -text ./
3/ Verify encoding in the generated text file is incorrect
4/ Apply patch and repeat 2/
3/ Confirm text now inludes properly encoded characters

Sponsored-by: Styrian State Library
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
With German umlauts on my system the editor still showed the
characters correctly (probably guessing the right encoding).
Using Chinese made the problem visible.

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
(cherry picked from commit 28d20b92be91ae509a7f71586ada2535d3c2007d)

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
3 years agoBug 26686: Fix sorting of "updated on" and "time created" on notices tab
Katrin Fischer [Tue, 20 Oct 2020 16:55:37 +0000 (16:55 +0000)]
Bug 26686: Fix sorting of "updated on" and "time created" on notices tab

In the patron's account in the staff interface there is a tab
'Notices' that shows all notices sent out to a patron. The
updated on column would not sort at all, but there was also some
markup missing for the time created column.

To test:
- Make sure you have a patron account with some notices, ideally
  with different times and dates
- Verify that the updated on column doesn't sort at all
- Apply patch
- Verify both date columns now sort correctly for different
  DateFormat settings

Signed-off-by: Séverine QUEUNE <severine.queune@bulac.fr>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
(cherry picked from commit b3be51d4ef2145b7db7b48c9ee32f86ddd34a964)

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
3 years agoBug 26445: Fix "back to result" link of the search result browser
Jonathan Druart [Thu, 15 Oct 2020 08:47:55 +0000 (10:47 +0200)]
Bug 26445: Fix "back to result" link of the search result browser

Not sure what was the expected behaviour, I am suggesting the following
one:
If you are browsing and you click "back to result", you will be
redirected to the page where the record appear on the search result
list.

Say you search for "something" that returns 10 page (20 results per
page)
Click on first result first page
Click back to result
=> You see the first page with the first result at the top

Click on second page, 3rd result
Click back to result
=> You see the second page with the biblio you clicked at the 3rd
position

Click on second page, 3rd result
Click next/previous
Click back to result
=> You see the page where you last result were.

I think the existing expected behaviour was to have the result you
clicked at the first position of the result page, but I am not sure it
really makes sense.

Hope this makes sense however!

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
(cherry picked from commit 3edbe7d7dc9358e55b4ecc9da5b292a32cadcce9)

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
3 years agoBug 26613: Fix it-IT unimarc_framework.sql installer file
John Fawcett [Mon, 12 Oct 2020 09:18:30 +0000 (11:18 +0200)]
Bug 26613: Fix it-IT unimarc_framework.sql installer file

This is really an installation issue, though at the
time of installation it did not result in any error.

During cataloguing in the items menu the "Type of item or material"
is not constrained by the itemtypes authorised_values (as it is for 942c records).

I have added the itemtypes to the installer sql in unimarc_framework.sql
as well as adding the description of this field for OPAC, which had been left empty.

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Julian Maurice <julian.maurice@biblibre.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
(cherry picked from commit 3bd23a3287345167de50d994d737351174c04936)

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
3 years agoBug 26612: Error during web install for it-IT translation
John Fawcett [Mon, 12 Oct 2020 11:06:40 +0000 (13:06 +0200)]
Bug 26612: Error during web install for it-IT translation

Patch changes some of the values in the sql statement that inserts 307a
unimarc row into the marc_subfield_structure which created an SQL error
on installation.

The fields changed are:
- isurl now 0 instead of NULL,
- hidden now -5 instead of NULL,
- seealso empty string instead of NULL,
- link empty string instead of NULL.

These field values are now similar to the ones inserted for 306a or 308a.
The value that caused the SQL error was using NULL for hidden (due to
the NOT NULL constraint in the table definition).

I have tested the install with this change and found no issues.

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Julian Maurice <julian.maurice@biblibre.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
(cherry picked from commit 7c74c6636f779bbbaceee74f8704df9ec625815d)

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>