]> git.koha-community.org Git - koha.git/log
koha.git
3 years agoBug 23929: Invoice adjustments should filter inactive funds
Blou [Tue, 26 Jan 2021 20:36:31 +0000 (15:36 -0500)]
Bug 23929: Invoice adjustments should filter inactive funds

Looking at invoice details, this makes the Adjustments Fund dropdown act
exactly like the Shipping Fund dropdown above, with a Show inactive
checkbox to help filter (by default) the inactive funds out of the list.

Test plan:
0) requires a database with inactive (old) funds along with active ones.
1) Go to invoice details page
2) Click "Add adjustment"
3) Open the drop down beside the Fund label, you should see EVERY fund in database.
4) Compare with behavior of Shipping fund dropdown above.  Not every fund is listed there
5) Apply patch
6) Now behavior is the same, only active fund are listed by default.
7) click "Show inactive" checkbox and see all the funds in the dropdown.

Signed-off-by: Sonia BOUIS <sonia.bouis@univ-lyon3.fr>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 27731: Remove hold class from individual OPAC search result hold link
Owen Leonard [Fri, 19 Feb 2021 11:46:16 +0000 (11:46 +0000)]
Bug 27731: Remove hold class from individual OPAC search result hold link

This patch removes the "hold" class from the "Place hold" link
associated with each search result in the OPAC. The class isn't required
for any functionality or style and it unintentionally triggers the "hold
multiple" JS function which requires that a checkbox be checked.

To test, apply the patch and log into the OPAC as a user who can place
holds.

- Perform a catalog search which will return multiple results.
- Click the "Place hold" link under any search result.
- You should be taken to the hold confirmation page.
- On the search results page, confirm that the "Place hold" link at the
  top of the search results still works to place multiple holds at once.

Signed-off-by: Phil Ringnalda <phil@chetcolibrary.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 27626: Fix self registration if categorycode is hidden and PatronSelfRegistration...
Jonathan Druart [Thu, 4 Feb 2021 16:37:26 +0000 (17:37 +0100)]
Bug 27626: Fix self registration if categorycode is hidden and PatronSelfRegistrationVerifyByEmail

If categorycode is selected in
PatronSelfRegistrationBorrowerUnwantedField and
PatronSelfRegistrationVerifyByEmail is turned on, the patron self registration
fails with

   [You must provide a patron's category to validate password's strength
   and length] at /usr/share/perl5/Exception/Class/Base.pm line 88

Test plan:
0. Select categorycode in PatronSelfRegistrationBorrowerUnwantedField
   and turn on PatronSelfRegistrationVerifyByEmail
1. Self register a patron
2. Confirm that it works as expected with this patch applied.

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>
3 years agoBug 27534: Add missing ON UPDATE/DELETE clause to message_transport_type_fk
Jonathan Druart [Wed, 27 Jan 2021 08:43:02 +0000 (09:43 +0100)]
Bug 27534: Add missing ON UPDATE/DELETE clause to message_transport_type_fk

Bug 9016 (3.15.00.039) added message_transport_type_fk but the ON DELETE
CASCADE ON UPDATE CASCADE clause was missing from the updatedatabase
entry.
If we are upgrading from an old version, 20.06.00.058 will fail on
updating the message_transport_type, with
"Cannot delete or update a parent row: a foreign key constraint fails".

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 26997: (QA follow-up) Fix Typo
Martin Renvoize [Fri, 19 Feb 2021 12:14:55 +0000 (12:14 +0000)]
Bug 26997: (QA follow-up) Fix Typo

Feel free to squash this ;)

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 26997: CAST AS CHAR to prevent the error
Jonathan Druart [Fri, 19 Feb 2021 09:52:45 +0000 (10:52 +0100)]
Bug 26997: CAST AS CHAR to prevent the error

To prevent the DBMS to fail on 0000-00-00 we can cast it as a char and
compare.
This patch also moves to a subroutine, in case we need to adjust (or
reuse) it later.

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 26997: Remove 0000-00-00 from aqorders.datecancellationprinted
Jonathan Druart [Fri, 13 Nov 2020 12:59:46 +0000 (13:59 +0100)]
Bug 26997: Remove 0000-00-00 from aqorders.datecancellationprinted

This patch remove the 0000-00-00 from the WHERE condition from
ordered.pl and spent.pl to prevent an error under MySQL 8

It also fixes the wrong values in DB (if possible, ie. under other DBMS
that MySQL 8)

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 26997: Fix upgrade process under MySQL 8
Jonathan Druart [Wed, 11 Nov 2020 13:22:50 +0000 (14:22 +0100)]
Bug 26997: Fix upgrade process under MySQL 8

If you are coming from an old version of Koha, you may face an upgrade
error for the SQL query using 0000-00-00.
The idea was to fix it, but actually the DBMS will raise an error (not
blocking the upgrade process however).

We can hide them to not cause confusion

Errors are like:
DBD::mysql::db do failed: Incorrect date value: '0000-00-00' for column 'suggesteddate' at row 1 [for Statement "UPDATE suggestions SET suggesteddate = '1970-01-01' WHERE suggesteddate = '0000-00-00';"] at /kohadevbox/koha/installer/data/mysql/updatedatabase.pl line 23312.

Test plan:
Checkout an old version of Koha (3.20, not older)
Insert a dump, install Koha
Checkout a recent version of Koha, apply the patch (or use master)
Execute the upgrade process
You should not see the errors

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 26208: Perform batch checkin/renewals serially rather than asynchronously
Nick Clemens [Thu, 3 Dec 2020 19:13:15 +0000 (19:13 +0000)]
Bug 26208: Perform batch checkin/renewals serially rather than asynchronously

The issue here seems to be that when multiple requests hit at once they may not register that the renewal
performed by the request should lift restrictions on the account.

To mitigate this we can simply perform the renewals one after the other.

To test:
1 - have multiple overdue items on one patron
2 - run overdues.pl with triggers set to generate a restriction
3 - renew all overdues with the Renew All button
4 - restriction is not removed even though patron no longer has overdue items
5 - Apply patch
6 - Make all items overdue again
7 - Click Renew All
8 - Items are renewed and restriction removed
9 - Checkout items to patron again (overdue or not)
10 - Click 'Select all' in checkin column
11 - Click 'Renew/Checkin selected items'
12 - Confirm checkin succeeds as before patches

Signed-off-by: Kelly McElligott <kelly@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Bug 26208: (follow-up) Remove debugging statements

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 27131: Improve POD for the new method
Jonathan Druart [Thu, 18 Feb 2021 11:00:42 +0000 (12:00 +0100)]
Bug 27131: Improve POD for the new method

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 27694: use HTML filtering on News Tool textarea
Lucas Gass [Fri, 12 Feb 2021 15:57:22 +0000 (15:57 +0000)]
Bug 27694: use HTML filtering on News Tool textarea

