Added subcriber verified scope and already subscribed msg

This commit is contained in:
Joseph Cohen
2015-12-09 15:29:41 -06:00
parent e099b45495
commit 412c119131
4 changed files with 17 additions and 2 deletions

View File

@@ -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->verified()->get() as $subscriber) {
$mail = [
'email' => $subscriber->email,
'subject' => 'New incident reported.',

View File

@@ -62,7 +62,7 @@ class SendMaintenanceEmailNotificationHandler
$data = AutoPresenter::decorate($event->incident);
foreach ($this->subscriber->all() as $subscriber) {
foreach ($this->subscriber->verified()->get() as $subscriber) {
$mail = [
'email' => $subscriber->email,
'subject' => 'Scheduled maintenance.',

View File

@@ -15,6 +15,7 @@ use AltThree\Validator\ValidationException;
use CachetHQ\Cachet\Commands\Subscriber\SubscribeSubscriberCommand;
use CachetHQ\Cachet\Commands\Subscriber\UnsubscribeSubscriberCommand;
use CachetHQ\Cachet\Commands\Subscriber\VerifySubscriberCommand;
use CachetHQ\Cachet\Exceptions\AlreadySubscribedException;
use CachetHQ\Cachet\Facades\Setting;
use CachetHQ\Cachet\Models\Subscriber;
use GrahamCampbell\Binput\Facades\Binput;
@@ -50,6 +51,10 @@ class SubscribeController extends Controller
{
try {
$this->dispatch(new SubscribeSubscriberCommand(Binput::get('email')));
} catch (AlreadySubscribedException $e) {
return Redirect::route('subscribe.subscribe')
->withTitle(sprintf('<strong>%s</strong> %s', trans('dashboard.notifications.whoops'), trans('cachet.subscriber.email.failure')))
->withErrors($e->getMessage());
} catch (ValidationException $e) {
return Redirect::route('subscribe.subscribe')
->withInput(Binput::all())

View File

@@ -62,6 +62,16 @@ class Subscriber extends Model implements HasPresenter
});
}
/**
* Scope a query to only include verified subscribers.
*
* @return \Illuminate\Database\Eloquent\Builder
*/
public function scopeVerified($query)
{
return $query->whereNotNull('verified_at');
}
/**
* Determines if the subscriber is verified.
*