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:39:22 +0000 (14:39 -0700)
commitd6360ff1c63c776e8767ead2383c3555166bc81d
tree42a6e7b762095725e609571196adcd31a2d58a1a
parentb85657b3ec012cc8c4ee2fc88e6ccfef0b6768d8
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