LP1965446 Option to Disable Title-Level Holds on Bib Records with Parts
This feature adds one global flag and one library setting, respectively:
* circ.holds.allow_require_monographic_part_when_present
Holds: Enable the Require Monographic Part When Present library setting.
* circ.holds.require_monographic_part_when_present
Require Monographic Part when Present
Normally the selection of a monographic part during hold placement is optional if there is at least one copy
on the bib without a monographic part. A true value for this setting and for the global flag will require
part selection even under this condition. This essentially removes the All/Any Parts option from the part
selection drop-down, for both versions of the public catalog (TPAC and BOOPAC), and for the Angular staff
catalog interface.
We also test for this at the API level, which will catch situations where the UI may have stale information
on the state of the flag and setting, or when the API is being invoked by third parties under this condition.
We will throw a TITLE_HOLD_WHEN_MONOGRAPHIC_PART_REQUIRED event if a title hold is effectively disallowed
based on the presence of monographic parts and lack of part selection.
Signed-off-by: Jason Etheridge <jason@EquinoxOLI.org>