koha.git
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 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>
6 years agoBug 4460: Amazon's AssociateID tag not used in links so referred revenue lost
Mark Tompsett [Tue, 21 Jun 2016 18:49:32 +0000 (14:49 -0400)]
Bug 4460: Amazon's AssociateID tag not used in links so referred revenue lost

Reworking based on output of:
git grep "gp\/reader"
Additionally, some changes might be in order though gp/reader works.
https://affiliate-program.amazon.com/help/topic/t64/a1
suggests using dp
A dp was discovered, so that part of the URL was left unchanged.
The "/ref..." part was changed to just an Amazon tag ("?tag={AAT}")
if defined.

TEST PLAN
---------
 1) Added:
     "100 years of Canadian foreign policy /
      edited by Robert Bothwell and Jean Daudelin."
 2) Added a second book with the word foreign in the title.
 3) Waited for reindex
 4) Checked out the Canadian foreign policy book.
 5) Applied patch
 6) Made sure that:
    - AmazonAssocTag was set to TEST (easy to notice)
    - AmazonCoverImages was set to 'Show'
    - OPACAmazonCoverImages was set to 'Show'
 7) Searched intranet for 'foreign' to find the detail page
    -- hovering over picture shows URL with ?tag=TEST in it.
 8) Went to the OPAC Detail page
 9) Toggling OPACURLOpenInNewWindow, confirmed that URL for
    the picture contained ?tag=TEST in it.
10) Logged into the OPAC
11) Confirmed the URL in the checked out list on your summary
    page contained ?tag=TEST in it.
12) Confirmed the URL in the checked out list on your reading
    history page contained ?tag=TEST in it.
13) Confirmed links worked (went to expected page)
14) run koha qa test tools

Followed test plan. Works as expected.
Signed-off-by: Marc Véron <veron@veron.ch>
Signed-off-by: Marc Véron <veron@veron.ch>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
6 years agoBug 18525: (bug 14828 follow-up) FIX ordering from suggestion when item-level_itypes...
Jonathan Druart [Tue, 2 May 2017 22:12:49 +0000 (19:12 -0300)]
Bug 18525: (bug 14828 follow-up) FIX ordering from suggestion when item-level_itypes = biblio

When ordering from a suggestion with item-level_itypes = biblio the app
crashes with
Template process failed: undef error - The method selected is not
covered by tests! at /home/vagrant/kohaclone/C4/Templates.pm line 121.

C4::ItemTypes->all did not set a selected flag. The item type is only
display when ordering (and not modifying an order).
The flag is never set, the test can be removed.

Test plan: Confirm that the error is gone

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
6 years agoBug 16758: Use the default cache instance
Jonathan Druart [Mon, 8 May 2017 15:43:43 +0000 (12:43 -0300)]
Bug 16758: Use the default cache instance

I do not see a valid reason not to use the default one instead of the
syspref one.

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
6 years agoBug 16758 - Caching issues in scripts running in daemon mode
Jacek Ablewicz [Wed, 14 Sep 2016 13:33:07 +0000 (15:33 +0200)]
Bug 16758 - Caching issues in scripts running in daemon mode

As L1 cache does not have expiration mechanism, scripts running
in daemon mode (rebuild_zebra.pl -daemon, sip server ?, ...) would
not be aware of any possible changes in the data being cached
in upstream L2 cache.

This patch adds ->flush_L1_caches() call in rebuild_zebra.pl
inside daemon mode loop.

To test:

1) apply patch
2) ensure that rebuild_zebra.pl -daemon is still working properly,
without any noticeable performance degradation
3) stop memcached daemon and try to run rebuild_zebra.pl -daemon
again: there should be a warning emitted stating that the script
is running in daemon mode but without recommended caching system

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>
6 years agoBug 18573: (bug 17847 follow-up) Update av-build-dropbox.inc for OPAC
Jonathan Druart [Wed, 10 May 2017 16:13:09 +0000 (13:13 -0300)]
Bug 18573: (bug 17847 follow-up) Update av-build-dropbox.inc for OPAC

