koha.git
5 years agoBug 20942: Split debit and credit lines
Tomas Cohen Arazi [Mon, 25 Jun 2018 17:55:30 +0000 (14:55 -0300)]
Bug 20942: Split debit and credit lines

This patch splits the balance to match this object schema:

{
    balance             => #,
    outstanding_credits => {
        total => #,
        lines => [ credit_line_1, ..., credit_line_n ]
    },
    outstanding_debits  => {
        total => #,
        lines => [ debit_line_1, ..., debit_line_m ]
    }
}

This change is made to ease usage from the UI. Also because the
outstanding credits need to be applied to outstanding debits in order to
the balance value to make sense. So we still need to have each total.

Tests are added for this change, and the schema files are adjusted as
well.

To test:
- Apply this patch
- Run:
  $ kshell
 k$ prove t/db_dependent/api/v1/patrons_accounts.t
=> SUCCESS: Tests pass!
- Sign off :-D

staff_id is changed into user_id as voted on the dev meeting the RFC got
approved.

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Josef Moravec <josef.moravec@gmail.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 20942: Add route to get patron's account balance
Tomas Cohen Arazi [Wed, 13 Jun 2018 17:02:44 +0000 (14:02 -0300)]
Bug 20942: Add route to get patron's account balance

This patch implements the /patrons/{patron_id}/account endpoint. It can
be used to get the patron's balance information, including outstanding
lines.

To test:
- Apply this patchset
- Run:
  $ kshell
 k$ prove t/db_dependent/api/v1/patrons_accounts.t
=> SUCCESS: tests pass!
- Make your favourite REST testing tool (RESTer on Firefox?) do:
  GET /api/v1/patrons/{patron_id}/account
to a valid patron_id. Play with Koha's UI to add credits/payments and
notice the endpoint returns the right info following the voted RFC. [1]
- Sign off :-D

[1] https://wiki.koha-community.org/wiki/Patrons_account_lines_endpoint_RFC

Signed-off-by: Josef Moravec <josef.moravec@gmail.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 20942: Unit tests for /patrons/{patron_id}/account
Tomas Cohen Arazi [Wed, 13 Jun 2018 17:02:30 +0000 (14:02 -0300)]
Bug 20942: Unit tests for /patrons/{patron_id}/account

This patch adds tests for the /patrons/{patron_id}/account endpoint.
To test:

- Run:
  $ kshell
 k$ prove t/db_dependent/api/v1/patrons_accounts.t
=> FAIL: Tests should fail because the endpoint is not implemented.

Signed-off-by: Josef Moravec <josef.moravec@gmail.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 20942: OpenAPI spec for /patrons/{patron_id}/account
Tomas Cohen Arazi [Fri, 1 Jun 2018 19:04:35 +0000 (16:04 -0300)]
Bug 20942: OpenAPI spec for /patrons/{patron_id}/account

This patch adds the OpenAPI spec for the following paths:
- /patrons/{patron_id}/account

It also adds object definitions for:
- balance
- account line

Account line is to be used on both /account/lines (when implemented)
and for embeding the outstanding lines in the balance endpoint
(/patrons/{patron_id}/account).

Signed-off-by: Josef Moravec <josef.moravec@gmail.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 20287: (RM follow-up) Add POD
Nick Clemens [Wed, 18 Jul 2018 16:34:50 +0000 (16:34 +0000)]
Bug 20287: (RM follow-up) Add POD

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 20287: (follow-up) Test exception DuplicateID for Koha::Patron->store
Jonathan Druart [Thu, 12 Jul 2018 19:34:06 +0000 (16:34 -0300)]
Bug 20287: (follow-up) Test exception DuplicateID for Koha::Patron->store

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 20287: (QA follow-up) Fix warning on undefined
Tomas Cohen Arazi [Fri, 29 Jun 2018 13:54:52 +0000 (10:54 -0300)]
Bug 20287: (QA follow-up) Fix warning on undefined

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 20287: Test exception DuplicateID for Koha::Patron->store
Jonathan Druart [Mon, 25 Jun 2018 16:14:05 +0000 (13:14 -0300)]
Bug 20287: Test exception DuplicateID for Koha::Patron->store

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 20287: Use more simple object for Object.t
Jonathan Druart [Mon, 25 Jun 2018 15:53:19 +0000 (12:53 -0300)]
Bug 20287: Use more simple object for Object.t

We initially use Koha::Patron to test Object.t, but now it overwrites
->store and so it is better to use a more simple object.
ApiKey has foreign keys and unique key.
We lost one test: there is only one unique key whereas we had 2 on
borrowers (I did not find a better option)

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 20287: Fix tests expecting a warning
Tomas Cohen Arazi [Thu, 29 Mar 2018 16:34:25 +0000 (13:34 -0300)]
Bug 20287: Fix tests expecting a warning

The new Koha::Patron-based implementation encapsulates some error
conditions that raised warnings and the tests expected that warning.

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Josef Moravec <josef.moravec@gmail.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 20287: Replace occurrences of ModMember in REST API
Jonathan Druart [Thu, 29 Mar 2018 15:59:18 +0000 (12:59 -0300)]
Bug 20287: Replace occurrences of ModMember in REST API

Signed-off-by: Josef Moravec <josef.moravec@gmail.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 20287: Replace occurrences of AddMember in REST API
Jonathan Druart [Thu, 29 Mar 2018 15:53:01 +0000 (12:53 -0300)]
Bug 20287: Replace occurrences of AddMember in REST API

Signed-off-by: Josef Moravec <josef.moravec@gmail.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 20287: generate_userid now set the userid
Jonathan Druart [Fri, 23 Feb 2018 18:03:57 +0000 (15:03 -0300)]
Bug 20287: generate_userid now set the userid

Signed-off-by: Josef Moravec <josef.moravec@gmail.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 20287: Fix update of patrons, clean the data before ->store
Jonathan Druart [Fri, 23 Feb 2018 16:12:36 +0000 (13:12 -0300)]
Bug 20287: Fix update of patrons, clean the data before ->store

Signed-off-by: Josef Moravec <josef.moravec@gmail.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 20287: Replace ModMember in patrons import
Jonathan Druart [Fri, 23 Feb 2018 16:02:29 +0000 (13:02 -0300)]
Bug 20287: Replace ModMember in patrons import

Signed-off-by: Josef Moravec <josef.moravec@gmail.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 20287: There is a warning, we just want to unset the value here
Jonathan Druart [Fri, 23 Feb 2018 15:55:48 +0000 (12:55 -0300)]
Bug 20287: There is a warning, we just want to unset the value here

