koha.git
6 years agoBug 16760: fix Circulation Statistics wizard under Plack
Galen Charlton [Tue, 5 Jul 2016 16:22:39 +0000 (16:22 +0000)]
Bug 16760: fix Circulation Statistics wizard under Plack

This patch fixes some variable scoping problems when running
the circulation statistics wizard under Plack.  For example,
when using the item type as a row header, with this patch the
item type description is displayed rather than "UKNOWN VALUE".

This patch also enables warnings and fixes a couple variable
initialization issues. (Note that turning on warnings across
the board would make it easier to identify Plack variable scoping
issues, as "Variable "$foo" is not available at' errors would
be recorded in the Plack error log).

To test
-------
[1] Run the staff interface under Plack.
[2] Go to the Circulation Statistics Wizard and run a report
    using item type as the row. Note that the row labels
    display as "UNKNOWN VALUE" rather than the item type.
[3] Apply the patch and restart Plack.
[4] Run step #2 again; this time, the item type descriptions should
    be used as the row labels.

Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
6 years agoBug 16671: [QA Follow-up] Replace remaining itemtype lines
Marcel de Rooy [Tue, 28 Jun 2016 13:21:53 +0000 (15:21 +0200)]
Bug 16671: [QA Follow-up] Replace remaining itemtype lines

Instead of relying on existing data, we use new TestBuilder recs.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
6 years agoBug 16671: [QA Follow-up] Add new itemtype and remove bailout
Marcel de Rooy [Mon, 27 Jun 2016 07:24:14 +0000 (09:24 +0200)]
Bug 16671: [QA Follow-up] Add new itemtype and remove bailout

No need to bail out, if we are using TestBuilder.
Somehow, this test passes with me if we add a new record, and if
we do not, it fails (using BK as the first itemtype with notforloan
is 0).

Looking further, we should imo remove the Koha::ItemTypes searches
here and not depend on existing data. Just add some item types.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
6 years agoBug 16671: (bug 14828 follow-up) Pick the right itemtypes
Jonathan Druart [Mon, 6 Jun 2016 13:00:56 +0000 (14:00 +0100)]
Bug 16671: (bug 14828 follow-up) Pick the right itemtypes

Looking at commit aafe73eefb5151454fa8957bf188768324d23955
  Bug 14828: Use Koha::ItemType[s] everywhere C4::ItemType was used
-my @item_types = C4::ItemType->all;
-my @for_loan = grep { $_->{notforloan} == 0 } @item_types
-  or BAIL_OUT("No adequate itemtype");
-my $itemtype = $for_loan[0]->{itemtype};
+my $itemtype = Koha::ItemTypes->search({ notforloan => 1 })->next;
+$itemtype or BAIL_OUT("No adequate itemtype"); #FIXME Should be $itemtype = $itemtype->itemtype

It seems that the tests expect itemtypes for loan.

Test plan:
  prove t/db_dependent/HoldsQueue.t
should still return green

Signed-off-by: Hector Castro <hector.hecaxmmx@gmail.com>
Works as advertised. No qa test tool errors

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Adding follow-up.

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
6 years agoBug 16459: Add patron to a patron card requires catalogue permission
Jonathan Druart [Fri, 6 May 2016 14:55:31 +0000 (15:55 +0100)]
Bug 16459: Add patron to a patron card requires catalogue permission

Currently, serials => 'routing' is required, which does not make any
sense.
It's a copy/paste error when this file has been created (you can blame
me).

Note that I am not sure catalogue is the correct permission, but it's
the one used almost everywhere in this module

Test plan:
Confirm that catalogue is enough to search for patrons to add to a
patron card.

Signed-off-by: Srdjan <srdjan@catalyst.net.nz>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
6 years agoBug 16431: Use Koha::Cache to cache marc subfield structure
Jonathan Druart [Tue, 3 May 2016 13:34:33 +0000 (14:34 +0100)]
Bug 16431: Use Koha::Cache to cache marc subfield structure

The marc subfield structure is currently cached using a global variable
of C4::Context. The infos are retrieved every time a new context is
created.
This patch suggests to use Koha::Cache instead.

To achieve this goal, a new subroutine is created
C4::Biblio::GetMarcSubfieldStructure, it will be called from code which
needs to get the marc subfield structure. GetMarcFromKohaField,
GetMarcSubfieldStructureFromKohaField, TransformKohaToMarc and
_get_inverted_marc_field_map are modified accordingly and the cache is cleared
when the table is updated (from the 3 pl scripts modified by this patch).

The caching done in C4::Context (marcfromkohafield) is removed.

Test plan:
Play with the marc subfield structure (in the administration module),
then add and edit records and make sure everything went fine.

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Everything works as expected on my functional tests. I'm really happy to see the
patch introduces relevant tests for previously untested functions.

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
6 years agoBug 14968 - Provides unit test
Alex Arnaud [Wed, 15 Jun 2016 14:11:07 +0000 (16:11 +0200)]
Bug 14968 - Provides unit test

Signed-off-by: Broust <jean-manuel.broust@univ-lyon2.fr>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
6 years agoBug 14968 - found shouldn't be set to null when cancelling holds
Lyon3 Team [Tue, 6 Oct 2015 13:42:15 +0000 (15:42 +0200)]
Bug 14968 - found shouldn't be set to null when cancelling holds

Signed-off-by: JM Broust <jean-manuel.broust@univ-lyon2.fr>
Signed-off-by: Broust <jean-manuel.broust@univ-lyon2.fr>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
6 years agoBug 12509 - Fix Untranslatable Restriction added by overdues process
Morgane Alonso [Mon, 6 Jun 2016 12:24:56 +0000 (12:24 +0000)]
Bug 12509 - Fix Untranslatable Restriction added by overdues process

Changes the value of the "comment" column in "borrower_debarments" table
from "Restriction added by overdues process yyyy-mm-dd hh:mm:ss" to
"OVERDUE_PROCESS yyyy-mm-dd hh:mm:ss" in the overdue_notices.pl. Then in
the templates "moremember.tt", "circulation.tt", "memberentrygen.tt",
"opac-reserve.tt" and "opac-user.tt" the value of "comment" is
check, if it's an automatical comment due to overdue process it'll
write "Restriction added by overdues process yyyy-mm-dd hh:mm:ss",
then if there is a customizable comment it will be written without
modification. Like this, the comment "Restriction added by overdues
process" is written in the po files and can be translated later.

To test:
1) create a patron with automatical restriction due to overdue process;
2) apply patch;
3) run misc/cronjobs/overdue_notices.pl;
4) verify if the comment "Restriction added by overdues process" is well
   written and translatable on the following page :
    - opac patron home page (opac-user.tt);
    - opac item reservation page (opac-reserve.tt);
    - pro patron page (moremember.tt);
    - reservation item for a patron (circulation.tt, memberentrygen.tt);
5) try to translate the comment in po files;
6) sign off.

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
6 years agoBug 3534 - DBRev 16.06.00.007
Kyle M Hall [Thu, 7 Jul 2016 18:36:25 +0000 (18:36 +0000)]
Bug 3534 - DBRev 16.06.00.007

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
6 years agoBug 3534: Force margin-left: 0 for second button
Jonathan Druart [Thu, 7 Jul 2016 14:36:47 +0000 (15:36 +0100)]
Bug 3534: Force margin-left: 0 for second button

When quick adding a new patron, both button are in the DOM and the
second button has a margin-left (from .btn-toolbar > .btn + .btn).
This patch force the margin-left to 0 to avoid the button to move when
toggling them.

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
6 years agoBug 3534 (QA Followup) Rebase and change floating save
Nick Clemens [Tue, 28 Jun 2016 16:57:00 +0000 (12:57 -0400)]
Bug 3534 (QA Followup) Rebase and change floating save

Bug 3534 - (QA Followup) Use single toolbar for regular/quickadd forms

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
6 years agoBug 3534 (QA Followup) Fix indentation, show guarantor form, ignore bad data in pref
Nick Clemens [Wed, 8 Jun 2016 17:39:02 +0000 (13:39 -0400)]
Bug 3534 (QA Followup) Fix indentation, show guarantor form, ignore bad data in pref

Switch incorrect == to != when checking skipped fields

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
6 years agoBug 3534 - QA Followup - use floating save
Nick Clemens [Wed, 11 May 2016 15:17:12 +0000 (11:17 -0400)]
Bug 3534 - QA Followup - use floating save

I am not sure if this is desired, it makes sense for consistency but
floats in a wierd place for a short form.

