Commit Graph

57658 Commits

Author SHA1 Message Date
Matt Blenkinsop b71b62059a
Bug 38010: Add vue app and list component
This patch adds the base vue app as well as the component to list vendors

Amended-by: Jonathan Druart
chmod 755 acqui/vendors.pl

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:18:27 +02:00
Matt Blenkinsop cb0268075d
Bug 38941: Rebase for follow-up to bug 37911
Bug 37911 added a follow-up that removed the original entry point from rspack to use the esm.js files

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:18:26 +02:00
Matt Blenkinsop a8ebbdab10
Bug 38941: Add a cypress test
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:18:25 +02:00
Matt Blenkinsop a893f4cf70
Bug 38941: Convert the acquisitions menu to a Vue web component
This is an example patch for creating a Vue island component that can be used throughout Koha. The component can then also be used in the work in Bug 38010 to migrate Vendors to Vue. This removes duplication of code by having a .inc file as well as a vue component to maintain

Test plan:
1) Apply all patches including dependencies
2) Bug 37911 requires a Vue upgrade so you will need to run yarn install, then run a yarn build
3) Navigate to the acquisitions home page
4) The left menu should appear as before
5) Switch on the EDIFACT syspref - the acq menu should now display the edifact related options
6) Try logging in as a new patron with reduced permissions, the menu should update correctly according to the permissions

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:18:25 +02:00
Matt Blenkinsop 0a44ed18d2
Bug 38930: Add a permissions store
This patch adds a permissions store to hold a user's permissions and run checks when required

Test plan:
1) Apply the patch and run the following commands
a) yarn build
b) restart_all
2) Ensuring you are logged in as the Koha superlibrarian user, navigate to the ERM module and click into Agreements
3) Note that the button for New Agreement is visible
4) Choose a random staff user and assign them the following permissions:
- Staff access, allows viewing of the catalogue in staff interface (catalogue)
- Manage Koha system settings (Administration panel) (parameters)
- Acquisition management (acquisition)
- Manage the electronic resources module (erm)
These are the permissions required to access the ERM module
6) Open an incognito browser and log in as the chosen staff member with these permissions
7) For this example, the New agreement button has been hidden behind the CAN_user_suggestions_suggestions_create to demonstrate how it would work
8) Navigate to the Agreements page again, the button should not be visible
9) Back in your main browser, assign the following permission set to the user:
- Create purchase suggestions (suggestions_create)
10) Hard refresh the incognito browser, the button should now be visible again

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:18:24 +02:00
Lucas Gass 9c746e675c
Bug 17338: Fix redirection to correct tabs on waitingreserves.pl
To test:
1. Place multiple holds, good to have at least 4, for pickup at a location, I used Nick's handy script
2. Perl misc/cronjobs/holds/build_holds_queue.pl
3. Check in at least 4 items for pickup at one location so they'll be wating
4. Update the expiration date on those holds using ktd --dbshell
  update reserves set expirationdate = DATE('2024-01-01') where branchcode='CPL';
5. On Circulation > Holds waiting past their expiration date tab use the cancel button that is in the actions column to cancel a hold

The page loads on the Holds waiting tab, although in the url you see /circ/waitingreserves.pl?tab=holdsover

6. APPLY PATCH
7. Try 1 - 5 again, this time after step 5 you should be redirected.
8. Try cancelling holds with a transfer, ensuring you get redirected correctly.

Signed-off-by: Andrew Auld <andrew.auld@openfifth.co.uk>
Signed-off-by: Brendan Lawlor <blawlor@clamsnet.org>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-05-02 08:49:26 +02:00
Janusz Kaczmarek 103f095c2e
Bug 39692: With OnSiteCheckoutsForce the due date should be set
When OnSiteCheckoutsForce is set it is possible to on-site checkout an
item to a restricted patron. But the due data that is labelled with
"Automatic due date:" is not being set. As a result, when such a
checkout is performed and you do not set the date manually, the due
date will be set as for normal checkout (even if it is marked as
on-site checkout).

Test plan:
==========
1. Enable OnSiteCheckouts and OnSiteCheckoutsForce; manually restrict
   a patron.
