]> git.koha-community.org Git - koha.git/log
koha.git
3 years agoBug 25508: Only return renewal outcomes to the controller
Martin Renvoize [Wed, 24 Mar 2021 16:38:32 +0000 (16:38 +0000)]
Bug 25508: Only return renewal outcomes to the controller

There are a few cases where the `renew_item` method in
Koha::Account::Line will return `undef`. For these cases, we should not
pass the error up the chain to the controllers as it leads to malformed
error messages in the UI.

Test plan
1 - Make sure FinesMode is on, RenewAccruingItemWhenPaid is off
2 - Checkout an item to a patron and make it overdue (can backdate the
    checkout)
3 - Make sure the itemtype has fines that will be charged
4 - Charge the fines:
    Set finesMode = production
    perl misc/cronjobs/fines.pl -v
5 - Check the fine appears on the patrons account
6 - Pay off the fine
7 - Receive alert after payment that reads: "The fines on
    the following items were paid off, renewal results are
    displayed below:
        No title ( ): Not renewed - Unknown error"
8 - Apply the patch
9 - Repeat steps 1 through 6 and note that you no longer trigger the
    error message.

Signed-off-by: Andrew Fuerste-Henry <andrew@bywatersolutions.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 25508: Add Unit Tests
Martin Renvoize [Tue, 6 Apr 2021 07:48:38 +0000 (08:48 +0100)]
Bug 25508: Add Unit Tests

Enhance the unit tests to check for the return values of
Koha::Account->pay.

Test plan
1/ Apply just this patch
2/ Run t/db_dependent/Koha/Account.t and watch it fail
3/ Apply the rest of the patch series
4/ Run t/db_dependent/Koha/Account.t and watch it pass
5/ Signoff

Signed-off-by: Andrew Fuerste-Henry <andrew@bywatersolutions.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 26312: (follow-up) Fix passing of exception messages
Nick Clemens [Thu, 1 Apr 2021 13:49:19 +0000 (13:49 +0000)]
Bug 26312: (follow-up) Fix passing of exception messages

'error' has special meaning in exceptions so naming the fields:
type, details

Rather than only dealing with a single exception type, we generically
get the ES exception info and pass it up.

I could not recreate timeout still, however, I simply restarted the
ES docker during commit stage to cause NoNodes exceptions

Signed-off-by: Joonas Kylmälä <joonas.kylmala@helsinki.fi>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 26312: Catch ES Client errors, log, and continue indexing when error encountered
Nick Clemens [Thu, 27 Aug 2020 16:04:57 +0000 (16:04 +0000)]
Bug 26312: Catch ES Client errors, log, and continue indexing when error encountered

This catches a timeout response from the ES server, logs this, and continues the indexing

