]> git.koha-community.org Git - koha.git/log
koha.git
3 months agoBug 37371: Set overwrite mode to replace
Lucas Gass [Wed, 17 Jul 2024 14:50:42 +0000 (14:50 +0000)]
Bug 37371: Set overwrite mode to replace

In our case I think overwriteMode needs to be set to replace:

https://maskito.dev/core-concepts/overwrite-mode
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
3 months agoBug 37371: Move Maskito instantiation to onReady
Martin Renvoize [Wed, 17 Jul 2024 14:08:58 +0000 (15:08 +0100)]
Bug 37371: Move Maskito instantiation to onReady

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
3 months agoBug 37270: (follow-up) Fix mixed quotes in preview modal JS
Owen Leonard [Thu, 18 Jul 2024 14:58:29 +0000 (14:58 +0000)]
Bug 37270: (follow-up) Fix mixed quotes in preview modal JS

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
3 months agoBug 37270: Fix deletion of saved reports
Owen Leonard [Tue, 9 Jul 2024 13:13:34 +0000 (13:13 +0000)]
Bug 37270: Fix deletion of saved reports

This patch fixes deletion of saved reports in two instances which
were broken by the CSRF changes: From the dropdown menu in the table of
saved reports, and in the modal window which appears if you click the
"Preview" dropdown menu in the table of saved reports.

The patch also makes a minor change to form-submit.js so that the event
handler will attach to dynamically-generated elements (as is the case
with the preview modal).

To test, apply the patch and go to Reports -> Use saved.

- Add one or more reports if necessary.
- In the table of reports, click the secondary dropdown link in the
  "Run" button.
- Click "Delete." You should be asked to confirm, and confirming should
  correctly delete the report.
- Now test the "Preview SQL" link in the menu.
- A modal window should appear showing you the SQL of the report.
- In the footer of the modal, test the "Delete" button.

Sponsored-by: Athens County Public Libraries
Signed-off-by: Phil Ringnalda <phil@chetcolibrary.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
3 months agoBug 37377: Fix orders search do_search param
Brendan Lawlor [Thu, 18 Jul 2024 18:33:53 +0000 (18:33 +0000)]
Bug 37377: Fix orders search do_search param

This patch fixes the orders search in Acquisitions.

The form method is GET no need to prepend with cud-

Test plan:
1. Create an order that you can search for
2. Try order search, nothing happens
3. Apply patch restart all, refresh browser
4. Try order seach again and get results

Signed-off-by: Roman Dolny <roman.dolny@jezuici.pl>
Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
3 months agoBug 28924: (follow-up) Add new fields to categories api
Martin Renvoize [Fri, 19 Jul 2024 13:02:28 +0000 (14:02 +0100)]
Bug 28924: (follow-up) Add new fields to categories api

The patron categories API is failing due to the new fields added in this
bug not being properly handled yet.. This fixes that.

3 months agoBug 37274: Use the Toolbar component in all Vue components
Jonathan Druart [Tue, 9 Jul 2024 12:34:29 +0000 (14:34 +0200)]
Bug 37274: Use the Toolbar component in all Vue components

We have a Toolbar component that must be used everywhere for
consistency.
This patch adds it when missing:
* ERM/AgreementsShow
Show an agreement

* ERM/EHoldingsLocalPackagesShow
Show a local package
* ERM/EHoldingsLocalTitlesShow
Show a local title

* ERM/LicensesShow
Show a license

* ERM/UsageStatisticsDataProvidersShow
Show a data provider

* Preservation/SettingsProcessingsShow
Show the the settings of a processing (Preservation module)

Confirm that the "Edit" and "Delete" icons are now replaced with buttons
(in a toolbar) on those views.

Signed-off-by: Pedro Amorim <pedro.amorim@ptfs-europe.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
3 months agoBug 28924: DBRev 24.06.00.016
Katrin Fischer [Thu, 18 Jul 2024 16:07:48 +0000 (16:07 +0000)]
Bug 28924: DBRev 24.06.00.016

Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
3 months agoBug 28924: (QA follow-up) Terminology fixes
Matt Blenkinsop [Mon, 15 Jul 2024 14:09:10 +0000 (14:09 +0000)]
Bug 28924: (QA follow-up) Terminology fixes

Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
3 months agoBug 28924: (QA follow-up): Fix unit tests
Matt Blenkinsop [Fri, 14 Jun 2024 14:47:57 +0000 (14:47 +0000)]
Bug 28924: (QA follow-up): Fix unit tests

Sponsored-by: Cuyahoga County Public Library <https://cuyahogalibrary.org/>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
3 months agoBug 28924: (QA follow-up): Remove unnecessary template method
Matt Blenkinsop [Fri, 14 Jun 2024 14:47:07 +0000 (14:47 +0000)]
Bug 28924: (QA follow-up): Remove unnecessary template method

Sponsored-by: Cuyahoga County Public Library <https://cuyahogalibrary.org/>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
3 months agoBug 28924: (QA follow-up): Don't define charge values as 0
Matt Blenkinsop [Fri, 14 Jun 2024 14:46:09 +0000 (14:46 +0000)]
Bug 28924: (QA follow-up): Don't define charge values as 0

Sponsored-by: Cuyahoga County Public Library <https://cuyahogalibrary.org/>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
3 months agoBug 28924: (QA follow-up) Use $self instead of $patron
Matt Blenkinsop [Fri, 14 Jun 2024 14:45:18 +0000 (14:45 +0000)]
Bug 28924: (QA follow-up) Use $self instead of $patron

Sponsored-by: Cuyahoga County Public Library <https://cuyahogalibrary.org/>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
3 months agoBug 28924: Add unit tests for new methods and update existing tests
Matt Blenkinsop [Tue, 23 Jan 2024 14:29:35 +0000 (14:29 +0000)]
Bug 28924: Add unit tests for new methods and update existing tests

This commit adds unit tests for the two new methods introduced and also updates all unit tests that use the noissuecharge sysprefs

Test plan:
1. Choose a patron and note their patron category
2. Create a manual invoice on that patron for 6.00
3. Try to check an item out to the patron and it will show a message saying that checkout is blocked because the fine balance is over the limit.
4. This is because the default global value for the ‘noissuescharge’ is 5.00 and we are now over that limit
5. Navigate to Administration > Patron categories and click to edit the category relevant to your patron
6. At the bottom of the form will be fields called No Issues Charge, No Issues Charge Guarantees and No Issues Charge Guarantors With Guarantees. Set those fields to 7
7. Now try and checkout again - this time you will be allowed to checkout as the category level limit is higher than the fine we set.
8. Choose a different patron (patron 2) with a category that is different to the first patron (patron 1).
9. Repeat steps 2 and 3. This time checkout will be blocked again because the limit for this patron category is still the global value of 5.00
10. Choose a third patron with a category of child or similar (patron 3)
11. Make patron 1 a guarantor for patron 3
12. Edit patron 3’s patron category and set the limit for No Issues Charge, No Issues Charge Guarantees and No Issues Charge Guarantors With Guarantees to 5.
13. Try to check out to patron 3 and it will be blocked due to the fines on patron 1’s account
14. Try to checkout to patron 1 - it should still be possible
15. Add a fine to patron 3’s account for 2.00
16. Try to check out to patron 1 - the checkout will be blocked due to the total of 8 now owed by the patron and its guarantees

Test plan:
prove t/db_dependent/SIP/Transaction.t
prove t/db_dependent/SIP/Patron.t
prove t/db_dependent/Circulation/NoIssuesChargeGuarantees.t
prove t/db_dependent/Koha/Patron.t