2. Go to checkout page for this patron. You will notice:
   "On-site checkouts only. Automatic due date:" with an empty input
   field for the date. Perform the checkout (pick any existing
   barcode).
   Note the due date in patron's checkouts. In standard ktd it will be
   +5 days from today, as for a regular checkuot (cf. Circulation and
   fine rules) and the checkout will be marked as on-site checkout.
3. Apply the patch ; restart_all.
4. Repeat p. 2 (with another barcode or after checking-in). The date
   in the date input field should be set to today's date and after
   performing the checkout the sue date should also be set to
   the current date.

Signed-off-by: Roman Dolny <roman.dolny@jezuici.pl>
Signed-off-by: Baptiste Wojtkowski <baptiste.wojtkowski@biblibre.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-05-02 08:49:25 +02:00
Phil Ringnalda b346ed1e79
Bug 39464: Grey rows in tables not highlighting in yellow when they should
Because the CSS rule for turning odd-numbered rows grey is highly-specific
(tbody tr:nth-child(2n+1):not(.dtrg-group, .active, .ok) td:not(.bg-danger,
.bg-warning, .bg-info, .bg-success, .bg-primary)), it overrides the
.highlighted-row, .highlighted-row td rule that some tables use to turn the
background of a currently-selected row yellow, so highlighted-row needs to be
added to the lists of not().

Test plan:
 1. Without the patch, Cataloging - New from Z39.50/SRU, perform a search like
    Author smith which will return at least two results.
 2. On an even-numbered row with a white background, click MARC and note that
    the row is given a yellow background (either by increasing the size of the
    popup to peer around the preview, or by closing the preview, since the
    highlight persists).
 3. On an odd-numbered row with a grey background, click MARC and note that
    the row isn't given a yellow background
 4. Administration - Circulation and fine rules, if you don't already have at
    least two rules add one by just changing the Patron category in the edit
    row and Save
 5. On a row with a white background, click Edit and note that the background
    for that row is yellow
 6. On a row with a grey background, click Edit and note that the background
    remains grey, not yellow
 7. Apply patch, in ktd --shell yarn build (or in a sandbox Actions - Build
    CSS and JS), clear browser cache or shift+Reload the page
 8. Repeat steps 1-6, but this time note that you get the same yellow
    highlighted background for both odd and even rows.

Signed-off-by: Magnus Enger <magnus@libriotech.no>
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>
2025-05-02 08:49:25 +02:00
Fridolin Somers 49e852e0a8
Bug 39738: Obsolete call on system preference 'SelfCheckHelpMessage'
Bug 35065 moved to additional contents.
Remove call in opac/sco/help.pl.

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-05-02 08:49:24 +02:00
Brendan Lawlor 858a53d897
Bug 39597: Fix cancel_hold_alert badge color contrast for accesibilty
This patch add a class for the background on the badge element to fix color contrast

To test:
1. Go to a bib record and place multiple holds on it
2. Select multiple holds and click 'Cancel selected (4)'
3. The Alert says 'This action will cancel 4 hold(s).'
4. Note that the contrast on the number of holds is very low
5. Click 'Cancel' apply patch and restart_all
6. Repeat steps 2-3
7. Note that the contrast on the number of holds is good

Signed-off-by: Phil Ringnalda <phil@chetcolibrary.org>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-05-02 08:49:23 +02:00
Nick Clemens 6db083163d
Bug 38395: Only embed deleted_biblios for old holds
Signed-off-by: Roman Dolny <roman.dolny@jezuici.pl>
Signed-off-by: Matt Blenkinsop <matt.blenkinsop@openfifth.co.uk>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-05-02 08:49:23 +02:00
Nick Clemens 8a628fd131
Bug 38395: Display bibliographic data for deleted biblios in holds history
This patch adds deleted_biblio to the patron holds api and adjsuts the display to
shwo the data for deleted items

To test:
 - place a hold
 - cancel the hold
 - look in patron hold history, see the title
 - delete the biblio
 - reload patron hold history
 - you see a line with no title or author
 - apply patch, yarn build, restart_all
 - reload patron hold history
 - success, you see deleted title info
 - enable OPACHoldsHistory preference
 - sign in to OPAC as patron
 - confirm holds history shows deleted title info

