]> git.koha-community.org Git - koha.git/log
koha.git
9 months agoBug 35701: Do not use t
Jonathan Druart [Thu, 4 Jan 2024 15:24:26 +0000 (16:24 +0100)]
Bug 35701: Do not use t

To not interfer with the t from I18N

On bug 35329 we are using the I18N TT plugin that is providing the 't'
subroutine.

This loop is redefining the subroutine, therefore it is not longer
accessible.

Test plan:
Edit a patron and confirm the the "Title" dropdown still contain the
different values of syspref BorrowersTitles.

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit 50904b219e203857f71985b729774b38121c8ee9)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
9 months agoBug 35795: Missing closing tag in OPAC course details template
Owen Leonard [Fri, 12 Jan 2024 16:35:28 +0000 (16:35 +0000)]
Bug 35795: Missing closing tag in OPAC course details template

This patch adds a missing closing tag, "</em>" to the breadcrumb
navigation shown when viewing the detail page of a course.

To test you must have at least one course created in the course reserves
module (Course reserves -> New course)

- Apply the patch and go to the OPAC.
- Open the Course reserves page and click the name of the course you
  created.
- The last item in the breadcrumb menu should be "Course reserves for
  [your course name]" and "you_course_name" should be in italics.
- The rest of the page should look correct.

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit a7f914bf3b521b464c673c5cbf406d9ce9feea19)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
9 months agoBug 35820: Fix table id on hold ratios page
Owen Leonard [Wed, 17 Jan 2024 11:58:03 +0000 (11:58 +0000)]
Bug 35820: Fix table id on hold ratios page

This patch corrects the ID on the table showing holds on the holds
ratios page so that it matches the DataTables initialization and
configuration. I'm not aware of any bug with the functionality, but
consistency is good.

The patch also wraps the table in a "page-section" div, an update which
includes indentation changes.

To test, apply the patch and if necessary, place multiple holds on a
title so that the hold ratios page will display results.

- Go to Circulation -> Hold ratios.
- The table of hold ratios should look correct.
- Click the "Configure" button at the top of the table.
- On the table settings page, change the default visibility of some
  columns.
- Return to the hold ratios page to confirm that the correct columns are
  hidden by default.

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit 05cdc48fd6c549f5f67af2562f9c5f889b63fa50)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
9 months agoBug 35831: Move UpdateItemLocationOnCheckout to Checkout policy section
Caroline Cyr La Rose [Wed, 17 Jan 2024 21:38:24 +0000 (16:38 -0500)]
Bug 35831: Move UpdateItemLocationOnCheckout to Checkout policy section

This patch moves the UpdateItemLocationOnCheckout system preference from
the Checkin policy section of the circulation preferences to the
Checkout policy section.

To test:
1. Apply patch
2. Go to Administration > System preferences > Circulation
3. Check that UpdateItemLocationOnCheckout is under Checkout policy

The text should be the same as before, and the feature should not have changed.

Signed-off-by: Aude <aude.charillon@ptfs-europe.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit fceafbc496967b379f5f5a5f210e5ece75e5a7a9)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
9 months agoBug 35835: Fix shebang in cataloguing/ysearch.pl
Marcel de Rooy [Thu, 18 Jan 2024 15:02:10 +0000 (15:02 +0000)]
Bug 35835: Fix shebang in cataloguing/ysearch.pl

Speaks for itself.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit f34a639c58534534efe25dd2b3e98e84e79550ee)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
9 months agoBug 35407: Correct terminology: Show fewer collections
Owen Leonard [Mon, 4 Dec 2023 15:47:23 +0000 (15:47 +0000)]
Bug 35407: Correct terminology: Show fewer collections

In the OPAC, the "Show more" and "Show less" links have aria-labels to
make their function clearer to screen readers. The collection and item
type controls need corrected terminology, and the links also need to
have their template filter corrected (html, not uri).

To test, apply the patch and perform a catalog search in the OPAC.

- Test that the "Show more" and "Show less" links in the facets sidebar
  work correctly to expand and collapse the lists of facets.
- It's not necessary to test with a screen reader. You can view the
  source to confirm the markup on the "Show more collections" and "Show
  more item types" links.

  Before:
  <a href="#" aria-label="%0A%20%20%20%20Show%20more%20collection%20codes%0A"><strong>Show more</strong></a>

  After:
  <a href="#" aria-label="Show more collections"><strong>Show more</strong></a>

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit 24845a8861a1cc07b552fe126dab8ed897be950f)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
9 months agoBug 35323: Fix hint for OpacMoreSearches HTML customization
Katrin Fischer [Sat, 6 Jan 2024 19:49:25 +0000 (19:49 +0000)]
Bug 35323: Fix hint for OpacMoreSearches HTML customization

There was some confusion on where this content appears.
This patch fixes the description shown as hint in the HTML
customizations tool when when the OpacMoreSearches entry is
selected.

To test:
* Before appyling the patch
* Add a new HTML customization for OpacMoreSearches
* Verif hint showing below the pull down
* Set a title and a publication date in the past
* Enter a short text, like "Koha" as content
* Save
* Go to the OPAC, verify text shows in the navigation
* Apply patch
* Verify hint is now correct

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit ec95c63d417f0268c1aec5f8dc8e9985e601656e)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
9 months agoBug 33457: (follow-up) Simplify even further
Martin Renvoize [Thu, 25 Jan 2024 11:55:42 +0000 (11:55 +0000)]
Bug 33457: (follow-up) Simplify even further

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit cd18b2e6fcc1b10bbb521ce1699ca9caeae8fdd8)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
9 months agoBug 33457: (QA follow-up) Use js-patron-format instead
Martin Renvoize [Tue, 23 Jan 2024 14:44:27 +0000 (14:44 +0000)]
Bug 33457: (QA follow-up) Use js-patron-format instead

This patch updates the code to use the $patron_to_html js function
rather than replicating it locally.. this means if in the future we
introduce further fixes/improvements to the display they're affect here
too.

Test plan
1) As for the original implementation, confirm the fix is still fixed

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit 4732d1080900b2437b1d30642e4ec6644ad6c900)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
9 months agoBug 33457: Improve display of fund users when the patron has no firstname
Owen Leonard [Tue, 16 Jan 2024 12:57:34 +0000 (12:57 +0000)]
Bug 33457: Improve display of fund users when the patron has no firstname

This patch updates the way the fund modification page handles patron
names so that a patron with only a first name or only a surname will
have their name appear correctly when selected as a manager or a user.

To test, apply the patch if necessary, create a patron with only a first
name and one with only a surname and give them acquisitions permissions.

- Go to Administration -> Funds.
- Edit a fund.
- Click 'Add users'.
- Select a user, only staff users will be searchable
- Select one of the patrons you created.
  - The patron name should appear correctly
  - Test with both your first name only patron and your last name only
    patron.
- Perform the same test with the 'Select owner' process.

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>
(cherry picked from commit 00ed806d204f60acb419052f177001d5a76b1310)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
9 months agoBug 35865: Add missing hint about permissions when adding managers to a basket
Jonathan Druart [Mon, 22 Jan 2024 21:07:24 +0000 (22:07 +0100)]
Bug 35865: Add missing hint about permissions when adding managers to a basket

When searching for managers for an acquisition basket, the list of patrons is
limited to patrons with the baskets_managers permission. For other patron
searches there is a hint about the restriction but it does not appear here.

Test plan;
Edit a basket, click "Add user" to select a manager.
Notice the hint about the permission.

Signed-off-by: Loïc Vassaux--Artur <loic.vassaux-artur@outlook.fr>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit 8a478f912fcd0eb6018449c8264497e55f9ae77e)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
9 months agoBug 35841: Change wording to indicate request to cancel
Lucas Gass [Thu, 18 Jan 2024 23:09:33 +0000 (23:09 +0000)]
Bug 35841: Change wording to indicate request to cancel

1. APPLY PATCH
2. Update circ rules "Default waiting hold cancellation policy" to allow cancellation of holds.
3. Put some holds onto a patron account, Make some waiting holds and have others be any other status besides waiting.
4. Log in to the OPAC as that patron.
5. Go to your account details and look at the Holds tab.
6. You should see a 'Request to cancel' button for all waiting holds.
7. You should see a 'Cancel' button for all non-waiting holds.

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>
(cherry picked from commit ffbbee6a76529a28dfdf0b08a80296200290bf74)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
9 months agoBug 35817: Fix hint on patron's category when batch update patron
Jonathan Druart [Tue, 16 Jan 2024 12:41:59 +0000 (13:41 +0100)]
Bug 35817: Fix hint on patron's category when batch update patron

