https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=42383

--- Comment #39 from Tomás Cohen Arazi (tcohen) <[email protected]> ---
Created attachment 209572
  -->
https://bugs.koha-community.org/bugzilla3/attachment.cgi?id=209572&action=edit
Bug 42383: (QA follow-up) Fix check-in page findings from browser testing

This patch fixes differences with the legacy returns.pl page found by
testing both pages side by side in the browser.

Changes:
- Main.vue: a transfer modal disables the barcode input when
  TransfersBlockCirc is set, so a scanner cannot check in the next item
  behind it. The input is focused again once the transfer is resolved.
- ConfirmationModal.vue: "Cancel hold" is only offered for holds that
  are already waiting, as on the legacy page. On an unconfirmed
  record-level hold it failed with a 500 (Koha::Hold->cancel needs an
  item to calculate the cancellation fee).
- stores/checkin.js: confirming a hold that needs a transfer shows the
  transfer (destination and reason) on the row.
- CheckedInItems.vue: due and acquisition dates are formatted with
  $date() (dateformat syspref) instead of the browser locale.
- POST /checkins accepts the item+strings, hold.patron+strings and
  recall.patron+strings embeds. The table shows shelving location, item
  type and collection descriptions, and the hold/recall modals show the
  patron category description, instead of the codes.
- The transfer modal no longer shows "Already returned": was_returned is
  set on every return and the legacy page never displayed it.
- Patron card numbers are shown next to the patron names.
- The item type check-in message gets a label in the status column.
- The print button reads "Print slip, transfer, and confirm (P)" when
  the hold needs a transfer, as on the legacy page.

Test plan:
1. Apply patch and rebuild:
   $ ktd --shell
  k$ yarn api:bundle && yarn js:build && restart_all
2. Set TransfersBlockCirc to "Block", AutomaticItemReturn to "Do",
   HoldsAutoFill to "Don't", and set your browser language to one that
   uses day/month dates (e.g. Spanish)
3. Check out to a patron: an item from another library (A), an item
   with a shelving location (B), an item with a record-level hold for
   pickup at another library (C)
4. Go to Circulation > Check in, check in A
=> SUCCESS: The transfer modal shows, the barcode input is disabled
=> SUCCESS: No "Already returned" message in the modal
5. Scan B with the modal open
=> SUCCESS: Nothing is checked in
6. Click "Yes, transfer"
=> SUCCESS: The barcode input is enabled and focused
7. Check in B
=> SUCCESS: Dates follow the dateformat syspref
=> SUCCESS: Shelving location and item type show their descriptions
=> SUCCESS: The patron card number is shown
8. Check in C
=> SUCCESS: The patron category description and card number show
=> SUCCESS: There is no "Cancel hold" button
=> SUCCESS: The print button reads "Print slip, transfer, and confirm"
9. Click "Confirm hold and transfer"
=> SUCCESS: The row shows the destination library and "Hold" reason
10. Check in an item with a waiting hold, click "Cancel hold", pick a
    reason and confirm
=> SUCCESS: The hold is cancelled with the chosen reason
11. Run:
  k$ prove t/db_dependent/api/v1/checkins.t xt/api.t
=> SUCCESS: Tests pass!
12. Sign off :-D

Assisted-by: Opus 5.5 (Anthropic)
Signed-off-by: Brendan Lawlor <[email protected]>

-- 
You are receiving this mail because:
You are watching all bug changes.
_______________________________________________
Koha-bugs mailing list -- [email protected]
To unsubscribe send an email to [email protected]
website : http://www.koha-community.org/
git : http://git.koha-community.org/
bugs : http://bugs.koha-community.org/

Reply via email to