]> git.koha-community.org Git - koha.git/log
koha.git
2 years agoBug 29561: Unit test
Nick Clemens [Thu, 22 Sep 2022 19:51:46 +0000 (19:51 +0000)]
Bug 29561: Unit test

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 31682: Silence automatic linker warn
Aleisha Amohia [Tue, 4 Oct 2022 21:23:57 +0000 (21:23 +0000)]
Bug 31682: Silence automatic linker warn

To test:
1. Open the plack-intranet-error.log in your terminal
2. When editing or adding a bibliographic record, click the button to
link authorities automatically.
3. Notice the warn in the log
4. Apply the patch, restart services and refresh the page
5. Click the button again. There should be no warn

Sponsored-by: Catalyst IT
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 31485: Move _item_denied_renewal to Koha::Item
Joonas Kylmälä [Sun, 28 Aug 2022 20:01:19 +0000 (23:01 +0300)]
Bug 31485: Move _item_denied_renewal to Koha::Item

The question whether item is denied renewal doesn't depend on
circulation rules or the patron, it is only a property of the item and
only changes to the item's attributes can cause the return value of
the check to change, thus we should move this to be a method of
Koha::Item.

To test:
 1) Run unit tests
    $ prove t/db_dependent/Circulation.t
    $ prove t/db_dependent/Koha/Item.t

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 31646: Add Select2 focus to text search field
Lucas Gass [Fri, 30 Sep 2022 17:48:25 +0000 (17:48 +0000)]
Bug 31646: Add Select2 focus to text search field

To test:
1. Edit a biblio record
2. Go to tab 9 to find the item type MARC field 942$c
3. Click on the field to select an item type
4. Notice you have to click again on the search field to begin typing to search
   for your item type
5. Apply patch/clear browser cache
6. Try steps 2-3 again, the focus should now be on the search text field
7. Try another select2 dropdown on the same page like the  942$n ( Suppress in
   OPAC ), it should also default to the text search field.
8. Try other places in Koha that feature this kind of select2, like when
   placing hold.

Note: Using $(document).on here instead of $(".select2").on becuase there are
several instances where there are more than 1 select2 dropdown on a single page.
This allows for the text search field to default each time you click on a
different dropdown.

Signed-off-by: Aleisha Amohia <aleishaamohia@hotmail.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 31420: Managing funds: Labels of statistic fields overlap with pull downs
Owen Leonard [Tue, 4 Oct 2022 12:31:48 +0000 (12:31 +0000)]
Bug 31420: Managing funds: Labels of statistic fields overlap with pull downs

This patch removes some very old inline style attributes from the fund
edit form. The "white-space" attribute prevented label text from
naturally wrapping.

To test, apply the patch and go to Administration -> Funds.

- In the list of funds, click Actions -> Edit.
- The the form, confirm that the text of the "Statistic" 1 and 2 labels
  wraps, not getting hidden by the associated select tags.

Signed-off-by: Barbara Johnson <barbara.johnson@bedfordtx.gov>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 31587: Basket not accessible from ACQORDER notice
Kyle Hall [Tue, 20 Sep 2022 14:21:19 +0000 (10:21 -0400)]
Bug 31587: Basket not accessible from ACQORDER notice

The parameter "aqbasket" is passed to GetPreparedLetter, but is always undefined for the notice ACQORDER.

Test Plan:
1) Set your ACQORDER notice content to:
   ***[% basket %]***
2) Set up a vendor with an email, set contact for email so the "E-mail
   order" button shows on a basket for that vendor
3) E-mail the basket
4) Note the email contents are "******"
5) Apply this patch
6) Restart all the things!
7) Email the basket again
8) Note the content looks something like:
   ***Koha::Acquisition::Basket=HASH(0x55870acd96e0)***

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 31587: Regression tests
Tomas Cohen Arazi [Tue, 20 Sep 2022 14:46:23 +0000 (11:46 -0300)]
Bug 31587: Regression tests

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 31575: Missing warning for holds where AllowHoldPolicyOverride can be used to...
Kyle Hall [Fri, 16 Sep 2022 14:47:48 +0000 (10:47 -0400)]
Bug 31575: Missing warning for holds where AllowHoldPolicyOverride can be used to force a hold to be placed

If some holds are overridable, and AllowHoldPolicyOverride is enabled, Koha
used to "flag" each holdable item to let librarians know the hold could not
normally be placed. In 22.05 up to current master as of this writing, no
warning is displayed.

Test Plan:
1) Set one circ rule to allow 0 holds
2) For Library A, set "Hold pickup library match" to "item's hold group"
3) Enable AllowHoldPolicyOverride
4) Set ReservesControlBranch to "item's home branch"
5) Create a record with an item for Library A, one for Library B, and one for Library C
   This should create a scenario where A's item cannot be held, and B and C's items must be overridden
6) Note you get the "Cannot place hold" but can place those holds anyway without a "warning" sign
7) Apply this patch
8) Restart all the things!
9) Reload the page, you should now see the warning icons!

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 31619: add title back to list of OPACSuggestionMandatoryFields options
Galen Charlton [Fri, 23 Sep 2022 18:49:48 +0000 (14:49 -0400)]
Bug 31619: add title back to list of OPACSuggestionMandatoryFields options

This patch fixes a regression introduced by bug 29695 that prevented
setting the title as a required field when setting the
OPACSuggestionMandatoryFields to a non-default value.

To test:

[1] Set OPACSuggestionMandatoryFields in the system preferences
    editor and note that 'title' is not listed in the modal
    that is displayed.
[2] Apply the patch.
[3] Revist the system preference editor and note that 'title'
    is now displayed as an option.

Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 17379: Add a man page for koha-passwd (2)
Mason James [Wed, 21 Sep 2022 11:57:38 +0000 (23:57 +1200)]
Bug 17379: Add a man page for koha-passwd (2)

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 17379: Add a man page for koha-passwd
Lucio Moraes [Mon, 24 Oct 2016 08:23:20 +0000 (08:23 +0000)]
Bug 17379: Add a man page for koha-passwd

Adding a manpage for the koha-passwd utility.

To test:
1) Run these commands and look at the formatted man page:
$xsltproc /usr/share/xml/docbook/stylesheet/docbook-xsl/manpages/docbook.xsl \
 debian/docs/koha-passwd.xml
2)$man -l koha-passwd.8

3) Make sure this test passes:  $prove -v xt/verify-debian-docbook.t

Signed-off-by: Mika Smith <mikasmith@catalyst.net.nz>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 31519: Move preference fetching directly to be done in the template
Joonas Kylmälä [Sun, 4 Sep 2022 07:46:16 +0000 (10:46 +0300)]
Bug 31519: Move preference fetching directly to be done in the template

Since we are not in a loop or using this multiple times it's simple to
do it this way, helps with changing the template code in the future
too since if we want to remove this syspref variable we know it is
only used in this one particular place.

