-
-
Notifications
You must be signed in to change notification settings - Fork 3.7k
#5947 - roll up bulk asset checkout email #18095
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: develop
Are you sure you want to change the base?
#5947 - roll up bulk asset checkout email #18095
Conversation
This reverts commit 8c89eb6.
|
@snipe you rightfully mentioned that checking out items from different categories with long EULAs might trigger some truncation or character limit. Can you look at my overall approach in this PR and let me know if it is worth continuing down this path? If so, I'm tentatively thinking I can account for this by limiting the number of categories being sent per email and potentially including logic around EULA length. |
Currently, checking out multiple assets via the bulk checkout feature would result in individual emails being sent for each asset that was included in the checkout. This PR changes that behavior by sending one email that contains all assets that were checked out.
I attempted to make the resulting email as readable as possible so the new
BulkAssetCheckoutMailitself does a lot of work to "bundle" up groups of assets.A few examples
Assets not requiring acceptance:

"Bulk" checking out a single asset:

Checking out assets where some items require acceptance:

Technical
Here are some notes on how this is technically implemented:
CheckoutablesCheckedOutInBulk, and listener for that event.CheckoutableListenerbut I separated it out since we're now dealing with an array of items and I didn't want to add a bunch of conditionals into the existing class.bulk_asset_checkoutto the request's context in the controller layer and checking for that context in the existingCheckoutableListenerto avoid sending individual notifications.CheckoutableListenermore complex than it already is.Additional notes
Partially addresses #5947 (sends one email for the entire bulk checkout instead of individual emails for each asset). If acceptance is required the user will still need to accept each asset individually.