Commit graph

52140 commits

Author SHA1 Message Date
e1157dcdcd Bug 35086: Tidy tests
Signed-off-by: David Nind <david@davidnind.com>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit ddbd00de72)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2024-01-17 10:22:47 +01:00
2f8ae2ec21 Bug 35086: Also split chunks when indexing from background job
The es background indexer is designed to combine background jobs when started based on the 'batch_size' option.

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

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

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

Signed-off-by: David Nind <david@davidnind.com>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit 7496a603cd)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2024-01-17 10:22:47 +01:00
636920558c Bug 35086: Add chunk_size option to elasticsearch configuration
Whne performing batch operations we can send a large numebr of records for reindexing at once.
Currently this can create requetss that are too large for Elasticsearch to process. We need
to break these requests into chunks/

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

If blank we default to 5000.

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

Signed-off-by: David Nind <david@davidnind.com>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit 9951e230e4)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2024-01-17 10:22:47 +01:00
ce924fa1db Bug 34999: Add unit test
Test plan:
Run t/db_dependent/api/v1/auth.t
[Bonus] Run prove t/db_dependent/api/v1

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit b8d9cce664)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2024-01-17 10:18:42 +01:00
24b14de398 Bug 34999: Throw exception for public routes if OPACMaintenance is enabled
Test plan:
[1] Try public endpoint like /api/v1/public/biblios/X/items.
    * Replace X by an existing biblionumber.
    You should receive a 200.
[2] Enable OPACMaintenance. Set to Show.
[3] Try same endpoint. You should get a 503 with a json error.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit 1fc82dd827)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2024-01-17 10:18:42 +01:00
65460128f1 Bug 35756: Correctly serialize patron's data in patron search popup/modal
We are incorrectly using encodeURIComponent in patron-search.inc.
When a new patron is selected, the info message is showing "Patron %s is already in the list"
or "Patron %s added". If the patron has space in their name, they will be substituted with %20.

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

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

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit 6779e64d95)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2024-01-17 10:17:56 +01:00
Katrin Fischer
46156c1981 Bug 35475: Improve concatenated string and fix error in JS file
Fixes 2 problems noted in comment#2 and comment#3 on the bug
report.

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit f0e7260a29)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2024-01-17 10:16:26 +01:00
Katrin Fischer
ff9fe04792 Bug 35475: Makes strings in booking JS file translatable
This makes several strings in the booking specific JS file
translatable.

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

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit 573d2a3ba8)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2024-01-17 10:16:26 +01:00
b7db87ea7e Bug 35759: (bug 30708 follow-up) Generated dist file not installed for preservation module
It's missing from the Makefile.PL!

Same as erm.js when need to install it.

Signed-off-by: David Nind <david@davidnind.com>

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit bd9e3145d7)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2024-01-17 10:06:28 +01:00
6f09a31a15 Bug 35504: Distinguish different RMaint and Topic Expert roles
This patch further splits up release maintanence and topic expert roles
so that they display with further, more accurate, detail in the
development team section.

Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit 2ce83fc784)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2024-01-15 15:23:22 +01:00
d5e6c33426 Bug 35504: Split list of ERM Topic experts
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit 73809ff846)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2024-01-15 15:23:22 +01:00
74300e9908 Bug 35504: Add full maintainers list into development branch
On a stable branch the current maintainer of your running version is
listed at the top of the current maintanence team.. however when you're
on a development branch the RM is responsible for your branch and the
maintainers were missing from display.

This patch adds the maintainers list back to the bottom of the current
maintanence team section, just for the development branch.

Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit 7fd998c1e7)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2024-01-15 15:23:22 +01:00
149cc63818 Bug 35504: Change 'Jenkins' to 'Continuous integration'
We were naming these roles differently between the 'current team' and
'past roles' display.

Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit a26d4bdf95)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2024-01-15 15:23:22 +01:00
f302c50af3 Bug 35504: Corrections to wiki team
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit a4061c3f14)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2024-01-15 15:23:22 +01:00
3c3670142f Bug 35504: Add ktd maintainer
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit 29c1225bf8)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2024-01-15 15:23:22 +01:00
b301f79526 Bug 35504: Corrections to team
Correction of 'advocate' to 'advocates' to ensure they appear in the
team.

Addition of 'website' and 'wiki' handling to ensure they also appear
in the team.

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit 8190fdb5bd)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2024-01-15 15:23:22 +01:00
ace0ac8f6b Bug 35504: Typo fix
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit b9da22b490)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2024-01-15 15:23:22 +01:00
f5d5ffef0e Bug 35504: New cycle, new team :)
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit b6cfef878b)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2024-01-15 15:23:22 +01:00
09df08cb90 Bug 35634: (bug 33105 follow-up) fix typo issues_manage vs issue_manage
issue_manage inserted into the DB but issues_manage is tested in the
controller script.