To test:
 1) Grep for reserve_in_future and make sure there are no matches
    after applying this patch

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 31519: Remove unused SuspendHoldsIntranet and AutoResumeSuspendedHolds variables
Joonas Kylmälä [Sun, 4 Sep 2022 07:45:59 +0000 (10:45 +0300)]
Bug 31519: Remove unused SuspendHoldsIntranet and AutoResumeSuspendedHolds variables

If you grep koha-tmpl/intranet-tmpl/prog/en for those you will see
there are no references for those.

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 31649: Fix acquisition basket group CSV export if biblio does not exist
Fridolin Somers [Thu, 29 Sep 2022 06:42:57 +0000 (20:42 -1000)]
Bug 31649: Fix acquisition basket group CSV export if biblio does not exist

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 31649: Fix acquisition basket CSV export if biblio does not exist
Fridolin Somers [Thu, 29 Sep 2022 06:33:26 +0000 (20:33 -1000)]
Bug 31649: Fix acquisition basket CSV export if biblio does not exist

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 31649: Add unit tests
Fridolin Somers [Thu, 29 Sep 2022 06:32:58 +0000 (20:32 -1000)]
Bug 31649: Add unit tests

Creates new test file GetBasketGroupAsCSV.t

Test with :
prove t/db_dependent/Acquisition/GetBasketAsCSV.t
prove t/db_dependent/Acquisition/GetBasketGroupAsCSV.t

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 31673: (QA follow-up) Check if FK exists before attempt to remove
Tomas Cohen Arazi [Tue, 11 Oct 2022 12:08:56 +0000 (09:08 -0300)]
Bug 31673: (QA follow-up) Check if FK exists before attempt to remove

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 31673: (bug 31086 follow-up) Drop and constraint to allow updating column
Nick Clemens [Wed, 5 Oct 2022 10:16:02 +0000 (10:16 +0000)]
Bug 31673: (bug 31086 follow-up) Drop and constraint to allow updating column

It seems that we cannot edit the column while it has a constraint.
If we remove it, update the oclumn, then re-add it, the update succeeds

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 25936: (follow-up) Unit test for store
Martin Renvoize [Tue, 4 Oct 2022 11:01:47 +0000 (12:01 +0100)]
Bug 25936: (follow-up) Unit test for store

This unit test confirms that we are not triggering the Password Change
notification notice upon patron creations.

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 25936: (follow-up) Fix ../api/v1/patrons.t
Martin Renvoize [Tue, 4 Oct 2022 11:00:18 +0000 (12:00 +0100)]
Bug 25936: (follow-up) Fix ../api/v1/patrons.t

Disable password change notifications for the api test to negate the
need for setting up notices.

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 31203: (follow-up) Remove stray debug statement
Nick Clemens [Fri, 30 Sep 2022 12:22:50 +0000 (12:22 +0000)]
Bug 31203: (follow-up) Remove stray debug statement

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 31203: Alter other cronjobs that currenlty use cronlogaction
Nick Clemens [Fri, 5 Aug 2022 14:11:55 +0000 (14:11 +0000)]
Bug 31203: Alter other cronjobs that currenlty use cronlogaction

Added command line ooption logging and completion logging where
cronlogaction was already imported. We should probably standardize all
cronjobs, but this is a start

One cron didn't log on confirm, likely we need to update all crons to log
if confirm, and possibly not log if running in test mode? Another bug as well

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 31203: Add End action to cronjobs and log viewer
Nick Clemens [Thu, 21 Jul 2022 14:53:23 +0000 (14:53 +0000)]
Bug 31203: Add End action to cronjobs and log viewer

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 31203: POC advance_notices
Nick Clemens [Thu, 21 Jul 2022 12:44:40 +0000 (12:44 +0000)]
Bug 31203: POC advance_notices

This patch proposes a new standard for cronlogaction

We copy @ARGV into a space separated string, then pass this to
cronlogaction

At the end of the script we add a call with info "COMPLETED"

To test:
1 - Apply patch
2 - perl misc/cronjobs/advance_notices.pl -v -m 4 -n -c
3 - sudo koha-mysql kohadev
4 - SELECT * FROM action_logs WHERE interface="CRON";
5 - Note start and completion logged
6 - Note command line arguments included in info

If this looks good I will copy this pattern to the other cronjobs

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 31203: Alter cronlogaction to take a hash
Nick Clemens [Thu, 21 Jul 2022 12:43:34 +0000 (12:43 +0000)]
Bug 31203: Alter cronlogaction to take a hash

This patch simply changes the routine to expect a hashref for info
and to log the PID as object in action logs

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 31465: (follow-up) Link to preference tabs directly
Martin Renvoize [Fri, 16 Sep 2022 11:33:31 +0000 (12:33 +0100)]
Bug 31465: (follow-up) Link to preference tabs directly

This patch enhances the mapping system for the help button to allow for
each tab of preferences to link directly to the relevent section of the
manual.

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 31465: Correct help link for preferences
Martin Renvoize [Fri, 16 Sep 2022 10:42:17 +0000 (11:42 +0100)]
Bug 31465: Correct help link for preferences

This patch updates the mapping to reflect the split and rename of the
preferences section of the manual.

Test plan
1) Hitting 'Help' on any tab except for 'Local use' should lead you to
   the globalpreferences section of the manual for your Koha version.
2) Hitting 'Help' on the 'Local use' tab should take you directly to the
   'localusepreferences' manual page.

NOTE: I have now updated the manual build pipeline to remove
renamed/deleted files so prior to this patch you should now see a 404
response when clicking Help from these pages.  Before I made that
change, we had the old file hanging around, so you actually got an
outdated manual page disguised as a more recent version.

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 31666: (QA follow-up) Remove ES template literals
Martin Renvoize [Tue, 4 Oct 2022 14:03:02 +0000 (15:03 +0100)]
Bug 31666: (QA follow-up) Remove ES template literals

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 31666: (QA follow-up) Add filters
Martin Renvoize [Tue, 4 Oct 2022 13:49:01 +0000 (14:49 +0100)]
Bug 31666: (QA follow-up) Add filters

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 31666: Add job progress bar to stage-marc-import.pl
Kyle Hall [Fri, 30 Sep 2022 16:35:00 +0000 (12:35 -0400)]
Bug 31666: Add job progress bar to stage-marc-import.pl

It would be nice if we had progress bars to indicate the progress of background jobs for scripts that utilize them.

This patch implements a reusable bootstrap based progess bar.

Test Plan:
1) Apply this patch
2) Stage a marc batch ( preferrably a large one to show the progress updating )
3) Note the new progess bar, verify it functions correctly.

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 31685: Replace current_article_requests_count in opac-user
Marcel de Rooy [Wed, 5 Oct 2022 13:45:09 +0000 (13:45 +0000)]
Bug 31685: Replace current_article_requests_count in opac-user

Fixing the "( total)" in the caption of the table.

The tt var should be replaced now by current_article_requests.size.
Note that current_article_requests is an array now (from as_list).
We cannot use .count since it is no Koha object.

