koha.git
6 years agoBug 18663 - DBRev 16.12.00.038
Kyle M Hall [Mon, 29 May 2017 02:05:48 +0000 (22:05 -0400)]
Bug 18663 - DBRev 16.12.00.038

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
6 years agoBug 18663: Add pref ExportRemoveFields if missing
Jonathan Druart [Tue, 23 May 2017 19:16:17 +0000 (16:16 -0300)]
Bug 18663: Add pref ExportRemoveFields if missing

Signed-off-by: Josef Moravec <josef.moravec@gmail.com>
Signed-off-by: Julian Maurice <julian.maurice@biblibre.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
6 years agoBug 18662: Fix currency deletion
Jonathan Druart [Tue, 23 May 2017 16:02:30 +0000 (13:02 -0300)]
Bug 18662: Fix currency deletion

Sounds like it is caused by bug 13726.
It is not possible to delete a currency, even if not used by any vendors

Test plan:
Try and delete currencies used or not by vendors.

Signed-off-by: Marc Véron <veron@veron.ch>
Signed-off-by: Julian Maurice <julian.maurice@biblibre.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
7 years agoBug 15465: Fix typo in bugs.k-c.org
Jonathan Druart [Fri, 26 May 2017 14:45:31 +0000 (11:45 -0300)]
Bug 15465: Fix typo in bugs.k-c.org

7 years agoBug 16344: Fix test in GetHardDueDate.t
Jonathan Druart [Wed, 24 May 2017 15:27:47 +0000 (12:27 -0300)]
Bug 16344: Fix test in GetHardDueDate.t

7 years agoBug 18548: Print usage when missing instance name in koha-create script
Josef Moravec [Fri, 5 May 2017 10:23:23 +0000 (10:23 +0000)]
Bug 18548: Print usage when missing instance name in koha-create script

Test plan:
1. Run: debian/scripts/koha-create --request-db
-> Without patch you see the getent error message
-> With patch you see usage and "Missing instance name" message

Signed-off-by: Dilan Johnpulle <dilan@calyx.net.au>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
7 years agoBug 18569 - Quick add patron will not copy over details from cities and towns pull...
Nick Clemens [Fri, 12 May 2017 13:38:37 +0000 (09:38 -0400)]
Bug 18569 - Quick add patron will not copy over details from cities and towns pull down into patron details

Followed test plan and the city value updates in the quick add form correctly.
Signed-off-by: Dilan Johnpulle <dilan@calyx.net.au>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
7 years agoBug 18598 - Quick add form doesn't clear values when switching
Nick Clemens [Fri, 19 May 2017 02:00:44 +0000 (22:00 -0400)]
Bug 18598 - Quick add form doesn't clear values when switching

To test:
1 - Fill out some fields in quick add
2 - Switch to full form and clear fields
3 - Switch back and fields are still populated
4 - Fill a field in long form
5 - Switch to quick add and clear it
6 - Save
7 - Value set in 4 is saved
8 - Apply patch
9 - Repeat 1-6 - values should be cleared and not saved

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>
7 years agoBug 18596 - Quick add form duplicating password confirm
Nick Clemens [Fri, 12 May 2017 13:18:45 +0000 (09:18 -0400)]
Bug 18596 - Quick add form duplicating password confirm

To test:
1 - Add password to BorrowerMandatoryField
2 - View quick add form
3 - See confirm password twice
4 - Apply patch
5 - See confirm password once
6 - Add password to QuickAddFields
7 - Confirm one confirm field
8 - Remove password form BorrowerMandatory field
9 - Confirm there is one confirm field and password fields are not
required

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
7 years agoBug 18642: Remove debug messages
Josef Moravec [Mon, 22 May 2017 10:38:02 +0000 (10:38 +0000)]
Bug 18642: Remove debug messages

Test plan:
0) Apply the patch
1) git grep Data::Printer
    -> should return no results
2) Go to Reports -> Use saved - should work fine

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>
7 years agoBug 18647: Resolve internal server error on category_type
Marcel de Rooy [Tue, 23 May 2017 12:31:01 +0000 (14:31 +0200)]
Bug 18647: Resolve internal server error on category_type

See bug 18552. When we resolved the housebound_role bug, the hash got
filled correctly again. And this revealed that the (second) call to
Koha::Patrons->find was not appropriate. It can be removed, as Jonathan
explained on the report.

Note: Commit 95429af6855e8ed37945b681dc466bf360deffb added this call, but
it was hidden until the template variable hash got fixed.

Test plan:
Restart Plack and go to patron details again.

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>
7 years agoBug 17898: Followup - udpate templates for bootstrap 3
Josef Moravec [Fri, 13 Jan 2017 16:01:13 +0000 (16:01 +0000)]
Bug 17898: Followup - udpate templates for bootstrap 3

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
7 years agoBug 17898: Automagically convert SQL reports
Jonathan Druart [Fri, 13 Jan 2017 14:48:57 +0000 (15:48 +0100)]
Bug 17898: Automagically convert SQL reports

Bug 17196 move the marcxml out of the biblioitems table.
That will break SQL reports using it.
It would be handy to propose an automagically way to convert the SQL
reports.

We do not want to update the reports automatically without user inputs,
it will be too hasardous.
However we can lead the user to convert them.

In this patchset I suggest to warn the user if a report is subject to be
updated.

TODO: Add a way to mark this job done (using a pref?) to remove the
check and not to display false positives.

Test plan:
- Create some SQL reports (see https://wiki.koha-community.org/wiki/SQL_Reports_Library)
- Go on the report list page (/reports/guided_reports.pl?phase=Use saved)
- For the reports using biblioitems.marcxml you will see a new column
warning you that it is obsolete
- Click on update link
=> that will open a modal with the converted SQL query
- Click on the update button
=> you will be informed that the query has been updated

If all the reports are updated, the new column "Update" will no longer
be displayed.

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
7 years agoBug 18551: followup - hide advanced filters in header, move hidding to css file
Josef Moravec [Tue, 9 May 2017 13:33:52 +0000 (13:33 +0000)]
Bug 18551: followup - hide advanced filters in header, move hidding to css file

Test plan:
The same as first patch, but also with advanced search form in header hidden
on page load - see comment 4

Issue with advanced search form is gone.
Signed-off-by: Marc Véron <veron@veron.ch>
Signed-off-by: Philippe <philippe.audet-fortin@inlibro.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
7 years agoBug 18551 - Hide with CSS dynamic elements in member search
Fridolin Somers [Fri, 5 May 2017 13:00:05 +0000 (15:00 +0200)]
Bug 18551 - Hide with CSS dynamic elements in member search

In member search page, the result table is in Ajax so fully managed by Javascript. There is also a yellow dialog message prepared in HTML.

Thoses elements are hidden by JS code : ie $("#patron_list_dialog").hide().

The problem is that the static page is first loaded an displayed then the JS code runs an hides the elements.
On a low performance computer, this action is visible and looks like there is a blinking yellow message.

I propose to hide with CSS so that thoses elements are not displayed in static page and are there shown in dynamic JS code.

Test plan :
Check display is unchanged :
- Go to home page /cgi-bin/koha/members/members-home.pl
- Perform patron search from header search box
- Perform patron search by clicking on a letter
- Perform patron search from filters (left of results table)
- Select a patron and add it to a list => you see the yellow message

Yellow message does no longer appear with this patch.
Signed-off-by: Marc Véron <veron@veron.ch>
Signed-off-by: Philippe <philippe.audet-fortin@inlibro.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
7 years agoBug 18578: Use subdirectory in /tmp for session storage during installation
Marcel de Rooy [Thu, 11 May 2017 07:10:50 +0000 (09:10 +0200)]
Bug 18578: Use subdirectory in /tmp for session storage during installation

Apply the change from bug 15553 to InstallAuth.pm too.

Test plan:
[1] Remove all cgisess_* files from your /tmp directory.
[2] Remove directory /tmp/cgisess_koha_[your instance], if there.
[3] Run the webinstaller
    /cgi-bin/koha/installer/install.pl?step=1&op=updatestructure
[4] Check if you have cgisess_ files in /tmp/cgisess_koha_[your instance].

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Josef Moravec <josef.moravec@gmail.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
7 years agoBug 18536: [QA Follow-up] Tiny regex simplification
Marcel de Rooy [Fri, 19 May 2017 09:39:24 +0000 (11:39 +0200)]
Bug 18536: [QA Follow-up] Tiny regex simplification

Simplify regex for removing table name.
No need to escape a dot between the square brackets. No need to specify a
number of 1 between parentheses.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
7 years agoBug 18536: Generating CSV using profile in serials late issues doesn't work as described
Josef Moravec [Thu, 4 May 2017 08:54:30 +0000 (08:54 +0000)]
Bug 18536: Generating CSV using profile in serials late issues doesn't work as described

Description on editing csv profiles says:

"You can also use your own headers (instead of the ones from Koha) by
prefixing the field name with an header, followed by the equal sign."

So the header should be optional, but in fact it's mandatory. Also the
regular expression to cut table name from beginning of db column is not
right.

Test plan:

0. Don't apply the patch
1. Make two CSV profiles for exporting late issues
    a) SUPPLIER=aqbooksellers.name|TITLE=subscription.title|ISSUENUMBER=serial.serialseq|LATE SINCE=serial.planneddate
    b) aqbooksellers.name|TITLE=subscription.title|ISSUE NUMBER=serial.serialseq|LATE SINCE=serial.planneddate
