Angular check out, items out, check in, and renew grids are not loading on 3_12 and main

Bug #2044051 reported by Dan Briem
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Evergreen
Fix Released
Critical
Unassigned

Bug Description

The Angular check out, items out, check in, and renew grids are not loading for me on main and 3.12. There is a NullInjectorError console error for VolCopyService. This seems similar to the holdings grid not loading in bug 2043437.

The problem appears to be that CopyAlertsDialogComponent injects VolCopyService, but that service isn't provided in all of the contexts where the dialog is used.

Bug 2043437 addressed the CopyAlertsDialogComponent import in HoldingsMaintenanceComponent by importing VolCopyModule in CatalogModule. However, CopyAlertsDialogComponent is also imported in components across CircModule, PatronManagerModule, and CheckinModule where VolCopyService is not provided.

Revision history for this message
Dan Briem (dbriem) wrote :

I thought I'd also mention, VolCopyModule is tricky to import into other modules. Its VolCopyRoutingModule has very liberal route parameters that could unexpectedly hijack router outlets with VolCopyComponent. Also, CopyAlertsDialogComponent is declared and exported in HoldingsModule, which is imported in even more modules, so we may end up with more injection errors down the road.

Maybe we could provide VolCopyService and the dependent HoldingsService in root instead of providing them in their corresponding modules. They cache/memoize, but at first glance they don't appear to have mutable local state, with the possible exception of the current VolCopyContext on VolCopyService.

Or, I guess we could drop the dependence on VolCopyService in CopyAlertsDialogComponent and perform the ServerStoreService lookup for the item alert type when the dialog opens.

Revision history for this message
Andrea Neiman (aneiman) wrote :

Confirmed, noting that the checkout / items out grids are within the patron checkout interface.

Marking critical as this is a broken interface which needs to be repaired before 3.12-rc, but noting for the record that these interfaces are still experimental.

tags: added: regression
Changed in evergreen:
status: New → Confirmed
importance: Undecided → Critical
Andrea Neiman (aneiman)
Changed in evergreen:
milestone: none → 3.12-rc
Galen Charlton (gmc)
Changed in evergreen:
assignee: nobody → Galen Charlton (gmc)
Revision history for this message
Galen Charlton (gmc) wrote :

A patch is available in the branch working/user/gmcharlt/lp2044051_untangle_volcopy_defaults / https://git.evergreen-ils.org/?p=working/Evergreen.git;a=shortlog;h=refs/heads/user/gmcharlt/lp2044051_untangle_volcopy_defaults

tags: added: pullrequest
Changed in evergreen:
assignee: Galen Charlton (gmc) → nobody
Revision history for this message
Jane Sandberg (sandbergja) wrote :

Thanks, Galen and Dan. I like this approach. We reviewed this in the code review meeting, and pushed it to main and rel_3_12.

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.

Other bug subscribers

Remote bug watches

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