Test plan:
Submit a few article requests.
Check OPAC account page, and verify that both totals are fine now.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 31333: DBRev 22.06.00.061
Tomas Cohen Arazi [Wed, 5 Oct 2022 19:02:04 +0000 (16:02 -0300)]
Bug 31333: DBRev 22.06.00.061

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 31333: (QA follow-up) Simplify code
Tomas Cohen Arazi [Wed, 5 Oct 2022 18:14:22 +0000 (15:14 -0300)]
Bug 31333: (QA follow-up) Simplify code

The new syspref is a deny-list. So not being part of the list means you
are allowed. This was not that clear reading the code, so this patch
tries to simplify the logic. Better handling on undef syspref value is
added as well to avoid useless warnings.

This patch does the following changes:
- Uses `any` instead of `grep`. This has the effect of just returning a
  boolean on the first match, instead of keep looping until de array

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 31333: (QA follow-up) Move and improve tests
Tomas Cohen Arazi [Wed, 5 Oct 2022 14:53:46 +0000 (11:53 -0300)]
Bug 31333: (QA follow-up) Move and improve tests

This patch moves tests to the right file (singular class name). It also
refactors them a bit, in order to cover more cases, including the
syspref split one.

To test:
1. Run:
   $ kshell
  k$ prove t/db_dependent/Koha/Patron/Category.t \
           t/db_dependent/Koha/Patron/Categories.t
=> SUCCESS: All good.

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 31333: (QA follow-up) Add hint about AnonSuggestions to new system preference
Katrin Fischer [Wed, 7 Sep 2022 11:24:35 +0000 (11:24 +0000)]
Bug 31333: (QA follow-up) Add hint about AnonSuggestions to new system preference

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 31333: (follow-up) Handle anonymous patrons making suggestions
Alex Buckley [Fri, 26 Aug 2022 02:04:51 +0000 (02:04 +0000)]
Bug 31333: (follow-up) Handle anonymous patrons making suggestions

Test plan:
1. Enable suggestion & AnonSuggestions sysprefs and set AnonymousPatron = 1
2. Visit the OPAC without logging in
3. Confirm you can successfully create a suggestion from:
- Item detail page
- Search result page
- Masthead under the 'Library catalogue' search box
4. Disable the AnonSuggestions syspref
5. Confirm you cannot see links to make purchase suggestions on the
following pages:
- Item detail page
- Search result page
- Masthead under the 'Library catalogue' search box
6. Confirm if you try visiting /cgi-bin/koha/opac-suggestions.pl page
you are re-directed to a login page
7. Select the category of your user in the suggestionPatronCategoryExceptions syspref
8. Log into the OPAC
9. Confirm you cannot see links to make purchase suggestions on the
following pages:
- Item detail page
- Search result page
- Masthead under the 'Library catalogue' search box
- opac-user.pl ('Your summary') page
10. Confirm if you try visiting /cgi-bin/koha/opac-suggestions.pl page
you are re-directed to a 404 error page
11. Enable AnonSuggestions syspref
12. Confirm you can successfully create a suggestion from:
- Item detail page
- Search result page
- Masthead under the 'Library catalogue' search box
- opac-user.pl ('Your summary') page
13. Disable AnonSuggestions syspref and un-check your category from
suggestionPatronCategoryExeptions syspref
14. Confirm you can create a suggestion from:
- Item detail page
- Search result page
- Masthead under the 'Library catalogue' search box
- opac-user.pl ('Your summary') page

Sponsored-by: Catalyst IT, New Zealand
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 31333: (QA follow-up) Add the new check to OPAC result list
Katrin Fischer [Sun, 28 Aug 2022 09:14:46 +0000 (11:14 +0200)]
Bug 31333: (QA follow-up) Add the new check to OPAC result list

When no result is found and at the bottom of the result list
the option to make a purchase suggestion is displayed. This
also needs to use the new check.

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 31333: (QA follow-up) Combine and rephrase system preferences
Katrin Fischer [Sun, 28 Aug 2022 09:14:07 +0000 (11:14 +0200)]
Bug 31333: (QA follow-up) Combine and rephrase system preferences

Combines suggestion and suggestionPatronCategoryExceptions so
they can be easily set together and rephrases slightly.

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 31333: Unit tests
Alex Buckley [Mon, 15 Aug 2022 06:39:23 +0000 (06:39 +0000)]
Bug 31333: Unit tests

Test plan:
1. Run tests (Categories.t has been updated by me, and I suggest running
Suggestions.t to confirm it still passes):

sudo koha-shell kohadev
prove t/db_dependent/Koha/Patron/Categories.t
prove t/db_dependent/Koha/Suggestions.t

Sponsored-by: Catalyst IT, New Zealand
Signed-off-by: Rhonda Kuiper <rkuiper@roundrocktexas.gov>
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 31333: Add ability to make purchase suggestions by borrower type
Alex Buckley [Tue, 9 Aug 2022 14:43:33 +0000 (14:43 +0000)]
Bug 31333: Add ability to make purchase suggestions by borrower type

Introduce a suggestionPatronCategoryExceptions system preference.

If the suggestion syspref is enabled then libraries can stop specific
borrower types from making suggestions by ticking the type in the
suggestionPatronCategoryExceptions syspref.

Test plan:
1. Apply patches, update database, re-start services

2. Set 'suggestion' syspref = 'Allow'

3. Confirm you can view the purchase suggestion links on OPAC biblio detail
page & 'your summary' page. As well as successfully submit a suggestion.

4. Select the patron category you're logged in as in
suggestionPatronCategoryExceptions syspref

5. Confirm the purchase suggestion links are hidden in the OPAC biblio
detail page & 'your summary' page

6. In your browser enter the link: <OPAC base URL>/cgi-bin/koha/opac-suggestions.pl
e.g. http://localhost:8080/cgi-bin/koha/opac-suggestions.pl

7. Confirm a 404 page loads

8. Confirm you can view/moderate suggestions in the staff
client - even though your patron is selected in the
suggestionPatronCategoryExceptions syspref

9. Untick your patron category in the suggestionPatronCategoryExceptions syspref

10. Confirm you can view the purchase suggestion links on the OPAC, as
well as successfully submit a suggestion.

11. Set 'suggestion' syspref = "Don't allow"

12. Confirm the purchase suggestion links are hidden in the OPAC

13. Select all patron categories in suggestPatronCategoryExceptions
syspref. View the OPAC without logging in and confirm you can perform
searches and view OPAC biblio detail pages.

Sponsored-by: Catalyst IT, New Zealand
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 31333: Database changes
Alex Buckley [Tue, 9 Aug 2022 02:01:57 +0000 (02:01 +0000)]
Bug 31333: Database changes

Sponsored-by: Catalyst IT, New Zealand
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 31536: Add UNIMARC framework plugin to fetch PPN from sudoc.fr
jeremy breuillard [Tue, 7 Jun 2022 13:40:09 +0000 (15:40 +0200)]
Bug 31536: Add UNIMARC framework plugin to fetch PPN from sudoc.fr