2. Export late issues, profile a) works as expected, profile b) doesn't
3. Apply the patch
4. Both profiles should 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: Kyle M Hall <kyle@bywatersolutions.com>
7 years agoBug 18597 - Quick add form does not transfer patron attributes values when switching...
Nick Clemens [Fri, 12 May 2017 14:00:29 +0000 (10:00 -0400)]
Bug 18597 - Quick add form does not transfer patron attributes values when switching forms/saving

The function that switches between quick add/fulll form assumes labels
are followed by values - patron_attr don't follow this pattern. This
patch just moves the hidden input field

To test:
1 - Have some patron attributes (with/without auth values set)
2 - Add them to QuickAddFields (patron_attr2 for example)
3 - view quick add form and set some values
4 - Switch to full form, values not transferred
5 - Switch to quick add, view values, save
6 - Values are not saved :-(
7 - Apply patch
8 - Repeat 3 - 5
9 - Values are transferred and saved :-)

Signed-off-by: Peggy Thrasher <p.thrasher@dover.nh.gov>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
7 years agoBug 18552: [QA Follow-up] Resolve warnings
Marcel de Rooy [Fri, 19 May 2017 10:22:03 +0000 (12:22 +0200)]
Bug 18552: [QA Follow-up] Resolve warnings

Like:
Problem = a value of AutoResumeSuspendedHolds has been passed to param without key at /usr/share/koha/masterclone/C4/Templates.pm line 137.
Problem = a value of relatives_borrowernumbers has been passed to param without key at /usr/share/koha/masterclone/C4/Templates.pm line 137.

Problem is functions returning undef in list context (in this case
housebound_role).
No need to call Patrons::find a second time.

Note: The call of GetDebarments in the first patch suffered from this too.
It is in a fine place now too. But strictly speaking, should not have been
moved.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
7 years agoBug 18552: Borrower debarments not showing on member detail page
Aleisha Amohia [Thu, 18 May 2017 23:10:13 +0000 (23:10 +0000)]
Bug 18552: Borrower debarments not showing on member detail page

To test:
1) Go to a borrowers details page and create a manual restriction
2) Notice the restriction shows at the top of the page but the
restriction tab says the member is currently unrestricted
3) Apply patch and refresh page
4) Restrictions tab should now correctly show debarments and correct
number is shown
5) Confirming deleting and adding restrictions still works as expected

Sponsored-by: Catalyst IT
Followed test plan, works as expected
Signed-off-by: Marc Véron <veron@veron.ch>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
7 years agoBug 18534 - When IndependentBranches is enabled the pickup location displayed incorre...
Nick Clemens [Wed, 3 May 2017 19:21:40 +0000 (15:21 -0400)]
Bug 18534 - When IndependentBranches is enabled the pickup location displayed incorrectly on request.pl

To recreate:
1 - Place a hold for pickup at Midway
2 - Enable independentbranches
3 - Login to staff interface as admin without superlibrarian status from
a different branch
4 - View the holds for the title you placed a hold on
5 - The hold placed in step 1 should show a dropdown with current branch
as pickup location, current branch is the only in that dropdown
6 - Verify it displays correctly for superlibrarian
7 - Apply patch
8 - The correct pickup location should show and not be editable
9 - Verify it is a dropdown

Signed-off-by: Alex Buckley <alexbuckley@catalyst.net.nz>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
7 years agoBug 17665 - SIP2 Item Information Response returns incorrect circulation status of...
Kyle M Hall [Mon, 21 Nov 2016 18:54:40 +0000 (18:54 +0000)]
Bug 17665 - SIP2 Item Information Response returns incorrect circulation status of '08' ( waiting on hold shelf ) if record has any holds

If a record has any holds on it, the SIP2 item information response will
return a value of 08 "waiting on hold shelf" even if the item is not
actually a waiting hold. This is clearly a bug.

Test Plan:
1) Find an item that is not a waiting hold, but whose record has one or
   more holds.
2) Issue a SIP2 item information request
3) Note in the response, the circulation status field is '08'
4) Apply this patch
5) Repeat the item informationr request
6) Note the code is now '03' ( available )
7) Check the item in to fill the hold
8) Repeat the item information request
9) Verify the circulation status is now '08'

Followed test plan, works as expected
Signed-off-by: Marc Véron <veron@veron.ch>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
7 years agoBug 16568 - Talking Tech generates phone notifications for all overdue actions
Kyle M Hall [Mon, 23 May 2016 14:05:58 +0000 (14:05 +0000)]
Bug 16568 - Talking Tech generates phone notifications for all overdue actions

Regardless of whether the phone transport has been selected for a given
overdue action or not, the Talking Tech outbound script generates and
sends a line for that action.

Test Plan:
1) Enable Talking Tech
2) Create one or more overdue actions without a phone transport selected
   and one or more with the phone transport selected
3) Generate the overdues csv file to send to Itive
4) Note the csv file has lines for actions that do not have the phone
   transport selected
5) Apply this patch
6) Repeat step 3
7) Note the csv file now only has lines for actions that have the phone
   transport selected

Signed-off-by: Jonathan Field <jonathan.field@ptfs-europe.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
7 years agoBug 18438 - Implemented data-dismiss="modal" in returns.tt so that any warning messag...
Alex Buckley [Wed, 19 Apr 2017 02:01:30 +0000 (14:01 +1200)]
Bug 18438 - Implemented data-dismiss="modal" in returns.tt so that any warning messages hidden by a hold modal are displayed after it is dismissed

Test plan:
1. Check out an item to one patron whilst having that item also being on
hold to another patron

