diff --git a/app/Http/Middleware/RedirectToSetup.php b/app/Http/Middleware/RedirectToSetup.php index 8daf984f..017069ed 100644 --- a/app/Http/Middleware/RedirectToSetup.php +++ b/app/Http/Middleware/RedirectToSetup.php @@ -23,6 +23,8 @@ class RedirectToSetup $user = $request->user(); if ($user && $user->isAdmin()) { return redirect('/setup/update'); + } elseif ($request->is('auth/login')) { + return $next($request); } else { abort(503); } diff --git a/app/Providers/ViewServiceProvider.php b/app/Providers/ViewServiceProvider.php index 3918a480..7befffd6 100644 --- a/app/Providers/ViewServiceProvider.php +++ b/app/Providers/ViewServiceProvider.php @@ -5,6 +5,7 @@ namespace App\Providers; use App\Http\View\Composers; use App\Services\Webpack; use Illuminate\Support\ServiceProvider; +use Illuminate\Support\Str; use View; class ViewServiceProvider extends ServiceProvider @@ -66,12 +67,13 @@ class ViewServiceProvider extends ServiceProvider View::composer('shared.foot', Composers\FootComposer::class); View::composer(['errors.*', 'setup.*'], function ($view) use ($webpack) { - $view->with([ - 'styles' => [ - $webpack->url('spectre.css'), - ], - 'scripts' => [], - ]); + // @codeCoverageIgnoreStart + if (Str::startsWith(config('app.asset.env'), 'dev')) { + $view->with(['scripts' => [$webpack->url('spectre.js')]]); + } else { + $view->with('styles', [$webpack->url('spectre.css')]); + } + // @codeCoverageIgnoreEnd }); View::composer('auth.oauth', function ($view) { diff --git a/resources/views/errors/503.twig b/resources/views/errors/503.twig index 13df13fd..e373521d 100644 --- a/resources/views/errors/503.twig +++ b/resources/views/errors/503.twig @@ -3,7 +3,16 @@ {% block title %}503 Service Unavailable{% endblock %} {% block message %} +

{{ trans('errors.exception.detail', {msg: exception.message ?: trans('errors.http.msg-503')}) }}

+ {% if not auth_check() %} +
+ + + {{ trans('general.login') }} + +
+ {% endif %} {% endblock %} diff --git a/tests/HttpTest/MiddlewareTest/RedirectToSetupTest.php b/tests/HttpTest/MiddlewareTest/RedirectToSetupTest.php index 65b93a55..45b238a4 100644 --- a/tests/HttpTest/MiddlewareTest/RedirectToSetupTest.php +++ b/tests/HttpTest/MiddlewareTest/RedirectToSetupTest.php @@ -17,6 +17,7 @@ class RedirectToSetupTest extends TestCase $current = config('app.version'); config(['app.version' => '100.0.0']); $this->get('/')->assertStatus(503); + $this->get('/auth/login')->assertViewIs('auth.login'); $this->actingAs($superAdmin)->get('/')->assertRedirect('/setup/update'); config(['app.version' => $current]);