with([ 'page_title' => trans('dashboard.subscribers.subscribers').' - '.trans('dashboard.dashboard'), 'subscribers' => $subscribers, ]); } /** * Shows the add subscriber view. * * @return \Illuminate\View\View */ public function showAddSubscriber() { return View::make('dashboard.subscribers.add') ->with([ 'page_title' => trans('dashboard.subscribers.add.title').' - '.trans('dashboard.dashboard'), 'incidentTemplates' => Subscriber::all(), ]); } /** * Creates a new subscriber. * * @return \Illuminate\Http\RedirectResponse */ public function createSubscriberAction() { $email = Binput::get('email'); $subscriber = Subscriber::create([ 'email' => $email, ]); if (!$subscriber->isValid()) { segment_track('Dashboard', [ 'event' => 'Created Subscriber', 'success' => false, ]); return Redirect::back() ->withInput(Binput::all()) ->with('title', sprintf( '%s %s', trans('dashboard.notifications.whoops'), trans('dashboard.subscribers.add.failure') )) ->with('errors', $subscriber->getErrors()); } segment_track('Dashboard', [ 'event' => 'Created Subscriber', 'success' => true, ]); $successMsg = sprintf( '%s %s', trans('dashboard.notifications.awesome'), trans('dashboard.subscribers.add.success') ); event(new CustomerHasSubscribedEvent($subscriber)); return Redirect::back() ->with('success', $successMsg); } /** * Deletes a subscriber. * * @param \CachetHQ\Cachet\Models\Subscriber $subscriber * * @throws \Exception * * @return \Illuminate\Http\RedirectResponse */ public function deleteSubscriberAction(Subscriber $subscriber) { segment_track('Dashboard', [ 'event' => 'Deleted Subscriber', ]); $subscriber->delete(); return Redirect::back(); } }