2. Check the item back in

3. Notice a modal box appears greying out the background with three
buttons 'Confirm hold', 'Print and confirm' and 'Ignore'. Click confirm
and notice that the page refreshes and no yellow warning messages are
able to be displayed

4. Now that you have checked the item in. Try checking it in a second
time by clicking on the Checkin tab and writing in the barcode.

5. The modal box will appear again, this time with three buttons
'Confirm', 'Print and confirm' and 'Cancel hold'

6. Click the 'Confirm' button and the page refreshes again and the
yellow warning message hidden by the modal box is not properly displayed
to the user. Notice that the focus is on the barcode input box.

7. Apply patch

8. Try checking in the item again, and this time after clicking the
'confirm' button on the modal box notice that the yellow warning message
is displayed telling the user the item was "Not checked out". Also
notice the focus is in the barcode inputbox.

9. Drop the hold on the item and make sure it is not checked out.

10. Repeat steps 1 and 2 and notice after clicking the 'Confirm hold'
button the page refreshes and the item is successfully checked back in.
With the focus on the barcode input.

11. View koha-tmpl/intranet-tmpl/prog/en/modules/circ/returns.tt and
notice that the button on line 345 does not use an onclick parameter

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>
Amended-patch: remove spaces

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
7 years agoBug 18376: Do not need to prepare a single statement, use do
Jonathan Druart [Thu, 18 May 2017 19:40:42 +0000 (16:40 -0300)]
Bug 18376: Do not need to prepare a single statement, use do

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
7 years agoBug 18376 - authority framework creation fails under Plack
Fridolin Somers [Tue, 4 Apr 2017 12:17:15 +0000 (14:17 +0200)]
Bug 18376 - authority framework creation fails under Plack

With plack, when creating a new authority framework from another, you get the error :
Can't call method "prepare" on an undefined value at (...)/src/admin/auth_tag_structure.pl line 267.

Looks like plack does not like when the var $dbh from the script is called inside a sub.

This patch adds a local var $dbh inside sub duplicate_auth_framework(), like in sub StringSearch().

Also correctes a redefine of my $sth.

Test plan:
- Go to Administration > Authority types
- Create a new type
- On this new type click on Actions > MARC Structure
- Select another type and click OK
=> You must get a table filled with the tag structure
Check with and without plack
You may not be able to reproduce the error with plack.

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
7 years agoBug 14625 - LDAP: skip extended patron attributes in 'borrowers' attribute update
Oliver Bock [Mon, 30 Nov 2015 12:57:58 +0000 (13:57 +0100)]
Bug 14625 - LDAP: skip extended patron attributes in 'borrowers' attribute update

* Any extended patron attributes will cause the update to fail as those attributes don't exist in the 'borrowers' table
* The update of the extended patron attributes is already dealt with in checkpw_ldap()
* Ergo: just skip those attributes here

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
I did not test this patch but code looks good

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
7 years agoBug 18627 - Items created via MarcItemFieldsToOrder are not linked to orders
Kyle M Hall [Thu, 18 May 2017 15:41:34 +0000 (08:41 -0700)]
Bug 18627 - Items created via MarcItemFieldsToOrder are not linked to orders

If using MarcItemFieldsToOrder with AcqCreateItem = Create,
the order and the items will be created, but they will not be linked via aqorders_items!

Test Plan:
1) Enable creation of items when ordering
2) Set up MarcItemFieldsToOrder
3) Upload an order record that uses the fields in step 2
4) Create a basket and add the records from the file
5) Note the order and items are created, but no rows in aqorders_items are created
6) Apply this patch
7) Repeat steps 3-4
8) Note the rows in aqorders_items are created!

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Marci Chen <mchen@mckinneytexas.org>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
7 years agoBug 18571: Add default ES configuration to koha-conf-site.xml.in
Tomas Cohen Arazi [Wed, 10 May 2017 19:04:36 +0000 (16:04 -0300)]
Bug 18571: Add default ES configuration to koha-conf-site.xml.in

This patch adds a default configuration entry for elasticsearch. It will
add localhost:9200 to the server subsection, and koha_instance (replacing instance
for the corresponding instance name) for the namespace.

To test:
- Apply the patch
- Copy the file to the /etc/koha dir:
  $ sudo cp kohaclone/debian/templates/koha-conf-site.xml.in /etc/koha
- Create a new instance:
  $ sudo koha-create --create-db test
=> SUCCESS: /etc/koha/sites/test/koha-conf.xml includes the mentioned section:

 <elasticsearch>
     <server>localhost:9200</server>
     <index_name>koha_test</index_name>
 </elasticsearch>

- Sign off :-D

Note: As the use of ES is syspref driven, this default entry doesn't have any use
until ES is installed and SearchEngine set to Elasticsearch. So it doesn't hurt
but will help end users test the ES integration. Advanced users will take care of
this config entry manually (pointing to external servers/clusters, etc).

Signed-off-by: Mirko Tietgen <mirko@abunchofthings.net>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
7 years agoBug 14399: Results form also needs a few interface changes
Marcel de Rooy [Wed, 12 Apr 2017 14:06:29 +0000 (16:06 +0200)]
Bug 14399: Results form also needs a few interface changes

Currently, the value of compareinv2barcd is used to determine if the
Seen column, the Select/Clear all buttons and the Mark seen buttons are
displayed. But if we scanned barcodes, we already marked items as seen.
So we should only display these buttons when we did not upload barcodes.

Test plan:
[1] Upload a barcode file. Check that the result form does not show
    the buttons.
[2] Generate an inventory list, so do not upload a barcode file. Verify
    that you still see the buttons.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Josef Moravec <josef.moravec@gmail.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
7 years agoBug 14399: Interface changes
Marcel de Rooy [Wed, 5 Apr 2017 13:12:31 +0000 (15:12 +0200)]
Bug 14399: Interface changes

A part of the confusion around the inventory script may arise from the
fact that the form offers several options that are only used under
certain conditions. This patch hopefully rearranges a few options more
logically and only offers options when appropriate.

The barcode fieldset now also contains Compare barcodes and Do not check in
checkboxes. These are meaningful when a barcode file is uploaded.

The fieldset Item location filters (new name) contains fields that are
always used. Same for tne only control left under Additional options,
Export to CSV.

The fieldset Optional filters depends on the status of the barcode file
and the Compare checkbox. It is now shown or hidden depending on what
you select: if you do not upload a file, it is shown; or if you upload
a file and check Compare, it is shown. Otherwise we hide it, since the
script will not look at these values. Under this fieldset last inventory
date and Skip items on loan are added, since their behavior is the same
as the various item statuses.

Test plan:
In this test plan we test both the script changes from the previous patch
and the interface changes here. We follow the three main scenario's as
mentioned in the previous patch.

[1] First we prepare a few test items.
    Pick two biblios A, B and create five items say A1,A2,B1,B2,B3.
    Pick a not-existing callnumber range you want to test and move these
    five items there. Add barcodes too (say A1..B3).
    Edit one item A1 to a not-existing notforloan status (doing this on
    the mysql command line is fastest).
    Like: update items set notforloan = '9' where barcode='A1';
    Now simulate that we did not add/edit these items today:
    update items set datelastseen='2017-01-01' where barcode in ('A1','A2','B1','B2','B3');
    Note: We need this when comparing with last inventory date in the last
    scenario.

Scenario 1 (no barcodes uploaded)
[2] Enter the callnumber range on inventory form.
    Verify that "Set inventory date", Compare barcodes and "Do not check
    in" are disabled on the form. Check that you see the Optional filters
    box.
    Submit the form. Verify that you see all five items.
    Do the same. Check Export to CSV. Check result file contents.