To test:
1. Add some HTML enties to your codemirror in the News Tool. Example: <option value="(itype:DVD and loc:*NEW) AND NOT index-term-genre:&quot;television&quot;">Movies</option>
2. Save and re-eneter the tool, the HTML entites have been converted
3. Apply patch
4. Try again, HTML entities should not be converted

Signed-off-by: Ron Houk <rhouk@ottumwapubliclibrary.org>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 27131: (QA follow-up) POD and comments
Marcel de Rooy [Thu, 18 Feb 2021 07:47:11 +0000 (07:47 +0000)]
Bug 27131: (QA follow-up) POD and comments

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 27131: Add tests for get_items_that_can_fill
Jonathan Druart [Tue, 5 Jan 2021 08:29:07 +0000 (09:29 +0100)]
Bug 27131: Add tests for get_items_that_can_fill

Signed-off-by: Andrew Nugged <nugged@gmail.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 27131: Add get_items_that_can_fill
Jonathan Druart [Wed, 2 Dec 2020 08:23:42 +0000 (09:23 +0100)]
Bug 27131: Add get_items_that_can_fill

Signed-off-by: Andrew Nugged <nugged@gmail.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 24469: Move the new queries to a dedicated ImportBatch subroutine
Jonathan Druart [Fri, 12 Feb 2021 09:27:43 +0000 (10:27 +0100)]
Bug 24469: Move the new queries to a dedicated ImportBatch subroutine

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Amended: POD line for $import_record_id.

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 24469: Record biblionumber in import_biblio when adding to basket via file
Jonathan Druart [Wed, 12 Feb 2020 15:22:02 +0000 (16:22 +0100)]
Bug 24469: Record biblionumber in import_biblio when adding to basket via file

The column import_biblios.matched_biblionumber was not populated when an
order is created from a staged file.

Test plan:
A/ Create a new order from a stage file.
Use the "Save" button at the bottom of the "Add orders from" page
Then note the matched_biblionumber value. It should be populated correctly

B/ Import again the same record, this time you will have to use the "Add
order" link in the list of order (ie. not the "Save" button)
Note the matched_biblionumber value. It should be populated correctly

Signed-off-by: Andrew Fuerste-Henry <andrew@bywatersolutions.com>
Signed-off-by: Sarah Daviau <sdaviau@arlingtonva.us>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 27719: Apply _escape_str and _escape_price where needed
Agustin Moyano [Wed, 17 Feb 2021 15:49:32 +0000 (12:49 -0300)]
Bug 27719: Apply _escape_str and _escape_price where needed

This bug replaces calls for .escapeHtml and format_price for there null
checking counterparts

To test:

1: have a fresh Koha Testing Docker
2: have a basket set to create item records on ordering
3: populate basket from a marc file, only setting price and fund for the items
4: close basket
5: click to Receive, create invoice
6: on parcel.pl, "Processing" alert never resolves
CHECK => The console shows:
parcel.pl?invoiceid=1:810 Uncaught TypeError: Cannot read property 'format_price' of null
    at render (parcel.pl?invoiceid=1:810)
    at datatables.min_20.1200012.js:57
    at Object.b.fnGetData (datatables.min_20.1200012.js:51)
    at B (datatables.min_20.1200012.js:56)
    at Ha (datatables.min_20.1200012.js:64)
    at P (datatables.min_20.1200012.js:68)
    at vb (datatables.min_20.1200012.js:79)
    at datatables.min_20.1200012.js:76
    at i (datatables.min_20.1200012.js:74)
    at Object.success (datatables.min_20.1200012.js:75)

And that error points toward:
                        "data": "replacement_price",
                        "render": function(data, type, row, meta) {
                            return (row.replacement_price).format_price();
                        },
                    },
7: apply patch
8: redo steps 5 and 6
SUCCESS => "Processing" alert doesn't hangs, and prices with null values
are empty.

Sponsored-by: Virginia Polytechnic Institute and State University
Signed-off-by: Andrew Fuerste-Henry <andrew@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 24108: DBRev 20.12.00.013
Jonathan Druart [Wed, 17 Feb 2021 15:28:41 +0000 (15:28 +0000)]
Bug 24108: DBRev 20.12.00.013

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 24108: Remove extra spaces
Jonathan Druart [Tue, 16 Feb 2021 11:17:29 +0000 (12:17 +0100)]
Bug 24108: Remove extra spaces

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 24108: (QA follow-up) Add staff detail page to syspref description
Katrin Fischer [Mon, 15 Feb 2021 21:48:04 +0000 (22:48 +0100)]
Bug 24108: (QA follow-up) Add staff detail page to syspref description

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 24108: (QA follow-up) Add missing comma in sysprefs.sql
Katrin Fischer [Mon, 15 Feb 2021 21:47:28 +0000 (22:47 +0100)]
Bug 24108: (QA follow-up) Add missing comma in sysprefs.sql

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 24108: Make export file names consistent
Nick Clemens [Mon, 11 Jan 2021 14:57:45 +0000 (14:57 +0000)]
Bug 24108: Make export file names consistent

This patch renames the systempreference to be a bit clearer and uses
explicit options rather than a yes/no

Additionally it standardizes the export from the advanced cataloging editor
with that from the details page

To test:
 1 - Apply patches
 2 - Update database and restart all the things
 3 - Open a record in the advanced editor and save it as marc and xml
 4 - Note the file name is 'bib-{biblionumber.{format}'
 5 - Edit the syspref 'DefaultSaveRecordFileID' to be control number
 6 - Repeate 3-4 on a record with and without a control number
 7 - If control number present fiule name should be 'record-{controlnumber}.{format}'
 8 - Otherwise it should be as above
 9 - Repeat tests from the details page of a record
10 - Repeat tests from the opac details page of a record

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>
3 years agoBug 24108: (QA follow-up) Adjust wording and use perl for update file
Nick Clemens [Mon, 11 Jan 2021 14:08:35 +0000 (14:08 +0000)]
Bug 24108: (QA follow-up) Adjust wording and use perl for update file

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>
3 years agoBug 24108: (follow-up) Fix typo with .xml extension
John Doe [Tue, 1 Dec 2020 18:45:50 +0000 (18:45 +0000)]
Bug 24108: (follow-up) Fix typo with .xml extension

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
JD amended patch:
* Fix author's patch

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 24108: Advanced editor: configure if biblionumber or control number is used for...
Cori Lynn Arnold [Tue, 1 Dec 2020 18:16:23 +0000 (18:16 +0000)]
Bug 24108: Advanced editor: configure if biblionumber or control number is used for saved files

Creates a new system preference "SaveRecordbyControlNumber" (renamed in
follow-up patch with "DefaultSaveRecordFileID") which is
initially set to 0 (off/no). By default saving .mrc (and .xml) will be
saved by the biblionumber. If the record does not yet have a biblionumber,
the record will be saved as record.mrc or record.xml

Test plan:
1)  Apply the patch, flush_memcached and restart_all
2)  Enable the "EnableAdvancedCatalogingEditor" system preference
4)  Save the record using the drop down box selecting "Save as MARC (.mrc)
    file.