Signed-off-by: Marc Véron <veron@veron.ch>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
6 years agoBug 3534 - Patron quick add form
Nick Clemens [Fri, 4 Mar 2016 21:34:07 +0000 (21:34 +0000)]
Bug 3534 - Patron quick add form

This patch adds a new system preference:
    PatronQuickAddFields

When either this pref or BorrowerMandatoryField is populated this will add a new dropdown to the bew patron toolbar.
When a category is chosen from this dropdown the fields in PatronQuickAddFields and BorrowerMandatoryField will be displayed.
There will be a button allowing a user to switch from the quickadd to the full form and fields will be copied between the forms when toggling.

The Quick add will only be displayed on add of a new patron, future edits should display the full form.

Test plan:
 1 - Apply patch
 2 - run updatedatabase.pl
 3 - Add a new patron and ensure nothing has changed
 4 - Populate either PatronQuickAddFields or BorrowerMandatory fields
 and note the new button for adding a patron
 5 - Click the Quick add and choose a type
 6 - Only required or quick add fields should be displayed
 7 - Verify toggling forms copies information
 8 - Ensure you cannot save patron without filling required fields
 (quick add fields should be optional)
 9 - Ensure you can save patron with fields filled out
10 - Ensure that a duplicate patron brings up the duplicate/add new
buttons with full form displayed
11 - Verify that subsequent edits use only full form
12 - Verify that data on form submitted is the data saved to patron
13 - Test with various values in both MandatoryBorrowerFields and PatronQuickAddFields

Sponsored by: VOKAL (Vermont Organization of Koha Automated Libraries)

Followed test plan, works as expected.
Re-tested together with followup, works as expected (2016-06-02)
Signed-off-by: Marc Véron <veron@veron.ch>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
6 years agoBug 14048: (RM followup) DB version 16.06.00.006
Jesse Weaver [Thu, 7 Jul 2016 17:02:53 +0000 (11:02 -0600)]
Bug 14048: (RM followup) DB version 16.06.00.006

Signed-off-by: Jesse Weaver <jweaver@bywatersolutions.com>
6 years agoBug 14048: (QA followup) Default to 1 if no default rule
Tomas Cohen Arazi [Mon, 27 Jun 2016 13:17:20 +0000 (10:17 -0300)]
Bug 14048: (QA followup) Default to 1 if no default rule

This patch answers Jonathan's request to simplify this patchset a bit.

It removes the need for the .sql file, as _default_rule now defaults to
a fixed value (1, which was set by the removed .sql file).
This allowed to remove the overloaded ->delete method.

The tests have been adjusted to reflect this changes, including tests for
the new 'default'-if-absent situation.

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Jesse Weaver <jweaver@bywatersolutions.com>
6 years agoBug 14048: Use mock_preference in tests
Jonathan Druart [Sun, 26 Jun 2016 07:19:12 +0000 (08:19 +0100)]
Bug 14048: Use mock_preference in tests

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Jesse Weaver <jweaver@bywatersolutions.com>
6 years agoBug 14048: (QA folloup) C4::Context->preference should be used
Tomas Cohen Arazi [Sat, 25 Jun 2016 15:37:15 +0000 (12:37 -0300)]
Bug 14048: (QA folloup) C4::Context->preference should be used

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Jesse Weaver <jweaver@bywatersolutions.com>
6 years agoBug 14048: (followup) Use the original holding branch
Tomas Cohen Arazi [Tue, 21 Jun 2016 18:18:51 +0000 (15:18 -0300)]
Bug 14048: (followup) Use the original holding branch

This patch picks the item's holding branch *before* it gets fixed
by using the checkin library instead. This way the RefundLostOnReturnControl
syspref set to ItemHoldingBranch is respected (otherwise, as Nick explained
this behaves just like if CheckinLibrary was set)

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Jason Robb <jrobb@sekls.org>
Signed-off-by: Jennifer Schmidt <jschmidt@switchinc.org>
Signed-off-by: Margaret Thrasher <p.thrasher@dover.nh.gov>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Jesse Weaver <jweaver@bywatersolutions.com>
6 years agoBug 14048: (QA followup) Fix typo on syspref value
Tomas Cohen Arazi [Fri, 17 Jun 2016 13:33:22 +0000 (10:33 -0300)]
Bug 14048: (QA followup) Fix typo on syspref value

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Jason Robb <jrobb@sekls.org>
Signed-off-by: Jennifer Schmidt <jschmidt@switchinc.org>
Signed-off-by: Margaret Thrasher <p.thrasher@dover.nh.gov>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Jesse Weaver <jweaver@bywatersolutions.com>
6 years agoBug 14048: (QA followup) Update syspref name for HEA
Tomas Cohen Arazi [Wed, 15 Jun 2016 19:18:38 +0000 (16:18 -0300)]
Bug 14048: (QA followup) Update syspref name for HEA

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Jason Robb <jrobb@sekls.org>
Signed-off-by: Jennifer Schmidt <jschmidt@switchinc.org>
Signed-off-by: Margaret Thrasher <p.thrasher@dover.nh.gov>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Jesse Weaver <jweaver@bywatersolutions.com>
6 years agoBug 14048 [QA Followup] - Delete only the removed system preference
Kyle M Hall [Mon, 13 Jun 2016 11:17:42 +0000 (11:17 +0000)]
Bug 14048 [QA Followup] - Delete only the removed system preference

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Jason Robb <jrobb@sekls.org>
Signed-off-by: Jennifer Schmidt <jschmidt@switchinc.org>
Signed-off-by: Margaret Thrasher <p.thrasher@dover.nh.gov>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Jesse Weaver <jweaver@bywatersolutions.com>
6 years agoBug 14048: Add syspref and atomic update
Tomas Cohen Arazi [Fri, 3 Jun 2016 14:24:07 +0000 (11:24 -0300)]
Bug 14048: Add syspref and atomic update

This patch introduces the changes to the sysprefs and the atomic update
that creates the new table.

It picks the syspref value for RefundLostItemFeeOnReturn and uses it to
create a default (branchcode='*') rule on the new table.

Sponsored-by: DoverNet
Sponsored-by: South-East Kansas Library System
Sponsored-by: SWITCH Library Consortium
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Jason Robb <jrobb@sekls.org>
Signed-off-by: Jennifer Schmidt <jschmidt@switchinc.org>
Signed-off-by: Margaret Thrasher <p.thrasher@dover.nh.gov>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Jesse Weaver <jweaver@bywatersolutions.com>
6 years agoBug 14048: [QA Followup]
Kyle M Hall [Thu, 9 Jun 2016 16:48:07 +0000 (16:48 +0000)]
Bug 14048: [QA Followup]

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Jason Robb <jrobb@sekls.org>
Signed-off-by: Jennifer Schmidt <jschmidt@switchinc.org>
Signed-off-by: Margaret Thrasher <p.thrasher@dover.nh.gov>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Jesse Weaver <jweaver@bywatersolutions.com>
6 years agoBug 14048: Hook new rules into C4::Circulation
Tomas Cohen Arazi [Fri, 3 Jun 2016 14:26:42 +0000 (11:26 -0300)]
Bug 14048: Hook new rules into C4::Circulation

This patch makes AddIssue and AddReturn use the new implementation

The behaviour should respect the specification.

Sponsored-by: DoverNet
Sponsored-by: South-East Kansas Library System
Sponsored-by: SWITCH Library Consortium
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Jason Robb <jrobb@sekls.org>
Signed-off-by: Jennifer Schmidt <jschmidt@switchinc.org>
Signed-off-by: Margaret Thrasher <p.thrasher@dover.nh.gov>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Jesse Weaver <jweaver@bywatersolutions.com>
6 years agoBug 14048: Add a refund rules setting form in smart-rules
Tomas Cohen Arazi [Fri, 3 Jun 2016 14:26:11 +0000 (11:26 -0300)]
Bug 14048: Add a refund rules setting form in smart-rules

This patch introduces the CRUD UI for managing the refund lost item fee
rules on the general 'Circulation and fines rules' page.

Verify that rules can be added and changed.

Rules are correctly associated to the chosen branch (or the
general default rule).

To test:
- Apply the patch
- Open smart-rules.pl
=> SUCCESS: The text and refund rules section correctly refers to default global rules.
   The policy can be set to Yes and No, and works as expected.
- Pick a specific branch
=> SUCCESS: The rule refers to the specific branch
=> SUCCESS: It detects the default rule is picked
=> SUCCESS: On changing the rules values are correctly retrieved if entering
   again to the page.