Scenario 2 (upload barcodes, do not compare)
[3] Create a barcode file with the barcodes of A1, A2 and B1. Add another
    existing barcode outside the test callnumber range.
    After uploading this file, verify that "Set inventory date", Compare and
    "Do not check in" are enabled. The Optional filters should be hidden.
    Leave "Set inventory date" to today. Enter the callnumber range again.
    Submit the form.
    What do we expect? Four items should have been updated (alert). We
    should see barcode A1 with problem Unknown status. We should see
    also the barcode from the other range (Found in wrong place).
    Repeat this step with the same file. But now export to CSV. Verify that
    you see two barcodes with problems again in the csv file.

Scenario 3 (upload barcodes, compare)
[4] Create another barcode file with barcodes of B2 and one existing barcode
    outside the test callnumber range.
    After uploading this file, check the Compare checkbox. Verify now that
    the Optional filters box is displayed again.
    Leave "Set inventory date" to today. Enter the callnumber range again.
    Also set "Last inventory date" to today (important!).
    Submit the form.
    What do we expect now? Two items should be updated (see alert).
    We should see barcode B3 with problem Missing. We should also see the
    barcode from the other range (wrong place).

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Josef Moravec <josef.moravec@gmail.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
7 years agoBug 14399: Numerous small refinements to the inventory script
Marcel de Rooy [Mon, 3 Apr 2017 13:16:42 +0000 (15:16 +0200)]
Bug 14399: Numerous small refinements to the inventory script

This patch contains the following changes:

[01] Label "Inventory date" reworded to "Last inventory date", adding a
small explanation for its purpose.
[02] Restructured the results: it was an array with items and possible
error messages. Multiple messages duplicated individual items. Now the
results are in a hash, pulling all error messages for one item together.
At the end of the script they are copied to an array. (A helper sub
additemtoresults is added in this regard.) We no longer use array
@items_with_problems.
[03] Both datepickers are no longer connected to the same class. This
prevents changing the set date by filling the last inventory date.
[04] Input markseen in the template and $markseen in the script are
no longer needed.
[05] The paragraph before the detail link in the results table in the
Title column has been removed. Same for problems column. This makes
vertical spacing consistent.
[06] Problem status 'missingitem' is no longer used; the missing items
are marked as 'not_scanned'. Two additional statuses are: no_barcode and
checkedout.
[07] Removed unused $itemtype, $totalrecords and $count. We use variable
$moddatecount to report a count to the template.
[08] The script updated scanned items twice. The first time with ModItem
and the second time with ModDateLastSeen. The second call is removed.
[09] If a book is checked in, we do no longer return an error message when
the checkin is successful (ERR_ONLOAN_RET). The updated datelastseen is
passed to the results.
[10] $wrongplacelist is renamed to $rightplacelist. It is only built when
we need it. (Same for inventorylist now.)
[11] Datelastseen (last inventory date) is always used for building the
inventory list. It allows you to process partial barcode lists or make
a list of items not seen after some date. We do no longer use variable
$paramdatelastseen.
[12] The section where items.datelastseen was compared with the inventory
date has been removed. Scanned items were already updated; to get items
seen before some date, you can now use last inventory date without passing
barcodes.

The form can mainly be used for the following three cases:
[1] Prepare an inventory list or csv file; we do not upload barcodes.
[2] Update items for uploaded barcodes without comparing to inventory.
    Last inventory date is useless in this case.
    Errors wrongplace, checkedout and changestatus are reported.
    Use this scenario for partial scanned barcode lists (all but last).
[3] Update items for uploaded barcodes and compare to inventory, filtered
    by an optional last inventory date.
    Apart from the errors mentioned under [2], this also reports
    not_scanned ("missing") and no_barcode.
    Use this scenario too for the last partial barcode file (together with
    inventory date).

Test plan:
See next patch ("Interface changes").

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Josef Moravec <josef.moravec@gmail.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
7 years agoBug 14399: Prevent display of double zero notforloan status
Marcel de Rooy [Mon, 3 Apr 2017 11:05:13 +0000 (13:05 +0200)]
Bug 14399: Prevent display of double zero notforloan status

On bug 12913 a zero status is added on the inventory form. This prevents
a lot of false warnings for a wrong notforloan status. The zero status
is not included in the default setup. But if you would add one, the
status will display here twice now.

This patch checks if the status already exists.

Test plan:
[1] Add a zero NOTFORLOAN status if it does not yet exist in Authorized
    values.
[2] Check that you do not see two "For loan" statuses on inventory form.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Josef Moravec <josef.moravec@gmail.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
7 years agoBug 17762 - (follow-up) DBRev 16.12.00.033
Jonathan Druart [Mon, 15 May 2017 17:43:33 +0000 (14:43 -0300)]
Bug 17762 - (follow-up) DBRev 16.12.00.033

7 years agoBug 17618: perl-modules Debian package name change
Mirko Tietgen [Sat, 12 Nov 2016 07:50:04 +0000 (08:50 +0100)]
Bug 17618: perl-modules Debian package name change

Newer versios of perl-modules have a version number in the package name.
This patch makes Koha aware of perl-modules-5.22 and perl-modules-5.24

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Mirko Tietgen <mirko@abunchofthings.net>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
7 years agoBug 18350 (QA Followup) Add classes to elements
Nick Clemens [Tue, 2 May 2017 10:25:06 +0000 (06:25 -0400)]
Bug 18350 (QA Followup) Add classes to elements

Provide classes for easy access in case library wishes to make further
chnages

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
7 years agoBug 18350: Moving call number in subscriptions tab in OPAC biblio detail
Aleisha Amohia [Thu, 30 Mar 2017 02:01:38 +0000 (02:01 +0000)]
Bug 18350: Moving call number in subscriptions tab in OPAC biblio detail

This patches moves the call number up to be under the library name, so
it is equivalent to the staff client

To test:
1) Go to the detail page of a biblio with subscriptions in the staff
client
2) Notice callnumber sits under the library name
3) Go to the detail page of the same biblio in OPAC
4) Notice callnumber is not in the same order
5) Apply patch, refresh page
6) Notice callnumber is now in same order

Sponsored-by: Catalyst IT
Followed test plan, works as expected.
Signed-off-by: Marc Véron <veron@veron.ch>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
7 years agoBug 18314 - DBRev 16.12.00.037
Kyle M Hall [Tue, 9 May 2017 21:25:46 +0000 (21:25 +0000)]
Bug 18314 - DBRev 16.12.00.037

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
7 years agoBug 18314 (QA Followup) Use OpacBaseURL for password reset link
Nick Clemens [Fri, 28 Apr 2017 20:48:30 +0000 (16:48 -0400)]
Bug 18314 (QA Followup) Use OpacBaseURL for password reset link

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
7 years agoBug 18314: Add link to 'reset your password' from staff
Jonathan Druart [Fri, 28 Apr 2017 20:15:40 +0000 (17:15 -0300)]
Bug 18314: Add link to 'reset your password' from staff

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
7 years agoBug 18314: Fix reset number of login attempts on login success
Jonathan Druart [Fri, 28 Apr 2017 20:14:53 +0000 (17:14 -0300)]
Bug 18314: Fix reset number of login attempts on login success

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
7 years agoBug 18314: Add tests
Jonathan Druart [Wed, 22 Mar 2017 00:18:17 +0000 (21:18 -0300)]
Bug 18314: Add tests