5)  Note that the file saved is the same as the biblionumber at the top of
    the Advanced Editor interface.
6)  Repeat steps 3-5 for the .xml save option
7)  Update the new system preference "SaveRecordbyControlNumber" and
    change to "Save by ControlNumber"
8)  Verify that there is not a 001 field in the record (delete it if
     there is)
9)  Repeat steps 3-5 for both .mrc and .xml options (the file should still
    be saved as the biblionumber if there is no control field)
10) Add a 001 field to the record such as "001  abc00012345"
11) Repeat step 4 for both .mrc and .xml and verify that the files
    saved are named abc00012345.mrc and abc00012345.xml
12) Sign off!

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
JD amended patch:
* Remove change to obsolete sysprefs.sql
* Fix author's patch
* Update commit message to tell the syspref has been renamed

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 26274: (QA follow-up) Fix the order of summary groups
Martin Renvoize [Wed, 17 Feb 2021 15:00:15 +0000 (15:00 +0000)]
Bug 26274: (QA follow-up) Fix the order of summary groups

The grouped income/outgoing summaries were not being explicitly
ordered and it appears the default ordering for MySQL 8 is different to
that of MariaDB and previous versions of MySQL and as such was causing
test failures for that version. This patch adds an explicit sort on the
'description' for each debit_type and credit_type grouping.

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 27673: Fix t/Context.t
Jonathan Druart [Wed, 17 Feb 2021 08:20:59 +0000 (09:20 +0100)]
Bug 27673: Fix t/Context.t

YAML::XS is not failing on that string, it generates
  'uno - dos' => "asd"

This new string is not YAML valid because of
"found a tab character that violate intendation"

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 27673: (follow-up) Fix encoding issues - Dump
Jonathan Druart [Fri, 12 Feb 2021 14:37:22 +0000 (15:37 +0100)]
Bug 27673: (follow-up) Fix encoding issues - Dump

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 27673: (QA follow-up) Remove unused YAML::XS import
Joonas Kylmälä [Thu, 11 Feb 2021 14:49:18 +0000 (14:49 +0000)]
Bug 27673: (QA follow-up) Remove unused YAML::XS import

The last use of this module was removed in commit
"Bug 27673: Fix encoding issues - Dump".

Signed-off-by: Joonas Kylmälä <joonas.kylmala@helsinki.fi>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 27673: Fix encoding issues - Dump
Jonathan Druart [Thu, 11 Feb 2021 09:52:44 +0000 (10:52 +0100)]
Bug 27673: Fix encoding issues - Dump

Same as Load, but for Dump.

Test plan:
Edit ES mappings, replace withdrawn's label with "withdrawn ✔️ ❤️ ★"
Export the mappings
  perl misc/search_tools/export_elasticsearch_mappings.pl > admin/searchengine/elasticsearch/mappings.yaml
Reset mappings from the UI
=> Notice that the label is correct

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Joonas Kylmälä <joonas.kylmala@helsinki.fi>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 27673: Rename C4::Circulation decode to _decode
Jonathan Druart [Thu, 11 Feb 2021 09:44:04 +0000 (10:44 +0100)]
Bug 27673: Rename C4::Circulation decode to _decode

To prevent conflict with Encode::encode

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Joonas Kylmälä <joonas.kylmala@helsinki.fi>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 27673: Fix encoding issues
Jonathan Druart [Thu, 11 Feb 2021 09:37:13 +0000 (10:37 +0100)]
Bug 27673: Fix encoding issues

There is a difference between YAML::Load and YAML::XS::Load
From YAML::XS pod:
"YAML::XS only deals with streams of utf8 octets"

Test plan:
We are going to test 1 occurence and QA will confirm others don't
contain typos.
0. Don't apply the patches
1. Create a new itemtype with code=❤️
2. Create a new item using this itemtype (to biblionumber=1 will work)
3. Fill OpacHiddenItems with
 itype: [❤️]
4. Search for "street shuffle" or any terms that will return the biblio
Notice that the item is there (there is an error in logs)
5. Apply the patches
6. Repeat 4 and confirm that the item is now hidden

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Joonas Kylmälä <joonas.kylmala@helsinki.fi>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 27673: Replace YAML with YAML::XS
Jonathan Druart [Wed, 10 Feb 2021 14:28:10 +0000 (15:28 +0100)]
Bug 27673: Replace YAML with YAML::XS

From tht YAML pod:

"""
This module has been released to CPAN as YAML::Old, and soon YAML.pm will be changed to just be a frontend interface module for all the various Perl YAML implementation modules, including YAML::Old.

If you want robust and fast YAML processing using the normal Dump/Load API, please consider switching to YAML::XS. It is by far the best Perl module for YAML at this time. It requires that you have a C compiler, since it is written in C.
"""

See also
https://gitlab.com/koha-community/qa-test-tools/-/merge_requests/35

Test plan:
Try some place where YAML::XS is not used and confirm that it works
correctly

QA note: This patch removes some uses of YAML that were not useful

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Joonas Kylmälä <joonas.kylmala@helsinki.fi>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 27707: (bug 26639 follow-up) Fix renewals when RenewalSendNotice is set
Jonathan Druart [Tue, 16 Feb 2021 08:06:03 +0000 (09:06 +0100)]
Bug 27707: (bug 26639 follow-up) Fix renewals when RenewalSendNotice is set

Since bug 26639 we have auto savepoint enabled and the LOCK TABLE query
in C4::Circulation::SendCirculationAlert is not correctly handled.
From the MySQL doc that is copied few lines before, "LOCK TABLE will
commit any transactions", but here we don't have a savepoint and the
release for a non-existent savepoint will throw a DBI exception.

This patch removes the unecessary transaction and prevent the following
error when a renewal is done:
> DBIx::Class::Storage::DBI::mysql::_exec_svp_release(): DBI Exception: DBD::mysql::db do failed: SAVEPOINT savepoint_0 does not exist [for Statement "RELEASE SAVEPOINT savepoint_0"] at /usr/share/koha/lib/C4/Circulation.pm line 3590

Test plan:
1. Enable RenewalSendNotice
2. Add some email address to patron and select the email box from the message preference "Item checkout and renewal" in order to receive renewal emails.
3. Check 1 item out to a patron
4. Renew it

Signed-off-by: Andrew Nugged <nugged@gmail.com>
Signed-off-by: Joonas Kylmälä <joonas.kylmala@helsinki.fi>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 27569: Fix ODS export - take empty string into account
Jonathan Druart [Mon, 1 Feb 2021 14:57:24 +0000 (15:57 +0100)]
Bug 27569: Fix ODS export - take empty string into account

If a cell contains an empty string it was not taken into account.

Test plan:
Same as CSV but with ODS

Signed-off-by: Ron Houk <rhouk@ottumwapubliclibrary.org>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 27569: Change av for 100$2
Jonathan Druart [Mon, 1 Feb 2021 14:56:08 +0000 (15:56 +0100)]
Bug 27569: Change av for 100$2