When a patron's attribute is limited to a given patron's category, the
batch patron modification tool will display a hint "This attribute will
be only applied to the patron's category %s". But this is followed by
the description of the patron's attribute, not the patron's category.

Test plan:
Create a patron's attribute "Color of hair" and select a patron
category (Patron).
Batch edit batch and select "Color of hair"
A hint will be display.
=> Without this patch the hint is "This attribute will be only applied
   to the patron's category Color of hair"
=> With this patch it will be corrected to "This attribute will be only
   applied to the patron's category Patron"

Signed-off-by: Anneli Österman <anneli.osterman@koha-suomi.fi>
Signed-off-by: Julian Maurice <julian.maurice@biblibre.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit 074684eaf4f7845e6ad3cb50bd5f941dc5783746)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
9 months agoBug 35695: Remove useless JS from cataloging_additem.js
Lucas Gass [Wed, 3 Jan 2024 22:57:32 +0000 (22:57 +0000)]
Bug 35695: Remove useless JS from cataloging_additem.js

To test:
1. APPLY PATCH
2. Turn on EnableItemGroups
3. Go to a record with item groups, or create some.
4. Add an item, making sure items can be added to a group. ( Bug 33639 must be applied )

If I am wrong and this code should stay, tell me. I'll fix the jQuery instead of removing it. :)

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>
(cherry picked from commit cbc97f5c685e4e97f2d5f5c834f489869d5e2e4c)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
9 months agoBug 35461: Fix function call parameters causing the HASH to show in the renew all...
Kyle M Hall [Tue, 2 Jan 2024 17:59:39 +0000 (12:59 -0500)]
Bug 35461: Fix function call parameters causing the HASH to show in the renew all responses

"Renew All" -function aka. 65-66-messages work like this: 66-return messages has renewed items in BM-fields and non-renewables go into BN-fields.

If all items were renewable, then the reply message looks like:

Reply:
13.07.2022 10:06:17:530 OUTESTI1 6610005000020220713 100616AOOUPK|BM564N15977171|BM564N09203960|BM564N23261720|BM564N25161958|BM564N23455012|C4::SIP::SIPServer=HASHC4::SIP::SIPServer=HASHAY6AZCEFE

If items include renewables and non-renewables, the response includes the renewed  items first, then a HASH mixed into the first BN-field, then rest of the renewed ones like they should show in BN-fields and after that, anohter HASH:

13.07.2022 14:41:32:610 OUTESTI1 6610003000420220713 144130AOOUPK|BM564N23455012|BM564N23261720|BM564N25161958|C4::SIP::SIPServer=HASHBN564N09203960|BN564N04191259|BN564N15977171|BN564N13788332|C4::SIP::SIPServer=HASHAY8AZC7C5

If all loans were unrenewable (this test included just one item), you first get a HASH in a BN-field, and another at the end.

13.07.2022 14:49:00:037 OUTESTI1 6610000000120220713 144858AOOUPK|C4::SIP::SIPServer=HASHBN564N19874533|C4::SIP::SIPServer=HASHAY9AZDD3B

Our self checkout/checkin machine can handle/parse these reply messages correctly, but this might not be the case with all self checkout/checkin devices.

Test Plan:
1) Unit test patch
2) prove t/db_dependent/SIP/Message.t
3) Note failures
4) Apply this patch
5) prove t/db_dependent/SIP/Message.t
6) Tests pass!

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: lmstrand <lmstrand@gmail.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit bb7fc5025b6b76e06283d872fd50ac9a65ff25cf)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
9 months agoBug 35461: Add unit tests
Kyle M Hall [Tue, 2 Jan 2024 18:01:57 +0000 (13:01 -0500)]
Bug 35461: Add unit tests

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit e70e1f8a17f1a7aa507cc0fc5982b423612b1c98)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
9 months agoBug 35360: Make HTML/buttons consistent on waitingreserves.tt
Lucas Gass [Tue, 12 Dec 2023 22:48:22 +0000 (22:48 +0000)]
Bug 35360: Make HTML/buttons consistent on waitingreserves.tt

To test:
0. Turn on hold cancellation requests in Administration -> Circulation rules.
1. Have some holds that are waiting, waiting over expiration date, and cancelled waiting holds. In order to create holds waiting over expiration date, if you are in ktd, you can use SQL to update the expirationdate in reserves: UPDATE reserves SET expirationdate="2022-01-01" WHERE reserve_id=1; (make sure it's the correct reserve_id!)
1a. If you are not using ktd, you will need to set ReservesMaxPickUpDelay to 0 days, then return the reserved item and then wait one day before it will be marked as over expiration date.
1b. In order to create cancelled waiting holds, you will need to send a cancel request over the OPAC, that is, reserve something after logging in to the OPAC, return it in the staff interface, and then go to the OPAC -> Your Account -> Holds -> click Cancel on the waiting hold.
2. Notice the differences between the 3 tables and their related buttons:
-Holds waiting
-Holds waiting past their expiration date
-Holds with cancellation requests

-Holds waiting includes a 'Canceled selected' button at the top of the table. It is with in a #toolbar.

-Holds waiting past their expiration date includes a 'Cancel selected' and a 'Cancel all' button. None are within a #toolbar. The 'Cancel selected' here lacks a Bootstrap .btn class. The 'Cancel all' button does have a .btn class.

-Holds with cancellation requests has neither a 'Cancel selected' or a 'Cancel all' button.

3. APPLY PATCH
4. Look again and the tables/buttons should be more consistent.
5. The 'Holds with cancellation requests: X' tab should now include a 'Cancel selected (X)' button. Make sure is works.
6. Make sure TransferWhenCancelAllWaitingHolds is set to "Don't transfer" and make sure the hint displays well in the Holds over table.

Signed-off-by: Philip Orr <philip.orr@lmscloud.de>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit fea69c86079fddcbd4f339c87a03356a9ab4551d)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
9 months agoBug 34979: DBRev 23.11.02.002
Katrin Fischer [Fri, 26 Jan 2024 13:31:48 +0000 (13:31 +0000)]
Bug 34979: DBRev 23.11.02.002

Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit bfbace46e1cf547658b3f0248fedd137d4b2a457)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
9 months agoBug 34979: (follow-up) Only print message when preference was added
Katrin Fischer [Fri, 12 Jan 2024 15:07:19 +0000 (15:07 +0000)]
Bug 34979: (follow-up) Only print message when preference was added

Implements Joubu's suggestion from comment#14 and improves
on it for the cases where we fix capitalization.

Test plan remains unchanged. You can run the database update
a second time to see the difference.

Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit 92d98c1808f4ae12a91263a8c68099753259084a)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
9 months agoBug 34979: Fix mistakes in system preference files highlighted by unit test
Katrin Fischer [Sun, 7 Jan 2024 22:03:31 +0000 (22:03 +0000)]
Bug 34979: Fix mistakes in system preference files highlighted by unit test

This fixes the mistakes the unit test helped to find:
* Add missing system preferences to sysprefs.sql
* Correct spelling for AutoUpdateSetsEmbedItemData
* Correct capitalization, so that code and pref files match
* Fix OverDrive sytem preferences, where explanation/options
  columns where switched, resulting in strange database entries

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit 971d115c8f3d0f27f38f422569af1a86c389e382)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
9 months agoBug 34979: Sort sysprefs.sql alphabetically
Katrin Fischer [Sat, 6 Jan 2024 21:59:17 +0000 (21:59 +0000)]
Bug 34979: Sort sysprefs.sql alphabetically

This doesn't add or remove any entries, but only changes
the sequence of entries to be alphabetic again, compared
to:

SELECT variable FROM systempreferences ORDER BY variable;

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit 24249e264727f76b2e471448eb601daa60cac449)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
9 months agoBug 34979: Add unit test for comparing YAMl files with sysprefs.sql
Katrin Fischer [Sun, 7 Jan 2024 21:54:29 +0000 (21:54 +0000)]
Bug 34979: Add unit test for comparing YAMl files with sysprefs.sql

The unit tests will help to detect any discrepancies
and missing entries in the YAML and sysprefs.sql files.

