Web Client: Hold Activation Date Problem

Bug #1783793 reported by Scott Thomas
136
This bug affects 28 people
Affects Status Importance Assigned to Milestone
Evergreen
Fix Released
Medium
Unassigned
3.4
Fix Released
Medium
Unassigned

Bug Description

In the Web Client….

1. Hold has a status of Waiting for Capture.

2. Go into Edit Hold Date

3. Change the Hold Activation Date to some time in the future.

4. Hold maintains its status of Waiting for Capture.

5. Select the hold and then Activate.

6. Refresh

7. Activation Date remains the edited date.

8. If you try to Activate the same hold in XUL, you will get a “Hold xxxxx is already activated” message.

9. Regardless of when you check in the item (e.g.; Step 4 or 7), checking in the item will cause it to become available.

In other words editing the Hold Activation Date in Webby does not seem to Suspend the hold.

Scott

Revision history for this message
Kathy Lussier (klussier) wrote :

I think this might be a duplicate of bug 1782027.

I've never been able to replicate that bug, but I'll give it another try following Scott's steps.

Revision history for this message
Mike Rylander (mrylander) wrote :

Kathy, I believe the problem is that the web client is not looking at the suspend-until date and, when in the future, setting the frozen flag on the hold to true. Tracing the code (only from the web client, not through the XUL client) suggests that it's up to the calling code to make that decision and pass the appropriate flag. Probably around line 297 of Open-ILS/web/js/ui/default/staff/circ/services/holds.js ... but I have not tested that theory yet.

Revision history for this message
Mike Rylander (mrylander) wrote :

And... line 1038 of Open-ILS/xul/staff_client/server/patron/holds.js seems to support this theory, as the XUL client seems to allow only future dates and does pass the frozen flag.

Revision history for this message
Terran McCanna (tmccanna) wrote :

Confirmed in 3.2.3. The web staff client requires that you also take the action to Suspend Hold.

Additional information:

If selecting Suspend Hold / Set Activation Date at the time of hold placement, it works as expected.

If selecting the Suspend action in the OPAC My Account interface, it only suspends the hold - patron must click on Edit in order to edit the activation date. It would be nice if this could be done in a single step.

See also: https://bugs.launchpad.net/evergreen/+bug/1782027

Changed in evergreen:
status: New → Confirmed
importance: Undecided → Medium
tags: added: holds
removed: webstaffclient
Revision history for this message
Heather Lindskold (heatherlindskold) wrote :

Confirmed in 3-3-5.
From a staff member:
this is still happening. I put a hold on a book, edited the hold dates/hold activate date in the catalog for 12/2/19, then checked the item in and it captured the hold.

Revision history for this message
Josh Stompro (u-launchpad-stompro-org) wrote :

Hello, I'm working on adding this and I have a few questions.

I have a branch that freezes the hold if the activation date is in the future when the activation date is set.

Do we need to check if the activation date is in the future? Does it harm anything if we set the activation date in the past and freeze the hold? It would just be activated the next day when holds are unfrozen.

If there is no reason to ever set an activation date in the past, then maybe the modify date UI should just prevent it from happening, so staff get feedback on bad choices up front, and skip adding extra logic that isn't needed.

Is there any easy way to just not allow selecting dates in the past in the date picker, what would give staff feedback about their incorrect choice?

Josh

Revision history for this message
Josh Stompro (u-launchpad-stompro-org) wrote :

Here is a branch that does the following.

1. Modify Dates popup changed to not allow picking dates in the past for hold activation date both in the date picker, and if typed in manually. If a date in the past is typed in, it is changed to today's date and an alert message is displayed. The date picker just won't allow past days to be selected. The alert message remains until a date in the future is selected.

2. Suspend holds when the activation date is set and saved.

3. Adds a note about the fact that the hold will be suspended when the hold activation date is selected for editing. This makes the behavior clear so staff don't have to figure it out by trial and error.