=> SUCCESS: The 'Use default' text is suffixed with the correct value set by the user
   in the 'All libraries' scenario.
=> Sign off :-D

Sponsored-by: DoverNet
Sponsored-by: South-East Kansas Library System
Sponsored-by: SWITCH Library Consortium
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Jason Robb <jrobb@sekls.org>
Signed-off-by: Jennifer Schmidt <jschmidt@switchinc.org>
Signed-off-by: Margaret Thrasher <p.thrasher@dover.nh.gov>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Jesse Weaver <jweaver@bywatersolutions.com>
6 years agoBug 14048: Unit tests
Tomas Cohen Arazi [Fri, 3 Jun 2016 14:25:15 +0000 (11:25 -0300)]
Bug 14048: Unit tests

This patch introduces unit tests for the feature.
To test:
- Have all patches from this bug applied
- Run:
  $ prove -v t/db_dependent/RefundLostItemFeeRule.t
=> SUCCESS: All tests pass!

Sponsored-by: DoverNet
Sponsored-by: South-East Kansas Library System
Sponsored-by: SWITCH Library Consortium
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Jason Robb <jrobb@sekls.org>
Signed-off-by: Jennifer Schmidt <jschmidt@switchinc.org>
Signed-off-by: Margaret Thrasher <p.thrasher@dover.nh.gov>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Jesse Weaver <jweaver@bywatersolutions.com>
6 years agoBug 14048: Add RefundLostItemFeeRule table and classes
Tomas Cohen Arazi [Fri, 3 Jun 2016 14:23:20 +0000 (11:23 -0300)]
Bug 14048: Add RefundLostItemFeeRule table and classes

This patch introduces new classes for handling refund lost item fee
rules. It introduces a new table for storing this rules.

It is designed so it is possible to define a global rule, and then
branch-specific ones. The specific is prefered if available.

This behaviour is fully tested by unit tests introduced by the following patches.

This cannot be tested on its own.

Sponsored-by: DoverNet
Sponsored-by: South-East Kansas Library System
Sponsored-by: SWITCH Library Consortium
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Jason Robb <jrobb@sekls.org>
Signed-off-by: Jennifer Schmidt <jschmidt@switchinc.org>
Signed-off-by: Margaret Thrasher <p.thrasher@dover.nh.gov>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Jesse Weaver <jweaver@bywatersolutions.com>
6 years agoBug 16772 - Change label from 'For:' to 'Library:' to ease translation
Marc Véron [Sun, 19 Jun 2016 16:10:06 +0000 (18:10 +0200)]
Bug 16772 - Change label from 'For:' to 'Library:' to ease translation

This patch changes the label from "For:" to "Library:" in the
acquisition information filter on the suggestions page in staff client.

To test:
- Apply patch
- Go to Home > Acquisitions > Suggestions management
- Verify that label reads as appropriate (in filter
  Acquisition information)

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
6 years agoBug 16770: Remove 2 other occurrences of libmemoize-memcached-perl
Jonathan Druart [Tue, 21 Jun 2016 11:36:38 +0000 (12:36 +0100)]
Bug 16770: Remove 2 other occurrences of libmemoize-memcached-perl

Signed-off-by: Jacek Ablewicz <abl@biblos.pk.edu.pl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
6 years agoBug 16770: Remove Memoize::Memcached dependency
Jonathan Druart [Sat, 18 Jun 2016 14:22:35 +0000 (15:22 +0100)]
Bug 16770: Remove Memoize::Memcached dependency

This module is no longer in use and can be removed.

Signed-off-by: Jacek Ablewicz <abl@biblos.pk.edu.pl>
This part involves some changes in a bunch of mysterious debian|ubuntu
related files, not quite sure if I know what I'm doing
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
6 years agoBug 16770: Remove wrong caching of 3 subroutines in C4::Lancuages
Jonathan Druart [Sat, 18 Jun 2016 14:21:28 +0000 (15:21 +0100)]
Bug 16770: Remove wrong caching of 3 subroutines in C4::Lancuages

ooking at this code, you might think these subroutines are cached, but
actually they are not.

The eval surrounding the code hides a bug, if you remove it, you will
get:
  Invalid memcached argument (expected a hash)

Test plan:
Do not apply this patch and confirm that the code does not work

Signed-off-by: Jacek Ablewicz <abl@biblos.pk.edu.pl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
6 years agoBug 16768 - DBRev 16.06.00.005
Kyle M Hall [Fri, 24 Jun 2016 14:03:41 +0000 (14:03 +0000)]
Bug 16768 - DBRev 16.06.00.005

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
6 years agoBug 16768: Update options in sysprefs.sql
Jonathan Druart [Sun, 19 Jun 2016 10:43:18 +0000 (11:43 +0100)]
Bug 16768: Update options in sysprefs.sql

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
6 years agoBug 16768: (followup) Add Swiss format for datatables (format_price.inc)
Marc Véron [Sat, 18 Jun 2016 14:38:39 +0000 (16:38 +0200)]
Bug 16768: (followup) Add Swiss format for datatables (format_price.inc)

This patch adds CH price format to:
koha-tmpl/intranet-tmpl/prog/en/includes/format_price.inc
(as of comment #6)

Signed-off-by: Mirko Tietgen <mirko@abunchofthings.net>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
6 years agoBug 16768: Update systempreferences.options (additional value CH)
Marc Véron [Sat, 18 Jun 2016 14:15:25 +0000 (16:15 +0200)]
Bug 16768: Update systempreferences.options (additional value CH)

As of comment #5, adding file
installer/data/mysql/atomicupdate/bug_Bug_16768_official_number_format_switzerland.sql

Signed-off-by: Mirko Tietgen <mirko@abunchofthings.net>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
6 years agoBug 16768: Add tests for Swiss number format
Marc Véron [Sat, 18 Jun 2016 07:16:58 +0000 (09:16 +0200)]
Bug 16768: Add tests for Swiss number format

Testplan:
- Apply patch
- Run t/Number/Price.t

Signed-off-by: Mirko Tietgen <mirko@abunchofthings.net>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
6 years agoBug 16768 - Add official number format for Switzerland: 1'234'567.89
Marc Véron [Sat, 18 Jun 2016 06:17:03 +0000 (08:17 +0200)]
Bug 16768 - Add official number format for Switzerland: 1'234'567.89

This patch adds the official number format for Switzerland (CH) and makes
it selectable in syspref 'CurrencyFormat'

To test:
- Apply patch
- Set syspref 'CurrencyFormat' to '360'000.00 (CH)'
- Go to Home > Administration > Budgets administration
- Create or edit a budget with Total amount of 1234567.89
- Verify that the amount appears properly formated as 1'234'567.89

Signed-off-by: Mirko Tietgen <mirko@abunchofthings.net>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
6 years agoBug 16745 - Add edit catalog and edit items links to serials toolbar
Kyle M Hall [Wed, 15 Jun 2016 12:21:26 +0000 (12:21 +0000)]
Bug 16745 - Add edit catalog and edit items links to serials toolbar

It would be very helpful for librarians to have links directly to the
record and items editor from a serial. Right now moving from the serial
to those editors requires jumping through a number of pages.

Test Plan:
1) Apply this patch
2) Browse subscription-detail.pl for a given serial
3) Under the Edit button, note the "Edit record" link
4) Verify the link takes you to the marc editor for that record
5) Create or find a serial that is set to create items on receiving
6) Under the Edit button, note the new "Edit items" link
7) Verify the link takes you to the items editor for that record
8) Create of find a serial that is *not* set to create items on receiving
9) Verify the "Edit items" link does not exists for that serial

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
6 years agoBug 16651: Notes field blank for 952$z in opac-course-details.pl
Nick Clemens [Mon, 6 Jun 2016 15:28:39 +0000 (11:28 -0400)]
Bug 16651: Notes field blank for 952$z in opac-course-details.pl

This patch changes course reserves to check for item notes form the
course reserve and fallback to itemlevel notes if they are empty

To test:
1 - Enabvle course reserves
2 - Add some items
3 - Make sure the items have notes at the item level and not at course
reserves
4 - Notes don't display in staff or opac
5 - Apply patch
6 - Notes display in staff and opac
7 - Add notes at course reserves level
8 - These override the item level notes