To test:
* Apply only this patch
* prove -v t/db_dependent/check_sysprefs.t
* It will fail.
* Apply other patches
* Run database update
* Re-run test. It should pass now.
* Recreate your database or reset_all with patches applied.
* System preferences should be installed correctly.
* Test should still pass.

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit 06ba28556254e443d0cc678c0f3d6aabd20f6767)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
9 months agoBug 34647: (follow-up) Minor fixes
Owen Leonard [Wed, 24 Jan 2024 16:32:23 +0000 (16:32 +0000)]
Bug 34647: (follow-up) Minor fixes

This patch fixes the functionality of the <select> menu for jumping to a
particular vendor, "Choose a vendor in the list to jump directly to the
right place."

The patch also removes the empty anchor tag on the "Items with no
checkouts" report. It appears to be unused.

Signed-off-by: Matt Blenkinsop <matt.blenkinsop@ptfs-europe.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit f3a069ad7fa1604a5e9996546e6ef8828bd9dc05)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
9 months agoBug 34647: Delete unnecessary anchor tag
Matt Blenkinsop [Wed, 24 Jan 2024 15:11:40 +0000 (15:11 +0000)]
Bug 34647: Delete unnecessary anchor tag

This patch removes an anchor tag from the form that does not seem to
serve any purpose. The form has an id attribute and it is this that
appears to be used for navigation to and displaying the form.

Test plan:
1) Navigate to Cataloging > marc modification templates
2) Add a new template or edit an existing one
3) The form to add a new action should be displayed when either the
   "New action" button is clicked or you select to edit an existing
   action

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit a317923bfd0c13e3a46b50f6195f2d2efd8513bc)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
9 months agoBug 34647: Replace name attributes with ids
Matt Blenkinsop [Wed, 24 Jan 2024 15:08:56 +0000 (15:08 +0000)]
Bug 34647: Replace name attributes with ids

This patch replaces name attributes on <a> tags as this is now obsolete
in HTML 5. The recommended practice is to substitute these for ids, as
has been done in this patch

Test plan:
1) Navigate to each page where the link has been amended
2) Check that the link still works as expected

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit 8a07455e3beeb58ec934665d301bc76e4ef562a4)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
9 months agoBug 35894: Remove duplicate link
Matt Blenkinsop [Wed, 24 Jan 2024 14:09:19 +0000 (14:09 +0000)]
Bug 35894: Remove duplicate link

This patch deletes a link that appears to be an unnecessary duplicate
in the template file. The link does not appear in the UI and serves no
obvious purpose

Test plan:
1) Navigate to Acquisitions and click Search next to the vendors field
2) Click on a vendor name and the navigation should still work as
   intended, taking you to the Vendor's details page.

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit f931a0ac8089dc92cec46e1a66d92a8a1bafada4)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
9 months agoBug 30627: Verify --days parameter and use find command to select old backups for...
Andreas Jonsson [Mon, 6 Nov 2023 14:18:42 +0000 (15:18 +0100)]
Bug 30627: Verify --days parameter and use find command to select old backups for deletion

Test plan

* Create some old fake backups:

backuproot=/var/spool/koha
instance=kohadev

backupdir="$backuproot"/"$instance"

for i in 1 2 3 4 ; do
   for j in sql tar xxx ; do
      file="$backupdir"/"$instance"-$(date -I -d "- $i day").${j}.gz
      if ! test -e "$file" ; then
         touch -t "$(date +%Y%m%d%H%M -d "- $i day")" "$file"
      fi
   done
done

* Verify that --days parameter is validated

sudo koha-run-backups --days 0
sudo koha-run-backups --days foo

* Run backup

sudo koha-run-backups --days 3

* Verify that backups from 3 days have been preserved and older backups have been deleted
* Verify that filenames that do not match the pattern (the .xxx.gz files) are preserved

Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit b2e5efbdae0d607f6264235ca82d884b95c1a9ef)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
9 months agoBug 29930: Cardnumber incorrectly set to userid on LDAP auth if cardnumber not mapped
Janik Hilser [Sun, 20 Feb 2022 17:14:31 +0000 (18:14 +0100)]
Bug 29930: Cardnumber incorrectly set to userid on LDAP auth if cardnumber not mapped

In the sub the userId was given, but the cardnumber was expected, therefore at every login the cardnumber changed to the userId.

To test:
1. Login to the OPAC with an LDAP account that has a cardnumber which is different to the userId
2. Check the patron record's cardnumber.
3. The cardnumber should equal to the userId
4. Apply the patch.
5. Login to the OPAC with an LDAP account that has a cardnumber which is different to the userId
6. Check the patron record's cardnumber.
7. The cardnumber should be the same as before

Signed-off-by: Alexander Wagner <alexander.wagner@desy.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Extra test plan:
1. Apply the regression tests
2. Run:
   $ ktd --shell
  k$ prove t/db_dependent/Auth_with_ldap.t
=> FAIL: Tests fail! 'cardnumber' incorrectly overwritten
3. Apply this patch
4. Repeat 2
=> SUCCESS: Tests now pass!
5. Sign off :-D

Signed-off-by: Alexander Wagner <alexander.wagner@desy.de>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit 6341d520ac0a09baa5b005abb3d8d81273a6e310)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
9 months agoBug 29930: Regression tests
Tomas Cohen Arazi [Tue, 16 Jan 2024 23:01:22 +0000 (20:01 -0300)]
Bug 29930: Regression tests

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Alexander Wagner <alexander.wagner@desy.de>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit fe006e535d5b95445905c0f9c48e04ec31de0476)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
9 months agoBug 35912: Corretc field name form itemprice to price in addorderiso2709 template
Nick Clemens [Thu, 25 Jan 2024 19:37:45 +0000 (19:37 +0000)]
Bug 35912: Corretc field name form itemprice to price in addorderiso2709 template

To test:
Setup -- Set systempreferences below

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

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
replacementprice: 949$v
itemcallnumber: 949$o
quantity: 949$k
budget_code: 949$l

Stage the attached bib-303.marcxml file
Add to basket from the staged file
Select the biblio
Note items do no have prices
Cancel
Apply patch
Add to basket from file again
Note prices, and other fields, come through as expected

Signed-off-by: Michelle Spinney <mspinney@clamsnet.org>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit 11b91272f97e3f480b01c6b455e72a59597f2c22)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
9 months agoBug 35843: Correct invalid exception
Marcel de Rooy [Fri, 19 Jan 2024 09:36:23 +0000 (09:36 +0000)]
Bug 35843: Correct invalid exception

Test plan:
Run background job tests. Especially the changed one.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Magnus Enger <magnus@libriotech.no>
All test pass when running this:
prove t/db_dependent/Koha/BackgroundJobs*
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit 291268f3185cb48b6498a9d9121d9567bc0d3419)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
9 months agoBug 34913: Fix perlcritic for VirtualShelves.pm
Jonathan Druart [Mon, 29 Jan 2024 09:41:56 +0000 (10:41 +0100)]
Bug 34913: Fix perlcritic for VirtualShelves.pm

C4/Utils/DataTables/VirtualShelves.pm: "@order_by" is declared but not used at line 86, column 9.  Unused variables clutter code and make it harder to read.  (Severity: 3)

Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit 0c96e57b0c6986f5bffc7530bd2eaf25ea7e994e)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
9 months agoBug 35260: Revise structure of the batch checkout page
Owen Leonard [Mon, 6 Nov 2023 17:21:59 +0000 (17:21 +0000)]
Bug 35260: Revise structure of the batch checkout page

This patch makes some changes to the style and structure of the batch
checkout page in order to make it more usable.

To test, apply the patch and rebuild the staff interface CSS. Clear
your browser cache if necessary.

- Make sure the BatchCheckouts preference is enabled and that the
  BatchCheckoutsValidCategories has some categories selected.
- Locate a patron and open the batch checkout page.
- Test the process of checking out to the patron both by entering
  barcodes into the textarea and by uploading a file.

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit b54da05c73c9ea5b04d3552b34fcc636b0a71851)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
9 months agoBug 35356: Show SMS labels only when data exists
Lucas Gass [Fri, 17 Nov 2023 21:39:02 +0000 (21:39 +0000)]
Bug 35356: Show SMS labels only when data exists

To test:
APPLY PATCH
1. Set SMSSendDriver = Email
2. Admin > SMS cellular providers, have at least 1.
3. Go to the members/moremember.pl
4. If the patron has no SMSnumber or SMS provider then niether of the labels should appear.
5. Add both a SMSnumber and SMS provider, make sure the data appears correctly on members/moremember.pl.

