Manage my subscriptions page
This commit is contained in:
committed by
Graham Campbell
parent
140970ac37
commit
af0e578a44
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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('<strong>%s</strong> %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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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',
|
||||
|
||||
@@ -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.',
|
||||
|
||||
@@ -1,47 +0,0 @@
|
||||
@extends('layout.master')
|
||||
|
||||
@section('content')
|
||||
<div class="pull-right">
|
||||
<p><a class="btn btn-success btn-outline" href="/"><i class="ion-home"></i></a></p>
|
||||
</div>
|
||||
|
||||
<div class="clearfix"></div>
|
||||
|
||||
@if($app_banner)
|
||||
<div class="row app-banner">
|
||||
<div class="col-md-12 text-center">
|
||||
@if($app_domain)
|
||||
<a href="{{ $app_domain }}"><img src="data:{{ $app_banner_type }};base64, {{ $app_banner }}" class="banner-image img-responsive"></a>
|
||||
@else
|
||||
<img src="data:{{ $app_banner_type }};base64, {{ $app_banner }}" class="banner-image img-responsive">
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
@include('dashboard.partials.errors')
|
||||
|
||||
<div class="panel panel-meassage">
|
||||
<div class="panel-heading">
|
||||
<strong>{{ trans('cachet.signup.title') }}</strong>
|
||||
</div>
|
||||
<div class="panel-body">
|
||||
<form action="{{ route('signup.invite', ['code' => $code]) }}" method="post" class="form">
|
||||
<input type="hidden" name="_token" value="{{ csrf_token() }}">
|
||||
<div class="form-group">
|
||||
<label for="username">{{ trans('cachet.signup.username') }}</label>
|
||||
<input class="form-control" type="text" name="username" value="{{ $username }}">
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="email">{{ trans('cachet.signup.email') }}</label>
|
||||
<input class="form-control" type="email" name="email" value="{{ $email }}">
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="password">{{ trans('cachet.signup.password') }}</label>
|
||||
<input class="form-control" type="password" name="password">
|
||||
</div>
|
||||
<button type="submit" class="btn btn-success">{{ trans('forms.signup') }}</button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
@stop
|
||||
@@ -1,26 +0,0 @@
|
||||
@extends('layout.master')
|
||||
|
||||
@section('content')
|
||||
<div class="pull-right">
|
||||
<p><a class="btn btn-success btn-outline" href="/"><i class="ion-home"></i></a></p>
|
||||
</div>
|
||||
|
||||
<div class="clearfix"></div>
|
||||
|
||||
@include('dashboard.partials.errors')
|
||||
|
||||
<div class="panel panel-meassage">
|
||||
<div class="panel-heading">
|
||||
<strong>{{ trans('cachet.subscriber.subscribe') }}</strong>
|
||||
</div>
|
||||
<div class="panel-body">
|
||||
<form action="{{ route('subscribe.subscribe', [], false) }}" method="post" class="form">
|
||||
<input type="hidden" name="_token" value="{{ csrf_token() }}">
|
||||
<div class="form-group">
|
||||
<input class="form-control" type="email" name="email">
|
||||
</div>
|
||||
<button type="submit" class="btn btn-success">{{ trans('cachet.subscriber.button') }}</button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
@stop
|
||||
29
resources/views/subscribe/manage.blade.php
Normal file
29
resources/views/subscribe/manage.blade.php
Normal file
@@ -0,0 +1,29 @@
|
||||
@extends('layout.master')
|
||||
|
||||
@section('content')
|
||||
<div class="pull-right">
|
||||
<p><a class="btn btn-success btn-outline" href="/"><i class="ion-home"></i></a></p>
|
||||
</div>
|
||||
|
||||
<div class="clearfix"></div>
|
||||
|
||||
@include('dashboard.partials.errors')
|
||||
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading"><strong>{{ $subscriber->email }}</strong></div>
|
||||
@if($subscriber->subscriptions->count() > 0)
|
||||
<div class="panel-body">
|
||||
<p>{{ trans('cachet.subscriber.manage.my_subscriptions') }}</p>
|
||||
</div>
|
||||
<div class="list-group">
|
||||
@foreach($subscriber->subscriptions as $subscription)
|
||||
<div class="list-group-item">{{ $subscription->component->name }}</div>
|
||||
@endforeach
|
||||
</div>
|
||||
@else
|
||||
<div class="panel-body">
|
||||
<p>{{ trans('cachet.subscriber.manage.no_subscriptions') }}</p>
|
||||
</div>
|
||||
@endif
|
||||
</div>
|
||||
@stop
|
||||
47
resources/views/subscribe/signup.blade.php
Normal file
47
resources/views/subscribe/signup.blade.php
Normal file
@@ -0,0 +1,47 @@
|
||||
@extends('layout.master')
|
||||
|
||||
@section('content')
|
||||
<div class="pull-right">
|
||||
<p><a class="btn btn-success btn-outline" href="/"><i class="ion-home"></i></a></p>
|
||||
</div>
|
||||
|
||||
<div class="clearfix"></div>
|
||||
|
||||
@if($app_banner)
|
||||
<div class="row app-banner">
|
||||
<div class="col-md-12 text-center">
|
||||
@if($app_domain)
|
||||
<a href="{{ $app_domain }}"><img src="data:{{ $app_banner_type }};base64, {{ $app_banner }}" class="banner-image img-responsive"></a>
|
||||
@else
|
||||
<img src="data:{{ $app_banner_type }};base64, {{ $app_banner }}" class="banner-image img-responsive">
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
@include('dashboard.partials.errors')
|
||||
|
||||
<div class="panel panel-meassage">
|
||||
<div class="panel-heading">
|
||||
<strong>{{ trans('cachet.signup.title') }}</strong>
|
||||
</div>
|
||||
<div class="panel-body">
|
||||
<form action="{{ route('signup.invite', ['code' => $code]) }}" method="post" class="form">
|
||||
<input type="hidden" name="_token" value="{{ csrf_token() }}">
|
||||
<div class="form-group">
|
||||
<label for="username">{{ trans('cachet.signup.username') }}</label>
|
||||
<input class="form-control" type="text" name="username" value="{{ $username }}">
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="email">{{ trans('cachet.signup.email') }}</label>
|
||||
<input class="form-control" type="email" name="email" value="{{ $email }}">
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="password">{{ trans('cachet.signup.password') }}</label>
|
||||
<input class="form-control" type="password" name="password">
|
||||
</div>
|
||||
<button type="submit" class="btn btn-success">{{ trans('forms.signup') }}</button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
@stop
|
||||
26
resources/views/subscribe/subscribe.blade.php
Normal file
26
resources/views/subscribe/subscribe.blade.php
Normal file
@@ -0,0 +1,26 @@
|
||||
@extends('layout.master')
|
||||
|
||||
@section('content')
|
||||
<div class="pull-right">
|
||||
<p><a class="btn btn-success btn-outline" href="/"><i class="ion-home"></i></a></p>
|
||||
</div>
|
||||
|
||||
<div class="clearfix"></div>
|
||||
|
||||
@include('dashboard.partials.errors')
|
||||
|
||||
<div class="panel panel-meassage">
|
||||
<div class="panel-heading">
|
||||
<strong>{{ trans('cachet.subscriber.subscribe') }}</strong>
|
||||
</div>
|
||||
<div class="panel-body">
|
||||
<form action="{{ route('subscribe.subscribe', [], false) }}" method="post" class="form">
|
||||
<input type="hidden" name="_token" value="{{ csrf_token() }}">
|
||||
<div class="form-group">
|
||||
<input class="form-control" type="email" name="email">
|
||||
</div>
|
||||
<button type="submit" class="btn btn-success">{{ trans('cachet.subscriber.button') }}</button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
@stop
|
||||
Reference in New Issue
Block a user