To test:
1 - perl misc/search_tools/rebuild_elasticsearch.pl
2 - Make the ES server timeout (I don't have good instruction yet)
3 - Watch the job crash
4 - Apply patches
5 - perl misc/search_tools/rebuild_elasticsearch.pl
6 - Make the server timeout
7 - Note the job reports failed commit, and continues

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Joonas Kylmälä <joonas.kylmala@helsinki.fi>
Bug 26312: (follow-up) Reset buffers even if commit fails

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Joonas Kylmälä <joonas.kylmala@helsinki.fi>
Bug 26312: (follow-up) Fix whitespace and missing semicolon

Signed-off-by: Joonas Kylmälä <joonas.kylmala@helsinki.fi>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 28136: Handle Transferred status for ResFound
Nick Clemens [Mon, 12 Apr 2021 14:18:20 +0000 (14:18 +0000)]
Bug 28136: Handle Transferred status for ResFound

bug 25690 added a new 'Transferred' status to 'ResFound', this status
needs to be handled in circ/returns.pl

To test:
1 - Place a hold on an item at Branch B for pickup at Branch A
2 - Check in the item at Branch B - confirm hold and transfer
3 - Check in the item at Branch A - nothing happens?
4 - Apply patch
5 - Checkin in the item at Branch A - hold popup appears
6 - Clear the hold and place it again
7 - Set system preference 'HoldsAutoFill' to do
8 - Check in the item at Branch B - hold is found and confirmed
9 - Check in the item at Branch A - hold is found and confirmed

Signed-off-by: Joonas Kylmälä <joonas.kylmala@helsinki.fi>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 21260: DBRev 20.12.00.031
Jonathan Druart [Wed, 14 Apr 2021 14:07:07 +0000 (14:07 +0000)]
Bug 21260: DBRev 20.12.00.031

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 21260: (follow-up) Consolidate preference
Marcel de Rooy [Wed, 14 Apr 2021 11:25:57 +0000 (11:25 +0000)]
Bug 21260: (follow-up) Consolidate preference

The bug added a local preference. This should now become a real one.
Renamed in the process to better reflect its use.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 21549: DBRev 20.12.00.030
Jonathan Druart [Wed, 14 Apr 2021 13:28:28 +0000 (13:28 +0000)]
Bug 21549: DBRev 20.12.00.030

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 21549: Make filter_by_last_update returns a Koha::Objects-based object
Jonathan Druart [Mon, 12 Apr 2021 14:22:55 +0000 (16:22 +0200)]
Bug 21549: Make filter_by_last_update returns a Koha::Objects-based object

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 21549: Rename filter_by_dateexpiry with filter_by_expiration_date
Jonathan Druart [Mon, 12 Apr 2021 14:12:50 +0000 (16:12 +0200)]
Bug 21549: Rename filter_by_dateexpiry with filter_by_expiration_date

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 21549: Use filter_by_last_update from filter_by_dateexpiry
Jonathan Druart [Mon, 12 Apr 2021 14:12:03 +0000 (16:12 +0200)]
Bug 21549: Use filter_by_last_update from filter_by_dateexpiry

To not reengineer the patch this patch does not remove the new
subroutine but make it use the logic from
Koha::Objects->filter_by_last_update

It also adds a new parameter "days_inclusive"

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 21549: (QA follow-up) Get pref at start of run and rename variable
Nick Clemens [Fri, 19 Mar 2021 12:03:15 +0000 (12:03 +0000)]
Bug 21549: (QA follow-up) Get pref at start of run and rename variable

This patch ensures the script will lock patrons if the pref is set but no other actions
specified

It also changes the variable name to be a bit more explicit

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 21549: (follow-up) Adjust preference description
Marcel de Rooy [Fri, 19 Mar 2021 08:15:10 +0000 (08:15 +0000)]
Bug 21549: (follow-up) Adjust preference description

See QA remarks.

Test plan:
Check the preference in staff client.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 21549: (follow-up) Switch to filter_by
Marcel de Rooy [Fri, 19 Mar 2021 08:11:27 +0000 (08:11 +0000)]
Bug 21549: (follow-up) Switch to filter_by

See QA remarks.

Test plan:
Run t/db_dependent/Koha/Patrons.t

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 21549: Database revision for new preference
Marcel de Rooy [Mon, 10 Aug 2020 13:37:42 +0000 (13:37 +0000)]
Bug 21549: Database revision for new preference

Introducing LockExpiredDelay.

Test plan:
Run upgrade. Check syspref.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Michal Denar <black23@gmail.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 21549: Lock expired patron accounts
Marcel de Rooy [Thu, 11 Oct 2018 13:34:48 +0000 (15:34 +0200)]
Bug 21549: Lock expired patron accounts

Adding a search on locked patrons to the search_expired in cron script.
This prevents relocking.

Test plan:
Prove Koha/Patrons.t

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Michal Denar <black23@gmail.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 28014: Add table settings to batch patron modification
Owen Leonard [Mon, 22 Mar 2021 14:16:49 +0000 (14:16 +0000)]
Bug 28014: Add table settings to batch patron modification

This patch adds table settings to the tables shown before and after
a batch of patrons has been submitted for batch patron modification.

To test you must have ExtendedPatronAttributes enabled and at least one
configured.

- Go to Tools -> Batch patron modification
- Submit a set of patrons for modification
- In the table showing patron records which will be modified, confirm
  that all DataTables controls work correctly.
  - Confirm that the column visibility settings work correctly,
    including the controls for extended patron attribute columns.
- Submit a change to your patron batch.
- On the page showing the results, confirm that the DataTables controls
  continue to work as expected.
- Go to Administraion -> Table settings and confirm that making changes
  to the default configuration for this table (Tools ->
  batch_patron_modification -> borrowerst) results in the correct
  default columns being shown on the batch patron modification pages.

Signed-off-by: Amit Gupta <amitddng135@gmail.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 28114: Fix error in MARC21slim2OPACResults - correctly select singleBranchMode
Lucas Gass [Thu, 8 Apr 2021 14:51:36 +0000 (14:51 +0000)]
Bug 28114: Fix error in MARC21slim2OPACResults - correctly select singleBranchMode

To test:
-Look at search results and see something like: Availability: Items available for loan: 1 , 1 , 2 .
-Apply patch
-See something like: Availability: Items available for loan: Midway (1), Centerville (1), Fairview (2)

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 28110: Require YAML::XS 0.67
Julian Maurice [Wed, 7 Apr 2021 14:41:04 +0000 (16:41 +0200)]
Bug 28110: Require YAML::XS 0.67

$YAML::XS::Boolean, which is used in Koha::SearchEngine::Elasticsearch,
was introduced in 0.67

Signed-off-by: Séverine QUEUNE <severine.queune@bulac.fr>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 27773: Compiled CSS
Jonathan Druart [Wed, 14 Apr 2021 13:28:09 +0000 (15:28 +0200)]
Bug 27773: Compiled CSS

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 27695: (follow-up) Add specificity to CSS changes
Owen Leonard [Fri, 9 Apr 2021 18:07:48 +0000 (18:07 +0000)]
Bug 27695: (follow-up) Add specificity to CSS changes

This patch moves the definition of .alert and .error classes into the
block for .dialog in order to make sure they don't have an effect beyond
the desired scope.

The ".closebtn" section is redundant and has been removed.

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 27695: Fix style of messages on Elasticsearch configuration page
Owen Leonard [Fri, 12 Feb 2021 17:08:25 +0000 (17:08 +0000)]
Bug 27695: Fix style of messages on Elasticsearch configuration page

This patch makes minor modifications to SCSS and HTML to make messages
on the Elasticsearch configuration page more consistent with other
interfaces.

To test you should have Elasticsearch selected as your search engine.

- Apply the patch and rebuild the staff interface CSS
  (https://wiki.koha-community.org/wiki/Working_with_SCSS_in_the_OPAC_and_staff_client)
- Go to Administration -> Search engine configuration (Elasticsearch)
- You should see a full-width "note" style message under the page
  heading, "Warning: Any changes..."
- Click the "Reset mappings" button at the bottom of the page. The
  confirmation alert you see should appear above the note-style message.
- I'm not sure how to trigger an "error" type message on this page, but
  you can test the updated style by going to Administration ->
  Currencies and submit a new currency with the same name and symbol as
  one which already exists.

Signed-off-by: Michal Denar <black23@gmail.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 27773: Hide unique holidays and exceptions which have passed
Owen Leonard [Wed, 24 Feb 2021 01:09:33 +0000 (01:09 +0000)]
Bug 27773: Hide unique holidays and exceptions which have passed

This patch modifies the display of unique holidays and holiday
exceptions so that dates in the past are hidden by default. A
corresponding "Show past entries" checkbox can be checked to show the
hidden entries.

To test you should have some unique holidays and holiday exceptions in
your system from the past and in the future.

 - Apply the patch and go to Tools -> Calendar
 - In the tables of existing holidays, check that no dates in the past
   appear in the "Exceptions" or "Unique holidays" tables.
 - Checking the checkbox at the top of each of these tables should
   trigger the display of the hidden rows.

Signed-off-by: Pascale Nalon <pascale.nalon@ensmp.fr>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 27746: prevent regexp undefined warning when checking subfield contents ($oclc)
Petro Vashchuk [Mon, 22 Feb 2021 11:46:44 +0000 (13:46 +0200)]
Bug 27746: prevent regexp undefined warning when checking subfield contents ($oclc)

Some of the books have subfield "a" of field "035" absent
and it's possible to have such
(it doesn't says "Require" in the interface),
which causes "Use of uninitialized value $oclc in pattern match (m//)"
error.

Solved by screening regex with check for empty variables before the
match.

To reproduce:
    1) Edit existing book or create a new one with empty marc
subfield "a" of field "035"
    2) Use the search feature that will find it along with some other
books.
    3) Check /var/log/koha/kohadev/plack-intranet-error.log to find
"Use of uninitialized value $oclc in pattern match (m//)" error.
    4) Apply the patch.
    5) Repeat the search and check the logs again to ensure