Signed-off-by: Jonathan Field <jonathan.field@ptfs-europe.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
7 years agoBug 18314: Resetting the password removes the lock
Jonathan Druart [Wed, 22 Mar 2017 00:18:10 +0000 (21:18 -0300)]
Bug 18314: Resetting the password removes the lock

When a password is changed (updated by a staff member or using the
"recover password via email" feature, the counter/flag needs to be
reset.

Signed-off-by: Jonathan Field <jonathan.field@ptfs-europe.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
7 years agoBug 18314: Account lockout
Jonathan Druart [Tue, 21 Mar 2017 21:48:41 +0000 (18:48 -0300)]
Bug 18314: Account lockout

To prevent brute force attacks on Koha accounts, staff and opac, we need to
implement an account lockout process to Koha.

After a number of failed login attempts a users account would become locked.
The user would then need to use the reset password functionality to send a reset
token to their email account. After a successful password reset the lockout flag
would be removed.

The number of failed login attempts before lockout is configurable using a new
system preference 'FailedLoginAttempts'.

How does it work?
When a patron enter an invalid password, the borrowers.login_attempts value
for this patron is incremented. When this value reach the value of the
pref FailedLoginAttempts, the password comparison is not done and the
authentication is rejected.
This login_attempts field is reset when a patron correctly logs in. When
the account is locked the patron has to reset his/her password using
the OpacResetPassword feature or ask a staff member to generate a new
password.
If the pref is not set (0, or '') the feature is considered as disabled,
but the failed login attempts are stored anyway.

Test plan:
0/ Apply patch and execute the update DB entry
1/ Switch on the feature by setting FailedLoginAttempts to 3
2/ Use an invalid password to login at the staff or OPAC interface
3/ After the third consecutive failures, you will be asked to reset your
password if OpacResetPassword is set, or contact a staff member
4/ Switch on OpacResetPassword and reset your password
5/ Confirm that you are able to login
6/ Play with the different combinations

QA details: The trick happens in C4::Auth::checkpw, to make things clear
I had to create a return value (note the awesome name: @return) and
replace the 3 successives if statements with elsif. Indeed if one of
the condition is reached, it will return inside the given block.

Signed-off-by: Jonathan Field <jonathan.field@ptfs-europe.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
7 years agoBug 18314: Add pref FailedLoginAttempts and columns borrowers.login_attempts
Jonathan Druart [Tue, 21 Mar 2017 20:20:00 +0000 (17:20 -0300)]
Bug 18314: Add pref FailedLoginAttempts and columns borrowers.login_attempts

And of course deletedborrowers.login_attempts

Signed-off-by: Jonathan Field <jonathan.field@ptfs-europe.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
7 years agoBug 17465 - DBRev 16.12.00.036
Kyle M Hall [Tue, 9 May 2017 21:20:40 +0000 (21:20 +0000)]
Bug 17465 - DBRev 16.12.00.036

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
7 years agoBug 17465: NumSavedReports syspref
Aleisha Amohia [Wed, 5 Apr 2017 04:41:03 +0000 (04:41 +0000)]
Bug 17465: NumSavedReports syspref

To test:
1) Apply patch and update database
2) Go to system preferences. Default value should be 20 reports.
3) Go to Reports -> Use saved. Confirm 20 results are showing
4) Change value in syspref to any integer (i.e. 50)
5) Go back to Reports -> Use saved. Confirm the number of results shown
is based on the value in the syspref.

Sponsored-by: Catalyst IT
Followed test plan, works as expected.
Signed-off-by: Marc Véron <veron@veron.ch>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
7 years agoBug 15705 - DBRev 16.12.00.035
Kyle M Hall [Tue, 9 May 2017 21:16:05 +0000 (21:16 +0000)]
Bug 15705 - DBRev 16.12.00.035

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
7 years agoBug 15705 (QA Followup) Remove unused variable, fix typo and add due date to notice
Nick Clemens [Thu, 4 May 2017 17:22:29 +0000 (13:22 -0400)]
Bug 15705 (QA Followup) Remove unused variable, fix typo and add due date to notice

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
7 years agoBug 15705: DB Changes - Add [old_]issues.auto_renew_error and the AUTO_RENEWALS notice
Nick Clemens [Thu, 4 May 2017 17:21:17 +0000 (13:21 -0400)]
Bug 15705: DB Changes - Add [old_]issues.auto_renew_error and the AUTO_RENEWALS notice

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
7 years agoBug 15705: Add --send-notices to the cronjob script
Jonathan Druart [Wed, 3 May 2017 07:17:30 +0000 (04:17 -0300)]
Bug 15705: Add --send-notices to the cronjob script

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
7 years agoBug 15705: DBIC Schema changes
Jonathan Druart [Wed, 3 May 2017 07:17:12 +0000 (04:17 -0300)]
Bug 15705: DBIC Schema changes

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
7 years agoBug 15705: Reset the last error when an auto renew successes
Jonathan Druart [Thu, 30 Mar 2017 16:55:36 +0000 (13:55 -0300)]
Bug 15705: Reset the last error when an auto renew successes

The auto_renew_error has to be reset when an auto renew successes,
otherwise the patron is not going to receive the correct notice.

Test plan;
- Checkin an item and mark it as auto renewal (specify a due date in the past to allow auto renewals)
- Set OPACFineNoRenewalsBlockAutoRenew to 'Block' and 'OPACFineNoRenewals' to '1'
- Execute the script
=> Auto renewed, column auto_renew_error is null
- Add a fine of '2' to the patron
- Execute the script
=> Not auto renewed, column auto_renew_error is 'auto_too_much_oweing'
=> On the interface youo see the correct message "Automatic renewal failed, patron has unpaid fines"
- Pay the fine
- Execute the script

Without this patch the auto_renew_error is not reset and the patron is going to
receive a letter telling him he own too much money to the library
With this patch the patron will receive a letter to inform him the renew has been done!

Signed-off-by: Jonathan Field <jonathan.field@ptfs-europe.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
7 years agoBug 15705: Add specific warning messages for auto_too_much_oweing
Jonathan Druart [Mon, 24 Oct 2016 11:43:31 +0000 (11:43 +0000)]
Bug 15705: Add specific warning messages for auto_too_much_oweing

Signed-off-by: Janet McGowan <janet.mcgowan@ptfs-europe.com>
Signed-off-by: Jonathan Field <jonathan.field@ptfs-europe.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
7 years agoBug 15705: Notify the user on auto renewing
Jonathan Druart [Fri, 29 Jan 2016 16:57:21 +0000 (16:57 +0000)]
Bug 15705: Notify the user on auto renewing

When an issue is auto renewed, a notice will be sent to the patron.
The notice will tell if the renewed has been successfully done.

Note that this patch is not ready to be pushed yet, as it has some
defects:
- 1 notice per issue
- no way to disable the notice generation
- no way to specify patron categories to enable/disable the
  notifications

Test plan:
Use the automatic_renewals.pl script to auto renew issues.
If the auto renew has failed or succeeded, a notice will be generated in the
message_queue table.
If the error is "too_soon" or is the same as the previous error, the
notice won't be generated (we do not want to spam the patron).

Signed-off-by: Janet McGowan <janet.mcgowan@ptfs-europe.com>
Signed-off-by: Jonathan Field <jonathan.field@ptfs-europe.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
7 years agoBug 15582 - DBRev 16.12.00.034
Kyle M Hall [Tue, 9 May 2017 21:08:06 +0000 (21:08 +0000)]
Bug 15582 - DBRev 16.12.00.034

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
7 years agoBug 15582: Fix grammar in syspref description
Jonathan Druart [Fri, 12 Aug 2016 08:32:39 +0000 (09:32 +0100)]
Bug 15582: Fix grammar in syspref description