On bug 17847, av-build-dropbox.inc has been updated for the intranet,
not OPAC

There is only one call to av-build-dropbox.inc at the OPAC, from
opac-suggestion.tt

Test plan:
Create a new suggestion, anonymous or with a logged in user
=> Without this patch you got
  Template process failed: undef error - The method default is not
  covered by tests! at /home/vagrant/kohaclone/C4/Templates.pm line 121.
=> With this patch applied you should see the item type dropdown list
correctly filled

Reproduced without patch, OK with patch
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>
6 years agoBug 18560: RSS link in opac shelves is broken
Mark Tompsett [Tue, 9 May 2017 04:15:23 +0000 (00:15 -0400)]
Bug 18560: RSS link in opac shelves is broken

TEST PLAN
---------
1) have books entered
2) log in create a list
3) add books to list
4) display list
5) click the RSS link button.
   -- bad HASH error.
6) apply patch
7) repeat steps 4&5
   -- readble junk without error messages.
8) run koha qa test tools

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Julian Maurice <julian.maurice@biblibre.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
6 years agoBug 18579: Fix call to append_fields, fix tests
Julian Maurice [Fri, 12 May 2017 07:25:23 +0000 (09:25 +0200)]
Bug 18579: Fix call to append_fields, fix tests

MARC::Record::append_fields takes a list of MARC::Field (not an arrayref)

Use $record->subfield() instead of $record->field()->subfield() to avoid errors
when field doesn't exist

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
6 years agoBug 18579: Make EmbedItemsAvailability handle control fields correctly
Tomas Cohen Arazi [Thu, 11 May 2017 16:07:37 +0000 (13:07 -0300)]
Bug 18579: Make EmbedItemsAvailability handle control fields correctly

This patch makes the EmbedItemsAvailability filter handle the biblio.biblionumber > control field mapping gracefully.
Right now, it was assuming a regular data field was used, and such is not the case for UNIMARC (001).

To test:
- Apply the tests patch
- Run:
  $ sudo koha-shell kohadev
 k$ cd kohaclone
 k$ prove t/db_dependent/Koha/Filter/EmbedItemsAvailability.t
=> FAIL: Tests fail to run
- Apply this patch
- Run:
 k$ prove t/db_dependent/Koha/Filter/EmbedItemsAvailability.t
=> SUCCESS: Tests pass!
- Sign off :-D

Sponsored-by: ByWater Solutions
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>
6 years agoBug 18579: Regression tests
Tomas Cohen Arazi [Thu, 11 May 2017 16:04:18 +0000 (13:04 -0300)]
Bug 18579: Regression tests

This patch makes sure the tests have the biblio.biblionumber mapping mocked
so we test the case where the mapping is to a control field instead of just
regular data fields (in the case of UNIMARC).

To test:
- Apply the patch
- Run:
  $ prove t/db_dependent/Koha/Filter/EmbedItemsAvailability.t
=> FAIL: Tests fail due to an attemp to access a subfield on a control field.

Sponsored-by: ByWater Solutions
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>
6 years agoBug 18574 - Clean Patron Records tool doesn't limit to the selected library
Kyle M Hall [Wed, 10 May 2017 15:46:36 +0000 (11:46 -0400)]
Bug 18574 - Clean Patron Records tool doesn't limit to the selected library

The library selector simply does nothing because at some point the
javascript that powers it was removed. This is very bad because
the librarian may batch delete patrons assuming it is limiting by
branch correctly and instead delete patrons for all the libraries!

Test Plan:
1) Note that the library pulldown on tools/cleanborrowers.pl does nothing
2) Apply this patch
3) Note that chaning the value in the pulldown now refreshed the page and sets the library correctly!

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Julian Maurice <julian.maurice@biblibre.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
6 years agoBug 12063 - DBRev 16.12.00.032
Kyle M Hall [Tue, 9 May 2017 13:16:49 +0000 (09:16 -0400)]
Bug 12063 - DBRev 16.12.00.032

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
6 years agoBug 12063: [QA Follow-up] Small change of two test scripts
Marcel de Rooy [Thu, 4 May 2017 12:15:51 +0000 (14:15 +0200)]
Bug 12063: [QA Follow-up] Small change of two test scripts