Signed-off-by: Josef Moravec <josef.moravec@gmail.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 20287: Fix test t/db_dependent/Members.t and prevent regressions
Jonathan Druart [Fri, 23 Feb 2018 15:55:33 +0000 (12:55 -0300)]
Bug 20287: Fix test t/db_dependent/Members.t and prevent regressions

Signed-off-by: Josef Moravec <josef.moravec@gmail.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 20287: ->store new deal with enrolment fee
Jonathan Druart [Fri, 23 Feb 2018 15:42:46 +0000 (12:42 -0300)]
Bug 20287: ->store new deal with enrolment fee

Signed-off-by: Josef Moravec <josef.moravec@gmail.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 20287: Move ModMember to Koha::Patron
Jonathan Druart [Fri, 23 Feb 2018 15:42:15 +0000 (12:42 -0300)]
Bug 20287: Move ModMember to Koha::Patron

Signed-off-by: Josef Moravec <josef.moravec@gmail.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 20287: Add plain_text_password (& Remove AddMember_Opac)
Jonathan Druart [Thu, 22 Feb 2018 20:13:22 +0000 (17:13 -0300)]
Bug 20287: Add plain_text_password (& Remove AddMember_Opac)

But actually we could remove it if it does not make sense for other use.
Callers could deal with it since the password is not generated here

Signed-off-by: Josef Moravec <josef.moravec@gmail.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 20287: Remove AddMember_Auto
Jonathan Druart [Thu, 22 Feb 2018 19:55:00 +0000 (16:55 -0300)]
Bug 20287: Remove AddMember_Auto

I am not sure I understood the point of this subroutine.
Did I miss something here?

Signed-off-by: Josef Moravec <josef.moravec@gmail.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 20287: Use DBIC transaction instead of AutoCommit=0
Jonathan Druart [Thu, 22 Feb 2018 19:25:52 +0000 (16:25 -0300)]
Bug 20287: Use DBIC transaction instead of AutoCommit=0

Remove error "Already in a transaction"

Signed-off-by: Josef Moravec <josef.moravec@gmail.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 20287: New warning in t/db_dependent/Koha/Object.t (?)
Jonathan Druart [Thu, 22 Feb 2018 18:47:21 +0000 (15:47 -0300)]
Bug 20287: New warning in t/db_dependent/Koha/Object.t (?)

Signed-off-by: Josef Moravec <josef.moravec@gmail.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 20287: Remove warning
Jonathan Druart [Thu, 22 Feb 2018 18:37:27 +0000 (15:37 -0300)]
Bug 20287: Remove warning

If there are no patrons in DB:
Use of uninitialized value  in addition (+)

Signed-off-by: Josef Moravec <josef.moravec@gmail.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 20287: Fix export issues in tests
Jonathan Druart [Thu, 22 Feb 2018 17:41:24 +0000 (14:41 -0300)]
Bug 20287: Fix export issues in tests

t/db_dependent/Holds/RevertWaitingStatus.t ..
Undefined subroutine &C4::Circulation::MoveReserve called at /home/vagrant/kohaclone/C4/Circulation.pm line 1316.

Signed-off-by: Josef Moravec <josef.moravec@gmail.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 20287: Replace occurrences of AddMember with Koha::Patron->new->store->borrowernumber
Jonathan Druart [Thu, 22 Feb 2018 16:06:59 +0000 (13:06 -0300)]
Bug 20287: Replace occurrences of AddMember with Koha::Patron->new->store->borrowernumber

Signed-off-by: Josef Moravec <josef.moravec@gmail.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 20287: Move AddMember to Koha::Patron->store
Jonathan Druart [Thu, 22 Feb 2018 15:28:02 +0000 (12:28 -0300)]
Bug 20287: Move AddMember to Koha::Patron->store

Signed-off-by: Josef Moravec <josef.moravec@gmail.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 20287: Koha::Object->get_from_storage
Jonathan Druart [Thu, 22 Feb 2018 14:19:50 +0000 (11:19 -0300)]
Bug 20287: Koha::Object->get_from_storage

May be part of a separate bug report if needed

TODO - add POD + tests

Signed-off-by: Josef Moravec <josef.moravec@gmail.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 20287: Move trim values to a method
Jonathan Druart [Wed, 21 Feb 2018 20:32:00 +0000 (17:32 -0300)]
Bug 20287: Move trim values to a method

Signed-off-by: Josef Moravec <josef.moravec@gmail.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 20287: Move fixup_cardnumber
Jonathan Druart [Wed, 21 Feb 2018 20:19:05 +0000 (17:19 -0300)]
Bug 20287: Move fixup_cardnumber

Signed-off-by: Josef Moravec <josef.moravec@gmail.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 21022: (follow-up) Move overloaded full_message method to subclass
Tomas Cohen Arazi [Fri, 29 Jun 2018 14:15:22 +0000 (11:15 -0300)]
Bug 21022: (follow-up) Move overloaded full_message method to subclass

We shouldn't have it overloaded on the base class, as it could get huge
and difficult to find things, and read.

This patch moves things to Koha::Exceptions::Object. We should overload
the full_message method on each exceptions class, as needed.

To test:
- Run:
  $ kshell
 k$ prove t/Koha/Exceptions.t
=> SUCCESS: Tests still pass!
- Sign off :-D

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 21022: Use passed message if present
Tomas Cohen Arazi [Fri, 29 Jun 2018 14:02:57 +0000 (11:02 -0300)]
Bug 21022: Use passed message if present

This patch makes 'full_message' use the passed exception message instead
of trying to build it from the parameters. This is particularly useful
for some situations in which we don't have all the information but would
like to keep using the same exception.

To test:
- Apply this patchset
- Run:
  $ kshell
 k$ prove t/Koha/Exceptions.t
=> SUCCESS: Tests pass!
- Sign off

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 21022: Unit tests
Tomas Cohen Arazi [Fri, 29 Jun 2018 14:02:40 +0000 (11:02 -0300)]
Bug 21022: Unit tests

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 21008: Use Koha::Patron->is_child
Jonathan Druart [Thu, 28 Jun 2018 14:00:57 +0000 (11:00 -0300)]
Bug 21008: Use Koha::Patron->is_child

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Edit: I removed the category parameter as it is not really used.

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 21008: Use patron object to get category_type
Tomas Cohen Arazi [Thu, 28 Jun 2018 13:31:30 +0000 (10:31 -0300)]
Bug 21008: Use patron object to get category_type

This patch makes borrower_add_additional_fields() in both pay.pl and
paycollect.pl use the right object to pick the category_type.