Signed-off-by: Roman Dolny <roman.dolny@jezuici.pl>
Signed-off-by: Matt Blenkinsop <matt.blenkinsop@openfifth.co.uk>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-05-02 08:49:22 +02:00
Nick Clemens 926b8c9c68
Bug 39710: Handle deleted biblios in holds history
To test:
 - place a hold
 - cancel the hold
 - look in patron hold history, see the title
 - delete the biblio
 - reload patron hold history, error
[2025/04/23 11:43:28] [WARN] OpenAPI >>> GET api/v1/patrons/5/holds [{"message":"Expected integer - got null.","path":"\/body\/3\/biblio_id"},{"message":"Expected integer - got null.","path":"\/body\/4\/biblio_id"}]
 - apply patch, yarn build, restart_all
 - reload patron hold history
 - success
 - enable OPACHoldsHistory preference
 - sign in to OPAC as patron
 - confirm holds history can be loaded

Signed-off-by: Roman Dolny <roman.dolny@jezuici.pl>
Signed-off-by: Matt Blenkinsop <matt.blenkinsop@openfifth.co.uk>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-05-02 08:49:21 +02:00
Nick Clemens 0fff879e40
Bug 39710: Unit test
Signed-off-by: Roman Dolny <roman.dolny@jezuici.pl>
Signed-off-by: Matt Blenkinsop <matt.blenkinsop@openfifth.co.uk>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-05-02 08:49:21 +02:00
Laura_Escamilla aff28d9fa6
Bug 39782: Add gender label to patron registration form radio buttons
This fixes the patron registration form in the staff interface. There is
no "Gender" label before the radio buttons.

Test plan:
1. Go to Patrons > +New patron > [Select any patron type]
   (http://localhost:8081/cgi-bin/koha/opac-memberentry.pl).
2. In the patron identity section you will see four radio buttons used
   to choose a gender. Note that there is no label next to the buttons.
3. Apply the patch and refresh the page..
4. The label "Gender" is now visible next to the radio buttons.
5. Sign off and have an amazing day! :D

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-05-02 08:49:20 +02:00
Laura_Escamilla 9e3413f6fb
Bug 39661: Added a label for the gender radio buttons
To test:
1. Visit http://localhost:8080/cgi-bin/koha/opac-memberentry.pl  or your test OPAC self registration page.
2. Under Identity scroll down until you see four radio buttons used to choose a gender. Note that there is no label next to the buttons.
3. Apply the patch.
4. The label “Gender” is now visible next to the radio buttons.
5. Sign off and have an amazing day! :D

Signed-off-by: Roman Dolny <roman.dolny@jezuici.pl>
Signed-off-by: Baptiste Wojtkowski <baptiste.wojtkowski@biblibre.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-05-02 08:49:19 +02:00
Chloe Zermatten e0b3afb2c3
Bug 39497: update 'Lists' page tabs attributes
On the Koha OPAC, the 'Lists' page contains tabs which aren't clearly marked as such (no relevant attribute set on the element).

This means that screen readers will not recognise the tabs as such, and screen reader users will not be made aware that these are available.

Since the 'Advanced Search' page contains tabs that are correctly identified and described by screen readers, update the HTML atributes for the tabs on the 'Lists' page so that it matches theirs.

Note: this is a quick and simple fix aiming to meet accessibility requirements. Another approach could be to implement wrappers (as in advsearch.tt), but it seems a bigger refactor of opac-shelves.tt may be needed to allow that.

Test plan:

0) Before testing, ensure that the relevant patron has a few public and private lists.
1) Log in on the Koha OPAC
3) Navigate to Home > koha > Lists
2) Notice that, when the page first load, the 'Your Lists' tab panel is displayed (functionality is preserved)
3) Select 'Public lists', and notice that the tab panel now matches that (again, functionality is preserved)
4) Either inspect the page's HTML or run a Lighthouse test, and check that all aria attribute required by screen readers are present

(aria attributes assumed to be required are aria-controls, aria-selected, and aria-labelledby. It is also assumed that 'role' attributes are needed)

