]> git.koha-community.org Git - koha.git/log
koha.git
15 months agoBug 33999: Subscription details link on bibliographic detail page should have permiss...
Owen Leonard [Tue, 13 Jun 2023 14:11:33 +0000 (14:11 +0000)]
Bug 33999: Subscription details link on bibliographic detail page should have permission check

This patch wraps the "Subscription details" link on the bibliographic
detail page with a permissions check, "CAN_user_serials," so that a user
lacking permission to access the Serials module will not be shown the
link.

To test, apply the patch and view the bibliographic detail page of a
serial record.

- When viewing the "Subscriptions" tab as a user with Serials
  permissions you should see the "Subscription details" link.
- When viewing the tab as a user without the correct permissions the
  link should not be present.

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
15 months agoBug 34146: Counterpart for serials-edit
Marcel de Rooy [Thu, 29 Jun 2023 06:18:04 +0000 (06:18 +0000)]
Bug 34146: Counterpart for serials-edit

Not only additem suffers from it. We can do the same with serials-edit.
This patch adds a server-side and client-side check as we did for additem.

Test plan:
Receive serial with adding items.
Try to add more than 999 items in number of copies.

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
15 months agoBug 34146: Add a client-side check with maxlength too
Marcel de Rooy [Thu, 29 Jun 2023 05:58:29 +0000 (05:58 +0000)]
Bug 34146: Add a client-side check with maxlength too

Test plan:
Try to add more than 3 characters now in the number of copies.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
15 months agoBug 34146: Do not allow multiple copies to crash server
Marcel de Rooy [Wed, 28 Jun 2023 14:14:51 +0000 (14:14 +0000)]
Bug 34146: Do not allow multiple copies to crash server

Currently hardcoded to 1000.
Can be refined later. Let's first prevent this kind of accidents.

Test plan:
Add additem.pl. Edit the 1000 to 2. Restart all.
Add 3 multiple copies. Notice that you got 2.
Revert your code change.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
15 months agoBug 33573: Add public endpoint for cancelling holds
Tomas Cohen Arazi [Wed, 7 Jun 2023 13:42:15 +0000 (10:42 -0300)]
Bug 33573: Add public endpoint for cancelling holds

This patch introduces a public endpoint for cancelling holds.
Cancellation requests are generated when the hold is waiting and
configuration allows requesting cancellation, as the OPAC does right
now.

Tests cover all the use cases.

To test:
1. Apply this patches
2. Run:
   $ ktd --shell
  k$ prove t/db_dependent/api/v1/patrons_holds.t
=> SUCCESS: Tests pass!
3. Sign off :-D

Signed-off-by: Sam Lau <samalau@gmail.com>
Signed-off-by: Emily Lamancusa <emily.lamancusa@montgomerycountymd.gov>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
15 months agoBug 33573: Unit tests
Tomas Cohen Arazi [Wed, 7 Jun 2023 13:41:53 +0000 (10:41 -0300)]
Bug 33573: Unit tests

Signed-off-by: Sam Lau <samalau@gmail.com>
Signed-off-by: Emily Lamancusa <emily.lamancusa@montgomerycountymd.gov>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
15 months agoBug 23775: Claiming a serial issue doesn't create the next one
jeremy breuillard [Mon, 4 Apr 2022 09:00:09 +0000 (11:00 +0200)]
Bug 23775: Claiming a serial issue doesn't create the next one

Whenever we need to generate manually a new serial we go to page
'serials-edit.pl'. With this patch it is possible to generate a new
serial on page 'serials.pl'.

Test Plan:
-- Previously we need a serial which is in EXPECTED status & the Date
received should not be later than today --
1) On the intra. Make sure to have at least 1 subscription for a
   bibliographic record & 1 vendor linked
2) Then Home > Serials > Claims > Claims for <your_vendor_name>
3) Tick the checkbox of the row where the status is EXPECTED then
4) Click 'Send notification'
5) Notice the status of the row : it is now CLAIMED
6) To verify: Home > Serials > Serial collection information for
   <your_record_name>
7) Here the status is CLAIMED too but nothing happened around
8) Apply patch
9) Repeat from 2) to 6)
10) The status is still CLAIMED & the new serial with status EXPECTED is
    freshly generated

Signed-off-by: Sam Lau <samalau@gmail.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
15 months agoBug 34106: Update header search box searchtype when form is submitted
Pedro Amorim [Tue, 27 Jun 2023 14:40:59 +0000 (14:40 +0000)]
Bug 34106: Update header search box searchtype when form is submitted

We're updating the side menu searchtype when the search header is submitted,
we should also update the searchtype in the search header when the form is submitted

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
15 months agoBug 34106: Retain searchtype parameter in member-search-box
Lucas Gass [Thu, 22 Jun 2023 21:59:35 +0000 (21:59 +0000)]
Bug 34106: Retain searchtype parameter in member-search-box

To test:

1. In the main search header switch to 'Search patrons'. Bring up the dropdown and look at 'Search type:'.
2. It defaults to 'Starts with'.
3. Go to '/cgi-bin/koha/members/members-home.pl' and look at the 'Search type:' on the left side.
4. It defaults to 'Contains'
5. Do a patron search from both these places, setting the 'Search type' to contains.
6. The search bar in the header always resets to 'Starts with'
7. Apply patch
8. Try everything again. By default both places should default to contain.
9. If you change the 'Search type' the search in the main header should always retain that value.

Signed-off-by: Ed Veal <eveal@mckinneytexas.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
15 months agoBug 33971: Remove x-koha-query header support
Tomas Cohen Arazi [Tue, 13 Jun 2023 14:27:07 +0000 (11:27 -0300)]
Bug 33971: Remove x-koha-query header support

This patch removes support for the `x-koha-query` header entirely from
the codebase. For the purpose:

- $c->objects->search is adjusted
- Relevant tests are cleared/adapted
- The OpenAPI spec gets the header removed