It also populates the extendedattributes template variable in pay.pl
which was missed by a change.

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 20814: Display issue with 'Saved reports' tabs when memcached is off
Owen Leonard [Thu, 24 May 2018 18:51:03 +0000 (18:51 +0000)]
Bug 20814: Display issue with 'Saved reports' tabs when memcached is off

This patch changes the configuration of the saved reports table so that
columns which were previously excluded from the table altogether are now
hidden. This prevents a JavaScript error when DataTables tries to
reference a missing column.

To test, apply the patch and go to Reports -> Use saved. You should have
at least one report category configured and assigned to reports in order
for the tabs display to be visible.

Test the table of saved reports under a variety of these circumstances:

 - memcached disabled or enabled
 - reports exist or don't exist which require update from the old
   marcxml syntax
 - cache_expiry and/or update columns are configured in Administration
   -> Columns settings to be shown or hidden

The report category tabs and the table should render correctly under all
circumstances.

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 20805: Update child to adult patron process broken on several patron-related...
Owen Leonard [Wed, 23 May 2018 12:43:55 +0000 (12:43 +0000)]
Bug 20805: Update child to adult patron process broken on several patron-related pages

This patch fixes a problem with several patron-related pages, where the
"Update child to adult patron" menu item doesn't work. With some pages,
the right category information wasn't being passed from the script to
the template. With some, the right JavaScript variable weren't being
passed from the template to the included JavaScript file.

To test, apply the patch locate some patrons with "child" type patron
categories. With each patron, go to one of the following pages and test
the "update child" process in the toolbar's "More" menu.

 - Circulation ->
   - Batch check out
   - Notices
   - Statistics
   - Files
   - Housebound
   - Delete (test from the deletion confirmation screen).

All test should be performed on a system with multiple adult patron
categories configured AND on a system with only a single adult patron
category.

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 18822: Check if we have MARC::Record and convert if not when using ES
Nick Clemens [Fri, 25 May 2018 09:32:58 +0000 (09:32 +0000)]
Bug 18822: Check if we have MARC::Record and convert if not when using ES

The new_record_from_zebra subroutine assumes that when using ES we
always get MARC::Record objects when using ES, but sometimes we get them as xml via Z39 or
internally. This adds a test to new_from_zebra to confirm we have a
record object and to convert it if not

To test:
1 - Perform an advanced search from the advanced editor, make sure to
select 'Local catalog' and a remote source
2 - Error 'Internal search error [Object object]'
3 - Apply patch
4 - Repeat search, success!
5 - Select and deselect various servers, search should still work

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 18822: Better error response
Nick Clemens [Mon, 19 Jun 2017 15:21:41 +0000 (11:21 -0400)]
Bug 18822: Better error response

Apply this patch first to see a change in the error feedback - instead
of [Object object] you should get a text readable error

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 20900: Add CPL branch in t_Batch.t too
Marcel de Rooy [Mon, 2 Jul 2018 08:41:24 +0000 (10:41 +0200)]
Bug 20900: Add CPL branch in t_Batch.t too

Same fix as previous patch.

Test plan:
Run t/db_dependent/Labels/t_Batch.t (without CPL branch)

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 20900: Add CPL test branch in rollingloans.t
Marcel de Rooy [Fri, 8 Jun 2018 08:56:10 +0000 (10:56 +0200)]
Bug 20900: Add CPL test branch in rollingloans.t

Trivial fix.

Test plan:
Without this patch and a CPL library, run rollingsloans.t. See warns.
With this patch, no warns.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 21025: Add GetPreparedLetter to Koha::Patron::Discharge
Charles Farmer [Fri, 29 Jun 2018 20:12:59 +0000 (16:12 -0400)]
Bug 21025: Add GetPreparedLetter to Koha::Patron::Discharge

Test plan (shamelessly ripped from Bug20953):

1) Set system preference 'useDischarge' to 'Allow'
2) Choose a patron without checkouts nor fines nor restrictions
3) Log at OPAC and go to patron page /cgi-bin/koha/opac-user.pl
4) Click on 'ask for a discharge' tab
   => You see /cgi-bin/koha/opac-discharge.pl
      with text 'What is a discharge? ...'
5) Click on 'Ask for a discharge' link
   => You see /cgi-bin/koha/opac-discharge.pl?op=request
      with text 'Your discharge request has been sent ...'
6) In a new browser tab/page, go to intranet on /cgi-bin/koha/members/discharges.pl
   => You see one discharge requets for the patron
   => Click on 'allow' on patron discharge request
7) Come back to OPAC and refresh /cgi-bin/koha/opac-discharge.pl
  => You see link 'Get your discharge'
8) Click on the link to get your generated PDF
  => An error message should appear informing you to contact your website's admin
9) Apply this patch
10) Click again on the link to get your generated PDF
  => This time, a download prompt should appear

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 20698: Remove obsolete template: transfer-slip.tt
Owen Leonard [Mon, 18 Jun 2018 15:29:37 +0000 (15:29 +0000)]
Bug 20698: Remove obsolete template: transfer-slip.tt

This patch removes an unused template file, circ/transfer-slip.tt. Its
use was removed by Bug 7001:

http://git.koha-community.org/gitweb/?p=koha.git;a=commitdiff;h=a9ded4fa008668df8c485fbbc76efa3cc9cc00d7#patch12

To test, apply the patch and confirm that the file has been removed.
Confirm that no references to the template exist in the codebase.

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 20332: Allow translating some grouped opac results texts
Pasi Kallinen [Mon, 5 Mar 2018 10:10:56 +0000 (12:10 +0200)]
Bug 20332: Allow translating some grouped opac results texts

The grouped OPAC results page has several untranslatable
javascript-added texts, including the selection modifiers "Clear all"
and "Select all" links, and the entries in the shelves/lists dropdown.

Compare to opac-results.tt

Signed-off-by: Pasi Kallinen <pasi.kallinen@joensuu.fi>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 20090: (RM follow-up) Add missing paren
Nick Clemens [Fri, 13 Jul 2018 11:48:42 +0000 (11:48 +0000)]
Bug 20090: (RM follow-up) Add missing paren

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 20090: Missing script statement for Novelist Select on some record displays in...
David Kuhn [Thu, 25 Jan 2018 17:27:19 +0000 (09:27 -0800)]
Bug 20090: Missing script statement for Novelist Select on some record displays in OPAC

This patch adds a check for UPCs and well as ISBNs to the Novelist Select conditionals in opac-detail.tt

To test (note that you must subscribe to Novelist Select):

1. If your library does not use the raton ratings feature, activate it for the purposes of this test.