Signed-off-by: Hector Castro <hector.hecaxmmx@gmail.com>
Works as advertised

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
6 years agoBug 16602 - Remove the use of "onclick" from several templates
Owen Leonard [Wed, 11 May 2016 12:56:15 +0000 (08:56 -0400)]
Bug 16602 - Remove the use of "onclick" from several templates

This patch removes the use of "onclick" from several templates, instead
defining click events in JavaScript.

Also changed: Some markup corrections.

To test, apply the patch and:

- Go to Circulation -> Upload offline circulation file
  - Browse for an offline circulation file.
  - Clicking the 'Upload file' button should work correctly.
    - After uploading a file, both the 'Add to offline circulation
      queue' and 'Apply directly' buttons should work to trigger their
      corresponding processes (keeping Bug 16603 in mind).

- Go to Patrons -> Patron lists.
  - For any patron list containing patrons, click the 'Print patron
    cards' menu item. This should trigger a modal window which exports
    the correct list.

- Go to Tools -> Batch item modification.
  - Submit a batch of items for modification.
  - Clicking the 'Save' button should trigger the background job and the
    items should be successfully modified.

- Go to Tools -> Batch item deletion.
  - Submit a batch of items for deletion.
  - Clicking the 'Delete' button should trigger the background job and
    the items should be successfully deleted.

- Go to Tools -> Calendar.
  - Trigger the 'Add new holiday' panel by clicking a day on the
    calendar which has no holiday defined.
  - Clicking the 'Cancel' link should hide the panel.
  - Trigger the 'Edit this holiday' panel by clicking a day which has a
    holiday defined.
  - Clicking the 'Cancel' link should hide the panel.

Signed-off-by: Frédéric Demians <f.demians@tamil.fr>
  Everything works as previously.

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
6 years agoBug 16601: Update of italian MARC21 files
Zeno Tajoli [Thu, 26 May 2016 13:34:56 +0000 (15:34 +0200)]
Bug 16601: Update of italian MARC21 files

This is the update for April 2016 changes of Library of Congress
The basic creation of the files is done in http://translate.koha-community.org/files/it/mandatory/

Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>
Both files load without problems.
No errors

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
6 years agoBug 16557 - Remove the use of "onclick" from several include files
Owen Leonard [Thu, 19 May 2016 13:41:24 +0000 (09:41 -0400)]
Bug 16557 - Remove the use of "onclick" from several include files

This patch modifies several include files, removing "onclick" attributes
in favor of defining events in JavaScript.

A reusable "toggle" function has been added to the global JS file so
that clicking elements with the class "toggle_element" will toggle the
display of elements as defined in the click target's "data-element"
attribute.

Also changed: In subtypes_unimarc.inc some capitalization errors have
been fixed and label/id pairs corrected.

To test, apply the patch and clear your browser cache if necessary.

- On the Acquisitions home page, click the "Orders search" header search
  tab. Clicking the [+] link should expand and collapse the additional
  search fields.

- On the checkout or patron detail page, view the "Restrictions" tab.
  Click to add a restriction and use the datepicker to select a date.
  Clicking the "Clear date" link should clear the date.

- Trigger the help window on any page. Clicking the "close window"
  button should work correctly.

- Go to Administration -> Patron categories -> Edit. Checking and
  unchecking messaging preference options should work correctly. The "do
  not notify" checkbox should clear other checkboxes in that row and
  vice versa.

- In Serials, from a subscription detail page, clicking the "Renew"
  button should trigger the renew popup.

- Go to Acquisitions -> Vendor -> Add to basket -> From a subscription.
  Clicking the "Advanced search" link in the left hand sidebar should
  toggle the sidebar search form.

- In a UNIMARC system, view the advanced search page. Clicking the "Show
  coded information filters" link should show additional search fields.
  (I tested in my MARC21 system by temporarily moving line 174 of
  advsearch.tt to line 172).

Signed-off-by: Claire Gravely <c.gravely@arts.ac.uk>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
6 years agoBug 16549 - Remove the use of "onclick" from header search forms
Owen Leonard [Thu, 19 May 2016 01:23:14 +0000 (21:23 -0400)]
Bug 16549 - Remove the use of "onclick" from header search forms

This patch removes the use of "onclick" from all header search forms for
the purpose of triggering the "keep_text" function. This behavior is now
handled in the globally-included JS file.

To test, apply the patch and clear your cache if necessary.

- Enter text in any header search form field. Click to each other tab
  in the header and confirm that your text is copied to each.
- Test the behavior of the header search form on at least one page where
  each is included:

  - The staff client home page
  - The advanced search page
  - The authorities home page
  - The administration home page
  - The cataloging home page
  - The checkin page
  - The circulation home page
  - The patrons home page
  - Acquisitions -> Vendor -> Contracts
  - Administration -> Cities
  - Administration -> Currencies and exchange rates
  - Administration -> Patron categories
  - Administration -> Printers (why is this page still around?)
  - Administration -> System preferences
  - Administration -> Z39.50/SRU servers
  - Tools -> Notices & slips

This patch modifies does not fix the existing (unreported) bug which
prevents the keep text function from working in the include file used on
these pages:

  - Acquisitions -> Vendor -> Basket -> New order from suggestion
  - Administration -> Budgets
  - The serials home page

Signed-off-by: Claire Gravely <c.gravely@arts.ac.uk>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
6 years agoBug 16513 - Improvements and fixes for quote upload process
Owen Leonard [Fri, 13 May 2016 13:59:53 +0000 (09:59 -0400)]
Bug 16513 - Improvements and fixes for quote upload process

This patch fixes some minor bugs and adds a small enhancement to the
quotes editor and quotes upload pages.

To test, apply the patch and go to Tools -> Quote editor

- In the table of quotes, clicking the "ID" table header should trigger
  an alert, "Click on the quote's ide to select..."
- Go to "Import quotes" and select a file to upload.
- On the upload preview page you should see a new "Cancel import"
  button. Clicking it should return you to the quotes upload page after
  asking for confirmation.
- Test the upload cancel button:
  - If you have fast reflexes or are uploading a file large enough, you
    should be able to see a "Cancel upload" button during the upload
    process.
  - Clicking this button should cancel the upload and return you to the
    quote upload page.

Tested on top of Bug 16589, works as expected.
Signed-off-by: Marc Véron <veron@veron.ch>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
6 years agoBug 16494 - Remove the use of "onclick" from some patron pages
Owen Leonard [Tue, 10 May 2016 18:56:14 +0000 (14:56 -0400)]
Bug 16494 - Remove the use of "onclick" from some patron pages

This patch removes the use of "onclick" attributes from some patron
pages.

To test, apply the patch and:

- In Patrons, perform any search which will return multiple results.
  Confirm that the "select all" and "clear all" links work as expected.
  Font Awesome icons have been added to these links.

  In the left-hand sidebar, change any of the filters and click the
  "Clear" button. The form (and your search results) should reset.

- Open the 'Set permissions' page for any patron. Checking any
  permission with sub-permissions should correctly expand the tree and
  select all sub-permissions. The reverse should also work.

  Also changed in this file: The "Inconsistency detected" alert has been
  reformatted to make it translatable.

- View the detail page for a patron with one or more restrictions.
  Clicking the "View restrictions" link at the top of the page should
  jump you to and activate the restrictions tab.

- View the 'Notices' tab for a patron who has been sent one or more
  notices. Click any notice title to expand the notice. Clicking the
  "resend" button should resend the notice.

- Create a new patron with the same first and last name as an existing
  patron. This should trigger a duplicate warning message. Click the
  "View existing record" link to trigger a pop-up window with a patron
  detail brief view.

  In this window an "email" class has been added to the primary and
  secondary email lines so that long email addresses don't overlap the
  second column of data.

  Confirm that clicking the "close" button in this window closes the
  window. The changes to staff-global.css are included in this patch to
  prevent the close button from having an incorrect color change on
  hover.

Signed-off-by: FILIPPOS KOLOVOS <f.kolovos@gmail.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
6 years agoBug 16490: Tidy updateLink and updateAllLinks
Jonathan Druart [Sat, 18 Jun 2016 15:39:45 +0000 (16:39 +0100)]
Bug 16490: Tidy updateLink and updateAllLinks

Went through test plan, works as expected.
Signed-off-by: Marc Véron <veron@veron.ch>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
6 years agoBug 16490 - Add an "add to cart" link for each search results in the staff client
Owen Leonard [Tue, 10 May 2016 01:14:17 +0000 (21:14 -0400)]
Bug 16490 - Add an "add to cart" link for each search results in the staff client

This patch adds an "add to cart" link to each line of search results in
the staff client.

