]> git.koha-community.org Git - koha.git/log
koha.git
71 min agoBug 38501: Prevent failures of Koha/Booking.t when running the Koha_Main_My8 job main
Paul Derscheid [Thu, 21 Nov 2024 10:01:56 +0000 (10:01 +0000)]
Bug 38501: Prevent failures of Koha/Booking.t when running the Koha_Main_My8 job

Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
71 min agoBug 38437: Auto-show modal on single receive
Jonathan Druart [Wed, 20 Nov 2024 10:51:59 +0000 (11:51 +0100)]
Bug 38437: Auto-show modal on single receive

Might have been broken by the bootstrap 5 upgrade, but not sure.
Not sure why the click does not trigger the modal.

1. Place an order in acquisitions
   1.1. Go to Acquisitions
   1.2. Click 'Search' next to 'Search vendors'
   1.3. Click 'Add to basket' next to 'My basket'
   1.4. Search for an existing record (e.g. search for Shakespeare)
   1.5. Click 'Add order' next to a result or in the detailed record
   1.6. In the item form, choose an item type
   1.7. Click 'Add item'
   1.8. Choose a fund
   1.9. Enter a price in 'Vendor price'
   1.10. Click 'Save'
   1.11. Click 'Close basket'
   1.12. Click 'Yes, close'
2. Receive the order
   2.1. Click 'Receive shipments'
   2.2. Enter a value in 'Vendor invoice'
   2.3. Click 'Next'
   2.4. Click 'Receive' next to your order
   => The modal is shown

Signed-off-by: Michaela Sieber <michaela.sieber@kit.edu>
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Emily Lamancusa <emily.lamancusa@montgomerycountymd.gov>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
71 min agoBug 38030: (QA follow-up) Move csrf_token to POST body from URL
David Cook [Tue, 22 Oct 2024 00:42:22 +0000 (00:42 +0000)]
Bug 38030: (QA follow-up) Move csrf_token to POST body from URL

Signed-off-by: David Cook <dcook@prosentient.com.au>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
19 hours agoBug 38436: DBRev 24.06.00.064
Katrin Fischer [Wed, 20 Nov 2024 18:11:23 +0000 (18:11 +0000)]
Bug 38436: DBRev 24.06.00.064

Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
24 hours agoBug 38485: Take user's previous change into consideration for holdings tables col vis
Jonathan Druart [Tue, 19 Nov 2024 16:29:56 +0000 (17:29 +0100)]
Bug 38485: Take user's previous change into consideration for holdings tables col vis

A lot happened, hard to summarize everything.

Basically at this point, we have (among other things):
* fixed bug 38118 (but reintroduced it with bug 36640)
* fixed bug 38436 (the original report was that the is_hidden setting
  was no longer taken into effect on the holdings tables)

Here we are trying to deal with making user's previous changes
persistent across the pagination and col vis changes.

Test plan:
Confirm that hiding checkouts in settings hide the columns
Confirm that showing checkouts then change page (*pagination*, so you need
more than 20 items) and confirm that the columns are still the same
Add a callnumber for an item from page 2 and confirm that the column is
hidden on page 1 and shown on page 2
Hide callnumber from the settings and confirm that the column is hidden
on pages 1 and 2
Show callnumber from the holdings page and confirm that the column is
displayed on page 2, go page 1: hidden, go back page 2: displayed.

And certainly way more other things to test, just confirm that the
behaviours with this patch are consistent with what a end user would
expect.

Note for QA/self: this is not very nice as column-visibility.dt event
can change in datatables.js and not impact this one.
Also the following nice sounds good and should be added to datatables.js
+            if (recalc === false) return;

Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
24 hours agoBug 38482: Deactivate 'save state' for holdings tables
Jonathan Druart [Tue, 19 Nov 2024 14:15:49 +0000 (15:15 +0100)]
Bug 38482: Deactivate 'save state' for holdings tables

This is too complicated (at least for 24.11.00) to have everything works
in all situations.

This table has this specific "hide when empty" behaviour which
complicated how we deal with/restore the state

Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
24 hours agoBug 38482: Remove save state for the holdings tables
Jonathan Druart [Tue, 19 Nov 2024 09:25:06 +0000 (10:25 +0100)]
Bug 38482: Remove save state for the holdings tables

On the holdings table of the bibliographic record detail page, we have a special
behaviour: we hide columns if there is no data to display. Indeed we have a lot
of column and we want to limit the number of columns displayed.

This behaviour conflicts with "Save state": when the columns are hidden the
state is modified. If you leave the page and come back, the column will stay
hidden, even if the global settings does not have it as hidden and even if the
user didn't explicitly hide it.

We want to implement something correctly to prevent a conflict with those 2
behaviours, but 24.11.00 is coming and we need a quick fix: here we are going to
remove save state for these 2 tables.

Test plan:
Apply this patch, restart_all
Go to the tables settings admin, jump to holdings_table
Notice that "Save configuration state on page change" is turned off by default
Go to catalogue/detail.plbiblionumber=13 (item does not have call number)
=> "Call number" column is not displayed
Edit the item, set a call number
Go to catalogue/detail.plbiblionumber=13 (item has call number)
=> "Call number" column is displayed

Go to the tables settings admin, jump to holdings_table
Turn on "Save configuration state on page change"
Go to catalogue/detail.plbiblionumber=1 (item does not have call number)
=> "Call number" column is not displayed
Edit the item, set a call number
Go to catalogue/detail.plbiblionumber=13 (item does not have call number)
=> "Call number" column is still not displayed

This can be considered a bug, that why we are disabling the feature for this
table.

Signed-off-by: Michaela Sieber <michaela.sieber@kit.edu>
Signed-off-by: PhilipOrr <philip.orr@lmscloud.de>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
24 hours agoBug 38436: Fix OPAC tables
Jonathan Druart [Wed, 20 Nov 2024 09:32:13 +0000 (10:32 +0100)]
Bug 38436: Fix OPAC tables

This patch sync columns_settings.inc for the OPAC-side

It however removes 'api' from datatables.js as it is never used.
'api' was renamed 'kohaTable' on bug 29408 but OPAC was forgotten.

Better to not have to deal with this unused code for now, we will
reintroduce it if needed later.

Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
24 hours agoBug 38436: Fix patron categories
Jonathan Druart [Mon, 18 Nov 2024 13:48:42 +0000 (14:48 +0100)]
Bug 38436: Fix patron categories

Make it use bKohaColumnsUseNames as we are building the columns
depending on sysprefs.

Note that the hard-coded list of columns to export is wrong
  exportColumns: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12],
Must use .noExport instead.

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
24 hours agoBug 38436: (follow-up) Fix visibility when bKohaColumnsUseNames is not set
Jonathan Druart [Mon, 18 Nov 2024 13:47:57 +0000 (14:47 +0100)]
Bug 38436: (follow-up) Fix visibility when bKohaColumnsUseNames is not set

Previous commit didn't adjust columns_settings.inc

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
24 hours agoBug 38436: (follow-up) Adjust columns_settings.inc for KohaTable
Jonathan Druart [Mon, 18 Nov 2024 13:47:13 +0000 (14:47 +0100)]
Bug 38436: (follow-up) Adjust columns_settings.inc for KohaTable