that error didn't appear again.

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 28132: (follow-up) Update basket group page
Owen Leonard [Wed, 14 Apr 2021 10:31:35 +0000 (10:31 +0000)]
Bug 28132: (follow-up) Update basket group page

This patch makes the same change to the basket group page:

Reopen this basket -> Reopen basket
Export this basket -> Export basket
Print this basket -> Print basket

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 28132: Remove "this" from button descriptions on basket summary page
Owen Leonard [Mon, 12 Apr 2021 11:44:58 +0000 (11:44 +0000)]
Bug 28132: Remove "this" from button descriptions on basket summary page

This patch modifies button text on the Acquisitions basket page to
remove the word "this."

To test, apply the patch, go to Acquisitions, and locate a vendor with
baskets.

 - View an open basket.
 - You should see in the button toolbar, "Delete basket," and "Close
   basket."
 - View a closed basket.
 - You should see a "Reopen basket" button.

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 28081: Make card number a label in patron search results
Owen Leonard [Fri, 2 Apr 2021 19:54:30 +0000 (19:54 +0000)]
Bug 28081: Make card number a label in patron search results

This patch modifies the output of the AJAX patron search results so that
the number in the card number column is wrapped in a <label> tag which
triggers the corresponding checkbox.

To test, apply the patch and go to the Patrons module.

 - Perform a patron search which will return more than one result or
   click on a letter to browse.
 - In the search results, confirm that clicking any card number triggers
   the corresponding checkbox.

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 28112: Z39.50 does not populate form with all passed criteria
Owen Leonard [Wed, 7 Apr 2021 16:27:31 +0000 (16:27 +0000)]
Bug 28112: Z39.50 does not populate form with all passed criteria

This patch adds output of some already-existing template variables in
the Z39.50 search form so that all parameters can be used to prepopulate
the form.

To test, apply the patch and go to Cataloging.

- Click the "New from Z39.50/SRU" button
  - A window should pop up and the form should be empty.
  - Confirm that searching works correctly.
- Perform the same test from a bibliographic detail page using the Edit
  menu -> Replace record via Z39.50/SRU.
  - Some fields in the search form should be prepopulated, e.g. ISBN,
    title, author.
- Paste this link into your browser:
  http://path.to.your.koha/cgi-bin/koha/cataloguing/z3950_search.pl?frameworkcode=&isbn=isbn&issn=issn&title=title&author=author&dewey=dewey&subject=subject&lccall=lccall&controlnumber=controlnumber&stdid=stdid&srchany=srchany&publicationyear=publicationyear
  - The search form should appear with all fields prepopulated.

- Perform the same tests in Acquisitions with the option for adding to a
  basket via an external search.
  - The link for testing all parameters:
    http://path.to.your.koha/cgi-bin/koha/acqui/z3950_search.pl?booksellerid=4&basketno=3&isbn=isbn&issn=issn&title=title&author=author&dewey=dewey&subject=subject&lccall=lccall&controlnumber=controlnumber&stdid=stdid&srchany=srchany&publicationyear=publicationyear

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoRevert "Bug 26734: Ratify account slip printing"
Jonathan Druart [Wed, 14 Apr 2021 13:22:29 +0000 (15:22 +0200)]
Revert "Bug 26734: Ratify account slip printing"

This reverts commit 58ec862da2243d9210a419c210e7b469ac2f6872.

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 28055: (follow-up) Revert changes to aoColumnDefs option name
Owen Leonard [Mon, 12 Apr 2021 17:29:09 +0000 (17:29 +0000)]
Bug 28055: (follow-up) Revert changes to aoColumnDefs option name

This patch undoes changes to two lines in columns_settings.inc which
were triggering unwanted side-effects. There are several templates and
JavaScript files which use "aoColumnDefs" to pass options to columns
settings, and if we change this file without changing those at the same
time things will break.

When these lines are updated it must be done so at the same time as we
modify the templates which pass that same option.

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 14233: Set default for NoticesLog to 0
Jonathan Druart [Tue, 13 Apr 2021 08:45:58 +0000 (10:45 +0200)]
Bug 14233: Set default for NoticesLog to 0

To prevent a warning on the about page:
 System preference 'NoticesLog' must be '0' or '1', but is ''.

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 27069: (follow-up) Only display rules if one is set
Nick Clemens [Mon, 12 Apr 2021 13:22:50 +0000 (13:22 +0000)]
Bug 27069: (follow-up) Only display rules if one is set

Testing that the rule is != 'hold_allowed' is true for each itemtype where
the rule is not set. This means it appears that no holds are allowed
for any item type if no rules are set

To test:
1 - With a fresh testing DB or no holdallowed rule set, you can use SQl below to clear:
    DELETE from circuation_rules WHERE rule_name='holdallowed';
2 - Load smart-rules.pl (Administration->Circulation and fines rules)
3 - Scroll to "Default holds policy by item type"
4 - Note all item types appear as 'No holds allowed'
5 - Apply patch
6 - Reload
7 - All clear
8 - Confirm adding rules displays correctly

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 27839: (follow-up) Update docs for koha-worker
Tomas Cohen Arazi [Tue, 2 Mar 2021 19:33:29 +0000 (16:33 -0300)]
Bug 27839: (follow-up) Update docs for koha-worker

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 27839: Add tab-completion in bash for koha-worker
Tomas Cohen Arazi [Tue, 2 Mar 2021 18:20:41 +0000 (15:20 -0300)]
Bug 27839: Add tab-completion in bash for koha-worker

This patch simply adds tab-completion for this script.

To test:
1. Apply this patch
2. Run:
   $ cp debian/koha-common.bash-completion  /etc/bash_completion.d/koha-common
3. Open a new bash instance
4. Type 'koha-worker <tab>'
=> SUCCESS: All options are there
5. Play with Koha instances
=> SUCCESS: they show up, once chosen they are not offered anymore
6. Sign off :-D

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 24695: (QA follow-up) Fix POD
Kyle M Hall [Fri, 9 Apr 2021 16:41:04 +0000 (12:41 -0400)]
Bug 24695: (QA follow-up) Fix POD

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 24695: Move to Koha::Report->is_sql_valid
Jonathan Druart [Thu, 27 Feb 2020 09:31:13 +0000 (10:31 +0100)]
Bug 24695: Move to Koha::Report->is_sql_valid

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 24695: Improve SQL report validation
Pasi Kallinen [Thu, 20 Feb 2020 09:31:08 +0000 (11:31 +0200)]
Bug 24695: Improve SQL report validation