Signed-off-by: Brendan Gallagher <brendan@bywatersolutions.com>
Signed-off-by: Baptiste Wojtkowski <baptiste.wojtkowski@biblibre.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-05-02 08:49:18 +02:00
Jonathan Druart 6d973c9701
Bug 39707: Fix JS error when requesting an article - OPAC
Caused by a bad conflict resolution when bug 36081 was pushed

Uncaught SyntaxError: missing ) after argument list

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-05-02 08:49:18 +02:00
Nick Clemens 3f649cfed7
Bug 36867: (follow-up) Don't check IP if ILS-DI disabled
When ILS-DI is disabled we still expect to return the correct service name/section in the
xml, but just indicate that it is disabled.

We should skip the check for authorized IPs in this case, as the IP only matters when service is enabled

Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-05-02 08:49:17 +02:00
Tomas Cohen Arazi 2b69baa3c7
Bug 39783: Fix typo in migrate.inc
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-05-02 08:49:16 +02:00
Tomas Cohen Arazi 234b725907
Bug 39600: Fix spec to include invalid query handling
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-04-29 17:19:34 +02:00
Jonathan Druart a5f671330e
Bug 39323: Fix selenium/update_child_to_adult.t
This test is not really needed. It the new window opens correctly the
next test will pass.
And should fail if it does not.

Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-04-29 17:19:34 +02:00
Owen Leonard 60442a8573
Bug 39761: OPAC DataTables responsive table controls style broken by Bug 39600
This patch copies and adapts some CSS from the default DataTables CSS in
order to add to the OPAC the required styles for new features added by
the updated ILL request page: Paging, table information, and the
"Processing" message shown while the table loads.

To test, apply the patch and rebuild the OPAC CSS. You should have
ILL enabled and configured.

- Log in to the OPAC as a user who has submitted multiple ILL requests.
- From the user summary page, click "Interlibrary loan requests" in the
  left-hand sidebar.
- The table of ILL requests should look correct with legible information
  and controls.
- All the DataTable features should work: Paging, showing different
  numbers of entries per page, sorting.
- Go to the user summary page and confirm that the tables on that page
  still display correctly: Checkouts, overdues, holds, etc.

Sponsored-by: Athens County Public Libraries
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>
2025-04-29 17:19:33 +02:00
Tomas Cohen Arazi 33311daea5
Bug 39762: Add server-side rendering to OPAC datatables
This patch ports the staff side feature into the OPAC. To be used by bug
39600.

To test:
1. Apply and verify no behavior change in OPAC tables
=> SUCCESS: They work the same
2. Verify 39600 still works after bug 39739 iis reverted.
=> SUCCESS: It does
3. Sign off :-D

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Owen Leonard <oleonard@myacpl.org>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-04-29 17:19:32 +02:00
Jonathan Druart 877f1fdf79
Bug 38842: Add a op=cud-null to the form
This will make xt/find-missing-op-in-forms.t pass
But also enforce the use of a op=cud- parameter.

It is at the end of the form element, so if another is passed in the
modal body the one passed will get retrieved properly by CGI->param

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-04-29 17:19:31 +02:00
Matt Blenkinsop 37538b22a0
Bug 39752: Check for biblio existence when matches are found
Currently when adding to a basket from a new/staged file, we don't check whether a matched record still exists when importing. This patch changes the conditional check to be based on the existence of the biblio record rather than just on the biblionumber from the match