Removing dbh from one script, changing rollback in the other.
Schema is leading now.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
6 years agoBug 12063: [QA Follow-up] Adjustments to db revision
Marcel de Rooy [Thu, 4 May 2017 10:53:03 +0000 (12:53 +0200)]
Bug 12063: [QA Follow-up] Adjustments to db revision

Replace use by require.
Add require Koha::Calendar (seriously needed to prevent crashing).
Base expirationdate on today not on waitingdate (just as in Reserves).
Remove if ( waitingdate ) construction. Not needed anymore.
Remove $cancel_on_holidays. Not used. Note that the if construction around
the new pref is not strictly needed at upgrade time (pref still zero).
Fill the dbrev description.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
6 years agoBug 12063 - Remove checking of ExpireReservesMaxPickUpDelay in CancelExpiredReserves...
Alex Arnaud [Thu, 4 May 2017 08:54:16 +0000 (08:54 +0000)]
Bug 12063 - Remove checking of ExpireReservesMaxPickUpDelay in CancelExpiredReserves(). Koha::Hold::set_waiting calculate expiration date from today instead of hold's waiting date.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
6 years agoBug 12063 - make perl atomic update follow skeleton.perl
Alex Arnaud [Thu, 20 Apr 2017 14:22:25 +0000 (14:22 +0000)]
Bug 12063 - make perl atomic update follow skeleton.perl

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
6 years agoBug 12063 - Fix QA failures
Alex Arnaud [Thu, 30 Mar 2017 09:53:10 +0000 (09:53 +0000)]
Bug 12063 - Fix QA failures

  - Remove expiration date calculation in C4::Letter since it's done
    when setting the reserve waiting,
  - remove expiration date calculation in circ/waitingreserves.pl. Use
    the one in DB,
  - add a new atomic update that calculate expiration date for
    waiting reserves,
  - add tests for days_foward function and fix the infinite loop.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
6 years agoBug 12063 - Fix unit tests
Alex Arnaud [Wed, 22 Mar 2017 12:55:49 +0000 (12:55 +0000)]
Bug 12063 - Fix unit tests

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
6 years agoBug 12063 - Keep patron's requested expiration date if it is prior to the calculated one
Alex Arnaud [Wed, 18 Jan 2017 14:13:33 +0000 (14:13 +0000)]
Bug 12063 - Keep patron's requested expiration date if it is prior to the calculated one

Signed-off-by: Andreas Hedström Mace <andreas.hedstrom.mace@sub.su.se>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
6 years agoBug 12063 - Remove Koha::Hold::waiting_expires_on since dateexpiration is set on...
Alex Arnaud [Thu, 30 Jun 2016 08:00:26 +0000 (10:00 +0200)]
Bug 12063 - Remove Koha::Hold::waiting_expires_on since dateexpiration is set on database

Signed-off-by: sonia BOUIS <sonia.bouis@univ-lyon3.fr>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
6 years agoBug 12063: Change date calculation for reserve expiration to skip all holiday
Alex Arnaud [Mon, 20 Jun 2016 09:52:37 +0000 (11:52 +0200)]
Bug 12063: Change date calculation for reserve expiration to skip all holiday

This patch makes koha automatically set expiration date when reserves become
waitting. Also it adds a new syspref "ExcludeHolidaysFromMaxPickUpDelay" that allows to
take holidays into account while calculating expiration date.