4. Updates several sr-only (Screen Reader Only) labels in the holds date popup template that were set to the wrong values. The file was copied from the hold notification popup and the screen reader descriptions were left unchanged from those values.

Branch at: user/stompro/lp1783793_hold_date_edit_suspend

https://git.evergreen-ils.org/?p=working/Evergreen.git;a=shortlog;h=refs/heads/user/stompro/lp1783793_hold_date_edit_suspend

Josh

tags: added: pullrequest
Revision history for this message
Dawn Dale (ddale) wrote :

Evergreen 3.4.1

Today I attempted to suspend and activate a hold via the OPAC for a patron. When I clicked suspend, nothing changed on the screen. I refreshed the screen and nothing changed. It was as if I did not click suspend for the hold. Activating a hold behaved the same way, as if nothing was requested by the actions.

In the staff client I was able to suspend and activate a hold without issue except I had to edit the hold dates to enter an activation date. Otherwise it appeared to activate immediately.

We would like to see activate hold allow for a date to be entered instead of having to edit the hold dates. In the OPAC we would like suspend to ask for an activation date but not be required. Then activate should ask for an activation date as well.

Thanks,

Revision history for this message
Josh Stompro (u-launchpad-stompro-org) wrote :

Dawn,

Are you saying that when you go activate an already suspended hold, you want the activate option to not actually activate it, but to set the hold activation date instead? So if a hold was active, and you chose the activate feature, you would potentially be suspending the hold?

That seems a little convoluted to me when I first think about it. But maybe it would be easier if there was just a single choice "Suspend or Activate hold". The interface could have two UI elements, an activate on date that defaults to today's date, and a checkbox that says suspend indefinitely.

1. To activate the hold you just save the interface with the current date selected as the activation date. Maybe the save/apply button could say "Activate" in this case.

2. To suspend the hold with an activation date, you choose an activation date in the future. The save/apply button could say "Suspend"

3. To suspend a hold with no activation date, check the "Suspend Indefinitely" box which would disable the activation date. The save/apply button could say Suspend.

I think you should open a new bug about the OPAC changes, this bug is just about the web staff client.

Josh

Revision history for this message
Terran McCanna (tmccanna) wrote :

See also, OPAC hold activation bug:
https://bugs.launchpad.net/evergreen/+bug/1865533

Revision history for this message
Josh Stompro (u-launchpad-stompro-org) wrote :

The fix in Comment #7 addresses the original issue, except that it doesn't address adding an error message when activating an already activated hold. Maybe that could be a separate bug?

The fix does simplify what staff need to do to suspend a hold with an activation date.
Josh

Revision history for this message
Terran McCanna (tmccanna) wrote :

Setting an activation date in the staff client now suspends the hold as expected.

Activating a hold prior to the activation date doesn't remove the activation date, but I don't think that necessarily matters.

I also verified that it will now allow you to pick a hold activation date in the past.

>>Are you saying that when you go activate an already suspended hold, you want the activate option to not actually activate it, but to set the hold activation date instead?<<

If the hold is already suspended (with no activation date), you don't have to click Activate, you can just click Edit Hold Dates. The way I'm looking at it is that the Suspend and Activate options are immediate, and the Edit Hold Dates option is for scheduling. It makes sense to me this way.

Since the OPAC issues have a different bug, I'm going to go ahead and sign off on this one. It may be that it could use some additional tweaking in the future for usability, but it does solve the actual bug that was initially reported.

My sign off at:
https://git.evergreen-ils.org/?p=working/Evergreen.git;a=shortlog;h=refs/heads/user/mccanna/lp1783793_hold_date_edit_suspend_signoff

tags: added: signedoff
Michele Morgan (mmorgan)
Changed in evergreen:
milestone: none → 3.5.1
Revision history for this message
Galen Charlton (gmc) wrote :

Pushed to master, rel_3_5, and rel_3_4. Thanks, Josh and Terran!

Changed in evergreen:
status: Confirmed → Fix Committed
Changed in evergreen:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.