Sponsored-by: Cuyahoga County Public Library <https://cuyahogalibrary.org/>
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
3 months agoBug 28924: Add a template method and update template usages
Matt Blenkinsop [Mon, 22 Jan 2024 15:55:57 +0000 (15:55 +0000)]
Bug 28924: Add a template method and update template usages

This patch adds a method to be used in the template where currently the Koha.Preference('noissuescharge') method is used. This currently does not take into account the new patron category level limits and so needs to be updated to its own method to handle these.

Sponsored-by: Cuyahoga County Public Library <https://cuyahogalibrary.org/>
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
3 months agoBug 28924: Update all usages of the current sysprefs
Matt Blenkinsop [Mon, 22 Jan 2024 15:55:19 +0000 (15:55 +0000)]
Bug 28924: Update all usages of the current sysprefs

This patch updates all instances where the current noissuescharge sysprefs are used. They will now use the is_patron_inside_charge_limits method to handle the patron category level limits

Sponsored-by: Cuyahoga County Public Library <https://cuyahogalibrary.org/>
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
3 months agoBug 28924: Add can_borrow and is_patron_inside_charge_limits methods
Matt Blenkinsop [Mon, 22 Jan 2024 15:54:41 +0000 (15:54 +0000)]
Bug 28924: Add can_borrow and is_patron_inside_charge_limits methods

This patch adds two new methods. can_borrow is a top-level method for determining whether a patron is able to borrow. Currently this logic is repeataed in multiple methods and shuld be more DRY. This bug is specific to patron charge limits so that is the focus but the method can be developed in follow-up bugs to cover all areas.
The is_patron_inside_charge_limits method is now to be used where any of the three noissuescharge sysprefs are used. It will look at the patron category based on either a borrowernumber or patron object and return a hash detailing the charges, the charge limit and whether the patron is over the limit

Test plan:
1. Choose a patron and note their patron category
2. Create a manual invoice on that patron for 6.00
3. Try to check an item out to the patron and it will show a message saying that checkout is blocked because the fine balance is over the limit.
4. This is because the default global value for the ‘noissuescharge’ is 5.00 and we are now over that limit
5. Navigate to Administration > Patron categories and click to edit the category relevant to your patron
6. At the bottom of the form will be fields called No Issues Charge, No Issues Charge Guarantees and No Issues Charge Guarantors With Guarantees. Set those fields to 7
7. Now try and checkout again - this time you will be allowed to checkout as the category level limit is higher than the fine we set.
8. Choose a different patron (patron 2) with a category that is different to the first patron (patron 1).
9. Repeat steps 2 and 3. This time checkout will be blocked again because the limit for this patron category is still the global value of 5.00
10. Choose a third patron with a category of child or similar (patron 3)
11. Make patron 1 a guarantor for patron 3
12. Edit patron 3’s patron category and set the limit for No Issues Charge, No Issues Charge Guarantees and No Issues Charge Guarantors With Guarantees to 5.
13. Try to check out to patron 3 and it will be blocked due to the fines on patron 1’s account
14. Try to checkout to patron 1 - it should still be possible
15. Add a fine to patron 3’s account for 2.00
16. Try to check out to patron 1 - the checkout will be blocked due to the total of 8 now owed by the patron and its guarantees

Sponsored-by: Cuyahoga County Public Library <https://cuyahogalibrary.org/>
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
3 months agoBug 28924: Add new columns to UI and controller
Matt Blenkinsop [Mon, 15 Jul 2024 14:17:40 +0000 (14:17 +0000)]
Bug 28924: Add new columns to UI and controller

This patch adds the columns in the table and also updates the controller to allow these fields to be updated in the database from the UI form

Sponsored-by: Cuyahoga County Public Library <https://cuyahogalibrary.org/>
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
3 months agoBug 28924: Add DBIC file
Matt Blenkinsop [Mon, 22 Jan 2024 12:14:19 +0000 (12:14 +0000)]
Bug 28924: Add DBIC file

Sponsored-by: Cuyahoga County Public Library <https://cuyahogalibrary.org/>
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
3 months agoBug 28924: Add 3 new columns to categories table
Matt Blenkinsop [Mon, 22 Jan 2024 12:14:02 +0000 (12:14 +0000)]
Bug 28924: Add 3 new columns to categories table

This patch adds three new columns to the patron categories table:
noissuescharge
noissueschargegurantees
noissueschargeguarantorswithguarantees

These values will allow charge limits to be set at category level rather than globally for all patrons. If the values are not set at category level then the system will use the global level values

Sponsored-by: Cuyahoga County Public Library <https://cuyahogalibrary.org/>
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
3 months agoBug 36641: Fix tests
Tomas Cohen Arazi [Mon, 15 Jul 2024 18:38:47 +0000 (15:38 -0300)]
Bug 36641: Fix tests

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
3 months agoBug 36641: (follow-up) Ensure limited return works
Martin Renvoize [Sat, 13 Jul 2024 12:12:09 +0000 (13:12 +0100)]
Bug 36641: (follow-up) Ensure limited return works

We have a ?rules=a,b parameter available for specifying a subset of
rules in the set to return. This patch adds a test to confirm that works
(and fixes the controller and specification as the test proved it wasn't
working)

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
3 months agoBug 36641: Unit tests for effective=0
Martin Renvoize [Fri, 12 Jul 2024 09:16:08 +0000 (10:16 +0100)]
Bug 36641: Unit tests for effective=0

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
3 months agoBug 36641: Ensure we return all keys
Martin Renvoize [Fri, 12 Jul 2024 14:14:01 +0000 (15:14 +0100)]
Bug 36641: Ensure we return all keys

When using the effective route, we were missing some rule kinds if a
rule hadn't yet been defined for them. We should instead return the rule
as undefined.

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
3 months agoBug 36641: Return '*' for 'default rule'
Martin Renvoize [Fri, 12 Jul 2024 09:15:44 +0000 (10:15 +0100)]
Bug 36641: Return '*' for 'default rule'

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
3 months agoBug 36641: Optionally filter to default rules using *
Martin Renvoize [Thu, 11 Jul 2024 17:01:50 +0000 (18:01 +0100)]
Bug 36641: Optionally filter to default rules using *

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
3 months agoBug 36641: (follow-up) Update to allow returning non-effective rules
Martin Renvoize [Mon, 8 Jul 2024 15:54:00 +0000 (16:54 +0100)]
Bug 36641: (follow-up) Update to allow returning non-effective rules

This patch updates the existing /circulation_rules endpoint introduced
in this patchset to allow return of all rule sets rather than only the
effective set.

We continue to default to the effective set for the parameters passed
which will mean by default you will get an arrayref containing one
hashref entry with each rule kind as a key in that hashref.

However, if you add 'effective=false' as a query parameter, you will now
have an arrayref of all rule sets that match your passed criteria
including rules that may have fallen back to defaults in the effective
case.