The saved SQL report code validates the SQL in multiple places:
when saving, when updating, and when executing the query.
Move the validation code into Koha::Reports, and write tests for it.

Test plan:
1) Apply patch
2) Create a new valid SQL report, save it (success)
3) Create a new illegal SQL report, try to save (fails)
4) Update already saved SQL report by adding one of
   the forbidden words, eg. delete or drop (saving will fail)
5) Edit a save_sql in the database, changing it to eg.
   "drop borrowers", and try to execute it (fails)
6) Prove t/db_dependent/Koha/Reports.t

Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>
Work as described, no qa errors.

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Bug 24695: (QA follow-up) Fix number of tests

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 27049: (QA follow-up) Add short params, replace warn with say
Kyle M Hall [Fri, 9 Apr 2021 15:45:03 +0000 (11:45 -0400)]
Bug 27049: (QA follow-up) Add short params, replace warn with say

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 27049: Add /misc/cronjobs/writeoff_debts.pl
Martin Renvoize [Wed, 18 Nov 2020 13:21:05 +0000 (13:21 +0000)]
Bug 27049: Add /misc/cronjobs/writeoff_debts.pl

This patch adds a new misc/cronjobs/writeoff_debts.pl script to allow the bulk
waiver of debts from the system. The script accepts some filter parameters,
including the option to pass a line delimited file of accountline_ids, and will
apply a WRITEOFF account against them for the amount of the outstanding debt.

Examples:
./writeoff_debts.pl --added_before $(date -d '-18 month' --iso-8601) --confirm
./writeoff_debts.pl --type COPY --verbose --confirm
./writeoff_debts.pl --file path/to/file --verbose

Test plan
1/ Add some debts to the system for various users.
2/ Output a line delimited report for accountlines for those debts.
3/ Run the script with the --file parameter and confirm those debts were
written off.
4/ Repeat steps 1-3 above but add in a step to partially pay some debts
prior to running the script.
5/ Repeat steps 1-3 above but pay of some of the debts prior to running
the script.
6/ Repeat steps 1-2 above, but instead of passing --file use a
combination of the other parameters to limit your list of debts to
writeoff.

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 26734: Ratify account slip printing
Martin Renvoize [Thu, 16 Jul 2020 08:42:20 +0000 (09:42 +0100)]
Bug 26734: Ratify account slip printing

This patch simplifies the members/print*.pl controller scripts to only
pass around the minimum required data for the templates.

Test plan
Slips should continue to print as they did prior to the patch
1/ Add a manual invoice and manual debit to a patrons account
2/ Print a slip for the manual invoice, compare to a printed slip prior
to the patch.
3/ Print a slip for the manual debit, compare to a printed slip prior to
the patch.
4/ Signoff.

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 28121: Correct the place of the question mark
Séverine QUEUNE [Fri, 9 Apr 2021 13:25:16 +0000 (15:25 +0200)]
Bug 28121: Correct the place of the question mark

Question mark is wonrgly placed when you want to delete a desk.
Test plan :
- Enable 'UseCirculationDesks'
- On Administration > Desks menu, create a new desk
- Try to delete it : note the question mark in inside the quotation
marks
- Apply patch and refresh page
- Question mark should now be after the last quotation mark

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Joonas Kylmälä <joonas.kylmala@helsinki.fi>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 27726: DBIC schema changes
Jonathan Druart [Mon, 12 Apr 2021 13:27:36 +0000 (15:27 +0200)]
Bug 27726: DBIC schema changes

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 27726: DBRev 20.12.00.029
Jonathan Druart [Mon, 12 Apr 2021 13:25:56 +0000 (13:25 +0000)]
Bug 27726: DBRev 20.12.00.029

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 27726: Increase 'content' field size
Martin Renvoize [Thu, 25 Mar 2021 14:29:06 +0000 (14:29 +0000)]
Bug 27726: Increase 'content' field size

This alternate patch increases the field size from a 255 character
varchar to a 65535 character text field. This allows for more detailed
problem reports to be submitted.

Signed-off-by: Amit Gupta <amitddng135@gmail.com>
Signed-off-by: Petro Vashchuk <stalkernoid@gmail.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 27857: Fix Pseudonymization.t
Jonathan Druart [Mon, 12 Apr 2021 09:08:01 +0000 (11:08 +0200)]
Bug 27857: Fix Pseudonymization.t

t/db_dependent/Koha/Pseudonymization.t .. 2/3
    #   Failed test 'Attribute 1 should be retrieved correctly'
    #   at t/db_dependent/Koha/Pseudonymization.t line 198.
    #     Structures begin differing at:
    #          $got->{borrowernumber} = Does not exist
    #     $expected->{borrowernumber} = '58'

    #   Failed test 'Attribute 2 should be retrieved correctly'
    #   at t/db_dependent/Koha/Pseudonymization.t line 204.
    #     Structures begin differing at:
    #          $got->{borrowernumber} = Does not exist
    #     $expected->{borrowernumber} = '58'
    # Looks like you failed 2 tests of 3.
t/db_dependent/Koha/Pseudonymization.t .. 3/3

Highlighted by
  commit 7b40ee22035210e3fbdfe75785d68ca314285409
  Bug 27857: Make Koha::Patron->extended_attributes validate data

Koha::Patron->add_extended_attributes should not modify the $attribute
hashref parameter we passed.

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 25476: Add ability to browse file uploads by category
David Cook [Thu, 14 May 2020 04:00:32 +0000 (04:00 +0000)]
Bug 25476: Add ability to browse file uploads by category

This patch adds the ability to search/browse files by category.
(Note it doesn't include temporary uploads since they don't have
 a "category" per se.)

Test Plan:
0) Apply patch
1) Go to /cgi-bin/koha/admin/authorised_values.pl
2) Create "UPLOAD" authorized value category
3) Create "test" authorized value in "UPLOAD" category
4) Go to /cgi-bin/koha/tools/upload.pl
5) Note "Search uploads by category" fieldset
6) Upload new file to "test" category
7) Click "Back"
8) Choose "test" category in "Search uploads by category"
9) Click "Search"
10) Note that your file upload is displayed in result list

Signed-off-by: Mazen Khallaf <mazen.i.khallaf@gamil.com>
Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 14233: DBRev 20.12.00.028
Jonathan Druart [Fri, 9 Apr 2021 14:04:23 +0000 (14:04 +0000)]
Bug 14233: DBRev 20.12.00.028

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 14233: Select the correct tab
Jonathan Druart [Wed, 7 Apr 2021 13:05:15 +0000 (15:05 +0200)]
Bug 14233: Select the correct tab

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 14233: Add logging support to notices and slips management
Martin Renvoize [Wed, 7 Apr 2021 13:02:17 +0000 (15:02 +0200)]
Bug 14233: Add logging support to notices and slips management