Test plan:
  git grep issues_manage
should no longer return any results

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit 2fbd47fdd6)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2024-01-15 15:22:24 +01:00
1448ac0c26 Bug 33639: Make add item to item group work from additem.pl
To test:

1, Create one or more item groups for a bib if needed
2. Create a new item, and at the bottom of the 'Add item' screen, select the item group to which you want this item added. Save.
3. On the Normal tab, see that the item has not been added to the item group you selected.
4. APPLY PATCH, restart_all
5. Try 1-3 again but this time the item should succesffuly be added to the item group.
6. Add a new item and to the same record and this time try the 'Create a new item group' from the dropdown.
7. Name the new item group.
8. Make sure it is correctly added to the item group.

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit 5b14f8b11a)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2024-01-15 15:20:08 +01:00
c83d743193 Bug 35265: Remove drag and drop in Elasticsearch mappings
Bug 18827 says ordering search fields in Elasticsearch mappings is useless.

This patch removes it.
Drag and drop is kept for facets.

Test plan :
1) Enable Elasticsearch
2) Go to Administration > Search engine configuration (Elasticsearch)
3) Go to tab 'Bibliographic records'
4) Check there is no Javscript error
5) Check you can't drag and drop lines anymore

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Barbara Petritsch <barbara.petritsch@wienmuseum.at>
Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit c5f28855ad)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2024-01-15 15:19:06 +01:00
Andrew Fuerste Henry
9825c7ea36 Bug 25835: Include overdues with fines in overdues_report permission
To test:
1 - have a user with circulate_remaining_permissions but not
    overdues_report
2 - confirm user can see and run Overdues with Fines
3 - apply patch
4 - confirm user can no longer see links to Overdues with Fines or load
    the page directly by entering the url
5 - confirm a user with overdues_report or greate permission can see and
    use the tool

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit 23de67a7e4)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2024-01-15 15:17:43 +01:00
c1ba60ce4d Bug 32551: HTTP_ACCEPT_LANGUAGE legacy CGI variable not set in Mojolicious
This patch addresses the fact some of our code still relies on those CGI-era ENV variables.
In particular, C4::Laguages::getlanguage expects it to calculate the most suitable language.

As this is reported as required, I provide a fix.

I did a `git grep HTTP_` on the codebase, and the only other occurences are:

* C4::Output (HTTP_X_REQUESTED_WITH)
* C4::Context (HTTP_USER_AGENT, HTTP_X_FORWARDED_FOR)
* C4::Auth_with_shibboleth (using HTTP_ variables for matchpoints)
* Some handling on the 'Koha as a Mojo app' code
* Some .pl script not relevant to this report

I decided to limit this patch to the requested header which seems harmless. I leave the
other cases.

To test:
1. Apply the regression tests patch
2. Run:
   $ ktd --shell
  k$ qa -c 1
=> FAIL: Tests fail!
3. Apply this patch
4. Run:
  k$ qa -c 2
=> SUCCESS: Tests pass! All green!
5. Sign off :-D

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit d6e072fb5f)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2024-01-15 15:16:19 +01:00
0df6ad0aa9 Bug 32551: Regression tests
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit 5292903dc1)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2024-01-15 15:16:19 +01:00
Kevin Carnes
3ce12b7dca Bug 35567: Prevent translation of Host-item in "Show analytics" link
The "Show analytics" link is built using text which can be translated.

The following languages have already translated Host-item:
fa-Arab, fi-FI, nl-NL, pt-BR, ru-RU, sv-SE

To test:
 1. Install one of the affected languages:
    koha-translate --install sv-SE --dev kohadev
 2. Modify and save the following system preferences:
    language: enable the language
    OPACLanguages: enable the language
    opaclanguagesdisplay: Allow
    EasyAnalyticalRecords: Show
 3. View a record with holdings and copy the barcode of one the items
 4. Select the Edit dropdown menu above the record details and click
    "Link to host record"
 5. Paste the barcode, click Select, and click OK
 6. Return to Normal view of the record and reload the page
 7. There should now be a "Show analytics" link
 8. Hover over the link and note that the link contains "Host-item"
 9. Switch to one of the affected languages and note that "Host-item" is
    translated
10. View the record in the OPAC and confirm that the link is also translated
11. Apply the patch
12. Update the affected language:
    koha-translate --update sv-SE --dev kohadev