WIP: Need to add support for * in branch, itemtype, patron category
query parameters to allow explicit return of default rules vs no filter
passed. (i.e. for the effective=false case where all rules for should be
returned when no filters are passed vs * passed to filter to just default
rules vs specifics passed for branch/item/patron filtering.

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
3 months agoBug 36641: (QA follow-up) Fix variable name
Kyle M Hall [Tue, 2 Jul 2024 17:47:03 +0000 (13:47 -0400)]
Bug 36641: (QA follow-up) Fix variable name

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
3 months agoBug 36641: (follow-up) Wrap in a try/catch block
Martin Renvoize [Tue, 2 Jul 2024 15:19:19 +0000 (16:19 +0100)]
Bug 36641: (follow-up) Wrap in a try/catch block

This patch adds the missing try/catch and unhandled exception error
handler to the new list_effective_rules endpoint.

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
3 months agoBug 36641: Make tests cover all code paths
Tomas Cohen Arazi [Tue, 2 Jul 2024 13:12:35 +0000 (10:12 -0300)]
Bug 36641: Make tests cover all code paths

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
3 months agoBug 36641: Harmonize parameter names
Tomas Cohen Arazi [Tue, 2 Jul 2024 12:50:15 +0000 (09:50 -0300)]
Bug 36641: Harmonize parameter names

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
3 months agoBug 36641: Add endpoint for fetching circulation rules
Martin Renvoize [Thu, 18 Apr 2024 12:45:55 +0000 (13:45 +0100)]
Bug 36641: Add endpoint for fetching circulation rules

This patch adds an endpoint for fetching ciruclations rules given the
constraints of the passed parameters.

We optionally expect item_type, library and patron_category as query
parameters and we return a list of relevant circulation rules pertaining
to that combination of requirements.

You can also add a list of `rules` as a query parameter to limit the
response to only the rules you are interested in for this combination.

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
3 months agoBug 36641: Add unit tests for /circulation_rules
Martin Renvoize [Mon, 24 Jun 2024 15:29:44 +0000 (16:29 +0100)]
Bug 36641: Add unit tests for /circulation_rules

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
3 months agoBug 36641: Introduce render_invalid_parameter_value helper
Martin Renvoize [Mon, 24 Jun 2024 15:04:01 +0000 (16:04 +0100)]
Bug 36641: Introduce render_invalid_parameter_value helper

This patch introduces a new 'render_invalid_parameter_value' helper
method that accepts 'path' and 'values' parameters to denote which field
has failed validation and where the end user can get valid options.

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
3 months agoBug 37332: Fix unseen and customer renewal date parameters in svc
Emily Lamancusa [Tue, 16 Jul 2024 14:36:23 +0000 (10:36 -0400)]
Bug 37332: Fix unseen and customer renewal date parameters in svc

To test:
0. Enable unseen renewals
    i. Set the system preference UnseenRenewals to Allowed
    ii. Edit the circulation rules to specify the maximum number of
        unseen renewals allowed
1. Check out an item to a patron
2. In the checkouts table on that patron's account, check the "Renew"
   checkbox for that item
3. Select a custom renewal date using the Renewal due date flatpicker
4. Check the checkbox labeled "Renew as unseen if appropriate"
4. Click Renew selected items
--> The item renews, but its new due date follows the renewal period
    specified in the circulation rules, regardless of what date was
    entered in the Renewal due date field
--> The checkout still has all of its unseen renewals remaining,
    indicating that the renewal was not processed as an unseen renewal
5. Enter another custom renewal date and renew checkout with the Renew
   all button
--> Same result
6. Apply patch and restart_all
7. Repeat test plan
--> Custom renewal date is now respected
--> Number of unseen renewals remaining decreases when "Renew as unseen"
    checkbox is checked
8. Renew the item with the "Renew as unseen" checkbox unchecked
--> Confirm that number of unseen renewals is reset (i.e. the checkout
    once again has all of its unseen renewals remaining), indicating
    that the renewal was processed as a "seen" renewal

Signed-off-by: CJ Lynce <cj.lynce@westlakelibrary.org>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
3 months agoBug 36453: DBRev 24.06.00.015
Katrin Fischer [Thu, 18 Jul 2024 15:37:08 +0000 (15:37 +0000)]
Bug 36453: DBRev 24.06.00.015

Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
3 months agoBug 36453: (QA follow-up) Use varchar instead of mediumtext
Pedro Amorim [Wed, 3 Jul 2024 09:59:54 +0000 (09:59 +0000)]
Bug 36453: (QA follow-up) Use varchar instead of mediumtext

Test plan:
1) ktd down
2) DB_IMAGE=mysql:8.0 ktd up
3) Should now work with no issues

Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
3 months agoBug 36453: (QA follow-up) Address upgraded instances
Pedro Amorim [Wed, 3 Jul 2024 10:36:56 +0000 (10:36 +0000)]
Bug 36453: (QA follow-up) Address upgraded instances

To test:
1) Apply only this patch, skipping the next one (patch 'Use varchar instead of mediumtext')
2) Run ktd up with default DBMS mariadb:10.5: ktd up
3) Confirm the database state is wrong:
  DESC categories BlockExpiredPatronOpacActions;
  ^ This should return type = mediumtext
4) Run updatedatabase, make sure green success message shows
  Running the above query again will show type = varchar(128)
5) Run updatedatabase again, notice blue info message notifies its already varchar

Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
3 months agoBug 37368: Add 'library' to patron search embed
Martin Renvoize [Wed, 17 Jul 2024 15:43:17 +0000 (16:43 +0100)]
Bug 37368: Add 'library' to patron search embed

This patch adds the missing library embed from the patron search forms.
This embed is required for the case where a patron is missing both first
and last name or is from a different library group and thus falls into
the 'Patron from library X' block.

I also update the 'Patron from library X' to 'Patron from X' as I feel
it reads more clearly.

Finally, we need to sync the available embeds to ensure 'library' is
embeddable from the different endpoints this search can be triggered on.

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
3 months agoBug 37342: Use get for launching authority popup
Nick Clemens [Fri, 12 Jul 2024 12:40:08 +0000 (12:40 +0000)]
Bug 37342: Use get for launching authority popup

This patch simply switches to a GET as the operation is not cud

To test:
 1 - Go to cataloging -> new record
 2 - If not in basic editor, switch
 3 - Go to tab 100
 4 - Enter a name that has no authority in your system: McNotExist, Falsy
 5 - Click 'Link authorities automatically'
 6 - subfield 9 should turn red, and have an X and a + button
 7 - Click the green +
 8 - Boom
 9 - Apply patch
10 - Reload page and repeat (clear cache so js reloads)
11 - Success! Authority window launches

Signed-off-by: Jake Deery <jake.deery@ptfs-europe.com>
Signed-off-by: Emily Lamancusa <emily.lamancusa@montgomerycountymd.gov>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
3 months agoBug 37404: Typo in intranetreadinghistory description
Caroline Cyr La Rose [Thu, 18 Jul 2024 14:58:32 +0000 (10:58 -0400)]
Bug 37404: Typo in intranetreadinghistory description

This patch corrects an error in the description of the
intranetreadinghistory system preference description.

To test:
1. Apply patch
2. Go to Administration > System preferences > Patrons
3. Look at the description of intranetreadinghistory
   --> It should say "... access a patron's checkout history..."
4. Make sure the description's spelling and grammar is correct

Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
3 months agoBug 37294: Add modal to generate next
Lucas Gass [Tue, 9 Jul 2024 20:19:05 +0000 (20:19 +0000)]
Bug 37294: Add modal to generate next

To test:
1. Serials -> Create or find a subscription
2. Receive the subscription
3. Save
4. Click 'Generate next'
5. Nothing happens
6. APPLY PATCH
7. Try again, now the "Generate next" button should work as expected.

Signed-off-by: Kelly <kelly@bywatersoutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
3 months agoBug 37275: (QA follow-up): Add &nbsp; to add spacing between selected user and button
Pedro Amorim [Thu, 11 Jul 2024 16:50:43 +0000 (16:50 +0000)]
Bug 37275: (QA follow-up): Add &nbsp; to add spacing between selected user and button

Follow original test plan and apply first patch.
Select a user and notice the patron's name and the button have no spacing.
Apply this patch.
Notice there is now spacing.

Signed-off-by: Pedro Amorim <pedro.amorim@ptfs-europe.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
3 months agoBug 37275: Removed parenthesis from Select user button in ERM
Eric Garcia [Thu, 11 Jul 2024 15:45:27 +0000 (15:45 +0000)]
Bug 37275: Removed parenthesis from Select user button in ERM

