diff --git a/app/lang/de/errors.php b/app/lang/de/errors.php index 4243b9bb..ee9895b7 100644 --- a/app/lang/de/errors.php +++ b/app/lang/de/errors.php @@ -6,5 +6,11 @@ return [ 'title' => 'Die Seite konnte nicht gefunden werden!', 'message' => 'Entschuldigung, aber die Seite konnte nicht gefunden werden. Überprüfen Sie die URL und versuchen Sie es erneut.', 'link' => 'Zurück zur Startseite', - ] + ], + 'unauthorized' => [ + 'code' => '401', + 'title' => 'Unauthorized', + 'message' => 'Sorry, you need admin privileges to see this page.', + 'link' => 'Return to homepage', + ], ]; diff --git a/app/lang/en/errors.php b/app/lang/en/errors.php index 38ab0bfe..24eddf01 100644 --- a/app/lang/en/errors.php +++ b/app/lang/en/errors.php @@ -6,5 +6,11 @@ return [ 'title' => 'That page went missing!', 'message' => 'Sorry, but the page you are looking for has not been found. Check the URL for errors and try again.', 'link' => 'Return to homepage', - ] + ], + 'unauthorized' => [ + 'code' => '401', + 'title' => 'Unauthorized', + 'message' => 'Sorry, you need admin privileges to see this page.', + 'link' => 'Return to homepage', + ], ]; diff --git a/app/lang/fr/errors.php b/app/lang/fr/errors.php index dbe86279..1b5b79a4 100644 --- a/app/lang/fr/errors.php +++ b/app/lang/fr/errors.php @@ -6,5 +6,11 @@ return [ 'title' => 'Cette page est manquante !', 'message' => 'Désolé, mais la page que vous recherchez est introuvable. Vérifier l\'URL et essayez à nouveau.', 'link' => 'Retour à l\'accueil', - ] + ], + 'unauthorized' => [ + 'code' => '401', + 'title' => 'Unauthorized', + 'message' => 'Sorry, you need admin privileges to see this page.', + 'link' => 'Return to homepage', + ], ]; diff --git a/app/views/errors/401.blade.php b/app/views/errors/401.blade.php new file mode 100644 index 00000000..10f342bb --- /dev/null +++ b/app/views/errors/401.blade.php @@ -0,0 +1,19 @@ +@extends('layout.error') + +@section('content') +
+
+ +
+

{{ trans('errors.unauthorized.code') }}

+

{{ trans('errors.unauthorized.title') }}

+ +
+

{{ trans('errors.unauthorized.message') }}

+
+

+ {{ trans('errors.unauthorized.link') }} +

+
+
+@stop diff --git a/src/Http/Before/AdminFilter.php b/src/Http/Before/AdminFilter.php index d1b5bed1..f033fe41 100644 --- a/src/Http/Before/AdminFilter.php +++ b/src/Http/Before/AdminFilter.php @@ -22,7 +22,7 @@ class AdminFilter public function filter(Route $route, Request $request) { if (!Auth::check() || (Auth::check() && !Auth::user()->isAdmin)) { - return Response::make('Unauthorized', 401); + return Response::view('errors.401', ['pageTitle' => trans('errors.unauthorized.title')], 401); } } } diff --git a/src/Models/User.php b/src/Models/User.php index 08fc5e95..35efe497 100644 --- a/src/Models/User.php +++ b/src/Models/User.php @@ -133,7 +133,7 @@ class User extends Model implements UserInterface, RemindableInterface */ public function getIsAdminAttribute() { - return (bool) $this->level; + return $this->level == 1; } /**