This enhancements adds support for logging changes to notices and slips.
Features include:
- a system preference (NoticesLog) which allows you to enable logging changes for notices and slips
- logging new notices, changes to notices, and deletion of notices
- filtering in the log viewer so you can show all changes for a specific notice
- a comparison feature, so you can see what changes were made to a notice.

Test plan:
1/ Add some 'Notice' action logs by adding a new notice or updateing an
existing notice
2/ Go to the 'Log viewer' under 'Tools'
3/ Note you can filter by 'Notices'
4/ Confirm the changes you made appear in the logs and that the 'Object'
field links back to the updated notice ready for editing.

1/ Make some changes to at least two different notices to trigger logs
2/ Go to the 'Log viewer' from 'Tools' and filter on 'Notices'
3/ Note, you can now see the 'Compare' checkbox option for these logs
4/ Select the checkbox on one of the notices and note that the results
are now filtered by that specific notice.
5/ Select a second checkbox to expose the option to 'View comparison'
6/ Click 'View comparison' to see the 'Diff view' of the two notices.

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 14233: DB changes - NoticesLog pref + letter.id PK
Martin Renvoize [Wed, 7 Apr 2021 13:02:09 +0000 (15:02 +0200)]
Bug 14233: DB changes - NoticesLog pref + letter.id PK

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 14233: DBIC schema changes
Martin Renvoize [Wed, 7 Apr 2021 12:56:12 +0000 (14:56 +0200)]
Bug 14233: DBIC schema changes

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 28094: Deal with encoding for overriden sysprefs
Jonathan Druart [Tue, 6 Apr 2021 14:26:23 +0000 (16:26 +0200)]
Bug 28094: Deal with encoding for overriden sysprefs

The string we retrieved is UTF-8 encoded, to prevent encoding issue we
must decode it first.

Test plan:
Easily testable with LibraryName:
1. edit /etc/apache2/sites-available/kohadev.conf
2. Add
  RequestHeader add X-Koha-SetEnv "OVERRIDE_SYSPREF_LibraryName Library of ❤️"
3. restart_all
4. Hit the mainpage and look at the source (or title) and confirm that
the string is displayed correcty

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: Julian Maurice <julian.maurice@biblibre.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 28031: Add missing txn_begin in Attribute.t
Jonathan Druart [Fri, 9 Apr 2021 13:37:36 +0000 (15:37 +0200)]
Bug 28031: Add missing txn_begin in Attribute.t

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 28031: Remove type from parameter of *_ok methods
Jonathan Druart [Fri, 9 Apr 2021 13:26:45 +0000 (15:26 +0200)]
Bug 28031: Remove type from parameter of *_ok methods

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 28031: Fix patron.t
Jonathan Druart [Fri, 9 Apr 2021 13:24:32 +0000 (15:24 +0200)]
Bug 28031: Fix patron.t

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 28031: (follow-up) Clarify check methods
Martin Renvoize [Thu, 25 Mar 2021 17:22:29 +0000 (17:22 +0000)]
Bug 28031: (follow-up) Clarify check methods

The check methods were positioned under the 'Internal methods' section
of the meodule but are used externally.

It also felt strange to have a noop or die method. Instead, I propose
renaming them to `repeatable_ok` and `unique_ok` and returning a
boolean denoting their state.

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 28031: (follow-up) Retrieve type only once
Tomas Cohen Arazi [Thu, 25 Mar 2021 13:02:22 +0000 (10:02 -0300)]
Bug 28031: (follow-up) Retrieve type only once

The current implementation of store+check_repeatable+check_unique_id
notably retrieves the related Koha::Patron::Attribute::Type object three
times.

This can be easily solved by retrieving it once and reusing. This patch
does that.

This changes the signature for the helper methods.

To test:
1. Run:
   $ kshell
  k$ prove t/db_dependent/Koha/Patron/Attribute.t
=> SUCCESS: Tests pass!
2. Apply this patch
3. Repeat 1
=> SUCCESS: Tests pass!
4. Verify the old _check_repeatable method is not used anywhere
   $ git grep _check_repeatable
=> SUCCESS: It is not!
5. Verify check_unique_id is not used anywhere, so no risk changing the
   signature
   $ git grep check_unique_id
=> SUCCESS: It is safe to update it!
6. Sign off :-D

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 28031: Avoid wrong exception on saving updated attribute
Tomas Cohen Arazi [Thu, 25 Mar 2021 12:53:13 +0000 (09:53 -0300)]
Bug 28031: Avoid wrong exception on saving updated attribute

In the case a non-repeatable attribute for a patron is being updated
(its value) the routines that check the type is repeatable should
exclude its own id from the search for things to work.

This patch solves that.

To test:
1. Apply the regression tests patch
2. Run:
   $ kshell
  k$ prove t/db_dependent/Koha/Patron/Attribute.t
=> FAIL: Tests explode! An unexpected exception is thrown!
3. Apply this patch
4. Repeat 2
=> SUCCESS: Tests pass!
5. Sign off :-D

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 28031: Regression tests
Tomas Cohen Arazi [Thu, 25 Mar 2021 12:48:35 +0000 (09:48 -0300)]
Bug 28031: Regression tests

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 27857: (follow-up) Use a more fine-grained exception for mandatory attributes
Tomas Cohen Arazi [Tue, 30 Mar 2021 14:03:09 +0000 (11:03 -0300)]
Bug 27857: (follow-up) Use a more fine-grained exception for mandatory attributes

On using this dev for the API, I found that the original FKConstraint
exception was too generic, and could be confused with those risen by
Koha::Patron->store. So this patch changes the exception that is thrown
in Koha::Patron->extended_attributes

The change is reflected on the test:
1. Apply this patch
2. Run:
   $ kshell
  k$ prove t/db_dependent/Koha/Patron.t
=> SUCCESS: Tests pass, and they include the new exception
3. Sign off :-D

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 27857: Get the right column
Tomas Cohen Arazi [Fri, 19 Mar 2021 10:56:39 +0000 (07:56 -0300)]
Bug 27857: Get the right column

This patch makes the search for mandatory attribute types actually use
'code' instead of 'class' for comparisson.