To test:
1. Apply patch and yarn build
2. In system preferences search and enable ERMModule
3. E-resource management -> Agreements -> New agreement
4. Click Add new user and notice the parenthesis around the +Select user button are removed

Signed-off-by: Pedro Amorim <pedro.amorim@ptfs-europe.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
3 months agoBug 32530: When duplicating child card, guarantor is not saved
Baptiste Wojtkowski [Thu, 11 Jul 2024 14:54:59 +0000 (16:54 +0200)]
Bug 32530: When duplicating child card, guarantor is not saved

When duplicating a child card with a guarantor, the guarantor information
appears during the card creation process, but disappears as soon as saving
the card. To recreate:

1. Find a card with a guarantor, either patron or non-patron guarantor.
2. Duplicate the card. Note that it appears to be working on the card
   creation screen.
3. Save the patron after completing the form. The guarantor is now gone.

New test plan:
1. Find a card with a guarantor, either patron or non-patron guarantor.
2. Duplicate the card. Note that it appears to be working on the card
   creation screen.
3. Save the patron after completing the form. The guarantor is now gone.
Apply patch and repeat, the guarantor should stay after 3.

Note, I may not have understood the code but it looks like nothing is
searching for the content of the displayed information. Therefore I add
hidden fields that are copies of those provided in guarantor_template
class

Signed-off-by: Emmi Takkinen <emmi.takkinen@koha-suomi.fi>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
3 months agoBug 37337: Pass the save $op when biblio_exists
Lucas Gass [Thu, 11 Jul 2024 22:11:35 +0000 (22:11 +0000)]
Bug 37337: Pass the save $op when biblio_exists

To test:
1. Go to suggestions in the staff interface and enter a new suggestion.
2. Enter a title that matches something already in the catalog. In k-t-d I used "Lanark".
3. Submit the suggestion.
4. Get a blank page.
5. APPLY PATCH and restart_all
6. Now after step 3 you should get a page that shows the 'Click on "Confirm your suggestion" to ignore this message." warning, the form, and a Confirm your suggestion button.

Signed-off-by: Jake Deery <jake.deery@ptfs-europe.com>
Signed-off-by: Jan Kissig <jkissig@th-wildau.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
3 months agoBug 37333: Group search terms in a saved filter
Nick Clemens [Thu, 11 Jul 2024 19:38:16 +0000 (19:38 +0000)]
Bug 37333: Group search terms in a saved filter

This patch surrounds the expanded query of a search filter in parnetheses to correctly
group the terms when searching

To test:
 1 - Enable system preference SavedSearchFilters
 2 - In staff client, perform an advanced search for:
     subject:internet OR subject:programming
 3 - Note results
 4 - Save search as filter, enabled in staff client and opac
 5 - Search for 'a'
 6 - Apply filter from top of facets on left hand side
 7 - Note results didn't change
 8 - Apply patch, restart all
 9 - Reload search, it now limits correctly
10 - Test on OPAC
11 - Test on both Zebra and Elastic
12 - Sign off :-)

Signed-off-by: Jake Deery <jake.deery@ptfs-europe.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
3 months agoBug 37339: Set messaging preferences from default on self registration
Nick Clemens [Fri, 12 Jul 2024 14:00:49 +0000 (14:00 +0000)]
Bug 37339: Set messaging preferences from default on self registration

The change on bug 30318 prevented setting the default messaging preferences when none were passed.
Self registration relied on this for setting borrower preferences from the defaults.

This patch removes the call to handle_form_action and replaces it with a call to:
SetMessagingPreferencesFromDefault

To test:
 1 - Ensure self registration is enabled
 2 - Set default messaging preferences for the self registration category
 3 - Self register a patron from the OPAC, confirm defaults not set
 4 - Apply patch, restart all
 5 - Self register a patron
 6 - Confirm defaults have been set
 7 - Enable  PatronSelfRegistrationVerifyByEmail
 8 - Self register a patron on OPAC with an email
 9 - Find the email and grab the verification link (unless you have emails enabled)
     SELECT * FROM message_queue;
10 - Visit the link and confirm registration
11 - Confirm messaging defaults are set

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
3 months agoBug 37345: Only toggle_onsite_checkout() if OnSiteCheckoutAutoCheck is enabled
Lucas Gass [Mon, 15 Jul 2024 16:20:15 +0000 (16:20 +0000)]
Bug 37345: Only toggle_onsite_checkout() if OnSiteCheckoutAutoCheck is enabled

To test:
1. Find an item to checkout and a patron to check out to.
2. Set a due manually: "Specify due date (MM/DD/YYYY):"
3. Before checking out click the "Remember for session:" checkbox.
4. Check the item out.
5. The specific due date is not retained.
6. APPLY PATCH
7. Try 1 -4 again, now the date should be sticking.
8. Turn on the OnSiteCheckouts system pref and make sure it still works
9. Turn on the  OnSiteCheckoutAutoCheck system pref and make sure the on-site checkbox is still checked after doing an on-site checkout.

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
3 months agoBug 37357: Map @ to 00 for control field select lists
David Cook [Mon, 15 Jul 2024 03:59:23 +0000 (03:59 +0000)]
Bug 37357: Map @ to 00 for control field select lists

This change adds the existing @ to 00 mapping for control fields
to work for authorized value select lists as well.

Test plan:
0. Apply the patch
1. koha-plack --reload kohadev
2. Make 001 subfield @ mandatory and give
it an authorised value of branches for Default framework
3. Go to the New record editor for a Default record
4. Click "Save"
5. Note that the editor prompts you to fill in the 001 field
6. Fill in required fields and click "Save"
7. Note that all data is captured correctly
8. prove t/db_dependent/Koha/UI/Form/Builder/Biblio.t

To prove that this wouldn't work without the patch, try the test
plan on a different branch without this patch. You won't be prompted
to fill in mandatory fields and the record will just save (or if a
possible duplicate is detected it will just redirect you back to an empty
editor)

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
3 months agoBug 37192: Adjust template for additem.tt
Lucas Gass [Thu, 11 Jul 2024 16:12:29 +0000 (16:12 +0000)]
Bug 37192: Adjust template for additem.tt

Test plan:
1. Search the catalog for something that will return results, like Perl
2. On any bib that has at least one item, click Edit items
3. In the Actions menu to the left of any item, choose Print label
4. That opened a popup with a 500 error rather than a label batch editor
5. Apply patch, restart_all
6. Repeat step 3, but this time you'll get a label batch editor with your
   item in it.

Signed-off-by: Phil Ringnalda <phil@chetcolibrary.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
3 months agoBug 37192: Add ability to pass data-new_tab to form-submit.js and open in new tab
Lucas Gass [Thu, 11 Jul 2024 16:11:43 +0000 (16:11 +0000)]
Bug 37192: Add ability to pass data-new_tab to form-submit.js and open in new tab

Signed-off-by: Phil Ringnalda <phil@chetcolibrary.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
3 months agoBug 37290: Fix data-branch param
Janusz Kaczmarek [Tue, 9 Jul 2024 13:37:50 +0000 (13:37 +0000)]
Bug 37290: Fix data-branch param

1) Add circulation rules for a specific library
2) Attempt to remove one of those library specific rules -> get redirected to 'All'
3) Notice the rule for that specific branch is still there

Signed-off-by: Pedro Amorim <pedro.amorim@ptfs-europe.com>
Signed-off-by: Emmi Takkinen <emmi.takkinen@koha-suomi.fi>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
3 months agoBug 29560: (follow-up) Add id to checkbox
Katrin Fischer [Mon, 15 Jul 2024 11:53:36 +0000 (11:53 +0000)]
Bug 29560: (follow-up) Add id to checkbox