Switch from "#" to ""

Signed-off-by: Ron Houk <rhouk@ottumwapubliclibrary.org>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 27569: Add tests for ODS export
Jonathan Druart [Mon, 1 Feb 2021 14:27:53 +0000 (15:27 +0100)]
Bug 27569: Add tests for ODS export

Looks ok so far

Signed-off-by: Ron Houk <rhouk@ottumwapubliclibrary.org>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 27569: Fix CSV export for biblio frameworks
Jonathan Druart [Mon, 1 Feb 2021 13:50:52 +0000 (14:50 +0100)]
Bug 27569: Fix CSV export for biblio frameworks

The CSV import of the biblio frameworks is broken.
A change in LibreOffice resulted in CSV not formatted how the
C4::ImportExportFramework code is expected.
This code is quite broken, it expects all the CSV cells to be quoted.

The "add tests" patch shows the different between what we expected
before this patch, and what is the new version generated by LibreOffice.

Test plan:
Export a biblio framework in CSV
Open it with LibreOffice and save it undef a different name
Create a new biblio framework and use the new file to construct it
Compare the 2 frameworks and make sure they are identical

Signed-off-by: Ron Houk <rhouk@ottumwapubliclibrary.org>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 27569: Add tests
Jonathan Druart [Mon, 1 Feb 2021 13:54:15 +0000 (14:54 +0100)]
Bug 27569: Add tests

Signed-off-by: Ron Houk <rhouk@ottumwapubliclibrary.org>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 27569: Don't hide errors!
Jonathan Druart [Mon, 1 Feb 2021 14:27:19 +0000 (15:27 +0100)]
Bug 27569: Don't hide errors!

Signed-off-by: Ron Houk <rhouk@ottumwapubliclibrary.org>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 27569: Remove non mysql code
Jonathan Druart [Mon, 1 Feb 2021 14:59:37 +0000 (15:59 +0100)]
Bug 27569: Remove non mysql code

Remove a bit of the confusion by removing unless code (not related to
mysql)

Signed-off-by: Ron Houk <rhouk@ottumwapubliclibrary.org>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 27706: (bug 24488 follow-up) Fix libraries column filter
Jonathan Druart [Mon, 15 Feb 2021 09:34:15 +0000 (10:34 +0100)]
Bug 27706: (bug 24488 follow-up) Fix libraries column filter

From commit 2285c2d65752dcc899d3fdcff634e6927a1cbbf0
     Bug 24488: Show correct first patron details on Holds to pull

               $('select', this).change( function () {
-                  var filter_value = $(this).val();
-                  holdst.fnFilter( filter_value, 5, true );
+                  holdst.fnFilter( $(this).child().val(), 5 );
               });

This does not make sense, we need to filter on $(this).val(), it's a
select element.

Test plan:
Place some holds
Hit the pending holds page
Use the "libraries" column filter and confirm that it works correctly

Signed-off-by: Andrew Nugged <nugged@gmail.com>
Signed-off-by: Joonas Kylmälä <joonas.kylmala@helsinki.fi>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 27380: Add missing use statement
Jonathan Druart [Tue, 16 Feb 2021 09:15:38 +0000 (10:15 +0100)]
Bug 27380: Add missing use statement

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 27604: Deal with empty pref
Jonathan Druart [Tue, 16 Feb 2021 08:30:20 +0000 (09:30 +0100)]
Bug 27604: Deal with empty pref

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 27598: DBRev 20.12.00.012
Jonathan Druart [Mon, 15 Feb 2021 11:01:46 +0000 (11:01 +0000)]
Bug 27598: DBRev 20.12.00.012

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 27598: (QA follow-up) Add category description and installer data
Owen Leonard [Mon, 8 Feb 2021 14:10:19 +0000 (14:10 +0000)]
Bug 27598: (QA follow-up) Add category description and installer data

This follow-up makes two additions:

- The UPLOAD category is added to auth_val_cat.sql for new
  installations.
- A description of the category is added to the authorized values
  template.

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 27598: Add UPLOAD as a built-in system authorized value category
Owen Leonard [Tue, 2 Feb 2021 16:42:03 +0000 (16:42 +0000)]
Bug 27598: Add UPLOAD as a built-in system authorized value category

This patch updates the database so that it includes an "UPLOAD"
authorized value category with the "is_system" flag set to 1.

The upload tool template is updated to add a link to the authorized
value category from the hint which appears if no authorized values exist
in the UPLOAD category.

To test, apply the patch and run the database update.

- If you have manually added an UPLOAD category it should now be
  classified as a system category.
- If you did not have an UPLOAD category it should have been created for
  you.
- With no authorized values in the UPLOAD category, go to Tools ->
  Upload.
  - Logged in as a user with permission to manage authorized values you
    should see a note, "No upload categories are defined..." It should
    contain a link directly to the UPLOAD category of authorized values.
  - Logged in as a user without authorized value permission you should
    see a similar note without the link.
- Add an authorized value in the UPLOAD category and confirm that the
  note disappears.

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>
3 years agoBug 18146: (follow-up) Remove warn for uninitialized value
Nick Clemens [Fri, 29 Jan 2021 15:24:20 +0000 (15:24 +0000)]
Bug 18146: (follow-up) Remove warn for uninitialized value

In the previous patch you may have noticed many warns when running the tests

We add guarantor charges to a variable to determine if over the limit, but we don't initialize that value

We should

To test:
1 - Apply first patch and follow test plan
2 - Note warns when proving test
3 - Apply this patch
4 - prove
5 - No more warns

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>
3 years agoBug 18146: Fix tests for OverduesBlockRenewing
Nick Clemens [Fri, 29 Jan 2021 15:19:26 +0000 (15:19 +0000)]
Bug 18146: Fix tests for OverduesBlockRenewing

This pref was supposedly covered by tests, but the conditions were wrong
and we didn't test the reasons we were failing so the code was being missed

To test:
1 - Add a warn around in the conditional at line 2748:
} elsif ( ($hasoverdues and $overduesblockrenewing eq 'block') || ($itemissue->{overdue} and $overduesblockrenewing eq 'blockitem') ) {
     warn "SUCCESS!"
     return ( 0, 'overdue');
}
2 - prove -v t/db_dependent/Circulation.t | grep SUCCESS
3 - No output
4 - Apply patch
5 - Repeat
6 - SUCCESS!

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>
3 years agoBug 12966: Add edition field to Card view
Nick Clemens [Fri, 29 Jan 2021 12:39:21 +0000 (12:39 +0000)]
Bug 12966: Add edition field to Card view

To test:
1 - Search Z3950 to add a record
2 - Find a record with an edition statement
3 - It shows in the table of results
4 - Check the card view
5 - No edition
6 - Apply patch
7 - Repeat
8 - Edition shows in card view