Test plan:

  - Install this patch and run updatedatabase.pl script,
  - allow ExpireReservesMaxPickUpDelay in system preferences,
  - set ReservesMaxPickUpDelay to 5.

  - Place an hold on a checked out item and check in this item:
    The hold's expiration date should be today + 5.

  - Allow ExcludeHolidaysFromMaxPickUpDelay in system preferences,
  - add holiday during this pickup delay period,
  - Create a new hold and make it comes waitting:
    The hold's expiration date should be today + 5 + number of closed
    day(s).

Also:
  - Check that ExpireReservesOnHolidays syspref works again
    without ExcludeHolidaysFromMaxPickUpDelay.
  - Check that cancel fees apply again if wanted.

Signed-off-by: sonia BOUIS <sonia.bouis@univ-lyon3.fr>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
6 years agoBug 18553 - Incorrect Loading... tag on circulation.tt when no clubs defined
Jonathan Druart [Mon, 8 May 2017 15:54:51 +0000 (12:54 -0300)]
Bug 18553 - Incorrect Loading... tag on circulation.tt when no clubs defined

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
6 years agoBug 18553 - Incorrect "Loading..." tag on moremember.tt when no clubs defined
Nick Clemens [Fri, 5 May 2017 21:20:09 +0000 (17:20 -0400)]
Bug 18553 - Incorrect "Loading..." tag on moremember.tt when no clubs defined

To test:
1 - Have no clubs
2 - View Details tab for a patron
3 - Note the 'Loading' tag near the tabs
4 - Apply patch
5 - Load patron details and notice 'Loading' is gone
6 - Add a club and verify tab shows as expected

Signed-off-by: Mark Tompsett <mtompset@hotmail.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
6 years agoBUG 18505: opac-search-history does not respect opacPublic
Martin Renvoize [Fri, 28 Apr 2017 07:48:50 +0000 (08:48 +0100)]
BUG 18505: opac-search-history does not respect opacPublic

The opac-search-history page was available regardless of the opacPublic setting, this
patch corrects that.

Test plan, set opacPublic to 'No', test whether opac-search-history page is available
when not logged in, note that it is.
Apply patch, test whether opac-search-history is still available when not logged in,
note that you should be redirected to the login page.

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
6 years agoBug 18494: Pass a code, not hash & Fix double commas
Mark Tompsett [Mon, 1 May 2017 16:46:20 +0000 (12:46 -0400)]
Bug 18494: Pass a code, not hash & Fix double commas

TEST PLAN
---------
1) prove -v t/db_dependent/Letters.t
   -- fails at test 5 or so.
2) apply patch
3) run step 1
   -- success
4) run koha qa test tools

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
6 years agoBug 15108 - DBRev 16.12.00.031
Kyle M Hall [Mon, 8 May 2017 13:29:38 +0000 (09:29 -0400)]
Bug 15108 - DBRev 16.12.00.031

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
6 years agoBug 15108: (QA followup) Fix atomic update file
Tomas Cohen Arazi [Fri, 5 May 2017 14:38:31 +0000 (11:38 -0300)]
Bug 15108: (QA followup) Fix atomic update file

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
6 years agoBug 15108: (followup) OAI-PMH provider improvements
Ere Maijala [Thu, 23 Feb 2017 12:44:09 +0000 (14:44 +0200)]
Bug 15108: (followup) OAI-PMH provider improvements

Fixed OAI-PMH Server tests to delete any existing issues before deleting biblios,
to delete oai_sets to avoid sets in the responses and to work with UNIMARC and
NORMARC as well as MARC21.

Signed-off-by: Olli-Antti Kivilahti <olli-antti.kivilahti@jns.fi>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
6 years agoBug 15108: OAI-PMH provider improvements
Ere Maijala [Wed, 15 Feb 2017 13:20:27 +0000 (15:20 +0200)]
Bug 15108: OAI-PMH provider improvements

- Fixed date handling to use UTC as specs require.

- Added support for second precision in time stamps.

- Added support for marc21 metadata prefix as recommended in the
  guidelines (synonym for marcxml).

- Improved performance of database queries especially for large
  collections.

- Unified functionality of ListRecords and ListIdentifiers to a common
  base class.