To test:
1. Apply this patch and run:
   $ ktd --shell
  k$ prove t/db_dependent/Koha/REST/Plugin/Objects.t \
           t/Koha/REST/Plugin/Query.t \
           t/db_dependent/api/v1/*.t
=> SUCCESS: Tests pass!
2. Sign off :-D

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
15 months agoBug 33971: Remove x-koha-query handing in Orders.pm
Tomas Cohen Arazi [Tue, 13 Jun 2023 13:48:14 +0000 (10:48 -0300)]
Bug 33971: Remove x-koha-query handing in Orders.pm

This patch removes manual handling of `x-koha-query` in the
Orders:list() controller.

There are no tests for the feature but you can verify no behavior is
changed by doing:

1. Run:
   $ ktd --shell
  k$ prove t/db_dependent/api/v1/acquisitions_orders.t
=> SUCCESS: Tests pass
2. Apply this patch
3. Repeat 1
=> SUCCESS: Tests pass
4. Sign off :-D

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
15 months agoBug 33971: Remove x-koha-query usage in biblios.t
Tomas Cohen Arazi [Tue, 13 Jun 2023 13:44:47 +0000 (10:44 -0300)]
Bug 33971: Remove x-koha-query usage in biblios.t

This patch removes handling of x-koha-query from the tests.

To test:
1. Run:
   $ ktd --shell
  k$ prove t/db_dependent/api/v1/biblios.t
=> SUCCESS: Tests pass
2. Apply this patch
3. Repeat 1
=> SUCCESS: Tests still pass! Change from x-koha-header to q= gives same
results.
4. Sign off :-D

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
15 months agoBug 33720: Also flush in install
Martin Renvoize [Thu, 29 Jun 2023 08:19:59 +0000 (09:19 +0100)]
Bug 33720: Also flush in install

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
15 months agoBug 33720: Update the updatedatabase.pl script to flush caches before running
Jake Deery [Wed, 7 Jun 2023 11:37:09 +0000 (13:37 +0200)]
Bug 33720: Update the updatedatabase.pl script to flush caches before running

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
15 months agoBug 31253: Item search in staff interface should call barcodedecode if the search...
Kyle Hall [Thu, 28 Jul 2022 13:13:09 +0000 (09:13 -0400)]
Bug 31253: Item search in staff interface should call barcodedecode if the search index is a barcode

We should run any inputted barcode through barcodedecode before passing it to any subroutines.
This was missed during the initial development of bug 26351.

Test Plan:
1) Set itemBarcodeInputFilter to "Remove spaces from"
2) Create an item with the barcode "MYTEST"
3) Browse to the staff side advanced search
4) Run a barcode search for "MY TEST"
5) Note no results are round
6) Apply this patch
7) Restart all the things!
8) Repeat your search
9) Note the item was found!

Signed-off-by: Michaela Sieber <michaela.sieber@kit.edu>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Edit: fixed typo in comment
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
15 months agoBug 23336: (QA follow-up) Minor fixes
Tomas Cohen Arazi [Mon, 3 Jul 2023 13:15:57 +0000 (10:15 -0300)]
Bug 23336: (QA follow-up) Minor fixes

There are two leftover includes, and a couple typos in a comment and POD
title.

This patch fixes that.

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
15 months agoBug 23336: (QA follow-up) Minor fixes
Martin Renvoize [Wed, 17 May 2023 15:54:45 +0000 (16:54 +0100)]
Bug 23336: (QA follow-up) Minor fixes

This patch deals with some QA script warnings, and also makes some
changes in line with bug 33556.

We also adds current user id and checkout item id into the confirmation
token to improve security and fix the failing tests.

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
15 months agoBug 23336: (follow-up) Switch to using Koha::Token
Martin Renvoize [Tue, 16 May 2023 09:46:43 +0000 (10:46 +0100)]
Bug 23336: (follow-up) Switch to using Koha::Token

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
15 months agoBug 23336: Fix inconsistent return of AddIssue
Martin Renvoize [Mon, 3 Oct 2022 16:07:20 +0000 (17:07 +0100)]
Bug 23336: Fix inconsistent return of AddIssue

AddIssue can on occasion create a renewal instead of a fresh issue and
in such a case we currently return undefined. We should be consistent
and return the existing issue object for the renewal.

Signed-off-by: Silvia Meakins <smeakins@eso.org>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
15 months agoBug 23336: Add checkout API's
Martin Renvoize [Fri, 5 May 2023 14:53:50 +0000 (15:53 +0100)]
Bug 23336: Add checkout API's

This patch adds API's to allow for a checkout flow using the RESTful
API.

We add an availability endpoint to check an items current availability
status. The endpoint can be found at `/checkouts/availability` and is
a GET request that requires item_id and patron_id passed as parameters.

We return an availability object that includes blockers, confirms,
warnings and a confirmation token to be used for checkout.

We also add a corresponding checkout method to the `/checkouts` endpoint.
The method accepts a POST request with checkout details including item_id
, patron_id and the confirmation token in the body.

Future work: We should properly migrate CanBookBeIssued into Koha::* and
use that here instead of refering to C4::Circulation.

Signed-off-by: Silvia Meakins <smeakins@eso.org>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
15 months agoBug 23336: Unit tests
Martin Renvoize [Thu, 27 Apr 2023 16:03:15 +0000 (17:03 +0100)]
Bug 23336: Unit tests

This patch adds unit tests for the new checkout availability endpoint
we're going to introduce in this patchset.

Signed-off-by: Silvia Meakins <smeakins@eso.org>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 33972: Remove settings of batch status to importing
Nick Clemens [Tue, 27 Jun 2023 13:26:10 +0000 (13:26 +0000)]
Bug 33972: Remove settings of batch status to importing

This change was done in a transaction - it would either be set as imported
on success, or rolled back to staged on failure

There is no need for the intermediate status which is never committed

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 33996: (QA follow-up) Fix mappings to match guidelines
Martin Renvoize [Mon, 26 Jun 2023 14:15:31 +0000 (15:15 +0100)]
Bug 33996: (QA follow-up) Fix mappings to match guidelines

The date field guidelines are recorded on the wiki:
https://wiki.koha-community.org/wiki/Coding_Guidelines_-_API#SWAGGER1.3.4.1_date.2Fdatetime.2Ftimestamp_fields

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 33996: Add missing authority objects mapping
Tomas Cohen Arazi [Tue, 13 Jun 2023 13:13:40 +0000 (10:13 -0300)]
Bug 33996: Add missing authority objects mapping

This patch adds a minimal mapping (i.e. some things get excluded from
the API objects for now). It makes some attributes consistent with the
current API names, and the rest can be added later when they become
needed and we discuss a proper name. But right now is a mess :-/

To test:
1. Apply this patch
2. Run:
   $ ktd --shell
  k$ prove t/db_dependent/api/v1/authorities.t
=> SUCCESS: Tests pass!
3. Sign off :-D

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Sam Lau <samalau@gmail.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 34130: Make requested_date nullable in api definition
Pedro Amorim [Tue, 27 Jun 2023 13:23:08 +0000 (13:23 +0000)]
Bug 34130: Make requested_date nullable in api definition

This patch allows the requested_date for an ILL request to be NULL to accomodate
older data

To test:
1 - Install the Koha 2 Koha ILL plugin:
    https://gitlab.com/koha-community/plugins/koha-plugin-ill-koha
2 - Enable the ILL  system preference
3 - Force an ILL request with minimal data from backend:
    INSERT INTO illrequests (borrowernumber,biblio_id,branchcode,backend,status) VALUES (5,3,'CPL','Koha','placed');
4 - View the ILL table
5 - Error:
    {"message":"Expected string - got null.","path":"\/body\/0\/requested_date"}
6 - Apply patch
7 - Table loads successfully

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 33778: (QA follow-up) Update for master
Martin Renvoize [Mon, 26 Jun 2023 11:00:30 +0000 (12:00 +0100)]
Bug 33778: (QA follow-up) Update for master

The error message was updated in master.

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 33778: Move to db_dependent
Marcel de Rooy [Fri, 19 May 2023 08:51:42 +0000 (08:51 +0000)]
Bug 33778: Move to db_dependent

Test plan:
Run t/db_dependent/Auth_with_shibboleth.t

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
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>
16 months agoBug 33778: Fix indentation of last subtest
Marcel de Rooy [Fri, 19 May 2023 08:38:20 +0000 (08:38 +0000)]
Bug 33778: Fix indentation of last subtest

Only whitespace.

Test plan:
git diff -w HEAD~1.. t/Auth_with_shibboleth.t
No differences.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
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>
16 months agoBug 33778: Further polishing
Marcel de Rooy [Fri, 19 May 2023 06:45:22 +0000 (06:45 +0000)]
Bug 33778: Further polishing

Use mock_preference.
Move final tests for BaseURLs into one subtest.
Change reset_config to allow passing parameters replacing some variables.
Copyright line.

Test plan:
Run t/Auth_with_shibboleth.t

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
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>
16 months agoBug 33778: Remove T::D::C from Auth_with_shibboleth.t
Marcel de Rooy [Thu, 18 May 2023 11:19:13 +0000 (11:19 +0000)]
Bug 33778: Remove T::D::C from Auth_with_shibboleth.t

This test should be in t/db. It needs patrons, categories, branches.
T::D::C now hides e.g. the branchcode constraint.
When removing T::D::C, we therefore need to add a branchcode in the
shibboleth test config.

Test plan:
Run t/Auth_with_shibboleth.t

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
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>
16 months agoBug 34029: DBIC schema
Tomas Cohen Arazi [Thu, 29 Jun 2023 12:51:08 +0000 (09:51 -0300)]
Bug 34029: DBIC schema

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 34029: (QA follow-up) Fix slipped broken char
Tomas Cohen Arazi [Thu, 29 Jun 2023 12:46:13 +0000 (09:46 -0300)]
Bug 34029: (QA follow-up) Fix slipped broken char

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 31651: Adjust tests
Tomas Cohen Arazi [Thu, 29 Jun 2023 12:36:47 +0000 (09:36 -0300)]
Bug 31651: Adjust tests

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 34029: DBRev 23.06.00.007
Tomas Cohen Arazi [Mon, 26 Jun 2023 13:28:55 +0000 (10:28 -0300)]
Bug 34029: DBRev 23.06.00.007

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 34029: DBIC schema
Tomas Cohen Arazi [Mon, 26 Jun 2023 13:25:33 +0000 (10:25 -0300)]
Bug 34029: DBIC schema

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 34029: (QA follow-up) Fix pushing undef to biblio_ids
Marcel de Rooy [Mon, 26 Jun 2023 10:46:17 +0000 (10:46 +0000)]
Bug 34029: (QA follow-up) Fix pushing undef to biblio_ids

See comment1. Although we now fix the error on publishercode, it
is good to verify the result before pushing.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 34029: Extend datatypes of biblioitems.columns to text to avoid breaking import
Katrin Fischer [Fri, 16 Jun 2023 11:14:29 +0000 (11:14 +0000)]
Bug 34029: Extend datatypes of biblioitems.columns to text to avoid breaking import

This updated the datatype of the following columns from varchar(255) to text
to avoid import problems if the mapped MARC field's data exceeds 255
characters.

This is for:
* place (260$a and 264$a)
* publishercode (260$b and 264$b)
* size (300$c)
* illus (300$b)
* pages (300$a)

To test:
* Edit a bibliographic record and enter more than 255 characters into
  the MARC fields listed above. Try to save.
* Run the updatedatabase script to modify the DB structure
* restart_all
* Edit a bibliographic record and enter more than 255 characters into
  the MARC fields listed above.
* Save
* Export the record
* Import the record using staging tools, all should work well

Signed-off-by: Sam Lau <samalau@gmail.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 33989: Only look up authorized value descriptions for items in results
David Cook [Tue, 13 Jun 2023 04:44:41 +0000 (04:44 +0000)]
Bug 33989: Only look up authorized value descriptions for items in results

This patch changes the inventory tool so that it only populates the
authorized value descriptions for items that show up in the results.
That is, items that will be viewed by a human.

This change saves a lot of time by not performing unnecessary
database lookups.

Test plan:

0. Apply patch and koha-plack --restart kohadev
1. Go to create a SQL report from SQL
/cgi-bin/koha/reports/guided_reports.pl?phase=Create%20report%20from%20SQL
2. Save a report with the following SQL:
SELECT barcode FROM items where barcode <> '';
3. Run the report
4. Download as CSV
5. Edit the CSV and remove the "barcode" heading

6. Go to edit item for barcode 3999900000001
/cgi-bin/koha/cataloguing/additem.pl?op=edititem&biblionumber=1&itemnumber=1
7. Add "Damaged status" of "Damaged"
8. Click "Save changes"

9. koha-mysql kohadev
10. update items set notforloan = 9 where barcode = 3999900000001;

11. Go to inventory tool
http://localhost:8081/cgi-bin/koha/tools/inventory.pl
12. Upload barcode file via "Choose file"
13. Uncheck "Compare barcodes list to results"
14. Open F12 tools
15. Click "Submit"
16. Click "OK" on confirm box

17. Note that the inventory job takes around 30 seconds to run
instead of 60 seconds
17b. The exact figures may vary. If you compare with before patch
inventory runs, you'll be saving roughly 18 seconds.
18. Note that "Damaged" appears in the "Damaged" column, which
demonstrates that the authorized value lookup was completed for
the item in the result list

Signed-off-by: Sam Lau <samalau@gmail.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 33976: Disable claims returned option in moredetail.pl when another lost status...
Emily Lamancusa [Fri, 9 Jun 2023 18:54:33 +0000 (14:54 -0400)]
Bug 33976: Disable claims returned option in moredetail.pl when another lost status is selected

Prevent "claims returned" from being selectable from moredetail.pl, even
if another lost status is already set

To test:
1. Configure Claims returned
    i. Go to Administration > Authorized Values > LOST
    ii. Add a new authorized value with value:6 and description:Claims returned
    iii. Go to Administration > System Preferences
    iv. Set ClaimReturnedLostValue to 6 and save
2. Go to any title record and click the barcode for any item
3. Click the Lost status drop-down.
   Note that the Claims Returned option is disabled.
4. Select a Lost status and click "Set status"
5. Click the Lost status drop-down.
   Note that the Claims Returned option is now selectable.
6. Apply the patch and refresh the page
7. Note that the Claims Returned option is now disabled.
8. Find a different item and check it out to a customer.
9. On that customer's account, click "Claim Returned" for that item
10. Click the barcode to view moredetail for that item
    Note that the Lost status drop-down is disabled with Claims Returned selected

Signed-off-by: Sam Lau <samalau@gmail.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 34080: Make suggestions_batch_ops a class
Lucas Gass [Fri, 23 Jun 2023 15:13:42 +0000 (15:13 +0000)]
Bug 34080: Make suggestions_batch_ops a class

To test:
1. Make some suggestions with different statuses.
2. Try moving some suggestion to different statuses.
3. Going from PENDING to another status works fine.
4. Moving from other status (REJECTED, ORDERED, etc ) will cause a 500 error.
5. Apply patch
6. Try 2 - 4 again, no more 500 errors, yay!

Signed-off-by: Sam Lau <samalau@gmail.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 31132: (follow-up) Reset dropdown values and style button
Aleisha Amohia [Tue, 12 Jul 2022 04:48:44 +0000 (16:48 +1200)]
Bug 31132: (follow-up) Reset dropdown values and style button

This follow-up patch resets the dropdown values of the form alongside
the text inputs. It styles the button to look like a link so it doesn't
distract the user and get 'accidentally' clicked when attempting to
submit.

Test that the button looks and behaves as expected after submitting a
search.

Signed-off-by: nicolas <nicolas@inlibro.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 31132: Add button to clear the cataloguing auth finder form
Aleisha Amohia [Mon, 11 Jul 2022 23:04:03 +0000 (11:04 +1200)]
Bug 31132: Add button to clear the cataloguing auth finder form

This enhancement adds a 'Clear form' link to empty all of the input
fields on the authority finder plugin form when cataloguing
bibliographic records.

To test:
1) Search for a bibliographic record in the staff interface
2) Edit a record
3) Go to tabs 1, 6 or 7 to find a tag linked to the authority finder
plugin
4) Launch the authority finder plugin by clicking the Tag editor icon at
the end of the field
5) If the fields are empty, add some text in the text fields
6) Click the 'Clear form' link at the bottom of the form
7) Confirm the text is cleared from the input fields and the form is
empty

Sponsored-by: Education Services Australia SCIS
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: nicolas <nicolas@inlibro.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 34103: Capitalization: Currencies & Exchange rates
Caroline Cyr La Rose [Thu, 22 Jun 2023 20:06:50 +0000 (16:06 -0400)]
Bug 34103: Capitalization: Currencies & Exchange rates

This patch corrects the breadcrumbs in the Administration > Currencies
and exchange rates page to follow current capitalization and
typographical guidelines.

To test:
0. Apply patch
1. Go to Administration > Currencies and exchange rates
2. Verify that the breadcrumb has no spelling errors, and that
   capitalization and typography guidelines are applied
3. Click 'Delete' next to one of the currencies
4. Verify that the breadcrumb has no spelling errors, and that
   capitalization and typography guidelines are applied

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 34015: Terminology: Relative issues should be Relative's checkouts
Caroline Cyr La Rose [Thu, 15 Jun 2023 13:45:50 +0000 (09:45 -0400)]
Bug 34015: Terminology: Relative issues should be Relative's checkouts

This patch changes the term 'issues' in a screen reader caption in the
OPAC to the correct term 'checkouts'.

To test:
Setup:
- Have a patron with a guarantee
- Check out an item to the guarantee
- Make sure the guarantee allows their guarantor to see their checkouts
  (AllowStaffToSetCheckoutsVisibilityForGuarantor must be on for you to
  be able to set this)

1. In the OPAC, log in with the guarantor patron
2. Click on the Relatives' checkouts tab
3. Open a screen reader (in Ubuntu, Super + Alt + S to turn on/off)
4. Navigate to the table in the Relative's checkouts tab
   --> The screen reader should say 'Relative issue table with...'
5. Apply patch
6. Refresh the page
7. Restart the screen reader (if it was off)
   --> The screen reader should now say 'Relatives' checkouts table
   with...'

Alternatively, open the page inspector and inspect the table, the
caption is in the table tag, before the thead tag.

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>
16 months agoBug 34083: (follow-up) Prevent showing 'null'
Pedro Amorim [Thu, 22 Jun 2023 08:58:34 +0000 (08:58 +0000)]
Bug 34083: (follow-up) Prevent showing 'null'

In patron lists, if the patron added is an organization without the firstname, it presents 'null'. This fixes that

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 34083: Add searching for full term on patron auto-complete
Pedro Amorim [Wed, 21 Jun 2023 16:10:17 +0000 (16:10 +0000)]
Bug 34083: Add searching for full term on patron auto-complete

To reproduce, on k-t-d:
1) Create a new patron of category 'School'
2) Enter 'Middle school high school' on the mandatory 'Name' field and put something in 'Card number:'
3) Visit patron lists at /cgi-bin/koha/patron_lists/lists.pl and click 'New patron list'
4) Put something in 'Name:' and click 'Save'
5) On the 'Patron search' input, enter 'middle school high school' slowly and observe the auto-complete behaviour
6) Notice how after you start typing the second word, the auto complete results vanish.
7) Apply patch, repeat plan and verify it now works as expected.

Signed-off-by: Sam Lau <samalau@gmail.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 33968: Add missing colons to guarantor related labels
Katrin Fischer [Fri, 9 Jun 2023 09:46:47 +0000 (09:46 +0000)]
Bug 33968: Add missing colons to guarantor related labels

Fixes some inconsistencies with the labels on the
patron detail page and patron edit form.

To test:
* Activate AllowStaffToSetCheckoutsVisibilityForGuarantor
  and AllowStaffToSetFinesVisibilityForGuarantor system
  preferences
* Link a patron to a guarantor
* Verify on the details tab the options for showing fines
  and checkouts show and are missing colons on the label
* Edit the patorn and verify the same is true for the form
* Apply patch
* Verify missing colons have been added :)

Signed-off-by: Sally <sally.healey@cheshiresharedservices.gov.uk>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 25079: (QA follow-up) FA v6 update
Tomas Cohen Arazi [Fri, 23 Jun 2023 13:27:44 +0000 (10:27 -0300)]
Bug 25079: (QA follow-up) FA v6 update

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 25079: (QA follow-up) Fix TT issues
Kyle M Hall [Tue, 30 May 2023 17:42:16 +0000 (13:42 -0400)]
Bug 25079: (QA follow-up) Fix TT issues

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 25079: Show club enrollment question answers in staff client
Hammat Wele [Wed, 12 Apr 2023 12:48:31 +0000 (12:48 +0000)]
Bug 25079: Show club enrollment question answers in staff client

When a patron is enrolled in a patron club, koha collects answers to library-defined enrollment questions.
Those answers go into the database but are not viewable outside of reports.

This patch make those answers viewable on club-enrollments.pl.

Test plan
1. Apply the patch

2. Create a club template
    2.1. Go to Tools > Patron clubs
    2.2. Click on 'New Club Template'
    2.3. Fill the form
    2.4. on the 'Club fields' section, Click on Add new field
    2.5. Fill in the form
    2.6. on the 'Enrollment fields' section, Click on Add new field
    2.7. Fill in the form
    2.8. Click on Save button

3. Creation of the club
    3.1. Go to Tools > Patron clubs > 'Clubs' section (bottom)
    3.2. Click on the 'New Club' button and select the club template create on step 1
    3.3. Fill in the form
    3.4. Click on Save button

4. Club enrollement
    On the intranet (or the OPAC if permitted)
    4.1. Search for a pratron and open the patron folder
    4.2. Click on the 'Clubs' tab
    4.3. Find the name of the club and click on 'Enroll'
    4.4. Fill the questionnaire
    4.5. Confirm registration

5. Check registrations on the intranet
    5.1. Go to Tools > Patron clubs
    5.2. In the bottom 'Clubs' section, find the name of the club
    5.3. check the 'Enrolled patrons' column
       ---> should not be equal to zero.
    5.4 Click on 'Action' and choose the option “Enrollments”
       ---> The Enrollment fields created on step 2.6. are viewable in the table with their values

Signed-off-by: Sam Lau <samalau@gmail.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 25079: Add a 'edit' functionality to the Clubs tool in the staff interface
Hammat Wele [Wed, 12 Apr 2023 00:32:02 +0000 (00:32 +0000)]
Bug 25079: Add a 'edit' functionality to the Clubs tool in the staff interface

A club enrollment can be cancel but it can't be edited
This patch add a 'edit' functionality to the Clubs tool in the staff interface

Test plan
1. Create a club template
    1.1. Go to Tools > Patron clubs
    1.2. Click on 'New Club Template'
    1.3. Fill the form
    1.4. on the 'Club fields' section, Click on Add new field
    1.5. Fill in the form
    1.6. on the 'Enrollment fields' section, Click on Add new field
    1.7. Fill in the form
    1.8. Click on Save button

2. Creation of the club
    2.1. Go to Tools > Patron clubs > 'Clubs' section (bottom)
    2.2. Click on the 'New Club' button and select the club template create on step 1
    2.3. Fill in the form
    2.4. Click on Save button

3. Club enrollement
    On the intranet
    3.1. Search for a pratron and open the patron folder
    3.2. Click on the 'Clubs' tab
    3.3. Find the name of the club and click on 'Enroll'
    3.4. Fill the questionnaire
    3.5. Confirm registration
        ---> Note that the enrollement can be canceled but it cannot be modified

4.  Apply the patch
5. Click one more time on the 'Clubs' tab
   ---> Note that the enrollement can now be modified

Signed-off-by: Sam Lau <samalau@gmail.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 30860: Cache CanItemBeReserved return value
Jonathan Druart [Wed, 22 Mar 2023 15:30:31 +0000 (16:30 +0100)]
Bug 30860: Cache CanItemBeReserved return value

This patch caches the return value of CanItemBeReserved that could
be then returned *on
demand*
We don't want to introduce side-effects hard to catch from this simple
change, so let's return the cache value only from the 2 scripts we are
dealing with.

This patch requests all item values from CanBookBeReserved on request.pl

Before this we either:
- Looped every item to find out that book could not be reserved
- Looped until we found an item that could be reserved, then looped all items to get statuses

In the worst case we avoid double processing a single item, in the best case we avoid double
processing all items (if only last on record is holdable)

To test:
1 - Find a record in staff client with several items
2 - Set AllowHoldsOnDamagedItems  to 'Dont allow'
3 - Add a damaged item to record
4 - Set a hold rule to only allow holds form homebranch and ensure record has items from other branches
5 - Setup things to prevent more items from being held
6 - Attempt hold for patron
7 - Note item statuses
8 - Apply patch
9 - Confirm statuses are as they were before

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 28726: Add sort1 and sort2 to patron card creator - patron search.
Michael Hafen [Tue, 20 Jul 2021 18:12:42 +0000 (12:12 -0600)]
Bug 28726: Add sort1 and sort2 to patron card creator - patron search.

Also adds a select all / clear all and checkboxes.

Test plan:

1. start a new batch in the patron card creator (Tools -> Patron card creator -> New -> card batch)
2. click the Add patron(s) button.  Observe that Category and Library are the only options.
3. Close search for patron window.
4. Apply patch.
5. click the Add patron(s) button.  Observe that you can now search for patrons by their sort1 and sort2 values.
6. perform a search and observe the 'Select all | Clear all | Add selected patrons' links and button.
7. use the Select all link to select all the patrons found by the search.
8. use the Add selected patrons button to add the selected patrons to the card batch's Add by borrowernumber(s) text input field.
9. close the search for patron window.

Signed-off-by: Solene Ngamga <solene.ngamga@inLibro.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 34071: Change the phrasing of 'automatic checkin' to fit consistent terminology
Sam Lau [Wed, 21 Jun 2023 17:18:20 +0000 (17:18 +0000)]
Bug 34071: Change the phrasing of 'automatic checkin' to fit consistent terminology

This patch simply changes 'Automatic checkin' to be 'Automatic
check-in'.

Test plan:
1) Go to administration -> item types and click the edit button on an
   item.
2) Notice there is a checkbox labeled 'Automatic checkin'.
3) Apply patch.
4) Refresh the page and notice the checkbox now says 'Automatic
   check-in'.
5) prove t/db_dependent/Koha/Checkouts.t
6) Sign-off :)

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>
16 months agoBug 33578: Fix controller when editing a restriction type
Jonathan Druart [Wed, 10 May 2023 11:53:20 +0000 (13:53 +0200)]
Bug 33578: Fix controller when editing a restriction type

Do not display a warning when we are editing a restriction type and no
other types with this description exists.

Signed-off-by: Michaela Sieber <michaela.sieber@kit.edu>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 33578: Fix patron restriction types edition
Jonathan Druart [Wed, 10 May 2023 09:21:19 +0000 (11:21 +0200)]
Bug 33578: Fix patron restriction types edition

When editing an existing patron restriction type you'll always get an error on saving:

Label is already in use

To test:
* Activate use of patron restriction types
* Edit any of the system types
* Create new ones

Signed-off-by: Michaela Sieber <michaela.sieber@kit.edu>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 33894: Use template wrapper for tabs: OPAC search history
Owen Leonard [Thu, 1 Jun 2023 13:40:02 +0000 (13:40 +0000)]
Bug 33894: Use template wrapper for tabs: OPAC search history

This patch updates the OPAC search history page so that it uses
the new WRAPPER syntax to generate tabs markup.

To test, apply the patch and view the OPAC search history page. With the
OpacAuthorities system preference enabled you should see two tabs:
Catalog and Authority. Confirm that each tab shows the correct
information.

Deactivate OpacAuthorities and reload the search history page. The
bibliographic search history should display without tabs.

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>
16 months agoBug 33894: Restructuring: Use BLOCKs for biblio and authority sections
Owen Leonard [Thu, 1 Jun 2023 13:33:38 +0000 (13:33 +0000)]
Bug 33894: Restructuring: Use BLOCKs for biblio and authority sections

In order to make the conversion to the tab wrapper markup easier I'm
putting the biblio search history and authority search history sections
into blocks. This will make it easier to include or not include the
sections using template logic.

To test, apply the patch and, if necessary, perform some searches for
bibliographic and authority records. The OPAC search history page should
be unchanged, with the correct information showing under each tab and in
each section for current and previous searches.

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>
16 months agoBug 34013: Recalls awaiting pickup doesn't show count on each tab
Owen Leonard [Wed, 14 Jun 2023 17:23:40 +0000 (17:23 +0000)]
Bug 34013: Recalls awaiting pickup doesn't show count on each tab

This patch modifies recalls_waiting.pl so that it defines template
variables for 'recalls waiting' and 'recalls waiting over x days'
counts in the same way that waitingreserves.pl handles it.

To test you must have UseRecalls enabled, and some recalls data that
will allow you to see content under each tab.

Go to Circulation -> Recalls awaiting pickup and confirm that both tabs
show the correct count.

Signed-off-by: Sam Lau <samalau@gmail.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 34012: Use template wrapper for tabs: Recalls awaiting pickup
Owen Leonard [Wed, 14 Jun 2023 17:09:48 +0000 (17:09 +0000)]
Bug 34012: Use template wrapper for tabs: Recalls awaiting pickup

This patch updates the recalls awaiting pickup template so that it uses
the new WRAPPER directive to build tabbed navigation.

Note: this patch includes indentation changes, so check the diff
accordingly.

To test you must have UseRecalls enabled. Apply the patch and go to
Circulation -> Recalls awaiting pickup.

Both the "Recalls waiting" and "Recalls waiting over X days" tabs should
look correct and work correctly.

Signed-off-by: Sam Lau <samalau@gmail.com>
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>
16 months agoBug 33896: Check whether index is defined before string match
Matt Blenkinsop [Mon, 5 Jun 2023 13:08:47 +0000 (13:08 +0000)]
Bug 33896: Check whether index is defined before string match

This patch checks that $indexes[$i] is defined before testing whether the string matches to remove the logged warning when searching

Test plan:
1) In the intranet, search the catalog from the top search bar
2) Check plack-intranet-error.log
3) There should be a warning "[WARN] Use of uninitialized value within @indexes in string eq"
4) Apply patch
5) restart_all and then re-try the search
6) The warning should no longer appear

Signed-off-by: David Cook <dcook@prosentient.com.au>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 31618: Fix typo in POD for C4::ImportBatch::RecordsFromMARCXMLFile
Sam Lau [Tue, 13 Jun 2023 15:00:21 +0000 (15:00 +0000)]
Bug 31618: Fix typo in POD for C4::ImportBatch::RecordsFromMARCXMLFile

To test:
1) Apply the patch
2) Visit C4::ImportBatch::RecordsFromMARCXMLFile
3) See that in the POD (mine was somewhere around line 1592) the line starting with '@PARAM1' now says '@PARAM1, String, absolute path to the MARCXML file.'
4) Sign off :)

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>
16 months agoBug 33169: (QA follow-up) Tidy Vue-related files
Tomas Cohen Arazi [Wed, 21 Jun 2023 19:20:09 +0000 (16:20 -0300)]
Bug 33169: (QA follow-up) Tidy Vue-related files

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 33169: Add support for FA styles
Tomas Cohen Arazi [Wed, 21 Jun 2023 19:05:26 +0000 (16:05 -0300)]
Bug 33169: Add support for FA styles

Font awesome now provides a different approach to icon styles so you can
specify things like:

```
<i class="fa fa-camera-retro"></i>
```

but also

```
<i class="fa-solid fa-camera-retro"></i>
```

The original implementation had a hardcoded `fa` and having an extra
parameter for the *style* seemed overkill, as we would need to handle
even a list of styles like on this example:

```
<i class="fa-sharp fa-solid fa-camera-retro"></i>
```

So I chose to just explicitly require the full FA icon class and pass it
thru. With no manipulation on the Vue side.

This patch does that, and adjusts the 'style' for some icons, as
introduced by the FA v6 patchset.

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 33169: Build breadcrumbs and left-hand side menu from routes definition
Agustin Moyano [Mon, 6 Mar 2023 19:44:44 +0000 (16:44 -0300)]
Bug 33169: Build breadcrumbs and left-hand side menu from routes definition

Signed-off-by: Matt Blenkinsop <matt.blenkinsop@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 34022: Adjust items data structure
Tomas Cohen Arazi [Thu, 22 Jun 2023 19:06:11 +0000 (16:06 -0300)]
Bug 34022: Adjust items data structure

When creating items at receiving, the generated data structure didn't
match what the code expected, so this patch adapts the code to match the
new data structure introduced by bug 8179.

Once I fixed that, I noticed that the $.ajax request payload, when it
contains an array parameter, it renames it like `param[]`. So the
finishreceive.pl controller is adjusted to this behaviour for the 'on
receiving' use case.

To test:
1. Apply this patch
2. Create a basket with 'create items on receive'
3. Create an order line
4. Close basket
5. Receive shipment
6. Enter invoice number
7. Click on Receive link in the table
8. Fill out item form, make sure all mandatory fields are set
9. Save
10. Verify that the order line is marked as 'received'
11. Verify that there item is created on the record
=> SUCCESS: Works as expected
12. Sign off :-D

Signed-off-by: Michaela Sieber <michaela.sieber@kit.edu>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 33117: DBRev 23.06.00.006
Tomas Cohen Arazi [Fri, 23 Jun 2023 12:40:08 +0000 (09:40 -0300)]
Bug 33117: DBRev 23.06.00.006

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 33117: (follow-up) Rename preference
Martin Renvoize [Thu, 22 Jun 2023 11:38:04 +0000 (12:38 +0100)]
Bug 33117: (follow-up) Rename preference

As it's been requested that we keep the search defaults consistent, I
think this preference is better names DefaultPatronSearchMethod and
appear next to DefaultPatronSearchFields. This patch makes that change,
though actually applying it to the other search area's (outside of
autocomplete) has been left for another bug.

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 33117: Adding new PatronAutoCompleteSearchMethod system preference
Laura Escamilla [Fri, 26 May 2023 16:19:54 +0000 (16:19 +0000)]
Bug 33117: Adding new PatronAutoCompleteSearchMethod system preference

This patch adds a new system preference called "PatronAutoCompleteSearchMethod"
which allows staff to choose between "Starts with" or "Contains" when
searching for patrons.

The "Contains" option should be useful when searching for patrons that have
multiple surnames or when searching using a patron's middle name.

New Test Plan:
 0. Ensure system preference PatronAutoComplete is set to Try
 1. Create a patron that has a first name, middle name and two surnames.
    (i.e. Adela Maria, Hernandez Acosta).
 2. In patron or checkout search, enter their first name and first
    surname without submitting.
 3. Confirm that a record is found in the autocomplete results
 4. In patron or checkout search, enter their first name and second
    surname without submitting.
 5. Confirm that no record is found.
 6. Enter their middle name and first surname. Confirm that no record is
    found.
 7. Enter their middle name and second surname. Confirm that no record
    is found.
 8. Apply the patch, update database
 9. Under Administration > Global System Preferences > search for
    "PatronAutocompleteSearchMethod"
10. Choose "Contains" instead of "Starts with" for the system
    preference, reload your search page
11. Repeat steps 2-4. The patron record should appear for all search
    methods.
12. Sign off!

Signed-off-by: Andrew Fuerste-Henry <andrewfh@dubcolib.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 34052: Use root relative URL for subscription-detail.pl
David Cook [Mon, 19 Jun 2023 04:28:53 +0000 (04:28 +0000)]
Bug 34052: Use root relative URL for subscription-detail.pl

This patch replaces a same directory relative URL with a root
relative URL, so that the navigation to subscription-detail.pl
works correctly after deleting a serial.

To test:
0. Apply patch
1. Go to http://localhost:8081/cgi-bin/koha/serials/serials-home.pl
2. Click "New subscription"
3. Click "Search for a vendor"
4. Click "OK"
5. Click "Choose"
6. Click "Search for record"
7. Type "e" into "Keyword:" box
8. Click "Search"
9. Click "Choose" on top result
10. Click "Next"
11. Fill in "Serials planning" however you like, and click
"Test prediction pattern"
12. Click "Save subscription"
13. Click "Serial collection" in left nav menu
14. Click "Delete selected issues"
15. Click "Yes, delete"
16. Click the link under the "Subscription num." table column
17. Note that you're taken to the subscription detail page

Signed-off-by: Sam Lau <samalau@gmail.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 33944: Don't fetch item object unless using recalls
Nick Clemens [Wed, 7 Jun 2023 18:03:07 +0000 (18:03 +0000)]
Bug 33944: Don't fetch item object unless using recalls

To test:
1 - Check someitems out to a patron
2 - View thier checkouts
3 - Apply patch, restart_all
4 - Confirm checkouts load as before
5 - Enable recalls
6 - Recall an item checked out to this patron
7 - Confirm recall shows as expected

Signed-off-by: Sam Lau <samalau@gmail.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 33973: Restore sorting on Vue tables
Jonathan Druart [Fri, 9 Jun 2023 14:36:43 +0000 (16:36 +0200)]
Bug 33973: Restore sorting on Vue tables

Regression from the KohaTable Vue component added by bug 33066.

_dt_default_ajax expects options.columns to contain the columns.

Test plan:
Add some agreements, go the the agreement list view and confirm that you
can now sort the agreements using the header columns.

Note that the CSS is not correct yet. My understanding is that the
DataTable Vue component keep the 'sorting' class on the th which display
the grey up/down icon over the blue icon which indicate the current sort
column.

Signed-off-by: Pedro Amorim <pedro.amorim@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 32245: Fix delete news item from staff home page
Marcel de Rooy [Thu, 22 Jun 2023 13:30:10 +0000 (13:30 +0000)]
Bug 32245: Fix delete news item from staff home page

Simple fix: op was named incorrectly in URL.

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 34010: Template corrections to recall pages
Owen Leonard [Wed, 14 Jun 2023 15:49:57 +0000 (15:49 +0000)]
Bug 34010: Template corrections to recall pages

This patch makes some corrections to recall pages:
- Update breadcrumbs menu to use wrapper.
- Add <div class="page-section"> where it is missing.
- Use biblio-title include to show links to bibliographic record titles.
- Correct Bootstrap button dropdown markup for consistent style
- Change some submit buttons to <button> elements for consistent style

To test you must have UseRecalls enabled. Having some sample recalls
data will help. Check the following pages to confirm that everything
looks correct:

- Circulation ->
  - Recalls queue
  - Recalls to pull
  - Overdue recalls
  - Recalls awaiting pickup
  - Old recalls
  - Existing recalls: View a bibliographic record with a recall and
    click "Recalls" in the sidebar.

Signed-off-by: Sam Lau <samalau@gmail.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 24517: Add missing 6th position to date-entered-on-file index
David Cook [Wed, 7 Jun 2023 03:13:24 +0000 (03:13 +0000)]
Bug 24517: Add missing 6th position to date-entered-on-file index

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Adding the biblio-zebra-indexdefs.xsl on same patch (as should
be generated with xsltproc).
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 31651: Replaced duplicate error message
Jacob O'Mara [Tue, 29 Nov 2022 10:19:24 +0000 (10:19 +0000)]
Bug 31651: Replaced duplicate error message

The duplicated error message on ln119 has now been replaced for clarity.

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 33500: Add tests for RecordLocalUseOnReturn
Lucas Gass [Wed, 14 Jun 2023 17:15:23 +0000 (17:15 +0000)]
Bug 33500: Add tests for RecordLocalUseOnReturn

To test:
1. Turn on RecordLocalUseOnReturn
2. prove -v /kohadevbox/koha/t/db_dependent/Circulation.t
3. Tests fail.
4. Apply patch
5. prove -v /kohadevbox/koha/t/db_dependent/Circulation.t
6. Tests pass.

Signed-off-by: Sam Lau <samalau@gmail.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 33993: Add order_receive to GET orders endpoints
Martin Renvoize [Tue, 13 Jun 2023 08:45:24 +0000 (09:45 +0100)]
Bug 33993: Add order_receive to GET orders endpoints

This adds order_receive to the list of permissions that allow the
endpoint to return orders.

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: Sharon Dugdale <Sharon.Dugdale@cumberland.gov.uk>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 34093: Fix paths to jQuery for OAI XSLT
Nick Clemens [Thu, 22 Jun 2023 11:02:31 +0000 (11:02 +0000)]
Bug 34093: Fix paths to jQuery for OAI XSLT

To test:
1 - Enable OAI-PMH system preference
2 - Browse to:
    http://localhost:8080/cgi-bin/koha/oai.pl?verb=ListRecords&metadataPrefix=marcxml
3 - Click 'Metadata' button for a record
4 - Nothign happens
5 - Check the console:
    Loading failed for the <script> with source “http://localhost:8080/opac-tmpl/bootstrap/lib/jquery/jquery-migrate-3.3.2.min.js”.
    Loading failed for the <script> with source “http://localhost:8080/opac-tmpl/bootstrap/lib/jquery/jquery-3.6.0.min.js”.
    Loading failed for the <script> with source “http://localhost:8080/opac-tmpl/bootstrap/lib/bootstrap/js/bootstrap.bundle.min.js”.
6 - Apply patch
7 - Reload
8 - Console errors are gone
9 - Clicking 'Metadata' expands the record content

Signed-off-by: Sam Lau <samalau@gmail.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 31185: Link authorities automatically doesn't detect duplicate authorities
Adolfo Rodríguez [Fri, 5 May 2023 14:11:26 +0000 (16:11 +0200)]
Bug 31185: Link authorities automatically doesn't detect duplicate authorities

Signed-off-by: Rachael Laritz <rachael.laritz@inlibro.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 31185: Unit test
Nick Clemens [Wed, 3 May 2023 17:20:51 +0000 (17:20 +0000)]
Bug 31185: Unit test

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 33820: (follow-up) Add hint to member-password.tt
Owen Leonard [Wed, 24 May 2023 15:16:37 +0000 (15:16 +0000)]
Bug 33820: (follow-up) Add hint to member-password.tt

This follow-up makes the same change to the "Change password" template.

Signed-off-by: Sam Lau <samalau@gmail.com>
Signed-off-by: David Cook <dcook@prosentient.com.au>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 33820: Add hints to warn the librarian that they will be logged out if they chang...
Jonathan Druart [Wed, 24 May 2023 07:31:05 +0000 (09:31 +0200)]
Bug 33820: Add hints to warn the librarian that they will be logged out if they change their username

This patch adds some JavaScript to the patron entry form which adds a
hint if the logged-in librarian tries to change their own username. It
warns them that they will be logged out.

To test, apply the patch and log into the staff interface.

- Locate and edit your own patron record.
- In the "OPAC/Staff interface login" section, change the value in the
  username field. When focus leaves that form field a hint should
  appear, "You will be logged out if you modify your username."
- Change the username field back to your original username. The hint
  should disappear.
- Confirm that submitting a username change works correctly: You should
  be logged out, and when you log in again your username should be
  updated.

Signed-off-by: Sam Lau <samalau@gmail.com>
Signed-off-by: David Cook <dcook@prosentient.com.au>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 34051: Cache empty hashref for non-existent authorised values
David Cook [Mon, 19 Jun 2023 01:26:35 +0000 (01:26 +0000)]
Bug 34051: Cache empty hashref for non-existent authorised values

When fetching authorised value descriptions, we need to handle
scenarios where a value doesn't exist in the cache and doesn't
exist in the database. In this situation, we return an empty
hashref, and this patch makes us cache this empty hashref.

This is important because otherwise the function
Koha::AuthorisedValues->get_description_by_koha_field will
do a database call every time it encounters the same value that
doesn't exist in the authorised values table.

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>
16 months agoBug 34028: Fix manual entry for two factor authentication
David Cook [Fri, 16 Jun 2023 06:04:37 +0000 (06:04 +0000)]
Bug 34028: Fix manual entry for two factor authentication

This patch changes the "Account" and "Key" display so that
you can manually enter two factor authentication details into
an authenticator app.

The details are the same as those provided by scanning the QR code.

Test plan:
0. Apply patch
1. Go to
http://localhost:8081/cgi-bin/koha/admin/preferences.pl?op=search&searchfield=TwoFactorAuthentication
2. Change setting to "Enable"
3. Go to http://localhost:8081/cgi-bin/koha/circ/circulation.pl?borrowernumber=51
4. Click "More" on record toolbar and choose "Manage two-factor authentication"
5. Click "Enable two-factor authentication"
6. Scan the QR code into an authenticator app and note it creates an entry called
"Centerville: Centerville_koha"
7. Manually enter an entry into an authenticator app (like Google Authenticator)
7a. Add the "Account" as shown on the Koha screen
7b. Add the "Key" as shown on the Koha screen
8. Note that the entries added by QR code and manual entry have the same
label and both were accepted by the authenticator app

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>
16 months agoBug 34042: Item search broken by FontAwesome upgrade
Owen Leonard [Fri, 16 Jun 2023 18:19:45 +0000 (18:19 +0000)]
Bug 34042: Item search broken by FontAwesome upgrade

This patch corrects a small regression in one of the templates for
outputting item search results. The template lost the change made to it
by  Bug 33070: "Remove use of can_edit_items."

The error meant that item searching wasn't working at all.

To test, apply the patch and perform an item search in the staff
interface. Results should be returned as expected.

Signed-off-by: Phil Ringnalda <phil@chetcolibrary.org>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 34033: (bug 30649 follow-up) Fix update typos
Nick Clemens [Fri, 16 Jun 2023 12:15:25 +0000 (12:15 +0000)]
Bug 34033: (bug 30649 follow-up) Fix update typos

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 32910: Fix 'Agreements' icon
Jonathan Druart [Fri, 16 Jun 2023 13:12:02 +0000 (15:12 +0200)]
Bug 32910: Fix 'Agreements' icon

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 33987: Combine multiple db updates one in BatchCommitRecords
Kyle M Hall [Mon, 12 Jun 2023 18:20:53 +0000 (14:20 -0400)]
Bug 33987: Combine multiple db updates one in BatchCommitRecords

When replacing existing records BatchCommitRecords will the table import_records will be updated three times for three different fields by three different queries. Not only is this inefficient ( especially for large batches ), it seems that this is causing the dreaded "Lock wait timeout exceeded; try restarting transaction" error on some mysql/mariadb configurations.

1) Test plan
2) Download a marc record from Koha
3) Modify the title of that same bib in Koha
4) Stage the downloaded record and overlay the existing record
5) Verify the title has reverted to the original title from the
   downloaded record!

Signed-off-by: Sam Lau <samalau@gmail.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 33885: Prevent JS crash if creator does no longer exist
Jonathan Druart [Wed, 7 Jun 2023 09:07:36 +0000 (11:07 +0200)]
Bug 33885: Prevent JS crash if creator does no longer exist

JS error in the console was
  Uncaught TypeError: row.creator is null

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 33885: Make Koha::Acq::Order->creator return undef if no creator
Jonathan Druart [Wed, 7 Jun 2023 09:05:18 +0000 (11:05 +0200)]
Bug 33885: Make Koha::Acq::Order->creator return undef if no creator

If the account of the creator of an order has been deleted we should
return undef here, instead of crashing with
GET /api/v1/acquisitions/orders: unhandled exception (Mojo::Exception)<<DBIC result _type  isn't of the _type Borrower at /kohadevbox/koha/Koha/Objects.pm line 445.

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 29691: Unit tests
Nick Clemens [Wed, 19 Apr 2023 16:53:22 +0000 (16:53 +0000)]
Bug 29691: Unit tests

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 29691: Use template to display news on opac homepage
Nick Clemens [Tue, 14 Dec 2021 13:35:45 +0000 (13:35 +0000)]
Bug 29691: Use template to display news on opac homepage

This patch moves the fetching of news to the template and
adds a p[lugin method to get news by id

TO test:
1 - Define some general and library specific news items
2 - Define in various languages
3 - Define some 'Additional contents' as well
4 - Apply patch
5 - Confirm onlly 'all libraries' news show if not loigged in to opac
6 - Confirm correct library news show when logged in
7 - View specific news items:
    http://localhost:8080/cgi-bin/koha/opac-main.pl?news_id=12
8 - Confirm that non-existent ids show " This news item does not exist. "
9 - Confirm if you enter ID for additional contents you get 'does not exist'

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 32402: Add "Modification date" to OPAC Lists table
David Cook [Mon, 5 Dec 2022 05:34:12 +0000 (05:34 +0000)]
Bug 32402: Add "Modification date" to OPAC Lists table

This change adds a "Modification date" column to the
OPAC Lists table, so that you can see when a list was last modified.

Test plan:
1. Apply patch
2. Create a public list and a private list
3. Go to http://localhost:8080/cgi-bin/koha/opac-shelves.pl?op=list&public=1
4. Note that "Modification date" appears in the relevant date format
on both the "Your lists" and "Public lists" tabs

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 33963: Remove leftovers from previous works
Jonathan Druart [Thu, 8 Jun 2023 15:33:10 +0000 (17:33 +0200)]
Bug 33963: Remove leftovers from previous works

Signed-off-by: Sam Lau <samalau@gmail.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 33963: Remove C4::BackgroundJob
Jonathan Druart [Thu, 8 Jun 2023 15:31:28 +0000 (17:31 +0200)]
Bug 33963: Remove C4::BackgroundJob

Finally! No more occurrences of this module, we can happily remove it!

Test plan:
git grep is your friend

Signed-off-by: Sam Lau <samalau@gmail.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 33962: Remove background job from process koc
Jonathan Druart [Thu, 8 Jun 2023 15:19:55 +0000 (17:19 +0200)]
Bug 33962: Remove background job from process koc

The last occurrence of C4::BackgroundJob is in process_koc.pl that is used to upload a file.
Added by bug 2608 (15 years ago), I think it does not longer make sense as networks are faster, and we should not expect big koc files to be uploaded.
If there are complains we will move it to Koha::BackgroundJob.

Test plan:
Upload a koc file, enqueue the operations and confirm that everything is
working correctly

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 33528: Fix basic_workflow.t
Tomas Cohen Arazi [Wed, 14 Jun 2023 15:46:45 +0000 (12:46 -0300)]
Bug 33528: Fix basic_workflow.t

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
16 months agoBug 33868: Upgrade the Multiple Select plugin in the staff interface
Owen Leonard [Wed, 31 May 2023 12:08:27 +0000 (12:08 +0000)]
Bug 33868: Upgrade the Multiple Select plugin in the staff interface

This patch upgrades the Multiple Select plugin in the staff interface
and adds some minor adjustments to system preferences CSS to accommodate
the change. The listing on the about page is updated with current
information.

To test, apply the patch and clear your browser cache if necessary.

- Go to Administration -> System preferences.
- Test some preferences which use the plugin, e.g.
  - ApplyFrameworkDefaults
  - CoceProviders
  - OpacHiddenItemsExceptions
  - OPACAllowUserToChangeBranch
- Confirm that the menus look correct and work correctly.

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>
16 months agoBug 33417: Fix translation in toolbar
Matt Blenkinsop [Wed, 5 Apr 2023 14:02:39 +0000 (14:02 +0000)]
Bug 33417: Fix translation in toolbar

This commit allows the string to be translated - tested using fr-FR and a dummy string in the .po file

Test plan as above

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>