Signed-off-by: Marjorie <marjorie.barry-vila@collecto.ca>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 8326: Add tooltips
Jonathan Druart [Mon, 8 Feb 2021 10:04:32 +0000 (11:04 +0100)]
Bug 8326: Add tooltips

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 8326: Add aria-disabled to li's
Jonathan Druart [Mon, 8 Feb 2021 10:03:17 +0000 (11:03 +0100)]
Bug 8326: Add aria-disabled to li's

To have the same display of "Editable in OPAC"

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 8326: Make repeatable and unique_id modifiable when editing patron attribute...
Jonathan Druart [Thu, 7 May 2020 13:36:24 +0000 (15:36 +0200)]
Bug 8326: Make repeatable and unique_id modifiable when editing patron attribute type

This patch add the ability to modify the attribute "repeatable" and
"unique_id" for a patron's attribute type.
Prior to this patch it was not possible, to keep data integrity.

When editing an attr type, the controller will check is the value can be
modified, depending on the existing patron's attributes.

Test plan:
0/ Setup
Create 1 patron attribute PA1 that can be repeatable
Create 1 patron attribute PA2 that does not have the unique restriction
Create 1 patron attribute PA3 that cannot be repeatable and does not
have the unique restriction

1/
Edit them and confirm that you can modify the repeatable and unique
restrictions

2/ Restore values from 0.
Create a patron P1 with several PA1, PA2=42 and whatever in PA3

3/ Edit PA1 => you cannot remove the repeatable flag but can still
remove the unique

4/ Create a patron P2 with PA2=42

5/ Edit PA2 => you cannot add the unique flag

Play a bit more with the different combinaisons and confirm that it
works as advertised.

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>
3 years agoBug 8287: Improve "show checked out items" filter on the overdues report
Jonathan Druart [Wed, 16 Dec 2020 14:28:50 +0000 (15:28 +0100)]
Bug 8287: Improve "show checked out items" filter on the overdues report

The "Show any items currently checked out" was confusing, especially if
the "From" and "To" due date filters were passed.

This patch moves the checkbox close to the 2 other filters and show/hide
the due date filters when needed.

Test plan:
0. Have some overdue
1. Search for overdues
2. Confirm that the filters are shown/hidden depending on the status of
the checkbox
3. Fill "To" with a date, tick the checkbox, submit the form
=> Confirm that the date was not taken into account

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 27653: Use div instead of caption for controls
Owen Leonard [Tue, 9 Feb 2021 19:31:33 +0000 (19:31 +0000)]
Bug 27653: Use div instead of caption for controls

The funds and acquisitions home page tables use captions for additional
table controls. These are more appropriate as "toolbar" divs.

This patch converts the <caption> to <div class="toolbar btn-toolbar">
and moves it just above <table> in the markup to keep it valid.

To test:
1 - View the tables on acquisitions home and budgets views
2 - Note the 'Expand all...' control row
3 - Apply patch
4 - The row remains, but is below the table controls
5 - The row is not included when printing or copying the table

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>
3 years agoBug 27646: Allow export of Acquisition home and Funds tables
Nick Clemens [Fri, 5 Feb 2021 19:38:03 +0000 (19:38 +0000)]
Bug 27646: Allow export of Acquisition home and Funds tables

This patch swtiches these tables ot use KohaTables with exporting enabled

To test:
1 - Apply patch
2 - Confirm acquisitions home and funds tables display correctly
3 - Confirm you can export the tables

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>
3 years agoBug 26406: Fix suggestions filter at the OPAC
Jonathan Druart [Tue, 8 Sep 2020 13:21:24 +0000 (15:21 +0200)]
Bug 26406: Fix suggestions filter at the OPAC

There is an input filter but it does nothing

Test plan:
You need 2 differents users, U1 and U2
Create several (at least one) suggestions for each of them
Test the following with and without OPACViewOthersSuggestions:
With U1 logged in, go to the suggestions tab and use the input to filter
the suggestions.
It should work correctly.
Also play with the "Suggested by" options

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>
3 years agoBug 27669: Fix 'importing' and 'reverting' statuses when importing/reverting a batch
Jonathan Druart [Wed, 10 Feb 2021 10:30:45 +0000 (11:30 +0100)]
Bug 27669: Fix 'importing' and 'reverting' statuses when importing/reverting a batch

SetImportBatchStatus is not called with $batch_id

It has been caught by bug 25026, and www/search_utf8.t fails with
t/db_dependent/www/search_utf8.t .. 14/87 Error POSTing http://koha:8081/cgi-bin/koha/tools/manage-marc-import.pl: Internal Server Error at t/db_dependent/www/search_utf8.t line 240.

And, from logs:

manage-marc-import.pl: C4::ImportBatch::SetImportBatchStatus(): DBI Exception: DBD::mysql::st execute failed: Truncated incorrect DOUBLE value: 'importing' [for Statement "UPDATE import_batches SET import_status = ? WHERE import_batch_id = ?" with ParamValues: 0=undef, 1='importing'] at /kohadevbox/koh
a/C4/ImportBatch.pm line 579: /kohadevbox/koha/tools/manage-marc-import.pl, referer: http://koha:8081/cgi-bin/koha/tools/manage-marc-import.pl?import_batch_id=2

Test plan:
Read the changes and confirm it does make sense.
Import and revert a batch

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 27380: FIX Reports/Guided.t
Jonathan Druart [Fri, 12 Feb 2021 13:31:01 +0000 (14:31 +0100)]
Bug 27380: FIX Reports/Guided.t

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 27068: Perltidy _checkHoldPolicy
Jonathan Druart [Fri, 12 Feb 2021 11:11:54 +0000 (12:11 +0100)]
Bug 27068: Perltidy _checkHoldPolicy

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 27068: Don't 'cache' Koha::Libraries
Jonathan Druart [Fri, 12 Feb 2021 11:10:31 +0000 (12:10 +0100)]
Bug 27068: Don't 'cache' Koha::Libraries

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 27068: Add unit tests
Kyle M Hall [Fri, 29 Jan 2021 12:48:21 +0000 (07:48 -0500)]
Bug 27068: Add unit tests

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 27068: Fetch libraries once for speed
Kyle M Hall [Thu, 3 Dec 2020 11:48:13 +0000 (06:48 -0500)]
Bug 27068: Fetch libraries once for speed

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>
3 years agoBug 27068: Fix errors in _checkHoldPolicy
Kyle M Hall [Thu, 3 Dec 2020 11:34:33 +0000 (06:34 -0500)]
Bug 27068: Fix errors in _checkHoldPolicy

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>
3 years agoBug 27068: Control hold group logic in HoldsQueue
Agustin Moyano [Wed, 2 Dec 2020 23:04:51 +0000 (20:04 -0300)]
Bug 27068: Control hold group logic in HoldsQueue

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>
3 years agoBug 26274: (QA follow-up) Minor fixes
Tomas Cohen Arazi [Thu, 4 Feb 2021 13:56:15 +0000 (10:56 -0300)]
Bug 26274: (QA follow-up) Minor fixes

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 26274: Update register.tt to use the API
Martin Renvoize [Thu, 28 Jan 2021 17:20:29 +0000 (17:20 +0000)]
Bug 26274: Update register.tt to use the API

