koha.git
5 months agoBug 30287: (follow-up) Unit test for html_content
Martin Renvoize [Wed, 8 Nov 2023 09:38:18 +0000 (09:38 +0000)]
Bug 30287: (follow-up) Unit test for html_content

This patch adds a unit test for the new `html_content` method introduced
to Koha::Notice::Template in the previous patch.

Test
1) Run the new unit test ;P

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 c260f4a374c3e3fcb335e997842ffb2fa1bd444a)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
5 months agoBug 30287: (follow-up) Add content wrap matching send time
Martin Renvoize [Mon, 6 Nov 2023 14:00:21 +0000 (14:00 +0000)]
Bug 30287: (follow-up) Add content wrap matching send time

This patch adds a new method to the Koha::Notice::Message class to wrap
content in the same way we currently do at email send time. We then
update the notice preview to use this method so we're embedding
NoticeCSS into that iframe. This means the generated preview should now
exactly match how your notice will display in email clients including
any CSS you may have placed within NoticeCSS.

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Fixed typo in POD of html_content

Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit a09986ea51eb0104b006fac40d1dc7e2f6cdeeab)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
5 months agoBug 30287: Conditionally render notice preview
Martin Renvoize [Mon, 6 Nov 2023 12:50:05 +0000 (12:50 +0000)]
Bug 30287: Conditionally render notice preview

This patch adds conditional formatting based on whether the notice was
generated from an HTML template or a plaintext one. We simply drop the
'html_line_break' filter for the case where the notice should already be
html formatted.

I was tempted to replace the html_line_break for plaintext formatted
notices too as I believe this closer resembles how we actually output
such generated notices.. but I decided that should be for another bug.

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 f83b9ab1ffc7e703804bdc52f30e1994984180b9)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
5 months agoBug 35309: Remove DT's fnSetFilteringDelay
Jonathan Druart [Wed, 15 Nov 2023 10:44:37 +0000 (11:44 +0100)]
Bug 35309: Remove DT's fnSetFilteringDelay

On bug 35284 we added the delay on the column filters using dt's
throttle builtin function.