To test, apply the patch and clear your browser cache if necessary.

- Enable the intranetbookbag system preference.
- Perform a search which will return multiple search results.
- Each result should have an "Add to cart" link.
  - Clicking the "Add to cart" link should add the title to the cart,
    triggering the correct pop-up message and changing the link to read
    "In your cart (remove)."
  - Clicking the "remove" link should remove the title from your cart
    and trigger the correct messages.
- Add multiple titles to your cart and perform the same search again.
  Each result should correctly indicate which titles are already in your
  cart.
- Open the cart popup window.
  - Check the checkbox for one or more titles in your cart and choose
    "Remove." The titles should be removed, and the "In your cart" label
    in the search results page should reflect that the titles are no
    longer in the cart.
  - Choose "Empty and close." All titles in the parent page should now
    indicate that they are not in the cart.
- Disable the intranetbookbag preference and confirm that the "Add to
  cart" links are no longer there.

Followed test plan. Works as expected.
Signed-off-by: Marc Véron <veron@veron.ch>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
6 years agoBug 16477 - Improve staff client cart JavaScript and template
Owen Leonard [Mon, 9 May 2016 15:15:28 +0000 (11:15 -0400)]
Bug 16477 - Improve staff client cart JavaScript and template

This patch makes several changes to the cart JavaScript and template. In
the template:

- Remove "onclick" attributes in favor of defining events in the
  JavaScript.
- Add a [% BLOCK %] section for some repeated markup.
- Add some Font Awesome icons (I didn't add icons to all controls
  because I thought it looked cluttered).
- Move the batch modification control out of the toolbar and into the
  group of controls which affects selected records. I think this is a
  logical grouping, and makes more sense than having a drop-down menu in
  the toolbar with a single menu item.

JavaScript:

- Created separate "cart.js" file so that JS could be moved out of the
  template without loading up basket.js with event functions which are
  not needed on every page in the staff client.
- Fix JSHint errors.

To test, apply the patch and clear your browser cache if necessary.

- Add multiple items to the cart in the staff client and open the cart.
- Confirm correct functionality of these toolbar buttons:
  - "More details" (and the corresponding "Show less")
  - "Send"
  - "Print"
  - "Empty and close"
- Confirm the correct functionality of all the selection controls:
  Select all, clear all, Remove, Add to a list, Place hold, Batch
  modify, and Batch delete.
- Confirm that clicking any title in the cart opens the correct detail
  page in the parent window.

Followed test plan, works as expected.
Signed-off-by: Marc Véron <veron@veron.ch>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
https://bugs.koha-community.org/show_bug.cgi?id=1647

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
6 years agoBug 16472: Update MARC21 de-DE frameworks to update 22 (April 2016)
Katrin Fischer [Mon, 9 May 2016 21:26:51 +0000 (23:26 +0200)]
Bug 16472: Update MARC21 de-DE frameworks to update 22 (April 2016)

To test:
1) Start with a fresh database
2) Check mandatory bibliographic and authority files
   load without problem using the German web installer
3) Check new fields/subfields are ok

Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>
Not a german speaker but seems right :)
File loads without problem.
No errors

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
6 years agoBug 16469 - Remove the use of "onclick" from some catalog pages
Owen Leonard [Fri, 6 May 2016 15:40:00 +0000 (11:40 -0400)]
Bug 16469 - Remove the use of "onclick" from some catalog pages

This patch removes the use of "onclick" attributes from two
catalog-related templates: The local cover image viewer and the search
results page. Events are now defined in JavaScript.

To test:

On the search results page:

- Perform a catalog search which will return multiple results.
- On the search results page, confirm that the "Select all" and "Clear
  all" links at the top of the results table work correctly.

In the local cover image viewer:

- The LocalCoverImages and AllowMultipleCovers system preferences must
  enabled, and at least one catalog record must have at least two local
  cover images attached.
- Locate that record in the catalog and view the detail page for it.
- Click the cover image in the "Images" tab to go to the image viewer
  page.
- Clicking each local cover image thumnail should correctly display the
  larger version of each image.

Signed-off-by: Nikos Chatzakis, Afrodite Malliari <nchatzakis@datascouting.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
6 years agoBug 16468 - Remove last "onclick" from the stage MARC records template
Owen Leonard [Fri, 6 May 2016 16:15:33 +0000 (12:15 -0400)]
Bug 16468 - Remove last "onclick" from the stage MARC records template

This patch reviseds the stage MARC records template, removing
one more "onclick" attribute from the markup and defining that event in
the script.

This patch also corrects a missing quotation mark in the HTML. I have
done some reindentation to that section.

To test, apply the patch and go to Tools -> Stage MARC records for
import.

- Select a MARC file for import.
- Click the "Upload file" button.
- Click the "Stage for import" button. Your import should be correctly
  staged.

Signed-off-by: Claire Gravely <c.gravely@arts.ac.uk>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
6 years agoBug 16400 [Follow-up] Proposal to uniform the placement of submit buttons
Owen Leonard [Mon, 16 May 2016 18:01:34 +0000 (14:01 -0400)]
Bug 16400 [Follow-up] Proposal to uniform the placement of submit buttons

This follow-up makes some corrections to the markup of the cancel
button:

- Use <a> instead of <button> to eliminate the need for an "onclick"
  attribute.
- Remove the "cancel" class which adds unwanted padding.
- Correct the destination of the cancel button when cancelling during an
  edit (should redirect to the patron detail page).

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
6 years agoBug 16400: Use the fa-times icon for Cancel
Jonathan Druart [Mon, 16 May 2016 10:56:04 +0000 (11:56 +0100)]
Bug 16400: Use the fa-times icon for Cancel

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
6 years agoBug 16400: Restore the previous stack order behavior
Jonathan Druart [Fri, 13 May 2016 14:04:47 +0000 (15:04 +0100)]
Bug 16400: Restore the previous stack order behavior

When updating the plugin, the stack order behavior has changed. This
patch restores the prevous behavior (not always z-index: 1000)

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
6 years agoBug 16400: Reintroduce the floating class
Jonathan Druart [Tue, 3 May 2016 14:03:38 +0000 (15:03 +0100)]
Bug 16400: Reintroduce the floating class

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
6 years agoBug 16400: Let's hack the fixFloat plugin to fix our needs
Jonathan Druart [Fri, 29 Apr 2016 18:01:10 +0000 (19:01 +0100)]
Bug 16400: Let's hack the fixFloat plugin to fix our needs

On comment bug 11088 comment 2, Owen explained the problem with the
fixFloat toolbar. Since we have a hidden div, the plugin does not manage
to place the toolbar correctly.
In order to make it work, this patch adds some changes to the plugin to
add the ability to define our own offset.
When the div is extended (+, filteraction_on), the offset should be
updated to move the toolbar. Same when the div is folded (-,
filteraction_off)

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
6 years agoBug 16400: Update the fixFloat plugin
Jonathan Druart [Fri, 29 Apr 2016 17:17:01 +0000 (18:17 +0100)]
Bug 16400: Update the fixFloat plugin

I have updated it just in case it fixed the issue.
I don't think there are big changes between our current version and this
one, so keep it up-to-date

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
6 years agoBug 15485 - DBRev 16.06.00.004
Kyle M Hall [Fri, 24 Jun 2016 13:32:35 +0000 (13:32 +0000)]
Bug 15485 - DBRev 16.06.00.004

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
6 years agoBug 15485: (QA followup) Simplify logic and use *ResultsDisplay value during upgrade
Tomas Cohen Arazi [Wed, 22 Jun 2016 17:52:03 +0000 (14:52 -0300)]
Bug 15485: (QA followup) Simplify logic and use *ResultsDisplay value during upgrade

This patch makes the new sysprefs work as the previously defined. Instead of falling back
to what *ResultsDisplay is set, it now has its own 'default' (that still defaults to the
*Results*.xslt).

The default values are set to 'default' as the rest of XSLT-related sysprefs, and the upgrade
picks whatever is set in OPACXSLTResultsDisplay and XSLTResultsDisplay so current behaviour
is preserved.

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Hector Castro <hector.hecaxmmx@gmail.com>
New XSLTs for Lists work as advertised

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
6 years agoBug 15485: (QA followup) Fix behaviour and default values
Tomas Cohen Arazi [Tue, 14 Jun 2016 16:16:13 +0000 (13:16 -0300)]
Bug 15485: (QA followup) Fix behaviour and default values