This will allow to hide the checkbox if changing the MARC
record is not wanted.

Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
3 months agoBug 29560: (follow-up) Clean up trailing comma
Martin Renvoize [Mon, 15 Jul 2024 10:24:13 +0000 (11:24 +0100)]
Bug 29560: (follow-up) Clean up trailing comma

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
3 months agoBug 29560: Unit tests: API
Martin Renvoize [Thu, 11 Jul 2024 13:11:43 +0000 (14:11 +0100)]
Bug 29560: Unit tests: API

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
3 months agoBug 29560: Unit tests
Martin Renvoize [Wed, 10 Jul 2024 12:40:16 +0000 (13:40 +0100)]
Bug 29560: Unit tests

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
3 months agoBug 29560: (follow-up) Split prepare and store logic
Martin Renvoize [Wed, 10 Jul 2024 11:22:06 +0000 (12:22 +0100)]
Bug 29560: (follow-up) Split prepare and store logic

This allows for future removal of C4::Biblio::prepare_marc_host by
splitting the logic for generating the host field and storing the link
in the child record.

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
3 months agoBug 29560: Add option to create MARC Links when bundling items
Martin Renvoize [Wed, 18 May 2022 07:30:48 +0000 (08:30 +0100)]
Bug 29560: Add option to create MARC Links when bundling items

This patch add a checkbox to the 'Add to bundle' modal allowing the user
to optionally add MARC links between the new child record and the
current biblio. For MARC21 this will result in a 773 pointing to the
host from the item record and for UNIMARC a 461 field will be added.

Signed-off-by: Tuomas Kunttu <tuomas.kunttu@kouvola.fi>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
3 months agoBug 29560: Add link_marc_host to Koha::Biblio
Martin Renvoize [Wed, 18 May 2022 07:23:19 +0000 (08:23 +0100)]
Bug 29560: Add link_marc_host to Koha::Biblio

This patch adds the new `link_marc_host` method to Koha::Biblio to
facilitate adding a host link to the marc record of this biblio.

Signed-off-by: Tuomas Kunttu <tuomas.kunttu@kouvola.fi>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
3 months agoBug 37316: Adjust tests
Lucas Gass [Thu, 11 Jul 2024 17:37:58 +0000 (17:37 +0000)]
Bug 37316: Adjust tests

Signed-off-by: Eric Garcia <cubingguy714@gmail.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
3 months agoBug 37316: Treat empty string barcodes as undef
Lucas Gass [Thu, 11 Jul 2024 17:17:29 +0000 (17:17 +0000)]
Bug 37316: Treat empty string barcodes as undef

To test:
1.Add the following to MarcItemFieldsToOrder:

homebranch: 949$a
holdingbranch: 949$b
itype: 949$y
nonpublic_note: 949$x
public_note: 949$z
loc: 949$c
ccode: 949$8
notforloan: 949$7
uri: 949$u
copyno: 949$t
price: 949$g|949$j
replacementprice: 949$v
itemcallnumber: 949$o
quantity: 949$k
budget_code: 949$l
coded_location_qualifier: 949$f
enumchron: 949$h

2. Add the following to MarcFieldsToOrder:

price: 949$g
quantity: 949$k
budget_code: 949$l
discount: 949$m
sort1: 949$n
sort2: 949$q

3. Acquisitions > Find a vendor
4. Create a new basket -> Add to basket -> From new file
5. Use the file uplodaded in this bug report.
6. Set format to MARCXML and stage for import.
7. Add staged files to basket
8. Select all, make sure you add an item type, and choose 'Do not look for matching records'
9. Save and kaboom.
10. APPLY PATCH and restart_all
11. Follow the steps again, this time no kaboom.

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
3 months agoBug 37316: Add tests
Lucas Gass [Thu, 11 Jul 2024 17:16:32 +0000 (17:16 +0000)]
Bug 37316: Add tests

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
3 months agoBug 37231: (Bug 34940 follow-up) Highlight logged-in library in facets does not work...
Janusz Kaczmarek [Tue, 2 Jul 2024 12:38:14 +0000 (12:38 +0000)]
Bug 37231: (Bug 34940 follow-up) Highlight logged-in library in facets does not work with ES

The highlight logged-in library in facets feature does not work with
Elasticsearch.  This is because facet_title_value contains an additional
" (count)" information and so gives negative results in comparisons made
in facets.inc  (line 107).

Test plan:
==========
1. Have a test installation with Elastiscsearch.
2. Set system preference 'DisplayLibraryFacets' to 'both home and holding libraries'
3. Perform a seach that will find items of your logged-in library.
   In KTD, search for 'branch:CPL'
4. Check the facet (home and holding libraries) of your logged-in
   library is not highlighted
5. Apply the patch ; restart_all.
6. Repeat p. 3.  Check the facet (home and holding libraries)--you
   should see your logged-in branch highlighted now.

Sponsored-by: Ignatianum University in Cracow
Signed-off-by: Roman Dolny <roman.dolny@jezuici.pl>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
3 months agoBug 37271: Recall status should be 'requested' in overdue_recalls.pl
Janusz Kaczmarek [Mon, 8 Jul 2024 09:35:12 +0000 (09:35 +0000)]
Bug 37271: Recall status should be 'requested' in overdue_recalls.pl

In "Bug 19532: Make recalls.status an ENUM" one-letter statuses were
replaced by their verbal equivalents.  But in overdue_recalls.pl
remained "R".  As a result, recalls never overdue.

No test plan provided--obvious correction.

Sponsored-by: Ignatianum University in Cracow
Signed-off-by: Phil Ringnalda <phil@chetcolibrary.org>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
3 months agoBug 37108: Cash register statistics wizard is wrongly sorting payment by manager_id...
Alexandre Noel [Fri, 28 Jun 2024 20:16:19 +0000 (16:16 -0400)]
Bug 37108: Cash register statistics wizard is wrongly sorting payment by manager_id branchcode

With this patch, it displays now the accountlines branchcode and not the
manager's branchcode.

(cr: Marie-Luce test plan)

Setup - before test

Staff accounts
    - have a superlibrarian account
    - create 2 limited access staff accounts, one by branches:
        e.g.
        - staff 1 - attached to branch A
        - staff 2 - attached to branch B

    Both restricted staff accounts should have the following permissions:

        - (circulate) ,
        - (borrowers),
        - in the patron fines: (manual_invoice), and (remaining_permissions)
        - ***ability to switch login library (loggedinlibrary)

Debit type
    - Add few debit types in your Koha (administration > debit types) to ease transactions search.
        e.g: "printing cost", "new card", "lost item"

        ***Ensure that each debit type is configured to "can be manually invoiced"

Test plan

1.  Login with "staff 1" in the intranet
    --> Koha should connect to branch A
2.  Find a "branch A" patron
3.  Add a manual invoice    (e.g printing -- 2.50$ )
4.  Pay this invoice
5.  Log out of the intranet
6.  Login with "staff2"
    --> Koha should connect to branch B
7.  Find a "branch B" patron
8.  Add a manual invoice with a unique debit type and amount (e.g. lost item - 12.80$ )
9.  Pay this invoice
10. Stay connect with "staff2" account, and switch to "branch A" at the top right corner of the screen
11. Find another "branch A" patron
12. Add a manual invoice with a unique debit type and amount (e.g. new card - 5.00$ )
13. Pay this invoice
14. Log out
15. Login with a "superlibrarian" account
16. Run the "Cash register" statistics wizards for "branch A"
        - Go to (Reports > Statistics wizards > Cash Registers )
        - dates: select the current date

Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
3 months agoBug 37243: Tag moderation actions should be in the last column
Owen Leonard [Wed, 3 Jul 2024 11:35:25 +0000 (11:35 +0000)]
Bug 37243: Tag moderation actions should be in the last column