From doc:
https://datatables.net/plug-ins/api/fnSetFilteringDelay
"""
Please note that this plug-in has been deprecated and the dt-init searchDelay option in DataTables 1.10 should now be used. This plug-in will not operate with v1.10+.

Test plan:
Note that column filtering still work as before (test on different
tables, see bug 35284 for the list)

Signed-off-by: Lucas Gass <lucas@bywatersolutions.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 8bb8282d6868b458237fe2b0638dc810c116077b)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
5 months agoBug 35216: Rename error to issuingimpossible
Nick Clemens [Wed, 1 Nov 2023 15:39:30 +0000 (15:39 +0000)]
Bug 35216: Rename error to issuingimpossible

Test plan:
1 - Apply two patches
2 - Confirm code changes make sense
3 - Confirm you can check out items
4 - Confirm checkout blocks still block

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 9e789a74c00af8d068be668fc445e0205e38c64c)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
5 months agoBug 35216: Rename question to needsconfirmation
Nick Clemens [Wed, 1 Nov 2023 15:37:54 +0000 (15:37 +0000)]
Bug 35216: Rename question to needsconfirmation

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 971b2aefd2fac15fc168bc17d7b0482fc5163e84)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
5 months agoBug 35405: Remove noise from MARC::Record in SearchAuthorities
Marcel de Rooy [Mon, 27 Nov 2023 15:12:41 +0000 (16:12 +0100)]
Bug 35405: Remove noise from MARC::Record in SearchAuthorities

We are calling ->field with an undef parameter.
MARC::Record does not like that and says:
  Use of uninitialized value $tag in hash element at /usr/share/perl5/MARC/Record.pm line 202.
For now, a fix at our side.

Test plan:
Run SearchAuthorities without passing an authtypecode.
Without this patch, it results in a warning per hit.
With this patch, the noise should be gone.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit ac02c1d2adc883cc6ff6b749c271cb165d337436)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
5 months agoBug 35204: Prevent an expired password from throwing a 500 error
Matt Blenkinsop [Wed, 6 Dec 2023 10:03:45 +0000 (10:03 +0000)]
Bug 35204: Prevent an expired password from throwing a 500 error

Currently when a patron with an expired password is authenticated via the API a 500 error is returned rather than a 400 "Validation failed" error. This patch catches the return value for an expired password and returns the validation failure before the patron search is attempted.

Test plan:
1) Choose a patron and set their password expiry date to a date in the past
2) Send a request to auth/password/validation as an authenticated user with that patron's details
3) The response should be a 500 error
4) Apply patch
5) Repeat steps 1-3 and this time the response should be a 400 code with an error message of  "Password expired"

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit f3bb88505245228d97a4e39612b17a688df64a79)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
5 months agoBug 35204: Add unit tests
Matt Blenkinsop [Mon, 18 Dec 2023 11:00:06 +0000 (11:00 +0000)]
Bug 35204: Add unit tests

prove t/db_dependent/api/v1/password_validation.t

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit 711f9a041a706ed3f025afd6da0259879396ea58)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
5 months agoBug 35489: Add a hidden input for itemnumber even if item has no barcode
Nick Clemens [Tue, 5 Dec 2023 15:47:23 +0000 (15:47 +0000)]
Bug 35489: Add a hidden input for itemnumber even if item has no barcode

This page is a single form, all fields must have inputs to avoid data loss/mismatch

To test:
1 - Find a record in the catalog and add or edit items to have one item with a barcode and one without
2 - Place an item level hold on the item with no barcode
3 - Place another hold for a different patron on the item with a barcode
4 - From the holds table add an expiration date to the hold with a barcode and save
5 - Note the hold on the item with no barcode is now on the item with a barcode and the other hold is now a next available hold
6 - Delete the holds
7 - Apply patch
8 - Repeat 2-4
9 - Confirm the itemnumbers for the holds have not changed

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 b78be9bddb817c1dcc0aab81b5ecb8680b36f241)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
5 months agoBug 35574: Tidy
Nick Clemens [Fri, 15 Dec 2023 12:22:53 +0000 (12:22 +0000)]
Bug 35574: Tidy

Signed-off-by: Nick Clemens <nick@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 90cdeeac134ccc6ff0fd1b61deda14d75a02fe15)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
5 months agoBug 35574: Don't show the link either
Martin Renvoize [Fri, 15 Dec 2023 11:11:56 +0000 (11:11 +0000)]
Bug 35574: Don't show the link either

This patch adds the check for permission to the biblio menu item too.

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Nick Clemens <nick@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 b33a20255af2d074b7e9a9edd7f65ab2c69ad006)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
5 months agoBug 35574: Add unit tests for api change
Martin Renvoize [Fri, 15 Dec 2023 11:05:42 +0000 (11:05 +0000)]
Bug 35574: Add unit tests for api change

We add the corresponding unit tests for the biblio/bookings endpoint to
ensure no regressions in the future.

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Nick Clemens <nick@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 8bffe42f6be72504a68bc06c0a5f8e42a4e0aed3)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
5 months agoBug 35574: Correct api permission for listing biblio specific bookings
Nick Clemens [Thu, 14 Dec 2023 17:43:17 +0000 (17:43 +0000)]
Bug 35574: Correct api permission for listing biblio specific bookings

To test:
1 - Follow above plan and apply only first patch
2 - Not the table does not load (403: Forbidden)
3 - Apply this patch
4 - Reload
5 - Success!

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Nick Clemens <nick@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 73eb73e3e69ec95bb2b923c36bdf78ef6263d701)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
5 months agoBug 35574: Bookings tab from biblio details should only require manage_bookings permi...
Nick Clemens [Thu, 14 Dec 2023 17:10:35 +0000 (17:10 +0000)]
Bug 35574: Bookings tab from biblio details should only require manage_bookings permission

TO test:
1 - Find or create a staff user
2 - Grant permissions:
    circulate: manage_bookings, circ_remaining_permissions
    catalogue
3 - Open a record details, go to items tab, mark an item as bookable
4 - Sign out and sign in as the patron above (or use a private window to sign in)
5 - Place a booking on the record located above
6 - Success
7 - Try to view the bookings tab
8 - Fail, you don't have permission
9 - Apply patch
10 - Success!

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Nick Clemens <nick@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 87c1f304d6c236778d7675d6bf1619b4ce23a5a8)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
5 months agoBug 35413: DBRev 23.11.01.001
Katrin Fischer [Mon, 18 Dec 2023 13:38:37 +0000 (13:38 +0000)]
Bug 35413: DBRev 23.11.01.001

Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit f2a5118189642cecf551765e7e51e2133a0cf77c)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
5 months agoBug 35413: DB update
Tomas Cohen Arazi [Mon, 18 Dec 2023 13:05:39 +0000 (10:05 -0300)]
Bug 35413: DB update

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit cfa077652cc70c9775cbbb354654e110b1024460)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
5 months agoBug 35413: Terminology: Manage issues (issue_manage)
Owen Leonard [Tue, 28 Nov 2023 14:58:04 +0000 (14:58 +0000)]
Bug 35413: Terminology: Manage issues (issue_manage)

This patch updates several files which use the term "issues" without
context, changing them to "Vendor issues." Unchanged is the vendor
issues page template, vendor_issues.tt, which is updated in Bug 35417.

To test, apply the patch and go to Acquisitions.

- Search for a vendor and view the details.
- You should see a "Vendor issues" link in the sidebar.
- Go to Patrons and search for a patron. View the patron's details.
- Click More -> Set permissions.
- Under Acquisitions management you should see "Manage vendor issues
  (issue_manage)"

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit b6c71bea4e0a92523f881151c5fbe556eee7eab8)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
5 months agoBug 35528: Remove 'click' from links in system preferences
Katrin Fischer [Sun, 10 Dec 2023 14:55:20 +0000 (14:55 +0000)]
Bug 35528: Remove 'click' from links in system preferences

It's not necessary to label a link with 'click', it being
a link and being formatted as such is enough.

This updates the occurences in the sytem preferences editor.

To test:
* Go to system preferences like OpacUserCSS that allow editing
  in a textarea
* Verify link descrptions for editing and collapsing the area
* For a section of grouped system preferences, hover over the
  arrow and verify the text for collapsing/uncollapsing the area
* Apply patch, restart all
* Verify the links and tool tips have been updated

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit 26447c5a68928bb31388437df6859d7c083ae21e)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
5 months agoBug 35526: Fix terminology and spelling for ERM data providers
Katrin Fischer [Sun, 10 Dec 2023 14:00:04 +0000 (14:00 +0000)]
Bug 35526: Fix terminology and spelling for ERM data providers

This makes several changes on the form for adding a data provider
and on the data provider details page:

* Enable ERMModule system preference
* Go to the ERM module, add a new data provider
  * Look at the labels on the form
  * Save and check the labels on the summary tab
* Apply patch, run: yarn build
  * Verify fixes
    ...Id => ID
    ...sushi => SUSHI
    ...counter => COUNTER
    ...Report Release => Report release
    ...

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit 6f511d88501f26fd28da8d2083e2a16ccd6b33f4)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
5 months agoBug 35525: Fix spelling of SMS in aria-labels for messaging in OPAC
Katrin Fischer [Sun, 10 Dec 2023 13:41:46 +0000 (13:41 +0000)]
Bug 35525: Fix spelling of SMS in aria-labels for messaging in OPAC

Updates sms to SMS.

* Set SMSSendDriver system preference to Email
* Go to the OPAC patron account, messaging tab
* Check some SMS check boxes and save
* Verify that in the source code the aria-label for the
  checked and unchecked checkboxes reads: sms messaging
* Verify that in the source code for the 'days in advance'
  pull down, the message reads "... receive notice"
* Apply patch, restart all
* Verify that the source code for the checked and unchecked
  the aria-label now reads "Select/Unselect SMS messaging"
* Verify that the aria-label on the 'days in advance' pull
  down now reads 'receive the message'

Also fixes a mismatched itiva message.
Repeat test plan with TalkingTechItivaPhoneNotification Enabled
and the phone checkboxes.

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit 22644182aae76c55bba96016d3adc254cfe0d1ba)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
5 months agoBug 35524: Fix terminology in basket group CSV export
Katrin Fischer [Sun, 10 Dec 2023 13:29:29 +0000 (13:29 +0000)]
Bug 35524: Fix terminology in basket group CSV export

Bookseller should be vendor to match our preferred terminology.

To test:
* Run:
  prove t/db_dependent/Acquisition/GetBasketGroupAsCSV.t
* Add a basket with at least one order line
* Close basket and add to a basket group
* Close the basket group
* Export as CSV
* Verify headers include "Bookseller"
* Apply patch, restart all
* Repeat export, it should now say "Vendor"
* Rerun tests

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit 826a6cbdb9757b4fa486c5daa354f60a4c17d8b7)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
5 months agoBug 35523: Fix doubled up quotes in cash register title
Katrin Fischer [Sun, 10 Dec 2023 13:21:29 +0000 (13:21 +0000)]
Bug 35523: Fix doubled up quotes in cash register title

Updates ''{cash_register}'' to '{cash_register}'

To test:
I believe this is not actually testable, as cash registers
can only be archived and not deleted?

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit d534bad99e92cd903ece796a8a0e56ade1042ba9)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
5 months agoBug 35476: Make 'Submit' translatable in TrainsFormAddItem.vue
Tomas Cohen Arazi [Fri, 15 Dec 2023 20:58:25 +0000 (17:58 -0300)]
Bug 35476: Make 'Submit' translatable in TrainsFormAddItem.vue

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit d07f20a5a764aef875f9dda45dc76dc68f6adf22)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
5 months agoBug 35476: Make 'Submit' buttons translatable in vue components
Jonathan Druart [Mon, 4 Dec 2023 14:22:11 +0000 (15:22 +0100)]
Bug 35476: Make 'Submit' buttons translatable in vue components

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit fe6e020861eb3599a58c30ee37784fd5e8937068)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
5 months agoBug 18139: Specify 'all item types' and 'all patron categories' in template
Kyle M Hall [Tue, 12 Dec 2023 11:55:04 +0000 (06:55 -0500)]
Bug 18139: Specify 'all item types' and 'all patron categories' in template

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit c129b3aea233f9820ce4428d645cf7d4aa9c8fc9)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
5 months agoBug 18139: Tidy code
Kyle M Hall [Tue, 12 Dec 2023 11:57:42 +0000 (06:57 -0500)]
Bug 18139: Tidy code

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit e62e1be32375be9bcabf1cd3a2d444cab125f01d)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
5 months agoBug 18139: Add/update unit tests
Kyle M Hall [Tue, 28 Nov 2023 17:24:53 +0000 (12:24 -0500)]
Bug 18139: Add/update unit tests

Signed-off-by: Eric Gosselin <eric.gosselin@inlibro.com>
Signed-off-by: Marc VĂ©ron <veron@veron.ch>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit 9eb8d69ca154fa2d3234645e8f0e9f3f1d19c7dd)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
5 months agoBug 18139: Display the rule critera used to determin the checkout limits to the template
Kyle M Hall [Tue, 28 Nov 2023 14:57:55 +0000 (14:57 +0000)]
Bug 18139: Display the rule critera used to determin the checkout limits to the template

The too many checked out message can be very confusing for librarians
when the limit specified is more or less than the number of checkouts
the patron already has. We should make it clear to the librarian that
his is only counting certain types of checkouts by giving them the
issuing rule criteria used.

Test Plan:
1) Apply this patch
2) Try to check out more items than the circ rules allow for
   regular and on-site checkouts

Signed-off-by: Eric Gosselin <eric.gosselin@inlibro.com>
Signed-off-by: Marc VĂ©ron <veron@veron.ch>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit 8a9ddc1b1ca2f63e9129e1381493b60a18db2cce)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
5 months agoBug 35507: Add verbose parameters in Koha::Plugins
Marcel de Rooy [Fri, 15 Dec 2023 08:31:33 +0000 (08:31 +0000)]
Bug 35507: Add verbose parameters in Koha::Plugins

Yet another approach ;)
Driemaal is scheepsrecht / Third time lucky..

Test plan:
Run prove $(git grep -l Koha::Plugin | grep -P "^t\/db")

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit d59bf322e9eb41b38ea35bf0e1a1955177c31cb3)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
5 months agoBug 35507: Plugins.t - Mock SessionStorage, remove KitchenSink
Marcel de Rooy [Tue, 12 Dec 2023 14:07:49 +0000 (14:07 +0000)]
Bug 35507: Plugins.t - Mock SessionStorage, remove KitchenSink

Removing the CGI::Session behavior to auto-commit by mocking
SessionStorage makes that the $plugin->test_template does no
longer commit.

Since KitchenSink includes a CREATE TABLE, removing that code
removes the second implicit commit. We might move that code
to its own script?

Adds a missing rollback too at the end.

Test plan:
Run prove t/db_dependent/Koha/Plugins/Plugins.t
Verify that no records got added to plugin_data/methods table.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Kyle M Hall <kyle@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 dc62d9bed5799b9583bbc1ed59ea37972d7fe472)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
5 months agoBug 35496: (QA follow-up): tidy up code
Victor Grousset/tuxayo [Wed, 13 Dec 2023 15:38:09 +0000 (16:38 +0100)]
Bug 35496: (QA follow-up): tidy up code

Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit 5d0732252ab3e0ed854dce800018c01ccbad89c2)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
5 months agoBug 35496: Open article requests tab by default on opac-user.pl after placing an...
Lucas Gass [Tue, 5 Dec 2023 18:04:47 +0000 (18:04 +0000)]
Bug 35496: Open article requests tab by default on opac-user.pl after placing an article request

To test:
1 - Turn on ArticleRequests
2 - Place an  Article Requests on the opac
3 - Note after placing the request the URL is:
    http://localhost:8080/cgi-bin/koha/opac-user.pl#opac-user-article-requests
4 - Note the article request tab is not active
5 - APPLY PATCH and restart_all
6. Try steps 2 - 4 again, this time the article request tab should be open by default.

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 33ba9c270173703181e4c7f6e03656eea29c0b27)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
5 months agoBug 35495: Open holds tab by default on opac-user.pl after cancelling a hold
Lucas Gass [Tue, 5 Dec 2023 17:47:50 +0000 (17:47 +0000)]
Bug 35495: Open holds tab by default on opac-user.pl after cancelling a hold

To test:
1 - Go to the opac-user.pl page for a user with some holds and cancel a hold.
2 - Note after placing the hold the URL is:
    http://localhost:8080/cgi-bin/koha/opac-user.pl?#opac-user-holds
3 - Note the holds tab is not active
4. APPLY PATCH and restart all
5. Now after cancelling a hold, the refreshed page should have an active hold tab.

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 cc9e40869af83f1eff4f54577a48050f628c9a5c)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
5 months agoBug 35492: Open holds tab by default on opac-user.pl after suspending a hold
Lucas Gass [Tue, 5 Dec 2023 16:50:37 +0000 (16:50 +0000)]
Bug 35492: Open holds tab by default on opac-user.pl after suspending a hold

To recreate:
1. Go to the opac-user.pl page for a user with some holds and suspend
   a hold.
2. Note after placing the hold the URL is:
   http://localhost:8080/cgi-bin/koha/opac-user.pl?#opac-user-holds
3  Note the holds tab is not active
4. APPLY PATCH and restart all
5. Now after suspending a hold, the refreshed page should have an active
   hold tab.

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit 9076f0ba3d11875028e87fae314ae993c196cb2a)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
5 months agoBug 35488: Open holds tab by default on opac-user.pl after placing a hold
Lucas Gass [Tue, 5 Dec 2023 16:40:15 +0000 (16:40 +0000)]
Bug 35488: Open holds tab by default on opac-user.pl after placing a hold

1 - Place a hold on the opac
2 - Note after placing the hold the URL is:
    http://localhost:8080/cgi-bin/koha/opac-user.pl?#opac-user-holds
3 - Note the holds tab is not active
4 - APPLY PATCH and restart_all
5 - Try steps 1 - 3 again, this time the holds tab should be opened.

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit d8bd46d0d7dcc80ece69f3c8f869ec7113401d65)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
5 months agoBug 35468: (follow-up) Fix for older DateTimes
Martin Renvoize [Fri, 15 Dec 2023 11:27:35 +0000 (11:27 +0000)]
Bug 35468: (follow-up) Fix for older DateTimes

We can't use the rfc3339 method from DateTime itself as older Debians
don't ship with a recent enough version.

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit 0ac0f58185442939483aa7feed84642f39d011fb)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
5 months agoBug 35468: (follow-up) Test only the specific permission needed
Nick Clemens [Tue, 12 Dec 2023 16:52:14 +0000 (16:52 +0000)]
Bug 35468: (follow-up) Test only the specific permission needed

The tests were granting circulation top-level permissions - we should be able to
perform the actions with only 'manage_bookings'. This patch updates the tests to
use the narrower permission.

Signed-off-by: Nick Clemens <nick@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 a2005cd32c99f92d5eb2d25b181f7be79f50b90c)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
5 months agoBug 35468: (follow-up) Fix QA complaints
Nick Clemens [Tue, 12 Dec 2023 16:37:49 +0000 (16:37 +0000)]
Bug 35468: (follow-up) Fix QA complaints

Tidyness
Use dt_from_string, not DateTime->now
Add exec flag

Signed-off-by: Nick Clemens <nick@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 68ff5edb1284bf73b7f7d5014401bae9442e4340)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
5 months agoBug 35468: Unit tests
Martin Renvoize [Tue, 12 Dec 2023 14:53:09 +0000 (14:53 +0000)]
Bug 35468: Unit tests

This patch adds all the 'basic' unit tests one would expect to find with
the api endpoints.  I've been working on this as a follow-up to bug
29002 as promised, but hadn't yet submitted them as I wanted to get the
full coverage.. but having these basics in early makes sense whilst I
continue on the more advanced cases.

Signed-off-by: Nick Clemens <nick@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 8ed228ed9e53d7616f9b2b58961d4828a3e7e8a2)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
5 months agoBug 35468: Correct api bookings permission
Martin Renvoize [Tue, 12 Dec 2023 13:10:29 +0000 (13:10 +0000)]
Bug 35468: Correct api bookings permission

At some point during development we migrated from 'parameters' to
'circulate' for the manage_bookings sub-permission. Unfortunately, the
corresponsing API definition missed the update.

Signed-off-by: Nick Clemens <nick@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 21f341c1e0faaaabdde3908765dabb339c5f64df)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
5 months agoBug 35556: Fix random selenium failure if category on second page
Jonathan Druart [Tue, 12 Dec 2023 15:14:34 +0000 (16:14 +0100)]
Bug 35556: Fix random selenium failure if category on second page

If 'Test category' if on the second page the test will fail to
locate the Edit button.

To make sure it is displayed on the screen we are selecting "All" in the
dropdown list.

This is done a couple of lines later in the script for the same purpose.

Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit 6f45fd45742b1fcea65bb7f626eadfedcbaeb941)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
5 months agoBug 35428: Remove temporary files for gulp po tasks
Jonathan Druart [Wed, 29 Nov 2023 09:02:50 +0000 (10:02 +0100)]
Bug 35428: Remove temporary files for gulp po tasks

gulp po:update will generate 1 /tmp/koha-* directory per task.

We need to remove them when the script does not longer need them.

Test plan:
0. Do not apply this patch
1. ls -ltr /tmp
2. gulp po:update --lang es-ES
3. ls -ltr /tmp
=> Notice new koha-* directories
Repeat 2, 3
4. Apply this patch and try again
=> No new directories when the job is done

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 ba7b62d1fc171f346176cd454f86747fea7928f6)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
5 months agoBug 35498: Allow tab to indent lines and trigger autocomplete
Matt Blenkinsop [Wed, 6 Dec 2023 15:13:20 +0000 (15:13 +0000)]
Bug 35498: Allow tab to indent lines and trigger autocomplete

This patch allows the tab key to indent lines as well as trigger autocomplete.

Test plan:
1) Apply patch, navigate to reports and create a new SQL report
2) Click in the text editor and press tab, it should indent and then trigger the autocomplete options
3) Type something to select from the autocomplete box and press tab - it should autocomplete that option
4) Type any word and then press space. Now press tab and it should indent again

Signed-off-by: Andrew Fuerste-Henry <andrewfh@dubcolib.org>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit f9b3866ebfa78b39dcf6aac6ef4c0e1a5679f7f9)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
5 months agoBug 35310: Show current renewal value of the currently active check out
Pedro Amorim [Fri, 10 Nov 2023 11:31:28 +0000 (11:31 +0000)]
Bug 35310: Show current renewal value of the currently active check out

Test plan, with the previous 2 patches applied:

1) Checkout an item to Koha user, barcode 39999000003192
2) Renew that barcode
3) Visit the items page of the biblio record, click on 'View' in front of 'Current renewals'
/cgi-bin/koha/catalogue/moredetail.pl?biblionumber=76
4) Notice it shows the renewals as expected
5) Return the same item: 39999000003192
6) Repeat 1) to 3). Notice it shows 2 current renewals even tho only 1 corresponds to the currently active check out
7) Renew again. Notice it shows 3 current renewals even tho only 2 correspond to the currently active check out
7) Apply this patch. Notice it now only shows 2 current renewals

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit e756faf860c7475e2761e45f3ebc152c34a2d036)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
5 months agoBug 35310: Only show 'Current renewals' link if item is currently checked out
Pedro Amorim [Fri, 10 Nov 2023 11:01:58 +0000 (11:01 +0000)]
Bug 35310: Only show 'Current renewals' link if item is currently checked out

1) Checkout an item to Koha user, barcode 39999000003192
2) Renew that barcode
3) Visit the items page of the biblio record, click on "View" in front of "Current renewals"
/cgi-bin/koha/catalogue/moredetail.pl?biblionumber=76
4) Notice it shows the renewals as expected
5) Return the same item 39999000003192
6) Repeat 3). Notice it never loads renewals and network console shows HTTP error 400
7) Apply this patch. Repeat the test plan. Notice the 'Current renewals' no longer shows for the item because it is no longer checked out, so whatever past renewals are no longer 'current'

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit ebba646b46455d308cf9e8777bd9af92080156ae)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
5 months agoBug 35310: Only show 'Current renewals' <li> entry if there are current renewals
Pedro Amorim [Fri, 10 Nov 2023 11:00:55 +0000 (11:00 +0000)]
Bug 35310: Only show 'Current renewals' <li> entry if there are current renewals

'Current renewals' is always showing, even if empty.

Test plan:
1) Checkout an item to Koha user, barcode 39999000003192
2) Renew that barcode
3) Visit the items page of the biblio record, click on "View" in front of "Current renewals"
/cgi-bin/koha/catalogue/moredetail.pl?biblionumber=76
4) Notice all items have the 'Current renewals' label entry, but only the checked out item in step 1) has the 'Current renewals' label entry
5) Apply patch. Notice only the item with current renewals is showing the 'Current renewals' label entry with the respective value.

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit 942c4a0535dbbf46746e849758d7dfc741187bec)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
5 months agoFix release notes for 23.11.01
Fridolin Somers [Tue, 2 Jan 2024 10:34:43 +0000 (11:34 +0100)]
Fix release notes for 23.11.01

5 months agoUpdate release notes for 23.11.01 release v23.11.01
Fridolin Somers [Tue, 2 Jan 2024 10:21:13 +0000 (11:21 +0100)]
Update release notes for 23.11.01 release

Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
5 months agoIncrement version for 23.11.01 release
Fridolin Somers [Tue, 2 Jan 2024 10:01:10 +0000 (11:01 +0100)]
Increment version for 23.11.01 release

Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
6 months agoBug 35450: Preservation system preferences should authval dropdowns
Owen Leonard [Fri, 1 Dec 2023 16:34:28 +0000 (16:34 +0000)]
Bug 35450: Preservation system preferences should authval dropdowns

This patch updates two preservation module system preferences so that
they offer dropdowns of "Not for loan" values instead of requiring entry
of a specific code.

The patch also adds a missing "." at the end of one preference
description.

To test, apply the patch and restart services.

- Go to Administration -> System preferences.
- Search for "preservation"
- Check that the "PreservationNotForLoanDefaultTrainIn" and
  "PreservationNotForLoanWaitingListIn" preferences have dropdowns
  offering "Not for loan" values.
- Confirm that your choices are correctly saved.

Signed-off-by: Barbara Johnson <barbara.johnson@bedfordtx.gov>
Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit 20d0d94f22aeab3c71d22b6a99fbfa4421e1f40d)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
6 months agoBug 34398: (QA follow-up): add missing |
Victor Grousset/tuxayo [Fri, 8 Dec 2023 21:30:05 +0000 (22:30 +0100)]
Bug 34398: (QA follow-up): add missing |

Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit cd6753baeebbf5ac43b2e790c723cd6f9fea47c3)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
6 months agoBug 34398: Fix inconsistencies in Record matching rules page titles, breadcrumbs...
Owen Leonard [Tue, 3 Oct 2023 16:59:16 +0000 (16:59 +0000)]
Bug 34398: Fix inconsistencies in Record matching rules page titles, breadcrumbs, and headers

This patch fixes some inconsistencies in the record matching rules
administration page, making sure the page title, breadcrumb
navigation, and page headers are consistent with each other.

Some controls on this page have been updated to use Bootstrap link style
with Font Awesome icons added.

Test each page to confirm that page title, heading, and breadcrumbs are
consistent:

- Administration -> Record matching rules
  - New record matching rule
  - Edit record matching rule
  - Delete record matching rule
  - Test the process of adding new match points and new match checks,
    and removing match points and match checks.

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 6cce6f9e1c1c3cc7697da15793fe99453115bd66)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
6 months agoBug 35449: Accessibility: No links on "here"
Owen Leonard [Fri, 1 Dec 2023 16:46:47 +0000 (16:46 +0000)]
Bug 35449: Accessibility: No links on "here"

This patch updates two system preferences, "OPACUserJS" and
"OPACUserCSS" so that the "here" links in the description instead read
"library administration".

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

- Search for "opacuser"
- The descriptions of the "OPACUserJS" and "OPACUserCSS" preferences
  should include the phrase "...can be defined in library
  administration," with "library administration" leading to the correct
  page.

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 871cc4ad9447bc55228fb2ac83dfc0b3aa17941b)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
6 months agoBug 34091: Fix typo log-modules in help for cleanupdatabase.pl
Fridolin Somers [Fri, 1 Dec 2023 17:55:57 +0000 (07:55 -1000)]
Bug 34091: Fix typo log-modules in help for cleanupdatabase.pl

This parameter is actually --log-module.

Test plan :
Run misc/cronjobs/cleanup_database.pl -h
Confirm you see --log-module

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 289e06edea3284ddc5b61c57a4a62a657328c3f2)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
6 months agoBug 35436: Copy is not translatable in OPAC Search History
Adolfo RodrĂ­guez [Thu, 30 Nov 2023 10:12:13 +0000 (11:12 +0100)]
Bug 35436: Copy is not translatable in OPAC Search History

Test plan
1 Enter in OPAC Search History in a language other than English and
  check that Copy is not translated
2 Apply patch, restart services
3 Regenerate the templates for that language
4 Repeat step 1 and check that Copy appears now translated

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit e3f961777786b0ebae9fa76d50e8c40a4cb664e3)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
6 months agoBug 35460: Fix add and edit of hold rules in circulation rules table
Emmi Takkinen [Fri, 1 Dec 2023 13:08:48 +0000 (15:08 +0200)]
Bug 35460: Fix add and edit of hold rules in circulation rules table

Adding or editing following columns in circulation
rules table didn't work:
- Holds allowed (total)
- Holds allowed (daily)
- Holds per record (count)

At some point those columns were dropped from list of
saved columns in smart-rules.pl.

To test:
1. Create new rule or edit existing one.
2. Add or change values in following columns:
- Holds allowed (total)
- Holds allowed (daily)
- Holds per record (count
3. Save rule.
=> Note that columns have value "Unlimited" on them.
If you check database, columns haven't been saved.
4. Apply this patch.
5. Repeat steps 1. to 3.
=> Columns should now have values in them and they
are saved to database.

Sponsored-by: Koha-Suomi Oy
Signed-off-by: Emily Lamancusa <emily.lamancusa@montgomerycountymd.gov>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit ca27b5adb03eae30e425f096ef635a8fe4ce3b3f)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
6 months agoBug 35344: Warn on patron image upload if missing cardnumber
David Cook [Thu, 16 Nov 2023 05:08:30 +0000 (05:08 +0000)]
Bug 35344: Warn on patron image upload if missing cardnumber

This change displays a warning message instead of the patron image
upload feature in the patron record when the patron is missing the
cardnumber.

Without this change, the staff user can try to upload a patron image
but it will silently fail. This change warns the staff user of the
cardnumber requirement for patron image upload.

Test plan:
0. Apply the patch
1. Enable the "patronimages" system preference
2. Go to http://localhost:8081/cgi-bin/koha/members/moremember.pl?borrowernumber=51
3. Click "Add" over the patron image placeholder
4. Note the "Upload photo" button and the ability to take a patron photo if your
device has a camera
5. Remove "cardnumber" from BorrowerMandatoryField
6. Go to http://localhost:8081/cgi-bin/koha/circ/circulation.pl?borrowernumber=51
7. Edit the patron to remove the cardnumber
8. Click "Add" over the patron image placeholder
9. Note that no patron image upload features appear. Instead, only
a warning appears stating that the patron needs a cardnumber before
the patron image upload can be performed

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 855b8bc66e3bf1d012d0caeab938556eb520fd51)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
6 months agoBug 35425: Optimize UX when dragging a tag or subfield
Andrii Nugged [Thu, 16 Nov 2023 16:20:55 +0000 (18:20 +0200)]
Bug 35425: Optimize UX when dragging a tag or subfield

To reproduce:
1. Open any biblio and edit that record.
   (select "Edit record" from the "Edit" drop-down menu).
2. Check that selecting the text in any draggable block input/textarea
   fields with a mouse is not possible - it starts dragging instantly.
3. Apply the patch
4. Make sure that draging is activated only when you click
   on the "::" icon in front of the dragged item. And text selection
   works correctly.

Signed-off-by: Phil Ringnalda <phil@chetcolibrary.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 494ee7c68f1dc8437df0b53e55c35e758ccc3c27)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
6 months agoBug 35414: Silence warn related to number_of_copies
Magnus Enger [Wed, 29 Nov 2023 13:58:08 +0000 (14:58 +0100)]
Bug 35414: Silence warn related to number_of_copies

To test in ktd:
- Tail the logs with "sudo tail -f /var/log/koha/kohadev/plack*.log"
- Find a record in the staff client
- Add an item to the record
- Observe "[WARN] Argument "" isn't numeric in subroutine entry ..."
  in /var/log/koha/kohadev/plack-intranet-error.log
- Apply this patch
- restart_all
- Tail the logs again
- Add another item
- Observe the absence of the earlier warning

Thanks to Jonathan Druart for suggesting this particular solution!

Signed-off-by: Owen Leonard <oleonard@myacpl.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 8ba9ea8a87e0d6653261d90d743cd75328ad0b99)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
6 months agoBug 34516: Upgrade database fails for 22.11.07.003, points to web installer
Kevin Carnes [Mon, 27 Nov 2023 08:40:55 +0000 (09:40 +0100)]
Bug 34516: Upgrade database fails for 22.11.07.003, points to web installer

MySQL requires key length for indexes of text columns, while MariaDB
sets it automatically for utf8mb4.

Test plan:
1. Setup Koha to use MySQL (e.g. ku-my8)
2. Downgrade database with the following commands (e.g. koha-mysql
   kohadev):
   ALTER TABLE `biblioitems` MODIFY COLUMN `publishercode` varchar(255);
   ALTER TABLE `biblioitems` DROP INDEX `publishercode`;
   ALTER TABLE `biblioitems` ADD INDEX `publishercode` (`publishercode`);
   ALTER TABLE `deletedbiblioitems` MODIFY COLUMN `publishercode` varchar(255);
   ALTER TABLE `deletedbiblioitems` DROP INDEX `publishercode`;
   ALTER TABLE `deletedbiblioitems` ADD INDEX `publishercode` (`publishercode`);
   UPDATE systempreferences SET value="23.0600006" WHERE variable = "Version";
3. Attempt to upgrade the database (e.g. koha-upgrade-schema kohadev)
4. Notice the error about "key specification without a key length"
5. Apply patch
6. Attempt to upgrade the database (e.g. koha-upgrade-schema kohadev)
7. Notice that the database is upgraded
8. Sign off

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Emily Lamancusa <emily.lamancusa@montgomerycountymd.gov>
Perltidied the database update file.

Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit 4c6517767a86947361b81e0f718ec3833c5d5a33)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
6 months agoBug 35408: Fix import job link
Jonathan Druart [Tue, 28 Nov 2023 08:11:43 +0000 (09:11 +0100)]
Bug 35408: Fix import job link

After importing titles from a list there is a link to the background job
that is displayed.
This link points to /cgi-bin/koha/admin/background_jobs/:id
There is a route to this path in routes/erm.js, to redirect to the
correct URI /cgi-bin/koha/admin/background_jobs.pl?op=view&id=:id
However this link will not work if we are accessing it from outside the
ERM app/module, or if we are opening it in a new tab/window.

The idea was interesting, but does not work...

Test plan:
Create a new ERM local package, a new list (virtual shelf), add some
items to the list.
Go to E-resource management > eHoldings > Local > Titles > Import from a list
Click "import"
Notice the "see job" link and click it

=> Confirm that with this patch applied you can open it in a new tab
without getting a 404

Signed-off-by: Matt Blenkinsop <matt.blenkinsop@ptfs-europe.com>
Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit 09d5355ffb6381b531b5d42cc97b17c1e9790da4)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
6 months agoBug 33244: Do not show lists in OPAC if OpacPublic is disabled
Owen Leonard [Tue, 21 Nov 2023 14:37:16 +0000 (14:37 +0000)]
Bug 33244: Do not show lists in OPAC if OpacPublic is disabled

This patch updates markup and CSS in the OPAC header so that the Cart
and Lists controls don't appear when OpacPublic is disabled.

The patch also moves the "Your cookies" link into the group of links
with "Log in to your account" and "Search history." This makes the
template logic a little simpler and also seems like a more logical
grouping.

To test, apply the patch and enable the CookieContent system preference.

- View the OPAC with the OpacPublic system preference enabled.
- If necessary, click the "Accept all cookies" button.
- The "Your cookies" link should now appear in the header between the
  log-in link and the search history link.
- Test the page at various browser widths to confirm that the header
  still responds well to changes.
- Go back to system preferences in the staff client and change the
  OpacPublic system preference to "disabled."
- Return to the OPAC and refresh the page. You should be redirected to
  the login page, and the Cart and Lists buttons should no longer appear
  in the header.
- The links in the header for login and cookies should look correct at
  various browser widths.

Signed-off-by: David Cook <dcook@prosentient.com.au>
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 5249dc42b4c9d0908bff3a3db859dda141db5db4)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
6 months agoBug 35157: Remove spans from patronfields.inc
Lucas Gass [Wed, 1 Nov 2023 23:05:42 +0000 (23:05 +0000)]
Bug 35157: Remove spans from patronfields.inc

To test:
1. Run any page that contains the "Search patrons" search bar through an HTML validator and you will see a lot of:

        Stray start tag span.
        Stray end tag span.

2. Apply patch
3. Try step 1 again, no more errors from the HTML validator.
4. Make sure the patron searches still work when limiting by 'Search field'.

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 1faa3eb0e927f424d830fead5aa7552eb05e0aea)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
6 months agoBug 35352: Allow SMSalertnumber to be hidden via BorrowerUnwantedField
Lucas Gass [Thu, 16 Nov 2023 14:58:56 +0000 (14:58 +0000)]
Bug 35352: Allow SMSalertnumber to be hidden via BorrowerUnwantedField

To test:
1. Add a value to SMSSendDriver like 'Emial'.
2. Go to BorrowerUnwantedField and attempt to hide "Mobile phone number (smsalertnumber)"
3. Go to members/memberentry.pl and see the field is not hidden.
4. APPLY PATCH
5. Try step 3 again and this time the field should be properly hidden.

Note: This patch also includes some indentation changes.
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 6aa971be01987e041dcb55a71ad2f36e3f2c40d1)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
6 months agoBug 35383: Make subfields of repeated tags draggable
Slava Shishkin [Mon, 20 Nov 2023 16:32:51 +0000 (18:32 +0200)]
Bug 35383: Make subfields of repeated tags draggable

To reproduce:
1. Open any biblio and edit that record.
   (select "Edit record" from the "Edit" drop-down menu).
2. Repeat any tag that may be repeated and has more than one subfield
   (e.g. 050 or 082) (click "Repeat this tag")
3. Try dragging a subfield of the new repeated tag

Apply the patch and make sure dragging a subfield works well.

Signed-off-by: Phil Ringnalda <phil@chetcolibrary.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 e99037989bcc239d2bffeac2c47e74ea4564d24e)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
6 months agoBug 35410: Use "Online resources" label in search results
David Nind [Mon, 4 Dec 2023 03:23:03 +0000 (03:23 +0000)]
Bug 35410: Use "Online resources" label in search results

Update the staff interface and OPAC XSLT files to use
"Online resources" as the label in search results, instead of
"Online access". This matches the label used in the detail page
for a record.

Test plan:
1. Search for perl in the staff interface and OPAC (or add to
   an existing record a URL to 856$u with 4 for the first
   indicator).
2. For any search result that displays the "Online access" label,
   view the detail page for the record.
3. Note that the detail page uses the label "Online resources".
4. Apply the patch and restart_all.
5. Repeat steps 1 and 2.
6. Note that the search result pages now show "Online resources" for
   the label, matching the detail page.

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: David Cook <dcook@prosentient.com.au>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit 6c8ad081a610b6e6b9cdbd3fdd519a2ca4dce3a8)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
6 months agoBug 35453: Fix wrong 'Laserdisc)' string on 007 builder (MARC21)
Tomas Cohen Arazi [Thu, 30 Nov 2023 12:46:48 +0000 (09:46 -0300)]
Bug 35453: Fix wrong 'Laserdisc)' string on 007 builder (MARC21)

Steps to reproduce:
1. On cataloguing, open the 007 builder.
2. Choose material type 'Video recording'
3. On 04 choose g - Laserdisc
4. Click save
=> SUCCESS: 'g' correctly shows on the 007
5. Edit the 007 again
=> FAIL: on 04, 'g - Laserdisc)' is displayed
6. Apply this patch
7. Repeat 4 and 5
=> SUCCESS: no trailing ')'
8. Sign off :-D

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
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 f48ef52cfc786bd969ceb03a782b037a10d854d2)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
6 months agoBug 35415: Rephrase: Some patrons have requested a privacy ...
Owen Leonard [Tue, 28 Nov 2023 19:27:49 +0000 (19:27 +0000)]
Bug 35415: Rephrase: Some patrons have requested a privacy ...

This patch revises the wording of the warning which is displayed on the
'About' page when the 'OPACPrivacy' system preference is enabled but the
'AnonymousPatron' preference is empty. The new phrasing is hopefully
more clear.

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

- Search for 'AnonymousPatron' and enter a borrowernumber if necessary.
- Log in to the OPAC and click the 'Privacy' tab in the left-hand
  sidebar of the user summary page.
- Set your privacy rule to 'Never'.

- Return to Admnistration -> Sytem preferences in the staff interface.
- Search for 'OPACPrivacy' and set it to 'Allow'.
- Clear the borrowernumber from the 'AnonymousPatron' preference.
- Go to the 'About" page and open the 'System information' tab.
- You should see an error message at the bottom:

  "Some patrons have requested privacy after their items are checked in,
   but the AnonymousPatron preference is not set correctly. Set it to a
   valid borrower number or checkins for these patrons will fail."

Signed-off-by: Barbara Johnson <barbara.johnson@bedfordtx.gov>
Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit 3ac5c15da58261095dd8464b4bb41b804528925b)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
6 months agoBug 35404: Fix wrong copy and paste in string (ILL batches)
Tomas Cohen Arazi [Mon, 27 Nov 2023 13:24:29 +0000 (10:24 -0300)]
Bug 35404: Fix wrong copy and paste in string (ILL batches)

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Pedro Amorim <pedro.amorim@ptfs-europe.com>
Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit 7365d8723943aa7cf8a59fa5112c46d9e586bd8d)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
6 months agoBug 35412: Fix incorrect capitalization: Toggle Dropdown
Owen Leonard [Tue, 28 Nov 2023 14:04:52 +0000 (14:04 +0000)]
Bug 35412: Fix incorrect capitalization: Toggle Dropdown

This patch corrects incorrect capitalization in the last-borrower
include file. The string his hidden except to screen readers, so visual
confirmation isn't straightforward. Viewing the diff should be enough to
confirm this single character change.

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 cd6aebf849e0333ddc9b15204039e8641e2cc186)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
6 months agoBug 35376: Rephrase "be careful..."
Jonathan Druart [Tue, 28 Nov 2023 10:39:20 +0000 (11:39 +0100)]
Bug 35376: Rephrase "be careful..."

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 1984d8d5feec6de89d40b6fb6eb3d317f4aad869)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
6 months agoBug 35441: Fix typo 'UniqueItemsFields' system preference
Fridolin Somers [Wed, 29 Nov 2023 19:13:38 +0000 (09:13 -1000)]
Bug 35441: Fix typo 'UniqueItemsFields' system preference

Typo in message :
NOTE: Fields listed in the 'UniqueItemsFields' system preference will not be copied

The preference is Item without 's' : 'UniqueItemFields'

Test plan :
1) Check system preference 'UniqueItemFields' contains values
2) Go to acquisition to create a new order from new record
3) Check the note you see with the system preference

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit 08cc74a9b60d85fcdf5b3febfa5653111a16d9ac)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
6 months agoBug 35387: (follow-up) Capitalize 'barcode'
Tomas Cohen Arazi [Thu, 23 Nov 2023 11:30:25 +0000 (08:30 -0300)]
Bug 35387: (follow-up) Capitalize 'barcode'

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
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 d2048ed71b3c2f817a0a888346551c1b101dd510)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
6 months agoBug 35387: Fix capitalization of 'name' label in preservation module
Tomas Cohen Arazi [Wed, 22 Nov 2023 20:56:10 +0000 (17:56 -0300)]
Bug 35387: Fix capitalization of 'name' label in preservation module

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
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 1d89484faee3c717e1cb74f16270aaf1f57713c1)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
6 months agoBug 35378: 'This authority type is used {count} times' missing dot
Tomas Cohen Arazi [Tue, 21 Nov 2023 17:30:50 +0000 (14:30 -0300)]
Bug 35378: 'This authority type is used {count} times' missing dot

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 e3e3e0f684ac521e221398219eb7812d3fe81309)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
6 months agoBug 35327: Fix capitalization of language name
Lari Taskula [Mon, 13 Nov 2023 23:21:17 +0000 (23:21 +0000)]
Bug 35327: Fix capitalization of language name

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net>
Updated opac to OPAC.

Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit 8c309ea53d4422b53641a2b7fbd46310df7d9fb9)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
6 months agoKoha 23.11.00 is here! v23.11.00
Tomas Cohen Arazi [Thu, 30 Nov 2023 19:23:30 +0000 (16:23 -0300)]
Koha 23.11.00 is here!

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
6 months agoAdd release notes for 23.11.0
Tomas Cohen Arazi [Thu, 30 Nov 2023 19:17:58 +0000 (16:17 -0300)]
Add release notes for 23.11.0

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
6 months agoBug 34587: DBIC schema
Tomas Cohen Arazi [Thu, 30 Nov 2023 17:58:11 +0000 (14:58 -0300)]
Bug 34587: DBIC schema

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
6 months ago23.11.00: Update kohastructure.sql
Tomas Cohen Arazi [Thu, 30 Nov 2023 17:42:05 +0000 (14:42 -0300)]
23.11.00: Update kohastructure.sql

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
6 months ago23.11.00: Update history.txt
Tomas Cohen Arazi [Thu, 30 Nov 2023 17:28:20 +0000 (14:28 -0300)]
23.11.00: Update history.txt

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
6 months ago23.11.00: Update contributors.yaml
Tomas Cohen Arazi [Thu, 30 Nov 2023 17:19:20 +0000 (14:19 -0300)]
23.11.00: Update contributors.yaml

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
6 months ago23.11.00: Update mailmap
Tomas Cohen Arazi [Thu, 30 Nov 2023 17:18:20 +0000 (14:18 -0300)]
23.11.00: Update mailmap

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
6 months agoBug 34955: One Koha Manual
Aude Charillon [Thu, 30 Nov 2023 17:08:47 +0000 (14:08 -0300)]
Bug 34955: One Koha Manual

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
6 months agoBug 35418: Fix _get_usage_months
Pedro Amorim [Tue, 28 Nov 2023 13:24:49 +0000 (13:24 +0000)]
Bug 35418: Fix _get_usage_months

No longer falls in an endless loop if the last month in the report period is december.

Test plan:
1) Apply just the tests patch, run EUsage tests
prove t/db_dependent/Koha/ERM/EUsage/
2) Wait for a few seconds. Notice SushiCounter.t it hangs. CTRL+C (cancel it)
3) Apply the fix patch.
4) Run the tests again. Notice all EUsage tests pass with no issues.

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Andrew Auld <andrew.auld@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
6 months agoBug 35418: Add TR_B2 tests
Pedro Amorim [Tue, 28 Nov 2023 13:17:20 +0000 (13:17 +0000)]
Bug 35418: Add TR_B2 tests

This test file adds tests for the TR_B2 specific report.
But also tests for this specific bug, which only happens if
the report time period ends in december

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Andrew Auld <andrew.auld@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
6 months agoBug 35115: (QA follow-up):
Pedro Amorim [Fri, 10 Nov 2023 15:07:35 +0000 (15:07 +0000)]
Bug 35115: (QA follow-up):

Spelling.
Tidyness.
Removal of leftover warn

Nick's patch fixes the issue as described, and I agree that it is the ideal solution here.
prove t/db_dependent/api/v1/erm_eholdings* passes
prove t/db_dependent/Koha/BackgroundJob/CreateEHoldingsFromBiblios.t passes

Signed-off-by: Pedro Amorim <pedro.amorim@ptfs-europe.com>
Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
6 months agoBug 35115: Move store routine from Resource to Title and update code
Nick Clemens [Wed, 8 Nov 2023 18:36:29 +0000 (18:36 +0000)]
Bug 35115: Move store routine from Resource to Title and update code

These patches move the store routine from Koha::ERM::EHoldings::Resource to Koha::ERM::EHoldings::Title as the code deals exclusively with title fields.

It updates the code to ensure that records are created when a title is not attched to a biblio, and that only the biblio title field is updated when updating an eholdings title.

To test:
 1 - Enable ERMModule sys pref
 2 - Create a new public list, visit:
     /cgi-bin/koha/virtualshelves/shelves.pl
 3 - Click "New list" enter name, set public -> public
 4 - Click "Add items", enter 112\n113\n114 (new line for each), in "Biblio numbers"
 5 - Notice that all added biblios have quite a few MARC fields
 6 - Go to packages, visit:
     /cgi-bin/koha/erm/eholdings/local/packages
 7 - Create a new package, add a name and hit 'Submit'
 8 - Go to titles, visit:
     /cgi-bin/koha/erm/eholdings/local/titles
 9 - Click "import from list"
10 - Pick the package created in 7)
11 - On the row of the list created in 2), click "Import"
12 - Go back to the list, visit:
     /cgi-bin/koha/virtualshelves/shelves.pl?op=view&shelfnumber=1
13 - Notice all the biblios have been stripped of their MARC data, and only title remains.
14 - Go to details page for one of the bibs
15 - Edit -> Replace record via Z39.50
16 - You can search for anything, just make sure to import a mostly full record
17 - Go back to ERM - eHoldings - Local - Titles
18 - Edit the title for the record that was replaced
19 - Save
20 - Go to record details - note the record is gone again
21 - Apply patches
22 - Search the catalog
23 - Check some titles
24 - Add to a new list
25 - repeat 8 - 11 with the new list
26 - View and confirm records are intact
27 - Edit the eholdings title for one of the records, changing the title field
28 - Save and view record details
29 - Confirm record is intact and title updated

Signed-off-by: Pedro Amorim <pedro.amorim@ptfs-europe.com>
Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
6 months agoBug 35366: (bug 33948 follow-up) Fix display of old checkouts if no checkouts exist
Jonathan Druart [Fri, 24 Nov 2023 07:04:16 +0000 (08:04 +0100)]
Bug 35366: (bug 33948 follow-up) Fix display of old checkouts if no checkouts exist

Same patch as
  commit bee2b3d33ed6030b5a63d22148b9955a9897e51d
  Bug 33949: Fix display of old checkouts if no checkouts exist

But for the staff interface.

"""
If we pass an empty array from the perl controller, we retrieve an empty
string from the template, and the merge does not work.