This patch updates the existing register details page to utilise the new
api routes to gather the summary details on demand.

Test plan
1/ Enable cash registers
2/ Add some transactions
3/ Perform a cashup
4/ Click 'Summary' next to the last cashup date
5/ Note the modal appears as it did prior to the patch being applied.
6/ Check the print option still works
7/ Signoff

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 26274: Add cashups api routes
Martin Renvoize [Wed, 19 Aug 2020 07:34:35 +0000 (08:34 +0100)]
Bug 26274: Add cashups api routes

This patch creates a Koha::Cash::Register::Cashup(s) class pair which
subclass Koha::Cash::Register::Action(s) and moves the cashup specific
code into these new classes to improve code separation.

We then introduce API routes based on these classes to allow fetching
a list of cashups associated to a cash register and a full cashup with
emeddable summary for individual cashups.

Test plan
1/ Run the updated unit tests.
   t/db_dependent/Koha/Cash/Register/Action.t
   t/db_dependent/Koha/Cash/Register/Cashup.t
2/ Run the incuded api tests.
   t/db_dependent/api/v1/cashups.t

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 26958: Move Elasticsearch mapping template JS to the footer
Owen Leonard [Fri, 6 Nov 2020 16:18:07 +0000 (16:18 +0000)]
Bug 26958: Move Elasticsearch mapping template JS to the footer

This patch moves inclusion of JavaScript to the footer of the
Elasticsearch mapping template. It also moves the JS into a separate
file.

To test you should have SearchEngine system preference set to
"Elasticsearch."

 - Apply the patch and go to Administration -> Search engine
   configuration (Elasticsearch).
 - Confirm that JavaScript dependent interactions work correctly:
   - Tabs
   - Under the bibliographic records and authorities tabs, table row
     drag-and-drop
   - Under the bibliographic records and authorities tabs, test the
     "Add" line at the bottom of the table.
   - Under the bibliographic records and authorities tabs, test the
     "Delete" button.

Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 27380: (follow-up) Remove earlier declaration and unused assignment
Nick Clemens [Mon, 1 Feb 2021 14:54:48 +0000 (14:54 +0000)]
Bug 27380: (follow-up) Remove earlier declaration and unused assignment

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 27380: Move get_prepped_report to object and use for svc/reports
Nick Clemens [Mon, 11 Jan 2021 20:07:39 +0000 (20:07 +0000)]
Bug 27380: Move get_prepped_report to object and use for svc/reports

This patch moves get_prepped_report to Koha:Report->prep_report
and adds some basic tests

To test:
1 - Using the report created in last test, hit the report svc api like:
http://localhost:8081/cgi-bin/koha/svc/report?id=6&param_name=One&sql_params=One&param_name=Listy|list&sql_params=2345%0D%0A423%0D%0A3%0D%0A2%0D%0A12
2 - Note the use of %0D%0A to separate list params
3 - Test with combinations with and without param_name specified
http://localhost:8081/cgi-bin/koha/svc/report?id=6&sql_params=5&sql_params=2345%0D%0A423%0D%0A3%0D%0A2%0D%0A12

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
JD Amended patch: Perltidy prep_report

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 27380: Add 'list' option to Koha report parameters
Nick Clemens [Mon, 11 Jan 2021 17:13:38 +0000 (17:13 +0000)]
Bug 27380: Add 'list' option to Koha report parameters

TODO: Need to address the svc endpoints

To test:
1 - Create a 'New SQL report' like:
    SELECT * FROM items WHERE itemnumber IN <<Itemnumbers|list>>
2 - Run the report
3 - You should have a text area where you can enter various itemnumbers
4 - Enter some valid and invalid itemnumbers
5 - You get the info for the valid itemnumbers, no error for the others
6 - Test adding other params to the report and ensure things still work as expected

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 27654: Sort module.keys hash when render columns_settings.tt
Petro Vashchuk [Mon, 8 Feb 2021 14:04:48 +0000 (16:04 +0200)]
Bug 27654: Sort module.keys hash when render columns_settings.tt

On the "Administration -> Table settings" page, the order of
"tables related to pages" sections is different with each page refresh.
Cause of that is that Perl gives random order for hash keys where
those elements are stored on template render. To avoid that we
add a "sort" method where getting keys similarly how it was done
previously to display tables always in the same order.

To reproduce:
    1) Head over to /cgi-bin/koha/admin/columns_settings.pl
    2) Open any collapsed module settings, for example
"Acquisition tables". Check the order of pages.
    3) Reload the page. Check the order of the same elements again.
They always come in random order, it's easily distinguishable.
    4) Apply the patch.
    5) Repeat steps 1-3 again and ensure that the order of pages
stays the same no matter how many times you reload the page.

Signed-off-by: Barbara Johnson <barbara.johnson@bedfordtx.gov>
Signed-off-by: Joonas Kylmälä <joonas.kylmala@helsinki.fi>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 27645: Prevent "is on hold" warning to be displayed twice
Jonathan Druart [Tue, 9 Feb 2021 15:01:59 +0000 (16:01 +0100)]
Bug 27645: Prevent "is on hold" warning to be displayed twice

During a batch checkout we display the "item is on hold" message
depending on different conditions.
However it can happen the message is displayed twice.

If the checkout is not impossible then we see:
This item is on hold for another patron.
This item is on hold for another patron. The hold will be overridden, but not cancelled.

We should only display the second one.

Test plan:
With a default ktd setup you can simply place an item on hold and use the
batch checkout tool to check it out

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: Julian Maurice <julian.maurice@biblibre.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 26181: Disable override by default in /holds
Tomas Cohen Arazi [Mon, 10 Aug 2020 20:30:25 +0000 (17:30 -0300)]
Bug 26181: Disable override by default in /holds

This patch disables AllowHoldPolicyOverride by default in /holds. It
also adds a header that can be used to request the override explicitly.

Tests are added for this behaviour

To test:
1. Apply the regression tests patch
2. Run:
   $ kshell
  k$ prove t/db_dependent/api/v1/holds.t
=> FAIL: Tests fail because the behaviour is not implemented
3. Apply this patch
4. Repeat 2
=> SUCCESS: Tests pass!
5. Sign off :-D

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 26181: Regression tests
Tomas Cohen Arazi [Mon, 10 Aug 2020 20:30:13 +0000 (17:30 -0300)]
Bug 26181: Regression tests

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 23767: Total children only if parents not visible
Nick Clemens [Wed, 3 Feb 2021 14:48:37 +0000 (14:48 +0000)]
Bug 23767: Total children only if parents not visible

This patch changes the way to calculate the footer. It adds the budget and parent ids to the cell
as custom data elements. When totaling we grab a list of all the rows we are showing - if a
row has a parent and the parent is showing then we skip adding its value to the total.

