koha.git
13 months agoBug 33557: Add LinkerConsiderThesaurus system preference
Nick Clemens [Tue, 18 Apr 2023 13:13:12 +0000 (13:13 +0000)]
Bug 33557: Add LinkerConsiderThesaurus system preference

Bug 30280 added the ability to use multiple thesauri for authorities in Koha.
This is a large change, and many libraries use authorities in a ess strict manner.
This patch simply adds a preference, disabled by default, to enable this new feature

To test:
1 - Find or create a record with a 650 heading, second indicator 0 (LOC)
2 - Ensure this links to an authority in your system
3 - Disable AutoCreateAuthorities, enable CatalogModuleRelink
4 - Edit the heading to second indicator 2
5 - Save, the heading does not link
6 - Apply patch, updatedatabase, restart all
7 - Edit and save record again
8 - Heading should now link to the LOC authority, despite different second indicator value for source

Signed-off-by: Phil Ringnalda <phil@chetcolibrary.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit bf7389d6014eb0bb9a9bfcffe875940177f26a01)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
13 months agoBug 28328: DBRev 22.11.05.008
Tomas Cohen Arazi [Wed, 10 May 2023 17:49:37 +0000 (14:49 -0300)]
Bug 28328: DBRev 22.11.05.008

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit a487bb847a34b82ab3f24a19e9c036fd749cd626)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
13 months agoBug 28328: Adjust tests
Jonathan Druart [Wed, 3 May 2023 13:42:15 +0000 (15:42 +0200)]
Bug 28328: Adjust tests

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit 4e933cbc1184d4eb67953bd01859f1c31275604f)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
13 months agoBug 28328: DBIC schema changes
Jonathan Druart [Wed, 3 May 2023 13:41:51 +0000 (15:41 +0200)]
Bug 28328: DBIC schema changes

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit eb3505c7e8212633c0e37975f2d2ab3f17b37c3c)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
13 months agoBug 28328: Extend biblioitems.lccn to longtext
Jonathan Druart [Wed, 3 May 2023 13:33:11 +0000 (15:33 +0200)]
Bug 28328: Extend biblioitems.lccn to longtext

Same sa issn and isbn, we want lccn to allow longer values.

Test plan:
Run the updatedatabase script to modify the DB structure
restart_all
Edit a bibliographic record and enter a long (more than 25 chars) lccn
Save

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit a537e57909a71d99f035030c4ab095aa71bedf2b)
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
13 months agoBug 33064: Update cypress tests
Matt Blenkinsop [Tue, 18 Apr 2023 13:18:34 +0000 (13:18 +0000)]
Bug 33064: Update cypress tests

This patch amends Searchbar_spec.ts to account for the new licenses option

Test plan:
1) Run yarn cypress open
2) Select the Searchbar_spec.ts test
3) The test should pass

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit 5b3d848b2ea99059ac2c08f1661d338a2f20b672)
Signed-off-by: Matt Blenkinsop <matt.blenkinsop@ptfs-europe.com>
13 months agoBug 33064: Add a licenses option to the searchbar
Matt Blenkinsop [Tue, 18 Apr 2023 13:15:42 +0000 (13:15 +0000)]
Bug 33064: Add a licenses option to the searchbar

This patch adds a licenses option to the top searchbar

Test plan:
1) Apply patch
2) run yarn build
3) Navigate to the ERM module
4) Observe that the top search bar should have an option for licenses
5) Click on licenses in the left hand menu, the search bar should update to show licenses as the active search option

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit b17fbf849c74a693a0fa7fb05e6cba7b248043d8)
Signed-off-by: Matt Blenkinsop <matt.blenkinsop@ptfs-europe.com>
13 months agoBug 33355: Add missing counter number to related users in agreements and licenses...
Pedro Amorim [Wed, 29 Mar 2023 08:33:30 +0000 (08:33 +0000)]
Bug 33355: Add missing counter number to related users in agreements and licenses to be in line with other related content

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit ab3ce787a1b32ec4e692c074749bd71e19cafda0)
Signed-off-by: Matt Blenkinsop <matt.blenkinsop@ptfs-europe.com>
13 months agoBug 33355: Update forms markup to be in line with interface patterns
Pedro Amorim [Wed, 29 Mar 2023 08:27:51 +0000 (08:27 +0000)]
Bug 33355: Update forms markup to be in line with interface patterns

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

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit 715a3ec6359197a813cd62cddc190c7b989fa21d)
Signed-off-by: Matt Blenkinsop <matt.blenkinsop@ptfs-europe.com>
13 months agoBug 33355: Fix is_perpetual radio buttons in AgreementsFormAdd
Pedro Amorim [Tue, 28 Mar 2023 14:23:04 +0000 (14:23 +0000)]
Bug 33355: Fix is_perpetual radio buttons in AgreementsFormAdd

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit 43ff73c01dc07846e35681a9c206a238c3dde98e)
Signed-off-by: Matt Blenkinsop <matt.blenkinsop@ptfs-europe.com>
13 months agoBug 33490: Add test
Pedro Amorim [Fri, 21 Apr 2023 12:53:15 +0000 (12:53 +0000)]
Bug 33490: Add test

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit 80d73b87c45ddcfbb75c38a6e51506330da9ece7)
Signed-off-by: Matt Blenkinsop <matt.blenkinsop@ptfs-europe.com>
13 months agoBug 33490: Fix ambiguous query error
Pedro Amorim [Fri, 21 Apr 2023 11:48:55 +0000 (11:48 +0000)]
Bug 33490: Fix ambiguous query error

Doing actual testing with some agreements with expired periods, this was returning a 500 error

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit a94026741c771df0ecb1f36bdba0d24c2e43f6f9)
Signed-off-by: Matt Blenkinsop <matt.blenkinsop@ptfs-europe.com>
13 months agoBug 33490: Rollback computed
Pedro Amorim [Fri, 21 Apr 2023 11:42:05 +0000 (11:42 +0000)]
Bug 33490: Rollback computed

Use a watch instead

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit e52f8625531b65a291bde2bf940da1c8b6c91bd9)
Signed-off-by: Matt Blenkinsop <matt.blenkinsop@ptfs-europe.com>
13 months agoBug 33490: Use computed values
Jonathan Druart [Fri, 14 Apr 2023 10:05:44 +0000 (12:05 +0200)]
Bug 33490: Use computed values

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit e3576f67d92f80400b4163bd00e795577254f1ad)
Signed-off-by: Matt Blenkinsop <matt.blenkinsop@ptfs-europe.com>
13 months agoBug 33490: Improve max date handling
Jonathan Druart [Fri, 14 Apr 2023 09:09:33 +0000 (11:09 +0200)]
Bug 33490: Improve max date handling

It fixes:
1. /agreements?by_expired=true do no longer explode
2. Fill date with today's date when we setup the component and when we
hit "filter"

However there are a couple of things totally wrong:
1. We should not need is_fp_disabled, we could be able to use
  :disabled="!filters.by_expired"
in the template, but it does not work
2. We should not need to deal with filters.max_expiration_date the "old
JS way", but should use a Vue computed value instead. I've failed at
that

I think those 2 problems have the same root, the way we deal with
filters in data() is wrong, and we may be loosing the ref at some point.

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit e3286c4b0b82ef976f75fb3892d609d71ac7b74d)
Signed-off-by: Matt Blenkinsop <matt.blenkinsop@ptfs-europe.com>
13 months agoBug 33490: Make url consistent
Martin Renvoize [Thu, 13 Apr 2023 17:12:13 +0000 (18:12 +0100)]
Bug 33490: Make url consistent

This ensures we populate the max_expiration_date param on the browser
url for consistency with selected dates.

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit f9cb6b823e1e54008a79deb38bdd36c7f2105328)
Signed-off-by: Matt Blenkinsop <matt.blenkinsop@ptfs-europe.com>
13 months agoBug 33490: Prevent 400 on agreements?by_expired=true
Jonathan Druart [Wed, 12 Apr 2023 10:20:43 +0000 (12:20 +0200)]
Bug 33490: Prevent 400 on agreements?by_expired=true

We need to update the filter THEN update the current route

Signed-off-by: Pedro Amorim <pedro.amorim@ptfs-europe.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit 90ed8a26c5bdf7c67cfeeb517e08f3ed1b0624a7)
Signed-off-by: Matt Blenkinsop <matt.blenkinsop@ptfs-europe.com>
13 months agoBug 33490: Unit tests
Martin Renvoize [Thu, 13 Apr 2023 13:38:58 +0000 (14:38 +0100)]
Bug 33490: Unit tests

This patch adds cypress tests for the filter by expired functionality in
the ERM Agreements page.

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit 6f68b350ba24acbcd94179b6f005949a2f1f908f)
Signed-off-by: Matt Blenkinsop <matt.blenkinsop@ptfs-europe.com>
13 months agoBug 33623: Move ULSearchParams into http-client.js
Pedro Amorim [Fri, 28 Apr 2023 10:23:35 +0000 (10:23 +0000)]
Bug 33623: Move ULSearchParams into http-client.js

Remove unused getAll methods in erm-api-client.js
Make use of new getAll query in AgreementRelationships

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit b7feb64619e9b78cfc1f4f739790d7d264e4af2f)
Signed-off-by: Matt Blenkinsop <matt.blenkinsop@ptfs-europe.com>
13 months agoBug 33623: Encode URL params for getAll
Jonathan Druart [Thu, 27 Apr 2023 06:43:26 +0000 (08:43 +0200)]
Bug 33623: Encode URL params for getAll