2. Display a record that does not have an ISBN in the 020 field, but has a upc (or other code) in the 024 field. The rating option will

display as 5 radio buttons and a "rate it" button.

3. Apply the patch.

4. Display the same record again. The radio buttons will be replaced with stars. This indicates that the scripts on the page completed.

Rather that using the patron ratings as in indicator, you can also use a web page inspector/debugger such as firebug or the built-in

inspectors in most newer browsers to check for script errors.

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
I couldn't check with Novelist Select, but read and checked changed made carefully.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 21023: Remove warning in t/db_dependent/Circulation/Chargelostitem.t
Tomas Cohen Arazi [Fri, 29 Jun 2018 14:52:16 +0000 (11:52 -0300)]
Bug 21023: Remove warning in t/db_dependent/Circulation/Chargelostitem.t

To test:
- Run:
  $ kshell
 k$ prove t/db_dependent/Circulation/Chargelostitem.t
=> FAIL: Warning is displayed
- Apply this patch
- Run:
 k$ prove t/db_dependent/Circulation/Chargelostitem.t
=> SUCCESS: Tests pass! No warning!
- Sign off :-D

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 14446: Workaround to resolve uninitialized value in goto warning
Marcel de Rooy [Wed, 4 Jul 2018 14:03:33 +0000 (16:03 +0200)]
Bug 14446: Workaround to resolve uninitialized value in goto warning

Forcing both GetTab calls to list context resolves the warning.
A workaround, not a real fix.

Test plan:
Search for something in the syspref text bar.
Without this patch, you will have a warn: Use of uninitialized value in goto
With this patch, you won't.

Signed-off-by: Aleisha Amohia <aleishaamohia@hotmail.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 20990: (QA follow-up) make outstanding_credits return the account lines only
Tomas Cohen Arazi [Mon, 2 Jul 2018 18:59:54 +0000 (15:59 -0300)]
Bug 20990: (QA follow-up) make outstanding_credits return the account lines only

This patch was discussed with Jonathan on a QA conversation. It is
better to keep this simpler and more reusable. And is the right approach
in this case.

This patch makes Koha::Account::outstanding_credits return the account
lines, code that used the $total value, will just use

    $lines->total_outstanding;

Tests are adjusted accordingly.

To test:
- Run:
  $ kshell
 k$ prove t/db_dependent/Koha/Account.t
=> SUCCESS: Test pass.

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 20990: Make same changes that were made to outstanding_debits
Kyle M Hall [Tue, 26 Jun 2018 14:31:40 +0000 (14:31 +0000)]
Bug 20990: Make same changes that were made to outstanding_debits

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 20990: (follow-up) Fix test description
Josef Moravec [Mon, 25 Jun 2018 18:57:20 +0000 (18:57 +0000)]
Bug 20990: (follow-up) Fix test description

Test plan:
prove -v t/db_dependent/Koha/Account.t
--> Test message of first test of subtest outtanding_credits correctly says
"Outstanding credits total..."

Signed-off-by: Josef Moravec <josef.moravec@gmail.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 20990: Add Koha::Account->outstanding_credits
Tomas Cohen Arazi [Mon, 25 Jun 2018 14:15:14 +0000 (11:15 -0300)]
Bug 20990: Add Koha::Account->outstanding_credits

This patch adds a method that retrieves (for a patron's account) the
outstanding credits (i.e. those that haven't been applied to any debit.

To test:
- Apply this patches
- Run:
  $ kshell
 k$ prove t/db_dependent/Koha/Account.t
=> SUCCESS: Tests pass!
- Sign off :-D

Signed-off-by: Josef Moravec <josef.moravec@gmail.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 20990: Unit tests for Koha::Account->outstanding_credits
Tomas Cohen Arazi [Mon, 25 Jun 2018 14:15:08 +0000 (11:15 -0300)]
Bug 20990: Unit tests for Koha::Account->outstanding_credits

Signed-off-by: Josef Moravec <josef.moravec@gmail.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 6647: Label item search should use standard pagination routine
Owen Leonard [Wed, 6 Jun 2018 14:54:58 +0000 (14:54 +0000)]
Bug 6647: Label item search should use standard pagination routine

This patch doesn't fix how pagination links are generated for the label
item search results, but it does modify the template so that the
pagination links are styled like they are on catalog search results.

To test, apply the patch and go to Tools -> Labels.

 - Open or create a label batch.
 - Click "Add items" to trigger the pop-up search window.
 - Perform a search which would return multiple results.
 - Confirm that the style of the pagination bar matches the one on the
   catalog search results page.
 - Confirm that current-page number highlighting works correctly.

Signed-off-by: Maryse Simard <maryse.simard@inlibro.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 20919: Remove unecessary search calls on the biblio detail page
Jonathan Druart [Thu, 14 Jun 2018 14:31:02 +0000 (11:31 -0300)]
Bug 20919: Remove unecessary search calls on the biblio detail page

There is a countanalytics flag that is set for items used in analytical
biblio records. This flag is only used in the template when 'analyze'
has been passed to the script.
In order to avoid unecessary search calls (1 per item), $analyse must be
tested.

Test plan:
0. Do not apply the patch
1. tail -f /var/log/koha/kohadev/zebra-output.log
2. Hit a bibliographic record detail page with several items
3. Notice that the log has 1 line per item:
  11:30:36-14/06 zebrasrv(32) [warn] ir_session (exception)
4. Apply the patch
5. Hit the page again
6. There is nothing in the zebra log file

If you are familiar with analytic records, confirm that you are not
allowed to remove an item that is used in analytical biblio records.

Signed-off-by: Hugo Agud <hagud@orex.es>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 20953: Prevent several discharge requests on OPAC
Fridolin Somers [Mon, 18 Jun 2018 07:04:19 +0000 (09:04 +0200)]
Bug 20953: Prevent several discharge requests on OPAC

On OPAC, a user can requested a discharge even if one is already pending.
This generates several pending discharges in staff interface that can not be deleted.

This is because request operation leads to page 'opac-discharge.pl?op=request' and user can refresh this page performing a new request.

Perl code must check that operation is allowed.

Patch reoganised the code so that the following FIXME is obsolete :
  'FIXME looks like $available is not needed'
Patch also replaces 'op' arg test to also check undef : input->param("op") // ''

Test plan :
1) Set system preference 'useDischarge' to 'Allow'
2) Choose a patron without checkouts nor fines nor restrictions
3) Log at OPAC and go to patron page /cgi-bin/koha/opac-user.pl
4) Click on 'ask for a discharge' tab
   => You see /cgi-bin/koha/opac-discharge.pl
      with text 'What is a discharge? ...'
