Commit Graph

58581 Commits

Author SHA1 Message Date
Nick Clemens b1592b4967
Bug 25787: Update club holds to only require place_holds permission
This moves the permission check from top level to the specific place_hold
permission

To test:
 1 - Create a club
 2 - Enroll some patrons
 3 - Find or create a staff user with 'place_holds' permission and catalogue permission
 4 -  Log in as that staff
 5 - Find a book and go to holds tab'
 6 - Search for your club
 7 - Try to place hold
 8 - Nothing happens FIXME we should alert of the 403 error or other
 9 - Apply patch, yanr build, restart_all
10 - Place hold
11 - Success!

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Pedro Amorim <pedro.amorim@openfifth.co.uk>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-05-06 18:48:23 +02:00
Katrin Fischer b2636dee8a
Bug 39835: DBIC schema update
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-05-06 18:48:22 +02:00
Katrin Fischer 095f5a2c14
Bug 39835: DBRev 24.12.00.038
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-05-06 18:48:22 +02:00
Jonathan Druart 15b2565b9b
Bug 39835: columns_settings should be tinyint
They are boolean in the schema file already

Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-05-06 18:48:21 +02:00
Jonathan Druart 9e45ef028f
Bug 39835: Add is_boolean for tinyint(1)
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-05-06 18:48:21 +02:00
Jonathan Druart fcf679b920
Bug 39835: Modify boolean column from int(1) to tinyint(1)
This is part of our guideline and we should enforce it.

This patch also add "is_boolean => 0" for int(1) that are not boolean

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-05-06 18:48:20 +02:00
Nick Clemens 4800537201
Bug 39389: Don't stringify the system preference value
This bug is caused by the code that is intended to hide the export column when disabled failing
because the value of exports_enabled is "0" and not 0

To test:
1 - Checkout an item to a patron
2 - Disable ExportCircHistory
3 - Load the patron's circulation table on the Check Out tab
4 - Notice no export column
5 - Click 'Export' above the table and you can export
6 - Go to the patron's circulation table on the Details tab
7 - The export column shows
8 - Try to export - JS error
9 - Apply patch
10 - Clear local storage in the browser
11 - Repeat 3-6 - no more export column and you can export
12 - Enable ExportCircHistory
13 - Confirm the circ table on both pages hsows the export column and can be exported
     (You may need to clear local storage again)

Signed-off-by: Magnus Enger <magnus@libriotech.no>
Signed-off-by: Janne <janne.seppanen@lahti.fi>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-05-06 18:48:20 +02:00
Alexander Blanchard a83c07da19
Bug 33012: Accessibility - Fix OPAC navigation when using the tab key
An accessibility audit highlighted that when logged in you cannot tab
to the log out link in the welcome menu. The search history link in
the same menu was also unable to be tabbed to. These links were also
not able to be reached using arrows.

The links for Your Lists, Private Lists and New List could be reached
using the arrows on the keyboard but not via the tab option.

Test plan:
1) Navigate to the Koha OPAC.
2) Ensure you are logged in.
3) Use tabs to navigate the site.
4) When you reach the Welcome menu press enter.
5) Note that you can tab to 'Your Account' and the 'Clear' icon but not
   to 'Search History' or to 'Log Out'
6) Tab also to the hamburger menu and press enter
7) Note than you can navigate this menu via the arrows on the keyboard but
   not via the tab button
8) Apply patch
9) Repeat steps 1-7
10) Note that you can now tab to all of the above links

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Martin Renvoize <martin.renvoize@openfifth.co.uk>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-05-06 18:48:19 +02:00
Katrin Fischer 8099e118ee
Bug 39618: DBRev 24.12.00.037
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-05-06 18:48:19 +02:00
Lucas Gass 9276f33d4b
Bug 39618: Add index to borrowers.preferred_name column
To test:
1. APPLY PATCH
2. updatedatabase

Signed-off-by: Roman Dolny <roman.dolny@jezuici.pl>
Signed-off-by: Martin Renvoize <martin.renvoize@openfifth.co.uk>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-05-06 18:48:18 +02:00
Nick Clemens e93057f4fc
Bug 39415: (follow-up) Add 651g to bib heading fields as well
Test plan:
 0 - Apply other patches - reindex your catalog
     perl misc/search_tools/rebuild_elasticsearch.pl -v -d
 1 - Set the prefs AutoLinkBiblios and CatalogModuleRelink to Do
 2 - Create three GEOGR_NAME authorities:
      151$aDismal Swamp
      151$aDismal Swamp$gSouth
      151$aPit of Despair
 3 - In a new bib record, add 651 fields
      651$aPit of Despair
      651$aDismal Swamp
      651$aDismal Swamp$gSouth
 4 - Click Link authorities automatically
 5 - 'Pit of despair' links correct - other records both link to 'Dismal swamp'
 6 - Apply this patch, restart_all
 7 - Click Link authorities automatically
 8 - Dismal Swamp and Dismal Swamp South are correctly linked