We must encode properly URL parameters when building the REST API routes

Can be tested easily using
const client = APIClient.erm
client.licenses.getAll({ "me.name:%ff%" })

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit 2ec95963f6079fa9ab27bec070518527953f885e)
Signed-off-by: Matt Blenkinsop <matt.blenkinsop@ptfs-europe.com>
13 months agoBug 33408: Fix template literal
Pedro Amorim [Wed, 12 Apr 2023 16:30:39 +0000 (16:30 +0000)]
Bug 33408: Fix template literal

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit 3296cf37f462ee25c855d3f5d59dbd7fbb422121)
Signed-off-by: Matt Blenkinsop <matt.blenkinsop@ptfs-europe.com>
13 months agoBug 33408: Move providers into syspref array
Pedro Amorim [Wed, 12 Apr 2023 09:42:29 +0000 (09:42 +0000)]
Bug 33408: Move providers into syspref array

ERMProviders is a sys pref, place it in sysprefs

Signed-off-by: Pedro Amorim <pedro.amorim@ptfs-europe.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit 741ccb6e44304a32acceb3e68d2fd25c27c6b37f)
Signed-off-by: Matt Blenkinsop <matt.blenkinsop@ptfs-europe.com>
13 months agoBug 33408: Add storeToRefs to ERMStore
Pedro Amorim [Wed, 12 Apr 2023 08:36:18 +0000 (08:36 +0000)]
Bug 33408: Add storeToRefs to ERMStore

It makes it so that any changes to the local property
is also reflected in the store and other components are
made aware of the new value. No need to explicitly
change both local property and store property values.

Signed-off-by: Pedro Amorim <pedro.amorim@ptfs-europe.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit 1610a1d1633e7c398096e86a98239fd9171b5ea7)
Signed-off-by: Matt Blenkinsop <matt.blenkinsop@ptfs-europe.com>
13 months agoBug 33408: Store sysprefs in a new ERM store
Jonathan Druart [Fri, 7 Apr 2023 08:40:08 +0000 (10:40 +0200)]
Bug 33408: Store sysprefs in a new ERM store

We need the sysprefs' values to be shared between the components

Signed-off-by: Pedro Amorim <pedro.amorim@ptfs-europe.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit a94178217b73b46a6051c7551b0711966e88e045)
Signed-off-by: Matt Blenkinsop <matt.blenkinsop@ptfs-europe.com>
13 months agoBug 33408: We need only one this.loaded call
Jonathan Druart [Wed, 5 Apr 2023 12:27:03 +0000 (14:27 +0200)]
Bug 33408: We need only one this.loaded call

Signed-off-by: Pedro Amorim <pedro.amorim@ptfs-europe.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit b01094030ac145144eab384a6bba015d1916dfe9)
Signed-off-by: Matt Blenkinsop <matt.blenkinsop@ptfs-europe.com>
13 months agoBug 33408: Remove obsolete tests and template sys pref code
Pedro Amorim [Wed, 5 Apr 2023 11:43:52 +0000 (11:43 +0000)]
Bug 33408: Remove obsolete tests and template sys pref code

Signed-off-by: Pedro Amorim <pedro.amorim@ptfs-europe.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit 0f01c16ba1cf277a709c0a79aeea0f4b99c12353)
Signed-off-by: Matt Blenkinsop <matt.blenkinsop@ptfs-europe.com>
13 months agoBug 33408: Prevent access to erm module by URL if sys pref is disabled
Pedro Amorim [Wed, 5 Apr 2023 11:45:45 +0000 (11:45 +0000)]
Bug 33408: Prevent access to erm module by URL if sys pref is disabled

Signed-off-by: Pedro Amorim <pedro.amorim@ptfs-europe.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit 0efb53b3a2e4c9619d3b89af53c67397bad14b0f)
Signed-off-by: Matt Blenkinsop <matt.blenkinsop@ptfs-europe.com>
13 months agoBug 33408: Extend defaultCommandTimeout for cypress
Jonathan Druart [Wed, 5 Apr 2023 08:03:21 +0000 (10:03 +0200)]
Bug 33408: Extend defaultCommandTimeout for cypress

Sometimes the initial page load takes more than 4 seconds.

Signed-off-by: Pedro Amorim <pedro.amorim@ptfs-europe.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit c482119a4e6d12063e63b726d40c9ddcef0b787f)
Signed-off-by: Matt Blenkinsop <matt.blenkinsop@ptfs-europe.com>
13 months agoBug 33408: Mock ERM sysprefs from cypress tests
Jonathan Druart [Tue, 4 Apr 2023 15:02:12 +0000 (17:02 +0200)]
Bug 33408: Mock ERM sysprefs from cypress tests

Sponsored-by: BULAC - http://www.bulac.fr/
Signed-off-by: Pedro Amorim <pedro.amorim@ptfs-europe.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit 2579b95db9d0477060c91610e54b44d96cc8ea20)
Signed-off-by: Matt Blenkinsop <matt.blenkinsop@ptfs-europe.com>
13 months agoBug 33408: Fetch sysprefs from svc/config/systempreferences
Jonathan Druart [Tue, 4 Apr 2023 13:51:51 +0000 (15:51 +0200)]
Bug 33408: Fetch sysprefs from svc/config/systempreferences

It will be easier to mock/set them from cypress tests.

Sponsored-by: BULAC - http://www.bulac.fr/
Signed-off-by: Pedro Amorim <pedro.amorim@ptfs-europe.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit 9be7dab4a1ce4cc13de012c58023a363b21fbcb9)
Signed-off-by: Matt Blenkinsop <matt.blenkinsop@ptfs-europe.com>
13 months agoBug 33335: (QA follow-up) Polishing and comments
Marcel de Rooy [Fri, 12 May 2023 08:33:32 +0000 (08:33 +0000)]
Bug 33335: (QA follow-up) Polishing and comments

Just send the codes and descriptions only to client.
Adding a few comments to the reduce construction.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit 020bc275b05ac74bacf52325ac2933d56e78ce32)
Signed-off-by: Matt Blenkinsop <matt.blenkinsop@ptfs-europe.com>
13 months agoBug 33335: Use To.json to serialize
Jonathan Druart [Tue, 2 May 2023 14:26:45 +0000 (16:26 +0200)]
Bug 33335: Use To.json to serialize

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit 706cd01ba264ded1f0b237c74f90e511acf2de81)
Signed-off-by: Matt Blenkinsop <matt.blenkinsop@ptfs-europe.com>
13 months agoBug 33335: Fix JavaScript error on the MARC overlay rules page
Marius Mandrescu [Tue, 28 Mar 2023 16:04:49 +0000 (12:04 -0400)]
Bug 33335: Fix JavaScript error on the MARC overlay rules page

The "MARC overlay rules" page doesn't display or work correctly
if a patron category code contains a "-".

This happens because of the JavaScript function in
"marc-overlay-rules.tt" line 469. This causes an error
"Uncaught SyntaxError: missing : after property id".

Test plan:
1. Go to Administration > Patron categories.
2. Make sure you don't have a patron category code that contains
   a "-".
3. Go to Administration > Record overlay rules.
4. The table should display correctly, and you can add, edit
   and delete rules.
5. Return to Patron categories.
6. Add a new patron category with a "-" in the patron category code.
7. Return to Record overlay rules page:
   => The page doesn't display and load correctly (see the attached
      image) - the normal DataTables header and footer aren't
      displayed, and you can't add, edit or delete overlay rules.
  => If you turn on web developer tools, an error is displayed in the
     console: "Uncaught SyntaxError: missing : after property id".
8. Apply the patch.
9. Repeat the step 7, the Record overlay rules page should now
   display correctly and you should be able to add, edit and
   delete rules.
10. Sign off.

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit 351e380a1468562fe579e53d85389ccc9a53418e)
Signed-off-by: Matt Blenkinsop <matt.blenkinsop@ptfs-europe.com>
13 months agoBug 32129: (QA follow-up) Avoid duplicate calculation
Tomas Cohen Arazi [Fri, 12 May 2023 18:47:02 +0000 (15:47 -0300)]
Bug 32129: (QA follow-up) Avoid duplicate calculation

This patch stores the output from ->check_recall() (a Koha::Recall
object or undef) and reuses afterwards, on a ternaty operator.

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit 62f176d0799a3cf6422eb404646cbb17678f4c2a)
Signed-off-by: Matt Blenkinsop <matt.blenkinsop@ptfs-europe.com>
13 months agoBug 32129: Use patron category when checking if item can fill recall
Aleisha Amohia [Tue, 8 Nov 2022 19:58:22 +0000 (19:58 +0000)]
Bug 32129: Use patron category when checking if item can fill recall

This patch uses the patron category of the patron who requested the most
relevant recall to check for more specific circulation rules relating to
recalls. This ensures that patrons who are allowed to place recalls are
able to fill their recalls, especially when recalls are not generally
available for all patron categories.

To test:
1) Go to Administration -> System preferences and enable UseRecalls
2) Go to Administration -> Circulation and fines rules and set a general
All/All rule and a Category A/Itemtype A rule. All values can be set
however you like except for these recalls rules:

All/All rule:
Recalls allowed: 0
Recalls per record: 0
On shelf recalls allowed: if any unavailable

Category A/Itemtype A rule:
Recalls allowed: 5
Recalls per record: 5
On shelf recalls allowed: if any unavailable