Tests are added to cover this behavior.

To test:
1. Apply this patch
2. Run:
   $ kshell
  k$ prove t/db_dependent/Koha/Patron.t
=> SUCCESS: Tests pass!
3. Sign off :-D

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
https://bugs.koha-community.org/show_bug.cgi?id=27587

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 27857: Add handling for globally mandatory attributes
Martin Renvoize [Mon, 8 Mar 2021 17:24:28 +0000 (17:24 +0000)]
Bug 27857: Add handling for globally mandatory attributes

This patch adds handling for globally mandatory extended attributes and
the corresponding unit tests.

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

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 27857: Make Koha::Patron->extended_attributes validate data
Tomas Cohen Arazi [Thu, 4 Mar 2021 12:37:42 +0000 (09:37 -0300)]
Bug 27857: Make Koha::Patron->extended_attributes validate data

This patch makes the extended_attributes method use
Koha::Patron->add_extended_attribute inside the loop, instead of direct
DB access. This way, it takes advantage of the validation that is done
there.

All happens inside a transaction, so if 'add_extended_attribute' throws
an exception, everything is rolled back.

To test:
1. Apply the previous patches
2. Run:
   $ kshell
  k$ prove t/db_dependent/Koha/Patron.t
=> FAIL: The behavior is not the correct one, tests fail
3. Apply this patch
4. Repeat 2
=> SUCCESS: Tests pass!
5. Sign off :-D

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 27857: Regression tests
Tomas Cohen Arazi [Thu, 4 Mar 2021 12:34:12 +0000 (09:34 -0300)]
Bug 27857: Regression tests

This patch adds regression tests for the changed behavior.
Koha::Patron->extended_attributes will now throw exceptions and rollback
on invalid attributes.

The existing tests are amended so they don't try to deal with skipping
bad attributes.

Specific subtests are added for error situations.

To test:
1. Apply this patch
2. Run:
   $ kshell
  k$ prove t/db_dependent/Koha/Patron.t
=> FAIL: Tests fail because the new behavior is not implemented.

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 27857: Move extended_attributes tests to Koha/Patron.t
Tomas Cohen Arazi [Thu, 4 Mar 2021 10:12:30 +0000 (07:12 -0300)]
Bug 27857: Move extended_attributes tests to Koha/Patron.t

They really belong here. both Patron.t and Patrons.t got lengthy and it
is not intuitive to look for tests for a Koha::Patron method in the
Patrons.t file.

To test:
1. Run:
   $ kshell
  k$ prove t/db_dependent/Koha/Patron.t \
           t/db_dependent/Koha/Patrons.t
=> SUCCESS: Tests pass!
2. Apply this patch
3. Repeat 1
=> SUCCESS: Tests still pass, no new stuff
4. Sign off :-D

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 28056: Add Koha::Exceptions::Patron::MissingMandatoryExtendedAttribute
Tomas Cohen Arazi [Tue, 30 Mar 2021 13:52:01 +0000 (10:52 -0300)]
Bug 28056: Add Koha::Exceptions::Patron::MissingMandatoryExtendedAttribute

This trivial patch adds a new exception for more fine-grained control on
the errors when dealing with patrons and their extended attributes.

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

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 28056: Unit tests
Tomas Cohen Arazi [Tue, 30 Mar 2021 13:51:34 +0000 (10:51 -0300)]
Bug 28056: Unit tests

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 27858: (follow-up) Consistency in stringified exception
Tomas Cohen Arazi [Thu, 18 Mar 2021 15:07:00 +0000 (12:07 -0300)]
Bug 27858: (follow-up) Consistency in stringified exception

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Joonas Kylmälä <joonas.kylmala@helsinki.fi>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 27858: Make Koha::Patron::Attribute->store raise an exception on invalid type...
Tomas Cohen Arazi [Thu, 4 Mar 2021 11:24:54 +0000 (08:24 -0300)]
Bug 27858: Make Koha::Patron::Attribute->store raise an exception on invalid type/code

This patch adds type validation to the ->store method. And exception
should be thrown if the type is invalid. Things currently explode in
such situations, so this doesn't change the behavior (just adding more
informative failure information).

To test:
1. Apply the previous patches
2. Run:
   $ kshell
  k$ prove t/db_dependent/Koha/Patron/Attribute.t
=> FAIL: No exception is thrown on the bad case, weird error
3. Apply this patch
4. Repeat 2
=> SUCCESS: Tests pass! Exception thrown!
5. Sign off :-D

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Joonas Kylmälä <joonas.kylmala@helsinki.fi>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 27858: Unit tests
Tomas Cohen Arazi [Thu, 4 Mar 2021 11:23:09 +0000 (08:23 -0300)]
Bug 27858: Unit tests

This patch introduces unit tests for the new exception to be thrown.
It generates a new extended attribute type, keeps the randomly generated
'code' and deletes the object. This way we can be sure the code doesn't
exist on the DB. It then tries to generate an attribute of that type, to
force the exception to be thrown.

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Joonas Kylmälä <joonas.kylmala@helsinki.fi>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 27858: Reorganize tests
Tomas Cohen Arazi [Thu, 4 Mar 2021 11:10:51 +0000 (08:10 -0300)]
Bug 27858: Reorganize tests

This patch renames the tests file, and also groups subtests by method.

To test:
1. Apply this patch
2. Run:
   $ kshell
  k$ prove t/db_dependent/Koha/Patron/Attribute.t
=> SUCCESS: Tests pass!
3. Sign off :-D

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Joonas Kylmälä <joonas.kylmala@helsinki.fi>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 27833: (follow-up) Add InvalidType exception
Tomas Cohen Arazi [Thu, 4 Mar 2021 10:39:27 +0000 (07:39 -0300)]
Bug 27833: (follow-up) Add InvalidType exception

Working on bug 27857 showed we needed one more exception, for when the
passed attribute type is invalid.

This patch adds the Koha::Exceptions::Patron::Attribute::InvalidType
exception. It adds a format for stringifying it, and tests are added.
The previous exceptions tests lacked one case, so I add them on this
patch as well.

To test:
1. Apply this patch
2. Run:
   $ kshell
  k$ prove tt/Koha/Exceptions.t
=> SUCCESS: Tests pass!
3. Sign off :-D

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 27833: Make K::P::Attribute add the object to the exception
Tomas Cohen Arazi [Tue, 2 Mar 2021 14:10:12 +0000 (11:10 -0300)]
Bug 27833: Make K::P::Attribute add the object to the exception

