Commit Graph

58581 Commits

Author SHA1 Message Date
Paul Derscheid 5c21ec8fe1
Bug 38222: (follow-up) Reset overflow property of modal-body to prevent clipping of combobox options instead of position: fixed
Also remove the inlined styles on the unordered list. Bootstrap's dropdown handles all of this.

Sponsored-by: Büchereizentrale Schleswig-Holstein <https://www.bz-sh.de/>
Signed-off-by: LEBSimonsen <simonsen@bz-sh.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2024-10-25 16:41:32 +02:00
Paul Derscheid 6a9f45686e
Bug 38222: Use comboboxes in circ/circulation.pl, bookings/list.pl, members/moremember.pl
To test:
1) Apply dependencies and this patch
2) Maybe update class files w/ update_dbix_class_files.pl
3) Build a new bundle w/ yarn api:bundle
4) Restart plack
5) Add a couple bookings to a patron
6) Go to any of the above modules
7) Cancel the booking and note
    7.1) That the value you input is correctly received by the backend for cancellation_reason
    7.2) Do it for the other 2 modules
8) Configure some authorised values under category BOOKING_CANCELLATION
9) Repeat 7 and note that you can select them in the combobox
10) Sign off or leave your feedback

Sponsored-by: Büchereizentrale Schleswig-Holstein <https://www.bz-sh.de/>
Signed-off-by: LEBSimonsen <simonsen@bz-sh.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2024-10-25 16:41:32 +02:00
Paul Derscheid 26b1a4439a
Bug 38222: Add handling for cancellation reasons to cancel booking modal template, associated script
Sponsored-by: Büchereizentrale Schleswig-Holstein <https://www.bz-sh.de/>
Signed-off-by: LEBSimonsen <simonsen@bz-sh.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2024-10-25 16:41:31 +02:00
Paul Derscheid 908d4f62ad
Bug 38222: Add cancellation reason to bookings patch definition; reformat bookings definition
Sponsored-by: Büchereizentrale Schleswig-Holstein <https://www.bz-sh.de/>
Signed-off-by: LEBSimonsen <simonsen@bz-sh.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2024-10-25 16:41:31 +02:00
Paul Derscheid d5098ed627
Bug 38222: Add combobox component
Sponsored-by: Büchereizentrale Schleswig-Holstein <https://www.bz-sh.de/>
Signed-off-by: LEBSimonsen <simonsen@bz-sh.de>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2024-10-25 16:41:30 +02:00
Kyle M Hall 5f2807b370
Bug 36560: (QA follow-up) Tidy code
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2024-10-25 16:41:29 +02:00
David Cook 8472279d5c
Bug 36560: Add a CSRF exception for ILS-DI API
This change adds an exception for the ILS-DI API for CSRF prevention since there is no way to acquire a CSRF token
for the ILS-DI API.

1. Go to http://localhost:8081/cgi-bin/koha/admin/preferences.pl?op=search&searchfield=ILS-DI
2. Enable "ILS-DI"
3. curl -v localhost:8080/cgi-bin/koha/ilsdi.pl -d "service=AuthenticatePatron&username=REALUSER&password=REALPASSWORD"
4. Note the 403 response

5. Apply the patch
6. sudo koha-plack --restart kohadev

7. curl -v localhost:8080/cgi-bin/koha/ilsdi.pl -d "service=AuthenticatePatron&username=REALUSER&password=REALPASSWORD"
8. Note the 200 response

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>
2024-10-25 16:41:29 +02:00
Katrin Fischer ef3d6a03de
Bug 35906: (QA follow-up) Add AFTER to database update
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2024-10-25 16:41:28 +02:00
Katrin Fischer 1eb4e5c287
Bug 35906: DBIC schema update
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2024-10-25 15:34:47 +02:00
Katrin Fischer 0839da8fc0
Bug 35906: DBRev 24.06.00.045
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2024-10-25 15:34:46 +02:00
Martin Renvoize f7cc43fd22
Bug 35906: (QA follow-up) Unit tests for effective_bookable
Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2024-10-25 15:34:46 +02:00
Paul Derscheid 33021aa214
Bug 35906: (QA follow-up) Correct type on added bookable column
Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2024-10-25 15:34:45 +02:00
Paul Derscheid 17706d8787
Bug 35906: (QA follow-up) Tidy block in TestBuilder.pm
Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2024-10-25 15:34:44 +02:00
Paul Derscheid f6f28e2265
Bug 35906: (QA follow-up) Refactor (slightly) to reduce complexity in Koha/Item(s).pm, catalogue/updateitem
Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2024-10-25 15:34:44 +02:00
Paul Derscheid 6380c89ab9
Bug 35906: (QA follow-up) Tidy admin/itemtypes.pl, Items.t
Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2024-10-25 15:34:43 +02:00
Martin Renvoize 50b9af836e
Bug 35906: (QA follow-up) Ensure we return effective_bookable
The API wasn't including the effective_bookable value in responses

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2024-10-25 15:34:43 +02:00
Thibaud Guillot 329fcc37fd
Bug 35906: (QA follow-up) Add bookable option for API
Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2024-10-25 15:34:42 +02:00
Martin Renvoize d02a717ab6
Bug 35906: (QA follow-up) Fix item-type schema
Signed-off-by: Esther <esther@bywatersolutions.com>
Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2024-10-25 15:34:42 +02:00
Martin Renvoize db6cce8852
Bug 35906: Remove preference and add override handling
This patch updates the bookable nature of items to allow setting at the
itemtype level and then overriding that setting at item level should you
so wish to do so.