3) Find an item of Itemtype A. Check it out to Patron A (any category).
4) Log into the OPAC as Patron B (of Category A). Find the item and
place a recall on the item.
5) Back in the staff interface, check in the item. This should trigger
the recalls process so you can allocate the item to Patron B's recall,
however the pop-up box to confirm the recall does not show. This is the
bug.

6) Apply the patch and restart services

7) Check in the item again. Confirm the pop-up box to confirm the recall
shows and you are able to allocate the item to Patron B's recall.
8) Confirm tests pass t/db_dependent/Koha/Item.t

Sponsored-by: Auckland University of Technology
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>
(cherry picked from commit 6cf8c901f55efa586a3c8b01cbbe4780c0fb028b)
Signed-off-by: Matt Blenkinsop <matt.blenkinsop@ptfs-europe.com>
13 months agoBug 33710: Ignore how-to related files
Jonathan Druart [Wed, 10 May 2023 10:03:09 +0000 (12:03 +0200)]
Bug 33710: Ignore how-to related files

Related to https://gitlab.com/koha-community/koha-testing-docker/-/issues/378

If we merge it we will want to hide how-to.pl and how-to.ptt

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit a2da8744efa0a9306dc44c4b8c7e9aed5c6209ef)
Signed-off-by: Matt Blenkinsop <matt.blenkinsop@ptfs-europe.com>
13 months agoBug 30687: Allow pickup location to be forced when override is allowed
Nick Clemens [Fri, 23 Dec 2022 15:04:26 +0000 (15:04 +0000)]
Bug 30687: Allow pickup location to be forced when override is allowed

This is Julian's patch with some extra cleanup to reduce repeated code

If AllowHoldPolicyOverride is enabled and only some pickup locations are
available, you still have the possibility to force one of the others
pickup locations.
But when there are zero pickup locations available, that is not
possible.

This patch change that by always displaying the list of pickup locations
when AllowHoldPolicyOverride is enabled.

Test plan:
1. Apply patch
2. Disable AllowHoldPolicyOverride
3. Create a biblio B with an item I at library A.
4. Configure this library A to not be a pickup location
5. Add a "Default holds policy by item type" for item I type where "Hold
   pickup library match" is "item's home library"
6. Try to place a hold on biblio B
   You should not be able to place a hold because there is no valid
   pickup locations
7. Enable AllowHoldPolicyOverride
8. Try to place a hold on biblio B
   You should now see all valid pickup locations in a dropdown list
   (with an exclamation mark in front of each option) with none selected
   by default
9. Verify you can place a title-level hold and an item-level hold

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Julian Maurice <julian.maurice@biblibre.com>
Signed-off-by: Aleisha Amohia <aleishaamohia@hotmail.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit ab93008da7eb61b697e4586c679b88c2eebaacd0)
Signed-off-by: Matt Blenkinsop <matt.blenkinsop@ptfs-europe.com>
13 months agoBug 32993: Holds priority changed incorrectly with dropdown selector
Kyle M Hall [Fri, 28 Apr 2023 18:30:19 +0000 (14:30 -0400)]
Bug 32993: Holds priority changed incorrectly with dropdown selector

Test Plan:
1) Find record with at least 3 holds.
2) Change first holds priority as 2, Priority is changed to 3.
3) Try to change priority back to 1, Priority is changed to 2.
4) Apply this patch
5) Reload the page
2) Change first holds priority as 2, Priority is changed to 2.
3) Try to change priority back to 1, Priority is changed to 1.

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Emmi Takkinen <emmi.takkinen@koha-suomi.fi>
Signed-off-by: Hinemoea Viault <hinemoea.viault@inlibro.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit 7d9e4cf41515234d8d61c369aab3c3e49be1ac3d)
Signed-off-by: Matt Blenkinsop <matt.blenkinsop@ptfs-europe.com>
13 months agoBug 33320: Add spacing in Patron modification requests
Jonathan Druart [Thu, 11 May 2023 10:51:46 +0000 (12:51 +0200)]
Bug 33320: Add spacing in Patron modification requests

* Go to the OPAC, log into your account
* Make changes to your personal details and save
* Go to the staff interface and use the link on the start page to
  moderate the change request
* At the top of the list you'll see something like:

Without this patch:
  Ignore|Patron details
With this patch:
  Ignore | Patron details

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit 26b706f4fa3f03772206f41412827980e403c5d8)
Signed-off-by: Matt Blenkinsop <matt.blenkinsop@ptfs-europe.com>
13 months agoBug 33167: Fix TT comment for better translatability
Katrin Fischer [Sat, 22 Apr 2023 10:16:59 +0000 (10:16 +0000)]
Bug 33167: Fix TT comment for better translatability

We just figured out that multi-line TT comments show up
weirdly in translations and fixed it on bug 33332. So
this just follows the newly established pattern.

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit 8d94235dc419069509ba54458d92d64eae0e49d5)
Signed-off-by: Matt Blenkinsop <matt.blenkinsop@ptfs-europe.com>
13 months agoBug 33167: Cleanup staff detail page
Nick Clemens [Thu, 9 Mar 2023 20:37:28 +0000 (20:37 +0000)]
Bug 33167: Cleanup staff detail page

This patch begins reduing some of the extra things we are doing in
detail.pl that could easily be handled in the templates - fetching
authorised values and branches etc

It also removes a loop to find items that should be hidden, and instead
uses a searh parameter

The template changes either use item object rather than passed
variables, or utilize plugins to fetch authorised valued

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit d650f8c2a6c5ee594a1c03fcab41c34a1cbce5fd)
Signed-off-by: Matt Blenkinsop <matt.blenkinsop@ptfs-europe.com>
13 months agoBug 32766: (QA follow-up) Remove stray p from USE statements
Katrin Fischer [Mon, 8 May 2023 21:36:28 +0000 (21:36 +0000)]
Bug 32766: (QA follow-up) Remove stray p from USE statements

+q[% SET footerjs = 1 %]

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit aded9437922c2aea3c1e8abb237bccbaa0fbe8f1)
Signed-off-by: Matt Blenkinsop <matt.blenkinsop@ptfs-europe.com>
13 months agoBug 32766: (follow-up) Fix translation function
Thibaud Guillot [Tue, 31 Jan 2023 14:27:09 +0000 (15:27 +0100)]
Bug 32766: (follow-up) Fix translation function

The previous syntax causes a warning during the execution of the translation script

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit f46b3e8f477a0ba28be29d0ba3581298a7e29dea)
Signed-off-by: Matt Blenkinsop <matt.blenkinsop@ptfs-europe.com>
13 months agoBug 32766: Update some labels for better understanding and translation
Thibaud Guillot [Tue, 31 Jan 2023 10:44:09 +0000 (11:44 +0100)]
Bug 32766: Update some labels for better understanding and translation

examples: 'crayon'->'carchoal' or 'camaiu'->'cameo'
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit 1ac15616e34df96a610a58b0715f9fcf0a28d811)
Signed-off-by: Matt Blenkinsop <matt.blenkinsop@ptfs-europe.com>
13 months agoBug 32995: Pass user agent string for OverDrive fulfillment
Nick Clemens [Fri, 17 Feb 2023 13:01:02 +0000 (13:01 +0000)]
Bug 32995: Pass user agent string for OverDrive fulfillment

This patch simply adds the string Koha/VERSION to the fulfillment
request

TO test:
1 - Have OverDrive credentials for testing
2 - Enable all the overdrive options in system preferences
3 - Sign in to opac with an overdrive user and verify you can checkout
  and download titles
4 - Sign off

Signed-off-by: Magnus Enger <magnus@libriotech.no>
Not tested with OverDrive, but change looks harmless enough.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit d27a3419cce0da8c90d3f57d54d6cf669001f210)
Signed-off-by: Matt Blenkinsop <matt.blenkinsop@ptfs-europe.com>
13 months agoBug 33699: Typo in identity_provider_domains.tt (presedence)
Owen Leonard [Wed, 10 May 2023 13:19:38 +0000 (13:19 +0000)]
Bug 33699: Typo in identity_provider_domains.tt (presedence)

This patch corrects the typo "presedence" with "precedence."

The patch also corrects some grammar:

"so if the 'library.com' domain will take presedence over
'*library.com'"

...changed to...

"so 'library.com' domain will take presedence over '*library.com'"

I also changed the <div>s inside that block of help text to <p> in order
to improve legibility.

To test, apply the patch and go to Administration -> Identity providers
-> Manage domains (on an existing provider) -> Edit, and click the
"More" button under the "Domain" field.

Confirm that the text is correct.

Signed-off-by: Caroline Cyr La Rose <caroline.cyr-la-rose@inlibro.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit 56f6b6b6fcf5e425d47aa13da09f3f921e0c3253)
Signed-off-by: Matt Blenkinsop <matt.blenkinsop@ptfs-europe.com>
13 months agoBug 33677: Remove verbose option from koha-worker man
Jonathan Druart [Wed, 10 May 2023 09:04:13 +0000 (11:04 +0200)]
Bug 33677: Remove verbose option from koha-worker man

Signed-off-by: Magnus Enger <magnus@libriotech.no>
No more mention of verbose.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit 1bd49fcab8c03ee43aba12cae8661f9488c9bf8d)
Signed-off-by: Matt Blenkinsop <matt.blenkinsop@ptfs-europe.com>
13 months agoBug 33642: Fix 'No log found.' in viewlog
Jonathan Druart [Wed, 10 May 2023 08:41:30 +0000 (10:41 +0200)]
Bug 33642: Fix 'No log found.' in viewlog