Jonathan noticed the current behaviour is that the lists rendering
falls back to the XSLTResults, and if not defined (i.e. != 'default' and
!= some_path) it falls back to a legacy display (non-XSLT).

The patchset changed this behaviour because 'default' is not a valid value
for the lists. So it should fallback to the current behaivour (i.e. Results
XSLT configuration) if not defined. This patch fixes this by adding
 || C4::Context->preference('XSLTResultsDisplay')
(and the OPAC counterpart).

It also fixes minor glitches on the update message (oops) and bad default value
in sysprefs.sql  for 'XSLTListsDisplay'.

Thanks Jonathan!

Signed-off-by: Hector Castro <hector.hecaxmmx@gmail.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
6 years agoBug 15485: Use lists-specific XSLT sysprefs
Tomas Cohen Arazi [Wed, 8 Jun 2016 02:58:38 +0000 (23:58 -0300)]
Bug 15485: Use lists-specific XSLT sysprefs

This patch makes the shelves.pl (staff) and opac-shelves.pl scripts
use the new sysprefs for specifying custom XSLTs for lists display.

XSLT.pm is patched so it defaults to the corresponding *Results.xsl
files if none is specified.

To test:
- Create a list
- Open the list in the staff interface
- On a new tab, open the list in the OPAC.
- Apply this patches
=== default behaviour
- Open the list (both opac and staff) on new tabs
=> SUCCESS: They look exactly the same (hint: the syspref is set to ''
   so it should fallback to using the one we were using.
=== using the new functionality
- Create custom XSLTs for lists, for example:
  $ cd /home/vagrant/kohaclone/koha-tmpl/opac-tmpl/bootstrap/en/xslt
  $ cp MARC21slim2OPACResults.xsl MARC21slim2OPACLists.xsl
- Edit your sysprefs, setting OPACXSLTListsDisplay to:
  /home/vagrant/kohaclone/koha-tmpl/opac-tmpl/bootstrap/{langcode}/xslt/MARC21slim2OPACLists.xsl
- Reload the OPAC list view
=> SUCCESS: Looks exactly as before
- Make some minor tweak (for example in line 423 replace
  <xsl:text> </xsl:text>
for
  <xsl:text> BLAH </xsl:text>
- Reload the list
=> SUCCESS: BLAH shows in several places on the title.
- Repeat for the staff interface
- Sign off :-D

So we can now set custom XSLTs for lists.

Sponsored-by: Carnegie Stout Library
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Deb Stephenson <DStephen@dubuque.lib.ia.us>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
6 years agoBug 15485: Introduce new sysprefs for lists XSLTs
Tomas Cohen Arazi [Wed, 8 Jun 2016 02:55:25 +0000 (23:55 -0300)]
Bug 15485: Introduce new sysprefs for lists XSLTs

This patch introduces two new sysprefs, allowing the users to
set custom XSLTs for lists display. This is done almost the usual
way.

If none is specified (value='') it defaults to the current behaviour:
using the *Results.xsl file for the corresponding interface.

Sponsored-by: Carnegie Stout Library
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Deb Stephenson <DStephen@dubuque.lib.ia.us>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
6 years agoBug 3669 [QA Followup] - Give the text area some breathing room
Kyle M Hall [Fri, 24 Jun 2016 13:26:51 +0000 (13:26 +0000)]
Bug 3669 [QA Followup] - Give the text area some breathing room

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
6 years agoBug 3669: Remove parameters passed to action of form
Jonathan Druart [Sun, 12 Jun 2016 10:08:44 +0000 (11:08 +0100)]
Bug 3669: Remove parameters passed to action of form

Sounds weird to pass parameters to the action of a POST form.
This patch adds a workaround.

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
6 years agoBug 3669: Moving 'Add a new message' into a pop up box and adding to patron toolbar
Aleisha [Thu, 24 Mar 2016 00:28:42 +0000 (00:28 +0000)]
Bug 3669: Moving 'Add a new message' into a pop up box and adding to patron toolbar

This patch moves all the code into an include which can be accessed from the 'Add a new message' link or the patron toolbar.

EDIT: Ensuring modal opens on all pages
EDIT2: Once the form has been submitted the page will redirect to where you submitted the form from.
EDIT3: Fixing indentation of member-add-message.inc
       Ensuring messages save on every page
       Fill branch
       Ensure predefined notes appear
       Form redirects to where it was submitted from, or just the circulation page.
EDIT4: Removing the new include file and moving it all into the modal in the toolbar
EDIT5: Removing swp file and unnecessary code duplication by utilising plugins
EDIT6: Batch checkout fixes
EDIT7: Ensure you do not get JS error from Comment 24 (Batch checkout syspref must be turned on)

To test:
1) Go to a patron circ page (circ/circulation.pl?borrowernumber=X)
2) Click 'Add a new message' under Messages
3) Confirm this brings up the modal to add a message. Confirm clicking Save saves your message. If it is an OPAC message (for the user), confirm it shows as expected on the OPAC.
4) Click Cancel. Confirm this closes the modal.
5) Click 'Add message' button in toolbar. Complete steps 3 and 4.
6) Confirm the modal opens from all other pages with the members toolbar. Confirm predefined notes shows.
circ/circulation.pl
members/moremember.pl
members/routing-lists.pl
members/statistics.pl
members/boraccount.pl
members/pay.pl
members/maninvoice.pl
members/mancredit.pl
members/readingrec.pl
members/notices.pl
members/member-flags.pl
members/member-password.pl
members/paycollect.pl
members/files.pl
        turn on BatchCheckouts syspref and put in appropriate patron category
        circ/circulation.pl?borrowernumber=X&batch=1
7) Confirm that the page redirects to where you submitted the form from once you have submitted it.
8) Go to Check Out tab and confirm your message saved (or OPAC, wherever you saved it)