This patch makes the 'check_unique_id' and '_check_repeatable' methods
pass the 'attribute' parameter when throwing an exception. This way we
can provid emore meaningfull error messages.

To test:
1. Apply the previous patches
2. Run
   $ kshell
  k$ prove t/db_dependent/Koha/Patron/Attributes.t
=> FAIL: The exceptions are not passed the attribute!
3. Apply this patch
4. Repeat 2
=> SUCCESS: Tests pass!
5. Sign off :-D

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 27833: Add unit tests
Tomas Cohen Arazi [Tue, 2 Mar 2021 14:06:35 +0000 (11:06 -0300)]
Bug 27833: Add unit tests

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 27833: Make Koha::Exceptions::Patron::Attribute::* have parameters
Tomas Cohen Arazi [Tue, 2 Mar 2021 14:04:38 +0000 (11:04 -0300)]
Bug 27833: Make Koha::Exceptions::Patron::Attribute::* have parameters

This patch adds a 'field' to this exceptions. They now have an
'attribute' parameter referencing the object itself,

To test:
1. Apply this patch
2. Run:
   $ kshell
  k$ prove t/Koha/Exceptions.t
=> SUCCESS: Tests pass!
3. Sign off!

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 22773: Compiled CSS
Jonathan Druart [Thu, 8 Apr 2021 13:41:55 +0000 (15:41 +0200)]
Bug 22773: Compiled CSS

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 22773: (follow-up) Fix id clash and data element
Nick Clemens [Wed, 7 Apr 2021 13:01:03 +0000 (13:01 +0000)]
Bug 22773: (follow-up) Fix id clash and data element

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 22773: Assign different id to checkboxes
Jonathan Druart [Fri, 29 Jan 2021 07:46:48 +0000 (08:46 +0100)]
Bug 22773: Assign different id to checkboxes

Otherwise clicking the label does not work

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 22773: (follow-up) Ensure buttons only affect their related table
Nick Clemens [Wed, 20 Jan 2021 12:15:49 +0000 (12:15 +0000)]
Bug 22773: (follow-up) Ensure buttons only affect their related table

Also cleans up a few rebase issues

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 22773: (QA follow-up) Fix missing filters
Katrin Fischer [Wed, 1 Jul 2020 04:25:10 +0000 (04:25 +0000)]
Bug 22773: (QA follow-up) Fix missing filters

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 22773: (QA follow-up) Improve existing merge button and fix checkbox label
Katrin Fischer [Wed, 1 Jul 2020 04:20:48 +0000 (04:20 +0000)]
Bug 22773: (QA follow-up) Improve existing merge button and fix checkbox label

Fixes the checkbox label by adding an id, so that when you click on
"Show only subscriptons" the checkbox will be checked.

Adds standard classes to the existing "Merge selected invoices" button
to make things more consistent. Also added the fa-compress icon that
we use in cataloguing on the merge records button.

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 22773: (follow-up) Recommended changes are made on datatable and butons
Devinim [Fri, 18 Oct 2019 13:51:55 +0000 (13:51 +0000)]
Bug 22773: (follow-up) Recommended changes are made on datatable and butons

Signed-off-by: Kelly McElligott <kelly@bywatersolutions.com>
Signed-off-by: Christopher Kellermeyer <ckellermeyer@altadenalibrary.org>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Rebase add comma

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 22773: Message appearing if any invoice selected
Devinim [Thu, 3 Oct 2019 15:59:37 +0000 (15:59 +0000)]
Bug 22773: Message appearing if any invoice selected

Signed-off-by: Kelly McElligott <kelly@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 22773: (follow-up) Fix capitalization
Katrin Fischer [Wed, 2 Oct 2019 12:02:24 +0000 (12:02 +0000)]
Bug 22773: (follow-up) Fix capitalization

Signed-off-by: Kelly McElligott <kelly@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 22773: Bulk Close invoices and Filter invoice view (open/closed)
Devinim [Tue, 1 Oct 2019 09:38:24 +0000 (09:38 +0000)]
Bug 22773: Bulk Close invoices and Filter invoice view (open/closed)

Signed-off-by: Andrew Fuerste-Henry <andrew@bywatersolutions.com>
Signed-off-by: Kelly McElligott <kelly@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Bug 22773: The deprecated plugin is removed

Signed-off-by: Kelly McElligott <kelly@bywatersolutions.com>
Signed-off-by: Christopher Kellermeyer <ckellermeyer@altadenalibrary.org>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Remove asset for removed js

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 28097: Mock finesModes to disable recalculation
Martin Renvoize [Wed, 7 Apr 2021 11:10:38 +0000 (12:10 +0100)]
Bug 28097: Mock finesModes to disable recalculation

Since bug 8338 the recalcuated zero amount fine is subsequently removed
in _FixOverduesOnReturn which causes this test to fail if finesMode is
'production' and 'CalculateFinesOnReturn' is enabled.

Perhaps we should be 'VOID'ing fines rather than completely deleting
them, but that's a question for another day.

Test plan
1/ Enable finesMode in the staff client
2/ Run the test and watch it fail
3/ Apply the patch
4/ Run the test and watch it pass

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 27069: DBRev 20.12.00.027
Jonathan Druart [Thu, 8 Apr 2021 10:15:04 +0000 (10:15 +0000)]
Bug 27069: DBRev 20.12.00.027

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 26498: DBRev 20.12.00.026
Jonathan Druart [Thu, 8 Apr 2021 10:15:04 +0000 (10:15 +0000)]
Bug 26498: DBRev 20.12.00.026

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 28013: (follow-up) Reset the patron loop
Nick Clemens [Fri, 2 Apr 2021 14:35:08 +0000 (14:35 +0000)]
Bug 28013: (follow-up) Reset the patron loop

To test:
1 - Apply all other patches and dependencies
2 - prove -v t/db_dependent/Circulation.t
3 - It fails
4 - Apply this patch
5 - It passes

Signed-off-by: Joonas Kylmälä <joonas.kylmala@helsinki.fi>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 28013: Unit tests
Nick Clemens [Fri, 2 Apr 2021 14:33:55 +0000 (14:33 +0000)]
Bug 28013: Unit tests

Cover the case of multiple patrons and multiple items that can fill them

Signed-off-by: Joonas Kylmälä <joonas.kylmala@helsinki.fi>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 28013: (follow-up) Correct and update call to CanItemBeReserved
Nick Clemens [Fri, 2 Apr 2021 14:32:33 +0000 (14:32 +0000)]
Bug 28013: (follow-up) Correct and update call to CanItemBeReserved