It should ease translatability and remove an extra space.

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit 3ca450dbc97f12f895830e17562a2e118996a439)
Signed-off-by: Matt Blenkinsop <matt.blenkinsop@ptfs-europe.com>
13 months agoBug 33445: (follow-up) Allow all search fields to be passed through and returned...
Nick Clemens [Mon, 1 May 2023 18:38:30 +0000 (18:38 +0000)]
Bug 33445: (follow-up) Allow all search fields to be passed through and returned when trying another search

It seems the form didn't populate all fields form data passed in. This patch
corrects that

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit 9446baecf938f7ecc267cc4c216f1c411810a7bf)
Signed-off-by: Matt Blenkinsop <matt.blenkinsop@ptfs-europe.com>
13 months agoBug 33445: (follow-up) Pass form values through when clicking 'Try another search'
Nick Clemens [Mon, 1 May 2023 18:31:30 +0000 (18:31 +0000)]
Bug 33445: (follow-up) Pass form values through when clicking 'Try another search'

We didn't include anything except the authid id in the try again form, this
patch extends to cover all the fields

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit 42b402a2bdcb5a920092c2d8e75c97cada0115d0)
Signed-off-by: Matt Blenkinsop <matt.blenkinsop@ptfs-europe.com>
13 months agoBug 33445: Pass through form info if present and use record values otherwise
Nick Clemens [Fri, 28 Apr 2023 12:39:58 +0000 (12:39 +0000)]
Bug 33445: Pass through form info if present and use record values otherwise

This patch updates the form to pass through values formthe form when searching, and
to use record values if nothing is passed in.

TO test:
 1 - Without the patch, edit a personal name authority record
 2 - Replace 100 subfield a (200 subfield a for UNIMARC) with your own name
 3 - Click "Replace record via Z39.50/SRU search"
 4 - Note that prefilled search field contains the original value, not your name.
 5 - Replace the Author (personal) field with your name in the search form
 6 - choose a search target, and click Search.
 7 - Note that the results of the search are for the original value, not your name
 8 - From the details page of a record, click 'Edit -> Replace record via Z3950'
 9 - Note form is prefilled
10 - Change value as in 5 and search
11 - Note original term was searched
12 - Apply patch, restart all
13 - Repeat searches as before
14 - Confirm that form is prefilled with record or the updated value
15 - Confirm your entered search terms are always searched

Signed-off-by: Phil Ringnalda <phil@chetcolibrary.org>
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit 44e868f464af037410766f97f4036b26e92177a9)
Signed-off-by: Matt Blenkinsop <matt.blenkinsop@ptfs-europe.com>
13 months agoBug 33655: z39.50 search no longer shows search in progress
Owen Leonard [Wed, 10 May 2023 10:42:13 +0000 (10:42 +0000)]
Bug 33655: z39.50 search no longer shows search in progress

This patch adds an id to z39.50 search interface submit buttons so that
the JavaScript event for changing the cursor can be linked to that
instead of the obsolete class.

The patch also adds code copied from Bug 33233 in order to make the
"waiting" cursor revert to the default if the user uses the back button
to return to the search form.

To test, apply the patch and go to Cataloging -> New from Z39.50

- Fill in a search term and click the submit button
- Your cursor should change to a "waiting" cursor while the search is
  performed, before you're redirected to the results.
- From the results page, clicking the back button (or right-clicking the
  page and choosing "Back") should return you to the search form and
  your cursor should be a standard pointer.

Perform the same test from:

- Acquisitions -> Vendor -> Basket -> Add to basket -> From an external
  source
- Authorities -> New from Z39.50/SRU

Signed-off-by: Phil Ringnalda <phil@chetcolibrary.org>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit 5d6f0723ce74996a881dfbdf58066b9a15c09bb3)
Signed-off-by: Matt Blenkinsop <matt.blenkinsop@ptfs-europe.com>
13 months agoBug 32937: Make Zebra ignore the copyright symbol in searches
Katrin Fischer [Sun, 16 Apr 2023 11:57:19 +0000 (11:57 +0000)]
Bug 32937: Make Zebra ignore the copyright symbol in searches

It's common to catalog the year with the copyright symbol attached
to it. This creates some issues with search that we can fix by
adding the Ā© to the list of characters Zebra ignores in search.

To test:
* Search for any existing publication year with Ā©, example: Ā©1951
* Verify your record is not found
* Add the copyright symbol to a record, verify it's now found with Ā©,
  but not without
* Apply patch
* On ktd:
  * sudo cp -i /kohadevbox/koha/etc/zebradb/etc/word-phrase-utf.chr  /etc/koha/zebradb/etc/word-phrase-utf.chr
  * sudo koha-zebra --restart kohadev
  * sudo koha-mysql kohadev
  * DELETE FROM biblio WHERE biblionumber = 369;
  * The reindex woudl fail for me with this broken record present.
  * sudo koha-rebuild-zebra -f kohadev
* Repeat searches, the records should be found when searching
  with and without Ā©.

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit c39d4ea0b26cfb2448902546115efef1cfe2ca6e)
Signed-off-by: Matt Blenkinsop <matt.blenkinsop@ptfs-europe.com>
13 months agoBug 32627: Calculate expirationdate relative to waitingdate
emlam [Wed, 5 Apr 2023 13:30:30 +0000 (09:30 -0400)]
Bug 32627: Calculate expirationdate relative to waitingdate

Hold::set_waiting should calculate the MaxPickupDelay expiration date
based on waitingdate rather than the current date, to avoid resetting
the expirationdate on a hold that was already waiting.

To test:
1. Place a hold and check in the item so the hold will be set to Waiting
2. Confirm that the expiration date is correct based on the
   ReservesMaxPickupDelay setting
3. Adjust your system clock to one day later
4. Check in the item again and confirm the hold
5. Note that the expiration date has changed
7. Apply patch and restart_all
8. Repeat steps 1-4. Confirm that the expiration date is calculated
   correctly, and does not change when the item is checked in again
9. Reset your system clock to the current date
10. Set ExcludeHolidaysFromMaxPickupDelay to Use the Calendar
11. Add an upcoming holiday to the calendar
12. Repeat steps 1-4. Confirm the expiration date correctly accounts for
    the holiday, and does not change when the item is checked in again

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: Laura Escamilla <laura.escamilla@bywatersolutions.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit 21bcb6e85520b2963dde71c21ccb5e169c4c5e28)
Signed-off-by: Matt Blenkinsop <matt.blenkinsop@ptfs-europe.com>
13 months agoBug 33684: Make mandatory date fields required when editing a patron
Jonathan Druart [Tue, 9 May 2023 08:11:19 +0000 (10:11 +0200)]
Bug 33684: Make mandatory date fields required when editing a patron

Date fields in BorrowerMandatoryField are not required by the validation
form when a new patron is added or modified.

This is because the 'required' prop does not exist on the input element
when the flatpickr instance is created.
We should either add it in the DOM directly (tt), but it will require to
do it "manually" for each date fields, or add it when we add it to the
inputs. This patch implements the second option.

Test plan:
1. Add "dateofbirth" to syspref BorrowerMandatoryField.
2. Add patron and leave date of birth input field empty.
3. Save.
=> Form is not submitted and you are asked to fill in a date of birth

Signed-off-by: Emmi Takkinen <emmi.takkinen@koha-suomi.fi>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
https://bugs.koha-community.org/show_bug.cgi?id=33648
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit ae3d6f1876c807aed3efb908f538e83bf6376abe)
Signed-off-by: Matt Blenkinsop <matt.blenkinsop@ptfs-europe.com>
13 months agoBug 33403: Fix Letters.t if number pattern with id=1 does not exist
Jonathan Druart [Wed, 10 May 2023 10:34:08 +0000 (12:34 +0200)]
Bug 33403: Fix Letters.t if number pattern with id=1 does not exist

Bad assumption in DB, we should create the data we need

Test plan:
> delete from subscription_numberpatterns;

prove t/db_dependent/Letters.t

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit 49803c311bd6359bf5bae40c9ab3bead75947a60)
Signed-off-by: Matt Blenkinsop <matt.blenkinsop@ptfs-europe.com>
13 months agoBug 26403: (QA follow-up) Add missing debit and credit types to includes
Katrin Fischer [Wed, 10 May 2023 08:32:26 +0000 (08:32 +0000)]
Bug 26403: (QA follow-up) Add missing debit and credit types to includes

This adds the missing debit and credit types to the includes, namely:
DISCOUNT, PURCHASE, PAYOUT, and VOID.

I sorted them as they appear in the GUI (alphabetically) so it's a little
easier to spot missing ones.

Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit c76533c5a1bc740ded800039ef5843e1345be4e5)
Signed-off-by: Matt Blenkinsop <matt.blenkinsop@ptfs-europe.com>
13 months agoBug 26403: Use accounts include in account management pages
Martin Renvoize [Wed, 10 May 2023 06:37:55 +0000 (07:37 +0100)]
Bug 26403: Use accounts include in account management pages

This patch updates the credit and debit types management pages to use
the proper includes for handling system type translations.  This is how
it should have been done in the first place on the original bugs that
introduced the management of these types but for some reason I think it
got dropped during the QA process leading to confusion around these
system types with their fixed descriptions.

To test:
1. Apply patch
2. Apply the translations
   ./misc/translator/translate install xx-XX
3. In the staff interface, go to Administration > Credit types
   --> They should be translated
4. Go to Administration > Debit types
   --> They should be translated

Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit bd8d019d3232cdef815deef9ee6095c0298baf03)
Signed-off-by: Matt Blenkinsop <matt.blenkinsop@ptfs-europe.com>
13 months agoBug 26403: (follow-up) Deleted old SQL files
Caroline Cyr La Rose [Mon, 3 Apr 2023 19:34:11 +0000 (15:34 -0400)]
Bug 26403: (follow-up) Deleted old SQL files