13. Restart Koha (restart_all)
14. Notice that the links are no longer translated
15. Sign off

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit 0f2c17e71d)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2024-01-15 15:15:31 +01:00
d78a18e36d Bug 35686: (follow-up) Correct page heading
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>

Removed space before colon from "Update report :"

Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit 1742893d5a)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2024-01-15 15:13:59 +01:00
609f0b4366 Bug 35686: Case missing from installer step 3 template title
This patch adds a missing case to the display of the title on step 3 of
the web installer. This resulted in an empty first part of the title:
" > Web installer > Koha"

To test, apply the patch and reset the database version from the command
line in Koha Testing Docker:

> koha-mysql kohadev
> UPDATE systempreferences SET value = '23.1200002 WHERE variable = 'version';
> quit
> Restart all

- Go to the staff interface. You should be taken to the web installer.
- Log in to the web installer and proceed through until you get to the
  "Updating database structure" page.
- Confirm that the page title is correct.

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit 5dbab83597)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2024-01-15 15:13:59 +01:00
fad67e8615 Bug 35517: Choose correct default header search tab according to permissions
This patch adds some additional template logic to the header search form
for the staff interface home page so that users with different
permissions will see the correct tab in the header search form.

To test, apply the patch and view the staff interface home page using a
user with different permissions:

- 'catalogue' and 'circulate'
  - Header should show circulation search
- 'catalogue' and 'borrowers'
  - Header should show patron search
- 'catalogue' only
  - Header should show catalog search

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit abbacfca5d)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2024-01-15 15:13:04 +01:00
Katrin Fischer
703051bbac Bug 35602: Fix typo AutoMemberNum
The correct spelling is autoMemberNum.

To test:
* Enable autoMemberNum system preference
* Set cardnumber to mandatory in BorrowerMandatoryField
* Add a new patron account
* Verify correct spelling in hint below cardnumber input field

Signed-off-by: David Nind <david@davidnind.com>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit 78b4fac242)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2024-01-15 15:10:25 +01:00
Katrin Fischer
f74247a155 Bug 35395: Update DefaultPatronSearchMethod system preference description
This updates the system preference description of DefaultPatronSearchMethod
so that it's clear that the preference applies to all patron
searches, including patron module search and auto-completes.

To test:
* Search for DefaultPatronSearchMethod system preference in administration
* Verify the setting is reflected in the filters of the patron search
* Apply patch
* Verify that the description now is now improved.

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit 373a3c764c)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2024-01-15 15:09:28 +01:00
153f43086a Bug 35650: (QA follow-up) Add spans to errors for user restrictions
This will ease translation.

Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit 32799f8e36)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2024-01-15 15:04:51 +01:00
ee4d5c8588 Bug 35650: (follow-up) Other cases found
while editing files for the main patch, I noticed some tiny cases.

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit 4699fd0c2f)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2024-01-15 15:04:51 +01:00
aa9fb9962a Bug 35650: Standardize on 'Check the logs for details.'
This patch makes the 'Check the logs..' messages more consistent across
the codebase.

To test:
1. Run:
   $ git grep -e 'Check the logs\"' -e 'Check the logs<' -e 'Check the logs\.'
=> FAIL: Several forms show up
2. Apply this patch
3. Repeat 1
=> SUCCESS: Empty result.
4. Run:
   $ git grep -e 'Check the logs for details\.'
=> SUCCESS: Consisten results show
5. Sign off :-D

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit ba3130a88a)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2024-01-15 15:04:51 +01:00
Katrin Fischer
a3606493ad Bug 35713: Remove outdated debian/docs/LEEME.Debian file
This removes the LEEME.Debian README file from the docs
directory. We don't even have an English README here as
we usually refer to the wiki for installation instructions.
It makes sense to remove it from the codebase.

To test:
* Verify that the file is removed
* Verify that all references to the file have been removed as well
  Example: git grep LEEME

Signed-off-by: David Nind <david@davidnind.com>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit a18e4d0e62)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2024-01-15 15:03:59 +01:00
a3479fad8b Bug 35757: (QA follow-up) Tidy
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit 40d7a90bc5)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2024-01-15 15:02:22 +01:00
f0fc65d109 Bug 35757: Fix unit tests for external counter registry API
This patch updates the unit tests for the external counter registry API used in the Usage Statistics module. The intent of the tests is to identify any changes in the external response that could lead to errors in Koha. To do this, the tests now compare the list of hash keys returned in the response with the current definition in Koha, and identifies any new fields that need to be added to the definition.