Signed-off-by: Jonathan Field <jonathan.field@ptfs-europe.com>
Signed-off-by: Janet McGowan <janet.mcgowan@ptfs-europe.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
7 years agoBug 15582: Ability to block auto renewals if OPACFineNoRenewals is reached
Jonathan Druart [Thu, 14 Jan 2016 14:52:06 +0000 (14:52 +0000)]
Bug 15582: Ability to block auto renewals if OPACFineNoRenewals is reached

If a patron owes more than the OPACFineNoRenewals value, the issue won't
be auto renewed anymore (driven by the new pref OPACFineNoRenewalsBlockAutoRenew).

Test plan:
Note: You will have to manually change data in your DB, make sure you
have access to the sql cli.
1/ Set the OPACFineNoRenewals to 5 (for instance)
2/ Set OPACFineNoRenewalsBlockAutoRenew to block
3/ Check an item out to a patron and mark is as an auto renewal
4/ Make sure the patron does not have any fees or charges.
5/ Execute the automatic renewals cronjob script (misc/cronjobs/automatic_renewals.pl)
Confirm that the issue has been renewed
6/ Create an invoice for this patron with a amount > OPACFineNoRenewals (6
for instance)
7/ Execute the automatic renewals cronjob script (misc/cronjobs/automatic_renewals.pl)
Confirm that the issue has not been renewed.
8/ Set OPACFineNoRenewalsBlockAutoRenew to allow
9/ Execute the automatic renewals cronjob script (misc/cronjobs/automatic_renewals.pl)
Confirm that the issue has been renewed

Sponsored-by: University of the Arts London
Signed-off-by: Jonathan Field <jonathan.field@ptfs-europe.com>
Signed-off-by: Janet McGowan <janet.mcgowan@ptfs-europe.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
7 years agoBug 15582: DB changes - add new pref OPACFineNoRenewalsBlockAutoRenew
Jonathan Druart [Thu, 14 Jan 2016 15:03:27 +0000 (15:03 +0000)]
Bug 15582: DB changes - add new pref OPACFineNoRenewalsBlockAutoRenew

Sponsored-by: University of the Arts London
Signed-off-by: Jonathan Field <jonathan.field@ptfs-europe.com>
Signed-off-by: Janet McGowan <janet.mcgowan@ptfs-europe.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
7 years agoBug 15179 (QA Followup) Fix comments to 'other classification'
Nick Clemens [Fri, 28 Apr 2017 20:10:01 +0000 (16:10 -0400)]
Bug 15179 (QA Followup) Fix comments to 'other classification'

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
7 years agoBug 15179 -Field 084 doesnt show on bibliographic record
Karen Jen [Wed, 18 Jan 2017 02:19:18 +0000 (02:19 +0000)]
Bug 15179 -Field 084 doesnt show on bibliographic record

Signed-off-by: Mirko Tietgen <mirko@abunchofthings.net>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
7 years agoBug 18554: Adjust a few typos including responsability
Marcel de Rooy [Mon, 8 May 2017 10:08:43 +0000 (12:08 +0200)]
Bug 18554: Adjust a few typos including responsability

typo responsability
typo defautl in authorities.pref
typo reveived in t/db_dependent/Acquisition.t
typo ;; in advance_notices.pl
typo Stopping in restart_indexer (koha-indexer)
typo instutitional in moremember.pl
typo Corretly (Biblio.t)
typo periodicy in help serials

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
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>
7 years agoBug 17762 - DBRev 16.12.00.033
Kyle M Hall [Tue, 9 May 2017 21:00:43 +0000 (21:00 +0000)]
Bug 17762 - DBRev 16.12.00.033

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
7 years agoBug 17762 (QA Followup) Fix Letters.t - add lang to fixtures
Nick Clemens [Fri, 5 May 2017 20:20:01 +0000 (16:20 -0400)]
Bug 17762 (QA Followup) Fix Letters.t - add lang to fixtures

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
7 years agoBug 17762 (QA Followup) Use default lang if pref disabled
Nick Clemens [Fri, 5 May 2017 20:09:13 +0000 (16:09 -0400)]
Bug 17762 (QA Followup) Use default lang if pref disabled

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
7 years agoBug 17762: DBIC Schema changes
Jonathan Druart [Fri, 24 Mar 2017 16:28:50 +0000 (13:28 -0300)]
Bug 17762: DBIC Schema changes

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
7 years agoBug 17762: Fix test for NewsChannels.t
Jonathan Druart [Fri, 24 Mar 2017 00:28:56 +0000 (21:28 -0300)]
Bug 17762: Fix test for NewsChannels.t

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
7 years agoBug 17762: Fix sql fields insertion
Jonathan Druart [Thu, 29 Dec 2016 10:31:38 +0000 (10:31 +0000)]
Bug 17762: Fix sql fields insertion

The "Insert ->" buttons used to copy the sql field to the textarea was
based on the id of the fieldset.
This id has to be unique to work as expected. It is now composed of mtt
+ lang instead of mtt only

Signed-off-by: Hugo Agud <hagud@orex.es>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
7 years agoBug 17762: Add the lang parameter to C4::Letters::getletter
Jonathan Druart [Thu, 8 Dec 2016 16:51:44 +0000 (17:51 +0100)]
Bug 17762: Add the lang parameter to C4::Letters::getletter

Sponsored-by: Orex Digital
Signed-off-by: Hugo Agud <hagud@orex.es>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
7 years agoBug 17762: Send lang to GetPreparedLetter
Jonathan Druart [Thu, 8 Dec 2016 15:11:21 +0000 (16:11 +0100)]
Bug 17762: Send lang to GetPreparedLetter

This patch set the lang parameter when C4::Letters::GetPreparedLetter is
called to generate the notice.
Note that we do not need to pass it if want_librarian is set.

TODO: I do not know what to do with TransferSlip

Sponsored-by: Orex Digital
Signed-off-by: Hugo Agud <hagud@orex.es>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
7 years agoBug 17762: Update the letter form interface
Jonathan Druart [Thu, 8 Dec 2016 15:01:37 +0000 (15:01 +0000)]
Bug 17762: Update the letter form interface

If the pref is on, the notice template will be translatable in different
languages

Sponsored-by: Orex Digital
Signed-off-by: Hugo Agud <hagud@orex.es>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
7 years agoBug 17762: Add lang to the PK of letter
Jonathan Druart [Thu, 8 Dec 2016 14:24:11 +0000 (15:24 +0100)]
Bug 17762: Add lang to the PK of letter

We need to enlarge the PK of the letter table.

Sponsored-by: Orex Digital
Signed-off-by: Hugo Agud <hagud@orex.es>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
7 years agoBug 17762: Remove FK on message_transports
Jonathan Druart [Thu, 8 Dec 2016 14:20:24 +0000 (15:20 +0100)]
Bug 17762: Remove FK on message_transports

I don't really understand where does come from this foreign key but at first glance it does not make sense.

Note that it seems we could also remove message_transports.branchcode

Sponsored-by: Orex Digital
Signed-off-by: Hugo Agud <hagud@orex.es>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
7 years agoBug 17762: Add the lang attribute to the patron form
Jonathan Druart [Thu, 8 Dec 2016 10:52:30 +0000 (10:52 +0000)]
Bug 17762: Add the lang attribute to the patron form