- If items are included in the records, their timestamps are taken into
  account everywhere so that whichever is the most recent (timestamp of
  biblioitem or any of its items) is considered the record's timestamp.

- Fixed OAI.xslt to show correct record range.

- Incorporated extended tests from Bug 17493 and their tweaks from Bug 15108.

Signed-off-by: Josef Moravec <josef.moravec@gmail.com>
Signed-off-by: Olli-Antti Kivilahti <olli-antti.kivilahti@jns.fi>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
6 years agoBug 18299 - Removed unused env_tz_test.pl based on user testing feedback
Alex Buckley [Tue, 2 May 2017 13:52:25 +0000 (13:52 +0000)]
Bug 18299 - Removed unused env_tz_test.pl based on user testing feedback

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>
6 years agoBug 18233 - t/db_dependent/00-strict.t has non-existant resetversion.pl
Olli-Antti Kivilahti [Wed, 8 Mar 2017 16:12:59 +0000 (18:12 +0200)]
Bug 18233 - t/db_dependent/00-strict.t has non-existant resetversion.pl

Removes a warning.

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>
6 years agoBug 18098: Add an index with the count of not onloan items
Tomas Cohen Arazi [Fri, 3 Mar 2017 21:32:06 +0000 (18:32 -0300)]
Bug 18098: Add an index with the count of not onloan items