Signed-off-by: Magnus Enger <magnus@libriotech.no>
Followed the test plan. Works as advertised.
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit 0c07407a82f5a1e41f8e5be57475e889da77c3fa)
Signed-off-by: Matt Blenkinsop <matt.blenkinsop@ptfs-europe.com>
13 months agoBug 26403: Move credit and debit types into translatable YAML files
Caroline Cyr La Rose [Mon, 3 Apr 2023 18:35:04 +0000 (14:35 -0400)]
Bug 26403: Move credit and debit types into translatable YAML files

This patch moves account debit and credit types, as well as the CASH
payment type, into YAML files under
installer/data/en/mandatory. This should make the debit and credit types
translatable (for new installations only).

To test:
1. Apply patch
2. Update po files
   ./misc/translator/translate update xx-XX
3. View the xx-XX-installer.po file
   -->The default account debit and credit types (and cash payment type)
      should be available to be translated
4. Translate the strings
5. Apply the translations
   ./misc/translator/translate install xx-XX
6. Load the new translated YAML files (with a fresh install, or by deleting
   the values in the db and using ./misc/load_yaml.pl to load the files)
7. In the staff interface, go to Administration > Credit types
   --> They should be translated
8. Go to Administration > Debit types
   --> They should be translated

Signed-off-by: Magnus Enger <magnus@libriotech.no>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit 002dbcdc7f52769e150f7ed788e37e9c08ffe02b)
Signed-off-by: Matt Blenkinsop <matt.blenkinsop@ptfs-europe.com>
13 months agoBug 33512: (follow-up) Check item count before adding add/edit button
Lucas Gass [Mon, 24 Apr 2023 23:53:50 +0000 (23:53 +0000)]
Bug 33512: (follow-up) Check item count before adding add/edit button

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit 7f1cc03e3e16c4538126d69e43f5d9ff67ecd0b2)
Signed-off-by: Matt Blenkinsop <matt.blenkinsop@ptfs-europe.com>
13 months agoBug 33512: (QA follow-up) Remove 'Click to' from buttons
Katrin Fischer [Sat, 15 Apr 2023 23:14:10 +0000 (23:14 +0000)]
Bug 33512: (QA follow-up) Remove 'Click to' from buttons

This is following recommendations from accessibility
guidelines. It being a link or button already indicates
that you need to click it. We don't need to spell it out.

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit 0eec6e9f244f95bf8d6f1bf105f0d706456bb316)
Signed-off-by: Matt Blenkinsop <matt.blenkinsop@ptfs-europe.com>
13 months agoBug 33512: Change text and add button classes on serial-edit page
Lucas Gass [Wed, 12 Apr 2023 22:28:06 +0000 (22:28 +0000)]
Bug 33512: Change text and add button classes on serial-edit page

To test:
1. Create a subscription
2. Make sure that you choose "Create an item record" when receiving the serial and associate it with a record.
3. Fill out the numbering pattern stuff and save the subscription.
4. Receive and change the status to arrived. Doing so will make the item subfields appear for editing.
5. Add some stuff, like a barcode, and Save.
6. Now, if you have made a mistake, you may want to edit the serial/item. Check the edit box and click 'Edit serials '
7. For your issue that has already arrived click 'Click to add item'. The item record from before appears.
8. Apply patch.
9. Try 6 & 7 again. The existing items should now read 'Click to edit item'

Signed-off-by: Andrew Auld <andrew.auld@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit f04de4636aaf04582a20e7848da0773d0a045c30)
Signed-off-by: Matt Blenkinsop <matt.blenkinsop@ptfs-europe.com>
13 months agoBug 33671: Update POD, remove unneeded check in relationship->guarantor
Marcel de Rooy [Thu, 4 May 2023 07:06:07 +0000 (07:06 +0000)]
Bug 33671: Update POD, remove unneeded check in relationship->guarantor

[1] Update POD for $patron->guarantor_relationships
[2] Remove check from Patron::Relationship->guarantor

Test plan:
Run t/db_dependent/Koha/Patron.t
Run t/db_dependent/Patron/Relationships.t

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: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit 5eaee314c59a4ed8f3d75c7897f931f57f1577b1)
Signed-off-by: Matt Blenkinsop <matt.blenkinsop@ptfs-europe.com>
13 months agoBug 33671: Fix for 30472 - Remove null-guarantors
Marcel de Rooy [Thu, 4 May 2023 06:41:19 +0000 (06:41 +0000)]
Bug 33671: Fix for 30472 - Remove null-guarantors

These guarantors cannot be added. They are of no use.

NOTE FOR QA/RM: I do not think that it is needed to add a new
db rev for this change since it happens seldom. But if you think
that it is, just copy it to atomicupdate/change bugno.

Test plan:
[1] Check your table definition and modify it:
    alter table borrower_relationships modify column `guarantor_id` int(11) NULL;
[2] Add an empty guarantor:
    insert into borrower_relationships (guarantee_id,relationship) values (SOME_PATRON_ID,'father');
[3] Run the dbrev and verify that the inserted record has been removed.
[4] Check table definition with 'show create table borrower_relationships'.
    You should see NOT NULL with guarantor_id.

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: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit 1dee35d412f9aada8ae58d72a7fa1f4ff88dde7c)
Signed-off-by: Matt Blenkinsop <matt.blenkinsop@ptfs-europe.com>
13 months agoBug 25379: (QA follow-up) Adjust other occurrences and add line break
Nick Clemens [Fri, 28 Apr 2023 16:03:07 +0000 (16:03 +0000)]
Bug 25379: (QA follow-up) Adjust other occurrences and add line break

This updates the other occurrences and adds html_line_break to all
except the edit page - it seems html or raw doesn't affect the value of the textarea,
but moved to raw for consistency

To test:
1 - Add an HTML note to a patron, make sure to add a line break:
<h1>Testing</h1>
<h2>Newline</h2>
2 - Checkout to patron and return
3 - Confirm note shows correctly
4 - Add patron to a list
5 - Confirm note displays correctly
6 - Edit patron, confirm note field is correct
7 - Batch modify borrower
8 - Confirm note displays correctly in batch list

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit 5b7879ebf8a571d26d7d0c859f85684044dc3193)
Signed-off-by: Matt Blenkinsop <matt.blenkinsop@ptfs-europe.com>
13 months agoBug 25379: Add raw filter to circulation note on checkin page
Katrin Fischer [Fri, 17 Mar 2023 21:36:23 +0000 (21:36 +0000)]
Bug 25379: Add raw filter to circulation note on checkin page

This is a consistency patch: we already allow adding HTML tags
to the patron circulation note and the contents display
correctly in the patron account and in the patron search results
in the staff interface. But the HTML tags are printed on the
checkins page.

To test:
* Add a circulation note including HTML tags to a patron
  Example: <h1>This patron is great!</h1>
* Check an item out to this patron
* Verify that the note displays formatted in patron search results
* Verify that the note displays formatted in the patron record
* Return the item
* Verify the note shows the printed tags
* Apply patch
* Check item out again and check it in again
* Verify the note now displays correctly in list of checkins

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit 2608e405de72d365ef472bc6e8f86d2051f3cda4)
Signed-off-by: Matt Blenkinsop <matt.blenkinsop@ptfs-europe.com>
13 months agoBug 32917: Fix sample notice for CHANGE_PASSWORD
Katrin Fischer [Sun, 16 Apr 2023 12:19:40 +0000 (12:19 +0000)]
Bug 32917: Fix sample notice for CHANGE_PASSWORD

We've identified 3 issues:
* Name of patron is not showing up in subject line
* Name of patron is now showing in notice text
* Notice is set to be HTML, but has no line breaks and uses no HTML tags

In the database update, these issues don't occur:

$dbh->do( q{
    INSERT IGNORE INTO letter (module, code, name, title, content, message_transport_type) VALUES ('members', 'PASSWORD_CHANGE', 'Notification of password change', 'Library account password change notification',
    "Dear [% borrower.firstname %] [% borrower.surname %],\r\n\r\nWe want to notify you that your password has been changed. If you did not change it yourself (or requested that change), please contact library staff.\r\n\r\nYour library.", 'email');
});

So this patch will make them match up:

* Remove HTML flag
* Update patron. to borrower. in message text
* Remove patron name from subject (it won't work even with the correct variables)

To test:
* Add an email address to your favourite sample user
* Make sure NotifyPasswordChange is set to "Notify"
* Update the sample user's password using the "change password" feature
* Verify a notice is shown in the notices tabs
  Note: you won't see the line break issue there because of bug 30287
* Apply patch
* Recreate your database/run web installer so sample notices are loaded
* Repeat the test, it should generate a nice lookig notice now

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit 28738472465a9a78b556e5f462ce8ee39dab1c35)
Signed-off-by: Matt Blenkinsop <matt.blenkinsop@ptfs-europe.com>
13 months agoBug 33253: Turn off autocompletion for 2FA authentication code
Katrin Fischer [Sun, 16 Apr 2023 10:45:06 +0000 (10:45 +0000)]
Bug 33253: Turn off autocompletion for 2FA authentication code

The form for entering your authentication code shoudl not suggest
previous codes.

To test:
* Activate TwoFactorAuthentication
* Go to your patron account in staff
* More > Manage 2-factor authentication
* I used "Google authenticator" on my phone, so:
* Open app on your phone, add new and scan the QR code
* Enter activation code
* Log out of staff interface
* Log back in, you are now also asked for an authentication code
  as second step
