diff --git a/Providers/MMFCustomersGroupsServiceProvider.php b/Providers/MMFCustomersGroupsServiceProvider.php index a1fc118..0eb10e9 100644 --- a/Providers/MMFCustomersGroupsServiceProvider.php +++ b/Providers/MMFCustomersGroupsServiceProvider.php @@ -9,8 +9,10 @@ namespace Modules\MMFCustomersGroups\Providers; use Eventy; use View; +use Illuminate\Database\Eloquent\Collection; use Illuminate\Support\ServiceProvider; +use Modules\MMFCustomersGroups\Entities\CustomersGroup; use Modules\MMFCustomersGroups\Entities\Mailbox; class MMFCustomersGroupsServiceProvider extends ServiceProvider { @@ -97,5 +99,20 @@ class MMFCustomersGroupsServiceProvider extends ServiceProvider { ], )->render(); }, 20, 3); + + // Update the list of recipients if some groups have been selected. + Eventy::addAction('conversation.send_reply_save', function($conversation, $request) { + $groups = $request->groups; + // Return early if no group has been selected. + if ( empty($groups) ) return; + // Get the list of e-mails included in the selected groups. + $emails = new Collection; + foreach ( $groups as $group_id ) { + $group = CustomersGroup::find($group_id); + $emails->concat($group->emails()); + } + $emails = $emails->unique(); + // TODO: Update $conversation to include this list of e-mails. + }, 20, 2); } }