5) Click on 'Ask for a discharge' link
   => You see /cgi-bin/koha/opac-discharge.pl?op=request
      with text 'Your discharge request has been sent ...'
6) In a new browser tab/page, go to intranet on /cgi-bin/koha/members/discharges.pl
   => You see one discharge requets for the patron
7) Come back to OPAC and refresh page
   => You see /cgi-bin/koha/opac-discharge.pl
   with text 'Your discharge will be available on this page within a few days.'
8) Come back to intranet and refresh /cgi-bin/koha/opac-discharge.pl
   => There is still one requets for the patron
9) Come back to OPAC and enter URL /cgi-bin/koha/opac-discharge.pl?op=get
   => You see /cgi-bin/koha/opac-discharge.pl
      with text 'Your discharge will be available on this page within a few days.'
10) Come back to intranet and refresh /cgi-bin/koha/opac-discharge.pl
   => There is still one requets for the patron
11) Click on 'allow' on patron discharge request
12) Come back to OPAC and refresh /cgi-bin/koha/opac-discharge.pl
    => You see link 'Get your discharge'
13) enter URL /cgi-bin/koha/opac-discharge.pl?op=request
    => You see same page and no new discharge requets is created
14) Come back to intranet on patron details page
15) Remove the discharge restriction
16) Come back to OPAC and refresh /cgi-bin/koha/opac-discharge.pl
    => You see text 'What is a discharge?...'
17) enter URL /cgi-bin/koha/opac-discharge.pl?op=get
    => You see same page and no new discharge requets is created

Signed-off-by: Charles Farmer <charles.farmer@inLibro.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 20949: (follow-up) debian/control
Mirko Tietgen [Fri, 15 Jun 2018 10:34:51 +0000 (12:34 +0200)]
Bug 20949: (follow-up) debian/control

Signed-off-by: Mirko Tietgen <mirko@abunchofthings.net>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 20949: Koha depends on Clone
Mirko Tietgen [Fri, 15 Jun 2018 10:10:19 +0000 (12:10 +0200)]
Bug 20949: Koha depends on Clone

Clone was not declared a dependency before. It used to be a dependency
of Hash::Merge but isn't in the recent version.

Signed-off-by: Mirko Tietgen <mirko@abunchofthings.net>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 18250: Force startup order in postinst script
Marcel de Rooy [Mon, 13 Mar 2017 13:13:10 +0000 (14:13 +0100)]
Bug 18250: Force startup order in postinst script

This is a workaround meant to correct upgrading installs.
We force the order by disable/enable.

Test plan:
[1] When upgrading an existing install, check that the startup order
    after the upgrade has been corrected in /etc/rcX.d (say X=5).

Signed-off-by: Mirko Tietgen <mirko@abunchofthings.net>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 18250: Update LSB block of koha-common init script
Marcel de Rooy [Mon, 13 Mar 2017 12:53:49 +0000 (13:53 +0100)]
Bug 18250: Update LSB block of koha-common init script

Currently koha-common may start before memcached. We should prevent that.
If we add memcached to the LSB section of the koha-common init script,
Debian's insserv will know about this requirement.

Note: This patch is only a step in resolving the issue.

Test plan:
[1] Copy the updated koha-common script to /etc/init.d
[2] Look for S..koha-common and S..memcached in /etc/rcX.d (say X=5)
[3] Run sudo update-rc.d koha-common disable
[4] Run sudo update-rc.d koha-common enable
[5] Look again for S..koha-common in /etc/rcX.d (say X=5).
    The number for koha-common should now be higher than for memcached.

Signed-off-by: Mirko Tietgen <mirko@abunchofthings.net>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 19502: Add POD for max_result_window
Julian Maurice [Mon, 25 Jun 2018 12:14:43 +0000 (14:14 +0200)]
Bug 19502: Add POD for max_result_window

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Alex Arnaud <alex.arnaud@biblibre.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 19502: Remove debug warn
Julian Maurice [Mon, 25 Jun 2018 12:14:32 +0000 (14:14 +0200)]
Bug 19502: Remove debug warn

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Alex Arnaud <alex.arnaud@biblibre.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 19502: Retrieve index.max_result_window from ES
Julian Maurice [Tue, 5 Jun 2018 13:11:34 +0000 (15:11 +0200)]
Bug 19502: Retrieve index.max_result_window from ES

This avoid hardcoding '10000' in two different places and allow users to
adjust this setting.

Also, this patch fixes a bug when the search return less than 10000
results

Test plan:
1. Do a search that returns 10000+ records.
2. Note the warning above the pagination buttons
3. Go to the last page, no error
4. Change the ES setting:
   curl -XPUT http://elasticsearch/koha_master_biblios/_settings -d \
     '{"index": {"max_result_window": 20000}}'
5. Do another search that returns more than 10000 but less than 20000
6. Note that the warning does not show up
7. Go to the last page, still no error

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Alex Arnaud <alex.arnaud@biblibre.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 19502: (follow-up) Pass parameters to avoid making templates depend on search...
Nick Clemens [Thu, 19 Apr 2018 23:13:49 +0000 (23:13 +0000)]
Bug 19502: (follow-up) Pass parameters to avoid making templates depend on search engine

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

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Alex Arnaud <alex.arnaud@biblibre.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 19502: Limit pagination to first 10000 results when using ES
Nick Clemens [Fri, 16 Mar 2018 11:10:37 +0000 (11:10 +0000)]
Bug 19502: Limit pagination to first 10000 results when using ES

This patch is to avoid hitting an error page. We should eventually make the
max number returned configurable for ES.

To test:
1 - Have Koha running ES with 10,000+ records
2 - Search for '*'
3 - Click 'Last' to view last page of results
4 - 'Cannot perform search' error
5 - Apply patch
6 - Search again
7 - View 'Last' page
8 - No error, you go to the last of 10000
9 - Note the warning above the pagination buttons

Signed-off-by: Séverine QUEUNE <severine.queune@bulac.fr>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Alex Arnaud <alex.arnaud@biblibre.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 21009: Fix max length of inputs on editing/adding items
Jonathan Druart [Fri, 29 Jun 2018 17:09:07 +0000 (14:09 -0300)]
Bug 21009: Fix max length of inputs on editing/adding items

There is a "max length" value you can define at framework level to
limit the size of the input. But it is not taken into account on the
add/edit item form.

It is a regression that has been introduced by
  commit 47d2de9c024bfb93d56184f298f334b20685cd86
  Bug 12176: Remove HTML from additem.pl

max_length vs maxlength