The current call checks for truth against a returned hash, we need
to check the 'status' value

Signed-off-by: Joonas Kylmälä <joonas.kylmala@helsinki.fi>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 28013: (QA follow-up) Remove unused variable
Joonas Kylmälä [Mon, 29 Mar 2021 10:47:17 +0000 (13:47 +0300)]
Bug 28013: (QA follow-up) Remove unused variable

Signed-off-by: Joonas Kylmälä <joonas.kylmala@helsinki.fi>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 28013: Performance improvements to CanBookBeRenewed
Nick Clemens [Mon, 22 Mar 2021 13:03:11 +0000 (13:03 +0000)]
Bug 28013: Performance improvements to CanBookBeRenewed

In the case of 'AllowRenewalIfOtherItemsAvailable' we check all existing reserves against
all existing items. This patchset reduces the number of DB/subroutine calls

To test:
1 - Apply patch
2 - prove -v t/db_dependent/Circulation.t

Signed-off-by: Amit Gupta <amitddng135@gmail.com>
Signed-off-by: Joonas Kylmälä <joonas.kylmala@helsinki.fi>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 28078: (follow-up) Add param check to 'itemAlreadyOnHold' test
Nick Clemens [Tue, 6 Apr 2021 13:21:50 +0000 (13:21 +0000)]
Bug 28078: (follow-up) Add param check to 'itemAlreadyOnHold' test

Signed-off-by: Joonas Kylmälä <joonas.kylmala@helsinki.fi>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 28078: Add 'ignore_hold_counts' param to CanItemBeReserved
Nick Clemens [Fri, 2 Apr 2021 14:29:19 +0000 (14:29 +0000)]
Bug 28078: Add 'ignore_hold_counts' param to CanItemBeReserved

This patch adds an optional param 'ignore_hold_counts' to the routine, while still forbidding holds when 0 are allowed

To test:
1 - prove -v t/db_dependent/Holds.t

Signed-off-by: David Nind <david@davidnind.com>
JK: Commit message amended: Fixed title formatting
Signed-off-by: Joonas Kylmälä <joonas.kylmala@helsinki.fi>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 27069: Update existing rules
Tomas Cohen Arazi [Mon, 15 Mar 2021 18:33:03 +0000 (15:33 -0300)]
Bug 27069: Update existing rules

This patch adds an atomic update file that takes care of translating
existing rules. It constrains the rules to translate to those currently
expected by Koha and leaves any other value out.

To test:
1. Have some manually added rules:
   $ koha-mysql kohadev
   > INSERT INTO circulation_rules (rule_name,rule_value) VALUES
   ('holdallowed', -1);
   > INSERT INTO circulation_rules (rule_name,rule_value) VALUES
   ('holdallowed', 1);
   > INSERT INTO circulation_rules (rule_name,rule_value) VALUES
   ('holdallowed', 2);
   > INSERT INTO circulation_rules (rule_name,rule_value) VALUES
   ('holdallowed', 3);
   > INSERT INTO circulation_rules (rule_name,rule_value) VALUES
   ('holdallowed', 0);
   > INSERT INTO circulation_rules (rule_name,rule_value) VALUES
   ('holdallowed', 4);
2. Apply this patch
3. Run:
   $ updatedatabase
=> SUCCESS: It doesn't explode
4. Verify the created rules were updated correctly:
   > SELECT * FROM circulation_rules WHERE rule_name='holdallowed';
5: Verify all the tests that dealt with this rule still pass!
   $ kshell
  k$ git diff origin/master --name-only | grep -e '\.t$' | \
         xargs prove
=> SUCCESS: Tests pass!
6. Verify the UI handles setting things correctly
7. Sign off :-D

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 27069: Adapt uses of holdallowed
Tomas Cohen Arazi [Mon, 15 Mar 2021 18:39:52 +0000 (15:39 -0300)]
Bug 27069: Adapt uses of holdallowed

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 27069: Adjust tests
Tomas Cohen Arazi [Mon, 15 Mar 2021 18:39:30 +0000 (15:39 -0300)]
Bug 27069: Adjust tests

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 28092: Add reserve notes column to holds to pull
Lucas Gass [Mon, 5 Apr 2021 22:39:43 +0000 (22:39 +0000)]
Bug 28092: Add reserve notes column to holds to pull

To test:
-PLace a hold and add a reserve note to that hold
-Go to Circulation > Holds to pull
-Notice there is no reserve notes column
-Apply patch and restart all the things
-Reload the Holds to pull report and you should see a reserve notes column
-Go to table settings (/cgi-bin/koha/admin/columns_settings.pl) and make sure you can properly hide the column.
-Test other columns in the table and make sure you can properly hide them

Signed-off-by: Andrew Fuerste-Henry <andrew@bywatersolutions.com>
Signed-off-by: Petro Vashchuk <stalkernoid@gmail.com>
Signed-off-by: Joonas Kylmälä <joonas.kylmala@helsinki.fi>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
3 years agoBug 27894: Add visual feedback on overridden pickup locations
Tomas Cohen Arazi [Thu, 11 Mar 2021 13:46:58 +0000 (10:46 -0300)]
Bug 27894: Add visual feedback on overridden pickup locations

This patch takes advantage of the previous changes, and makes the
select2 dropdown display a warning sign (with a tooltip) on pickup
locations that, if chosen, it would mean a circ rule would be
overridden.

To test:
1. Have some pickup locations that are not valid for existing holds and
   AllowHoldPolicyOverride set to "Don't allow"
2. Visit a biblio with some holds
3. Choose a hold that cannot use some pickup location and use the
   dropdown
=> SUCCESS: Only valid pickup locations are retrieved
4. Set Allow HoldPolicyOverride to "Allow"
5. Refresh the page (I usually click on the Holds tab)
6 .Repeat 3
=> SUCCESS: All pickup locations in the system are displayed
=> FAIL: No visual feedback on overridden pickup locations :-(
7. Apply this patch and refresh the page
8. Repeat 3
=> SUCCESS: All pickup locations in the systema are displayed
=> SUCCESS: Visual feedback on overridden pickup locations is shown!
9. Set AllowHoldPolicyOverride to "Don't allow"
10. Repeat 3
=> SUCCESS: Only valid pickup locations are retrieved
=> SUCCESS: No overrridden warn/symbol, as expected
11. Sign off :-D

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>