LP#1838995: Hold subscription buckets
authorMike Rylander <mrylander@gmail.com>
Fri, 6 Sep 2019 18:49:52 +0000 (14:49 -0400)
committerMike Rylander <mrylander@gmail.com>
Wed, 19 Aug 2020 14:04:01 +0000 (10:04 -0400)
commitd6a39cb52cb2891e26574b0a6366be2502376b55
treef9ed61701f42bd21d01ec76e23211fc77bd83dc1
parent8652e10688c3a63e5799fa00b2d0dba8fe4a900c
LP#1838995: Hold subscription buckets

This feature allows staff to add multiple users to a named hold subscription
bucket and place title-level holds for a record for that entire set of users.
Users can be added to such a hold subscription bucket from either the patron
search result interface, via the Add to Bucket dropdown, or through a dedicated
Hold Subscription interface available from the Circulation menu.  Adding new
patrons to a subscription bucket will require staff have the PLACE_HOLD
permission.

Holds can be placed for the users in a subscription bucket either directly from
the normal staff-place hold interface in the embedded OPAC, or by supplying the
record ID within the subscription bucket interface.  In the latter case, the
list of users for which a hold was attempted but failed to be placed can be
downloaded by staff in order to address any placement issues.  Placing a
subscription bucket hold will requires staff have the MANAGE_BATCH_HOLDS
permission, which is new with this development.

In the event of a mistaken subscription hold, staff with the MANAGE_BATCH_HOLDS
permission will have the ability to cancel all unfulfilled holds created as
part of a subscription hold event.

A link to the title's hold interface is available from the list of subscription
hold events in the dedicated subscription hold interface.

Signed-off-by: Mike Rylander <mrylander@gmail.com>
33 files changed:
Open-ILS/examples/fm_IDL.xml
Open-ILS/src/perlmods/lib/OpenILS/Application/Actor/Container.pm
Open-ILS/src/perlmods/lib/OpenILS/Application/Circ/Holds.pm
Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader.pm
Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader/Account.pm
Open-ILS/src/perlmods/lib/OpenILS/WWW/EGCatLoader/Util.pm
Open-ILS/src/sql/Pg/090.schema.action.sql
Open-ILS/src/sql/Pg/950.data.seed-values.sql
Open-ILS/src/sql/Pg/upgrade/XXXX.data.hold_buckets.sql [new file with mode: 0644]
Open-ILS/src/templates/opac/myopac/ebook_holds.tt2
Open-ILS/src/templates/opac/myopac/ebook_holds_ready.tt2
Open-ILS/src/templates/opac/myopac/hold_history.tt2
Open-ILS/src/templates/opac/myopac/hold_subscriptions.tt2 [new file with mode: 0644]
Open-ILS/src/templates/opac/myopac/holds.tt2
Open-ILS/src/templates/opac/parts/place_hold.tt2
Open-ILS/src/templates/staff/cat/bucket/batch_hold/index.tt2 [new file with mode: 0644]
Open-ILS/src/templates/staff/cat/bucket/batch_hold/t_bucket_info.tt2 [new file with mode: 0644]
Open-ILS/src/templates/staff/cat/bucket/batch_hold/t_event.tt2 [new file with mode: 0644]
Open-ILS/src/templates/staff/cat/bucket/batch_hold/t_event_create.tt2 [new file with mode: 0644]
Open-ILS/src/templates/staff/cat/bucket/batch_hold/t_grid_menu.tt2 [new file with mode: 0644]
Open-ILS/src/templates/staff/cat/bucket/batch_hold/t_list.tt2 [new file with mode: 0644]
Open-ILS/src/templates/staff/cat/bucket/batch_hold/t_pending.tt2 [new file with mode: 0644]
Open-ILS/src/templates/staff/cat/bucket/batch_hold/t_view.tt2 [new file with mode: 0644]
Open-ILS/src/templates/staff/cat/bucket/share/t_bucket_create.tt2
Open-ILS/src/templates/staff/cat/bucket/share/t_bucket_edit.tt2
Open-ILS/src/templates/staff/circ/patron/index.tt2
Open-ILS/src/templates/staff/circ/patron/t_hold_subscriptions.tt2 [new file with mode: 0644]
Open-ILS/src/templates/staff/circ/patron/t_search_results.tt2
Open-ILS/src/templates/staff/navbar.tt2
Open-ILS/web/js/ui/default/opac/staff.js
Open-ILS/web/js/ui/default/staff/cat/bucket/batch_hold/app.js [new file with mode: 0644]
Open-ILS/web/js/ui/default/staff/circ/patron/app.js
Open-ILS/web/js/ui/default/staff/services/user-bucket.js