This plugin uses sudoc.fr webservices (isbn2ppn, issn2ppn, ean2ppn) to
search a PPN using ISBN, ISSN or EAN as search criteria.
The plugin expects than ISBN is in 010$a, ISSN is in 011$a and EAN is in
073$a.

Test plan:
1. Configure the default MARC framework so that 009 uses this plugin
   (unimarc_field_009_ppn.pl)
2. Start creating a new bibliographic record
3. In the editor, write "0195141156" in the 010$a input, then move the
   focus out of the input (by pressing Tab, or clicking elsewhere on the
   page)
   The 009 field should be automatically filled with "06735209X"
4. Empty the 010$a input, then empty the 009 input
5. Write "2262-4694" in the 011$a input, then move the focus out of the
   input
   The 009 field should be automatically filled with "166197947"
6. Empty the 011$a input, then empty the 009 input
7. Write "9782070424597" in the 073$a input, then move the focus out of
   the input
   The 009 field should be automatically filled with "151662983"
8. Empty only the 009 field, keep the same value for 073$a and save the
   bibliographic record.
9. Edit the same record, you should have an empty 009 field and 073$a =
   "9782070424597".
   Click on the 009 field input, it should be automatically filled with
   "151662983"

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 31371: (QA follow-up) Capitalization fixes
Katrin Fischer [Mon, 3 Oct 2022 19:53:42 +0000 (19:53 +0000)]
Bug 31371: (QA follow-up) Capitalization fixes

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 31371: Value builder for field 283
jeremy breuillard [Mon, 1 Aug 2022 13:27:22 +0000 (15:27 +0200)]
Bug 31371: Value builder for field 283

On page cataloging some plugins were added for subfields $2 and $a from field $283

Test plan:
    1)Go to Home > Cataloging > New record
    2)Section 2 - field 283 : it contains subfields $2, $6, $8 & $a
    3)Inputs are writable but notice that no plugins are suggested
    4)Apply patch and repeat 1) to 3)
    5)Values builders plugins are available for $2 and $a

Signed-off-by: Thibault Keromnès <thibault.keromnes@univ-paris8.fr>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 31372: Value builder for field 325
jeremy breuillard [Wed, 20 Jul 2022 13:45:16 +0000 (15:45 +0200)]
Bug 31372: Value builder for field 325

On page cataloging some plugins were added for subfields $h and $h from field $325

Test plan:
    1)Go to Home > Cataloging > New record
    2)Section 3 - field 325 : it contains lots of subfields (g, h, i, j...)
    3)Inputs are writable but notice that no plugins are suggested
    4)Apply patch and repeat 1) to 3)
    5)Values builders plugins are available for $h and $j

Signed-off-by: Thibault Keromnès <thibault.keromnes@univ-paris8.fr>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 28186: Use Koha::Authority in C4::AuthoritiesMarc::AddAuthority
Julian Maurice [Wed, 21 Apr 2021 05:56:50 +0000 (07:56 +0200)]
Bug 28186: Use Koha::Authority in C4::AuthoritiesMarc::AddAuthority

This patch replaces the use of $dbh->do by corresponding use of
Koha::Authority object

Test plan:
1. Verify that creating/modifying authority still work
2. prove t/db_dependent/AuthoritiesMarc.t

Signed-off-by: Joonas Kylmälä <joonas.kylmala@iki.fi>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 31660: MARC preview for authority search results has hidden contents
Kevin Carnes [Fri, 30 Sep 2022 07:21:25 +0000 (09:21 +0200)]
Bug 31660: MARC preview for authority search results has hidden contents

This patch makes the contents of the MARC preview for authority search
results visible.

To test:
1)  Go to the Authorities page in the staff interface
2)  Click Submit to do a search
3)  Click on Actions to the right of an authority
4)  Select MARC preview
5)  Observe that the modal appears empty
6)  Apply patch
7)  Hold down the shift key when you reload the page, clear the cache,
    or use another web browser
8)  Do another authority search and look at a MARC preview
9)  Observe that the MARC preview contains the MARC record

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 10950: DBRev 22.06.00.060
Tomas Cohen Arazi [Mon, 3 Oct 2022 18:05:01 +0000 (15:05 -0300)]
Bug 10950: DBRev 22.06.00.060

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 10950: DBIC schema
Tomas Cohen Arazi [Mon, 3 Oct 2022 18:04:06 +0000 (15:04 -0300)]
Bug 10950: DBIC schema

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 10950: (follow-up) Change display of pronoun fields
Lucas Gass [Mon, 29 Aug 2022 22:24:56 +0000 (22:24 +0000)]
Bug 10950: (follow-up) Change display of pronoun fields

Signed-off-by: Andrew Fuerste-Henry <andrewfh@dubcolib.org>
Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 10950: (QA follow-up) Fix typo in hidden check in OPAC patron form
Katrin Fischer [Sun, 28 Aug 2022 11:13:37 +0000 (13:13 +0200)]
Bug 10950: (QA follow-up) Fix typo in hidden check in OPAC patron form

definded => defined

Signed-off-by: Andrew Fuerste-Henry <andrewfh@dubcolib.org>
Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 10950: (QA follow-up) Exec
Martin Renvoize [Tue, 14 Jun 2022 08:36:05 +0000 (09:36 +0100)]
Bug 10950: (QA follow-up) Exec

Signed-off-by: Andrew Fuerste-Henry <andrewfh@dubcolib.org>
Signed-off-by: Andrew Fuerste-Henry <andrewfh@dubcolib.org>
Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 10950: (follow-up) fix typo in kohastructure.sql
Lucas Gass [Mon, 13 Jun 2022 17:28:45 +0000 (17:28 +0000)]
Bug 10950: (follow-up) fix typo in kohastructure.sql

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Andrew Fuerste-Henry <andrewfh@dubcolib.org>
Signed-off-by: Andrew Fuerste-Henry <andrewfh@dubcolib.org>
Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 10950: API spec update
Lucas Gass [Fri, 10 Jun 2022 17:40:11 +0000 (17:40 +0000)]
Bug 10950: API spec update

Test plan:
1. Apply patch, restart_all, and updatedatabase
2. In the staff client go to a patron record or create a new patron.
3. Notice the pronouns field, make sure you add a value to it.
4. Now notice that the value should display in parentheses in places where the patron name is displayed.
5. Go to the details page and you should see the value display in quotes. ( next to othernames )

6. Check to make sure you can hide the pronouns field via BorrowerUnwantedField.
7. Check to make sure you can make the field required with BorrowerMandatoryField

8. Go to the OPAC to self register. The pronouns field should appear in the form.
9. Make sure you can make it required ( PatronSelfRegistrationBorrowerMandatoryField ) and that you can hide it ( PatronSelfRegistrationBorrowerUnwantedField ).
10. Once registered check 'your personal details'. Check that the field can be required (PatronSelfModificationMandatoryField) or hidden ( PatronSelfModificationBorrowerUnwantedField ).

