Merge pull request #1214 from cachethq/subcribers-verified-scopes
Added subcriber verified scope and already subscribed msg
This commit is contained in:
@@ -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.',
|
||||
|
||||
@@ -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.',
|
||||
|
||||
@@ -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())
|
||||
@@ -76,7 +81,7 @@ class SubscribeController extends Controller
|
||||
|
||||
$subscriber = Subscriber::where('verify_code', '=', $code)->first();
|
||||
|
||||
if (!$subscriber || $subscriber->verified()) {
|
||||
if (!$subscriber || $subscriber->is_verified) {
|
||||
throw new BadRequestHttpException();
|
||||
}
|
||||
|
||||
@@ -101,7 +106,7 @@ class SubscribeController extends Controller
|
||||
|
||||
$subscriber = Subscriber::where('verify_code', '=', $code)->first();
|
||||
|
||||
if (!$subscriber || !$subscriber->verified()) {
|
||||
if (!$subscriber || !$subscriber->is_verified) {
|
||||
throw new BadRequestHttpException();
|
||||
}
|
||||
|
||||
|
||||
@@ -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,12 +63,24 @@ class Subscriber extends Model implements HasPresenter
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Scope a query to only include verified subscribers.
|
||||
*
|
||||
* @param \Illuminate\Database\Eloquent\Builder $query
|
||||
*
|
||||
* @return \Illuminate\Database\Eloquent\Builder
|
||||
*/
|
||||
public function scopeVerified(Builder $query)
|
||||
{
|
||||
return $query->whereNotNull('verified_at');
|
||||
}
|
||||
|
||||
/**
|
||||
* Determines if the subscriber is verified.
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
public function verified()
|
||||
public function getIsVerifiedAttribute()
|
||||
{
|
||||
return $this->verified_at !== null;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user