We also now properly handle the item_level-itypes preference such that
we look at item or biblioitem level appropriately.

Signed-off-by: Esther <esther@bywatersolutions.com>
Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2024-10-25 15:34:41 +02:00
Thibaud Guillot 8dde2730a5
Bug 35906: Add unit test
Signed-off-by: Esther <esther@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2024-10-25 15:34:40 +02:00
Thibaud Guillot 39891095a6
Bug 35906: Add bookable option on itemtype
Actually new "booking" feature can be set on an item but no directly on
an itemtype. This patch adds this possibility.

Test plan:
1) Test this new feature on an item as it were currently working.
2) Apply this patch
3) Run updatedatabase.pl
4) Reload Schema by running update_dbix_class_files.pl
5) Change new syspref 'item-level_booking' to 'itemtype'
6) Edit an itemtype, there is a new checkbox to add 'bookable' option
7) Test it with item with this itemtype, if there is 1 item at least you
   will see 'Booking' tab.
8) You can change syspref to 'item' to see the current behavior

Note: When item-level_booking is set on 'itemtype' you can change
dropdown option to 'No' on item bookable option.

Sponsored by: Association de Gestion des Œuvres Sociales d'Inria (AGOS)
Signed-off-by: Esther <esther@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2024-10-25 15:34:40 +02:00
Martin Renvoize 94210ae471
Bug 38175: (QA follow-up) Add cancelled handling to find_booking
We need to also exclude cancelled bookings from the find_booking routine
used at checkout.

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2024-10-25 15:34:39 +02:00
David Cook 3237baeb0b
Bug 37742: Fix error display
This change fixes the display of the error message on "My virtual card"
on the OPAC.

Test plan:
0. Apply the patch and enable syspref "OPACVirtualCard"
1. Go to http://localhost:8081/cgi-bin/koha/members/memberentry.pl
?op=edit_form&destination=circ&borrowernumber=51
2. Add an asterisk (*) to the end of the card number
3. Go to http://localhost:8080/cgi-bin/koha/opac-virtual-card.pl
4. Note that the error message appears as follows:
Code 39 must contain only digits, capital letters, spaces and the symbols -.$/+%

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>
2024-10-25 15:34:39 +02:00
Jonathan Druart 94ce572755
Bug 38192: Fix restoration of table state for suggestion tables
There is one table per tab, the id of the table is table_N.

Say you have:
Pending (#table_1), Accepted (#table_2), Rejected (#table_3)
The state will be stored in localStorage with the following key:
DataTables_table_1_/cgi-bin/koha/suggestion/suggestion.pl
DataTables_table_2_/cgi-bin/koha/suggestion/suggestion.pl
DataTables_table_3_/cgi-bin/koha/suggestion/suggestion.pl

If you move all the suggestions from Accepted to Rejected, a shift will
give: Pending (#table_1), Rejected (#table_2) And the previous state
from the "Accepted" tab will be used for "Rejected"

Test plan:
Confirm the above, have several tabs then remove one by moving the
all suggestions to an other tab.

Test the other features on the edit and list views:
change status, update manager, etc.

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2024-10-25 15:34:38 +02:00
Jonathan Druart 2d0bb6cc6a
Bug 38191: Restore collapse/expand of filters on the suggestions page
Test plan:
Go to http://localhost:8081/cgi-bin/koha/suggestion/suggestion.pl
Confirm that you can expand the filters blocks on the left

Filter by:
 Bibliographic information
 Suggestion information
 Acquisition information

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>
2024-10-25 15:34:37 +02:00
Paul Derscheid 3ff6ded868
Bug 38272: Additionally fix typo in condition for acquisition orders permission
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2024-10-25 15:34:37 +02:00
Paul Derscheid 48b938d35c
Bug 38272: Add permission check for erm permission to additional-fields.tt
To test:

1) Create a user with just erm and catalogue permissions.
2) Open additional-fields.pl
3) Notice that nothing is displayed
4) Change the permission of the user to just manage aquisition orders and catalogue
5) Navigate back to additional-fields.pl
6) Notice that nothing is displayed
7) Apply patch
8) Repeat 1-6 but notice this time that the respective entries are displayed
9) Sign off

Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2024-10-25 15:34:36 +02:00
Katrin Fischer 6f0e0e5698
Bug 33736: (QA follow-up) Wrap more title strings for translation
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2024-10-25 11:10:02 +02:00
Martin Renvoize 552abe9b64
Bug 33736: (follow-up) Rebase fix for changed api date handling
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2024-10-25 11:10:02 +02:00
Martin Renvoize 24213cea49
Bug 33736: (QA follow-up) Wrap title strings for translation
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2024-10-25 11:10:01 +02:00
Martin Renvoize 4b62bd343c
Bug 33736: (QA follow-up) Holds & Bookings > Holds and bookings
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2024-10-25 11:10:00 +02:00
Martin Renvoize 0787f6649d
Bug 33736: Don't allow sorting on Location
We need some special handling to sort on Location as it's got both a
custom renderer and relies on _strings so the ordering and search won't
return expected results without some custom function building.