Signed-off-by: Phil Ringnalda <phil@chetcolibrary.org>
Signed-off-by: Matt Blenkinsop <matt.blenkinsop@openfifth.co.uk>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-05-06 18:48:18 +02:00
Nick Clemens 38d552f4cb
Bug 39415: Add subfield g for geographic name authorities
This patch adds the subfield g to the hardcoded list of controlled fields
so that it is no longer ignored

To test:
1 - Edit a GEOGR_NAME authority to add a g subfield to field 151
2 - Search for this authority in Authorities
3 - Don't see g
4 - Apply patch, restart all
5 - Search again, you see g!
6 - Edit a record and link to the authority
7 - g is copied over!

Signed-off-by: Caroline Cyr La Rose <caroline.cyr-la-rose@inlibro.com>
Signed-off-by: Thomas Klausner <domm@plix.at>
Signed-off-by: Phil Ringnalda <phil@chetcolibrary.org>
Signed-off-by: Matt Blenkinsop <matt.blenkinsop@openfifth.co.uk>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-05-06 18:48:17 +02:00
Martin Renvoize 98e34f7883
Bug 39779: (QA follow-up) Undo revert and instead call .api()
This patch leaves Laura's patch intact for the record, but effectively
reverts it's reversion of bug 38255 in which all ajax DataTables were
converted to a standard kohaTable instantiation structure.

We need a DataTable() api in subsequent uses of the table and not the
jQuery object that kohaTable returns so I update all calls to
saleDataTable to sale_kohaTable.api() which returns us the DataTable()
api instance from the dataTable jQuery object.

Signed-off-by: Martin Renvoize <martin.renvoize@openfifth.co.uk>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-05-06 18:48:17 +02:00
Laura_Escamilla 4e6ac647e3
Bug 39779: Updated table type
To test:
1. In K-T-D set up POS module with a cash register and configure an item for sale.
2. Attempt to add the configured item for purchase. The console log will show: "Uncaught TypeError: table.row is undefined"
3. Apply the patch
4. Refresh the page.
5. Repeat step 2. You are now able to add the configured item for purchase. You can also remove it or go through with the full transaction.
6. Sign off and have an incredible day! :D

Signed-off-by: Roman Dolny <roman.dolny@jezuici.pl>
Signed-off-by: Martin Renvoize <martin.renvoize@openfifth.co.uk>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-05-06 18:48:16 +02:00
Jonathan Druart cbd53ca899
Bug 38944: Fix for Mysql8
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-05-06 18:48:15 +02:00
Jonathan Druart ea8a81fd68
Bug 39325: Skip codespell check for bullseye
bullseye has 2.0.0-1
bookworm has 2.2.2-1

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-05-06 18:48:15 +02:00
Matt Blenkinsop 3e68c4cf2e
Bug 38010: (follow-up) Make vendor table columns configurable
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-05-06 18:48:14 +02:00
Matt Blenkinsop 0a79524c0c
Bug 38010: (follow-up) Fix API spec terminology
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-05-06 18:48:14 +02:00
Jonathan Druart a41f52530a
Bug 39833: Adjust character_set_client in kohastructure.sql
koha-dump now generates the dump with utf8mb4

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
2025-05-05 14:23:32 +02:00
Jonathan Druart 6df775d051
Bug 30888: Remove KEY origincode
koha-dump removes it

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
2025-05-05 14:23:31 +02:00
Jonathan Druart 592431aed3
Bug 38689: Correctly place edifact_errors in kohastructure.sql
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
2025-05-05 14:03:09 +02:00
Jonathan Druart d6bc8fe713
Bug 38663: DBIC schema changes
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
2025-05-05 14:03:08 +02:00
Jonathan Druart ccc84b1a32
Bug 38663: Fix columns order in db_rev
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
2025-05-05 14:03:08 +02:00
Jonathan Druart a387c0c381
Bug 39075: DBIC schema changes
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
2025-05-05 14:03:07 +02:00
Jonathan Druart 01f842f4a7
Bug 39075: Explicit NOT NULL for timestamp
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
2025-05-05 14:03:06 +02:00
Jonathan Druart 0a94b02139
Bug 38010: Embed invoices_count - fix patron deletion from show view
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
2025-05-05 10:33:51 +02:00
Jonathan Druart 25a805e8e4
Bug 39826: UTF8-decode vendor interface's password on display
We store an encrypted version of the passwords for vendor's interfaces, but we don't utf8 decode it after it is decrypted

Test plan:
0. Do not apply this patch
1. Create or edit a vendor and add at least one interface with non ascii
   characters, eg. émyPassword❤
2. Go to the detail view of the vendor and click the "Show password"
   link
=> The password is not correctly utf8-decoded
3. Apply this patch, repeat 2
=> The password is correctly displayed
4. Repeat 1 and 2
=> The password is correctly displayed