As the function is used on both acqui-home and aqbudgets I adjusted both templates

To test:
1 - Follow the test plan on previous patch
2 - Try filtering the table so you see only the child funds
3 - Confirm the totals show the child alone when it is visible
4 - Confirm the child total is excluded when the parent is visible

Signed-off-by: Andrew Fuerste-Henry <andrew@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 23767: Include child funds in total spent and ordered on acqui-home
Nick Clemens [Mon, 7 Oct 2019 17:19:27 +0000 (17:19 +0000)]
Bug 23767: Include child funds in total spent and ordered on acqui-home

To test:
 1 - Have three funds, two parents and one child
 2 - Open a basket and add an order to each fund
 3 - View acqui-home.pl
 4 - Note that ordered values are only added from the two parent funds
 5 - Complete these orders (close basket, receive)
 6 - Note the spent only includes parent funds
 7 - Place three more orders, one from each fund
 8 - Now you can see both spent and ordered are incorrect
 9 - Apply patch
10 - Reload, all should add correctly

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Séverine QUEUNE <severine.queune@bulac.fr>
Signed-off-by: Andrew Fuerste-Henry <andrew@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 26059: Add unit tests
Kyle M Hall [Wed, 19 Aug 2020 14:30:29 +0000 (10:30 -0400)]
Bug 26059: Add unit tests

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 26059: Create guarantor/guarantee links on patron import
Kyle M Hall [Fri, 24 Jul 2020 16:18:44 +0000 (12:18 -0400)]
Bug 26059: Create guarantor/guarantee links on patron import

The change to allow multiple guarantors was meant to maintain the
ability to import patrons with a Koha patron guarantor, but is not
working as intended.

A) Adding the guarantor simply doesn't work
B) We have two columns named 'relationship', one for the borrowers
table, and one for the guarantor relationships table. This clearly
doesn't work and will cause confusion. The one for the guarantor
relationships table should be renamed.
C) guarantor_firstname and guarantor_surname in the CSV file do nothing
and should be removed.

This patch also fixes a minor issue that causes warnings like:
CGI::param called in list context from
/kohadevbox/koha/tools/import_borrowers.pl line 124

Test Plan:
1) Create a CSV with contents like:
cardnumber,surname,firstname,branchcode,categorycode,guarantor_relationship,guarantor_id
bloop,gloop,froop,MPL,J,father,48
brim,flim,zim,MPL,J,father,48
2) Attempt to upload this file, ensure you have a borrowernumber 48 that
can have guarantors
3) Note the accounts are not linked
4) Apply this patch
5) Restart all the things!
6) Upload the file again
7) The patrons should now be linked!
8) Download the starter CSV file
9) Note the second relationship column is now guarantor_relationship
10) Note the columns guarantor_firstname and guarantor_surname are no longer present

Signed-off-by: Amit Gupta <amit.gupta@informaticsglobal.com>
Signed-off-by: Marti Fuerst <mfuerst@hmcpl.org>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 27671: Use Koha.Preference for UniqueItemFields
Jonathan Druart [Thu, 11 Feb 2021 15:39:19 +0000 (16:39 +0100)]
Bug 27671: Use Koha.Preference for UniqueItemFields

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 27671: Restore missing include in orderreceive.tt
Tomas Cohen Arazi [Wed, 10 Feb 2021 14:04:42 +0000 (11:04 -0300)]
Bug 27671: Restore missing include in orderreceive.tt

Caused by
  commit 15e35f77fb29137a5421ff79a1186087508aa68f
  Bug 23376: Move AcqCreateItem logic to template

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 27676: Correct finesMode ne off condition
Jonathan Druart [Thu, 11 Feb 2021 10:21:43 +0000 (11:21 +0100)]
Bug 27676: Correct finesMode ne off condition

finesMode is 'off' by default (sysprefs.sql), but if you modify its value from
the UI and set it to 'production' then back to 'off', the DB value becomes an
empty string '', because of $YAML::Syck::ImplicitTyping

This has been found when working on on removing YAML::Syck (bug 22824),
so it's not perfect but the situation will be cleared in the follow-up
bug report.

Test plan:
0. Don't apply the patch
1. reset_all
=> finesMode eq 'off' in DB
2. Set the pref's value to production
3. Switch it back to 'off'
4. Value is '' in DB
5. Check an item in that should generate overdue charges
=> Charges are not generated
6. Apply the patch
7. Check an item in that should generate overdue charges
=> Charges are generated

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 25026: Use HandleError to not raise or print error
Jonathan Druart [Thu, 3 Dec 2020 09:46:31 +0000 (10:46 +0100)]
Bug 25026: Use HandleError to not raise or print error

DBIC has its own HandleError, and so it does not work to unset
RaiseError or PrintError if unsafe is not set (what we don't want here).

The idea of this patch is to overwrite the HandleError when we need it:
Either if KOHA_DB_DO_NOT_RAISE_OR_PRINT_ERROR is set (misc4dev)
Or if the installer is triggered (we don't want to explode if the DB
does not exist).

There is an additional trick, when the installer is completed, we want
to restore the original behaviour, and so a disconnect is made.
Note that during the installer we want to display eventual SQL errors,
that's why we still display the errors.

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 25026: Turn on RaiseError
Jonathan Druart [Mon, 30 Nov 2020 14:30:45 +0000 (15:30 +0100)]
Bug 25026: Turn on RaiseError

This is a follow-up for bug 22001.

The patch "Bug 22001: Set unsafe only if RaiseError is not set" proved that
unsafe => 1 and RaiseError => 0 was wrong.
We should move forward and turn RaiseError for the UI, and... see what's happening.
The change goes to the right direction, but we need to know how big is the task
to have a stable release with these parameters correctly set.

We will have a lot of fun once this patch is pushed! :)

Test plan:
0. Does not apply the patch
1. Add, somewhere in mainpage.pl
  C4::Acquisition::NewBasket();
2. restart_all
3. Hit the mainpage
=> Hum... nothing happens! However there is an error in the logs
 DBI Exception: DBD::mysql::db do failed: Column 'booksellerid' cannot be null
No basket has been created!
4. Apply the patch, restart_all
5. Hit the mainpage
=> Here we go, there was something wrong and the user is aware of that!

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>
3 years agoBug 18506: DBRev 20.12.00.011
Jonathan Druart [Tue, 9 Feb 2021 08:44:00 +0000 (08:44 +0000)]
Bug 18506: DBRev 20.12.00.011

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 18506: (QA follow-up) Indentation and more conditionals
Nick Clemens [Wed, 3 Feb 2021 15:48:29 +0000 (15:48 +0000)]
Bug 18506: (QA follow-up) Indentation and more conditionals

Indentation fixes for readability

Cleaned up a few places where the ability to login otherwise was leakign through

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
JD amended patch: Remove trailing spaces

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 18506: (QA follow-up) opacShibOnly -> OPACShibOnly
Martin Renvoize [Wed, 3 Feb 2021 12:45:45 +0000 (12:45 +0000)]
Bug 18506: (QA follow-up) opacShibOnly -> OPACShibOnly