* Look up code in app, enter, get logged in
* Log out, log back in - the form now suggests the previous code
  when you click on it
* Apply patch
* Reload things (restart_all on ktd)
* Verify that you no longer get the suggestion

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit 2496f6373ab7c3be31480e29050b11c0cdb7a964)
Signed-off-by: Matt Blenkinsop <matt.blenkinsop@ptfs-europe.com>
13 months agoBug 33037: Koha does not display difference between enumchron and serialseq in record...
Janusz Kaczmarek [Wed, 22 Feb 2023 11:59:11 +0000 (12:59 +0100)]
Bug 33037: Koha does not display difference between enumchron and serialseq in record detail view (OPAC and intranet)

Patch 32555 tries to resolve the issue caused by bug 31313.  But the way it is fixed seems to be
at least problematic.  With patch 32555 we will never see the difference between
`serial`.`serialseq` and `items`.`enumchron` which is still intended in opac-detail.tt
(line ~ 1332) and [intranet] catalogue/detail.tt (line ~ 446).  This is because
ITEM_RESULT.serialitem (in opac-detail.tt) and item.itemserial.serial (in catalogue/detail.tt)
refer to non-existing things.  (and therefor the problem described in 32555 no longer emerge).
The original problem is caused by mixing up serialitem with serial in [opac-]detail.pl
and passing serialitem instead of serial to both templates.

To test:
1. Create a serial subscription
   1.1. Go to Serials
   1.2. Click on New subscription
   1.3. Fill out the first form
        - Vendor: leave empty
        - Record: enter a record number
        - Create an item record when receiving this serial
        - When there is an irregular issue: Keep issue number
        - Manual history: leave unchecked
        - Call number: leave empty
        - Library: Centerville
        - Public/nonpublic note: leave empty
        - Patron notification: None
        - Location: None
        - Collection: None
        - Item type: Continuing resources
        - Grace period: leave empty
        - Number of issues to display: leave both empty
   1.4. Click Next (and confirm you are not using a vendor)
   1.5. Fill out the second form
        - First issue publication date: 2023-01-01
        - Frequency: 1/month
        - Subscription length: issues 12
        - Subscription start date: 2023-01-01
        - Subscription end date: 2024-01-01
        - Numbering pattern: Number
        - Locale: leave empty
        - Begins with: 42
        - Inner counter: leave empty
   1.6. Click Test prediction pattern
   1.7. Click Save subscription
2. Click OPAC view: Open in new window.
3. Back in the staff interface tab, receive an issue
   3.1. Click Receive
   3.2. In Status, choose Arrived for No. 42
   3.3. IN ITEM DETAILS BELOW CHANGE h - Serial enumeration / chronology
        from No. 42 to some different string
   3.3. Click Save
4. Check the items in OPAC and Intranet ā€“ you will see only the value from the
   item $h subfield (enumchron) instead of desired "enumchron -- serialseq"
   in case of a difference between `serial`.`serialseq` and `items`.`enumchron`.
5. Apply this patch
6. Repeat 4
7. Check the items in OPAC and Intranet ā€“ you should now see the desired
   "enumchron -- serialseq" string.
8. Sign off

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: Nick <nick@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit c8012d41041969c0ec69afb962ae6795ffa1926b)
Signed-off-by: Matt Blenkinsop <matt.blenkinsop@ptfs-europe.com>
13 months agoBug 33672: Don't show item group holds on OPAC if not enabled
Nick Clemens [Thu, 4 May 2023 11:14:29 +0000 (11:14 +0000)]
Bug 33672: Don't show item group holds on OPAC if not enabled

This patch adds a check of the syspref 'EnbaleItemGroupHolds' to the
opac request form

To test:
1 - Enable 'EnableItemGroups' system preference
2 - On staff client, view a record details
3 - Go to 'Item groups' tab, add a enw group
4 - On holdings tab, select one or more items and add to group
5 - View record in OPAC
6 - PLace a hold
7 - Note group option is visible
8 - Apply patch
9 - Refresh, no group option
10 - Enable 'EnableItemGroupHolds' system preference
11 - Refresh opac page, note group option is visible

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit af2792379c33ae82096b70e19810fd5e7fc73662)
Signed-off-by: Matt Blenkinsop <matt.blenkinsop@ptfs-europe.com>
13 months agoBug 22375: (follow-up) Format even more due dates consistently
Katrin Fischer [Sun, 16 Apr 2023 01:06:53 +0000 (01:06 +0000)]
Bug 22375: (follow-up) Format even more due dates consistently

To test:
Create some checkouts in future and past, make sure to include
some with a time != 23:59.CirculateILL

Verify that the due date is displayed correctly on:
* Catalog detail page > Items tab > Checkout status
* Circulation start page > Renew > Renew one of your checkouts > dialog message
* ILL request page: requires ILL setup and CirculateILL system preference
* Patron acccount in staff > Print > Print summary
* Catalog detail page > Holds > search for patron > due date on checked out items
* Recalls:
  * Activate UseRecalls system preference, set up circulation rules to allow recalls
  * Checkout an item to another user
  * In the OPAC, place a recall on that record with yor use
  * Check "Recall a specific item"
  * Verify due date in item list
  * Place recall on checked out item
  * Patron account in OPAC > Recalls history (due date might have been changed through recall)
* OPAC patron account > Summary > Overdue tab
* Self checkout:
  * Activate WebBasedSelfCheck
  * Go to <opacbaseurl>/cgi-bin/koha/sco/sco-main.pl
  * Log in > Tab checkouts

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
JD amended patch - removed 'fda'
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit 0d888fc4197d8d70ca3710d448d6a293f34ab4f8)
Signed-off-by: Matt Blenkinsop <matt.blenkinsop@ptfs-europe.com>
13 months agoBug 22375: Format due date consistantly
Josef Moravec [Wed, 20 Feb 2019 12:41:04 +0000 (12:41 +0000)]
Bug 22375: Format due date consistantly

Test plan:
Make some daily an hourly checkouts and confirm the right display
(hourly with hours and minutes, daily only date) of due date on these
places:
1) catalogue -> checkout history
2) circulation -> overdues with fines
3) <already fixed>
4) circulation -> pending on site checkouts
5) patrons circulation history
6) opac -> account summary ->  relatives checkouts

Note: I suspect the moremember-receipt.tt template is not used anymore
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit e80d5fc0d0ae7085bd86d8e9c38d16d5de415e48)
Signed-off-by: Matt Blenkinsop <matt.blenkinsop@ptfs-europe.com>
13 months agoBug 33302: (QA follow-up) Rephrase errors to be more user friendly
Katrin Fischer [Thu, 4 May 2023 13:59:03 +0000 (13:59 +0000)]
Bug 33302: (QA follow-up) Rephrase errors to be more user friendly

These error message will show within the patron account. The goal
of this patch is to make them a little more user friendly avoiding
'patron' and 'hold group' terminology :)

Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit 4e599c790fa0a2e5909916b4f3335d2a7b2a20a9)
Signed-off-by: Matt Blenkinsop <matt.blenkinsop@ptfs-europe.com>
13 months agoBug 33302: Send and display errors when a hold cannot be placed on the OPAC
Nick Clemens [Tue, 28 Mar 2023 11:31:42 +0000 (11:31 +0000)]
Bug 33302: Send and display errors when a hold cannot be placed on the OPAC

This patch changes opac-reserve.pl to return the error(s) when placing
a hold as a pipe delimited list which is then translated to a message for the
user

To test:
1 - Find a record with items available on the opac
2 - Click 'place hold' and set things up, but do not confirm
3 - In staff client, do something to make hold invalid:
    - Make item damaged
    - Make library not a pickup location
    - Place other holds for patron up to limit
    - etc.
4 - Confirm hold on OPAC
5 - You are sent to patron's account, hold is not placed
6 - There is little or no message to explain why
7 - Apply patch
8 - Repeat
9 - Now errors are clear

Signed-off-by: Andrew Auld <andrew.auld@ptfs-europe.com>
Signed-off-by: Michaela Sieber <michaela.sieber@kit.edu>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit ee318d20f5506e9b4c955633f0e9eddc9c171f29)
Signed-off-by: Matt Blenkinsop <matt.blenkinsop@ptfs-europe.com>
13 months agoBug 33622: Notice content does not show on default tab if TranslateNotices enabled
Owen Leonard [Tue, 2 May 2023 17:24:08 +0000 (17:24 +0000)]
Bug 33622: Notice content does not show on default tab if TranslateNotices enabled

This patch fixes a conflict between the template-generated markup and
Bootstrap JS which were both competing to show the correct default tab.
It's simpler to rely on JavaScript.

To test, apply the patch and enable the TranslateNotices system
preference if necessary.

- Go to Tools -> Notices & slips
- Go to edit any notice e.g. DUEDGST
- The page should load with the "Default" tab selected by default.
- Enter unique titles and contents under each tab to confirm that the
  data you see under the "Default" or "English (en)" tab is being shown
  in the right place.
- Save your modified notice and edit it again to confirm that the tabs
  correspond correctly to your data.

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Aleisha Amohia <aleishaamohia@hotmail.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit 1e5c55176ef4d70b1535040a576ab13d4561c53f)
Signed-off-by: Matt Blenkinsop <matt.blenkinsop@ptfs-europe.com>
13 months agoBug 33206: Unit test
Nick Clemens [Mon, 17 Apr 2023 19:24:18 +0000 (19:24 +0000)]
Bug 33206: Unit test