Previous commit didn't adjust columns_settings.inc

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
24 hours agoBug 38436: Do not deal with 'Columns' button if no table settings
Jonathan Druart [Sat, 16 Nov 2024 07:05:05 +0000 (08:05 +0100)]
Bug 38436: Do not deal with 'Columns' button if no table settings

If the table does not have table settings we should not deal with the
column visibility and not display the 'Columns' button.

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
24 hours agoBug 38436: Adjust Vue
Jonathan Druart [Sat, 16 Nov 2024 07:03:21 +0000 (08:03 +0100)]
Bug 38436: Adjust Vue

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
24 hours agoBug 38436: Fix visibility when bKohaColumnsUseNames is not set
Jonathan Druart [Fri, 15 Nov 2024 21:07:55 +0000 (22:07 +0100)]
Bug 38436: Fix visibility when bKohaColumnsUseNames is not set

Typically the patrons search.

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
24 hours agoBug 38436: Do not hide all if none to hide
Jonathan Druart [Fri, 15 Nov 2024 15:12:11 +0000 (16:12 +0100)]
Bug 38436: Do not hide all if none to hide

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
24 hours agoBug 38436: Restore hide columns when empty
Jonathan Druart [Fri, 15 Nov 2024 15:06:23 +0000 (16:06 +0100)]
Bug 38436: Restore hide columns when empty

If a column has no data on the items table we should hide the column.

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
24 hours agoBug 38436: Adjust columns_settings.inc for KohaTable
Jonathan Druart [Fri, 15 Nov 2024 15:04:23 +0000 (16:04 +0100)]
Bug 38436: Adjust columns_settings.inc for KohaTable

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
24 hours agoBug 38436: Fix column visibility when bKohaColumnsUseNames is used
Jonathan Druart [Fri, 15 Nov 2024 14:28:41 +0000 (15:28 +0100)]
Bug 38436: Fix column visibility when bKohaColumnsUseNames is used

When the columns displayed in the table can vary (depending on sysprefs)
we use bKohaColumnsUseNames. This allows us to use the name of the
columns instead of there order number.

The code was totally wrong, and didn't retrieve the correct number.

A good example to confirm that is to add:
 console.log("%s is at %s".format(this.columnname, used_id));
at the end of the `if ( use_names ) {` block of _dt_visibility.

If at least one column is hidden by default and cannot be toggled (and
so won't appear in the list of the columns of the "Column visibility" button),
there will be a shift.

This line was definitelly wrong:
 var named_id = $( 'thead th[data-colname="' + this.columnname + '"]', selector ).index( selector + ' th' );
We cannot rely on the order of the visible columns, we need to retrieve
the list of the columns using DT's api.

Now the columns are retrieved using their class names, and from DT's
api.
The code is way nicer and more inline with how we are supposed to play
with DT.
Look at those 2 lines to pass the list of columns to the colvis button:
  let included_columns = table_settings.columns.filter(c => !c.cannot_be_toggled);
  columns: included_columns.map(c => '.' + c.columnname).join(',')

Test plan:
Play intensively with the items table (detail.pl), but also with the
other tables not using bKohaColumnsUseNames (eg. patrons search)
You need to set column as hidden by default and/or cannot be toggled.
You need to play with the "Columns" button.
Note that you need to remove the localStorage keys starting with 'DataTables_'
to retrieve the visibility settings from what is defined in the admin area.

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
24 hours agoBug 38436: Rename columns_settings.columnname in DB
Jonathan Druart [Fri, 15 Nov 2024 14:28:08 +0000 (15:28 +0100)]
Bug 38436: Rename columns_settings.columnname in DB

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
24 hours agoBug 38436: Adjust column names for the holdings tables
Jonathan Druart [Fri, 15 Nov 2024 14:18:38 +0000 (15:18 +0100)]
Bug 38436: Adjust column names for the holdings tables

Removing the prefix holdings_ and otherholdings_
Could have been done at the code level but does not seem necessary to
have different column names

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
24 hours agoBug 38436: Store loaded_from_state in data instead of DT's settings
Jonathan Druart [Fri, 15 Nov 2024 14:04:40 +0000 (15:04 +0100)]
Bug 38436: Store loaded_from_state in data instead of DT's settings

This has been introduced by bug 33484 as we needed to know if the state
was loaded (from URL or localStorage).

If the state is loaded then we need to:
1. not redirect if only one patron to display (to prevent a blocking
   situation)
2. display the table (ie. not defer loading)

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
24 hours agoBug 38436: Store bKohaColumnsUseNames in data instead of DT's settings
Jonathan Druart [Fri, 15 Nov 2024 13:55:20 +0000 (14:55 +0100)]
Bug 38436: Store bKohaColumnsUseNames in data instead of DT's settings

DataTable's settings do no longer allow to store custom properties.
Here we are passing bKohaColumnsUseNames to the constructor, but we
cannot retrieve it later from DT's api.

We need to store it in data().

Test plan:
0. Do not apply this patch
1. In _dt_visibility add console.log(settings.bKohaColumnsUseNames);
   where relevant
2. Open your browser, clear localStorage entries (we want to reach the
   set_default() code)
3. Hit http://localhost:8081/cgi-bin/koha/catalogue/detail.pl?biblionumber=4
Notice that the value is true then false (displayed once per columns).
This is because we are calling _dt_visibility twice:
 * with the 'settings' we passed to the constructor:
1044         [hidden_ids, included_ids] = _dt_visibility(table_settings, settings, this)
 * from set_default() where we pass the settings retrieved from DT's api
900         [hidden_ids, included_ids] = _dt_visibility(table_settings, settings, $("#"+settings.nTable.id));

4. Apply this patch, console.log again and confirm that it's now true.

Notice that everything is then buggy...

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
24 hours agoBug 38436: Do not try to build the table if tab is not there
Jonathan Druart [Fri, 15 Nov 2024 13:46:28 +0000 (14:46 +0100)]
Bug 38436: Do not try to build the table if tab is not there

If we don't have the "other holdings" tab, no need to try to build the
table.

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
24 hours agoBug 28294: (follow-up) Adjust call to request transfer
Nick Clemens [Tue, 19 Nov 2024 18:28:30 +0000 (18:28 +0000)]
Bug 28294: (follow-up) Adjust call to request transfer

The call expects a library object, not a  branchcode, likely rebasing issue

To test:
1 - Place a hold for an item at a different library than current library
2 - Check item in and confirm transfer
3 - Check item in again
4 - Kaboom!
5 - Apply patch/restart_all
6 - Check item in again
7 - Ok!

Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
24 hours agoBug 38492: Update occurrences of _() to __()
Pedro Amorim [Wed, 20 Nov 2024 10:40:54 +0000 (10:40 +0000)]
Bug 38492: Update occurrences of _() to __()

Test plan, ktd:
1) Generate translation files
$ gulp po:update --lang de-DE
2) Verify that strings using _() do not exist on the pot file:
$ cat -n misc/translator/Koha-messages-js.pot | grep "Copied!"
$ cat -n misc/translator/Koha-messages-js.pot | grep "Form not submitted because of the following problem"
$ cat -n misc/translator/Koha-messages-js.pot | grep "No matches found"
3) Apply patch. Repeat test plan.

Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
27 hours ago38424: Update yarn.lock
Katrin Fischer [Tue, 19 Nov 2024 16:08:10 +0000 (16:08 +0000)]
38424: Update yarn.lock

Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
27 hours agoBug 38424: Upgrade redoclyly/cli version to latest stable
Tomas Cohen Arazi [Tue, 12 Nov 2024 13:44:55 +0000 (13:44 +0000)]
Bug 38424: Upgrade redoclyly/cli version to latest stable