Signed-off-by: Andrew Fuerste Henry <andrewfh@dubcolib.org>
Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit 756a9311a15c2748d0c330540e1e3d38a43448e5)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
9 months agoBug 34854: (follow-up) Param name change + POD
Martin Renvoize [Mon, 20 Nov 2023 14:21:58 +0000 (14:21 +0000)]
Bug 34854: (follow-up) Param name change + POD

This patch updates the parameter name to more clearly define what it's
used for and also adds missing documentation.

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit 78d1093cb597d22cb53e96b971ceed0b3d08a303)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
9 months agoBug 34854: Add ability to skip Talking Tech Itiva notifications for a patron if a...
Kyle M Hall [Wed, 20 Sep 2023 17:18:54 +0000 (13:18 -0400)]
Bug 34854: Add ability to skip Talking Tech Itiva notifications for a patron if a given field matches a given value

Because some notices are mandatory, some libraries would like to allow patrons to opt-in to phone notices. The request is to be able to decide if a patron should get a notice based on the value of a given field ( usually sort1 or sort2 ).

Test Plan:
1) Apply this patch
2) Enable TalkingTechItivaPhoneNotification
3) Set up some overdue items for a patron
4) Enable phone notices for overdues in the notice status triggers
5) Run the outbound script for OVERDUE with -t OVERDUE
6) Note the output the output contains a line for that patron
7) Set the sort1 field for that patron to TEST
8) Run the script again, adding in the option "-i sort1:TEST"
9) Note the ouput no longer contains that patron!

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>
(cherry picked from commit efd932ad42a9c9cc6f422f5286a278de49b76f60)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
9 months agoBug 35893: Add missing </li> in opac.pref
Tomas Cohen Arazi [Wed, 24 Jan 2024 13:46:55 +0000 (10:46 -0300)]
Bug 35893: Add missing </li> in opac.pref

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Matt Blenkinsop <matt.blenkinsop@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit 1f5d1beddd0a9732110aac3cd194ed3f4a179cba)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
9 months agoBug 26831: DBRev 23.11.02.001
Katrin Fischer [Tue, 16 Jan 2024 16:38:07 +0000 (16:38 +0000)]
Bug 26831: DBRev 23.11.02.001

Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit 325980b43f56454a456e8e833c5d4cad0fc84f40)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
9 months agoBug 26831: (follow-up) Tidy cleanup_database.pl
Kyle M Hall [Fri, 17 Nov 2023 17:26:56 +0000 (12:26 -0500)]
Bug 26831: (follow-up) Tidy cleanup_database.pl

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit b4a94459719a0f9c31874eb3b238fa408d636cba)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
9 months agoBug 26831: (follow-up) Tidy code for qa script
Kyle M Hall [Fri, 17 Nov 2023 17:25:58 +0000 (17:25 +0000)]
Bug 26831: (follow-up) Tidy code for qa script

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit 2f26de8746576c65fb289f7344dc4507f1e64bca)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
9 months agoBug 26831: (follow-up) Update system preference description
David Nind [Mon, 23 Oct 2023 23:28:16 +0000 (23:28 +0000)]
Bug 26831: (follow-up) Update system preference description

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit 2004ba747d553d9876a615d046de5c84557873f8)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
9 months agoBug 26831: Attempting to clarify prioritising of options
Alex Buckley [Mon, 19 Sep 2022 00:39:13 +0000 (00:39 +0000)]
Bug 26831: Attempting to clarify prioritising of options

Sponsored-by: Catalyst IT, New Zealand
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit 250b7ce55471f36c2bd8e1f25caf03bb2b8aca8a)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
9 months agoBug 26831: Use new PurgeListShareInvitesOlderThan syspref
Alex Buckley [Tue, 13 Sep 2022 00:09:14 +0000 (12:09 +1200)]
Bug 26831: Use new PurgeListShareInvitesOlderThan syspref

Enable librarians in the staff client to control when unaccepted list
invites will be removed from the database.

Test plan:
1. Apply patches

2. Update database
sudo koha-shell <instance>
cd installer/data/mysql
./updatedatabase.pl

3. Confirm the PurgeListShareInvitesOlderThan syspref = 14

4. Run cleanup_database.pl with --list-invites parameter defined:
sudo koha-shell <instance>
cd misc/cronjobs
./cleanup_database.pl --list-invites 10 -v

5. Confirm the output contains:
"Purging unaccepted list share invites older than 10 days."

6. Set PurgeListShareInvitesOlderThan syspref = 15

7. Run cleanup_database.pl without the --list-invites parameter:
sudo koha-shell <instance>
cd misc/cronjobs
./cleanup_database.pl -v

8. Confirm the output contains:
"Purging unaccepted list share invites older than 15 days."

9. Empty PurgeListShareInvitesOlderThan syspref

10. Run cleanup_database without the --list-invites parameter:
sudo koha-shell <instance.
cd misc/cronjobs
./cleanup_database.pl

11. Observe you get the following output (along with documentation on all
parameters of the script):
"You did not specify any cleanup work for the script to do."

12. Run the cleanup_database with no days defined for the --list-invites
parameter:
sudo koha-shell <instance>
cd misc/cronjobs
./cleanup_database.pl --list-invites -v

13. Confirm the output contains:
"Purging unaccepted list share invites older than 14 days."

Sponsored-by: Catalyst IT, New Zealand
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit 428f6d5b17007da312250a5502c748c1f237fb2d)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
9 months agoBug 26831: Add new system preference PurgeListShareInvitesOlderThan
Alex Buckley [Sun, 11 Sep 2022 23:17:01 +0000 (11:17 +1200)]
Bug 26831: Add new system preference PurgeListShareInvitesOlderThan

Sponsored-by: Catalyst IT, New Zealand
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit 2fbd03fdc70cba27818b7aa8304bcb10c696b294)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
9 months agoBug 35663: Reword default privacy option in opac-privacy.pl
Owen Leonard [Tue, 2 Jan 2024 13:50:54 +0000 (13:50 +0000)]
Bug 35663: Reword default privacy option in opac-privacy.pl

This patch updates the description of the OPAC privacy page, replacing:

"Default: keep my history according to local laws. This is the default
option : the library will keep your history for the duration permitted
by local laws."

...with:

"Default: keep my history according to library policy. This is the
default option : the library will keep your history for the duration set
by library policy."

This correctly reflects the fact that privacy is managed according to a
Koha cron configuration.

To test, apply the patch and make sure the OPACPrivacy and related
preferences are enabled.

- Log in to the OPAC and click the "Privacy" tab in the left-hand
  sidebar.
- Confirm that the description of the default privacy option is correct.

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit 8e8d4aaef71040a90b1052cc3970ff4ccb36a0ae)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
9 months agoBug 35379: Rename tx() parameter to ease translation
Tomas Cohen Arazi [Tue, 21 Nov 2023 18:08:16 +0000 (15:08 -0300)]
Bug 35379: Rename tx() parameter to ease translation

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>
(cherry picked from commit 71a881c4d6f7ed4a4f004dc08a34721cd801b763)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
9 months agoBug 35419: Update page title for bookings
Owen Leonard [Tue, 28 Nov 2023 17:40:54 +0000 (17:40 +0000)]
Bug 35419: Update page title for bookings

This patch updates the structure of the Bookings list page so that the
title can be better translated.

To test, apply the patch and locate a bibliographic record in the
staff interface catalog.

- View the detail page.
- If you don't see a "Place booking" button in the toolbar,
  click "Items" in the sidebar menu.
  - Locate the "Priority" heading, and change the "Bookable" setting to
    "Yes."
- Click the "Bookings" menu item in the left-hand sidebar.
- Check that the page title looks correct and consistent with
  breadcrumbs.

Signed-off-by: Barbara Johnson <barbara.johnson@bedfordtx.gov>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit 660b4fc218c93001e66507f7ac0ac81b3cca0bb2)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
9 months agoBug 34479: Update syntax for translatable string
Katrin Fischer [Tue, 16 Jan 2024 14:11:48 +0000 (14:11 +0000)]
Bug 34479: Update syntax for translatable string

Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit 63ec52160879b789e206d8bff533910d9b5abe91)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
9 months agoBug 34479: Fix string for translatability
Katrin Fischer [Tue, 16 Jan 2024 11:00:30 +0000 (11:00 +0000)]
Bug 34479: Fix string for translatability

