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>
Fri, 13 Nov 2020 14:58:24 +0000 (09:58 -0500)
commite63ed7d275c97bee93b10d2e657bb4ae24a02227
treeb4ca17e7f3e9db247b8ae1ef092d2967a9e430f8
parent4d50691b51047128d8dafdcd5c0f06d8223d0532
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_HOLD_GROUPS
permission, which is new with this development.

In the event of a mistaken subscription hold, staff with the
MANAGE_HOLD_GROUPS 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>
35 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/circ/patron/bucket/app.js
Open-ILS/web/js/ui/default/staff/services/user-bucket.js
docs/RELEASE_NOTES_NEXT/Circulation/hold-subscriptions.adoc [new file with mode: 0644]