Sponsored-by: PTFS Europe Ltd
Signed-off-by: Esther Melander <esther@bywatersolutions.com>
Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2024-10-25 11:10:00 +02:00
Martin Renvoize 0484e031b2
Bug 33736: Add column settings definition for bookings report
Sponsored-by: PTFS Europe Ltd
Signed-off-by: Esther Melander <esther@bywatersolutions.com>
Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2024-10-25 11:09:59 +02:00
Martin Renvoize dbd63a2c2a
Bug 33736: Don't search on start_date if no date filter is defined
Sponsored-by: PTFS Europe Ltd
Signed-off-by: Esther Melander <esther@bywatersolutions.com>
Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2024-10-25 11:09:58 +02:00
Martin Renvoize 025ed2d09a
Bug 33736: Ensure datatable filter row takes visible into account
We clone the header row, and then iterate it assuming the iterator index
lines up with the column definition index of the datatables settings.

However, if a column is hidden, this is not the case. Said column will
not appear in the header row that's cloned and as such your iterator
will no longer line up with the column settings index number of the
settings array.

Sponsored-by: PTFS Europe Ltd
Signed-off-by: Esther Melander <esther@bywatersolutions.com>
Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2024-10-25 11:09:58 +02:00
Paul Derscheid 6392f90b5f
Bug 33736: (follow-up) Remove top-level embed in bookings.yaml
For reference, see: bug 30536.

Sponsored-by: PTFS Europe Ltd
Signed-off-by: Esther Melander <esther@bywatersolutions.com>
Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2024-10-25 11:09:57 +02:00
Martin Renvoize 48a62a4d47
Bug 33736: Bootstrap 5 update
Sponsored-by: PTFS Europe Ltd
Signed-off-by: Esther Melander <esther@bywatersolutions.com>
Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2024-10-25 11:09:56 +02:00
Martin Renvoize f5d0dceb82
Bug 33736: Add item location and filter by library to bookings to collect report
This patch adds a new 'Location' field to the bookings to collect
report. We display with the current item location or an onloan status
with the due date.

We also add filtering for status != 'waiting' to the base query to rule
out items marked as ready for collection already (however, we don't yet
have a way of marking such a status so this won't have any effect yet).

Sponsored-by: PTFS Europe Ltd
Signed-off-by: Esther Melander <esther@bywatersolutions.com>
Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2024-10-25 11:09:56 +02:00
Martin Renvoize b910ccb647
Bug 33736: Add filter for holding library
This patch adds the option to filter the pending bookings to collect report by
items current holding library and defaults to the users logged in library.

We also add the 'Pickup library' column to the report output so staff
know whether the item needs collecting for sending to another library or
for their own.

Sponsored-by: PTFS Europe Ltd
Signed-off-by: Esther Melander <esther@bywatersolutions.com>
Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2024-10-25 11:09:55 +02:00
Martin Renvoize deb0a8f9f6
Bug 33736: Set default window to 1 week
This update the default display from today + 1 to today + 7 days.

Sponsored-by: PTFS Europe Ltd
Signed-off-by: Esther Melander <esther@bywatersolutions.com>
Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2024-10-25 11:09:54 +02:00
Martin Renvoize 1f7038d11a
Bug 33736: Add pendingbookings report
This patch adds a 'Bookings to collect' page to circulation that allows
for a workflow similar to 'Holds to pull', but for bookings.

Sponsored-by: PTFS Europe Ltd
Signed-off-by: Esther Melander <esther@bywatersolutions.com>
Signed-off-by: Paul Derscheid <paul.derscheid@lmscloud.de>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2024-10-25 11:09:54 +02:00
Katrin Fischer 1f16d490f1
Bug 28833: DBRev 24.06.00.044
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2024-10-25 11:09:53 +02:00
Kyle M Hall d8fc079eee
Bug 28833: Speed up holds queue builder via parallel processing
The holds queue builder can take a very long time to run on systems with many holds. For example, a partner with 124,784 unfilled ( not found ) holds, is taking about 64 minutes to run. If we run that same number of holds in 5 parallel chunks ( splitting the number of records as evenly as possible, but *not* taking into account the holds per bib ), it takes 21.5 minutes. If we use 10 loops, it takes less then 14 minutes.

Test Plan:
0) Install the Perl library Parallel::ForkManager
1) Generate a huge number of holds ( a few thousand at the minimum )
2) Run the holds queue builder, use the `time` utility to track how much
   time it took to run