When moved from .tt to .js we need to convert the single
underscore into a double underscore.

Also uses format() to better deal with the variable.

Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit 066e34956112c5e370ed804fbafd50fc29be0e34)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
9 months agoBug 34479: Move patron selection history to a re-useable file
Matt Blenkinsop [Mon, 27 Nov 2023 10:35:15 +0000 (10:35 +0000)]
Bug 34479: Move patron selection history to a re-useable file

This patch takes some of the functionality for maintaining patron selections and moves it to a new file that can be used in other template files. It also introduces a new method for determining whether to delete the history after an operation is complete, along with an .inc file containing the checkbox that manages this

Test plan:
1) Navigate to Patrons and run a search
2) Use the checkboxes to select some patrons and run the three different options in the menu bar: Add to patron list, Merge selected patrons, Batch patron modification.
3) For each operation, you should see a checkbox asking if you want to "Keep patrons selected for anew operation". N.B. For adding patrons to a list, you will only see this when selecting to add them to a new list
4) When you run the operations, if you select the checkbox to keep the patrons then when you return tho the patron search, those patrons should all be still selected.
5) If you don't check the box, when you return to the search, your patron selection history should be empty and no patrons should be selected
N.B. If you have run a merge operation and elected to keep the patron history, you will only keep the patron who was kept

Signed-off-by: Sharon Dugdale <sharon.dugdale@cumberland.gov.uk>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Michael Adamyk <madamyk@ckls.org>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit 21e2ee11fba6230b77e8b6376b0a903951170646)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
9 months agoBug 34479: Add new files to templates
Matt Blenkinsop [Mon, 27 Nov 2023 10:42:09 +0000 (10:42 +0000)]
Bug 34479: Add new files to templates

This patch adds two newly created files to the templates to allow the patron selection history to be wiped or persisted as appropriate

Test plan as per previous commit

Signed-off-by: Sharon Dugdale <sharon.dugdale@cumberland.gov.uk>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit 2de99d0b028fea2b78fed3a8cd9e44c207e92603)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
9 months agoUpdate release notes for 23.11.02 release v23.11.02
Fridolin Somers [Wed, 24 Jan 2024 09:25:22 +0000 (10:25 +0100)]
Update release notes for 23.11.02 release

Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
9 months agoIncrement version for 23.11.02 release
Fridolin Somers [Wed, 24 Jan 2024 09:16:07 +0000 (10:16 +0100)]
Increment version for 23.11.02 release

Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
9 months agoBug 34913: Fix Activate/Deactive filters with table_filters.js
David Cook [Thu, 2 Nov 2023 01:37:35 +0000 (01:37 +0000)]
Bug 34913: Fix Activate/Deactive filters with table_filters.js

This change prevents columnFilter from being called twice. If it's
called twice, it compromises the formatting of the filters.

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
(cherry picked from commit 5804de2463e924dd660b4dc84caaa394f111a139)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
9 months agoBug 34913: Adjust item search
Jonathan Druart [Tue, 24 Oct 2023 09:12:56 +0000 (11:12 +0200)]
Bug 34913: Adjust item search

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
(cherry picked from commit 25f4a5070aef0f3c3ca9d32ee93fc1ba36f36e64)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
9 months agoBug 34913: Upgrade dataTables.columFilters.js
Jonathan Druart [Thu, 26 Oct 2023 05:31:05 +0000 (07:31 +0200)]
Bug 34913: Upgrade dataTables.columFilters.js

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
(cherry picked from commit 5cb31b58a52143b41967f369bdd8ab2fb06183bd)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
9 months agoBug 34913: Adjust "Manage staged MARC records"
Jonathan Druart [Tue, 24 Oct 2023 08:32:07 +0000 (10:32 +0200)]
Bug 34913: Adjust "Manage staged MARC records"

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
(cherry picked from commit 3f0715ef0a73eea69258b807590419a9091619ad)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
9 months agoBug 34913: Adjust C4::Utils::DataTables::VirtualShelves
Jonathan Druart [Tue, 24 Oct 2023 08:20:39 +0000 (10:20 +0200)]
Bug 34913: Adjust C4::Utils::DataTables::VirtualShelves

And remove C4::Utils::DataTables, which should no longer be reused
anyway.

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
(cherry picked from commit 4a65c417f8bfeefe9299981b415f3fbfca5cb5a4)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
9 months agoBug 34913: (follow-up) Make sure default DataTables sorting style is always overridden
Owen Leonard [Fri, 20 Oct 2023 17:15:25 +0000 (17:15 +0000)]
Bug 34913: (follow-up) Make sure default DataTables sorting style is always overridden

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
(cherry picked from commit dbe91a59e8e884b12599ab381513bac8c3751283)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
9 months agoBug 34913: Move item groups table to kohaTable
Jonathan Druart [Fri, 20 Oct 2023 12:53:13 +0000 (14:53 +0200)]
Bug 34913: Move item groups table to kohaTable

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
(cherry picked from commit f9687f28c018075758364ffb3d859d2477defdae)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
9 months agoBug 34913: Fix a selenium test
Jonathan Druart [Tue, 3 Oct 2023 07:21:35 +0000 (09:21 +0200)]
Bug 34913: Fix a selenium test

t/db_dependent/selenium/administration_tasks.t ....... 3/3 Cannot show all entries from table //div[@id="libraries_wrapper"] at /kohadevbox/koha/t/lib/Selenium.pm line 247.

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
(cherry picked from commit 204a840a4d71c677d49378588f4ed529cdc83fea)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
9 months agoBug 34913: DataTables upgrade: Update CSS and option names
Owen Leonard [Thu, 28 Sep 2023 17:43:32 +0000 (17:43 +0000)]
Bug 34913: DataTables upgrade: Update CSS and option names

This patch makes two categories of changes:

1. CSS changes to accommodate changes in DataTables default CSS and
   markup structure. I've tried to make sure all of our Koha-specific
   styles are still applying.

   This change necessitates a rebuild of staff interface CSS.

2. DataTables option names: In this version of DataTables you can't
   override a default which uses CamelCase (e.g. "pagingType") with one
   in "Hungarian" notation, e.g. "sPaginationType." Since we define many
   default options in prog/js/datatables.js in camel case, any template
   which previously used a Hungarian notation option to override the
   default has now been updated to use the CamelCase version.

   See https://datatables.net/upgrade/1.10-convert#Options for a summary
   of the different option name changes.

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
(cherry picked from commit 60e3f1024ba485573e53488575afd605a364a8bb)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
9 months agoBug 34913: Upgrade staff interface DataTables from 1.10.18 to 1.13.6
Owen Leonard [Thu, 28 Sep 2023 13:46:34 +0000 (13:46 +0000)]
Bug 34913: Upgrade staff interface DataTables from 1.10.18 to 1.13.6

This patch replaces 1.10.18 DataTables assets in the staff interface
with 1.13.6 versions.

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
(cherry picked from commit 7e6221209cb83a2ad9d0c86e6a3b26a83b667ab0)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
9 months agoBug 34893: Unit tests for C4::Auth::checkpw
Tomas Cohen Arazi [Fri, 15 Dec 2023 13:54:11 +0000 (10:54 -0300)]
Bug 34893: Unit tests for C4::Auth::checkpw

This patch introduces some tests on the current (and new) behavior for
the `checkpw` function.

I needed it to better understand if an edge case was actually possible
(it wasn't).

Found a really minor annoyance for the internal check with expired
password not returning the $patron object for consistency with the other
use cases.

I think this method deserves (at least) changing the return value to a
sane data structure. But that's not target for backporting to stable
releases. So a separate bug.

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit 5476b18e7ea34e08d9dd163e2c446d5b223cf032)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
9 months agoBug 34893: (QA follow-up) Tidy code for qa script
Kyle M Hall [Fri, 1 Dec 2023 11:29:19 +0000 (06:29 -0500)]
Bug 34893: (QA follow-up) Tidy code for qa script

Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit a19a1d2079e562d62d766aa9f996a7586d73882d)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
9 months agoBug 34893: Add checkpw change to REST API
David Cook [Tue, 28 Nov 2023 22:57:39 +0000 (22:57 +0000)]
Bug 34893: Add checkpw change to REST API

This patch adds the checkpw return value change to the REST API
route for validating user identifiers and password.