Test plan:
prove t/db_dependent/api/v1/erm_counter_registries.t
prove t/db_dependent/api/v1/erm_sushi_services.t

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit f42741d32c)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2024-01-15 15:02:22 +01:00
c0496d4c13 Bug 35757: Add new fields to api definitions
The counter registry API has added a new field to both the counter registry and sushi service endpoints. This patch adds those new fields to the definitions.

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit 520ac94242)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2024-01-15 15:02:22 +01:00
50d2e52fb0 Bug 35584: (follow-up) Remove duplicate license entry
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit e3ad57ea93)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2024-01-15 15:01:12 +01:00
4c75a1dd01 Bug 35584: (QA follow-up):
Typo fix: GreBox -> Greybox
Capitalization fix: JavaScript case
Order to match header fix: jsTree jQuery -> jQuery jsTree
Capitalization fix: treetable -> Treetable capitalization

Signed-off-by: Pedro Amorim <pedro.amorim@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit 4bb1b0e395)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2024-01-15 15:01:12 +01:00
David Nind
c1c43be069 Bug 35584: (follow-up) Add license information and fix sort order
Add license information and links. Put in alphabetical order.

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Pedro Amorim <pedro.amorim@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit 2c342b3b31)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2024-01-15 15:01:12 +01:00
fc2d2ca841 Bug 35584: Add missing licenses to about page
This patch adds license information to the about page which was missing
for several JavaScript libraries. The patch also makes a minor change to
CSS to improve alignment of content in the licenses tab.

One library, vis-timeline-graph2d.min.js, lacked the correct version
information in the source. This information has been added.

To test, apply the patch and rebuild the staff interface CSS.

- Go to the about page and open the "Licenses" tab.
- Confirm that the information looks correct.

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Pedro Amorim <pedro.amorim@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit 3ccf5843d2)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2024-01-15 15:01:12 +01:00
d0dfe6b4f4 Bug 35293: Unit test
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit cd3224d558)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2024-01-15 14:39:11 +01:00
c300a38870 Bug 35293: (follow-up) Handle all rules as well
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit 26e7d0c9b3)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2024-01-15 14:39:11 +01:00
85e91c80c2 Bug 35293: Re-implement bug 30407 functionality
To test:
1. Set a book items notforloan status as -1 and set the AllowNotForLoanOverride system preference to 'Allow'
2. Add the following lines to UpdateNotForLoanStatusOnCheckin (the
formatting and indentation is important to keep):

BK:
 -1: ONLYMESSAGE

3. Check a book item out for patron.
4. Check book item in.
=> Description of notforloan status should be displayed under 'Check in message'.
=> Confirm notforloan status HAS changed.

5. Apply patch and update database if needed
6. Set book items notforloan status as -1 (or create new one)
7. Check book item out for patron.
8. Check book item in.
=> Description of notforloan status should be displayed under 'Check in
message'.
=> Confirm notforloan status HAS NOT changed.

Also prove t/db_dependent/Circulation/issue.t

Sponsored-by: Catalyst IT, New Zealand
Signed-off-by: Anneli Österman <anneli.osterman@koha-suomi.fi>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit a0f83767a8)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2024-01-15 14:39:11 +01:00
1abc43b896 Bug 35293: Add ONLYMESSAGE back into UpdateNotForLoanStatusOnCheckin syspref description
Sponsored-by: Catalyst IT, New Zealand
Signed-off-by: Anneli Österman <anneli.osterman@koha-suomi.fi>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit 16c199e3f4)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2024-01-15 14:39:11 +01:00
5aa213e210 Bug 35598: Fix selenium/authentication_2fa.t random failure
Jenkins is failing with
koha_1       | STRACE:	/usr/share/perl5/Try/Tiny.pm:123 in Selenium::Remote::Driver::catch {...}
koha_1       | 	/usr/share/perl5/Selenium/Remote/Driver.pm:361 in Try::Tiny::try
koha_1       | 	(eval 582):1 in Selenium::Remote::Driver::__ANON__
koha_1       | 	(eval 584):2 in Selenium::Remote::Driver::__ANON__
koha_1       | 	(eval 556):17 in Selenium::Remote::Driver::_execute_command
koha_1       | 	/usr/share/perl5/Selenium/Remote/WebElement.pm:125 in Selenium::Remote::WebElement::_execute_command
koha_1       | 	t/db_dependent/selenium/authentication_2fa.t:276 in Selenium::Remote::WebElement::send_keys
koha_1       | 	/usr/share/perl/5.32/Test/Builder.pm:334 in main::__ANON__
koha_1       | 	/usr/share/perl/5.32/Test/Builder.pm:334 in (eval)
koha_1       | 	/usr/share/perl/5.32/Test/More.pm:809 in Test::Builder::subtest
koha_1       | 	t/db_dependent/selenium/authentication_2fa.t:294 in Test::More::subtest
koha_1       |
selenium_1   | 1702911648831	Marionette	INFO	Stopped listening on port 41385
selenium_1   | JavaScript error: resource:///modules/Interactions.jsm, line 230: NS_ERROR_FAILURE: Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsIUserIdleService.removeIdleObserver]
selenium_1   | 15:00:49.452 INFO [ActiveSessions$1.onStop] - Removing session c3461b22-7a80-4b56-b177-653a53cc2651 (org.openqa.selenium.firefox.GeckoDriverService)
koha_1       |     # Looks like you planned 7 tests but ran 3.
koha_1       |
koha_1       | #   Failed test 'Enforce 2FA setup on first login'
koha_1       | #   at t/db_dependent/selenium/authentication_2fa.t line 294.
koha_1       | Error while executing command: element not interactable: Element <input id="pin_code" name="pin_code" type="text"> is not reachable by keyboard at /usr/share/perl5/Selenium/Remote/Driver.pm line 411.

