LP#1930617: reduce parallel requests initiated by AngularJS holdings editor
authorGalen Charlton <gmc@equinoxOLI.org>
Mon, 23 May 2022 23:06:48 +0000 (19:06 -0400)
committerJeff Davis <jdavis@sitka.bclibraries.ca>
Mon, 6 Jun 2022 21:38:23 +0000 (14:38 -0700)
commit3141170291ccb38a84d3ad68371cd87bbf6cb4b9
tree4b150c57f51677ad3f8f1cc08b1d4b9562222f66
parent22e45195f2274e3ef7e23df5d0211c5f2d9dba40
LP#1930617: reduce parallel requests initiated by AngularJS holdings editor

This patch decreases the number of parallel requests spawned by the
AngularJS holdings editor. This can reduce load on open-ils.pcrud when
the editor is used to handle a large number of items in one batch.

This patch takes the following approaches:

- the fetching of call number affixes now only makes one request
  per relevant org unit
- item alerts are now retrieved via fleshing when the batch of items
  is requested (as opposed to doing a PCRUD request for each copy)
- fetching monograph parts is now done serially

To test
-------
[1] Apply the patch.
[2] Create a bucket with a few hundred items and edit all of them
    in the AngularJS holdings editor (which is what you get when
    you edit items from the bucket interface).
[3] Verify that the editing loads itself without causing errors
    or PCRUD drone spikes.
[4] Verify that item alerts and monograph parts are loaded
[5] Verify that the call number prefix and suffix drop-downs
    are correctly populated.
[6] Verify that copy alerts can be attached to newly-created items
    and saved.

Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca>
Open-ILS/web/js/ui/default/staff/cat/volcopy/app.js