Test plan:
- Define a maximum length for an item subfield
- Add or edit an item
=> Without this patch the maxlength attribute of the inputs are not
defined (maxlength="")
=> With this fix you will see the maxlength attributes correctly set
with the value you defined in the framework

Note:
We could/should set this value to the size of the DB column when mapped
For instance 952$u is mapped with items.uri, which is a varchar(255).
This length restriction should done at framework level

Signed-off-by: Pierre-Luc Lapointe <pierreluc.lapointe@inLibro.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 20084: Fix Industrial2of5 and COOP2of5 patron card layouts
Victor Grousset [Thu, 25 Jan 2018 13:37:56 +0000 (14:37 +0100)]
Bug 20084: Fix Industrial2of5 and COOP2of5 patron card layouts

== Test plan ==
This is an oversimplification of a full patron card setup used in production.

1. Create a batch with 1 patron
2. Create a layout and set
     the name
     "Print card number as barcode"
     "Barcode type:" to "Code 39"
3. Create a card template without filling anything
4. Export the batch using the layout and template
5. You should have a white page with a barcode
     And no errors in the relevant log file
     This show that this setup isn't completely bogus
     (although Code 39 is the only type working...)
6. Layout: set "Barcode type:" to Industrial2of5
7. Export the batch
8. You should have a white page with no barcode
     And errors in the relevant log file
     "Invalid Characters"
     This is the bug.
9. Layout: set "Barcode type:" to COOP2of5
10. Export the batch
11. You should have a white page with no barcode
      And errors in the relevant log file
      "Invalid Characters"
      This is the bug.
12. Apply this patch
13. Retry with both non-working patches
    1. You should have a white page with a barcode
    2. And no errors in the relevant log file

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 21054: Remove extraneous </body> tag from sco-main.tt
Nick Clemens [Mon, 9 Jul 2018 13:24:44 +0000 (13:24 +0000)]
Bug 21054: Remove extraneous </body> tag from sco-main.tt

To test:
1 - Enable sco and setup AutoSelfCheck
2 - Try to use self checkout and print receipt
3 - You shoudl be redirected to the login page
4 - Apply patch and restart all the things
5 - Try to use self checkout and print a receipt
6 - Success!

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 20979: Fix confirm deletion popup when deleting a biblio
Jonathan Druart [Thu, 21 Jun 2018 21:06:00 +0000 (18:06 -0300)]
Bug 20979: Fix confirm deletion popup when deleting a biblio

When deleting an empty bib, error messages pops up "1 order(s) are
using this record. You need order managing permissions to delete this
record." even though user has superlibrarian permissions.  Prevents the
deletion of the bib record.

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 21046: Return the correct borrowernumber when there is empty cardnumber(s)
Alex Arnaud [Fri, 6 Jul 2018 13:40:53 +0000 (13:40 +0000)]
Bug 21046: Return the correct borrowernumber when there is empty cardnumber(s)

Test plan:
  - Use a patron with an empty cardnumber to authenticate with ILSDI
    AuthenticatePatron
    (cgi-bin/koha/ilsdi.pl?service=AuthenticatePatron&username=userid&password=pass),
  - make sure you have other patron(s) with empty cardnumber and there
    borrowernumber is
    smaller than the one you authenticate with,
  - you should get a wrong borrowernumber,
  - apply this patch,
  - test again, you should get the right one

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 19617: (QA follow-up) Fix typo for type
Tomas Cohen Arazi [Mon, 2 Jul 2018 18:30:57 +0000 (15:30 -0300)]
Bug 19617: (QA follow-up) Fix typo for type

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 19617: Allow 'writeoff of selected'
Kyle M Hall [Mon, 30 Apr 2018 16:47:26 +0000 (12:47 -0400)]
Bug 19617: Allow 'writeoff of selected'

This patch adds a writeoff equivilent to 'Pay selected'

Test Plan:
1) Apply this patch
2) Find a patron with fines
3) On the "Pay fines" tab, select one or more fines and use the
   "Write off selected" button.
4) Note the fine amount you used was written off for those fines.

Signed-off-by: Kyle M Hall <kyle@bywatetsolutions.com>
Signed-off-by: Martha Fuerst <mfuerst@hmcpl.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 12395: (RM follow-up) Make updatedatabase statements idempotent
Nick Clemens [Fri, 6 Jul 2018 14:25:20 +0000 (14:25 +0000)]
Bug 12395: (RM follow-up) Make updatedatabase statements idempotent

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 12395: DBRev 18.06.00.005
Nick Clemens [Fri, 6 Jul 2018 14:19:22 +0000 (14:19 +0000)]
Bug 12395: DBRev 18.06.00.005

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 12395: Add FK constraint and use patron-title.inc
Julian Maurice [Fri, 8 Jun 2018 08:24:19 +0000 (10:24 +0200)]
Bug 12395: Add FK constraint and use patron-title.inc

Signed-off-by: Julian Maurice <julian.maurice@biblibre.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 12395: (QA follow-up) Change wording for consistency and fix use CGI;
Katrin Fischer [Mon, 16 Apr 2018 21:10:15 +0000 (21:10 +0000)]
Bug 12395: (QA follow-up) Change wording for consistency and fix use CGI;

Signed-off-by: Julian Maurice <julian.maurice@biblibre.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 12395: Use standard <fieldset> + <ol> markup for showorder.tt
Owen Leonard [Thu, 3 Dec 2015 18:01:46 +0000 (13:01 -0500)]
Bug 12395: Use standard <fieldset> + <ol> markup for showorder.tt

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>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 12395: (QA follow-up) Add class/id to body tag
Katrin Fischer [Sun, 25 Oct 2015 11:32:45 +0000 (12:32 +0100)]
Bug 12395: (QA follow-up) Add class/id to body tag

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>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 12395: Make received orders table consistent with pending orders table
Alex Arnaud [Tue, 16 Jun 2015 08:05:16 +0000 (10:05 +0200)]
Bug 12395: Make received orders table consistent with pending orders table

(links of More column)

Also change "Created by" with "Ordered by" in receive page.

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>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 12395: Display created_by even if firstname is missing on receiving
Jonathan Druart [Fri, 20 Feb 2015 10:31:52 +0000 (11:31 +0100)]
Bug 12395: Display created_by even if firstname is missing on receiving

On receiving orders, "no name" was displayed if the firstname of creator
was not filled.
The surname should be displayed.

Signed-off-by: Paola Rossi <paola.rossi@cineca.it>
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>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 12395: Add unit test to check created_by is correctly set
Julian Maurice [Tue, 10 Feb 2015 09:23:25 +0000 (10:23 +0100)]
Bug 12395: Add unit test to check created_by is correctly set