This patch updates the used version of redocly/cli to the latest stable.

To test:
1. Apply this patch
2. Run:
   $ ktd --shell
  k$ yarn api:bundle
=> FAIL: You get

```
yarn run v1.22.22
$ redocly bundle --ext json api/v1/swagger/swagger.yaml --output api/v1/swagger/swagger_bundle.json

    ╔════════════════════════════════════════════════════════╗
    ║                                                        ║
    ║  A new version of Redocly CLI (1.25.11) is available.  ║
    ║  Update now: `npm i -g @redocly/cli@latest`.           ║
    ║  Changelog: https://redocly.com/docs/cli/changelog/    ║
    ║                                                        ║
    ╚════════════════════════════════════════════════════════╝

bundling api/v1/swagger/swagger.yaml...
📦 Created a bundle for api/v1/swagger/swagger.yaml at api/v1/swagger/swagger_bundle.json 207ms.
Done in 1.34s.
```

3. Apply this patch
4. Run:
  k$ sudo yarn install --modules-folder /kohadevbox/node_modules
5. Repeat 2:
=> SUCCESS: You get

```
yarn run v1.22.22
$ redocly bundle --ext json api/v1/swagger/swagger.yaml --output api/v1/swagger/swagger_bundle.json
bundling api/v1/swagger/swagger.yaml...
📦 Created a bundle for api/v1/swagger/swagger.yaml at api/v1/swagger/swagger_bundle.json 200ms.
Done in 1.29s.
```