The error is: "Element <input id="pin_code" name="pin_code" type="text"> is not reachable by keyboard"

A guess is that the input is either 1. outside of the viewport, or 2. not
displayed yet.

1. We are hidding #registration-form then show it when we retrieved the
   info (after POST /api/v1/auth/two-factor/registration)
2. Couldn't there be a race condition?
In auth.tt
284                     success: function (data) {
292                         $("#registration-form").show();
And in the selenium test:
$s->wait_for_ajax; # There is an ajax request to populate the qr_code and the secret
Not sure this wait_for_ajax is waiting for the end of success, I don't
think so.

This patch is supposed to fix both theories.

Test plan:
0. Do not apply the patch
1. Edit auth.tt and sleep 1 second before showing the form:
290                         const sleep = ms => new Promise(r => setTimeout(r, ms));
291                         await sleep(1000);
292                         $("#registration-form").show();

You will also need to replace the following line (284):
  success: function (data) {
with
  success: async function (data) {

2. prove t/db_dependent/selenium/authentication_2fa.t
=> "is not reachable by keyboard" error!

3. Apply the patch, keep the sleep

4. prove t/db_dependent/selenium/authentication_2fa.t
=> Tests are passing

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Edit (tcohen): Tidied a bit to clear complaints
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit 3270d32191)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2024-01-15 14:28:55 +01:00
95884923f7 Bug 35587: (QA follow-up): QA script tidy
Signed-off-by: Pedro Amorim <pedro.amorim@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit 520c84756a)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2024-01-08 15:35:58 +01:00
Aleisha Amohia
fc777d84a4 Bug 35587: Do not trigger transfer if lost item returned and BlockReturnOfLostItems enabled
This fixes current buggy behaviour - when BlockReturnOfLostItems is enabled, no transfer should be triggered and the lost status should be retained.

To test:

1. Go to Koha Administration -> Global system preferences
2. Set the BlockReturnOfLostItems system preference to Block
3. Enable the AutomaticItemReturn system preference (this is simply to make testing a bit faster)
4. Take note of your logged in library
5. Search for an item where the home library is NOT the same as your logged in library
6. Edit this item and give it a lost status
7. Check in the item
8. Notice the item is returned and a transfer is automatically triggered
9. If you go to the item record page, the lost status has been remove

10. Apply the patch and restart services

11. Edit the item again and give it a lost status. This will also cancel the transfer
12. Check in the item
13. Confirm the transfer is NOT triggered and the lost status is retained as expected.
14. Go back to system preferences and disable the BlockReturnOfLostItems system preference (set to "Don't block")
15. Check in the item
16. Confirm the transfer is triggered and lost status is removed

17. Confirm tests pass

prove t/db_dependent/Circulation/Returns.t
prove t/db_dependent/Circulation/Branch.t

Sponsored-by: Pymble Ladies' College
Signed-off-by: Esther <esther@bywatersolutions.com>
Signed-off-by: Kelly <kelly@bywatersolutions.com>
Signed-off-by: Pedro Amorim <pedro.amorim@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit 930ad0178d)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2024-01-08 15:35:58 +01:00
a3ac46b388 Bug 35696: Fix regression caused by bug 33167
A case was missed when switching from item.transfer.field to just
transfer.field.

This meant that the daterequested date wasn't getting filled properly in
the UI.

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit 1f16ac11e2)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2024-01-08 15:35:00 +01:00
8810cffc0f Bug 35629: Remove redundant code
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit 9149dc4d06)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2024-01-08 15:33:54 +01:00