This patch updates the tag review template to make the "actions" column
the last one in the table. This makes it consistent with other pages in
Koha.

To test you should have TagsEnabled turned on and at least one
pending tag in the system.

- Go to Tools -> Tags.
- Confirm that the "Approve" and "Reject" buttons are in the last column
  of the table.
- Approve a tag and click the "Approved" link the the "Terms summary"
  box in the right-hand sidebar.
- In this view the table has a "Reviewer" column visible. The buttons
  should still be in the last column.

Sponsored-by: Athens County Public Libraries
Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
3 months agoBug 33363: DBRev 24.06.00.014
Katrin Fischer [Fri, 12 Jul 2024 07:45:37 +0000 (07:45 +0000)]
Bug 33363: DBRev 24.06.00.014

Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
3 months agoBug 33363: (QA follow-up) Update manage permission description
Kyle M Hall [Thu, 11 Jul 2024 12:48:37 +0000 (08:48 -0400)]
Bug 33363: (QA follow-up) Update manage permission description

Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
3 months agoBug 33363: (QA follow-up) Fix bug preventing Suggestions from showing in Acquistions...
Kyle M Hall [Tue, 2 Jul 2024 12:10:28 +0000 (12:10 +0000)]
Bug 33363: (QA follow-up) Fix bug preventing Suggestions from showing in Acquistions menu

Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
3 months agoBug 33363: (QA follow-up) Use say_success in atomic update
Kyle M Hall [Tue, 2 Jul 2024 12:09:40 +0000 (12:09 +0000)]
Bug 33363: (QA follow-up) Use say_success in atomic update

Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
3 months agoBug 33363: Add unit tests
Kyle M Hall [Thu, 11 Jan 2024 13:58:29 +0000 (08:58 -0500)]
Bug 33363: Add unit tests

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Michaela Sieber <michaela.sieber@kit.edu>
Sponsored-by: Cuyahoga County Public Library
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
3 months agoBug 33363: Add separate permissions for creating and deleting suggestions
Kyle M Hall [Wed, 26 Apr 2023 15:21:39 +0000 (15:21 +0000)]
Bug 33363: Add separate permissions for creating and deleting suggestions

There are a number of libraries that would like for their staff to be able to submit (and view existing) purchase suggestions from the borrower record, but not give the staff the ability to edit/manage/delete purchase suggestions.

Test Plan:
1) Apply this patch
2) Run restart all the things!
3) Run updatedatabase
4) Verify anyone with the suggestions manage permissions now has the create and delete permissions as well
5) Verify anyone without the suggestions manage permission has not recieved the new permissions
6) Enable only the create permission for a librarian
7) Verify that librarian can only create new suggestions ( not manage or delete )
8) Enable only the manage permission for a librarian
9) Verify that librarian can only manage existing suggestions ( not create or delete )
10) Enable only the delete permission for a librarian
11) Verify that librarian can only delete suggestions ( not create or manage )

Signed-off-by: Michaela Sieber <michaela.sieber@kit.edu>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Sponsored-by: Cuyahoga County Public Library
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
3 months agoBug 37319: Move mappings for 752ad (MARC21) and 210a/214a (UNIMARC) to pl index
Janusz Kaczmarek [Thu, 11 Jul 2024 09:04:01 +0000 (11:04 +0200)]
Bug 37319: Move mappings for 752ad (MARC21) and 210a/214a (UNIMARC) to pl index

In Bug 36578, some fields were added to the pl index, but somehow it
ended up in the other-control-number index. This aims to put fields
752ad (MARC21) and 210a/214a (UNIMARC) in the pl index.

Test plan:
----------
0. Have an installation with Elasticsearch and MARC 21 configuration.
1. Under  Administration > Search engine configuration (Elasticsearch)
   under the tab Bibliographic records check that you have 752ad in
   other-control-number search field.
2. Apply the patch, reindex with:
   sudo koha-elasticsearch --rebuild -r -b kohadev
3. Under  Administration > Search engine configuration (Elasticsearch)
   under the tab Bibliographic records check that you have 752ad in pl
   search field now.

Signed-off-by: Caroline Cyr La Rose <caroline.cyr-la-rose@inlibro.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
3 months agoBug 37262: (follow-up) Rename types/tables
Tomas Cohen Arazi [Wed, 10 Jul 2024 13:23:04 +0000 (13:23 +0000)]
Bug 37262: (follow-up) Rename types/tables

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Pedro Amorim <pedro.amorim@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
3 months agoBug 37262: Fix for unmapped tablename filtering
Pedro Amorim [Fri, 5 Jul 2024 12:10:16 +0000 (12:10 +0000)]
Bug 37262: Fix for unmapped tablename filtering

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Edit: amended to tidy the new code (tcohen)
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
3 months agoBug 37262: Tests for filtering unmapped tablename
Pedro Amorim [Fri, 5 Jul 2024 12:10:00 +0000 (12:10 +0000)]
Bug 37262: Tests for filtering unmapped tablename

Test plan:
1) Apply this patch only, run tests:
prove t/db_dependent/api/v1/extended_attribute_types.t
2) Notice they fail
3) Apply the fix patch, refresh the API bundle, run:
yarn api:bundle
4) Run tests again, notice they pass

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
3 months agoBug 37329: Typo: authorised value in patron attribute types
Caroline Cyr La Rose [Thu, 11 Jul 2024 16:33:16 +0000 (12:33 -0400)]
Bug 37329: Typo: authorised value in patron attribute types

This patch corrects a typo in the patron attribute type form.

Terminology indicates it should be "authorized" and not "authorised".

https://wiki.koha-community.org/wiki/Terminology

To test:
1. Apply patch
2. Go to Administration > Patron attribute types > New patron attribute type
--> The hint next to the Is a date checkbox should say "[...]an authorized
value category"

Signed-off-by: Roman Dolny <roman.dolny@jezuici.pl>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
3 months agoBug 33526: Use template wrapper for tabs: Bibliographic detail page
Owen Leonard [Mon, 3 Jun 2024 15:38:41 +0000 (15:38 +0000)]
Bug 33526: Use template wrapper for tabs: Bibliographic detail page

This patch updates the bibliographic detail page so that it uses the new
WRAPPER directive to build tabbed navigation.

To test, apply the patch and view the detail page for a bibliographic
record. Test the tabs in as many variations as you can:

- With and without SeparateHoldings enabled
- With and without cover images enabled
- With FRBRizeEditions enabled (and multiple editions in your catalog)
  - See Bug 33195 for a MARC file to use when testing FRBRizeEditions
    with ThingISBN
- With LocalCoverImages enabled
- With AcquisitionDetails enabled
- With a serial record
- With a record added from a suggestion
- With a record with component parts
  - See Bug 11175 for a MARCXML file to use to test this feature
  - The components tab should be automatically selected
- With EnableItemGroups enabled
- Wtih CatalogConcerns enabled
- With HTML5MediaEnabled and a record with media links
  - See Bug 8377 for a MARC file to use to test this feature
  - The media tab should be selected by default
- With and without NovelistSelect enabled (requires Novelist
  credentials)
  - With NovelistSelectStaffView set to "above the holdings table,"
    "below the holdings table," and "in a tab"
- With a plugin enabled which adds a tab to this view
  - See Bug 27120 for a sample plugin for testing plugin-generated tabs