Signed-off-by: Nick <nick@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit 82eb5d7d262a686ad6d3573e3e86a57e051c4f4c)
Signed-off-by: Matt Blenkinsop <matt.blenkinsop@ptfs-europe.com>
13 months agoBug 33206: Bad title__sort made of multifield 245
Janusz Kaczmarek [Sat, 11 Mar 2023 16:03:10 +0000 (17:03 +0100)]
Bug 33206: Bad title__sort made of multifield 245

In MARC 21, having title search field defined in mappings.yaml as 245abp
(more than one subfield), the Koha generated title__sort will have not
only $a, but also other subfields cut by ind2 characters, i.e.:

245 04 $a Die Renaissance : $b Architektur, Plastik, Malerei, Illustrationen, Zeichnungen

becomes as title__sort:

Renaissance : itektur, Plastik, Malerei, Illustrationen, Zeichnungen

instead of:

Renaissance : Architektur, Plastik, Malerei, Illustrationen, Zeichnungen

This is because copying an array of pointers in Perl causes you to
point to the same (anonymous) element.  Therefore, the intended
modification only for subfield "a"
(Koha/SearchEngine/Elasticsearch.pm, ~line 1157) causes in fact
modification for all the subfields sharing the same mapping
definition and introduction of the nonfiling_characters_indicator to
all subfields 245 when processing 245abp.  And this is obviously not
what is intended and results (in some cases) with bad sort order
when sorting by titles.

Test plan
=========
1. Have a standard Koha ES installation. In mappings.yaml
   you should have 245abp for title search field.

2. Insert / download / modify a record with 245 $b or $p,
    an article at the beginning of the title, and correctly
    set 2nd indicator. For instance:

245 04 $a Die Renaissance : $b Architektur, Plastik, Malerei, Illustrationen, Zeichnungen

3. In ES, with Kibana or culr, control the content of
   title__sort field for the related document.  It will be:

Renaissance : itektur, Plastik, Malerei, Illustrationen, Zeichnungen

4. Apply the patch, full reindex ES (--rebuild -r -d -a -b)

5. In ES, with Kibana or culr, control the content of
   title__sort field for the related document.  It should
   be now correct, i.e.:

Renaissance : Architektur, Plastik, Malerei, Illustrationen, Zeichnungen

Signed-off-by: Nick <nick@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit 1330bd7c8d2ac256c93e38b95a6040c3fda3db92)
Signed-off-by: Matt Blenkinsop <matt.blenkinsop@ptfs-europe.com>
13 months agoBug 33569: Fix sort by relevance in catalog search
Fridolin Somers [Thu, 20 Apr 2023 06:58:48 +0000 (20:58 -1000)]
Bug 33569: Fix sort by relevance in catalog search

When ordering catalog search by relevance from advanced search, this is not visible in sort order combobox in staff interface.

This is because sort by relevance is a special case not using sort
order.
This patch add a new method C4::Context->default_catalog_sort_by to use
in both staff interface and OPAC.

Test plan :
1.0) On staff interface
1.1) Define system preferences defaultSortField = 'relevance' and defaultSortOrder = 'descending'
1.2) Perform a catalog search from main page on any term, ie 'perl'
=> You see in sort combobox 'relevance' selected (with a check icon)
1.3) Perform an advanced search on any term, ie 'perl', with sort by relevance
=> Without patch : you see in sort combobox 'relevance' not selected (no check icon)
=> With patch : you see in sort combobox 'relevance' selected (with a check icon)
2.0) On OPAC
2.1) Define system preferences OPACdefaultSortField = 'relevance' and OPACdefaultSortOrder = 'descending'
2.2) Perform a catalog search from main page on any term, ie 'perl'
=> You see in sort combobox 'relevance' selected
3.0) Run prove t/Context.t

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit 3bb7ea2dab03863e827fbb21060ac98a16dcbf4f)
Signed-off-by: Matt Blenkinsop <matt.blenkinsop@ptfs-europe.com>
13 months agoBug 33653: Use filter_by_active instead
Tomas Cohen Arazi [Tue, 9 May 2023 13:36:40 +0000 (10:36 -0300)]
Bug 33653: Use filter_by_active instead

This patch makes `filter_by_lates` use the `filter_by_active` method
instead of an ad-hoc query filter. It has the advantage that it
considers standing orders too.

No behavior change, tests should still pass.

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit 7323a56823c0b23faddd964206c8fc58431b769d)
Signed-off-by: Matt Blenkinsop <matt.blenkinsop@ptfs-europe.com>
13 months agoBug 33653: Never consider received orders as late
Jonathan Druart [Wed, 3 May 2023 13:18:13 +0000 (15:18 +0200)]
Bug 33653: Never consider received orders as late

We should not list received orders on the late orders page.

Test plan:
* Create a basket
* Create a normal order (not from a subscription, no standing order)
* Leave estimated delivery date empty
* Close the basket
* Create a new invoice and receive the order line
* Go to acq > late orders
* Verify the order is not in the list
* Set filter for 'To' date into the future, i.e. 01/01/2025
=> Without this patch the order shows up
=> With this patch applied the received order does not show up

Signed-off-by: Michaela Sieber <michaela.sieber@kit.edu>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit 64c4f115cde75c48f71cfd0d7bdb220f48212daf)
Signed-off-by: Matt Blenkinsop <matt.blenkinsop@ptfs-europe.com>
13 months agoBug 33576: (QA follow-up) Polish comment, typo
Marcel de Rooy [Mon, 24 Apr 2023 09:27:43 +0000 (09:27 +0000)]
Bug 33576: (QA follow-up) Polish comment, typo

No test plan.

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit f7b1c85f736dad33b9e67fce2ac2219716c2b704)
Signed-off-by: Matt Blenkinsop <matt.blenkinsop@ptfs-europe.com>
13 months agoBug 33576: Index records after import transaction is committed
Nick Clemens [Thu, 20 Apr 2023 16:02:09 +0000 (16:02 +0000)]
Bug 33576: Index records after import transaction is committed

This patch simply moves our indexing call after the transaction is committed so
that the job will exist in the DB when called.

To test:
 1 - Have Koha using Elasticsearch
 2 - Stage and import a file of records
 3 - View the job in Admin->Manage jobs
 4 - Note it is not finished
 5 - Check log: /var/log/koha/kohadev/es-indexer-output.log
 6 - Note: [WARN] No job found for id=###
 7 - Apply patch
 8 - Stage and import
 9 - Note no error in log
10 - Note successful completion of indexing job

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit 9af2f3d12cef6a679763117a0c086468868c79f5)
Signed-off-by: Matt Blenkinsop <matt.blenkinsop@ptfs-europe.com>
13 months agoBug 33277: (follow-up) Don't use regex, tidy
Nick Clemens [Tue, 9 May 2023 13:51:59 +0000 (13:51 +0000)]
Bug 33277: (follow-up) Don't use regex, tidy

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit 09c92afd25f3fd58a159b0252dd73172e8fea1a3)
Signed-off-by: Matt Blenkinsop <matt.blenkinsop@ptfs-europe.com>
13 months agoBug 33277: Adjust source file for zebra mappings
Nick Clemens [Mon, 27 Mar 2023 08:53:24 +0000 (08:53 +0000)]
Bug 33277: Adjust source file for zebra mappings

The previous patches adjusted the mappings directly - moving this
change to the correct build file

Not needed for sign off, but QA can test that nothing changes when rebuilding the files:
xsltproc etc/zebradb/xsl/koha-indexdefs-to-zebra.xsl etc/zebradb/marc_defs/marc21/authorities/authority-koha-indexdefs.xml > etc/zebradb/marc_defs/marc21/authorities/authority-zebra-indexdefs.xsl

Signed-off-by: Frank Hansen <frank.hansen@ub.lu.se>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit 154f12d67bbd4feb1de94af863cb00a8f20c4c6d)
Signed-off-by: Matt Blenkinsop <matt.blenkinsop@ptfs-europe.com>
13 months agoBug 33277: (follow-up) Fix notdefined search for Zebra and ES
Nick Clemens [Wed, 22 Mar 2023 00:33:23 +0000 (00:33 +0000)]
Bug 33277: (follow-up) Fix notdefined search for Zebra and ES

Signed-off-by: Frank Hansen <frank.hansen@ub.lu.se>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit c78b1a9a667513c6e30f812be79944d14d1f0c95)
Signed-off-by: Matt Blenkinsop <matt.blenkinsop@ptfs-europe.com>
13 months agoBug 33277: Search thesaurus for 'notspecified'
Nick Clemens [Tue, 21 Mar 2023 19:34:50 +0000 (19:34 +0000)]
Bug 33277: Search thesaurus for 'notspecified'

Signed-off-by: Frank Hansen <frank.hansen@ub.lu.se>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit 7911eb6666f9b1a9ea310e0d62a647a62101c48c)
Signed-off-by: Matt Blenkinsop <matt.blenkinsop@ptfs-europe.com>
13 months agoBug 33277: Add comments and missing thesauri
Nick Clemens [Tue, 21 Mar 2023 19:28:10 +0000 (19:28 +0000)]
Bug 33277: Add comments and missing thesauri

Signed-off-by: Frank Hansen <frank.hansen@ub.lu.se>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit 5d0050d84dfbb9a7c02d8e9b166673e4a5cb875e)
Signed-off-by: Matt Blenkinsop <matt.blenkinsop@ptfs-europe.com>
13 months agoBug 33277: Support custom thesaurus authority with no 040 specified
Nick Clemens [Tue, 21 Mar 2023 17:31:31 +0000 (17:31 +0000)]
Bug 33277: Support custom thesaurus authority with no 040 specified

