From dabed137abaff2d7062a5702f814695abdc22348 Mon Sep 17 00:00:00 2001 From: James Brooks Date: Thu, 17 Dec 2015 14:41:22 +0000 Subject: [PATCH] Fixes #1237 --- .../SendIncidentEmailNotificationHandler.php | 2 +- .../SendMaintenanceEmailNotificationHandler.php | 2 +- app/Models/Subscriber.php | 13 +++++++++++++ 3 files changed, 15 insertions(+), 2 deletions(-) diff --git a/app/Handlers/Events/Incident/SendIncidentEmailNotificationHandler.php b/app/Handlers/Events/Incident/SendIncidentEmailNotificationHandler.php index 6e8ed357..94ccef00 100644 --- a/app/Handlers/Events/Incident/SendIncidentEmailNotificationHandler.php +++ b/app/Handlers/Events/Incident/SendIncidentEmailNotificationHandler.php @@ -65,7 +65,7 @@ class SendIncidentEmailNotificationHandler // Only send emails for public incidents. if ($event->incident->visible === 1) { - foreach ($this->subscriber->all() as $subscriber) { + foreach ($this->subscriber->isVerified()->get() as $subscriber) { $mail = [ 'email' => $subscriber->email, 'subject' => 'New incident reported.', diff --git a/app/Handlers/Events/Incident/SendMaintenanceEmailNotificationHandler.php b/app/Handlers/Events/Incident/SendMaintenanceEmailNotificationHandler.php index 70530ce2..877f2f08 100644 --- a/app/Handlers/Events/Incident/SendMaintenanceEmailNotificationHandler.php +++ b/app/Handlers/Events/Incident/SendMaintenanceEmailNotificationHandler.php @@ -62,7 +62,7 @@ class SendMaintenanceEmailNotificationHandler $data = AutoPresenter::decorate($event->incident); - foreach ($this->subscriber->all() as $subscriber) { + foreach ($this->subscriber->isVerified()->get() as $subscriber) { $mail = [ 'email' => $subscriber->email, 'subject' => 'Scheduled maintenance.', diff --git a/app/Models/Subscriber.php b/app/Models/Subscriber.php index 4d3adbe5..0b7c89b0 100644 --- a/app/Models/Subscriber.php +++ b/app/Models/Subscriber.php @@ -13,6 +13,7 @@ namespace CachetHQ\Cachet\Models; use AltThree\Validator\ValidatingTrait; use CachetHQ\Cachet\Presenters\SubscriberPresenter; +use Illuminate\Database\Eloquent\Builder; use Illuminate\Database\Eloquent\Model; use McCool\LaravelAutoPresenter\HasPresenter; @@ -62,6 +63,18 @@ class Subscriber extends Model implements HasPresenter }); } + /** + * Scope verified subscribers. + * + * @param \Illuminate\Database\Eloquent\Builder $query + * + * @return \Illuminate\Database\Eloquent\Builder + */ + public function scopeIsVerified(Builder $query) + { + return $query->whereNotNull('verified_at'); + } + /** * Determines if the subscriber is verified. *