Sponsored-By: Athens County Public Libraries
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
3 months agoBug 36276: Fix editing of identity provider and domains
Owen Leonard [Tue, 9 Jul 2024 18:40:33 +0000 (18:40 +0000)]
Bug 36276: Fix editing of identity provider and domains

This patch fixes identity_providers.pl to remove the "cud-" prefix for
two operations which are not POSTed: editing identity providers and
editing domains.

To test, apply the patch and restart services.

- Go to Administration -> Identity providers.
- If necessary, create an identity provider and then click "Manage
  domains" -> New identity provider domain to create a new domain.
- From the list of domains, click "Edit"
- The edit form should appear with all the correct details prefilled.
  - Check that the page title, breadcrumbs, and page header all show the
    correct domain.
  - Make a change to the domain and confirm that the changes are saved.

- From the list of identity providers, click "Edit"
- This form should also load correctly.
- Submitted changes should be saved correctly.

Sponsored-by: Athens County Public Libraries
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: David Cook <dcook@prosentient.com.au>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
3 months agoBug 33195: (follow-up) Add markup comments
Owen Leonard [Mon, 3 Jun 2024 14:14:50 +0000 (14:14 +0000)]
Bug 33195: (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: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
3 months agoBug 33195: Reindent the bibliographic details page
Owen Leonard [Fri, 31 May 2024 12:44:49 +0000 (12:44 +0000)]
Bug 33195: Reindent the bibliographic details page

This patch reindents the bibliographic details template so that
it has consistent indentation. These changes should have no visible
effect on the page.

To test, apply the patch and view the detail page for a bibliographic
record. Test as many variations as you can:

- With and without cover images enabled
- With FRBRizeEditions enabled (and multiple editions in your catalog)
- With LocalCoverImages enabled
- With AcquisitionDetails enabled
- With a serial record
- With a record with component parts
- With EnableItemGroups enabled
- Wtih CatalogConcerns enabled
- With HTML5MediaEnabled and a record with media links

Viewing the diff while ignoring whitespace changes should show only
places where a line break was added.

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
3 months agoBug 37277: Detach identifiers on the local title list view
Jonathan Druart [Tue, 9 Jul 2024 14:30:07 +0000 (16:30 +0200)]
Bug 37277: Detach identifiers on the local title list view

If a local title has both ISBN (Print) and ISBN (Online) the 2 values
are concanetate on the same line without space on the the local title
list view.

With this patch they are now separated by a new line.

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Pedro Amorim <pedro.amorim@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
3 months agoBug 37261: Fix returning additional fields of unmapped tablename
Pedro Amorim [Fri, 5 Jul 2024 12:03:58 +0000 (12:03 +0000)]
Bug 37261: Fix returning additional fields of unmapped tablename

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
3 months agoBug 37261: Add tests for returning unmapped tablename
Pedro Amorim [Fri, 5 Jul 2024 12:04:17 +0000 (12:04 +0000)]
Bug 37261: Add tests for returning unmapped tablename

Test plan:
1) Apply this patch only, run tests:
prove t/db_dependent/api/v1/extended_attribute_types.t
2) Notice they fail
3) Apply the fix patch, run tests again

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Edit: amended to get rid of tidy errors
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
3 months agoBug 37031: Club enrollment from staff interface fails due to Entrollment typo
Phil Ringnalda [Sat, 6 Jul 2024 22:34:06 +0000 (15:34 -0700)]
Bug 37031: Club enrollment from staff interface fails due to Entrollment typo

There is a typo in svc/club/enroll - it tries to call
Koha::Club::Entrollments->search when it should be
Koha::Club::Enrollments. This causes and error when
enrolling patrons in clubs.

Test plan:
1. Without the patch, Tools - Patron clubs - New club template - name it
   and save
2. New club - (your template) - name it and save
3. Circulation - check out to a patron - Clubs tab - Enroll - Finish
   enrollment, get alert() about failure to enroll
4. Apply patch, restart_all
5. Enroll - Finish enrollment, success

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
3 months agoBug 37289: Add sorting to test
Pedro Amorim [Tue, 9 Jul 2024 13:23:50 +0000 (13:23 +0000)]
Bug 37289: Add sorting to test

Ensure the order of embedded records returned.
Dont apply the DONT PUSH patch.
prove ./t/db_dependent/api/v1/authorised_values.t ---> Notice if passes

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
3 months agoBug 37194: Improve link from unconfigured ILL module
Sam Lau [Wed, 26 Jun 2024 20:45:30 +0000 (20:45 +0000)]
Bug 37194: Improve link from unconfigured ILL module

To test:
1) Enable the ILLModule syspref
2) Go to the ILL module
3) Observe the link that reads "Take a look at the about page" and points to http://localhost:8081/cgi-bin/koha/about.pl#sysinfo_panel
4) Apply patch
5) Observe the link that reads "Take a look at the about page" now points to http://localhost:8081/cgi-bin/koha/about.pl?tab=sysinfo

Signed-off-by: Pedro Amorim <pedro.amorim@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
3 months agoBug 37008: Make "Help" link in vue modules translatable
Katrin Fischer [Thu, 27 Jun 2024 16:41:46 +0000 (16:41 +0000)]
Bug 37008: Make "Help" link in vue modules translatable

The "Help" link in the upper right corner was not translatable
in the newer vue modules like ERM and Preservation.

To test in koha-testing-docker:

* Install any language:
  sudo koha-translate --install de-DE --dev kohadev
* Activate the language in the language system preference
* Activate the ERMModule system preference
* Go to the ERM module, verify translation works in general, but Help
  remains in English
* Apply patch
* Run: yarn build
* Run: gulp po:update
* Verify the string "Help" now appears in
  misc/translator/po/de-DE-messages-js.po
* Translate it
* Run:
  sudo koha-translate --update de-DE --dev kohadev
* Verify "Help" is now translated

Signed-off-by: Jake Deery <jake.deery@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
3 months agoBug 37229: Fix table configuration listings for course reserves
Owen Leonard [Tue, 2 Jul 2024 10:45:08 +0000 (10:45 +0000)]
Bug 37229: Fix table configuration listings for course reserves

This patch changes the structure of columns_settings.yml so that the
configuration of tables on opac-course-details.pl and
opac-course-reserves.pl are in separate sections. They should not be
grouped under "biblio-detail" (opac-detail.pl).

To test you should have at least one course defined and some items
attached to that course.

- Apply the patch and restart services.
- Go to Administration -> Table settings -> OPAC
- You should see "Jump to" links for biblio-detail, course_items, and
  course_list.
- Make some changes to the course_items and course_list configurations.
- Go to the OPAC and confirm that your changes are reflected in the
  visible columns of those tables.

Sponsored-by: Athens County Public Libraries
Signed-off-by: Sam Lau <samalau@gmail.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
3 months agoBug 36821: Changed Authority Type text limit for librarians and OPAC to match database
Eric Garcia [Wed, 3 Jul 2024 18:48:29 +0000 (18:48 +0000)]
Bug 36821: Changed Authority Type text limit for librarians and OPAC to match database

To test:
1. Administration -> Authority Types
2. Select Genre -> Actions -> MARC Structure
3. Search or find tag 090 -> Actions -> Edit
4. Don't make any edits just hit submit
5. See the error: Please enter no more than 100 characters
6. Apply patch
7. Repeat steps 1-4
8. Notice error is gone and you can enter up to 255 characters to match database

Extra Credit:
1. Administration -> Authority Types
2. Select Genre -> Actions -> MARC Structure
3. Search or find tag 090 -> Actions -> Subfields
4. Choose any subfield -> Edit
5. Write a description for staff interface or OPAC
6. Notice you enter up to 255 characters to match database