This patch adds a numeric index 'not-onloan-count' containing the value
of 999$x. This subfield is filled by 'rebuild_zebra.pl' by making use of
(bug's 18208) 'EmbedItemsAvailability' filter.

bib1.att and indexes definitions are updated accordingly.

To test:
- Apply the patch
- Pick the right biblio-zebra-indexdefs.xsl file for your setup and
  replace the one your Zebra uses [1]
- Replace your bib1.att
- Replace your ccl.properties
- Have at least one record with more than one item, checkout some
  item(s) from that record(s).
- Rebuild zebra's indexes:
  $ sudo koha-shell kohadev
 k$ cd kohaclone
 k$ misc/migration_tools/rebuild_zebra.pl -r -b -v -k
 (notice the dump directory is kept, you can try the XSLT yourself
  running:
    $ xsltproc \
       etc/zebradb/marc_defs/marc21/biblios/biblio-zebra-indexdefs.xsl \
       /tmp/the_dump_dir/biblios/exported_records | less
=> SUCCESS: There are records with the not-onloan-count index, and the
            value is correct!
- Check Zebra yourself:
  $ yaz-client unix:/var/run/koha/kohadev/bibliosocket
 Z> base biblios
 Z> find @attr 1=9013 @attr 2=5 @attr 4=109 0
=> SUCCESS: The search matches the amount of records with not-onloan
            items.
 Z> s 1+1
=> SUCCESS: Records with 999$x having a value higher than 0 are rendered
- Sign off :-D

Note: While this work is complete on its purpose, it is part of an
attempt to create a better way of filtering by availability.

Sponsored-by: ByWater Solutions
 [1] In kohadevbox this would be
/etc/koha/zebradb/marc_defs/marc21/biblios/biblio-zebra-indexdefs.xsl

Edit: Added the missing XSLT changes for UNIMARC and NORMARC

Signed-off-by: Josef Moravec <josef.moravec@gmail.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
6 years agoBug 17812 - Return focus to barcode field after toggling on-site checkouts
Owen Leonard [Tue, 3 Jan 2017 15:08:32 +0000 (15:08 +0000)]
Bug 17812 - Return focus to barcode field after toggling on-site checkouts

This patch changes the behavior of the checkout form so that after
checking boxes in the "checkout settings" panel the cursor focus is
automatically moved to the barcode field.

To test, apply the patch and enable OnSiteCheckouts and
decreaseLoanHighHolds system preferences.

- Open any patron account in circulation.
- Expand the "Checkout settings" panel.
- Click the label or checkbox for "Automatic renewal", "Don't
  decrease checkout length based on holds" and "On-site checkout"
- Confirm that the focus has moved to the barcode field.

Works as advertised.
Signed-off-by: Marc Véron <veron@veron.ch>
Signed-off-by: Marjorie Barry-Vila <marjorie.barry-vila@ccsr.qc.ca>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
6 years agoBug 17190 - Marked REST API as mandatory (require = 1) in PerlDependencies.pm
Alex Buckley [Sun, 19 Mar 2017 12:00:48 +0000 (12:00 +0000)]
Bug 17190 - Marked REST API as mandatory (require = 1) in PerlDependencies.pm

For testing I went in Staff client to Home > About Koha > tab  Perl modules
and verified that both Mojolicious (6.0) and Swagger2 (0.59) are marked
as mandatory.
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>
6 years agoBug 18415 - Advanced Editor - Rancor - return focus to editor after successful macro
Nick Clemens [Tue, 11 Apr 2017 15:22:13 +0000 (11:22 -0400)]
Bug 18415 - Advanced Editor - Rancor - return focus to editor after successful macro

After running a macro we should return focus to the editor screen so
editing can continue from keyboard

To test:
1 - Create a macro
   007=vd cvaizq
2 - Run it and note focus is not on editor
3 - Apply patch
4 - Reload page
5 - Run macro
6 - Note focus is returned to editor

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 17993 - Do not use modal authentication with CAS - tags bis
Fridolin Somers [Mon, 27 Mar 2017 13:19:24 +0000 (15:19 +0200)]
Bug 17993 - Do not use modal authentication with CAS - tags bis

Bug 12046 corrected the fact that modal dialog does not allow to use the
CAS authentication in main authentication link. This must also be
corrected in link for tags in detail tags page: "Log in to see your own
saved tags."

Test plan :
- Enable syspref casAuthentication
- Go to OPAC, not authenticated
- Click on "Tag cloud"
- Click on "Log in to see your own saved tags"
=> Without patch you get the modal login popup
=> With patch you go to the login page opac-user.pl

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 17993 - Do not use modal authentication with CAS - tags
Fridolin Somers [Wed, 25 Jan 2017 13:47:02 +0000 (14:47 +0100)]
Bug 17993 - Do not use modal authentication with CAS - tags

Bug 12046 corrected the fact that modal dialog does not allow to use the CAS authentication in main authentication link.
This must also be corrected in link for tags in detail page : "Log in to add tags"

Test plan :
- Enable syspref casAuthentication
- Go to OPAC
- Go to a record detail page opac-detail.pl
- Click on "Log in to add tags"
=> Without patch you get the modal login popup
=> With patch you go to the login page opac-user.pl

Signed-off-by: Mark Tompsett <mtompset@hotmail.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
6 years agoBug 17993 - Do not use modal authentication with CAS - lists
Fridolin Somers [Wed, 25 Jan 2017 13:19:16 +0000 (14:19 +0100)]
Bug 17993 - Do not use modal authentication with CAS - lists

Bug 12046 corrected the fact that modal dialog does not allow to use the CAS authentication in main authentication link.
This must also be corrected in link of lists popup : "Log in to create your own lists"

Test plan :
- Enable syspref casAuthentication
- Go to OPAC
- Click on Lists > Log in to create your own lists
=> Without patch you get the modal login popup
=> With patch you go to the login page opac-user.pl

Signed-off-by: Mark Tompsett <mtompset@hotmail.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
6 years agoBug 18405: Self checkout: Fix broken silent printing
Marc Véron [Sun, 9 Apr 2017 14:58:21 +0000 (16:58 +0200)]
Bug 18405: Self checkout: Fix broken silent printing

Fix broken 'silent printing' (without printer dialog) in self checkout.

To reproduce:
Set up silent printing to slip printers as described in:
https://wiki.koha-community.org/wiki/Setting_up_slip_printer_to_print_silently

Verify that it works for check-outs in staff client.
Verify that it does not work in Self checkout.

To test:
Apply patch
Verify that silent printing works on SCO

Signed-off-by: Alex Buckley <alexbuckley@catalyst.net.nz>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
6 years agoBug 7550: [QA Follow-up] Resolve param warning from sco-patron-image
Marcel de Rooy [Mon, 1 May 2017 12:15:58 +0000 (14:15 +0200)]
Bug 7550: [QA Follow-up] Resolve param warning from sco-patron-image

Resolve this warning:
  CGI::param called in list context from package C4::Service line 212, this can lead to vulnerabilities. See the warning in "Fetching the value or values of a single named parameter" at /usr/share/perl5/CGI.pm line 436.

It comes from the require_params call in sco-patron-image.pl.

Git grepping on require_params tells me this:
  members/default_messageprefs.pl:my ($categorycode) = C4::Service->require_params('categorycode');
  opac/sco/sco-patron-image.pl:my ($borrowernumber) = C4::Service->require_params('borrowernumber');
  opac/sco/sco-patron-image.pl:my ($csrf_token) = C4::Service->require_params('csrf_token');
  svc/cataloguing/metasearch:my ( $query_string, $servers ) = C4::Service->require_params( 'q', 'servers' );

The only candidate for multi_param seems to be 'servers', but as we can see
this variable is a scalar. Additional servers returned by require_params are
lost. This should be solved on its own report.
So, we can safely add scalar to the params call, resolve the warning and
keep the same behavior.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
6 years agoBug 7550: SCO - Restrict access of patron's image
Jonathan Druart [Wed, 19 Apr 2017 17:09:12 +0000 (14:09 -0300)]
Bug 7550: SCO - Restrict access of patron's image

With this patch if SelfCheckoutByLogin is set to 'username and
password', only the logged in user will be able to see the image linked
to his/her logged in account.
If set to "barcode" we generate a token but it can be easily generated.
You should add a warning in the about page if
SelfCheckoutByLogin="barcode" and ShowPatronImageInWebBasedSelfCheck="Show".

How I tested:
- Go to SCO
- Log - Enable self checkout, go to [Your
  Server]//cgi-bin/koha/sco/sco-main.pl
- Log in with a user 'A' who has a patron image
- Copy the address of the patron image into an other browser window
- Change the borrowernumber to on of an other user 'B' having a patron
  image
- Verify that the patron image is NOT displayed

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>
6 years agoBug 17952 - Lost items not skipped by overdue_notices.pl
Kyle M Hall [Fri, 20 Jan 2017 14:43:24 +0000 (14:43 +0000)]
Bug 17952 - Lost items not skipped by overdue_notices.pl

If a library does not use --mark-returned when running longoverdue.pl,
all those lost item checkouts are selected by overdue_notices.pl.
This causes much unnecessary overhead. In addition Koha::Calendar is
instantiated many times for each branchcode which is not necessary.

Test Plan:
1) Run overdue_notices.pl, note output
2) Apply this patch
3) Run overdue_notices.pl again, note output is the same

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Jane Leven <jleven@camdencountylibrary.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
6 years agoBug 18512: Add tests
Jonathan Druart [Tue, 2 May 2017 20:27:48 +0000 (17:27 -0300)]
Bug 18512: Add tests

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
6 years agoBug 18512 - GetAuthorisedValues.GetByCode Template plguin should return code (not...
Nick Clemens [Fri, 28 Apr 2017 18:11:00 +0000 (14:11 -0400)]
Bug 18512 - GetAuthorisedValues.GetByCode Template plguin should return code (not empty string) if value not found

To test:
1 - Create or edit a borrower with info in Sort1 and Sort2 field, not
mapped to authorized values
2 - Note this info does not display on moremember.tt
3 - Apply patch
4 - Note value is passed through

Signed-off-by: Mark Tompsett <mtompset@hotmail.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
6 years agoBug 18152: Add tests
Jonathan Druart [Wed, 3 May 2017 18:30:14 +0000 (15:30 -0300)]
Bug 18152: Add tests

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>