Bug 38806 - Modal to confirm a pending transfer does not have a "cancel" button
Summary: Modal to confirm a pending transfer does not have a "cancel" button
Status: ASSIGNED
Alias: None
Product: Koha
Classification: Unclassified
Component: Circulation (show other bugs)
Version: Main
Hardware: All All
: P5 - low major
Assignee: Lisette Scheer
QA Contact: Testopia
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2024-12-30 19:33 UTC by Victor Grousset/tuxayo
Modified: 2025-05-29 20:42 UTC (History)
10 users (show)

See Also:
GIT URL:
Change sponsored?: ---
Patch complexity: ---
Documentation contact:
Documentation submission:
Text to go in the release notes:
Version(s) released in:
Circulation function:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Victor Grousset/tuxayo 2024-12-30 19:33:26 UTC
1. syspref TransfersBlockCirc => don't block
2. Find or create an item that belongs to a branch other than the logged-in branch
     Like 39999000012118 in test data
3. Check in the item - this should trigger a Return to Home transfer
4. Click OK on the modal to confirm the transfer
5. Check in that item again
6. Click away to dismiss the modal
7. in another tab go see the record page and see that the item is in pending transit
8. back to 1st tab, check in that item again
9. "Please return this item", no cancel button. This isn't right, there was already a transfer.
10. Click ok
11. Check in the item again.
12. Still "Please return this item", no cancel button, item status: "Transit pending"
    This is even more wrong! It's not possible to cancel anymore.

Is step 7 finding the expected status? (Transit pending) Or is that a 3rd problem?

Is there a better title for the bug?
Comment 1 Emily Lamancusa (emlam) 2025-01-07 15:17:06 UTC
Thanks for reporting, Victor!

Step 7 - this is the expected behavior if AutomaticConfirmTransfer is off (which it is in the default test data).

Step 10-12 - clicking OK wasn't confirming the transfer, so it was getting stuck in a pending transfer state. Are you still seeing this behavior with the patches from bug 38588 applied? When I test with those patches, what I see is:
10. Click ok
11. Check the item in again
12. Wrong Transfer modal appears again

(which still doesn't allow canceling at the moment because the Cancel button on the Wrong Transfer modal doesn't work, but we have bug 38793 for that)

Step 9 - As far as I can tell, this has been the behavior ever since the concept of a pending transfer was introduced in bug 23092 - it's not a new regression like the others. We could probably add an option to cancel from that modal if there's a need for it though (unless that would cause unwanted side effects with the Stock Rotation module - I don't know the ins and outs of it off the top of my head but I know it's one of the main use cases for the concept of a pending transfer).
Comment 2 Victor Grousset/tuxayo 2025-01-08 06:23:33 UTC
(In reply to Emily Lamancusa (emlam) from comment #1)
> Step 7 - this is the expected behavior if AutomaticConfirmTransfer is off
> (which it is in the default test data).

Good, nothing to see here :)

> Step 10-12 - clicking OK wasn't confirming the transfer, so it was getting
> stuck in a pending transfer state. Are you still seeing this behavior with
> the patches from bug 38588 applied?

No! :D
Cool, 38588 fixes the 2nd issue. I might have seen the 1st issue with 38588 and then did my testing on main for reporting here.

> When I test with those patches, what I
> see is:
> 10. Click ok
> 11. Check the item in again
> 12. Wrong Transfer modal appears again

With the cancel button I suppose. Yes, that's what I got.

> (which still doesn't allow canceling at the moment because the Cancel button
> on the Wrong Transfer modal doesn't work, but we have bug 38793 for that)

For me it works with just bug 38588. The issue on step 12 isn't here anymore :D


> Step 9 - As far as I can tell, this has been the behavior ever since the
> concept of a pending transfer was introduced in bug 23092 - it's not a new
> regression like the others. We could probably add an option to cancel from
> that modal if there's a need for it though (unless that would cause unwanted
> side effects with the Stock Rotation module - I don't know the ins and outs
> of it off the top of my head but I know it's one of the main use cases for
> the concept of a pending transfer).