Test plan:
0. Apply patch
1. prove t/db_dependent/api/v1/password_validation.t

Bonus points:
1. koha-plack --reload kohadev
2. Enable syspref RESTBasicAuth
3. curl -XPOST -H "Content-Type: application/json" \
-u <staff_userid>:<staff_password> \
-d '{"identifier":"<cardnumber>","password":"<password>"}' \
http://localhost:8081/api/v1/auth/password/validation
4. Validation doesn't fail. It gives you cardnumber, patron_id, userid

Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit fc1ea85ed024a9789827a1c17376bfc18f19cef0)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
9 months agoBug 34893: ILS-DI can return the wrong patron for AuthenticatePatron
Kyle M Hall [Fri, 22 Sep 2023 18:20:59 +0000 (14:20 -0400)]
Bug 34893: ILS-DI can return the wrong patron for AuthenticatePatron

Imagine we have a set of users. Some of those users have a NULL userid. We then call AuthenticatePatron from ILS-DI for a patron with a NULL userid, but a valid cardnumber. We call checkpw, which returns the cardnumber and userid. We then call Koha::Patrons->find on the userid *which is null*, meaning the borrowernumber returned is not the correct one, but instead the earliest patron inserted into the database that has a NULL userid.

Test Plan:
1) Give three patrons a userid and a password
2) From the database cli, set all patrons's userid to null
   Run this query: update borrowers set userid = null;
3) Call AuthenticatePatron with username being the 1st patron cardnumber,
   and password being the password you set for that patron
   http://localhost:8080/cgi-bin/koha/ilsdi.pl?service=AuthenticatePatron&username=kohacard&password=koha
4) Note you get back a borrowernumber for a different patron. Refresh the page and the number is correct.
5) Do the same with the 2nd patron. Same issue at 1st and correct number after.
6) Apply this patch
7) Restart all the things!
8) Do the same with the 3rd patron.
9) Note you get the correct borrowernumber! :D
10) prove t/Auth.t t/db_dependent/Auth_with_ldap.t t/Auth_with_shibboleth.t t/db_dependent/Auth_with_cas.t

Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit 9ba199c2acc33873154c167e73e86a5e786084cb)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
9 months agoBug 34893: Add unit tests
Kyle M Hall [Wed, 29 Nov 2023 17:18:32 +0000 (17:18 +0000)]
Bug 34893: Add unit tests

Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit 29782174570a331c1b9f1ac8196ce06364f8f691)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
9 months agoBug 35687: DBRev 23.11.01.003
Katrin Fischer [Fri, 26 Jan 2024 13:16:01 +0000 (13:16 +0000)]
Bug 35687: DBRev 23.11.01.003

Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit ff2318865e56a8d4fe8aff937b6308403d8eeb22)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
9 months agoBug 35687: Upgrade to 23.06.00.013 may fail
Kyle M Hall [Wed, 3 Jan 2024 14:07:49 +0000 (14:07 +0000)]
Bug 35687: Upgrade to 23.06.00.013 may fail

There are reports that this update triggers the error Cannot change column 'itemnumber': used in a foreign key constraint 'tmp_holdsqueue_ibfk_1'

Test Plan:
1) Upgrade to post 23.06.00.013
2) Note the failure
3) Apply this patch set
4) Run updatedatabase.pl
5) Update should succeed!

Signed-off-by: Emily Lamancusa <emily.lamancusa@montgomerycountymd.gov>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit a644f41a924ba40254f6c7ef073d33c7eb7d383b)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
9 months agoBug 35687: Fix db rev for 23.06.00.013
Kyle M Hall [Wed, 3 Jan 2024 14:31:59 +0000 (09:31 -0500)]
Bug 35687: Fix db rev for 23.06.00.013

Signed-off-by: Emily Lamancusa <emily.lamancusa@montgomerycountymd.gov>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit aadb6172352c7e1dcdbfd6607d2ca9d3da4af090)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
9 months agoBug 35474: Add icon for protected patrons
Owen Leonard [Mon, 4 Dec 2023 14:21:08 +0000 (14:21 +0000)]
Bug 35474: Add icon for protected patrons

This patch adds a "protected" icon (fa-lock) to the patron information
in the sidebar of patron-related pages in the staff interface.

To test, apply the patch and perform a patron search in the staff
interface.

- Edit a patron and go to the "Library management" section.
- Set "Protected" to "Yes."
- Save the record and view the information in the sidebar. You should
  see the lock icon by the patron's name.

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit 272056791fdb10a6ca1b4fe1aad4933a385ead03)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
9 months agoBug 35341: Improve processing hard due date and auto renewal date
Marcel de Rooy [Fri, 17 Nov 2023 10:18:01 +0000 (10:18 +0000)]
Bug 35341: Improve processing hard due date and auto renewal date

After quite a struggle, came up with this approach using
flatpickr's parseDate and setDate. Seems to be the best.
The dateformat variable is set in calendar.inc.

Test plan:
Test edit, save, clear rules, focus on both dates.
Toggle all I18N preference date formats.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Bug 35341: Do not reinstantiate flatpickr

We do not need to reinstantiate flatpickr, we need to retrieve the
existing instance.

Test plan:
See previous patch.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
12-01-2024 Squashed both patches. Removed the unused hidden inputs for
hardduedatecompare and added a data attribute for the duedate.
The check with is_valid_date seems no longer needed here. Normally
date is empty or valid. A js warning from parseDate should be
exceptional. Made code for both dates a bit more consistent.

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit 963a3a47155cf313d25af6ba10781f4e7922f4dc)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
9 months agoBug 35322: (QA follow-up) Perltidy
Emily Lamancusa [Thu, 11 Jan 2024 20:43:49 +0000 (15:43 -0500)]
Bug 35322: (QA follow-up) Perltidy

Signed-off-by: Emily Lamancusa <emily.lamancusa@montgomerycountymd.gov>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit 9e168686cc7de610275c51c161d02b3bc307a9bd)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
9 months agoBug 35322: Add unit tests
Kyle M Hall [Wed, 29 Nov 2023 14:33:55 +0000 (09:33 -0500)]
Bug 35322: Add unit tests

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Emily Lamancusa <emily.lamancusa@montgomerycountymd.gov>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit 77f045e9a5b9068a335a71bf2de9b4852783a446)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
9 months agoBug 35322: Fix the logic for checking for holds in CanBookBeIssued
Kyle M Hall [Mon, 13 Nov 2023 15:37:43 +0000 (10:37 -0500)]
Bug 35322: Fix the logic for checking for holds in CanBookBeIssued

We are having reports that AllowItemsOnHoldCheckoutSCO and AllowItemsOnHoldCheckoutSIP no longer work. It appreas that in CanBookBeIssued, the ignore reserves check was changed from "check reserves unless the ignore reserves flag was passed" to "check reserves unless the ignore reserves flag was passed *and* we have a recall". I think this was a logic mistake and we want to check reserves unless we have an ignore flag *or* there is a recall.

Test Plan:
1) Enable AllowItemsOnHoldCheckoutSCO
2) Place a hold on an item
3) Attempt to check that item out to another patron
4) Note the checkout is blocked
5) Apply this patch
6) Restart all the things!
7) Attempt the checkout again
8) The checkout now succeeds!

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Emily Lamancusa <emily.lamancusa@montgomerycountymd.gov>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit 9b10f69ee318c6fe3fa1ffb6de82c0f9888cac71)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
9 months agoBug 35651: Add check to make sure user has advanced_editor permission
Lucas Gass [Wed, 27 Dec 2023 17:52:57 +0000 (17:52 +0000)]
Bug 35651: Add check to make sure user has advanced_editor permission

To test:
1. Turn on the system preference 'EnableAdvancedCatalogingEditor'.
2. Set up a staff user with permissions to editcatlouge but make sure "Use the advanced cataloging editor (requires edit_catalogue)" if OFF.
3. Log in as that patron.
4. Go to a record or create a new one in the basic editor and see the toggle advanced editor button.
5. Try toggling it and you are logged out.
6. APPLY PATCH
7. Try 3 & 4 again, this time there should be no toggle button.
8. Log in as a patron who does havbe the "Use the advanced cataloging editor (requires edit_catalogue)" permission on. They should be able to toggle between editors.