As requested

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 18506: Add xShibOnly preference for Shibboleth authentication
Martin Renvoize [Wed, 26 Apr 2017 11:39:15 +0000 (12:39 +0100)]
Bug 18506: Add xShibOnly preference for Shibboleth authentication

This patch adds two system preferences to Koha, opacShibOnly and
staffShibOnly, allowing users to restrict authentication to just
one method, Shibboleth.

We do however, allow for local fallback for the SCO/SCI logins.

A system preference was chosen over a configuration file update to
allow for local override at the virtualhost level. In this way a
hosting provider can setup a 'backdoor opac' for example to allow
fallback to local logins for support operations.

Signed-off-by: Matthias Meusburger <matthias.meusburger@biblibre.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 27605: Compiled CSS
Jonathan Druart [Tue, 9 Feb 2021 08:43:45 +0000 (09:43 +0100)]
Bug 27605: Compiled CSS

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 27605: (follow-up) Make the feature work with Bug 27403
Owen Leonard [Mon, 8 Feb 2021 21:47:59 +0000 (21:47 +0000)]
Bug 27605: (follow-up) Make the feature work with Bug 27403

This patch adds the "fh-fixedHeader" class to the floating toolbar so
that the floating DataTable header knows what element to append itself
to.

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 27605: Add floating toolbar to patron search page
Owen Leonard [Wed, 3 Feb 2021 15:39:26 +0000 (15:39 +0000)]
Bug 27605: Add floating toolbar to patron search page

This patch modifies the patron search results page so that the toolbar
with results-related controls "floats" when the user scrolls down. This
gives access to the controls for adding patrons to a list and for
merging patrons.

Other templates are modified to incorporate a change to the CSS which
changes "#searchheader" to ".searchheader," enabling multiple instances
of a <div> styled with the .searchheader class.

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

 - Go to Patrons in the staff interface.
 - Perform a patron search which will return many results.
 - Scroll down the page far enough to trigger the floating toolbar.
 - Confirm that the toolbar is positioned correctly when paging through
   results.
 - Confirm that the patron list and merge controls still work correctly.
 - Confirm that other pages which used the "#searchheader" id are still
   styled correctly:
   - Catalog search results
   - List contents
   - Patron list contents
   - Add orders from MARC file

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 27403: (follow-up) Make basket toolbar and table header work together
Owen Leonard [Tue, 19 Jan 2021 14:02:37 +0000 (14:02 +0000)]
Bug 27403: (follow-up) Make basket toolbar and table header work together

The fixed header option for DataTables does the same thing that the
hcSticky jQuery plugin does for us on toolbars, so I've gone through the
templates looking for places they might conflict.

On the acquisitions basket page we can add a special class,
"fh-fixedHeader," to the sticky toolbar to tell DataTables that the
table header should float *below* the toolbar.

To test, apply the patch and go to Acquisitions.

- Locate a vendor and a basket for that vendor with multiple orders.
- Adjust the browse window height if necessary to trigger vertical
  scrolling.
- Confirm that as you scroll down the toolbar (with buttons "Add to
  basket," "Edit basket," etc) sticks to the top of the browser window.
- Confirm that as you continue to scroll, the table header sticks below
  the floating toolbar.

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 27403: Disable fixedHeader on itemsearch
Jonathan Druart [Tue, 19 Jan 2021 15:20:32 +0000 (16:20 +0100)]
Bug 27403: Disable fixedHeader on itemsearch

It does not work.

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 27403: Add fixedHeader to Datatables
Jonathan Druart [Mon, 11 Jan 2021 15:33:43 +0000 (16:33 +0100)]
Bug 27403: Add fixedHeader to Datatables

That's a great plugin to have fixed header.

Test plan:
On the cities table or the patron search table confirm that the header
is floating is you scroll down

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 4037: Correctly join the itemtypes array
Jonathan Druart [Mon, 8 Feb 2021 15:07:48 +0000 (16:07 +0100)]
Bug 4037: Correctly join the itemtypes array

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 4037: Add item type filter to inventory tool
Aleisha Amohia [Sun, 17 Jan 2021 21:12:59 +0000 (10:12 +1300)]
Bug 4037: Add item type filter to inventory tool

This patch adds the ability to filter inventory by item type. Multiple
item types can be selected at once.

To test:
1) Apply patch and restart services.
2) Set up (at least) one item of a specific item type.
3) Go to Tools -> Inventory.
4) Scroll down to find the item types filter. Confirm the 'select all'
and 'clear all' buttons work as expected.
5) Select a few item types, but DO NOT include the item type that you
just set for your item. Confirm that your item does not show in the
results.
6) Go back to the Inventory tool. This time submit a search that DOES
include the item type you just set for your item. Confirm that your item
does show in the results.
7) Confirm tests pass:
prove t/db_dependent/Items/GetItemsForInventory.t

Sponsored-by: Bibliotheksservice-Zentrum Baden-Württemberg (BSZ)
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Christian Stelzenmüller <christian.stelzenmueller@bsz-bw.de>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 27655: Add barcode "columnname" to "column_settings.yml"
Petro Vashchuk [Mon, 8 Feb 2021 14:11:04 +0000 (16:11 +0200)]
Bug 27655: Add barcode "columnname" to "column_settings.yml"

Preferences of the "Holds to pull" table missing the "Barcode" column.
This patch appends that column name to the "column_settings.yml"
in correct order. This also led to checked out columns in this settings
page that were not those which were hidden when the table displayed
(i.e. columns were shifted).

To reproduce:
    1) Head over to /cgi-bin/koha/admin/columns_settings.pl
    2) Open the collapsed "Circulation" list, go to the "Holds" page
and find preferences of the "Holds to pull" table there.
    3) Check that the "Barcodes" column is missing from it.
    4) Mark the last few columns for not to be
displayed (for example, three) and save the preferences.
Remember the column names you checked out.
    5) Open the circulations section, then open "Holds to pull" report
when you have there some elements displayed, you should notice that
hidden columns shifted by one, as well if you press "gear" icon to
quickly enable/disable the columns, you will see those unchecked in
list last three will be not those you marked out.
    6) Apply the patch.
    7) Reload the "table settings" page, check that the "Barcodes"
column is present.
    8) Check that on the "Circulation -> Holds to Pull" page all
columns hidden accordingly and properly (as explained in step 5.

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 27154: Fix test if the cache is populated already
Jonathan Druart [Tue, 9 Feb 2021 08:20:40 +0000 (09:20 +0100)]
Bug 27154: Fix test if the cache is populated already

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 27587: Use Basic auth on API tests - stockrotationstage.t
Tomas Cohen Arazi [Tue, 2 Feb 2021 13:27:34 +0000 (10:27 -0300)]
Bug 27587: Use Basic auth on API tests - stockrotationstage.t

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>