Sponsored-by: Catalyst IT
Followed test plan, works as expected. (Re-tested for comment #24)
Signed-off-by: Marc Véron <veron@veron.ch>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
6 years agoBug 16751: What is sitemaper?
Marcel de Rooy [Thu, 16 Jun 2016 11:03:30 +0000 (13:03 +0200)]
Bug 16751: What is sitemaper?

s/sitemaper/sitemapper/

Test plan:
Run t/db_dependent/Sitemapper.t

Signed-off-by: Marc Véron <veron@veron.ch>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
6 years agoBug 16718 - Translatability: Fix problems with sentence splitting by <strong> in...
Marc Véron [Mon, 13 Jun 2016 12:21:47 +0000 (14:21 +0200)]
Bug 16718 - Translatability: Fix problems with sentence splitting by <strong> in about.tt

This patch removes sentence splitting by <strong> tags in
koha-tmpl/intranet-tmpl/prog/en/modules/about.tt for better translatability.

Signed-off-by: Frédéric Demians <f.demians@tamil.fr>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
6 years agoBug 16697: Translatability: Fix problem with isolated "'s"in request.tt
Marc Véron [Thu, 9 Jun 2016 13:34:54 +0000 (15:34 +0200)]
Bug 16697: Translatability: Fix problem with isolated "'s"in request.tt

This patch fixes translation problems with tag-isolated 's in
koha-tmpl/intranet-tmpl/prog/en/modules/reserve/request.tt

The patch fixes it at two places. In consequence, some other texts
ares sigthly changed to make them look similar.

To test:
- Inspect code changes and verify that the new wording makes sense.

Signed-off-by: Frédéric Demians <f.demians@tamil.fr>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
6 years agoBug 16742: (follow-up)Remove unused template subject.tt
Hector Castro [Thu, 16 Jun 2016 15:54:29 +0000 (09:54 -0600)]
Bug 16742: (follow-up)Remove unused template subject.tt

Delete extra useless comment line:
"# if its a subject we need to use the subject.tt"

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
6 years agoBug 16742: Remove unused template subject.tt
Marc Véron [Wed, 15 Jun 2016 12:28:31 +0000 (14:28 +0200)]
Bug 16742: Remove unused template subject.tt

The template koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/subject.tt
is not used and can be removed.

To test:
- Apply patch
- Verify that catalogue/moredetail.pl works as before (go to a
  biblio with items and click 'Items' in left hand menu)

Signed-off-by: Hector Castro <hector.hecaxmmx@gmail.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
6 years agoBug 16736 - Keep branch filter when changing suggestion
Fridolin Somers [Tue, 14 Jun 2016 15:05:58 +0000 (17:05 +0200)]
Bug 16736 - Keep branch filter when changing suggestion

When changing suggestion, the selected tab is kept.
The same should be done with the selected branch.

Test plan:
- Go to suggestions table : /cgi-bin/koha/suggestion/suggestion.pl
- Select a branch in Acquisition information > For
- Select a pending suggestion
- Change status as accepted
- Click on Submit
=> without patch, the table is no longer filtered by branch
=> with patch, the table is filtered by branch

Works as expected.
Signed-off-by: Marc Véron <veron@veron.ch>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
6 years agoBug 16644: Plack: Use to_app to remove warning about Plack::App::CGIBin instance
Marcel de Rooy [Fri, 3 Jun 2016 09:31:44 +0000 (11:31 +0200)]
Bug 16644: Plack: Use to_app to remove warning about Plack::App::CGIBin instance

Using Plack with the debian psgi file, I get lots of warnings like:
WARNING: Automatically converting Plack::App::CGIBin instance to a PSGI code reference. If you see this warning for each request, you probably need to explicitly call to_app() i.e. Plack::App::CGIBin->new(...)->to_app in your PSGI file.

This patch is aimed to eliminate the warns.

Test plan:
Run Plack with plack.psgi or koha.psgi and verify if you do not see these
warnings anymore.

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
I tested on Jessie and I see no regressions.

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
6 years agoBug 16462 - Change default sorting of circulation patron search results to patron...
Owen Leonard [Wed, 25 May 2016 15:57:25 +0000 (11:57 -0400)]
Bug 16462 - Change default sorting of circulation patron search results to patron name

This patch changes the default sort of patron quick search results from
the circulation header search or when searching for a patron during the
hold process.

To test:

In Circulation:
- Perform a search by name for a patron which will
  return multiple search results.
- Confirm that the results are sorted by patron name.

In the catalog:
- Locate and place a hold on a title.
- When prompted to select a patron to place the hold for, perform a
  search by name which will return multiple results.
- Confirm that the results are sorted by patron name.

Followed test plan, works as expected.
Signed-off-by: Marc Véron <veron@veron.ch>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
6 years agoBug 16737 - Error when deleting EDIFACT message
Kyle M Hall [Tue, 14 Jun 2016 18:05:53 +0000 (18:05 +0000)]
Bug 16737 - Error when deleting EDIFACT message

If you try to delete an EDIFACT message it triggers an error:

Can't use string ("2") as a subroutine ref while "strict refs" in use at
/acqui/edifactmsgs.pl line 43.

Test Plan:
1) Attempt to delete an EDIFACT message
2) Note the error
3) Apply this patch
4) Attempt to delete an EDIFACT message again
5) Note it succeeds

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
6 years agoBug 16731: Use INSERT IGNORE when inserting a syspref
Jonathan Druart [Tue, 14 Jun 2016 10:36:30 +0000 (11:36 +0100)]
Bug 16731: Use INSERT IGNORE when inserting a syspref

IGNORE should be used to allow backporting (and local patch)

Signed-off-by: Frédéric Demians <f.demians@tamil.fr>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
6 years agoBug 16724: Fix link to the online documentation links
Jonathan Druart [Mon, 13 Jun 2016 17:19:46 +0000 (18:19 +0100)]
Bug 16724: Fix link to the online documentation links

Since the numbering changes, the online doc links are broken.

Test plan:
Make sure the online doc links work on the help pages.

Signed-off-by: Mirko Tietgen <mirko@abunchofthings.net>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
6 years agoBug 16708 - (QA followup) Fix pod copy/paste error
Nick Clemens [Wed, 22 Jun 2016 15:06:10 +0000 (11:06 -0400)]
Bug 16708 - (QA followup) Fix pod copy/paste error

Change Koha::Authority to Koha::MetadataRecord::Authority

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
6 years agoBug 16708: Fix authority reindex for ElasticSearch
Jonathan Druart [Fri, 10 Jun 2016 13:23:08 +0000 (14:23 +0100)]
Bug 16708: Fix authority reindex for ElasticSearch

The changes made to Koha::Authority has not been correctly fixed.
The code of Koha::Authority has been moved bo
Koha::MetadataRecord::Authority by bug 15380.

Test plan:
  perl misc/search_tools/rebuild_elastic_search.pl -a -v
should success

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
6 years agoBug 16705 - Add missing status to serials history in OPAC
NguyenDuyTinh [Fri, 10 Jun 2016 10:14:12 +0000 (10:14 +0000)]
Bug 16705 - Add missing status to serials history in OPAC

The bug is related to 10851. Due to add of status in 10851, status added were
missing in opac-detail.tt and opac-full-serial-issues.tt. The patch just added
these missing status.

To test:
1) Create New subscription in Serials, in Intranet
2) Do a search of the new subscription by Title
3) Take Serial receive as Actions to edit the status to Missing (<something>)
4) Go to Opac and Search the subscription created, by its title and See missing status
5) Apply patch, status must be showed.
6) Sign off

Followed test plan, works as expected.
Amended to format commit title and message.
Signed-off-by: Marc Véron <veron@veron.ch>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
6 years agoBug 16624: Fix regression displaying a letter with hours
Jonathan Druart [Tue, 7 Jun 2016 11:02:06 +0000 (12:02 +0100)]
Bug 16624: Fix regression displaying a letter with hours

Bug 13622 has introduced a bug, if pref TimeFormat is 12hr and a date is
displayed in both title and content of the letter.

Test plan:
1 - Checkout an item (with default time 11:59:00 PM)
2 - Generate a quickslip
3 - Notice the time is 'AM'
4 - Apply patch
5 - Generate quickslip
6 - Note time is correct

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
6 years agoBug 16624: Add regression tests
Jonathan Druart [Tue, 7 Jun 2016 11:00:59 +0000 (12:00 +0100)]
Bug 16624: Add regression tests

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
6 years agoBug 16612 - Cannot set "Until date" for "Enrollment period" for Patron Categories
Kyle M Hall [Fri, 27 May 2016 14:12:20 +0000 (14:12 +0000)]
Bug 16612 - Cannot set "Until date" for "Enrollment period" for Patron Categories

Attempting to set an "Until date" date for "Enrollment period" will
result in the date being accepted but not saved.

Test Plan:
1) Attempt to set an enrollment period until date for a new patron category
2) Note the period is not saved
3) Apply this patch
4) Attempt to set the enrollment period date again
5) This time it should save!

Signed-off-by: Andrew Brenza <abrenza@audubonlibrary.org>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
6 years agoBug 16591: Fix CSRF in opac-memberentry
Jonathan Druart [Thu, 26 May 2016 11:33:13 +0000 (12:33 +0100)]
Bug 16591: Fix CSRF in opac-memberentry

If an attacker can get an authenticated Koha user to visit their page
with the code below, they can update the victim's details to arbitrary
values.

Test plan:

Trigger
/cgi-bin/koha/opac-memberentry.pl?action=update&borrower_B_city=HACKED&borrower_firstname=KOHA&borrower_surname=test

=> Without this patch, the update will be done (or modification
request)
=> With this patch applied you will get a crash "Wrong CSRF token" (no
need to stylish)

Do some regression tests with this patch applied (Update patron infos)

QA note: I am not sure it's useful to create a digest of the DB pass,
but just in case...

Reported by Alex Middleton at Dionach.

Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
6 years agoBug 11490 - DBRev 16.06.00.003
Kyle M Hall [Fri, 24 Jun 2016 11:53:02 +0000 (11:53 +0000)]
Bug 11490 - DBRev 16.06.00.003

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
6 years agoBug 11490: Split MaxItemsForBatch into 2 prefs to clarify things
Jonathan Druart [Wed, 11 May 2016 13:10:49 +0000 (14:10 +0100)]
Bug 11490: Split MaxItemsForBatch into 2 prefs to clarify things

Prior to this patch, a single pref (MaxItemsForBatch) was used to
restrict the use of the batch item modification and deletion.

On the batch modification tool, the pref is used to limit the number of
items a librarian is allowed to modify in a batch, but on the batch
deletion tool the pref is used to limit the number of items to display.

To clarify things, this patch split the pref into 2 new prefs:
MaxItemsToDisplayForBatchDel and MaxItemsToProcessForBatchMod.

Later we could add a MaxItemsToProcessForBatchDel if needed.
Note that this patch should not introduce any changes in the current behaviors.