Test plan:
1) Stage and import a record into Koha
2) Stage the same record again, this time matching on ISBN
3) Check that the match has been found in the batch details
4) Delete the original record that you imported in step 1
5) Find a basket, and add to it from a staged file
6) Choose the file/record you imported in stage 2
7) Select the record and save to add the orders
8) You will get a 500 error
9) Apply patch and restart_all
10) Refresh the page to re-submit the form
11) The form should submit correctly

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>
2025-04-29 17:19:31 +02:00
Nick Clemens 08da4b33b0
Bug 39752: (QA follow-up) Unit test
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-04-29 17:19:30 +02:00
Tomas Cohen Arazi d7fb4a93fc
Bug 39765: Centralize loaded plugin caching
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Pedro Amorim <pedro.amorim@openfifth.co.uk>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-04-29 17:19:29 +02:00
Jonathan Druart 3d44cfa0b1
Bug 39325: Fix t/Makefile.t
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-04-29 17:19:29 +02:00
Jonathan Druart e0b408df96
Bug 39325: (follow-up) Adjust DB 2025-04-29 09:34:45 +02:00
Caroline Cyr La Rose 68325b37e2
Bug 39565: Move OPACVirtualCard system preferences to features section
This patch moves the OPACVirtualCard and OPACVirtualCardBarcode system
preferences from the Suggestions subsection of the OPAC preferences to the
Features subsection.

To test:
1. Apply patch
2. Go to Administration > System preferences > OPAC
3. Search the page (Ctrl + F) for OPACVirtualCard
   --> The two preferences (OPACVirtualCard and OPACVirtualCardBarcode)
       should be in the Features section

Signed-off-by: Aude Charillon <aude.charillon@openfifth.co.uk>
Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-04-28 18:51:45 +02:00
Katrin Fischer c3dbb1876f
Bug 38441: DBRev 24.12.00.036
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-04-28 18:51:45 +02:00
Tomas Cohen Arazi 72fe5765ec
Bug 38441: (QA follow-up) Minor change
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-04-28 18:51:44 +02:00
Pedro Amorim d9c6a1de11
Bug 38441: (QA follow-up): Only look for matchin requests if patron
Previous commit 'HistoryCheck now only considers same patron' added the following regression:
HistoryCheck is performed and shown in the OPAC even if no user is authenticated (using ILLOpacUnauthenticatedRequest).
This fixes that. History check is skipped unless a user exists.

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-04-28 18:51:43 +02:00
Pedro Amorim 4da60d1669
Bug 38441: (QA follow-up): Hackfest feedback
This commit addresses all Hackfest QA related feedback:
1) Update of all strings that required update, including UI messages and
   sys pref description
2) Moved the history check information from staffnotes to its own
   pipe-separated illrequestattribute 'historycheck_requests'
3) Fix display of ILL request information on the history check screen
   (Staff), including proper label naming (e.g. branchcode -> library),
show status description instead of code, uppercase labels.
4) Updated OPAC display to match Staff UI's display of matching history
   requests
5) Removed ISSN criteria for matching requests check
6) Update tests accordingly

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-04-28 18:51:42 +02:00
Pedro Amorim 9a90757e25
Bug 38441: (QA follow-up): HistoryCheck now only considers same patron
Initial implementation checked existing ILLs for same patron and other patrons.
User testing reported ILLs for other patrons are not helpful, and makes this stage
screen show up much more frequently than it should.

This patch simplifies the original implementation to only consider the
patron of the request being placed for an ILL history check.

It also changes the ID matching to only 'DOI' or only 'Pubmed ID' if any of
those is set. This is to minimize scenarios where different articles from
the same journal come up as matching results e.g. same ISSN but different DOI.

It is also updating tests accordingly.

Other QA improvements

Improve HistoryCheck request list:
- Make link external and show icon (to prevent staff member from clicking away from the historyCheck screen unintentionally)
- Show requests' status
- Show requests' placed date
- Add id_prefix to request ID if possible

Signed-off-by: Lisette Scheer <lisette@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-04-28 18:51:41 +02:00
Pedro Amorim a358fcdb69
Bug 38441: (QA follow-up): Fix find-missing-filters.t
prove xt/find-missing-filters.t

Signed-off-by: Lisette Scheer <lisette@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-04-28 18:51:41 +02:00
Pedro Amorim fcf9c65977
Bug 38441: (QA follow-up): Fix find-misplaced-executables.t
It appears the atomic update had wrong permissions:
prove xt/find-misplaced-executables.t

Signed-off-by: Lisette Scheer <lisette@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-04-28 18:51:40 +02:00
Pedro Amorim 8a51e15616
Bug 38441: (QA follow-up): Handle undef userenv
C4::Context->userenv may be undef (after a reset_all, trying to place an unauthenticated request without being logged).
This change prevents a nasty 500 error trying use undefined as hash