Please enter the commit message for your changes. Lines starting

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
3 months agoBug 37233: Library URL broken on in libraries tables
Janusz Kaczmarek [Tue, 2 Jul 2024 15:24:21 +0000 (15:24 +0000)]
Bug 37233: Library URL broken on in libraries tables

The URL given for a library is badly encoded in the table on the
/cgi-bin/koha/admin/branches.pl page.  As a result, clicking on the link
leads to 404 page.

Test plan:
==========
1. Have a library with a URL defined.
2. In the table on the Libraries page (/cgi-bin/koha/admin/branches.pl)
   click the link with the URL.
   You should get "Error 404".
3. Apply the patch; restart_all.
4. Go to the Libraries page.  Ctrl+R to reload JS.
   You should be able to reach the URL given in the library setup now.

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
3 months agoBug 37242: Don't use the term branch in cash register administration
Owen Leonard [Wed, 3 Jul 2024 11:14:19 +0000 (11:14 +0000)]
Bug 37242: Don't use the term branch in cash register administration

This patch replaces the word "branch" with "library" in the cash
register administration template in order to make it consistent with our
terminology guidelines.

To test you must have UseCashRegisters enabled.

- Apply the patch and go to Administration -> Cash registers.
- Confirm that the "Filter by" control at the top of the table reads
  "Filter by library."

Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
3 months agoBug 37264: Fix delete button on staff interface's suggestion detail page
Owen Leonard [Fri, 5 Jul 2024 15:52:28 +0000 (15:52 +0000)]
Bug 37264: Fix delete button on staff interface's suggestion detail page

This patch makes a few minor changes to the suggestion detail page in
the staff interface so that the "Delete" button looks correct and works
correctly.

To test, apply the patch and go to Suggestions in the staff interface.

- If necessary, submit a suggestion. You need at least one.
- From the suggestions management page, click the title of a suggestion.
- At the top of this page should be two buttons, "Edit" and "Delete."
  They should be styled consistently with each other.
- Clicking the "Delete" button should trigger a JavaScript confirmation
  dialog. Confirming should result in the suggestion being deleted.

Sponsored-by: Athens County Public Libraries
Signed-off-by: Phil Ringnalda <phil@chetcolibrary.org>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
3 months agoBug 37257: Enable translation of Copy control in OPAC user summary
Owen Leonard [Fri, 5 Jul 2024 14:27:40 +0000 (14:27 +0000)]
Bug 37257: Enable translation of Copy control in OPAC user summary

Currently we define translatable labels for DataTables "export" options
(Copy, CSV, Excel, and Print) in the section of datatables.js for adding
our own configuration to these buttons. This works fine until we
redefine a button without redefining the translatable label as we do in
opac-user.pl.

The correct solution is to define these strings in the default set of
language strings we use for all other DataTable strings. This patch
makes that change in both the staff interface and the OPAC (although the
problem only currently manifests in the OPAC).

To test, apply the patch and start the translation process:

- Install fr-CA or another language in the OPAC
    1. Run the following commands:
        - gulp po:update
        - ./misc/translator/translate update fr-CA
        - ./misc/translator/translate install fr-CA
    2. Go to Administration > System preferences
    3. Search for OPACLanguages and check fr-CA
    4. Set opaclanguagesdisplay to Allow
    5. Click "Save all I18N/L10N preferences"

- Check that "Copy" is translated in the .po files
   1. Open misc/translator/po/fr-CA-messages-js.po
   2. Search for "Copy"
        --> It should be translated as "Copier"

- Log in to the OPAC as a user with checkouts.
- Switch to the language you translated.
- View the user summary page.
  - The controls at the top of the table of checkouts should be
    correctly translated.

- In the staff interface, switch to the language you translated.
- Test any DataTable with export controls, e.g. Administration ->
  Libraries, to confirm that the "Export" menu items are still
  translated correctly.

Sponsored-by: Athens County Public Libraries
Signed-off-by: Caroline Cyr La Rose <caroline.cyr-la-rose@inlibro.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
3 months agoBug 37186: Fixed deletion of rotating collections
Eric Garcia [Mon, 8 Jul 2024 17:11:06 +0000 (17:11 +0000)]
Bug 37186: Fixed deletion of rotating collections

To test:
1. Tools -> Rotating collections
2. Create a rotating collection
3. In new collection Actions -> Delete
4. Notice collection is not deleted
5. Apply patch
6. In new collection Actions -> Delete
7. Notice collection is deleted

Signed-off-by: Roman Dolny <roman.dolny@jezuici.pl>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
3 months agoBug 37283: Update expected error page title
Pedro Amorim [Tue, 9 Jul 2024 09:48:09 +0000 (09:48 +0000)]
Bug 37283: Update expected error page title

I dont know how this was working before, but if we do:
cat -n /usr/share/perl5/HTTP/Response.pm | grep Error

We notice that error_as_HTML returns 'An Error Occurred' for page title and that is what we should be expecting?

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Caused by bug 37056.
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
3 months agoBug 37246: (QA follow-up) DRY Dropdown
Pedro Amorim [Fri, 5 Jul 2024 15:38:26 +0000 (15:38 +0000)]
Bug 37246: (QA follow-up) DRY Dropdown

If we're using the same dropdown it should be defined once.

Signed-off-by: Pedro Amorim <pedro.amorim@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
3 months agoBug 37246: Use the same dropdown for filtering and editing/adding budgets
Nick Clemens [Wed, 3 Jul 2024 14:07:15 +0000 (14:07 +0000)]
Bug 37246: Use the same dropdown for filtering and editing/adding budgets

This patch removes a second fetch of budgets form the db, and clones the dropdown in the template
as we will only ever be displaying one of them at a time.

The JS is moved to fire for both operations.

To test:
 1 - Create an active and inactive budget in acquisitions
 2 - Add funs to both
 3 - Visit - Acquisitions -> Suggestions
 4 - Click 'Acquisition information' under filters on the left
 5 - Note all funds are showing
 6 - Apply patch
 7 - Reload
 8 - Note you only see active budgets
 9 - Check the box to show inactive, verify they show
10 - Filter by an inactive budget
11 - Confirm selection remains
12 - Add a suggestion and verify budget dropdown works
13 - Edit the suggestion and verify budget dropdown works

Signed-off-by: Sam Lau <samalau@gmail.com>
Signed-off-by: Pedro Amorim <pedro.amorim@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
3 months agoBug 37252: Use our local copy of MARC21slimUtils.xsl in MARC21slim2MADS.xsl
Phil Ringnalda [Wed, 3 Jul 2024 21:16:36 +0000 (14:16 -0700)]
Bug 37252: Use our local copy of MARC21slimUtils.xsl in MARC21slim2MADS.xsl

Our local copy of the Library of Congress stylesheet MARC21slim2MADS.xsl is
our only one which includes MARC21slimUtils.xsl directly from the Library of
Congress rather than including our local copy. That makes it a fragile canary
for whatever reason that it currently isn't loading, but because it's not
exactly the most popular menu choice in all of Koha, it's far from being one
that anyone will notice.

We should instead include our local copy, make the bug 29556 change to
MARC21slim2MADS.xsl, and if someone wants to notice when including xsl from
LoC fails, they should write a test for it rather than depend on someone
noticing that saving authority records as MADS fails.

Test plan:
1. Without the patch, Authorities - search for Smith - click the linked
   name of any result to show authorities/detail.pl
2. Save - MADS (XML)
3. Check your downloaded file, see that it is zero bytes
4. Apply patch, restart_all
5. Repeat step 2, but this time find that your downloaded file is more
   than zero bytes.

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Pedro Amorim <pedro.amorim@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>