Note that maybe we should make sure the encrypt_hex is getting a valid
utf8-encoded variable.
2025-05-05 10:17:22 +02:00
Jonathan Druart ef774abc8c
Bug 23875: Fix tests
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
2025-05-05 09:51:47 +02:00
Jonathan Druart 2a798dff8c
Bug 38010: Fix xt/api.t
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
2025-05-05 09:51:46 +02:00
Jonathan Druart 2f84989a38
Bug 38010: Fix cypress tests - add _count to the mock object
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-05-02 17:19:33 +02:00
Jonathan Druart b2787045f4
Bug 38010: Fix cypress tests - do not intercept /config
We do not want to intercept /acquisitions/vendors/config
Ideally we should mock it separately

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-05-02 17:19:33 +02:00
Jonathan Druart 25ec6e70bd
Bug 38010: Add tests for DELETE vendors/{vendor_id}
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-05-02 17:19:32 +02:00
Jonathan Druart 9d72067523
Bug 38010: Fix vendor deletion tests
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-05-02 17:19:31 +02:00
Matt Blenkinsop f59817721a
Bug 38010: (QA follow-up) Add default settings to vendor store
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-05-02 17:19:30 +02:00
Matt Blenkinsop 48592d9d3d
Bug 38010: Add protection logic to the DELETE endpoint
Amended-by: Jonathan Druart
typo: subsicriptions => subscriptions

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-05-02 17:19:30 +02:00
Matt Blenkinsop bbc3041a6c
Bug 38010: Translation fix
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-05-02 17:19:29 +02:00
Matt Blenkinsop fb4f2e42b1
Bug 38010: Migrate to_api logic to GET endpoint
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-05-02 17:19:28 +02:00
Jonathan Druart c5819f40a8
Bug 38010: Embed baskets+count and subscriptions+count
We don't need to whole list of baskets and subscriptions

(cherry picked from commit 391b4d3b32b57c97bfb7e66ab394020ae7eed0e5)

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-05-02 17:19:28 +02:00
Jonathan Druart a780f0396f
Bug 38010: Fix LeftMenu
(cherry picked from commit a78af54eebf07a623779f4642bcdad28f35e662f)

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-05-02 17:19:27 +02:00
Matt Blenkinsop 9105ba1e63
Bug 38010: (QA follow-up) Move syspref values to config endpoint
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-05-02 17:19:26 +02:00
Jonathan Druart 1e780ea61d
Bug 38010: Add tests for embed contacts,interfaces,aliases
(cherry picked from commit cae75569e6e8f2bfe5a2e6d3acc111485f81cc1e)

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-05-02 17:19:25 +02:00
Jonathan Druart 9c1f586b3d
Bug 38010: Fix wrong use of scalar in the REST API controller
It was wrong, we need to use scalar on the array, not the arrayref
(otherwise it will always be true)
No change in behaviour expected here, just some code cleaning

(cherry picked from commit 7abbcb7ba73da13d988202aaf06ba239e21692da)

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-05-02 17:19:25 +02:00
Jonathan Druart 859d4d6847
Bug 38010: Fix links to the manual
The way we deal with routes for VueJS is messy and will need to be
reconsidered, but it's not within the scope of this patch.

(cherry picked from commit 2558583ef0fbf149664a3d9a2e3cec081ac505ff)

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-05-02 17:19:24 +02:00
Jonathan Druart 3677a4490e
Bug 38010: Code improvement
(cherry picked from commit a14f1898672950be9d9097bc7b5dd56392a241b0)

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-05-02 17:19:23 +02:00
Jonathan Druart 9df1a2562b
Bug 38010: Remove op=do_search from the 'Invoices' link
So we don't see "no result for your search"

(cherry picked from commit 1cc3dabaa25d503b6b6b7d49d81c9bf739013d10)

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-05-02 17:19:23 +02:00
Matt Blenkinsop cbb7219de5
Bug 38010: (QA follow-up) Remove extra sidebar_menu class
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-05-02 17:19:22 +02:00
Matt Blenkinsop 0dc0e565c3
Bug 38010: (QA follow-up) Add missing filter to main-container.inc
Amended-by: Jonathan Druart
-[% SET islands = Asset.js("js/vue/dist/islands.esm.js").match('(src="([^"]+)")').1 | $raw %] <script src="[% islands %]" type="module">
+[% SET islands = Asset.js("js/vue/dist/islands.esm.js").match('(src="([^"]+)")').1 %] <script src="[% islands | $raw %]" type="module">

Signed-off-by: Michaela Sieber <michaela.sieber@kit.edu>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-05-02 17:19:21 +02:00
Matt Blenkinsop 2286b1c55e
Bug 38010: (QA follow-up) Add a Link component
Signed-off-by: Michaela Sieber <michaela.sieber@kit.edu>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-05-02 17:19:20 +02:00
Jonathan Druart 56efd7638f
Bug 38010: Improve show/hide password icon
Use font-awesome-icon tag and add "hide"
Also prevent the scrollbar to jump when the link is clicked (removing
href)

(cherry picked from commit 78876ee276cf0af6e307cd7a033bbbe2842e1dc1)

Signed-off-by: Michaela Sieber <michaela.sieber@kit.edu>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-05-02 17:19:20 +02:00
Matt Blenkinsop 3b1aed7fe5
Bug 38010: (QA follow-up) Add a 'Show password' option
Signed-off-by: Michaela Sieber <michaela.sieber@kit.edu>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-05-02 17:19:19 +02:00