Signed-off-by: Lisette Scheer <lisette@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-04-28 18:51:39 +02:00
Pedro Amorim d0348b5319
Bug 38441: Add tests
Test plan:
1) Apply patches
2) Run (ignore if using a sandbox):
  $ reset_all
3) Visit ILL system preferences:
  <staff_url>/cgi-bin/koha/admin/preferences.pl?tab=interlibrary_loans
4) Enable ILLModule and ILLHistoryCheck system preferences

-- STAFF testing --

5) Create a new ILL request, visit:
  <staff_url>/cgi-bin/koha/ill/ill-requests.pl?method=create&backend=Standard
6) Pick type = 'Journal article', enter '123' for DOI, '42' for cardnumber and any library. Click create.
7) Repeat 5) and 6). Notice you're now on the 'Request history check' screen. Verify your previous ILL request is listed. Click 'Submit anyway'.
8) Repeat 5) and 6). But pick a different patron cardnumber this time e.g. '23529000035676'.
9) Verify you're not shown the 'Request history check' screen as its a different patron.

-- OPAC testing --

10) Place a new request through the OPAC, visit:
  <opac_url>/cgi-bin/koha/opac-illrequests.pl?op=add_form&backend=Standard
11) Pick type = 'Journal article', enter '123' for DOI. Click 'Create'. Notice it shows the 'history check' screen listing the existing requests. Click 'Submit anyway'.
12) Return to the Staff UI:
  <staff_url>/cgi-bin/koha/ill/ill-requests.pl
13) Click on the latest ILL request. Verify 'History check requests' is displayed and contains information relating to the already existing ILL requests.

-- Bonus testing --
16) Play around with ILLModuleDisclaimerByType and
    ILLOpacUnauthenticatedRequest enabled at the same time as
    HistoryCheck (easy)
17) Play around with ILLCheckAvailability and AutoILLBackendPriority
    enabled at the same time as HistoryCheck
    (reach out for help using these preferences)

Run tests:
$ prove t/db_dependent/Koha/ILL/Request/Workflow/HistoryCheck.t

Signed-off-by: Lisette Scheer <lisette@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-04-28 18:51:38 +02:00
Pedro Amorim a63c3fd42f
Bug 38441: Style updates for staffnotes
- Use pre for staffnotes in staff illview
- Ensure <pre> has same font-family as rest of the page
- Render html for staff notes in list. Truncate to 100 chars max

Signed-off-by: Lisette Scheer <lisette@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-04-28 18:51:38 +02:00
Pedro Amorim ec9d72079c
Bug 38441: Allow / render HTML in ILL staff notes
Signed-off-by: Lisette Scheer <lisette@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-04-28 18:51:37 +02:00
Pedro Amorim f9a97918bc
Bug 38441: ILLHistoryCheck: OPAC
Signed-off-by: Lisette Scheer <lisette@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-04-28 18:51:36 +02:00
Pedro Amorim cb4ecb4e77
Bug 38441: ILLHistoryCheck: Staff UI
Signed-off-by: Lisette Scheer <lisette@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-04-28 18:51:35 +02:00
Pedro Amorim e9ca220884
Bug 38441: HistoryCheck Koha class
Signed-off-by: Lisette Scheer <lisette@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-04-28 18:51:34 +02:00
Pedro Amorim 09f5af791b
Bug 38441: atomicupdate
Signed-off-by: Lisette Scheer <lisette@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-04-28 18:51:34 +02:00
Pedro Amorim 35e3cb5476
Bug 38441: New 'ILLHistoryCheck' system preference
Signed-off-by: Lisette Scheer <lisette@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-04-28 18:51:33 +02:00
Katrin Fischer 6811106bda
Bug 39325: DBIC schema update
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-04-28 18:51:32 +02:00
Katrin Fischer f12bfe8f2b
Bug 39325: DBRev 24.12.00.035
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-04-28 18:51:31 +02:00
Katrin Fischer a0fdb56307
Bug 39325: (QA follow-up) Fix file permissions for codespell.t
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2025-04-28 18:51:31 +02:00