This patch fixes the following bug:
Pick a patron without checkout history
Check them an item out and check it in
=> The table is empty, whereas it should display the item that has been
checked in.
"""

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
6 months agoBug 35291: (QA follow-up) Tidying script for QA test tools
Aleisha Amohia [Thu, 23 Nov 2023 21:08:09 +0000 (21:08 +0000)]
Bug 35291: (QA follow-up) Tidying script for QA test tools

Signed-off-by: Aleisha Amohia <aleishaamohia@hotmail.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
6 months agoBug 35291: Validate filepaths in linking files
David Cook [Thu, 9 Nov 2023 00:49:54 +0000 (00:49 +0000)]
Bug 35291: Validate filepaths in linking files

Validate that the files in linking files are contained within the ZIP.

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Aleisha Amohia <aleishaamohia@hotmail.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
6 months agoBug 35291: Don't allow symlinks for link files in cover image ZIP
David Cook [Thu, 9 Nov 2023 00:23:45 +0000 (00:23 +0000)]
Bug 35291: Don't allow symlinks for link files in cover image ZIP

There's no reason to allow symlinks for link files in cover image
ZIP files. Preventing their use prevents someone from uploading
a symlink pointing to an existing file on the Koha server.

Test plan:
0. Apply patch and restart/reload Koha
1. Create a PNG cover image
2. Create a datalink.txt file that contains something like the
following:
29,Untitled.PNG
3. Turn on "LocalCoverImages" system preference
4. Upload via http://localhost:8081/cgi-bin/koha/tools/upload-cover-image.pl
5. Go to http://localhost:8081/cgi-bin/koha/catalogue/detail.pl?biblionumber=29
6. Note the cover image has been uploaded

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Aleisha Amohia <aleishaamohia@hotmail.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
6 months agoBug 35291: Prevent leaks from FS
Jonathan Druart [Wed, 8 Nov 2023 16:14:55 +0000 (17:14 +0100)]
Bug 35291: Prevent leaks from FS

Signed-off-by: David Cook <dcook@prosentient.com.au>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Aleisha Amohia <aleishaamohia@hotmail.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
6 months agoBug 34287: Add check on public availability endpoint
Martin Renvoize [Tue, 12 Sep 2023 09:25:36 +0000 (10:25 +0100)]
Bug 34287: Add check on public availability endpoint

A quick check for patron equals current user in the public availability
endpoint.

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
6 months agoBug 34287: Amend unit test
Martin Renvoize [Wed, 20 Sep 2023 12:47:19 +0000 (13:47 +0100)]
Bug 34287: Amend unit test

This patch updates the unit test to confirm that checkout availability
should be restricted to the patron checking the availability options on
the public side.

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
6 months agoBug 35290: (follow-up) Perltidy formatting corrections
Owen Leonard [Thu, 9 Nov 2023 19:46:35 +0000 (19:46 +0000)]
Bug 35290: (follow-up) Perltidy formatting corrections

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
6 months agoBug 35290: Sanitize field input on cataloguing/ysearch.pl
David Cook [Wed, 8 Nov 2023 23:39:45 +0000 (23:39 +0000)]
Bug 35290: Sanitize field input on cataloguing/ysearch.pl

This change sanitizies the field input on cataloguing/ysearch.pl

Test plan:
0. Apply the patch and restart/reload Koha
1a. "Add marc21_field_260b.pl plugin to 260$b in the Default framework"
1b. Go to http://localhost:8081/cgi-bin/koha/admin/marc_subfields_structure.pl?
op=add_form&tagfield=260&frameworkcode=#subbfield
1c. Choose "marc21_field_260b.pl" from the dropdown next to "Plugin"
1d. Click "Save changes"
2a. "Add new record"
2b. Go to http://localhost:8081/cgi-bin/koha/cataloguing/addbiblio.pl?frameworkcode=
3. Click on tab "2" and scroll down to 260 "b"
4. Type in "Ori" into 260 subfield b
5. Some autocomplete suggestions should appear

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
6 months agoBug 35229: Fix DataProviders_spec.ts
Pedro Amorim [Wed, 15 Nov 2023 14:10:22 +0000 (13:10 -0100)]
Bug 35229: Fix DataProviders_spec.ts

The intercept was wrong:
Was intercepting GET instead of POST
Was intercepting /run route intead of /process_SUSHI_response (this naming was updated in the rest of the code but not here)

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
6 months agoBug 35229: Update cypress tests for usage reports
Matt Blenkinsop [Fri, 27 Oct 2023 16:25:27 +0000 (16:25 +0000)]
Bug 35229: Update cypress tests for usage reports

This patch adds some additional tests for usage reports to improve test coverage.
It also fixes a small error in the reports store - "platforms" v "platform". This was affecting which columns could be selected for platform reports

Test plan:
yarn cypress run
All tests should pass

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>