Signed-off-by: Frank Hansen <frank.hansen@ub.lu.se>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit be0241ea69081d0cb78f8051a88f2e53b091be1d)
Signed-off-by: Matt Blenkinsop <matt.blenkinsop@ptfs-europe.com>
13 months agoBug 33277: Do not search using thesaurus when linking non 6XX fields
Nick Clemens [Mon, 20 Mar 2023 15:44:17 +0000 (15:44 +0000)]
Bug 33277: Do not search using thesaurus when linking non 6XX fields

This patch sets thesaurus as undefined when linking any field except 6XX

This fixes the case where authrotiy records don't have the thesaurus defined

Consequently - this means that Koha does not support multiple thesaurus records
for authorities outside of subjects

i.e. Using the default linker, and having both an LCSH and Sears record for 'Shakespeare,William'
A 100 entry will find two results and the heading won't be linked. Previously we always linked to the LCSH

To test:
1 - Import the attached auths and biblio (from bug 33159 comment 24)
2 - Set system preferences:
    RequireChoosingExistingAuthority - don't require
    AutoCreateAuthorities - don't generate
    CatalogModuleRelink - Do
    LinkerKeepStale - Don't
    LinkerModule - default
    LinkerRelink - do
3 - Edit the imported bib
4 - Save it
5 - Headings are not linked except 600
6 - Apply patch
7 - Restart all
8 - Edit and save record
9 - Headings are successfully linked

Signed-off-by: Frank Hansen <frank.hansen@ub.lu.se>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit d73f56736669afb522f58f5e2856a5fad54bfc64)
Signed-off-by: Matt Blenkinsop <matt.blenkinsop@ptfs-europe.com>
13 months agoBug 33613: Use prop() to evaluate checkbox
Lucas Gass [Tue, 25 Apr 2023 23:11:17 +0000 (23:11 +0000)]
Bug 33613: Use prop() to evaluate checkbox

To test:
1. Have an item with a replacement cost checked out to a patron
2. Set the ClaimReturnedChargeFee sys pref to "Ask if a lost fee should be charged"
3. Make a claim and check the box for charging.
4. Claim happens but no charge occurs.
5. Apply patch and try again.
6. A charge should now occur.

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Hinemoea Viault <hinemoea.viault@inlibro.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit ff93ce714b37defe9575601daa25cf7d5e4ee58e)
Signed-off-by: Matt Blenkinsop <matt.blenkinsop@ptfs-europe.com>
13 months agoBug 33412: Fix comparison when checking for overlay framework
Nick Clemens [Wed, 5 Apr 2023 12:27:27 +0000 (12:27 +0000)]
Bug 33412: Fix comparison when checking for overlay framework

TO test:
 1 - Cataloging -> Export catalog data
 2 - Export a record fom your catalog
 3 - Cataloging -> Stage record for import
 4 - Import the record, use Record matchign rule: KohaBiblio (999c)
 5 - Stage, view batch
 6 - Record should match the one that was exported
 7 - When replacing record use this framework, choose a different value than current framework of record
 8 - Import this batch
 9 - View and edit record - note framework did not change
10 - Apply patch
11 - Restart all
12 - Repeat 4-8
13 - View and edit record, confirm framework has changed
14 - Sign off

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit 4ea2f11718ca7ec8d168cdd63edfe66a3ea5a9fb)
Signed-off-by: Matt Blenkinsop <matt.blenkinsop@ptfs-europe.com>
13 months agoBug 33611: Ensure dt_from_string always returns a new object
Nick Clemens [Thu, 27 Apr 2023 13:02:52 +0000 (13:02 +0000)]
Bug 33611: Ensure dt_from_string always returns a new object

This patch alters dt_from_string to pass a cloned object if called
on an existing date time object

This resolves an issue where a holds reserve date was being altered when
the default expiration date was set

To test:
1 - Set DefaultHoldExpiration to Set
2 - Set DefaultHoldExpirationPeriod to 365
3 - Set DefaultHoldExpirationunitOfTimeToDays
4 - Place a hold
5 - Note reserve date is 1 year in the future, same as expiration
6 - Apply patch
7 - Restart all
8 - Place another hold
9 - Note reserve date is set to today

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Hinemoea Viault <hinemoea.viault@inlibro.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit ca784d740d8e5758196c523dbeb205942de7729c)
Signed-off-by: Matt Blenkinsop <matt.blenkinsop@ptfs-europe.com>
13 months agoBug 33611: Unit test
Nick Clemens [Thu, 27 Apr 2023 13:02:24 +0000 (13:02 +0000)]
Bug 33611: Unit test

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Hinemoea Viault <hinemoea.viault@inlibro.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit 3551ef41a040c6da91e9b54dd7a030a1d6a6d266)
Signed-off-by: Matt Blenkinsop <matt.blenkinsop@ptfs-europe.com>
13 months agoBug 33591: Restore auto-select of checkboxes of src record when merging
Jonathan Druart [Wed, 3 May 2023 14:54:06 +0000 (16:54 +0200)]
Bug 33591: Restore auto-select of checkboxes of src record when merging

When merging bib records the first tab (the source record) should have
all the checkboxes checked by default.

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit b61414697254dee5c2b3539c04cda8133a2b2f50)
Signed-off-by: Matt Blenkinsop <matt.blenkinsop@ptfs-europe.com>
13 months agoBug 33513: Remove whitespace in batch report lists
Didier Gautheron [Thu, 13 Apr 2023 06:03:40 +0000 (08:03 +0200)]
Bug 33513: Remove whitespace in batch report lists

BugĀ 32368 added whitespaces, remove them.

To test:
 1 - Create a report like:
    SELECT biblionumber FROM biblio
 2 - Run it
 3 - Try the various options from the 'Batch operations' button
 4 - The operations don't find the biblios
 5 - Create a report like:
    SELECT cardnumber FROM borrowers
 6 - Run it
 7 - Test the batch operations
 8 - They fail
 9 - Apply patch
10 - Run each report again and test batch operations
11 - They work!

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit 0c1d7fe0fb7dca70cd3dd63a64c92803d35a4bb0)
Signed-off-by: Matt Blenkinsop <matt.blenkinsop@ptfs-europe.com>
13 months agoBug 33586: Fix sequence of fields for memberresultst in table configuration
Katrin Fischer [Fri, 21 Apr 2023 19:46:19 +0000 (19:46 +0000)]
Bug 33586: Fix sequence of fields for memberresultst in table configuration

The sequence of options actually matters, not the name.
Library and category were switched, this patch fixes it and
now it should all hide/show as expected:

* Go to administration > table configuration
* Hide library in memberresultst
* Go to patron search and search
* Verify that category was hidden instead
* Apply patch
* Verify now label and columns for library and category
  match with configuration.

Signed-off-by: Lisette Scheer <lisette.scheer@bywatersolutions.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit 2ef95d91424d8c45228a1ffb30ed1388a086ca84)
Signed-off-by: Matt Blenkinsop <matt.blenkinsop@ptfs-europe.com>
13 months agoBug 28315: Remove duplicate function definition
Philip Orr [Tue, 25 Apr 2023 10:34:09 +0000 (10:34 +0000)]
Bug 28315: Remove duplicate function definition

This patch removes the unnecessary second definition of the JS function PopupMARCFieldDoc from addbiblio.tt.
To test:
1. Apply the patch
2. Check that addbiblio.tt contains only one function definition for PopupMARCFieldDoc
3. Navigate to "Cataloging" -> "Add MARC record"
4. Check that after clicking on the question mark symbol next to any MARC field, the loc description of that MARC field is opened in a new tab

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit a2b880e57bb1ccd4b8270ec8bfdcdc86e18a2e48)
Signed-off-by: Matt Blenkinsop <matt.blenkinsop@ptfs-europe.com>
13 months agoBug 32232: Ignore DST when calculating patron age
David Cook [Mon, 17 Apr 2023 00:34:05 +0000 (00:34 +0000)]
Bug 32232: Ignore DST when calculating patron age

This change calculates patron age using the floating timezone, so that
datetimes missing midnight don't cause fatal errors in the comparison.

Test plan:
0. Apply patch
1. Change <timezone></timezone> in koha-conf.xml to include Canada/Eastern
2. koha-plack --restart kohadev
3. Create a patron, setting the date of birth to one of these three dates
- 1947-04-27
- 1948-04-25
- 1949-04-24
4. Save the patron
5. Patron detail page loads instead of producing fatal error

Signed-off-by: Marius Mandrescu <marius.mandrescu@inLibro.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit 5771e6f463c72e17d42478c9970df1c7fb2286f8)
Signed-off-by: Matt Blenkinsop <matt.blenkinsop@ptfs-europe.com>
13 months agoBug 33696: Fix doubled up home icon in budgets page
Tomas Cohen Arazi [Mon, 8 May 2023 12:34:56 +0000 (09:34 -0300)]
Bug 33696: Fix doubled up home icon in budgets page

To test:
1. Go to the Administration > Budgets page
=> FAIL: Breadcrumbs show two little house icons
2. Apply this patch
3. Reload page
=> SUCCESS: Only one icon
4. Sign off :-D

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
(cherry picked from commit b1f623218a3c4ebcde2a7d8ababfa3b507b833e7)
Signed-off-by: Matt Blenkinsop <matt.blenkinsop@ptfs-europe.com>