diff --git a/app/routes/dashboard.php b/app/routes/dashboard.php index 6c935283..e3d7a290 100644 --- a/app/routes/dashboard.php +++ b/app/routes/dashboard.php @@ -89,13 +89,16 @@ Route::group(['before' => 'auth', 'prefix' => 'dashboard', 'namespace' => 'Cache 'as' => 'dashboard.team', 'uses' => 'DashTeamController@showTeamView', ]); - Route::get('add', [ - 'as' => 'dashboard.team.add', - 'uses' => 'DashTeamController@showAddTeamMemberView' - ]); - Route::get('{user}', 'DashTeamController@showTeamMemberView'); - Route::post('add', 'DashTeamController@postAddUser'); - Route::post('{user}', 'DashTeamController@postUpdateUser'); + + Route::group(['before' => 'admin'], function () { + Route::get('add', [ + 'as' => 'dashboard.team.add', + 'uses' => 'DashTeamController@showAddTeamMemberView' + ]); + Route::get('{user}', 'DashTeamController@showTeamMemberView'); + Route::post('add', 'DashTeamController@postAddUser'); + Route::post('{user}', 'DashTeamController@postUpdateUser'); + }); }); // Settings diff --git a/app/views/dashboard/team/index.blade.php b/app/views/dashboard/team/index.blade.php index fad76115..44b40c6d 100644 --- a/app/views/dashboard/team/index.blade.php +++ b/app/views/dashboard/team/index.blade.php @@ -8,9 +8,11 @@ {{ trans('dashboard.team.team') }} + @if(Auth::user()->isAdmin) {{ trans('dashboard.team.add.title') }} + @endif
diff --git a/src/Http/Before/AdminFilter.php b/src/Http/Before/AdminFilter.php new file mode 100644 index 00000000..d1b5bed1 --- /dev/null +++ b/src/Http/Before/AdminFilter.php @@ -0,0 +1,28 @@ +isAdmin)) { + return Response::make('Unauthorized', 401); + } + } +} diff --git a/src/Providers/RoutingServiceProvider.php b/src/Providers/RoutingServiceProvider.php index 7b55e1cd..e15ca417 100644 --- a/src/Providers/RoutingServiceProvider.php +++ b/src/Providers/RoutingServiceProvider.php @@ -36,6 +36,7 @@ class RoutingServiceProvider extends ServiceProvider protected function registerFilters() { // Laravel's before filters + $this->app->router->filter('admin', 'CachetHQ\Cachet\Http\Before\AdminFilter'); $this->app->router->filter('auth', 'CachetHQ\Cachet\Http\Before\AuthFilter'); $this->app->router->filter('guest', 'CachetHQ\Cachet\Http\Before\GuestFilter'); $this->app->router->filter('csrf', 'CachetHQ\Cachet\Http\Before\CsrfFilter');