"if there's a need for it though"
Oh, so the only issue remaining here with bug 38588 applied would be mostly a weird behavior?
Is the scenario relevant enough to still be considered a bug? Otherwise that would be a UX enhancement.
In other words, is it really a problem vs the other tickets in this area. I'm not a librarian so I might find bugs or bad UX that aren't that relevant ^^"
Comment 3 Emily Lamancusa (emlam) 2025-01-08 16:47:29 UTC
(In reply to Victor Grousset/tuxayo from comment #2)

> For me it works with just bug 38588. The issue on step 12 isn't here anymore
> :D

I do still reproduce bug 38793 (cancel button doesn't cancel) with 38588 applied, but only with TransfersBlockCirc set to "don't block" and AutomaticConfirmTransfer set to "do". If I leave the sysprefs at their default values, then it works as expected.

> "if there's a need for it though"
> Oh, so the only issue remaining here with bug 38588 applied would be mostly
> a weird behavior?
> Is the scenario relevant enough to still be considered a bug? Otherwise that
> would be a UX enhancement.
> In other words, is it really a problem vs the other tickets in this area.
> I'm not a librarian so I might find bugs or bad UX that aren't that relevant
> ^^"

I'm not sure either! Our library system doesn't have any situations where we generate unsent transfers intentionally, so I can't really say how important/desirable it is to be able to cancel an unsent transfer at checkin.
Comment 4 Victor Grousset/tuxayo 2025-02-17 03:16:48 UTC
Let's see if over time other people have that issue or something related, and find this ticket.

Otherwise it could be closed if forgotten for long enough.
Comment 5 Benjamin Daeuber 2025-03-05 21:51:15 UTC
(In reply to Victor Grousset/tuxayo from comment #2)

> 
> "if there's a need for it though"
> Oh, so the only issue remaining here with bug 38588 applied would be mostly
> a weird behavior?
> Is the scenario relevant enough to still be considered a bug? Otherwise that
> would be a UX enhancement.
> In other words, is it really a problem vs the other tickets in this area.
> I'm not a librarian so I might find bugs or bad UX that aren't that relevant
> ^^"

The most common scenario for us is that we discover an item is damaged or missing pieces after the transfer has been initiated. If that's the case, the easiest thing for the staff person to do is check in the item again and cancel the transfer. We've also had scenarios where a branch has been temporarily closed (for a few days or a week) and rather than go through the whole setup of changing or suspending holds, it's easiest just to cancel the transfer and deal with it later.

I'm mostly replying to this because of Bug 38789, so I'm not sure how important the button is in this specific scenario (the third or fourth checkin), but I'm also somewhat baffled by the criss cross of intersecting modal issues at this point.
Comment 6 Sally Lodico 2025-03-10 17:57:33 UTC
Yes, we need the cancel transfer button. We have centralized collection development and they're located at our Headquarters library which has no collection at all. When they're weeding, they check everything in one last time before withdrawing items, which triggers a transfer that must be cancelled. Post 24.11, they can't do that easily. 

System preference settings: 

TransfersBlockCirc => block
and
AutomaticConfirmTransfer => do
Comment 7 Lisette Scheer 2025-05-27 20:00:17 UTC
This works for me in main. I'm not sure if there's a step I'm missing somewhere in here. Is anyone still having this problem on main?
Comment 8 Lucas Gass (lukeg) 2025-05-28 19:04:58 UTC
(In reply to Lisette Scheer from comment #7)
> This works for me in main. I'm not sure if there's a step I'm missing
> somewhere in here. Is anyone still having this problem on main?

I can follow the test plan through step 11. When I check the item in for step 12 I get "Wrong transfer detected, please return item to: Fairview", there IS a 'Cancel transfer' button.
Comment 9 Emily Lamancusa (emlam) 2025-05-29 20:42:03 UTC
The original test plan here was written before bug 38789, bug 38793, and bug 38588 were pushed to fix several related issues with transfer modals, which is definitely adding to the confusion! The original test plan no longer occurs as written now that those bugs have been pushed.

If I'm understanding the issue Sally is describing correctly, it should have been fixed by bug 38793, which is in 24.11.03. It also depends on the browser - the bug happens in Firefox, but not Chrome or Chromium (I don't know if it's been tested in any other browsers).

The question on this bug was specifically for the situation where you have an item with a transfer that was requested but not confirmed/sent (shown as "Transit pending" on the item holdings table), and then you check it in - is a Cancel button needed in that specific situation? The only situation that I know of where an item is supposed to have "Transit pending" status is if a transfer was queued up by the Stock Rotation module. I'm not very familiar with the Stock Rotation module, so I don't know if the Cancel button was intentionally left out in that situation because requested Stock Rotation transfers are not supposed to be cancellable, or if it just wasn't a focus and can be safely added. (CCing Martin to weigh in on this)

Is anyone seeing an issue that is not related to items in the "Transit pending" status (or an issue where items are being set to "Transit pending" when they shouldn't be), and is on 24.11.03 or later? If so, can you tell us your exact Koha version and describe step-by-step how to reproduce the issue? I think that's the only way we'll be able to tell if there is still a bug in need of fixing, or if it's one of the related bugs that are fixed in a newer version.