3) Set HoldsQueueParallelLoopsCount to 10
4) Repeat step 2, note the improvement in speed
5) Experiment with other values for HoldsQueueParallelLoopsCount
6) prove t/db_dependent/HoldsQueue.t

Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2024-10-25 11:09:53 +02:00
Johanna Raisa d3a71a446a
Bug 30661: Allow to update more hold parameters via REST API
This patch adds hold_date and expiration_date to holds edit endpoint

Test plan:

1) prove t/db_dependent/api/v1/holds.t

Sponsored-by: Koha-Suomi Oy
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>
2024-10-25 11:09:52 +02:00
Tomas Cohen Arazi 6190154a43
Bug 36064: (QA follow-up) Simplify and tidy
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2024-10-25 11:09:51 +02:00
Owen Leonard 2cb63bb763
Bug 36064: (follow-up) Activate correct tab
This patch makes a change to the JavaScript on waitingreserves.pl so
that the correct tab is activated if you follow the "Holds with
cancellation requests" link on the home page.

The page has code to activate the last viewed tab, but I've modified it
so that if there is a location hash ('waitingreserves.pl#tab') the tab
specified in the hash is selected instead of the last used tab.

If there is no location hash the last active tab will be activated.

I've also corrected the location hash in the link on the home page.

To test, apply the patch and follow the "Holds with cancellation
requests" link. The "Holds with cancellation requests" tab should be
active.

Click a different tab, e.g. "Holds waiting." Go the the circulation home
page, then click the link for "Holds awaiting pickup." The tab you
selected should be active.

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2024-10-25 11:09:51 +02:00
Lucas Gass f0a08c3608
Bug 36064: Add holds with cancellation request info to staff interface main page
To Test:
1. APPLY PATCH, restart_all
2. Make some holds
3. Make sure there is a Default waiting hold cancellation policy.
4. Make the holds watiing by checking them in.
5. Go to the OPAC and request to cancel.
6. Go to the staff interface home page, you should see 'Holds with
   cancellation requests: X'.
7. Cancel the hold.
8. Back on the main page it should not be counted again the number for
   'Holds with cancellation requests: X'
9. Log in as a staff member with Staff access but without
   circulate_remaining_permissions.
10. You should not see the 'Holds with cancellation requests: X' line.

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2024-10-25 11:09:50 +02:00
Johanna Raisa a50eacf11d
Bug 30660: Add cancellation reason to holds delete endpoint
This patch adds cancellation reason to holds delete endpoint.

Test plan:
1) prove t/db_dependent/api/v1/holds.t

PA amended: tidy

Sponsored-by: Koha-Suomi Oy
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>
2024-10-25 11:09:49 +02:00
Jan Kissig 3fac0dc36f
Bug 37253: Enhance POST /checkouts endpoint to accept barcode or item_id
This patch adds external_id as a body param in POST /checkouts which acts as the items barcode.
This enhances the checkouts route to checkout items directly via barcode which could be useful for external
tools like Koha Offline Circulation Tool

Test plan:

a) apply patch
b) enable system preference RESTBasicAuth
c) check out an item via an API testing tool. Be sure that item is not checked out already.

   Auth: username: koha  &  password: koha
   Body JSON:
   {
     "external_id" : "39999000011418",
     "library_id": "CPL",
     "patron_id": 5
   }
   POST http://localhost:8081/api/v1/checkouts
d) check response code 201 and response content

Signed-off-by: Matt Blenkinsop <matt.blenkinsop@ptfs-europe.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2024-10-25 11:09:48 +02:00
Katrin Fischer 741f4f7b04
Bug 38193: DBIC schema update
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
2024-10-24 18:27:28 +02:00