6. Restart plack and check the API loads without issues:
  k$ koha-plack --restart kohadev;  tail -f /var/log/koha/kohadev/*.log
7. Run the tests:
  k$ prove -r t/db_dependent/api/
=> SUCCESS: No failures
8. Sign off :-D

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>
46 hours agoBug 35659: (QA follow-up) Fix DateTime and cronlogaction messages
Matthias Meusburger [Tue, 19 Nov 2024 13:54:41 +0000 (13:54 +0000)]
Bug 35659: (QA follow-up) Fix DateTime and cronlogaction messages

Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
46 hours agoBug 36640: (follow-up) Fix itemsearch
Jonathan Druart [Tue, 19 Nov 2024 10:39:24 +0000 (11:39 +0100)]
Bug 36640: (follow-up) Fix itemsearch

We replaced 'columnFilter', and it's no longer there.

Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
46 hours agoBug 38315: Add expired class to expired patrons in patron search results
Lucas Gass [Thu, 31 Oct 2024 14:53:49 +0000 (14:53 +0000)]
Bug 38315: Add expired class to expired patrons in patron search results

To test:
0. APPLY PATCH
1. Have some expired patrons
2. Do a search that will return some expired patrons and some not expired.
3. Look at the 'Expires on' column.
4. The expired patrons should have an expired class set and the date should be red/italic.

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>
46 hours agoBug 38239: Incorrect number of items to pull (in Holds to pull) with partially filled...
Janusz Kaczmarek [Wed, 23 Oct 2024 13:27:52 +0000 (13:27 +0000)]
Bug 38239: Incorrect number of items to pull (in Holds to pull) with partially filled holds

With a over-sufficient number of items, when more than one patron has
placed hold, and the holds have been partially filled (checked-in =
waiting for pick up), the number of items to pull in the Holds
to pull table shows the total number of holds, including those waiting.
This erroneously suggests to the librarian to pull an excessive number
of items from the shelves.

Test plan:
==========

1. For a bibliographic record with more than two items (in ktd, e.g.
   "Lanark a life in four books"), place hold for two patrons.
2. On the Holds to pull page control that there are two items to pull.
3. As a librarian from the library of one of the patrons, Check-in one
   item.
4. Note that in Holds to pull table you still see two items to pull,
   which is misleading.
5. Apply the patch; restart_all.
6. Now you should see only one item to be pulled.

Sponsored-by: Ignatianum University in Cracow
Signed-off-by: Roman Dolny <roman.dolny@jezuici.pl>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
46 hours agoBug 38344: Fix typo - space before exclamation mark in "Thank you !"
David Nind [Sun, 10 Nov 2024 19:17:02 +0000 (19:17 +0000)]
Bug 38344: Fix typo - space before exclamation mark in "Thank you !"

In English, there should not be a space before an exclamation mark
in a sentence. For example, "Thank you !" is not correct.

Test plan:
1. Search the codebase for "Thank you !": grep -rn "Thank you !" *
2. Result - one occurance:
   C4/SIP/ILS.pm:317:    return (1, 'Thank you !', '');
3. Apply the patch.
4. Repeat step 1.
5. There should now be no occurances.

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Phil Ringnalda <phil@chetcolibrary.org>
Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
46 hours agoBug 28075: (follow-up) adding all choices and values of 135a
George Veranis [Thu, 7 Nov 2024 13:39:16 +0000 (14:39 +0100)]
Bug 28075: (follow-up) adding all choices and values of 135a

Extend patch of 135a to cover all choices with all possible values as
described by IFLA for 135a.

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>
46 hours agoBug 28075: Add missing UNIMARC coded data 135a
Didier Gautheron [Thu, 7 Nov 2024 13:32:35 +0000 (14:32 +0100)]
Bug 28075: Add missing UNIMARC coded data 135a

This patch add more values to selection of 135a in UNIMARC

Test Plan:
    1) Add on default framework the field 135a and check the Editor option
    2) Set on plugin section the value of unimarc_field_135a.pl
    3) Open cataloguing editor and use 135 field tag editor to select a value
    4) Apply patch
    5) Open cataloguing editor and use 135 field tag editor to select a value,
       after patch you have more options to select

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>
46 hours agoBug 38463: Unnecessary CSRF token in OPAC authority search
Phil Ringnalda [Fri, 15 Nov 2024 22:13:11 +0000 (14:13 -0800)]
Bug 38463: Unnecessary CSRF token in OPAC authority search

Bug 37069 correctly changed OPAC authority searches from a POST to a GET, but
forgot to remove the CSRF token that is only needed for a POST, so now it
clutters up the URL by making the first 107 characters of the query string
meaningless.

Test plan:
 1. Without the patch, in the OPAC, go to Authority search
 2. Change the dropdowns to non-default values so you have meaningful search
    conditions, and search for something that will return results, like
    Topical Term/starts with/a/in any heading/Heading descendant
 3. Copy the URL of your search results, paste it in an email compose window,
    look at what you just pasted and wonder whether that big opaque string is
    actually safe to send to a coworker. Go to lunch. Come back and wonder
    what you searched for, and look at the URL in the browser to try to tell
 4. Apply patch, click the browser back button, reload the page, search again
 5. Copy and paste the URL, notice it looks fine to send, just a search. Look
    at the URL in the browser address bar, notice that within the limits of
    your window size, you can see what you searched for

Sponsored-by: Chetco Community Public Library
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Emily Lamancusa <emily.lamancusa@montgomerycountymd.gov>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
46 hours agoBug 37946: (follow-up) Update menu style to hide
Owen Leonard [Fri, 20 Sep 2024 12:01:11 +0000 (12:01 +0000)]
Bug 37946: (follow-up) Update menu style to hide

We shouldn't use hide() to hide the Bootstrap menu. The correct move
here is to empty the "style" attribute.

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>
46 hours agoBug 37946: Double menu when clicking the caret in Z39.50 search
Owen Leonard [Wed, 18 Sep 2024 17:49:21 +0000 (17:49 +0000)]
Bug 37946: Double menu when clicking the caret in Z39.50 search

This patch makes some adjustments to the JS for the Z39.50 search
results page to correct the behavior of dropdown menus. If the split
button's menu trigger is clicked a cloned version of the menu shouldn't
appear along with the default one.

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

- Go to Cataloging -> New from Z39.50.
- Perform a search which will return multiple results.
- Click any table cell in the results except the last one.
  - You should get a popup menu with "MARC preview," "Card preview," and
    "Import."
  - Each menu item should work correctly.
- Test the button in the last column to confirm that both the "primary"
  button works correctly and that the popup menu works correctly.
- Test the process of adding a new authority from Z39.50 to confirm that
  the authority search results table works the same as the bibliographic
  one.

Signed-off-by: David Nind <david@davidnind.com>
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>
46 hours agoBug 38326: (QA follow-up) Tidy
Matt Blenkinsop [Mon, 18 Nov 2024 11:34:17 +0000 (11:34 +0000)]
Bug 38326: (QA follow-up) Tidy

Signed-off-by: Matt Blenkinsop <matt.blenkinsop@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
46 hours agoBug 38326: Don't convert to copynumber
Lucas Gass [Fri, 1 Nov 2024 16:31:11 +0000 (16:31 +0000)]
Bug 38326: Don't convert to copynumber

To test:
1. Set copynumber in MarcItemFieldsToOrder: copyno: 965$z
2. Have a mrc file that includes this marc field
3. Stage a mrc file for import
4. Notice the copynumber isn't correctly copied over
5. APPLY PATCH, restart_all
6. Try again, this time it should work.

Signed-off-by: Sam Sowanick <sam.sowanick@corvallisoregon.gov>
Signed-off-by: Matt Blenkinsop <matt.blenkinsop@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2 days agoRevert "Bug 38299: [DO NOT PUSH] Test dbrev"
Katrin Fischer [Tue, 19 Nov 2024 08:11:04 +0000 (08:11 +0000)]
Revert "Bug 38299: [DO NOT PUSH] Test dbrev"

This reverts commit 0be29ed976a682bc85f669860850ac331fcca633.

Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2 days agoBug 24690: Make OPACPopupAuthorsSearch work with search terms containing parenthesis
Owen Leonard [Mon, 1 Jul 2024 12:28:56 +0000 (12:28 +0000)]
Bug 24690: Make OPACPopupAuthorsSearch work with search terms containing parenthesis

This patch updates the OPACPopupAuthorsSearch feature so that it wraps
search terms with quotes. This is the behavior we have in place for
author searches outside the context of OPACPopupAuthorisSearch, e.g.
'au:"Criterion Collection (Firm)"'

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

- Search for a record in the OPAC which has author data containing
  parentheses (it should not be a field linked to an authority record).
- View the detail page for that record.
- Click on one of the problematic author links.
- This should trigger a modal window with a list of authors and
  checkboxes for each.
- With just the single checkbox checked, click "Search."
- The search should return the correct results.
- Test other author searches to confirm that they work too.

Sponsored-by: Athens County Public Libraries
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>
2 days agoBug 38346: Make sidebar checkboxes consistent
Owen Leonard [Mon, 4 Nov 2024 14:44:46 +0000 (14:44 +0000)]
Bug 38346: Make sidebar checkboxes consistent

This patch makes some changes to markup and CSS in order to make
checkboxes in sidebars more consistent with each other and better
styled.

To test apply the patch and rebuild the staff interface CSS. Check the
sidebar forms on these pages and verify that the checkbox inputs look
correct. The label should be on the same line as the checkbox.

- Serials -> Search serials -> Results: The "Has routing list" line.
- Administration -> Funds: The "Show my funds only" checkbox.
- Circulation -> Overdues: "Show any items currently checked out."
- Suggestions: "Include archived."

Sponsored-by: Athens County Public Libraries
Signed-off-by: Roman Dolny <roman.dolny@jezuici.pl>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2 days agoBug 37866: (QA follow-up) Fix another missed case
Emily Lamancusa [Tue, 12 Nov 2024 20:46:08 +0000 (15:46 -0500)]
Bug 37866: (QA follow-up) Fix another missed case

Signed-off-by: Emily Lamancusa <emily.lamancusa@montgomerycountymd.gov>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2 days agoBug 37866: Unable to resolve claim from patron details page if syspref ClaimReturnedL...
Emmi Takkinen [Wed, 11 Sep 2024 11:05:33 +0000 (14:05 +0300)]
Bug 37866: Unable to resolve claim from patron details page if syspref ClaimReturnedLostValue is disabled

If ones tries to resolve a claim from patrons detail page
and syspref ClaimReturnedLostValue is disabled,
"Resolve return claim" pop up isn't displayed. Page just
jumps to the top of the page. However this works from the
patron check out page.

This happens because in moremember.tt line 765 we only
check if  ClaimReturnedLostValue is enabled. In
circulation.tt line 1023 we check if either
ClaimReturnedLostValue or BundleLostValue syspref is enabled.

To test:
1. Disable syspref "ClaimReturnedLostValue" (set used value empty).
2. Find patron with claims (or create them).
3. Navigate to patrons detail page and from there open "Claims" tab.
4. Press "Resolve" button.
=> Pop up isn't displayed and page jumps to the top of the page.
5. Repeat steps on patrons check out page.
=> Pop up is displayed.
6. Apply this patch.
=> Pop up should now be displayed both in patrons details and check
out pages.

Sponsored-by: Koha-Suomi Oy
Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Emily Lamancusa <emily.lamancusa@montgomerycountymd.gov>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2 days agoBug 38299: (follow-up) (discussion) Move failure into same level
Jonathan Druart [Wed, 13 Nov 2024 11:14:50 +0000 (12:14 +0100)]
Bug 38299: (follow-up) (discussion) Move failure into same level

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2 days agoBug 38299: (discussion) Move failure into same level
Martin Renvoize [Tue, 12 Nov 2024 15:23:30 +0000 (15:23 +0000)]
Bug 38299: (discussion) Move failure into same level

This patch adds the failures in at the same level as the rest of the
revision output (i.e. indented under the specific database revision) and
uses the standard failure coloring instead of the local update_error
class.

This is a proposal and may need more work to clarify and perhaps remove
the duplicated/collected errors at the bottom of the update. Now that we
hard stop if an update fails, I'm not sure collecting errors at the
bottom makes as much sense as it once did?

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2 days agoBug 38299: Update tests
Emily Lamancusa [Thu, 7 Nov 2024 16:17:12 +0000 (11:17 -0500)]
Bug 38299: Update tests

To test:
prove -v t/Koha/Installer/Output.t

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2 days agoBug 38299: Use say_failure when printing update errors to the console
Emily Lamancusa [Thu, 7 Nov 2024 15:28:55 +0000 (10:28 -0500)]
Bug 38299: Use say_failure when printing update errors to the console

Bug 35681 added subroutines to print colored output from database
updates. Incorporate the subroutine say_failure into the error handling
in the upstream code, so that errors caught upstream can take advantage
of this new subroutine and display in red.

To test:
1. Apply patch for test dbrev
2. From the kshell, run updatedatabase
--> The messages for success, info, warning, and failure that were
    explicitly printed in the dbrev are colored, but the database error
    is not colored.
3. Apply other patches
4. Run updatedatabase again
--> All messages including the database error are now colored

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>
2 days agoBug 38299: Make filehandler optional for colored outputs
Emily Lamancusa [Thu, 7 Nov 2024 15:21:19 +0000 (10:21 -0500)]
Bug 38299: Make filehandler optional for colored outputs

Allow say_success, say_failure, etc, to omit the filehandler parameter
so that they can be used without explicitly opening a filehandler if you
are just printing to STDOUT and don't already have one.

If a filehandler is passed, the existing behavior is unchanged.

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>
2 days agoBug 38299: [DO NOT PUSH] Test dbrev
Emily Lamancusa [Thu, 7 Nov 2024 15:20:01 +0000 (10:20 -0500)]
Bug 38299: [DO NOT PUSH] Test dbrev

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2 days agoBug 38380: Fix other instances of obsolete col-*-offset classes from templates
Owen Leonard [Wed, 6 Nov 2024 16:32:33 +0000 (16:32 +0000)]
Bug 38380: Fix other instances of obsolete col-*-offset classes from templates

This patch corrects a few remaining instances of obsolete col-*-offset
classes from a few different templates.

To test, apply the patch and make sure you have the system preferences
AllowCheckoutNotes and ArticleRequests.

- Go to Circulation -> Article requests. If necessary, create an article
  request.
  - From the list of requests, click Actions -> Cancel request. The
    "Confirm deletion" modal form should be well-formatted.
  - From the list of requests, under the "New" tab, click a record
    title to view the details for that article request.
    - In the list of patron requests, click the "X" to delete the
      request. The "Confirm deletion" modal form should be
      well-formatted.
- Log into the OPAC as a user with checkouts. On your summary page,
  under the "Checked out" tab, click the "Add note" button and save a
  new note.
- Go to Circulation -> Checkout notes. The layout should look correct.
  Toggle the CircSidebar system preference and reload the checkout notes
  page. It should still look correct.
- The last change, to the patron clubs template page, only modifies a
  comment.

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Aleisha Amohia <aleishaamohia@hotmail.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2 days agoBug 29818: Cannot save subscription frequency without display order
Phil Ringnalda [Wed, 13 Nov 2024 05:31:02 +0000 (21:31 -0800)]
Bug 29818: Cannot save subscription frequency without display order

The schema says that subscription_frequencies.displayorder can be null, and
everything else deals with it being null just fine, but if you try to save
a new frequency without specifying display order with strict_sql_modes set,
you get an error.

Test plan:
 1. Without the patch, Serials - Manage frequencies - New frequency
 2. Description is mandatory, so fill it in, then click Save
 3. Boom! Apply patch, restart_all
 4. Repeat steps 1-2, and verify that no error is thrown and the new
    frequency shows up (at the top of the list since nothing comes before
    something)
 5. New frequency, fill in Description, try typing something other than a
    number in Display order and saving. You should be told to follow the
    directions that only numeric characters are allowed

Sponsored-by: Chetco Community Public Library
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Aleisha Amohia <aleishaamohia@hotmail.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2 days agoBug 37326: decode barcode file in inventory tool
Nick Clemens [Thu, 11 Jul 2024 12:03:40 +0000 (12:03 +0000)]
Bug 37326: decode barcode file in inventory tool

This patch ensures that barcodes uploaded as a file into batchMod are run through
any transformations to match the behaviour of barcodes entered in a list

To test:
1 - Edit BarcodeSeparators system preference to remove \s
2 - Install barcode transformer plugin:
    https://github.com/bywatersolutions/koha-plugin-barcode-transformer/releases/tag/v1.2.0
3 - Configure the plguin:
item:
  -
    match: "^[A-Z]* \| "
    search: "^[A-Z]* \| "
    replace: ""
  -
    match: " \| .*$"
    search: " \| .*$"
    replace: ""
4 - Go to Cataloging->Batch item modification
5 - Enter a list of barcodes into the 'Scan one by one' box like:
ERR | 12345 | ERR
FOO | 23456 | FOO
BAR | 34567 | BAR
6 - Click 'Continue'
7 - Note the barcodes not found are:
12345
23456
34567
8 - Save the barcodes with extra text into a file
9 - Perform batch mod, supplying the barcodes via the file
10 - Note the barcodes not found are the original strings
11 - Apply patch, restart all
12 - Perform batch modification using file again
13 - Note the not found barcodes are the transformed version
14 - Sign off!

Signed-off-by: Brendan Lawlor <blawlor@clamsnet.org>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2 days agoBug 37854: Re-indent HTML (whitespace-only)
David Cook [Fri, 6 Sep 2024 01:49:35 +0000 (01:49 +0000)]
Bug 37854: Re-indent HTML (whitespace-only)

This whitespace only change re-indents the HTML

Signed-off-by: Olivier V <olivier.vezina@inLibro.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2 days agoBug 37854: Add fieldset.rows so that Javascript works
David Cook [Fri, 6 Sep 2024 01:45:27 +0000 (01:45 +0000)]
Bug 37854: Add fieldset.rows so that Javascript works

This change adds a fieldset.rows that the Javascript produced
by C4/Barcodes/ValueBuilder.pm will work here too like it
does for /cgi-bin/koha/cataloguing/additem.pl and
/cgi-bin/koha/acqui/neworderempty.pl

The fieldset.rows element ruins the styling, so we add some context
specific styling to the styling is preserved.

Test plan:
0. Apply the patch
1. Set "autoBarcode" to "generated in the form <branchcode>yymm0001"
2. Create a vendor
3. Create a backet with "Create items when" set to "receiving an order"
4. Add an order (any order)
5. Close the basket
6. Receive the shipment
7. Click in the barcode field
8. Note that you get a barcode like CPL24090001 and not undefined24090001

Signed-off-by: Olivier V <olivier.vezina@inLibro.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2 days agoBug 38416: Tidy
David Cook [Mon, 11 Nov 2024 22:17:58 +0000 (22:17 +0000)]
Bug 38416: Tidy

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2 days agoBug 38416: Add unit tests
David Cook [Mon, 11 Nov 2024 04:40:52 +0000 (04:40 +0000)]
Bug 38416: Add unit tests

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2 days agoBug 38416: Failover to MARCXML if cannot roundtrip USMARC during indexing
David Cook [Mon, 11 Nov 2024 04:30:06 +0000 (04:30 +0000)]
Bug 38416: Failover to MARCXML if cannot roundtrip USMARC during indexing

This change failsover to MARCXML from USMARC if there are any
warnings generated by MARC::File::USMARC::decode when trying to
roundtrip the record.

Test plan:
0. Apply the patch
1. Setup your koha-testing-docker to use Elasticsearch
2. Create a new record with 15,000 characters in the 500$a field
3. Index that record
(e.g. perl misc/search_tools/rebuild_elasticsearch.pl --biblios -v -v)
4. Note that a warning saying the following appears:
"Warnings encountered while roundtripping a MARC record to/from USMARC.
Failing over to MARCXML"
5. View the "Elasticsearch record" on the detail page and note that the
marc_format is MARCXML
6. Perform a search for the record (the keyword should be something that
brings up other results too)
7. Note that the record appears correctly in the search results

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2 days agoBug 38186: Don't initiate transfer when cancelling hold on lost item
Emily Lamancusa [Wed, 16 Oct 2024 14:14:51 +0000 (10:14 -0400)]
Bug 38186: Don't initiate transfer when cancelling hold on lost item

To test:
0. In the Circulation Rules, set the default return policy to "item
    returns home (default settings have this already)
1. Find an item belonging to a branch other than the logged-in branch
2. Place a hold on that biblio record for pickup at the logged-in branch
3. Check in the item to set the hold to waiting
4. Set the expiration date to a date in the past
   To do this in KTD:
   ktd --shell
   koha-mysql kohadev
   UPDATE reserves SET expirationdate = < yesterday's date >;
5. Set a lost status on the item
6. Go to Circulation > Holds awaiting pickup
--> The hold should appear on the "holds waiting past their expiration
     date" tab
7. Click the "Cancel and return to <homebranch>" button next to the hold
8. Open the biblio record for the item
--> Note that the lost status is gone and the item shows as in-transit
9. Apply patch
10. Repeat steps 2-8 on the same item
--> This time, the item is still lost and is not in-transit

Signed-off-by: Brendan Lawlor <blawlor@clamsnet.org>
Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2 days agoBug 30745: (QA follow-up) tidy
David Cook [Thu, 14 Nov 2024 05:44:59 +0000 (05:44 +0000)]
Bug 30745: (QA follow-up) tidy

Signed-off-by: David Cook <dcook@prosentient.com.au>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2 days agoBug 30745: (follow-up) Rewritting the st-date-normalized test
Olivier V [Thu, 24 Oct 2024 14:43:33 +0000 (10:43 -0400)]
Bug 30745: (follow-up) Rewritting the st-date-normalized test

The patch was corrupted, and was rewritten as the original one by
Hammat

Signed-off-by: Andrew Fuerste Henry <andrew@bywatersolutions.com>
Signed-off-by: David Cook <dcook@prosentient.com.au>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2 days agoBug 30745: Fix error 500 when item is not found while using zebra
Hammat Wele [Mon, 26 Aug 2024 17:36:10 +0000 (17:36 +0000)]
Bug 30745: Fix error 500 when item is not found while using zebra

Plan test :
- Apply this batch
- Set Zebra as searchEngine
- Go to Cataloging -> # Label creator
- Click on New, Select Label batch
- Click on Add item(s)
- Search for for inexisting items
=> The page should refresh itself (so that it has the same behavior as elasticSearch)

Signed-off-by: Andrew Fuerste Henry <andrew@bywatersolutions.com>
Signed-off-by: David Cook <dcook@prosentient.com.au>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2 days agoBug 30745: Display pagination for the results page
Emily-Rose Francoeur [Thu, 26 Oct 2023 15:28:35 +0000 (11:28 -0400)]
Bug 30745: Display pagination for the results page

I have fixed the pagination issue when the search returns multiple results.

Test plan:
    - Enable elasticsearch
    - git to labels/label-item-search.pl
    - search using after date only
            => check you get items with date-of-acquisition greater than after
date
    - search using before date only
            => check you get items with date-of-acquisition less than before
date
    - search using after and before date
            => check you get items with date-of-acquisition between after and
before
    - Combine this searches with a specified index
    - enable zebra and repeat these tests
pagination tests
    - Perform a search that returns more than 20 notices
    - Navigate through different result pages using page numbers, the "Next" button, and the "Previous" button
    => On each page, check that "Results X through X of X" displays the correct information

Signed-off-by: Andrew Fuerste Henry <andrew@bywatersolutions.com>
Signed-off-by: David Cook <dcook@prosentient.com.au>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2 days agoBug 30745: handle ES ranges for date of acquisition
Alex Arnaud [Thu, 12 May 2022 15:29:52 +0000 (17:29 +0200)]
Bug 30745: handle ES ranges for date of acquisition

Test plan:
  - Enable elasticsearch
  - git to labels/label-item-search.pl
  - search using after date only
    => check you get items with date-of-acquisition greater than after
date
  - search using before date only
    => check you get items with date-of-acquisition less than before
date
  - search using after and before date
    => check you get items with date-of-acquisition between after and
before
  - Combine this searches with a specified index
  - enable zebra and repeat these tests

Signed-off-by: Andrew Fuerste-Henry <andrew@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
https://bugs.koha-community.org/show_bug.cgi?id=30845
Signed-off-by: Andrew Fuerste Henry <andrew@bywatersolutions.com>
Signed-off-by: David Cook <dcook@prosentient.com.au>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2 days agoBug 30745: Use query builder and search_compat in label-item-search
Alex Arnaud [Thu, 12 May 2022 09:56:04 +0000 (11:56 +0200)]
Bug 30745: Use query builder and search_compat in label-item-search

Test plan:
  - apply this patch,
  - make some searches in labels/label-item-search.pl using
    the 3 form input (index, after date, before date),
  - check it works like before

Signed-off-by: Andrew Fuerste-Henry <andrew@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
https://bugs.koha-community.org/show_bug.cgi?id=30845
Signed-off-by: Andrew Fuerste Henry <andrew@bywatersolutions.com>
Signed-off-by: David Cook <dcook@prosentient.com.au>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2 days agoBug 38428: (QA follow-up) Squash QA script warning
Martin Renvoize [Wed, 13 Nov 2024 08:12:55 +0000 (08:12 +0000)]
Bug 38428: (QA follow-up) Squash QA script warning

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2 days agoBug 38428: Use links for stock rotation action buttons
Nick Clemens [Tue, 12 Nov 2024 17:50:10 +0000 (17:50 +0000)]
Bug 38428: Use links for stock rotation action buttons

This patch converts the action buttons on the stock rotation rota
manage items page to be links to avoid repeating form values (CSRF tokens, etc)

It moves the confirmation for removal from a rota to be a confirm and not a full page reload.

It also moves the fetch of a transfer into a shared variable.

Lastly, there is some chomping added to remove extra whitespace.

To test:
1 - Enable SotckRotation
2 - Create a rota
3 - Add some stages
4 - Add items to the rota
5 - Test the buttons to advance stage, add 'in demand' and remove
6 - Apply patch
7 - Confirm all buttons continue to function
8 - Sign off

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2 days agoBug 33736: (follow-up) Cleanup and consistency
Martin Renvoize [Fri, 15 Nov 2024 13:34:23 +0000 (13:34 +0000)]
Bug 33736: (follow-up) Cleanup and consistency

Given Jonathans comments, this patch performs the requested cleanups.

* We use the new select option for kohaTables for the pickup library
search.
* We add pickup library to the aside filters.
* We remove the empty placeholder 'actions' column.
* We drop the filtering on 'waiting' which will be reintroduced by the
  next but in the tree.

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2 days agoBug 37790: Add skip indexing and holds queue options and verbosity to update localuse...
Nick Clemens [Fri, 30 Aug 2024 11:05:59 +0000 (11:05 +0000)]
Bug 37790: Add skip indexing and holds queue options and verbosity to update localuse script

This patch skips record indexing and real time holds queue updates when updating the localuse field
from statistics. A note is added to the script that the user should reindex if the localuse field is mapped.

Additionally a verbose option is added to the script, and doubled use of GetOptions is removed.

Lastly, a check is added to confirm the items value is being changed before the value is stored.

To test:
 1 - Enable the real time holds queue
 2 - Enable Elasticsearch
 3 - perl misc/maintenance/update_localuse_from_statistics.pl --confirm
 4 - Note all items are touched and reported
 5 - Check the background jobs table - there are many jobs generated
 6 - Apply patch
 7 - perl misc/maintenance/update_localuse_from_statistics.pl --confirm
 8 - Note 0 items are reported updated, no new background jobs
 9 - perl misc/maintenance/update_localuse_from_statistics.pl --confirm --verbose
10 - No items reported
11 - Update some items in the DB
     UPDATE items SET localuse = 99 WHERE itemnumber LIKE '%9';
12 - perl misc/maintenance/update_localuse_from_statistics.pl --confirm
13 - Only the number of items changed above reported
14 - UPDATE items SET localuse = 99 WHERE itemnumber LIKE '%9';
15 - perl misc/maintenance/update_localuse_from_statistics.pl --confirm --verbose
16 - Each item changed reported, and the amounts, and the total items updated.

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2 days agoBug 37910: Sync fixes to detail page
Martin Renvoize [Tue, 29 Oct 2024 15:00:09 +0000 (15:00 +0000)]
Bug 37910: Sync fixes to detail page

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Aleisha Amohia <aleishaamohia@hotmail.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2 days agoBug 37910: Minor improvements to comment form
Martin Renvoize [Tue, 29 Oct 2024 14:43:03 +0000 (14:43 +0000)]
Bug 37910: Minor improvements to comment form

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Aleisha Amohia <aleishaamohia@hotmail.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2 days agoBug 37910: Update concerns styling to flexbox
Martin Renvoize [Tue, 29 Oct 2024 11:35:39 +0000 (11:35 +0000)]
Bug 37910: Update concerns styling to flexbox

With the update to bootstrap 5 we loose some of the absolute and
relative positioning helpers, namely pull-right, which were used in the
catalog concerns pages.

This patch updates the table and modal styling to use modern flexbox
utlities from bootstrap 5 instead to improve the styling and fix the
regressions.

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Aleisha Amohia <aleishaamohia@hotmail.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2 days agoBug 36132: Allow to delete multiple patron lists on any page
Hammat Wele [Mon, 12 Aug 2024 19:15:04 +0000 (19:15 +0000)]
Bug 36132: Allow to delete multiple patron lists on any page

Plan test :
1. Apply the patch.
2. Create at least 22 patron lists (Navigate to Tools > Patron lists > New patron list).
3. Select the lists you want to delete on the 2nd page
4. Click the "Delete selected lists" button.
5. Confirm that the selected lists have been deleted.
6. Ensure that the button cannot be used if no list is selected.

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>
2 days agoBug 38413: Batch operations from item search need to POST to not exceed URL length...
Phil Ringnalda [Sat, 9 Nov 2024 00:53:23 +0000 (16:53 -0800)]
Bug 38413: Batch operations from item search need to POST to not exceed URL length limits

Batch item modification and deletion accepts either op="show" or op="cud-show"
because sometimes you just have one item and it's saner to GET with one, but
sometimes you've selected 961 items from itemsearch and you need to POST to
not get hit by Apache's "too long" error.

Bug 36630 switched item search from using POST to GET because item search is
confusing. It uses a form with a dummy op and then empties out the form and
adds back contents, and the CSRF protection changed the dummy op to "cud-show"
so it could POST, but didn't notice that the op would be replaced by one that
was still "show." The form needs to go back to POST, the dummy contents need a
comment saying they are just dummies so nobody else gets fooled, and the JS
that replaces the form contents needs to insert a CSRF token and the correct op.

Test plan:
 1. Without the patch, Search - Item search, search with no criteria so you
    get hundreds of items
 2. Change to Show All entries, then Select visible rows
 3. Batch operations - Batch item modification
 4. Apache should give you an error about your overly long URL
 5. Apply patch and repeat steps 1-3
 6. After a long pause while Batch item modification swallows the POST, you
    should get the batch modification form with all your items.

Sponsored-by: Chetco Community Public Library
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Emily Lamancusa <emily.lamancusa@montgomerycountymd.gov>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2 days agoBug 38357: Prevent holidays to be wrongly added
Jonathan Druart [Wed, 6 Nov 2024 08:37:02 +0000 (09:37 +0100)]
Bug 38357: Prevent holidays to be wrongly added

This patch resets @holiday_list to an empty array, to prevent holidays
to be accumulated in worker's memory.

If you added single holidays to library A then others to library B,
holidays from A were also added to B.

Test plan:
Go to /cgi-bin/koha/tools/holidays.pl
Define the holidays for Centerville
 Select a date
 To: another date (pick only 2 days to ease testing)
 Set a title "cpl"
 Tick "Holidays on a range"
 Save
Define the holidays for Fairview
 Select *another* date
 To: another date (pick only 2 days to ease testing)
 Set a title "fpl"
 Tick "Holidays on a range"
 Save

=> Without this patch Fairview has 4 days of holidays instead of 2
=> With this patch applied the dates you selected are considered
holidays for Fairview

Signed-off-by: Emmi Takkinen <emmi.takkinen@koha-suomi.fi>
Signed-off-by: Emily Lamancusa <emily.lamancusa@montgomerycountymd.gov>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2 days agoBug 38378: Serial frequency deletion needs to be converted to POST from GET
Phil Ringnalda [Fri, 8 Nov 2024 22:08:18 +0000 (14:08 -0800)]
Bug 38378: Serial frequency deletion needs to be converted to POST from GET

Deleting a serial frequency is (or can be) a two step process. If you are
deleting a frequency which is in use, you get back a page warning you that it
is in use, which the CSRF changes converted to a form POSTing with a CSRF
token and the new op cud-del. However, to get there you have to go through
the step that's the only step if the frequency isn't in use, clicking a link
that still thinks the op is named del rather than cud-del. That link needs to
instead be a form with a CSRF token and a POST of cud-del.

Test plan:
 1. Without the patch, Serials - Manage frequencies
 2. For any frequency, click Delete, click OK in the confirmation popup
 3. Nothing happened except your URL changing, the frequency is still there
 4. Apply patch, reload Manage frequencies
 5. For any frequency, click Delete, click OK in the confirmation popup
 6. This time, your frequency was deleted

Sponsored-by: Chetco Community Public Library
Signed-off-by: Brendan Lawlor <blawlor@clamsnet.org>
Signed-off-by: David Cook <dcook@prosentient.com.au>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2 days agoBug 38391: Do not redraw on adjusting col vis in drawcallback
Jonathan Druart [Wed, 13 Nov 2024 15:58:50 +0000 (16:58 +0100)]
Bug 38391: Do not redraw on adjusting col vis in drawcallback

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2 days agoBug 38069: (follow-up) Fix jump to the correct table
Jonathan Druart [Mon, 18 Nov 2024 12:22:29 +0000 (13:22 +0100)]
Bug 38069: (follow-up) Fix jump to the correct table

Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2 days agoBug 36454: Selenium - test patrons must start with 'test_'
Jonathan Druart [Mon, 18 Nov 2024 13:16:14 +0000 (14:16 +0100)]
Bug 36454: Selenium - test patrons must start with 'test_'

I usually
 > delete from borrowers where surname like "test_"
So I do not need to reset_all

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2 days agoBug 36454: Fix and add API tests
Jonathan Druart [Mon, 18 Nov 2024 12:57:13 +0000 (13:57 +0100)]
Bug 36454: Fix and add API tests

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2 days agoBug 36454: (QA follow-up): Selenium - Add regression tests
Pedro Amorim [Mon, 18 Nov 2024 12:23:06 +0000 (12:23 +0000)]
Bug 36454: (QA follow-up): Selenium - Add regression tests

Test plan:
1) $ ktd --selenium up
2) prove t/db_dependent/selenium/patrons_search_badges.t

Ensure these tests pass before and after the previous 'Use native is_expired instead of redundant JS calculation' patch.

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2 days agoBug 36454: (QA follow-up) Use native is_expired instead of redundant JS calculation
Pedro Amorim [Mon, 18 Nov 2024 09:30:52 +0000 (09:30 +0000)]
Bug 36454: (QA follow-up) Use native is_expired instead of redundant JS calculation

Test plan:
1) $ yarn api:bundle
2) $ koha-plack --restart kohadev
3) Make a patron expired, search for them. Verify the 'expired' badge still shows

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
5 days agoBug 33641: (Follow-up) Fix Indexer.t
Matt Blenkinsop [Fri, 15 Nov 2024 14:47:46 +0000 (14:47 +0000)]
Bug 33641: (Follow-up) Fix Indexer.t

Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
6 days agoBug 36640: Fix Asset.t
Jonathan Druart [Fri, 15 Nov 2024 13:07:58 +0000 (14:07 +0100)]
Bug 36640: Fix Asset.t

Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
6 days agoBug 33641: (follow-up) Fix unit tests
Matt Blenkinsop [Fri, 15 Nov 2024 11:19:12 +0000 (11:19 +0000)]
Bug 33641: (follow-up) Fix unit tests

Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
6 days agoBug 37576: (follow-up) Fix for UserRoles test
Jake Deery [Thu, 14 Nov 2024 16:53:52 +0000 (16:53 +0000)]
Bug 37576: (follow-up) Fix for UserRoles test

This patch, although not directly caused by Bug 37576,
fixes issues with the UserRoles cypress test due
to a change in the data structure brought on by recent
ERM bugs.

Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
6 days agoBug 33641: (follow-up) Add field to api spec
Nick Clemens [Thu, 14 Nov 2024 20:43:52 +0000 (20:43 +0000)]
Bug 33641: (follow-up) Add field to api spec

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Edit: I changed the attribute name to match our guidelines (tcohen)
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
6 days agoBug 37576: (follow-up) fix broken cypress tests
Jake Deery [Thu, 14 Nov 2024 14:34:48 +0000 (14:34 +0000)]
Bug 37576: (follow-up) fix broken cypress tests

This patch is intended to fix failing Cypress tests
by including the correct payload in get_agreement()
found in e2e.js, and by moving get_package to the
e2e.js with corrected payload also

Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
6 days agoBug 31143: (follow-up) Add description to fix_invalid_dates.pl
Wainui Witika-Park [Mon, 4 Nov 2024 05:31:25 +0000 (18:31 +1300)]
Bug 31143: (follow-up) Add description to fix_invalid_dates.pl

Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
7 days agoBug 36822: (follow-up) Catch MySQL 8 failure in update
Martin Renvoize [Thu, 14 Nov 2024 13:08:16 +0000 (13:08 +0000)]
Bug 36822: (follow-up) Catch MySQL 8 failure in update

We add a CAST to the fetch of 0000-00-00 dates in the database. This
prevents an error in MySQL 8.0 throws htat aborts the update.

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
7 days agoBug 33641: DBIC schema update
Katrin Fischer [Thu, 14 Nov 2024 13:13:35 +0000 (13:13 +0000)]
Bug 33641: DBIC schema update

Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
7 days agoBug 33641: DBRev 24.06.00.063
Katrin Fischer [Thu, 14 Nov 2024 13:01:38 +0000 (13:01 +0000)]
Bug 33641: DBRev 24.06.00.063

Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
7 days agoBug 33641: (follow-up) Change return_branch to checkin_library
Nick Clemens [Thu, 14 Nov 2024 12:39:49 +0000 (12:39 +0000)]
Bug 33641: (follow-up) Change return_branch to checkin_library

Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
7 days agoBug 33641: Unit Tests
Eric Garcia [Tue, 6 Aug 2024 19:06:45 +0000 (19:06 +0000)]
Bug 33641: Unit Tests

Signed-off-by: Andrew Fuerste-Henry <andrewfh@dubcolib.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
7 days agoBug 33641: Code changes
Eric Garcia [Tue, 6 Aug 2024 19:01:00 +0000 (19:01 +0000)]
Bug 33641: Code changes

To test:

1. Apply patch, restart_all, updatedatabase
2. Check out an item to a patron
3. Query the database
    - select return_branch from issues;     should return NULL
    - select branchcode from issues;        should return the branchcode of the library you checkout the item out from
    - select return_branch from old_issues; should match the branchcode from the previous query

Signed-off-by: Andrew Fuerste-Henry <andrewfh@dubcolib.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
7 days agoBug 33641: DB update
Nick Clemens [Tue, 6 Aug 2024 17:37:12 +0000 (17:37 +0000)]
Bug 33641: DB update

Signed-off-by: Andrew Fuerste-Henry <andrewfh@dubcolib.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
7 days agoBug 36640: Fix behaviour of 'Clear filter'
Jonathan Druart [Thu, 14 Nov 2024 10:16:06 +0000 (11:16 +0100)]
Bug 36640: Fix behaviour of 'Clear filter'

It must be disabled when the main search input is empty.

Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
7 days agoBug 36640: Fix display of 'Clear filter'
Jonathan Druart [Thu, 14 Nov 2024 09:57:06 +0000 (10:57 +0100)]
Bug 36640: Fix display of 'Clear filter'

This is a weird one. When using KohaTable the first button was not
displayed if it was a custom button.
Doing the following fixed the problem (adding an empty first elt):
  dt_parameters["buttons"] = [{}]
  dt_parameters["buttons"].push({the_clear_filter_button});

However adding the definition of the button to $.fn.dataTable.ext.buttons fixed the problem.
As described on https://datatables.net/extensions/buttons/custom#Custom-button-type

This will definitely need to be improved later.(see bug 26553)

Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
7 days agoBug 36640: Fix selenium/patrons_search.t
Jonathan Druart [Wed, 13 Nov 2024 15:04:11 +0000 (16:04 +0100)]
Bug 36640: Fix selenium/patrons_search.t

Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
7 days agoBug 36640: Remove jEditable
Jonathan Druart [Wed, 13 Nov 2024 13:59:58 +0000 (14:59 +0100)]
Bug 36640: Remove jEditable

Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>