11. Try some notices like ISSUESLIP. You should be able to add either <<borrowers.pronouns>> or [% borrower.pronoun %] to the notice and have it display when you generate the notice.

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Andrew Fuerste-Henry <andrewfh@dubcolib.org>
Signed-off-by: Andrew Fuerste-Henry <andrewfh@dubcolib.org>
Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 10950: Display pronouns field
Lucas Gass [Thu, 9 Jun 2022 16:23:49 +0000 (16:23 +0000)]
Bug 10950: Display pronouns field

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Andrew Fuerste-Henry <andrewfh@dubcolib.org>
Signed-off-by: Andrew Fuerste-Henry <andrewfh@dubcolib.org>
Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 10950: Add intranet/OPAC form fields
Lucas Gass [Thu, 9 Jun 2022 16:02:42 +0000 (16:02 +0000)]
Bug 10950: Add intranet/OPAC form fields

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Andrew Fuerste-Henry <andrewfh@dubcolib.org>
Signed-off-by: Andrew Fuerste-Henry <andrewfh@dubcolib.org>
Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 10950: Database update
Lucas Gass [Thu, 9 Jun 2022 14:17:03 +0000 (14:17 +0000)]
Bug 10950: Database update

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Andrew Fuerste-Henry <andrewfh@dubcolib.org>
Signed-off-by: Andrew Fuerste-Henry <andrewfh@dubcolib.org>
Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 31634: Add part_number and part_name in opac result browser
Caroline Cyr La Rose [Tue, 27 Sep 2022 15:30:16 +0000 (11:30 -0400)]
Bug 31634: Add part_number and part_name in opac result browser

This patch adds the part_number and part_name in the opac results browser.

To test:
0. Apply patch

1. Download the sample records and import into Koha
1.1. Download the sample mrc file
1.2. In Koha staff interface, go to Tools > Stage MARC records for import
1.3. Click 'Browse' and choose the file
1.4. Click 'Upload file'
1.5. Click 'Stage for import'
1.6. Click 'Manage staged records'
1.7. Click 'Import this batch into the catalog'

2. Make sure OpacBrowseResults is enabled
2.1. In Koha staff interface, go to Administration > Global system preferences
2.2. Search for OpacBrowseResults
2.3. If necessary, change to 'enable' and click 'Save all OPAC preferences'

3. In OPAC, search for BFF and browse the results
3.1. In Koha OPAC, search for BFF
3.2. Click on one of the titles to access the opac-detail page
3.3. Click 'Browse results'
--> The browser should show the main title, along with the number and volume title.

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 31586: Log basket number as object for action ACQUISITION ORDER
Katrin Fischer [Tue, 20 Sep 2022 12:47:15 +0000 (12:47 +0000)]
Bug 31586: Log basket number as object for action ACQUISITION ORDER

Until now we logged undef as object in action_logs when an email
order was sent. With this patch the basket number is logged instead,
which will allow for reporting and also allows us to display a link
to the basket, if permissions permit (order manage), in the log
viewer.

To test:
- Make sure the ClaimsLog system preference is set to Log
- Create a vendor or make sure an existing vendor has an email set
- Make sure to add an SMTP server and link it to your library
- Create a basket in acqisitions and add an order line
- Click "E-mail order" to send the email
- Go to the log viewer, limit to module Acquisitions
- Verify that the entry show with a link to the basket in the
  Object column
  If the user doesn't have order_manage permission, the basket
  number will still show, but isn't linked

Signed-off-by: Michaela Sieber <michaela.sieber@kit.edu>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 25936: DBRev 22.06.00.059
Tomas Cohen Arazi [Mon, 3 Oct 2022 17:30:39 +0000 (14:30 -0300)]
Bug 25936: DBRev 22.06.00.059

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 25936: (QA follow-up) Enable feature for new installs
Marcel de Rooy [Fri, 30 Sep 2022 07:05:08 +0000 (07:05 +0000)]
Bug 25936: (QA follow-up) Enable feature for new installs

It feels safer to enable this rightaway for new installs.
Since we always love to "keep current behavior", I do not really
mind to keep it disabled at upgrade time.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 25936: (QA follow-up) Spelling and wording
Marcel de Rooy [Fri, 30 Sep 2022 06:26:44 +0000 (06:26 +0000)]
Bug 25936: (QA follow-up) Spelling and wording

[1] NotifyPassowrdChange => NotifyPasswordChange
[2] Someone has changed your library user account password.
    Scary? Changed it myself. Reworded it a bit.
[3] is( $THE_notice->status, 'failed', "The notice was sent immediately");
    Note that THE_notice is imo horrible :) Wont touch it though.
    But I think we should reword 'sent' since it just failed.
    And we actually should mock sending mail here. Adding FIXME.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 25936: Unit tests
Martin Renvoize [Thu, 29 Sep 2022 11:42:39 +0000 (12:42 +0100)]
Bug 25936: Unit tests

This patch adds a unit test to check that the notice is enqueued and
sending is attempted immediately.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 25936: (follow-up) Rename notice and fix indentation
Martin Renvoize [Wed, 9 Mar 2022 12:23:07 +0000 (12:23 +0000)]
Bug 25936: (follow-up) Rename notice and fix indentation

This patch renames the notice from PASSCHANGE to PASSWORD_CHANGE which
is both clearer and more consistent.  It also fixes the indentation
issues mentioned in the atomicupdate.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 25936: Add option to send password change notices
Martin Renvoize [Thu, 3 Mar 2022 12:03:42 +0000 (12:03 +0000)]
Bug 25936: Add option to send password change notices

This patch add a new security notice to allow sending notification of
password changes to patrons. If enabled, the 'PASSCHANGE' notice will be
sent to respective patrons whenever their password is updated.

Test plan
1) Run the database updates
2) Enable the new feature by setting 'NotifyPasswordChange' to 'Notify'
3) Change a users password
4) Check that the notice appears in the patrons notices

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 20457: Overdue and pre-overdue cronjobs not skipping phone notices
Kyle M Hall [Mon, 25 Mar 2019 18:03:16 +0000 (14:03 -0400)]
Bug 20457: Overdue and pre-overdue cronjobs not skipping phone notices

The overdue and pre-overdue cron scripts are not skipping the generation of phone notices. This causes many phone notices to be created that will always be left at 'pending' as the Talking Tech outbound script creates its own phone notices and puts them in the message queue.

Test Plan:
1) Enable Talking Tech
2) Enable predue and overdue notice phone transports for a patron
3) Generate overdues and predues, notice phone notices are generated
4) Apply the patch
5) Repeat steps 2-3
6) Note phone notices are not generated

Signed-off-by: Joonas Kylmälä <joonas.kylmala@iki.fi>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 29671: Dropbox mode is unchecked after check in confirm on item with Materials...
Christophe Torin [Fri, 23 Sep 2022 19:55:37 +0000 (15:55 -0400)]
Bug 29671: Dropbox mode is unchecked after check in confirm on item with Materials specified