Signed-off-by: Kelly <kelly@bywatersolutions.com>
Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit 8f13f74e39a93314abc814735b6fcd1504e49373)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
9 months agoBug 34950: Add availability statuses for in transit and on hold items.
Laura Escamilla [Tue, 19 Dec 2023 18:31:54 +0000 (18:31 +0000)]
Bug 34950: Add availability statuses for in transit and on hold items.

To test:
1. Enable the ILS-DI system preference.
2. Place a hold for a patron and put it in transit.
   Place another hold for a patron that is available for pickup at the local branch.
   And then select an item that is available for checkout but don’t change the status for it.
3. Go to your testing OPAC and make an ILS-DI “Get Availability” call using
   the item ids of the three items you worked with in step 2.
   (i.e. http://localhost:8080/cgi-bin/koha/ilsdi.pl?service=GetAvailability&id=321+323+214&id_type=item)
4. Notice that the availability status for all three items is showing as available.
   The item in transit and the item with a local hold should have a status
   of not available and a message of why they are not available.
5. Apply the patch
6. Use restart_all.
7. Refresh the page and notice that the statuses are now correct.
   The item in transit has a status of not available and an availability
   message of “In transit”.
   The item with the local hold has an availability status of not
   available with an availability message of “On hold”.
   Finally the available item is correctly showing up as available.
8. Sign off and have a wonderful day. :)

Signed-off-by: Brendan Lawlor <blawlor@clamsnet.org>
Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit 122f29cd8f4d1067e8ccaf64ecb0f13cc7b85d9a)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
9 months agoBug 35510: Non-patron guarantor missing from CollapseFieldsPatronAddForm options
Owen Leonard [Wed, 6 Dec 2023 17:25:39 +0000 (17:25 +0000)]
Bug 35510: Non-patron guarantor missing from CollapseFieldsPatronAddForm options

This patch adds a missing option to the CollapseFieldsPatronAddForm
system preference so that the "Non-patron guarantor" section can be
collapsed by default.

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

- Search for CollapseFieldsPatronAddForm.
- In the dropdown of options you should see an entry for "Non-patron
  guarantor."
- Click "Select all" and save your changes.
- Go to Patrons -> New patron and choose a patron category which can
  have a guarantor (for example J - Juvenile)
- The patron entry page should load with all sections collapsed,
  including the Non-patron guarantor section.
- Uncheck  all options in the CollapseFieldsPatronAddForm
  preference and return to the patron entry form. All sections should
  now appear.

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit e97dac3cbe43c7a8c2d5b340b29354bf112f3a36)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
9 months agoBug 35641: Reduce DB lookups when sending a list of barcodes to inventory
Nick Clemens [Fri, 22 Dec 2023 13:35:06 +0000 (13:35 +0000)]
Bug 35641: Reduce DB lookups when sending a list of barcodes to inventory

This patch does three things:
1 - Removes a specific query for withdrawn status of each item scanned - we can use the withdrawn field
2 - Removes a specific query for checkouts on each item scanned - we can use the onloan field
    a - additionally we don't need to fetch the checkout as we check it in to the homebranch,
    this is likely incorrect - we should use the current branch, but I preserve behavior for now
3 - Fetches the items ahead of time and builds a hash based on barcode, reduces DB lookups, may raise memory usage

To test:
1 - Checkout some items
2 - Withdraw some items
3 - Generate a lsit of barcodes including some checked out items and some withdrawn items
4 - Enter that list of barcodes into inventory tool
5 - Note your results
6 - Apply patch
7 - Issue the items again
8 - Repeat inventory
9 - Confirm results are the same as before patch

Signed-off-by: Andrew Fuerste-Henry <andrewfh@dubcolib.org>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit 5ae5e4367b96cd5685c40197f391ca3c4063c407)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
9 months agoBug 35676: Fix DidYouMean when not configured
Jonathan Druart [Fri, 12 Jan 2024 12:46:50 +0000 (13:46 +0100)]
Bug 35676: Fix DidYouMean when not configured

When DidYouMean is not configured, there is the following message
displayed:
  "Not what you expected? Check for suggestions"
suggestions is a link to svc/suggestion which does not return content if
the feature is displayed
 90 unless ( @plugins ) {
 91     print $query->header;
 92     exit;
 93 }

We should not see this text, it is supposed to be replaced when the ft
is enabled.

However
  commit 79bf4485c1b2ae8059e2ee15ea1e67bba9961c34
  Bug 34866: Use template wrapper for breadcrumbs: OPAC part 4
made this change:
-                    [% IF ( DidYouMean ) %]
+                    [% #IF ( DidYouMean ) %]
                         <div id="didyoumean">Not what you expected? Check for <a href="/cgi-bin/koha/svc/suggestion?render=standalone&amp;q=[% querystring | uri %]">suggestions</a></div>
-                    [% END %]
+                    [% #END %]

Which is obviously wrong.

Test plan:
Do not have the ft configured and launch a search (OPAC) that will not
return any results.
=> Without this patch there is the message
=> With this patch applied it is no longer displayed

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit ae8c96f387997b70b32809f30dedb44d0e170711)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
9 months agoBug 35772: Remove double escaping
Jonathan Druart [Thu, 11 Jan 2024 11:20:55 +0000 (11:20 +0000)]
Bug 35772: Remove double escaping

Patch as proposed by Jonathan in a comment on bug 29002

If a patron has HTML character in surname or firstname, Select2 will escapeHtml twice.

To test:
* Edit a patron, set firstname: <span>test</span>
* Place booking, search for test
* It shows correctly in the result, but when you select it you will see "&lt;", etc.
* Apply patch
* Verify the display is now corrected.

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit 96681cfa07de61ca28b9e0f1d572e1ee03f5a655)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
9 months agoBug 25691: (follow-up) Update control file with wiki link
Katrin Fischer [Sat, 6 Jan 2024 19:29:06 +0000 (19:29 +0000)]
Bug 25691: (follow-up) Update control file with wiki link

This is in case it's needed anyway (see comment on previous patch)

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>
(cherry picked from commit 328c5dcdfab66bc6833347796ab292b2c58e57f8)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
9 months agoBug 25691: Replace link to non-existing README with wiki link
Katrin Fischer [Sat, 6 Jan 2024 19:24:33 +0000 (19:24 +0000)]
Bug 25691: Replace link to non-existing README with wiki link

This doesn't update the occurrence in the control file
as it says in control.in:

To test:
* Verify all occurrences of the README file have been updated. Exceptions:
  * control (see above)
  * changelog

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>
(cherry picked from commit 0a49f71e8f0bad53dbdfd48bfc2beddbff89a6cc)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
9 months agoBug 35438: Remove skip_intermediate_commit parameter
Kyle M Hall [Fri, 1 Dec 2023 11:53:21 +0000 (06:53 -0500)]
Bug 35438: Remove skip_intermediate_commit parameter

It no longer does anything.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit 067034f9e0585738df564a555194c76cb5b082be)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
9 months agoBug 35438: Transact each record import separately
Kyle M Hall [Thu, 30 Nov 2023 17:10:41 +0000 (12:10 -0500)]
Bug 35438: Transact each record import separately

When importing a staged file we commit every 50 records
For an authority import we are also merging, which can affect many more biblios, and these all end up in the transaction.
This can cause tables locks and issues across Koha

Test Plan:
1) Apply this patch
2) prove t/db_dependent/ImportBatch.t

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit 74bbb89e9941aab7bf3f946d663d0d66b9df4021)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
9 months agoBug 32477: Fix hiding all columns in item batch mod tools
Emmi Takkinen [Fri, 22 Dec 2023 11:05:37 +0000 (13:05 +0200)]
Bug 32477: Fix hiding all columns in item batch mod tools

If one hides all columns in batch item modification tool
and then reloads the page or launches tool again, "Holds"
column isn't displayed and "Itemtype" column is. Also
"Itemtype" columns checkbox remains checked. This happens
because "Itemtype" columns id is out of scope of list of column
numbers set in cookies. This patch adds 3 to number of columns
in variable "allColums" to take account all 3 columns we don't
want to hide.

To test:
1. Find items to modify and modify them with batch item
modification tool.
2. Use "Hide all columns" checkbox to hide all columns.
3. Confirm all columns expect checkbox, "Title" and "Holds"
columns are hidden correctly.
4. Reload the page.
=> Note that "Holds" column is now hidden and "Itemtype"
column is displayed. Also "Itemtype" checkbox is checked.
5. Apply this patch.
6. Repeat steps 1 to 4.
=> "Holds" column should now be displayed and "Itemtype"
hidden. None of the checkbox should be checked.