Signed-off-by: Paola Rossi <paola.rossi@cineca.it>
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>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 12395: Save order line's creator
Julian Maurice [Mon, 9 Jun 2014 14:15:17 +0000 (16:15 +0200)]
Bug 12395: Save order line's creator

New MySQL column: aqorders.createdby

Creator's name is displayed on order's receive pages (acqui/orderreceive.pl
and acqui/parcel.pl)

On acqui/orderreceive.pl it replace the name of basket's creator
On acqui/parcel.pl, to avoid adding more data in the table of pending
orders, it is shown in a popup like MARC and Card views

Test plan:
1/ Run updatedatabase.pl
2/ Create a new order and go to the receipt page (acqui/parcel.pl)
3/ Click on "Order" link in column "More" (previously "View record")
4/ A javascript popup should appear with your name in it. Close the
popup.
5/ Click on "Receive" link
6/ Your name should appear in front of "Created by" label, to the right
of the page.

Patch updated with use of atomic update.

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>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 20650: Remove unused virtualshelves/merge.tt
Owen Leonard [Tue, 19 Jun 2018 13:02:26 +0000 (10:02 -0300)]
Bug 20650: Remove unused virtualshelves/merge.tt

Committed by Jonathan Druart, get out from first patch of this patchset.

It's a follow-up of bug 4019 which removed virtualshelves/merge.pl

Moving this change to its own commit to make it clear in the git log and
easier to backport if needed.

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 20650: (follow-up) Add missing include file
Owen Leonard [Tue, 19 Jun 2018 12:45:07 +0000 (12:45 +0000)]
Bug 20650: (follow-up) Add missing include file

This patch adds a missing include of doc-head-open.inc.

To test, apply the patch and export a batch of patron cards. The modal
view for downloading the card batch PDF should work correctly.
Validating the iframe's source should show no relevant errors.

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 20650: Switch single-column templates to Bootstrap grid: Various, part 3
Owen Leonard [Tue, 24 Apr 2018 13:37:07 +0000 (13:37 +0000)]
Bug 20650: Switch single-column templates to Bootstrap grid: Various, part 3

This patch updates various unrelated templates to use the Bootstrap
grid. In each case, confirm that the indicated page looks correct.

This patch also corrects a couple of capitalization errors and removes
an unused template: virtualshelves/merge.tt.

 - Tools -> Patron card creator -> Manage -> Card batches
   - Export a batch
   - The pages inside the modal window should look correct: Both the "X
     batch(es) to export" screen and the "download exported batch(es)"
     one.

 - Tools -> Patron lists -> Edit list
   - The patron list add/edit form should look correct.

 - Disable plugins in koha-conf.xml.
   - Tools -> Plugins
   - The "Plugins disabled" page should look correct.

 - Enable plugins in koha-conf.xml
   - Tools -> Plugins -> Upload plugins.
     - This page should look correct.

 - Tools
   - The tools home page should show three columns: Patrons and
     Circulation, Catalog, Additional tools.
   - At viewport width below 768 pixels content should reflow into one
     column.

 - virtualshelves/merge.tt has been removed as it is unused. Search the
   codebase for references to it. There should be none.

Signed-off-by: Claire Gravely <claire.gravely@bsz-bw.de>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 20641: Switch single-column templates to Bootstrap grid: Various, part 2
Owen Leonard [Mon, 23 Apr 2018 18:26:14 +0000 (18:26 +0000)]
Bug 20641: Switch single-column templates to Bootstrap grid: Various, part 2

This patch updates various unrelated templates to use the Bootstrap
grid. In each case, confirm that the indicated page looks correct.

 - Acquisitions -> Vendor -> Add to basket -> From a staged file.
 - Logged-in user menu (in the upper right) -> Search history.
 - With plugins disabled in koha-conf.xml, go to Tools -> Tools plugins.
 - With the EasyAnalyticalRecords system preference set to 'Display,'
   view a bibliographic record.
   - Choose Edit -> Link to host item.
   - Submit a barcode to be linked.
 - Configure a MARC subfield (e.g. 100$a) to use the
   unimarc_field_225a_bis plugin.
   From the MARC edit page, trigger the plugin and confirm that the
   page in the popup window looks correct. Confirm that changes made in
   the popup window are saved to the corresponding field in the editor.
 - Administration -> Funds -> Edit a fund.
   - Click 'Select owner.'
   - Search for a patron.

Signed-off-by: Claire Gravely <claire.gravely@bsz-bw.de>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 20220: Move template JavaScript to the footer: Holds
Owen Leonard [Wed, 25 Apr 2018 18:07:42 +0000 (18:07 +0000)]
Bug 20220: Move template JavaScript to the footer: Holds

This patch modifies the holds template so that JavaScript is included in
the footer.

To test, apply the patch and initiate the process of placing a hold.
Throughout the process JavaScript-based interactions should work: Patron
autocomplete, datepickers, DataTables, cancel confirmations, etc.

Signed-off-by: Claire Gravely <claire.gravely@bsz-bw.de>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 19709: Move template JavaScript to the footer: Labels
Owen Leonard [Tue, 8 May 2018 13:45:37 +0000 (13:45 +0000)]
Bug 19709: Move template JavaScript to the footer: Labels

This patch modifies the staff client label creator templates so that
JavaScript is included in the footer instead of the header.

To test, apply the patch and test the JavaScript-driven features of
each modified template: All button controls, DataTables functionality,
form validation, etc.

This patch also modifies the templates to use the Bootstrap grid instead
of YUI, and removes obsolete "text/javascript" attributes from
<script> tags and "text/css" attributes from <style> tags in the
modified templates.

To test, apply the patch and test the following interactions:

- Creating and managing layouts
- Creating and managing batches
- Creating and managing templates
- Creating and managing printer profiles
- Creating quick spine labels

Signed-off-by: Claire Gravely <claire.gravely@bsz-bw.de>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 20668: Update two-column templates with Bootstrap grid: Acquisitions part 2
Owen Leonard [Thu, 26 Apr 2018 18:54:44 +0000 (18:54 +0000)]
Bug 20668: Update two-column templates with Bootstrap grid: Acquisitions part 2

This patch modifies several acquisitions templates to use the Bootstrap
grid instead of YUI.

This patch also removes obsolete "text/javascript" attributes from
<script> tags in the modified templates.

Staff client CSS is modified in this patch so that elements which were
styled based on the sidebar's "yui-b" class will work with <aside>.

To test, apply the patch and view the following pages, confirming that
they look correct at various browser widths:

