Seperated application settings into three pages

This commit is contained in:
Michael Mollick
2015-10-19 00:41:19 -04:00
parent decc16a72c
commit 1ce7f3d569
7 changed files with 234 additions and 101 deletions

View File

@@ -35,6 +35,18 @@ class SettingsController extends Controller
'icon' => 'ion-gear-b',
'active' => false,
],
'analytics' => [
'title' => trans('dashboard.settings.analytics.analytics'),
'url' => route('dashboard.settings.analytics'),
'icon' => 'ion-stats-bars',
'active' => false,
],
'localization' => [
'title' => trans('dashboard.settings.localization.localization'),
'url' => route('dashboard.settings.localization'),
'icon' => 'ion-earth',
'active' => false,
],
'security' => [
'title' => trans('dashboard.settings.security.security'),
'url' => route('dashboard.settings.security'),
@@ -76,6 +88,38 @@ class SettingsController extends Controller
->withSubMenu($this->subMenu);
}
/**
* Shows the settings analytics view.
*
* @return \Illuminate\View\View
*/
public function showAnalyticsView()
{
$this->subMenu['analytics']['active'] = true;
Session::flash('redirect_to', $this->subMenu['analytics']['url']);
return View::make('dashboard.settings.analytics')
->withPageTitle('Analytics - Dashboard')
->withSubMenu($this->subMenu);
}
/**
* Shows the settings localization view.
*
* @return \Illuminate\View\View
*/
public function showLocalizationView()
{
$this->subMenu['localization']['active'] = true;
Session::flash('redirect_to', $this->subMenu['localization']['url']);
return View::make('dashboard.settings.localization')
->withPageTitle('Localization - Dashboard')
->withSubMenu($this->subMenu);
}
/**
* Shows the settings theme view.
*

View File

@@ -218,6 +218,14 @@ class DashboardRoutes
'as' => 'setup',
'uses' => 'SettingsController@showSetupView',
]);
$router->get('analytics', [
'as' => 'analytics',
'uses' => 'SettingsController@showAnalyticsView',
]);
$router->get('localization', [
'as' => 'localization',
'uses' => 'SettingsController@showLocalizationView',
]);
$router->get('security', [
'as' => 'security',
'uses' => 'SettingsController@showSecurityView',

View File

@@ -36,7 +36,7 @@ class ComposerServiceProvider extends ServiceProvider
$factory->composer(['index', 'incident', 'subscribe'], StatusPageComposer::class);
$factory->composer(['index', 'incident', 'subscribe', 'dashboard.settings.theme'], ThemeComposer::class);
$factory->composer('dashboard.*', DashboardComposer::class);
$factory->composer(['setup', 'dashboard.settings.app-setup'], TimezoneLocaleComposer::class);
$factory->composer(['setup', 'dashboard.settings.localization'], TimezoneLocaleComposer::class);
}
/**

View File

@@ -163,6 +163,12 @@ return [
'images-only' => 'Only images may be uploaded.',
'too-big' => 'The file you uploaded is too big. Upload an image smaller than :size',
],
'analytics' => [
'analytics' => 'Analytics'
],
'localization' => [
'localization' => 'Localization'
],
'security' => [
'security' => 'Security',
'two-factor' => 'Users without two-factor authentication',

View File

@@ -0,0 +1,66 @@
@extends('layout.dashboard')
@section('content')
<div class="content-panel">
@if(isset($sub_menu))
@include('dashboard.partials.sub-sidebar')
@endif
<div class="content-wrapper">
<div class="header sub-header" id="application-setup">
<span class="uppercase">
{{ trans('dashboard.settings.localization.localization') }}
</span>
</div>
<div class="row">
<div class="col-sm-12">
<form id="settings-form" name="SettingsForm" class="form-vertical" role="form" action="/dashboard/settings" method="POST" enctype="multipart/form-data">
<input type="hidden" name="_token" value="{{ csrf_token() }}">
@include('dashboard.partials.errors')
<fieldset>
<div class="row">
<div class="col-xs-12">
<div class="form-group">
<label>{{ trans('forms.settings.app-setup.analytics_google') }}</label>
<input type="text" name="app_analytics" class="form-control" value="{{ Setting::get('app_analytics') }}" placeholder="UA-12345-12">
</div>
</div>
</div>
<div class="row">
<div class="col-xs-12">
<div class="form-group">
<label>{{ trans('forms.settings.app-setup.analytics_gosquared') }}</label>
<input type="text" name="app_analytics_gs" class="form-control" value="{{ Setting::get('app_analytics_gs') }}" placeholder="GSN-12345-A">
</div>
</div>
</div>
<div class="row">
<div class="col-xs-12">
<div class="form-group">
<label>{{ trans('forms.settings.app-setup.analytics_piwik_url') }}</label>
<input type="text" name="app_analytics_pi_url" class="form-control" value="{{ Setting::get('app_analytics_pi_url') }}" placeholder="piwik.example.org">
</div>
</div>
</div>
<div class="row">
<div class="col-xs-12">
<div class="form-group">
<label>{{ trans('forms.settings.app-setup.analytics_piwik_siteid') }}</label>
<input type="number" min="1" max="100" name="app_analytics_pi_siteid" class="form-control" value="{{ Setting::get('app_analytics_pi_siteid') ?: 1 }}">
</div>
</div>
</div>
</fieldset>
<div class="row">
<div class="col-xs-12">
<div class="form-group">
<button type="submit" class="btn btn-success">{{ trans('forms.save') }}</button>
</div>
</div>
</div>
</form>
</div>
</div>
</div>
</div>
@stop

View File

@@ -43,94 +43,6 @@
</div>
</div>
</div>
<div class="row">
<div class="col-xs-12">
<div class="form-group">
<label>{{ trans('forms.settings.app-setup.analytics_google') }}</label>
<input type="text" name="app_analytics" class="form-control" value="{{ Setting::get('app_analytics') }}" placeholder="UA-12345-12">
</div>
</div>
</div>
<div class="row">
<div class="col-xs-12">
<div class="form-group">
<label>{{ trans('forms.settings.app-setup.analytics_gosquared') }}</label>
<input type="text" name="app_analytics_gs" class="form-control" value="{{ Setting::get('app_analytics_gs') }}" placeholder="GSN-12345-A">
</div>
</div>
</div>
<div class="row">
<div class="col-xs-12">
<div class="form-group">
<label>{{ trans('forms.settings.app-setup.analytics_piwik_url') }}</label>
<input type="text" name="app_analytics_pi_url" class="form-control" value="{{ Setting::get('app_analytics_pi_url') }}" placeholder="piwik.example.org">
</div>
</div>
</div>
<div class="row">
<div class="col-xs-12">
<div class="form-group">
<label>{{ trans('forms.settings.app-setup.analytics_piwik_siteid') }}</label>
<input type="number" min="1" max="100" name="app_analytics_pi_siteid" class="form-control" value="{{ Setting::get('app_analytics_pi_siteid') ?: 1 }}">
</div>
</div>
</div>
<div class="row">
<div class="col-xs-12">
<div class="form-group">
<label>{{ trans('forms.settings.app-setup.site-timezone') }}</label>
<select name="app_timezone" class="form-control" required>
<option value="">Select Timezone</option>
@foreach($timezones as $region => $list)
<optgroup label="{{ $region }}">
@foreach($list as $timezone => $name)
<option value="{{ $timezone }}" @if(Setting::get('app_timezone') == $timezone) selected @endif>
{{ $name }}
</option>
@endforeach
</optgroup>
@endforeach
</select>
</div>
</div>
</div>
<div class="row">
<div class="col-xs-12">
<div class="form-group">
<label>
{{ trans('forms.settings.app-setup.date-format') }}
<a href="http://php.net/manual/en/function.date.php" target="_blank"><i class="icon ion-help-circled"></i></a>
</label>
<input type="text" class="form-control" name="date_format" value="{{ Setting::get('date_format') ?: 'l jS F Y' }}">
</div>
</div>
</div>
<div class="row">
<div class="col-xs-12">
<div class="form-group">
<label>
{{ trans('forms.settings.app-setup.incident-date-format') }}
<a href="http://php.net/manual/en/function.date.php" target="_blank"><i class="icon ion-help-circled"></i></a>
</label>
<input type="text" class="form-control" name="incident_date_format" value="{{ Setting::get('incident_date_format') ?: 'l jS F Y H:i:s' }}">
</div>
</div>
</div>
<div class="row">
<div class="col-xs-12">
<div class="form-group">
<label>{{ trans('forms.settings.app-setup.site-locale') }}</label>
<select name="app_locale" class="form-control" required>
<option value="">Select Language</option>
@foreach($langs as $lang => $name)
<option value="{{ $lang }}" @if(Setting::get('app_locale') == $lang) selected @endif>
{{ $name }}
</option>
@endforeach
</select>
</div>
</div>
</div>
<div class="row">
<div class="col-xs-12">
<div class="form-group">
@@ -141,28 +53,34 @@
</div>
<div class="row">
<div class="col-xs-12">
<div class="form-group">
<label>{{ trans('forms.settings.app-setup.subscribers') }}</label>
<input type="hidden" value="0" name="enable_subscribers">
<input type="checkbox" value="1" name="enable_subscribers" class="form-control" {{ Setting::get('enable_subscribers') ? 'checked' : null }}>
<div class="checkbox">
<label>
<input type="hidden" value="0" name="enable_subscribers">
<input type="checkbox" value="1" name="enable_subscribers" {{ Setting::get('enable_subscribers') ? 'checked' : null }}>
{{ trans('forms.settings.app-setup.subscribers') }}
</label>
</div>
</div>
</div>
<div class="row">
<div class="col-xs-12">
<div class="form-group">
<label>{{ trans('forms.settings.app-setup.display-graphs') }}</label>
<input type="hidden" value="0" name="display_graphs">
<input type="checkbox" value="1" name="display_graphs" class="form-control" {{ Setting::get('display_graphs') ? 'checked' : null }}>
<div class="checkbox">
<label>
<input type="hidden" value="0" name="display_graphs">
<input type="checkbox" value="1" name="display_graphs" {{ Setting::get('display_graphs') ? 'checked' : null }}>
{{ trans('forms.settings.app-setup.display-graphs') }}
</label>
</div>
</div>
</div>
<div class="row">
<div class="col-xs-12">
<div class="form-group">
<label>{{ trans('setup.show_support') }}</label>
<input type="hidden" value="0" name="show_support">
<input type="checkbox" value="1" name="show_support" class="form-control" {{ Setting::get('show_support') ? 'checked' : null }}>
<div class="checkbox">
<label>
<input type="hidden" value="0" name="show_support">
<input type="checkbox" value="1" name="show_support" {{ Setting::get('show_support') ? 'checked' : null }}>
{{ trans('setup.show_support') }}
</label>
</div>
</div>
</div>

View File

@@ -0,0 +1,91 @@
@extends('layout.dashboard')
@section('content')
<div class="content-panel">
@if(isset($sub_menu))
@include('dashboard.partials.sub-sidebar')
@endif
<div class="content-wrapper">
<div class="header sub-header" id="application-setup">
<span class="uppercase">
{{ trans('dashboard.settings.localization.localization') }}
</span>
</div>
<div class="row">
<div class="col-sm-12">
<form id="settings-form" name="SettingsForm" class="form-vertical" role="form" action="/dashboard/settings" method="POST" enctype="multipart/form-data">
<input type="hidden" name="_token" value="{{ csrf_token() }}">
@include('dashboard.partials.errors')
<fieldset>
<div class="row">
<div class="col-xs-12">
<div class="form-group">
<label>{{ trans('forms.settings.app-setup.site-timezone') }}</label>
<select name="app_timezone" class="form-control" required>
<option value="">Select Timezone</option>
@foreach($timezones as $region => $list)
<optgroup label="{{ $region }}">
@foreach($list as $timezone => $name)
<option value="{{ $timezone }}" @if(Setting::get('app_timezone') == $timezone) selected @endif>
{{ $name }}
</option>
@endforeach
</optgroup>
@endforeach
</select>
</div>
</div>
</div>
<div class="row">
<div class="col-xs-12">
<div class="form-group">
<label>
{{ trans('forms.settings.app-setup.date-format') }}
<a href="http://php.net/manual/en/function.date.php" target="_blank"><i class="icon ion-help-circled"></i></a>
</label>
<input type="text" class="form-control" name="date_format" value="{{ Setting::get('date_format') ?: 'l jS F Y' }}">
</div>
</div>
</div>
<div class="row">
<div class="col-xs-12">
<div class="form-group">
<label>
{{ trans('forms.settings.app-setup.incident-date-format') }}
<a href="http://php.net/manual/en/function.date.php" target="_blank"><i class="icon ion-help-circled"></i></a>
</label>
<input type="text" class="form-control" name="incident_date_format" value="{{ Setting::get('incident_date_format') ?: 'l jS F Y H:i:s' }}">
</div>
</div>
</div>
<div class="row">
<div class="col-xs-12">
<div class="form-group">
<label>{{ trans('forms.settings.app-setup.site-locale') }}</label>
<select name="app_locale" class="form-control" required>
<option value="">Select Language</option>
@foreach($langs as $lang => $name)
<option value="{{ $lang }}" @if(Setting::get('app_locale') == $lang) selected @endif>
{{ $name }}
</option>
@endforeach
</select>
</div>
</div>
</div>
</fieldset>
<div class="row">
<div class="col-xs-12">
<div class="form-group">
<button type="submit" class="btn btn-success">{{ trans('forms.save') }}</button>
</div>
</div>
</div>
</form>
</div>
</div>
</div>
</div>
@stop