Not the opac because we do not want the patron to modify it, they won't
be necessary translated.

Sponsored-by: Orex Digital
Signed-off-by: Hugo Agud <hagud@orex.es>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
7 years agoBug 17762: Add the new TranslateNotices syspref
Jonathan Druart [Thu, 8 Dec 2016 10:27:11 +0000 (11:27 +0100)]
Bug 17762: Add the new TranslateNotices syspref

This whole patch set adds the ability to translate notices in different
languages.
That way, if a library has patrons from different countries, they will
not have to send the notices in only one language but they will be able to
translate them.

Test plan:
- Switch on TranslateNotices
- Translate the interface in different languages
- Edit patron's details
=> You should see a new "prefered language" entry
That language will be used to send notices to this patron
- Edit several notice templates
=> You should see different tabs, 1 tab per language translated at the
opac (which sounds to make sense)
- Now the notice generated for this patron should be the one translated
in the language picked for him
To confirm that, try to generate several notices for this patron.
If the notice is not translated, the default one should be used.

Sponsored-by: Orex Digital
Signed-off-by: Hugo Agud <hagud@orex.es>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
7 years agoBug 17762: DB changes - Add new 'lang' columns to letter and borrowers tables
Jonathan Druart [Thu, 8 Dec 2016 10:16:29 +0000 (10:16 +0000)]
Bug 17762: DB changes - Add new 'lang' columns to letter and borrowers tables

Sponsored-by: Orex Digital
Signed-off-by: Hugo Agud <hagud@orex.es>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
7 years agoBug 18035: Front-end changes to serials -> numbering patterns
Aleisha Amohia [Thu, 2 Feb 2017 03:44:27 +0000 (03:44 +0000)]
Bug 18035: Front-end changes to serials -> numbering patterns

This patch:
1) Uses datatables functionality on numbering patterns table
2) Shows breadcrumbs when using the form to add or modify numbering
patterns
3) Updates the Save, Reset, and Test Pattern buttons in the form to be
bootstrap 3 buttons

To test:
1) Confirm that datatable sorting works on all columns EXCEPT Actions
column
2) Click 'New numbering pattern'
3) Confirm breadcrumbs reads 'New numbering pattern'
4) Go back to numbering patterns and Edit an existing one
5) Confirm breadcrumbs reads 'Modifying number pattern '<name of
numbering pattern>'
6) Confirm Save, Reset and Test pattern buttons now show as bootstrap3
buttons
7) Confirm all buttons work as expected

Sponsored-by: Catalyst IT
Followed test plan works as expected.
Signed-off-by: Marc Véron <veron@veron.ch>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
7 years agoBug 17942 [Follow-up] Update style of the web installer with Bootstrap 3
Owen Leonard [Sat, 29 Apr 2017 09:27:01 +0000 (09:27 +0000)]
Bug 17942 [Follow-up] Update style of the web installer with Bootstrap 3

This patch makes changes following QA comments:

- Login error messages now have a style
- Select all/Select none links should now be translatable
- Date format hint now correctly detects date format preference
- Unused JS is removed from onboarding.js

This patch also modifies the 'category_code_check' validation method to
allow numbers as well as letters.

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
7 years agoBug 17942: Remove type for messages
Jonathan Druart [Tue, 2 May 2017 21:24:23 +0000 (18:24 -0300)]
Bug 17942: Remove type for messages

It it no longer in used by the templates.

Also add the include files for step5 (if the circ rule is not inserted)

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
7 years agoBug 17942 - Add anti-clickjack code to installer doc head close
Kyle M Hall [Fri, 28 Apr 2017 12:20:06 +0000 (12:20 +0000)]
Bug 17942 - Add anti-clickjack code to installer doc head close

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>
7 years agoBug 17942 - Update style of the web installer with Bootstrap 3
Owen Leonard [Thu, 27 Apr 2017 15:20:20 +0000 (15:20 +0000)]
Bug 17942 - Update style of the web installer with Bootstrap 3

This patch makes style and markup changes to the web installer and new
onboarding tool (Bug 17855).

- Markup has been corrected, improved, and in many places reindented.
- Some page titles have been made more specific.
- Some JavaScript and CSS have been moved to separate files.

In the onboarding tool I have removed form validation from the markup
and JavaScript in many cases where the requirements were not matched
elsewhere in Koha. For instance, we shouldn't limit item type
descriptions to only letters because the database doesn't require such a
limit.

To test, apply the patch and run the web installer with an empty
database. Confirm that the installation process completes correctly and
that each page looks good and works correctly.

Works as advertised
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>
7 years agoBug 17936 [Generated CSS] Search bar not aligned on right in small screen sizes
Kyle M Hall [Fri, 12 May 2017 13:18:04 +0000 (09:18 -0400)]
Bug 17936 [Generated CSS] Search bar not aligned on right in small screen sizes

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
7 years agoBug 17936 - Search bar not aligned on right in small screen sizes
Owen Leonard [Sat, 29 Apr 2017 17:45:48 +0000 (17:45 +0000)]
Bug 17936 - Search bar not aligned on right in small screen sizes

This patch tweaks the OPAC's CSS so that the main search form's fields
have consistent width at small screen sizes.

To test, apply the patch and process the LESS files. View the OPAC main
page at a very narrow browser width and confirm that the text field
width matches that of the dropdown and button.

Signed-off-by: Marc Véron <veron@veron.ch>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
7 years agoBug 17925: Disable debugging in reports/bor_issues_top.pl
Marcel de Rooy [Tue, 17 Jan 2017 15:49:40 +0000 (16:49 +0100)]
Bug 17925: Disable debugging in reports/bor_issues_top.pl

Remove setting $debug to 1. This prevents creation of file
tmp/bor_issues_top.debug.log.
Enable warnings pragma.
Resolve a uninitialized warning on $sep like:
Use of uninitialized value $CGI::Compile::ROOT::usr_share_koha_masterclone_reports_bor_issues_top_2epl::sep in string eq at /usr/share/koha/masterclone/reports/bor_issues_top.pl line 66.

Test plan:
Restart Plack (as you always do when testing).
Remove file /tmp/bor_issues_top.debug.log.
Open Reports/Patrons with the most checkouts.
Check if the file in /tmp has not been created again.
Check the log for warnings after you restarted Plack.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Mason James <mtj@kohaaloha.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
7 years agoBug 18504 - Amount owed on fines tab should be formatted as price if <10 or credit
Nick Clemens [Thu, 27 Apr 2017 19:39:35 +0000 (15:39 -0400)]
Bug 18504 - Amount owed on fines tab should be formatted as price if <10 or credit

To test:
1 - Give a patron a fine of 1
2 - View opac fines tab, it shows as '1'
3 - Give patron a credit of '1'
4 - View opac fines tab, it shows as '1'
5 - Apply patch
6 - Both now show as '1.00'

Signed-off-by: Lisa Gugliotti <lisa@hchlibrary.org>
Signed-off-by: Julian Maurice <julian.maurice@biblibre.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
7 years agoBug 16515 [Generated CSS] Did you mean? links don't wrap on smaller screens
Owen Leonard [Sat, 29 Apr 2017 18:48:05 +0000 (18:48 +0000)]
Bug 16515 [Generated CSS] Did you mean? links don't wrap on smaller screens

Processed and minified CSS.

Works as expected and looks much tidier now.
Signed-off-by: Dilan Johnpulle <dilan@calyx.net.au>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
7 years agoBug 16515 - Did you mean? links don't wrap on smaller screens
Owen Leonard [Sat, 29 Apr 2017 18:45:30 +0000 (18:45 +0000)]
Bug 16515 - Did you mean? links don't wrap on smaller screens