Suggested patch

steps to reproduce :

1) Enable System preference CirConfirmItemParts
2) Go to Circulation > Check in
3) Enable Dropbox mode (Book drop mode) in the Checkin settings
4) Enter a barcode of an item having the 'Materials specified' field
   not empty
5) A Popup is shown, click the confirm button
6) The Dropbox mode (Book drop mode) is now unchecked, but should stay
   checked.

In the template, the modal window lacks the dropboxmode input, so that
it stays on the next page. I attached a patch with my suggested correction.

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Géraud <geraud.frappier@inlibro.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 31633: (follow-up) Group template params
Tomas Cohen Arazi [Mon, 3 Oct 2022 17:09:59 +0000 (14:09 -0300)]
Bug 31633: (follow-up) Group template params

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 31633: (QA follow-up) Add data-attribute for logged-in library
Katrin Fischer [Sat, 1 Oct 2022 20:33:00 +0000 (20:33 +0000)]
Bug 31633: (QA follow-up) Add data-attribute for logged-in library

The class has some advantages, but I thought it would be nice to also
have the complete set of options in data-attributes.

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 31633: Add holding and home data attributes to spinelabel-print.tt
Lucas Gass [Tue, 27 Sep 2022 16:44:24 +0000 (16:44 +0000)]
Bug 31633: Add holding and home data attributes to spinelabel-print.tt

To test:

1. Apply patch
2. Have some items with call numbers and different holding/home branches.
3. Generate some quick spine labels and use your browsers dev tools to inscept the #spinelabel element. It should have 2 new data-attributes, data-homebranch and data-holdingbranch
4. You can then apply this CSS via IntraNnetUserCSS to make sure you can select these properly now:

background: red;
}

Signed-off-by: Andrew Fuerste-Henry <andrewfh@dubcolib.org>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 30646: Unit tests for Auth_with_ldap
Martin Renvoize [Fri, 30 Sep 2022 10:44:39 +0000 (11:44 +0100)]
Bug 30646: Unit tests for Auth_with_ldap

This patch adds a unit test to the Auth_with_ldap.t to confirm welcome
notices are send when replace + welcome are enabled in the
configuration.

We also add a snippet to hide 'Subroutine redefined' warnings in this
test as it makes the test output rather challenging to read and the way
the test is written these warning are expected.

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 30646: Unit test for Auth_with_shibboleth
Martin Renvoize [Fri, 30 Sep 2022 09:35:51 +0000 (10:35 +0100)]
Bug 30646: Unit test for Auth_with_shibboleth

This patch adds a unit test for the Auth_with_shibboleth welcome notice
addition.

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 30646: (follow-up) Set to send immediately
Martin Renvoize [Thu, 16 Jun 2022 14:23:28 +0000 (15:23 +0100)]
Bug 30646: (follow-up) Set to send immediately

Other welcome notices send immediately rather than waiting on the queue
to be processed.. these one's should too.

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 30646: Add welcome email support to SAML2
Martin Renvoize [Thu, 28 Apr 2022 15:12:47 +0000 (16:12 +0100)]
Bug 30646: Add welcome email support to SAML2

This patch adds the ability to enable the welcome email notice for new
users added via the Shibboleth autocreate option.

Test plan
1) Configure Shibboleth for authentication
2) Enable the welcome email by adding '<welcome>1</welcome>' to your
   shibboleth config block
3) Confirm you have autocreate enabled for your Shibboleth config
4) Attempt to login with an entirely new user to Koha using the shibboleth
   connection (with a user who has a valid email address mapped to Koha
   borrower fields)
5) Confirm the email is sent by looking at the notices for the new user.

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 30646: Add welcome email support to LDAP
Martin Renvoize [Thu, 28 Apr 2022 14:56:55 +0000 (15:56 +0100)]
Bug 30646: Add welcome email support to LDAP

This patch adds the ability to enable the welcome email notice for new
users added via the LDAP replicate option.

Test plan
1) Configure LDAP for authentication
2) Enable the welcome email by adding '<welcome>1</welcome>' to your
   ldap config block
3) Confirm you have replicate enabled for your LDAP config
4) Attempt to login with an entirely new user to Koha using the LDAP
   connection (with a user who has a valid email address mapped to Koha
   borrower fields)
5) Confirm the email is sent by looking at the notices for the new user.

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 31234: SubfieldsToAllowForRestrictedEditing - data from drop-down menu not stored
Fridolin Somers [Tue, 26 Jul 2022 20:35:14 +0000 (10:35 -1000)]
Bug 31234: SubfieldsToAllowForRestrictedEditing - data from drop-down menu not stored

Problem with items restricted edition, restriced fields with a drop-down
menu are not stored, since 21.11.

This comes from a change by Bug 28445 in items edition form :
  <select name="field_value"
change to :
  <select name="[% kohafield | html %]"

This breaks the special JS code :
https://git.koha-community.org/Koha-community/Koha/src/commit/fc919fc796df42c29e73cd527d3c425377fcc27a/koha-tmpl/intranet-tmpl/prog/js/cataloging_additem.js#L112

I propose we use "select.input_marceditor".

Test plan :
1. A librarian with 'edit_items_restricted' permission set
2. Item subfield not authorized for editing (SubfieldsToAllowForRestrictedEditing). In Marc framework, this subfield is linked to an authorized value (= drop-down menu). For exemple homebranch.
3. When adding/editing item, this subfield has a default value from drop-down menu and is not editable (OK).
4. Save item
=> Without patch : the subfield is empty, it should have the value from drop-down menu.
=> With patch : the subfield is saved with the value from drop-down menu.

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 31643: Require only edit_catalogue, not full cataloging
Nick Clemens [Wed, 28 Sep 2022 18:59:41 +0000 (18:59 +0000)]
Bug 31643: Require only edit_catalogue, not full cataloging

To test:
1 - Grant a patron: catalogue, edit_catalogue, and editauthorities permissions
2 - Log in to staff client
3 - Browse to: http://localhost:8081/cgi-bin/koha/svc/cataloguing/automatic_linker.pl
4 - UNAUTHORIZED
5 - Apply patch, restart all
6 - Log in and go to link again
7 - status "OK"

Signed-off-by: Catrina <catrina@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 30944: DBIC schema
Tomas Cohen Arazi [Mon, 3 Oct 2022 16:48:42 +0000 (13:48 -0300)]
Bug 30944: DBIC schema

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 30944: DBRev 22.06.00.058
Tomas Cohen Arazi [Mon, 3 Oct 2022 16:47:37 +0000 (13:47 -0300)]
Bug 30944: DBRev 22.06.00.058

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 30944: Undo change to ILS-DI documentation
Katrin Fischer [Sun, 2 Oct 2022 10:08:55 +0000 (10:08 +0000)]
Bug 30944: Undo change to ILS-DI documentation