- I don't have EDI set up, so to test acqui/edi_ean.tt I navigate
  directly to /cgi-bin/koha/acqui/edi_ean.pl. It's only the page
  structure we're worried about.
- Acquisitions -> Orders search
- Acquisitions -> Vendor -> Invoices -> Invoice search
  - View an invoice
  - Manage invoice files (Preference AcqEnableFiles must be enabled).
- Acquisitions -> Late orders

Patch applies and operates as described.
Signed-off-by: Dilan Johnpullé <dilan@calyx.net.au>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 20667: Update two-column templates with Bootstrap grid: Acquisitions part 1
Owen Leonard [Thu, 26 Apr 2018 18:34:31 +0000 (18:34 +0000)]
Bug 20667: Update two-column templates with Bootstrap grid: Acquisitions part 1

This patch modifies several acquisitions templates to use the Bootstrap
grid instead of YUI.

This patch also removes obsolete "text/javascript" attributes from
<script> tags.

To test, apply the patch and view the following pages, confirming that
they look correct at various browser widths:

- Acquisitions -> Home page
- Acquisitions -> Vendor search results
- Acquisitions -> Vendor -> Basket groups
  -> Edit
- Acquisitions -> EDIFACT messages
  -> View EDIFACT message

Signed-off-by: Dilan Johnpullé <dilan@calyx.net.au>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 20731: Move template JavaScript to the footer: Call number browser MARC plugin
Owen Leonard [Wed, 3 Jan 2018 17:41:09 +0000 (17:41 +0000)]
Bug 20731: Move template JavaScript to the footer: Call number browser MARC plugin

This patch modifies the call number browser plugin so that JavaScript is
in the footer instead of the header.

This patch also makes some unrelated changes: The page title has been
corrected; DataTables code has been removed as it was unused.

To test, apply the patch and configure a MARC framework to use
cn_browser.pl as the plugin for tag 952 subfield o.

Open an item for editing. The "Full call number" field should have an
active "..." link next to it. Clicking this should trigger a popup
window with the Call number browser. Confirm that submitting a new
search from this window works correctly.

Signed-off-by: Claire Gravely <claire.gravely@bsz-bw.de>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 20980: DBRev 18.06.00.004
Nick Clemens [Fri, 6 Jul 2018 12:56:54 +0000 (12:56 +0000)]
Bug 20980: DBRev 18.06.00.004

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 20980: (QA follow-up) Do not delete existing data on tests fix
Tomas Cohen Arazi [Fri, 6 Jul 2018 12:22:29 +0000 (09:22 -0300)]
Bug 20980: (QA follow-up) Do not delete existing data on tests fix

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 20980: (follow-up) Offset name consistency
Tomas Cohen Arazi [Sat, 23 Jun 2018 10:41:15 +0000 (07:41 -0300)]
Bug 20980: (follow-up) Offset name consistency

This patch makes 'credit' account types generate 'Manual Credit' offset.
The original patch used 'Payment' but I think the code wants to
distinguish between payments and manually added credits (otherwise they
would've picked the same accounttype value, and they don't.

Signed-off-by: Josef Moravec <josef.moravec@gmail.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 20980: (follow-up) Only use UpdateStats for 'payment' and 'writeoff'
Tomas Cohen Arazi [Fri, 22 Jun 2018 15:24:33 +0000 (12:24 -0300)]
Bug 20980: (follow-up) Only use UpdateStats for 'payment' and 'writeoff'

This patch makes Koha::Account::add_credit record statistics logs
(through C4::Stats::UpdateStats) only for the 'payment' and 'writeoff'
credit types.

Both credit types are whitelisted in UpdateStats, so we keep the current
behaviour. Another option would've been to add new account types to the
white list, but with the account offsets it seems that using the
statistics table for account changes won't be useful for too long, as
offsets contain the same (and more) information.

To test:
- Apply the patch
- Run:
  $ kshell
 k$ prove t/db_dependent/Koha/Account.t
=> SUCCESS: Tests pass!
- Sign off :-D

Signed-off-by: Josef Moravec <josef.moravec@gmail.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 20980: Make mancredit.pl use Koha::Account::add_credit
Tomas Cohen Arazi [Fri, 22 Jun 2018 15:23:47 +0000 (12:23 -0300)]
Bug 20980: Make mancredit.pl use Koha::Account::add_credit

This patch makes creating a manual credit from the UI record the account
offset as 'Manual Credit', and properly set account_offsets.credit_id
instead of account_offsets.debit_id.

To test:
- Create a manual credit (of 'Credit' type) for a known patron (acevedo?)
- Run:
  $ sudo koha-mysql kohadev
  > SELECT * FROM account_offsets;
=> FAIL: The account offset for the manual credit has type=Manual Debit,
    credit_id=NULL and debit_id=accountlines_id
- Run the atomic update:
  $ updatedatabase
- Run:
  $ sudo koha-mysql kohadev
  > SELECT * FROM account_offsets;
=> SUCCESS: The account offset has been corrected and now has
type=Manual Credit, credit_id=accountlines_id and debit_id=NULL
- Create a new manual credit (of 'Forgiven' type) for a known patron
- Run:
  $ sudo koha-mysql kohadev
  > SELECT * FROM account_offsets;
=> SUCCESS: The account offset has been stored correctly as a credit!
- Sign off :-D

Signed-off-by: Josef Moravec <josef.moravec@gmail.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 20980: Add 'Manual Credit' and fix existing offsets
Tomas Cohen Arazi [Thu, 21 Jun 2018 17:43:34 +0000 (14:43 -0300)]
Bug 20980: Add 'Manual Credit' and fix existing offsets

This patch adds a new offset type 'Manual Credit'. And adds an atomic
update for fixing existing offsets.

Signed-off-by: Josef Moravec <josef.moravec@gmail.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 20978: (QA follow-up) Do not delete existing data on tests
Tomas Cohen Arazi [Fri, 6 Jul 2018 12:11:32 +0000 (09:11 -0300)]
Bug 20978: (QA follow-up) Do not delete existing data on tests

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 20978: (follow-up) POD completeness
Tomas Cohen Arazi [Wed, 27 Jun 2018 13:37:24 +0000 (10:37 -0300)]
Bug 20978: (follow-up) POD completeness

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
5 years agoBug 20978: (follow-up) Another use case from C4::Circulation
Tomas Cohen Arazi [Thu, 21 Jun 2018 16:33:46 +0000 (13:33 -0300)]
Bug 20978: (follow-up) Another use case from C4::Circulation

Signed-off-by: Josef Moravec <josef.moravec@gmail.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>