[Bug 42383] New: Vue-based interface for check-in
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=42383 Bug ID: 42383 Summary: Vue-based interface for check-in Initiative type: --- Sponsorship --- status: Product: Koha Version: Main Hardware: All OS: All Status: NEW Severity: enhancement Priority: P5 - low Component: Circulation Assignee: koha-bugs@lists.koha-community.org Reporter: andrew@bywatersolutions.com QA Contact: testopia@bugs.koha-community.org CC: gmcharlt@gmail.com, kyle@bywatersolutions.com Depends on: 24401 Bug 36540 proposes a Vue-based interface or checkout. This bug is for a vue-based checkin page. Referenced Bugs: https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=24401 [Bug 24401] REST API: Check-in -- You are receiving this mail because: You are watching all bug changes. You are the assignee for the bug.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=42383 Andrew Fuerste-Henry <andrew@bywatersolutions.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Blocks| |42643 Referenced Bugs: https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=42643 [Bug 42643] [OMNIBUS] Assorted performance and stability work -- You are receiving this mail because: You are watching all bug changes. You are the assignee for the bug.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=42383 Martin Renvoize (ashimema) <martin.renvoize@openfifth.co.uk> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |martin.renvoize@openfifth.c | |o.uk Blocks|42643 |42959 Referenced Bugs: https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=42643 [Bug 42643] [OMNIBUS] Assorted performance and stability work https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=42959 [Bug 42959] Migrate staff interface functionality from CGI controller + Template Toolkit to REST API + Vue.js -- You are receiving this mail because: You are watching all bug changes. You are the assignee for the bug.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=42383 Martin Renvoize (ashimema) <martin.renvoize@openfifth.co.uk> changed: What |Removed |Added ---------------------------------------------------------------------------- Initiative type|--- |Epic Target Milestone|--- |26.11 Strategic theme|--- |Modernisation -- You are receiving this mail because: You are watching all bug changes. You are the assignee for the bug.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=42383 Martin Renvoize (ashimema) <martin.renvoize@openfifth.co.uk> changed: What |Removed |Added ---------------------------------------------------------------------------- Assignee|koha-bugs@lists.koha-commun |tomascohen@gmail.com |ity.org | -- You are receiving this mail because: You are the assignee for the bug. You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=42383 Martin Renvoize (ashimema) <martin.renvoize@openfifth.co.uk> changed: What |Removed |Added ---------------------------------------------------------------------------- Summary|Vue-based interface for |Migrate check-in to Vue |check-in | -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=42383 Martin Renvoize (ashimema) <martin.renvoize@openfifth.co.uk> changed: What |Removed |Added ---------------------------------------------------------------------------- Summary|Migrate check-in to Vue |Migrate check-in page to | |Vue -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=42383 Andrew Fuerste-Henry <andrew@bywatersolutions.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Blocks| |43017 Referenced Bugs: https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=43017 [Bug 43017] [OMNIBUS] Interface optimization -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=42383 Tomás Cohen Arazi (tcohen) <tomascohen@gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Depends on| |43077 Martin Renvoize (ashimema) <martin.renvoize@openfifth.co.uk> changed: What |Removed |Added ---------------------------------------------------------------------------- Blocks|43017 | Referenced Bugs: https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=43017 [Bug 43017] [OMNIBUS] Interface optimization https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=43077 [Bug 43077] Add encode_claims/decode_claims to Koha::Token -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=42383 Brendan Lawlor <blawlor@clamsnet.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |blawlor@clamsnet.org -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=42383 Bug 42383 depends on bug 43454, which changed state. Bug 43454 Summary: Add REST endpoint to cancel a transfer (POST /transfers/{transfer_id}/cancellation) https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=43454 What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution|--- |DUPLICATE -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=42383 Tomás Cohen Arazi (tcohen) <tomascohen@gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Depends on| |43454 Depends on|43454 | Referenced Bugs: https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=43454 [Bug 43454] Add REST endpoint to cancel a transfer (POST /transfers/{transfer_id}/cancellation) -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=42383 Tomás Cohen Arazi (tcohen) <tomascohen@gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Depends on| |42443 CC| |tomascohen@gmail.com Referenced Bugs: https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=42443 [Bug 42443] Update transferstoreceive.pl to use the API to fetch transfer information -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=42383 Tomás Cohen Arazi (tcohen) <tomascohen@gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Depends on|24401 | Referenced Bugs: https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=24401 [Bug 24401] Add POST /checkins endpoint with availability check and confirmation flow -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=42383 Tomás Cohen Arazi (tcohen) <tomascohen@gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Depends on| |43486 URL| |https://github.com/bywaters | |olutions/bywater-koha-devel | |/tree/bug_42383_vuejs_check | |in Status|NEW |Needs Signoff Referenced Bugs: https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=43486 [Bug 43486] Add permission-gated patron notification info to the checkin hold.patron embed -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=42383 --- Comment #1 from Tomás Cohen Arazi (tcohen) <tomascohen@gmail.com> --- This is submitted to a branch, because of the many deps and constant required rebases it would pollute the report. Once we get some eyes on it and the dependencies move, I can submit here. -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=42383 --- Comment #2 from Lisette Scheer <lisette@bywatersolutions.com> --- Is there a test plan on one of the commits, if so can you link to which one it is here? -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=42383 Benjamin Daeuber <bdaeuber@cityoffargo.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |bdaeuber@cityoffargo.com -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=42383 --- Comment #3 from Tomás Cohen Arazi (tcohen) <tomascohen@gmail.com> --- What I did was starting two KTD instances in parallel: ```shell cd ~/git/koha-worktrees/bug_42383 SYNC_REPO=$PWD ktd --proxy --name bug_42383 up -d ``` ```shell cd ~/git/koha SYNC_REPO=$PWD ktd --proxy --name vanille up -d ``` Then I went through all the scenarios to compare the outcome. -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=42383 --- Comment #4 from Tomás Cohen Arazi (tcohen) <tomascohen@gmail.com> --- Hi, this is fully implemented as I mentioned on my previous comment. A few more fixes were added in the meantime, mostly cosmetic. I'll try to upload a full test plan. What I did was launching the current version and the new ones in parallel using KTD, and replicating the same scenarios covering all UC from the UC file. -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=42383 --- Comment #5 from Tomás Cohen Arazi (tcohen) <tomascohen@gmail.com> --- Created attachment 206762 --> https://bugs.koha-community.org/bugzilla3/attachment.cgi?id=206762&action=edit Test plan -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=42383 Lisette Scheer <lisette@bywatersolutions.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |zoho.roboto@bywatersolution | |s.com -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=42383 Lisette Scheer <lisette@bywatersolutions.com> changed: What |Removed |Added ---------------------------------------------------------------------------- QA Contact|testopia@bugs.koha-communit |matt.blenkinsop@openfifth.c |y.org |o.uk -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=42383 Alex Carver [Acerock7] <alex@rcls.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |alex@rcls.org --- Comment #6 from Alex Carver [Acerock7] <alex@rcls.org> --- Hiya Tomás-- I'm working through the test plan and wanted to share some things I've found. I'll map them to the same sections in the plan: 1. Core check-in flow I don't see the sidenav when in checkin.pl at all Non-public notes on items do not appear in check-in table, though there is a note column. Public notes also do not appear in my testing. On main, they appear in red in this column. 2. Check in Options "Effective Checkin Date" message does not appear when clicking book drop mode. Book drop mode sets return date as today's date. Double checked that library calendar was set correctly for the logged in library. While using "Specify return date" and using a date earlier than the checkout date, the book stays on the patron record. "Forgive overdue charges" option not available 3. Item Status Alerts NotForLoan status is not updated on Checkin. Tested with _ALL_ 2:0 setting in the syspref -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=42383 --- Comment #7 from Brendan Lawlor <blawlor@clamsnet.org> --- I'm also working through the test plan and comparing to the current checkin page. I also used Claude Opus 5.5 to help analyze the difference between the two and flag possible bugs to look into. Now I am going through the list to verify everything before posting. The side nav issue Alex noted is because checkin.tt still uses Koha.Preference('CircSidebar'), which was removed by bug 42344. -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=42383 --- Comment #8 from Tomás Cohen Arazi (tcohen) <tomascohen@gmail.com> --- Hi folks. I'll be travelling tomorrow for KohaCon but I'll try to re-run my side-by-side check and try to address your findings. I didn't know about bug 42344 so, oh well. Thanks for pointing that out! -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=42383 --- Comment #9 from Alex Carver [Acerock7] <alex@rcls.org> --- Have a great time at KohaCon!! I've gone through the entire test plan save for one section. Pasting all my findings here to gather them in one place. Forgive the double posting: 1. Core check-in flow Don't see sidenav when in checkin.pl Non-public note does not appear in check-in table, though there is a note column. Public notes also do not appear. 2. Check in Options "Effective Checkin Date" message does not appear when clicking book drop mode. Book drop mode sets return date as today's date "Forgive overdue charges" option not available 3. Item Status Alerts NotForLoan status is not updated on Checkin. Tested with _ALL_ 2:0 4. Holds With HoldsAutoFill set to "Do" I still get the confirmation popup. 5. Transfers With `TransfersBlockCirc` off, and 'AutomaticConfirmTransfer` on, modal appears briefly but disappears before user interacts with it. Unsure if that's intended behavior of these two sysprefs together. 6. Recalls OK 7. Fines and Fees OK 8. Patron Information Patron notes do not appear when an item is checked in. After turning on `AutoClaimReturnStatusOnCheckin` and checking in a claimed book, claim status was removed, but book remained checked out to patron. Book was showing as a resolved claim and a current checkout simultaneously. 9. Confirmation dialogs OK 10. Checked-in items table Print checkin slip opens a popup with the patron checkout page rather than printing a slip. Total checkouts does not appear in the patron column. 11. Book drop / outside return (Repeated from Section 2) "Effective Checkin Date" message does not appear when clicking book drop mode. "Forgive overdue charges" option not available 12. Error states OK 13. API / policy header This part is a little over my head so I'll leave it to others. -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=42383 Brendan Lawlor <blawlor@clamsnet.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|Needs Signoff |Failed QA --- Comment #10 from Brendan Lawlor <blawlor@clamsnet.org> --- I used Claude Opus 5.5 to test this with ktd proxy running current main and the bug's branch side by side. Most of the things that it caught I was able to confirm. Here's Claude's findings in order of severity with some notes from me: Tested branch bug_42383_vuejs_checkin on KTD against the full test plan, using real data and a headless browser. Most of the plan passes; the problems are below. FAILURES 1. HoldsAutoFill is ignored (test plan 4.6) With HoldsAutoFill on, the hold found modal still appears and the hold is not filled. Nothing in the new code reads the preference. Legacy returns.pl called ModReserveAffect and requested a transfer when needed. - Confirmed with manual human testing 2. Hold cancellation reason is never saved (4.4) HoldCancellationModal.vue binds r.authorised_value, but /authorised_value_categories/.../authorised_values returns "value". The options have no real value, so no reason is sent to hold_cancellation and the cancelled hold has cancellation_reason NULL. - Confirmed with manual human testing using ktd --dbshell after cancelling a hold 3. Wrong transfers are not repaired (5.4) Item in transit MPL -> FPL, checked in at CPL: the "Wrong transfer detected" modal is correct, but the transfer is left as MPL -> FPL. Legacy returns.pl replaced it (request_transfer with replace => 'WrongTransfer', ignore_limits => 1). "Yes, transfer" can't fix it either: the store only calls transfer_confirmation when entry.transfer_id is set, and it is null here. - Confirmed with Manual testing and verifying in ktd --dbshell. My understanding of the legacy checkin is that whe a wrong transfer is detected the original row in branchtransfers should get a datecancelled and cancellation_reason = 'WrongTransfer'. A new branch transfer should be created for the new transfer with the datesent. 4. Bundle "Confirm checkin and mark missing items as lost" does nothing (9.2) verified_bundle_barcodes is in the API spec (paths/checkins.yaml) but no Perl code reads it. With 2 of 3 bundle items scanned, the missing item was not set to BundleLostValue. Legacy did this in returns.pl (and removed unexpected items from the bundle). The Title and Author columns in the verification table are also empty: the component reads biblio_title / biblio_author, which the items response doesn't provide. - Confirmed with manual human testing. Confirm chekcin and mark missing items as lost does not update the item's lost status. Title and Author don't display in the confirm bundle contents table, and 5. "Remove from bundle" does nothing (3.5) The button in the in_bundle alert (Main.vue) has no click handler; onMessagesClick only handles .resolve-claim-btn. "View host item" also links to the checked-in item's own biblio (latest.item.biblio.biblio_id) rather than the host's. - Confirmed with Manual testing, Remove from bundle button does not work and View host item links to the bundled item instead of host 6. "Print checkin slip" opens the quick slip (10.5) slip-printer.js opens circulation.pl?borrowernumber=X&print=qslip. Legacy opened members/printslip.pl?borrowernumber=X&print=checkinslip. - Confirmed with manual human testing. Also this just opened the route in a new windo, not the actual print dialog 7. Patrons with privacy "Never" (10.5) With AnonymousPatron set, the row shows the anonymous patron's name and offers "Print checkin slip" for the anonymous patron. The embedded checkout is already anonymised (privacy 1), so the privacy check never hides the button. - Confirmed with manual human testing. I guess the Anonymous patron name and print checkin slip button should not be displayed in this case 8. Checkout note (issue.note) not shown on a normal return (8.3) The note is in the API response but is only rendered inside ConfirmationModal, so it appears only when a hold/transfer/recall modal opens, and the date is shown as a raw ISO timestamp. Legacy showed the "Patron note" box, with a formatted date, on every return that had one. - Confirmed with manual human testing. It's an ISO timestamp instead of a formatted date, so it's a very minor issue. 9. Circulation sidebar never shows (1.5) checkin.tt still uses Koha.Preference('CircSidebar'), which was removed by bug 42344. All other circ templates now use [% WRAPPER 'main-container.inc' aside='circ-nav' %]. - Confirmed by manual human testing. SMALLER ISSUES - Every normal return gets an "Already returned" badge. It comes from the WasReturned message, which just means the checkout was returned; legacy never displayed it. - Confirmed by manual human testing. It should just say 'Returned' - Hold for another library (4.3): the modal says "Hold at <library>" / "Confirm hold (Y)" rather than "Transfer to" / "Confirm hold and transfer", because the response has no needs_transfer message. The transfer itself is created correctly on confirm. - Confirmed by manual human testing - Ignore (I) on a hold modal marks the row "Not checked in" although the item was checked in (dismissPending is used for post-checkin actions as well). -Confirmed by manual human testing - Re-checking in an item already waiting for a hold (4.5): the modal doesn't say the hold is already waiting (legacy: "Hold found (item is already waiting)"). - Confirmed by manual human testing. No item is already waiting message' - "No, don't transfer (N)" cancels the transfer, but the row still shows "Transferred" and "Transfer to <library>". - Confirmed by manual human testing - Invalid barcode shows "Item not found"; legacy showed "No item with barcode: X". - Confirmed with manual human testing - UpdateNotForLoanStatusOnCheckin: shown only as a raw "not for loan status updated" badge, without the from/to values. - Patron column: the name is not a link and there is no checkouts count (checkouts_count isn't embedded). - Confirmed by manual human testing - When a lost item is returned and a new overdue fine is charged, both "refund applied" and "refund applied and new overdue charge calculated" are shown; legacy showed one (IF/ELSIF). - "Forgive fees for manually expired holds" is emitted by CheckinOptions but never sent by the store. - Koha::Module::Policy::Checkin sets recalls_enabled from preference('UseRecalls') ? 1 : 0, which is true for 'off'. It should compare with ne 'off'. Nothing in the Vue code reads it yet. PASSED - Core flow: scan, barcode clears and refocuses, fast scans processed independently (newest first), not checked out, RecordLocalUseOnReturn. - Options: book drop (warning highlight, fine uses the drop-box date), forgive overdue charges, return date override, "Remember return date", book drop and forgive combined; exempt_fine hidden without updatecharges: writeoff, and a forced request gets a 403 with X-Koha-Module-Policy (payload exempt_fine = 0). - BlockReturnOfWithdrawnItems / BlockReturnOfLostItems blocking modals and the withdrawn warning; UpdateNotForLoanStatusOnCheckin changes the status. - Hold found modal details (patron, category, address, phone, email, SMS, restricted, address in doubt, notification methods, main contact method), confirm (waiting), confirm for another library (transfer created), Print slip and confirm, WaitingNotifyAtCheckin. - Transfers: blocking and non-blocking modals, scanning while a modal is open, print transfer slip, AutomaticConfirmTransfer, transfer arrived, AllowReturnToBranch=homebranch blocking. - Recalls: modal details, confirm (waiting), confirm with transfer (in_transit). - Lost fee refunded / remains / charged, processing fee message, FineNotifyAtCheckin with payment link. - Restriction messages (new, previously restricted, indefinite), return claim warning, resolve claim modal (PUT /return_claims/{id}/resolve), AutoClaimReturnStatusOnCheckin. - CircConfirmItemParts confirm and deny; bundle verification modal UI, progress counter, confirm without verifying, cancel. - Table: TablesSettings column hiding, numReturnedItemsToShow cap, overdue flag, Blocked / Not checked in indicators. - Network error message and retry; the page and the API are refused without circulate_remaining_permissions. - API: GET /checkins/availability (blockers/confirms/warnings, no side effects), POST by item_id and external_id, 412 with confirmation token then 200, 400 without an identifier, 404 for an unknown item; hold_confirmation, hold_cancellation, transfer_confirmation, transfer_cancellation, recall_confirmation. -- You are receiving this mail because: You are watching all bug changes.
participants (1)
-
bugzilla-daemon@bugs.koha-community.org