The service not implemented by Koha is CancelRecall
as specified in:
https://old.diglib.org/architectures/ilsdi/DLF_ILS_Discovery_1.0.pdf

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 30944: Fix cancel recalls actions
Aleisha Amohia [Thu, 11 Aug 2022 05:29:04 +0000 (17:29 +1200)]
Bug 30944: Fix cancel recalls actions

This patch fixes the 'cancel selected recalls' button on the biblio
details Recalls page, and ensures a correct cancellation reason is
logged when cancelling a recall in transit.

To test:
1) Ensure UseRecalls is enabled and relevant recalls circulation rules
are set
2) Check out Item A to Patron B
3) Log into OPAC as Patron A
4) Search for Item A and place a recall
5) Go back to the staff interface and search for Item A. When viewing
the biblio record, go to the recalls tab.
6) Check the checkbox for your recall, and click the button to cancel
selected recalls.
7) Confirm your recall is successfully removed and you're redirected to
the correct recalls page for this biblio.
8) Go back to the OPAC and place a recall again. This time set the
pickup location to a different library, one that you're not logged in at
9) Back in the staff interface, check in Item A and confirm the recall
and transfer
10) Go to Circulation -> Recalls to pull. Your recall should show here.
Click the button to cancel the recall and revert the transfer
11) Confirm the recall has been cancelled
12) Go to Reports and create a new SQL report with the following SQL:
select * from branchtransfers b join items i on
b.itemnumber=i.itemnumber where i.barcode = <<barcode>>
13) Run the report and paste the barcode of Item A in the field
14) Confirm there are two rows returned - the transfer triggered when
the recall was confirmed, with a reason of 'Recall' and a cancellation
reason of 'RecallCancellation, and the transfer sending the item back
home when the recall was cancelled, with a reason of
'RecallCancellation'.

Sponsored-by: Catalyst IT
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 29196: (Bug 27068 follow-up) - Remove unnecessary check
Kyle Hall [Wed, 13 Oct 2021 16:20:33 +0000 (12:20 -0400)]
Bug 29196: (Bug 27068 follow-up) - Remove unnecessary check

The introduction of _checkHoldPolicy has made this check superfluous.
Test plan stolen/updated from 27068

To test:
 1) In library groups add a root group and check it as hold group.
 2) Add two libraries to the group
 3) In circulation and fines rules, in 'Default checkout, hold and return
 policy', in Hold pickup library match change the value to 'From patron's hold group'
 4) Place a hold from a patron whose home library is from the group
 4.5) perl misc/cronjobs/holds/build_holdsqueue.pl
 5) Go to /cgi-bin/koha/circ/view_holdsqueue.pl
 6) Select the holding branch of the item with a hold
 7) observe no results
 8) Apply Patch
 9) Repeat 5-6
10) The item should come up on the holds queue results
11) Place a hold on an item where 1 record has 2 copies, 1 in the hold group, 1 not.
12) Run the HoldQueue for the library not in the group and make sure the hold isn't showing.
13) Turn on transportation cost matrix and set costs for the libraries within the group.
14) Place a hold for a patron where multiple copies are on the bib.
15) Check both branch's hold queue for the item, it should only show on the lower cost branch's list if both copies are available.

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 31603: Add search option for plugin page
Owen Leonard [Thu, 22 Sep 2022 14:44:50 +0000 (14:44 +0000)]
Bug 31603: Add search option for plugin page

This patch converts the table of plugins to a DataTable so that
it will have dynamic sorting, export options, and the quick search
field at the top of the table.

To test you should have more than one plugin installed.

- Apply the patch and go to Administration -> Manage plugins.
- The table should be styled as a DataTable, with the first column
  sorted by default.
- At the top of the table you should see the number of entries,
  a quick search form, and an export button.
- Confirm that the quick search form works to filter plugins by
  name, description, author, etc.

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 31566: 'Patrons selected' counter doubles on 'Select all'
Owen Leonard [Fri, 23 Sep 2022 15:22:34 +0000 (15:22 +0000)]
Bug 31566: 'Patrons selected' counter doubles on 'Select all'

This patch refines the JavaScript which is run when the "Select all"
or "Clear all" controls are clicked. The script now checks to see
whether the checkbox is checked before triggering the change function.

To test, apply the patch and perform a patron search in the staff
interface which will return multiple results.

- After the patron search results are displayed, test the "Select
  all" control. The visible search results should all be checked,
  and the "Patrons selected" counter at the top should be
  incremented correctly.
- Clicking the "Select all" control again should have no effect.
  The "Patrons selected" counter should not increment again.
- Test the "Clear all" control to confirm that checkboxes are
  unchecked and the counter updates correctly.
- Test with multiple pages of patron search results to confirm
  that the controls work correctly on any page of results..

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 31559: Compiled CSS
Tomas Cohen Arazi [Mon, 3 Oct 2022 15:39:35 +0000 (12:39 -0300)]
Bug 31559: Compiled CSS

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 31559: Staff results page doesn't always use up full available screen width
Owen Leonard [Mon, 26 Sep 2022 14:07:06 +0000 (14:07 +0000)]
Bug 31559: Staff results page doesn't always use up full available screen width

This patch adds an explicit "width: 100%" to tables which are contained
within a #searchresults <div>. The change affects staff interface
catalog search results and these other pages with the same markup:

- Advanced MARC editor search results
- Holds to pull
- Patron search results

