diff --git a/app/Foundation/Providers/ComposerServiceProvider.php b/app/Foundation/Providers/ComposerServiceProvider.php index d30e6d13..6d6fb313 100644 --- a/app/Foundation/Providers/ComposerServiceProvider.php +++ b/app/Foundation/Providers/ComposerServiceProvider.php @@ -34,7 +34,7 @@ class ComposerServiceProvider extends ServiceProvider $factory->composer('*', CurrentUserComposer::class); $factory->composer(['index'], MetricsComposer::class); $factory->composer(['index', 'incident', 'subscribe', 'signup'], StatusPageComposer::class); - $factory->composer(['index', 'incident', 'subscribe', 'signup', 'dashboard.settings.theme'], ThemeComposer::class); + $factory->composer(['index', 'incident', 'subscribe.*', 'signup', 'dashboard.settings.theme'], ThemeComposer::class); $factory->composer('dashboard.*', DashboardComposer::class); $factory->composer(['setup', 'dashboard.settings.localization'], TimezoneLocaleComposer::class); } diff --git a/app/Http/Controllers/SubscribeController.php b/app/Http/Controllers/SubscribeController.php index 3e417cf1..5fcb0659 100644 --- a/app/Http/Controllers/SubscribeController.php +++ b/app/Http/Controllers/SubscribeController.php @@ -42,7 +42,7 @@ class SubscribeController extends Controller */ public function showSubscribe() { - return View::make('subscribe') + return View::make('subscribe.subscribe') ->withAboutApp(Markdown::convertToHtml(Config::get('setting.app_about'))); } @@ -127,4 +127,24 @@ class SubscribeController extends Controller return Redirect::route('status-page') ->withSuccess(sprintf('%s %s', trans('dashboard.notifications.awesome'), trans('cachet.subscriber.email.unsubscribed'))); } + + /** + * Shows the subscription manager page. + * + * @return \Illuminate\View\View + */ + public function showManage() + { + if (!($code = Binput::get('subscriber'))) { + throw new NotFoundHttpException(); + } + + $subscriber = Subscriber::where('verify_code', '=', $code)->first(); + + if (!$subscriber || !$subscriber->is_verified) { + throw new BadRequestHttpException(); + } + + return View::make('subscribe.manage')->withSubscriber($subscriber); + } } diff --git a/app/Http/Routes/SubscribeRoutes.php b/app/Http/Routes/SubscribeRoutes.php index 75384ebd..b7a373c4 100644 --- a/app/Http/Routes/SubscribeRoutes.php +++ b/app/Http/Routes/SubscribeRoutes.php @@ -29,17 +29,20 @@ class SubscribeRoutes */ public function map(Registrar $router) { - $router->group(['middleware' => ['web', 'ready', 'localize'], 'as' => 'subscribe.'], function ($router) { - $router->group(['middleware' => ['subscribers']], function ($router) { - $router->get('subscribe', [ - 'as' => 'subscribe', - 'uses' => 'SubscribeController@showSubscribe', - ]); + $router->group(['middleware' => ['web', 'ready', 'localize', 'subscribers'], 'as' => 'subscribe.'], function ($router) { + $router->get('subscribe', [ + 'as' => 'subscribe', + 'uses' => 'SubscribeController@showSubscribe', + ]); - $router->post('subscribe', [ - 'uses' => 'SubscribeController@postSubscribe', - ]); - }); + $router->post('subscribe', [ + 'uses' => 'SubscribeController@postSubscribe', + ]); + + $router->get('subscribe/manage', [ + 'as' => 'subscribe.manage', + 'uses' => 'SubscribeController@showManage', + ]); $router->get('subscribe/verify/{code}', [ 'as' => 'verify', diff --git a/resources/lang/en/cachet.php b/resources/lang/en/cachet.php index e5138db1..50b6f17f 100755 --- a/resources/lang/en/cachet.php +++ b/resources/lang/en/cachet.php @@ -63,6 +63,10 @@ return [ 'subscriber' => [ 'subscribe' => 'Subscribe to get the most recent updates', 'button' => 'Subscribe', + 'manage' => [ + 'no_subscriptions' => 'You\'re currently subscribed to all updates.', + 'my_subscriptions' => 'You\'re currently subscribed to the following updates.', + ], 'email' => [ 'subscribe' => 'Subscribe to email updates.', 'subscribed' => 'You\'ve been subscribed to email notifications, please check your email to confirm your subscription.', diff --git a/resources/views/signup.blade.php b/resources/views/signup.blade.php deleted file mode 100644 index cd9c3a92..00000000 --- a/resources/views/signup.blade.php +++ /dev/null @@ -1,47 +0,0 @@ -@extends('layout.master') - -@section('content') -
- - - - @if($app_banner) - - @endif - - @include('dashboard.partials.errors') - -{{ trans('cachet.subscriber.manage.my_subscriptions') }}
+{{ trans('cachet.subscriber.manage.no_subscriptions') }}
+