Sponsored-by: Koha-Suomi Oy
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>
(cherry picked from commit deed5233b785be05f6e30ec9077b252edd2c6d35)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
9 months agoBug 32477: Launch function hideColumns after changing datatables settings
Emmi Takkinen [Thu, 23 Nov 2023 11:15:57 +0000 (13:15 +0200)]
Bug 32477: Launch function hideColumns after changing datatables settings

Hiding columns in batch item modification breaks if page is
loaded again. If one hides e.g. column "Collection" and then loads
the page column "Holds" disappears. Also behaviour of checbox
changes for "Collection" column. This happens because we launch
function "hideColumns" before changing datatables settings and
"hidden" column with class "sorting_1" is still present.

To test:
1. Find items to modify and modify them with batch item
modification tool.
2. In modification page, hide column "Collection". Confirm
correct column is hidden.
3. Reload the page or modify items again.
=> Note that column "Holds" is now hidden and checking checkbox
for column "Collection" behaves incorrectly (unchecked checkbox
shows column, checked hides it)
4. Apply this patch.
5. Repeat steps 1, 2 and 3.
=> Confirm correct column is now hidden when page is loaded again
and checkbox works correctly.

Sponsored-by: Koha-Suomi Oy
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>
(cherry picked from commit 71a7aa1cdce3a3d52dbb421c3ca5d3cf58fcd9c0)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
9 months agoBug 35702: Fetch biblios at once and loop
Nick Clemens [Thu, 4 Jan 2024 14:07:11 +0000 (14:07 +0000)]
Bug 35702: Fetch biblios at once and loop

Test plan:
prove -v t/db_dependent/Authority/Merge.t

Signed-off-by: David Nind <david@davidnind.com>
Amended-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Replace $biblio->id with $biblio->biblionumber

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit 1847e2ab565243a9e8fcaf8ddbfe48136041e61b)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
9 months agoBug 35702: Use framework code from biblio object
Nick Clemens [Thu, 4 Jan 2024 14:03:45 +0000 (14:03 +0000)]
Bug 35702: Use framework code from biblio object

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>
(cherry picked from commit c703bb2c1cdefa85843a1c04ff659f49cbe30497)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
9 months agoBug 35086: (follow-up) Use 5000 as example in conf file
Nick Clemens [Fri, 5 Jan 2024 13:03:36 +0000 (13:03 +0000)]
Bug 35086: (follow-up) Use 5000 as example in conf file

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit ed23bc1364ef0d80cfcd9df4e9dd38b009d52827)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
9 months agoBug 35086: Tidy tests
Nick Clemens [Thu, 4 Jan 2024 12:55:03 +0000 (12:55 +0000)]
Bug 35086: Tidy tests

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>
(cherry picked from commit ddbd00de72ac11f7a0cf8fccd9d720e84d85f4ea)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
9 months agoBug 35086: Also split chunks when indexing from background job
Nick Clemens [Wed, 3 Jan 2024 18:54:25 +0000 (18:54 +0000)]
Bug 35086: Also split chunks when indexing from background job

The es background indexer is designed to combine background jobs when started based on the 'batch_size' option.

While this is helpful for combining individual updates, it can be problematic when there are several large batch modifications, or when worker has stopped and is restarted.

This patch uses the same logic as in the indexer to split the chunks that are sent directly for indexing.

To test:
1 - Follow test plan on previous patch
2 - Confirm items are correctly indexed and jobs marked

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>
(cherry picked from commit 7496a603cda7832bcf1bdb606843bd88f18af4f3)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
9 months agoBug 35086: Add chunk_size option to elasticsearch configuration
Nick Clemens [Fri, 22 Dec 2023 20:11:34 +0000 (20:11 +0000)]
Bug 35086: Add chunk_size option to elasticsearch configuration

Whne performing batch operations we can send a large numebr of records for reindexing at once.
Currently this can create requetss that are too large for Elasticsearch to process. We need
to break these requests into chunks/

This patch adds a chunk_size configuration to the elasticsearch stanza in koha-conf.xml

If blank we default to 5000.

To test:
0 - Have Koha using Elasticsearch
1 - Create and download a report of all barcodes:
    SELECT barcode FROM items
2 - Batch modify these items
3 - Note a single ESindexing job is created
4 - Create and download a report of all authority ids:
    SELECT auth_header.authid FROM auth_header
5 - Setup a marc modification template, and batch modify all the authorities
6 - Again note a single ES backgorund job is created
7 - Apply patch
8 - Repeat the modifications above - you still get a single job
9 - Edit koha-conf.xml and add <chunk_size>250</chunk_size> to elasticsearch stanza
10 - Repeat modifications - you now get several background ES jobs
11 - prove -v t/db_dependent/Koha/SearchEngine/Elasticsearch/Indexer.t

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>
(cherry picked from commit 9951e230e43d08dc6a2fb635877d0db5c1e245ff)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
9 months agoBug 34999: Add unit test
Marcel de Rooy [Thu, 11 Jan 2024 10:09:57 +0000 (10:09 +0000)]
Bug 34999: Add unit test

Test plan:
Run t/db_dependent/api/v1/auth.t
[Bonus] Run prove t/db_dependent/api/v1

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit b8d9cce6645b913c57410a855986b76c84d2346b)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
9 months agoBug 34999: Throw exception for public routes if OPACMaintenance is enabled
Marcel de Rooy [Fri, 24 Nov 2023 10:50:54 +0000 (10:50 +0000)]
Bug 34999: Throw exception for public routes if OPACMaintenance is enabled

Test plan:
[1] Try public endpoint like /api/v1/public/biblios/X/items.
    * Replace X by an existing biblionumber.
    You should receive a 200.
[2] Enable OPACMaintenance. Set to Show.
[3] Try same endpoint. You should get a 503 with a json error.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit 1fc82dd827ad298bead46583ada08c549afe8d8e)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
9 months agoBug 35756: Correctly serialize patron's data in patron search popup/modal
Jonathan Druart [Wed, 10 Jan 2024 08:36:43 +0000 (09:36 +0100)]
Bug 35756: Correctly serialize patron's data in patron search popup/modal

We are incorrectly using encodeURIComponent in patron-search.inc.
When a new patron is selected, the info message is showing "Patron %s is already in the list"
or "Patron %s added". If the patron has space in their name, they will be substituted with %20.

We are using JSON for select, we can reuse it for add.

Test plan:
Have a patron with spaces in their name
Add users to a fund
Notice that the name is correctly displayed.

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>
(cherry picked from commit 6779e64d955f6e90e05eba19fd4d7d3606ae15ec)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
9 months agoBug 35475: Improve concatenated string and fix error in JS file
Katrin Fischer [Sat, 23 Dec 2023 16:19:45 +0000 (16:19 +0000)]
Bug 35475: Improve concatenated string and fix error in JS file

Fixes 2 problems noted in comment#2 and comment#3 on the bug
report.

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit f0e7260a29ec2768b442490921d74b8ee267f15c)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
9 months agoBug 35475: Makes strings in booking JS file translatable
Katrin Fischer [Sun, 10 Dec 2023 16:56:29 +0000 (16:56 +0000)]
Bug 35475: Makes strings in booking JS file translatable

This makes several strings in the booking specific JS file
translatable.

To test:
* Make an item bookable:
  * Find a record with items in your catalog or create one
  * From the details page, switch to the items tab
  * Mark items as bookable
* Add a booking, verify the modal works as expected
* Check the bookings tab
* Verify the column headings of the bookings table show correctly
* Verify the "Biblio level" and "Item" in the calendar show
  Note: Months don't translate, this will be a separate bug
* Cancel a booking, edit a booking... make sure everything works
  as expected
* If you can: Install a translation and verify strings show up
  in po files as expected

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit 573d2a3ba86aa0e805975a4d224d341b775eaebd)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
9 months agoBug 35759: (bug 30708 follow-up) Generated dist file not installed for preservation...
Jonathan Druart [Wed, 10 Jan 2024 14:01:45 +0000 (15:01 +0100)]
Bug 35759: (bug 30708 follow-up) Generated dist file not installed for preservation module

It's missing from the Makefile.PL!

Same as erm.js when need to install it.

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit bd9e3145d7188867db9bf31bdf6ab980c0f01c70)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>