LP#1949389: reduce number of PCRUD requests by subscription manager user/miker/lp1949389_fix_subscription_manager_act_fetch-signoff
authorGalen Charlton <gmc@equinoxOLI.org>
Mon, 1 Nov 2021 16:36:31 +0000 (12:36 -0400)
committerMike Rylander <mrylander@gmail.com>
Fri, 5 Nov 2021 17:23:19 +0000 (13:23 -0400)
commit4bba750fbddefef97466e01dd6200ed200a05e48
treee3413aa637da7d9f30c2d722aa19dcbc59052dd2
parentc67ca10b6ee9b54ffd8868ec9e406f2e401a674b
LP#1949389: reduce number of PCRUD requests by subscription manager

This patch changes how the AngularJS subscription manager fetches
serial item templates. In particular, rather than issuing a PCRUD
request for every org unit in the system, it fetches them in one
fell swoop. This fixes an issue where loading the subscription manager
in a large Evergreen consortium could lead to so many requests that
it drives PCRUD into backlog mode, resulting in higher request
latency across the board.

To test
-------
[1] Apply the patch.
[2] Verify that the subscription manager lets you set the receiving
    template for each distribution and that the drop-down's contents
    changes if the distribution library is changed.
[3] Verify that the Apply Binding Template action works and that
    the binding template drop-down(s) include the relevant copy templates.

Note that if a binding template has been set already, the current
binding template is _not_ displayed as the selected value in the drop-down.
This is existing behavior that this patch does not aim to fix.

Sponsored-by: BC Libraries Cooperative
Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
Open-ILS/web/js/ui/default/staff/serials/directives/subscription_manager.js
Open-ILS/web/js/ui/default/staff/serials/services/core.js