To test, apply the patch and rebuild the staff interface CSS
(https://wiki.koha-community.org/wiki/Working_with_SCSS_in_the_OPAC_and_staff_client)

- Test the catalog search results and other affected pages to confirm
  that the tables affected take up the full width of the page.

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 30309: Convert lists tabs in the staff interface to Bootstrap
Owen Leonard [Fri, 9 Sep 2022 12:52:15 +0000 (12:52 +0000)]
Bug 30309: Convert lists tabs in the staff interface to Bootstrap

This patch updates the staff interface lists page to use Bootstrap tabs
instead of jQueryUI.

To test, apply the patch and go to Lists.

- Test that the public and private tabs work correctly.
- Test that other lists functionality still works as expected.
- Confirm that adding the "public" URL parameter works to trigger the
  "Public lists" tab by default:

  /cgi-bin/koha/virtualshelves/shelves.pl?public=1

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 31402: Update tools sidebar to match tools start page
Owen Leonard [Mon, 26 Sep 2022 15:26:51 +0000 (15:26 +0000)]
Bug 31402: Update tools sidebar to match tools start page

This patch updates the tools sidebar so that it better matches the tools
home page:

- Sidebar menu should say Tags instead of Tag moderation
- Barcode image generator and Quick spine label creator links
  reversed.
- Upload any file -> Uploads
- Cash management section is added to sidebar using brief text

This patch does not make changes to the way plugins are displayed in the
sidebar. In order for the sidebar to correctly display according to the
presence of tool plugins I think some kind of global variable would need
to be set.

Signed-off-by: Anke Bruns <anke.bruns@gwdg.de>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 31625: (follow-up) Markup comments
Owen Leonard [Mon, 26 Sep 2022 15:02:25 +0000 (15:02 +0000)]
Bug 31625: (follow-up) Markup comments

This patch adds comments to the templates to highlight the markup
structure.

This patch should have no effect on the pages' appearance or
functionality.

Signed-off-by: Andrew Fuerste-Henry <andrewfh@dubcolib.org>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 31625: Reindent tools home and tools sidebar
Owen Leonard [Mon, 26 Sep 2022 14:53:56 +0000 (14:53 +0000)]
Bug 31625: Reindent tools home and tools sidebar

This patch performs general template cleanup to the tools-home and
tools-menu templates: Make indentation consistent, replace tabs with
spaces, fix invalid HTML.

To test, apply the patch and go to Tools. The page should look correct,
with no visible changes from before the patch.

Go to any tools page which shows the left-hand sidebar, e.g. Patron
lists, Batch item deletion, Inventory, etc. The menu should look
correct.

Signed-off-by: Andrew Fuerste-Henry <andrewfh@dubcolib.org>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 30304: (follow-up) Add markup comments
Owen Leonard [Thu, 8 Sep 2022 15:43:23 +0000 (15:43 +0000)]
Bug 30304: (follow-up) Add markup comments

This patch adds comments to the template to highlight the markup
structure.

This patch should have no effect on the page's appearance or
functionality.

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 30304: Reindent lists template in the staff interface
Owen Leonard [Thu, 8 Sep 2022 15:32:27 +0000 (15:32 +0000)]
Bug 30304: Reindent lists template in the staff interface

This patch performs general template cleanup to the lists template:
Make indentation consistent, replace tabs with spaces, and trim trailing
whitespace.

To test, apply the patch and test all aspects of the lists pages,
including:

- Viewing the list of public and private lists.
- List of lists DataTable controls: Paging, filtering, sorting.
- Add, edit and delete lists.
- View list contents.
- Remove titles from a list.
- Place hold from a list.
- Add items to a list.

Use your preferred method for checking the differences between files
while ignoring whitespace. I use diff with the  "-w" flag. The only
changes you see should be split lines.

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 23538: (follow-up) Workaround to fix Patron.t
Marcel de Rooy [Mon, 3 Oct 2022 08:03:50 +0000 (08:03 +0000)]
Bug 23538: (follow-up) Workaround to fix Patron.t

See comment36 and comment37. This needs more attention but
serves as a quick fix only.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 31663: Item transfers are not correctly displayed on item details page
Nick Clemens [Fri, 30 Sep 2022 11:31:25 +0000 (11:31 +0000)]
Bug 31663: Item transfers are not correctly displayed on item details page

To test:
1 - Set an item in transit and confirm the transfer
2 - View details page for biblio
3 - Item shows 'Available'
4 - Apply patch
5 - Restart_all, reload page
6 - Item appears in transit

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 30517: Translation breaks editing parent type circulation rule fix
Shi Yao Wang [Tue, 19 Apr 2022 15:52:42 +0000 (11:52 -0400)]
Bug 30517: Translation breaks editing parent type circulation rule fix

Test plan:
1. Install another language in the staff interface
   1. in commandline: `cd misc/translator/; ./translate install xx-XX`
   2. Check the box of the language in the 'language' system preference
and save
   3. Refresh and you should be able to choose languages
2. Create an item type with a parent
   1. Go to Administration > Item types
   2. Create a new item type or modify an existing one, assigning a parent type (I created a 'Children's books' type and assigned 'Books' as its parent)
3. Create a circulation rule for the parent type (I created All/Books, with 10 checkouts allowed)
4. Create a circulation rule for All/All (I created All/All with 30 checkouts allowed)
5. In English, click on "Edit" next to the parent type rule (All/Books)
--> Note that the item type in the bottom row (the modifiable row) is changed to 'Books (All)'
6. Modify the number of checkouts allowed (e.g. 99)
--> The All/Books rule is modified
7. Switch the interface to the other language
8. Click on "Edit" next to the parent type rule (All/Books)
--> Note that the item type in the bottom row stays on 'All'
9. Modify the number of checkouts allowed (e.g. 88)
--> The All/All rule is modified
10. Apply the patch, translate again and refresh the page
11. Do step 8-9 again and notice it now behaves as it should

Signed-off-by: Emmanuel Bétemps <e.betemps@gmail.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 23063: Use Price formatting on amounts in item table in cataloguing
Katrin Fischer [Tue, 20 Sep 2022 20:49:22 +0000 (20:49 +0000)]
Bug 23063: Use Price formatting on amounts in item table in cataloguing

Koha can use CurrencyFormat for displaying price amounts and should do
so consistently everywhere. Without this patch price and replacement cost
will always display as xx.xx independent of CurrencyFormat setting in
the table above the edit items form. This patch fixes the table display.

To test:
* Apply patch
* Search or create a record with multiple items
* Fill in some price and replacement costs
* Try different settings of the CurrencyFormat system preference
* The display in the item table above the edit/add form should display
  according to the system preference
* Verify sorting works

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 31593: Remove Test::DBIx::Class from Context.t
Marcel de Rooy [Wed, 21 Sep 2022 13:54:54 +0000 (13:54 +0000)]
Bug 31593: Remove Test::DBIx::Class from Context.t

No need to keep it.
Fixing a test description too.

Test plan:
Run t/db_dependent/Context.t

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 22115: (QA follow-up) prevent wrap on price columns
Nick Clemens [Mon, 3 Oct 2022 11:38:13 +0000 (11:38 +0000)]
Bug 22115: (QA follow-up) prevent wrap on price columns

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 22115: Format prices in table of checkouts according to CurrencyFormat setting
Katrin Fischer [Tue, 20 Sep 2022 21:20:57 +0000 (21:20 +0000)]
Bug 22115: Format prices in table of checkouts according to CurrencyFormat setting

In the patron account in the staff interface, all amounts in the
checkouts table should be formatted according to the CurrencyFormat
system preference setting.

To test:
* Edit some items, setting the replacement cost
* Make sure one of the item type is set to charge a rental charge
* Check out items
* Verify the checkouts table displays on both checkouts and details
  tabs correctly
* Try different settings of CurrencyFormat and verify all amounts
  display correctly

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2 years agoBug 29389: Add holding branch to the holds queue report
Nick Clemens [Tue, 2 Nov 2021 11:57:21 +0000 (11:57 +0000)]
Bug 29389: Add holding branch to the holds queue report

This patch adds the holding branch to the hold queue report.
It is added as hidden by default, when running per branch it is not needed

To test:
 1 - Place some holds in your system
 2 - perl misc/cronjobs/holds/build_holdsqueue.pl
 3 - View the holds queue
 4 - Note there is no 'Current library' column
 5 - Apply patch
 6 - Reload
 7 - Note the column is not there
 8 - Click column setting gear
 9 - Check the column and confirm it appears
10 - Confirm the filter works

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>