This patch tweaks some CSS in the OPAC to give the "Did you mean" block
better layout on smaller screens.

To test, apply the patch and process LESS files. Enable "Did you mean"
plugins for the OPAC in Administration.

Perform a search in the OPAC and confirm that the "Did you mean" block
looks correct. Resize your browser to various widths and confirm that
the block handles all sizes well.

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
7 years agoBug 18383 - Correct items.onloan schema comment
pongtawat [Tue, 4 Apr 2017 16:06:45 +0000 (23:06 +0700)]
Bug 18383 - Correct items.onloan schema comment

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Amended to include items and deleteditems.

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
7 years agoBug 18529 - Template cleanup of patron clubs pages
Owen Leonard [Sat, 29 Apr 2017 08:40:26 +0000 (08:40 +0000)]
Bug 18529 - Template cleanup of patron clubs pages

This patch addresses template issues with the newly-added patron clubs
pages.

- Move Clubs tab out of second position in Circulation page tabs.
- Link patron name in enrollments list to the patron record
- Make page titles on some pages more specific
- Correct label "for" attributes so that it matches input id
- Correst style of buttons: Buttons in tables must be "btn-xs," all
  Bootstrap buttons must have "btn-default."
- Correct "Edit" icons: Should be "fa-pencil"

This patch also revises the club template editing form to make it more
consistent with similar interfaces in Koha and (hopefully) make it more
clear.

To test, apply the patch and test adding clubs and club templates and
enrolling patrons in clubs via the staff client and OPAC. Confirm that
everything looks and work okay.

Signed-off-by: Josef Moravec <josef.moravec@gmail.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
7 years agoBug 17257: Fix add/edit patrons under MySQL 5.7
Jonathan Druart [Tue, 6 Sep 2016 09:12:20 +0000 (10:12 +0100)]
Bug 17257: Fix add/edit patrons under MySQL 5.7

If no guarantor is defined the patron won't be added/modified and an
error will be raised:

DBD::mysql::st execute failed: Incorrect integer value: '' for column
'guarantorid'

Test plan:
Using MySQL 5.7 (and/or sql_mode=STRICT_TRANS_TABLES)
Create a patron without guarantor

Signed-off-by: Srdjan <srdjan@catalyst.net.nz>
Tested with MariaDB 10.0.30 (sql_mode='STRICT_TRANS_TABLES')
Signed-off-by: Julian Maurice <julian.maurice@biblibre.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
7 years agoBug 18444: Add TalkingTechItivaPhoneNotification to sysprefs.sql
Lari Taskula [Tue, 18 Apr 2017 12:24:26 +0000 (12:24 +0000)]
Bug 18444: Add TalkingTechItivaPhoneNotification to sysprefs.sql

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
7 years agoBug 18400: [QA Follow-up] Move sort outside the loop
Marcel de Rooy [Fri, 12 May 2017 08:59:11 +0000 (10:59 +0200)]
Bug 18400: [QA Follow-up] Move sort outside the loop

GetItemTypesCategorized can return descriptions that are still undef since
Authorized values does not enforce a description in lib and lib_opac.
When I add one ITEMTYPECAT auth value without descriptions, I can still
generate the string comparison warnings on the itemtypes sort.
In order to prevent the warning, we should add an empty string in the
assignment on line 229.

We do not need to copy the itemtypes hash if we move the sort outside the
@advanced_search_types foreach. There is no need to sort it more than once.
Note that I did not see any reasons btw for corruption of the structure
inside this loop.

Note: If we use ITEMTYPECAT without descriptions, we should probably leave
them out. No need to show a checkbox without description on Advanced Search,
but I would recommend to solve that on its own report. The whole ITEMTYPECAT
functionality has imo not been designed properly.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
7 years agoBug 18400 - Noisy warns in opac-search.pl during itemtype sorting
Nick Clemens [Fri, 7 Apr 2017 16:51:49 +0000 (12:51 -0400)]
Bug 18400 - Noisy warns in opac-search.pl during itemtype sorting

To fix the warns we use a copy of itemtypes which is not touched by
other code

To test:
Apply patches
Ensure search still works

Followed test plan, search works as expected.
Signed-off-by: Marc Véron <veron@veron.ch>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
7 years agoBug 18370: Use splice instead of splice
Jonathan Druart [Thu, 11 May 2017 15:37:24 +0000 (12:37 -0300)]
Bug 18370: Use splice instead of splice

Signed-off-by: Julian Maurice <julian.maurice@biblibre.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
7 years agoBug 18370: Columns visibility on patron search - Hide the correct column
Jonathan Druart [Mon, 3 Apr 2017 14:50:07 +0000 (11:50 -0300)]
Bug 18370: Columns visibility on patron search - Hide the correct column

When a column is hidden by default on the patron search result table,
if the logged in user does not have the "tools > manage_patron_lists"
permission, the wrong column will be hidden.

Test plan:
Edit the column visibility detail for "Patrons > id=memberresultst"
Set "Fines" hidden by default
Search for patrons
=> Without this patch, if the logged in user does not have the
manage_patron_lists permission, the wrong column will be
hidden/displayed.

Signed-off-by: Séverine Queune <severine.queune@bulac.fr>
Signed-off-by: Julian Maurice <julian.maurice@biblibre.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
7 years agoBug 18340: Fix progress bar length
Jonathan Druart [Mon, 27 Mar 2017 20:18:22 +0000 (17:18 -0300)]
Bug 18340: Fix progress bar length

The progress bar (for background jobs) should be fully filled when 100%
is hit, right? :)
It has been introduced quite long time ago when the size of the progress
bar has been changed from 150 to 200px, and the code has been
refactored.

Test plan:
Launch a big modification/deletion of records/items in a batch.
You should see the progress bar progressing to 100 and reach 100!

Signed-off-by: Josef Moravec <josef.moravec@gmail.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
7 years agoBug 18557 [QA Followup] - Use dt_from_string
Kyle M Hall [Mon, 8 May 2017 21:23:22 +0000 (21:23 +0000)]
Bug 18557 [QA Followup] - Use dt_from_string

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
7 years agoBug 18557 - Mysqlim CURRENT_DATE in Koha::Clubs::get_enrollable
Kyle M Hall [Tue, 9 May 2017 11:56:53 +0000 (07:56 -0400)]
Bug 18557 - Mysqlim CURRENT_DATE in Koha::Clubs::get_enrollable

Test Plan:
1) Apply this patch
2) prove t/db_dependent/Clubs.t

Signed-off-by: Josef Moravec <josef.moravec@gmail.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
7 years agoBug 18535 - Clicking 'edit printer profile' in label creator causes software error
Nick Clemens [Wed, 3 May 2017 20:43:22 +0000 (16:43 -0400)]
Bug 18535 - Clicking 'edit printer profile' in label creator causes software error

1) Go to Tools > Label creator
2) If you don't have a printer profile defined, create one.
3) Go to manage > Printer profiles
4) Click the 'edit' button on any of the profiles.
5) INTERNAL SERVER ERROR! "Can't use string ("fields") as a HASH ref
while "strict refs" in use at /usr/share/koha/lib/C4/Creators/Lib.pm
line 147"
6) Apply patch
7) Click the 'edit' button on any of the profiles.
8) Things work as expected

Bug reproduced, is fixed by this patch
Signed-off-by: Marc Véron <veron@veron.ch>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>