Test plan:
0/ Do not execute the update DB entry
1/ Set a value != 1000 for MaxItemsForBatch
2/ Execute the update DB entry and confirm that the 2 new prefs are
initially set with the value of MaxItemsForBatch and that
MaxItemsForBatch has been deleted
3/ Set different values for these 2 prefs (2 and 3 for instance to ease
the next steps)
4/ Try to delete less than MaxItemsToDisplayForBatchDel items
=> You must see the items details
5/ Try to delete more than MaxItemsToDisplayForBatchDel items
=> You must not see the items details but are allowed to delete them
6/ Try to modify less than MaxItemsToProcessForBatchMod items
=> You must see the items details
7/ Try to modify more than MaxItemsToProcessForBatchMod items
=> You must be restricted and not allowed to process

Signed-off-by: Laurence Rault <laurence.rault@biblibre.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
6 years agoBug 11490: Add prefs MaxItemsToProcessForBatchMod and MaxItemsToDisplayForBatchDel
Jonathan Druart [Wed, 11 May 2016 13:10:41 +0000 (14:10 +0100)]
Bug 11490: Add prefs MaxItemsToProcessForBatchMod and MaxItemsToDisplayForBatchDel

Signed-off-by: Laurence Rault <laurence.rault@biblibre.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
6 years agoBug 16707: Fix software error in OPAC password recovery when leaving form fields...
Jonathan Druart [Sat, 11 Jun 2016 14:27:04 +0000 (15:27 +0100)]
Bug 16707: Fix software error in OPAC password recovery when leaving form fields empty

The $search_results is considered as an arrayref but is not defined if
no patron matches the recovery infos.

Test plan:
- Set syspref OpacResetPassword to "Allow"
- Go to OPAC
- Click link "Forgot your password?
- On the following screen "Forgotten password recovery", do not fill in
  form fields, click "Submit"
=> Without this patch you got the software error
=> With this patch apply, you will get "No account was found with the
provided information."

Sign-off on counter patch.
Signed-off-by: Marc Véron <veron@veron.ch>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
6 years agoBug 16680: (bug 13918 follow-up) Display library names for holds in transit
Jonathan Druart [Tue, 7 Jun 2016 09:45:35 +0000 (10:45 +0100)]
Bug 16680: (bug 13918 follow-up) Display library names for holds in transit

Regression introduced by bug 13918: the library names are not displayed
anymore for holds in transit.
They are 2 warns in the logs:
No method wbrname! at
/home/koha/src/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-user.tt
line 603.
No method wbrcd! at
/home/koha/src/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-user.tt
line 603.

Test plan:
Make sure you have holds in transit and go the opac-user.pl
In the "Holds" tab, you should see "Item in transit to LIBRARY NAME"

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
6 years agoBug 16593: Do not allow patrons to delete search history of others patrons
Jonathan Druart [Thu, 26 May 2016 10:52:19 +0000 (11:52 +0100)]
Bug 16593: Do not allow patrons to delete search history of others patrons

A malicious user can delete the search history of all other users by
correctly guessing the ID value assigned to the victim's search. As
searches are assigned values sequentially, an attacker could quickly
remove the searches belonging to all of the application's users.

To reproduce:
Login with patron A
launch a search
Note the id generated for this search history:
select id from search_history order by id desc limit 1;
Login with patron B
Hit /cgi-bin/koha/opac-search-history.pl?action=delete&id=<ID>
Note that the row is deleted in the DB

Test plan
Confirm that this patch fixes the issue.
The same test can be made at the staff interface

Reported by Alex Middleton at Dionach

Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
6 years agoBug 16527: Restore sticky due date behavior
Jonathan Druart [Sat, 21 May 2016 08:10:46 +0000 (09:10 +0100)]
Bug 16527: Restore sticky due date behavior

Bug 10067 has introduced a regression on the sticky due date behavior:
If "remember for session" is checked and the due date is changed from 1
checkout to another, the old due date will be used.

The code added by bug 10067 is really confusing and it's hard to say
this patch won't introduce another regression.
The manipulation of $restoreduedatespec, $duedatespec and $stickyduedate
is not easy to follow.

Test plan:
Confirm that the regression is fixed and that this patch will not
introduced a regression on bug 10067 (good luck!)

Signed-off-by: Eivin Giske Skaaren <eivin@sysmystic.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
6 years agoBug 16534: (followup) - Tidy AddIssue
Kyle M Hall [Fri, 17 Jun 2016 16:29:33 +0000 (16:29 +0000)]
Bug 16534: (followup) - Tidy AddIssue

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
6 years agoBug 16534: (followup) Correct tiny typo
Marc Véron [Mon, 23 May 2016 05:48:10 +0000 (07:48 +0200)]
Bug 16534: (followup) Correct tiny typo

This patch corrects "...must be return..." to "must be returned..."

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
6 years agoBug 16534: Block AddIssue from issuing if the return is not possible
Jonathan Druart [Sun, 22 May 2016 09:01:56 +0000 (10:01 +0100)]
Bug 16534: Block AddIssue from issuing if the return is not possible

To make sure the return can be done, AddIssue must not trust callers (they
should have done their job, but we are not sure) and check that the issue can
be returned before issuing to the patron.

There is no test plan here, this should not be possible from the Koha
interface.
However, looking at the code, it may be possible using SIP.

Signed-off-by: Marc Véron <veron@veron.ch>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
6 years agoBug 16534: Add tests for AddIssue
Jonathan Druart [Sun, 22 May 2016 09:03:11 +0000 (10:03 +0100)]
Bug 16534: Add tests for AddIssue

Signed-off-by: Marc Véron <veron@veron.ch>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
6 years agoBug 16534: Make CanBookBeIssued test if the issue can be returned
Jonathan Druart [Sun, 22 May 2016 09:01:48 +0000 (10:01 +0100)]
Bug 16534: Make CanBookBeIssued test if the issue can be returned

If an issue is already checked out, CanBookBeIssued must check if the
issue can be checked in before processing the return.
In such cases (depending of the AllowReturnToBranch pref), the issue
should not be allowed.

Prior to this patch, the checkin was not done and the checkout failed
with "Duplicate entry '1204321' for key 'itemnumber'". Indeed since bug
14978, there is an uniq key on issues.itemnumber. Before bug 14978 the
issue existed but was hidden (and some weird behaviors certainly
happened!).

To avoid Koha to crash, a check is added to CanBookBeIssued (call to
CanBookBeReturned) and the librarian is not able to process the
checkout.

Test plan:

- Set AllowReturnToBranch to anywhere
- Check an item (homebranch Library 1, holding branch Library 1) out from Library 1
- Check the item out from Library 2
=> Confirm the checkout (should work with and without this patch)

- Set AllowReturnToBranch to holdinbranch ("only the library the item
  was checked out from").
- Check an item (homebranch Library 1, holding branch Library 1) out from Library 1
- Check the item out from Library 2
=> Without this patch, Koha crashed
=> With this patch, you will be warned that the checkin is not possible.

Try other combinations of the AllowReturnToBranch syspref

Followed test plan, works as expected
Signed-off-by: Marc Véron <veron@veron.ch>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
6 years agoBug 16534: Add tests for CanBookBeIssued & AllowReturnToBranch
Jonathan Druart [Sun, 22 May 2016 09:02:44 +0000 (10:02 +0100)]
Bug 16534: Add tests for CanBookBeIssued & AllowReturnToBranch

Signed-off-by: Marc Véron <veron@veron.ch>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
6 years agoBug 16747 - Patron card creator broken with version 16.05
Marc Véron [Thu, 16 Jun 2016 07:27:55 +0000 (09:27 +0200)]
Bug 16747 - Patron card creator broken with version 16.05

To reproduce:
- Prepare a patron car layout with Image 1 using Patron Image
- Create a patron card for a patron without patron image
Result: OK, PDF can be opened wit PDF viewer
- Try to create a patron card with a patron who has a patron image
Result: The PDF file is corrupt (contains text only with error message)
        intranet error log contains: create-pdf.pl: Illegal division
        by zero at /usr/share/kohaclone/patroncards/create-pdf.pl line 200
To test:
- Apply patch
- Create a patron card with a patron who has a patron image
Result: PDF is OK and contains the image

Bonus test: Do the same with a card layout with an additional image
(Image 2: Image source: Other image)

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Test and bonus test pass: PDF generated without errors.

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Brendan Gallagher <brendan@bywatersolutions.com>
6 years agoBug 16148 [Follow-up] - Use Font Awesome for arrows instead of images
Kyle M Hall [Fri, 17 Jun 2016 15:37:24 +0000 (15:37 +0000)]
Bug 16148 [Follow-up] - Use Font Awesome for arrows instead of images

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>