From aa2051d281980710db7f15dc088be9b9d791213b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timoth=C3=A9e=20Jaussoin?= Date: Thu, 3 Jul 2025 15:42:15 +0200 Subject: [PATCH] Fix FLEXIAPI-348 Add a fallback 404 page for URLs that are pointing to no configured Spaces --- flexiapi/app/Http/Middleware/SpaceCheck.php | 2 +- .../resources/views/errors/minimal.blade.php | 2 +- .../views/layouts/main_minimal.blade.php | 26 +++++++++++++++++++ flexiapi/routes/web.php | 6 +++-- 4 files changed, 32 insertions(+), 4 deletions(-) create mode 100644 flexiapi/resources/views/layouts/main_minimal.blade.php diff --git a/flexiapi/app/Http/Middleware/SpaceCheck.php b/flexiapi/app/Http/Middleware/SpaceCheck.php index ba1abc7..ed959d7 100644 --- a/flexiapi/app/Http/Middleware/SpaceCheck.php +++ b/flexiapi/app/Http/Middleware/SpaceCheck.php @@ -17,7 +17,7 @@ class SpaceCheck $space = space(); - if ($space) { + if ($space != null) { if (!str_ends_with($space->host, config('app.root_host'))) { return abort(503, 'The APP_ROOT_HOST configured does not match with the current root domain'); } diff --git a/flexiapi/resources/views/errors/minimal.blade.php b/flexiapi/resources/views/errors/minimal.blade.php index 931dcb7..cfc85da 100644 --- a/flexiapi/resources/views/errors/minimal.blade.php +++ b/flexiapi/resources/views/errors/minimal.blade.php @@ -1,4 +1,4 @@ -@extends('layouts.main') +@extends(space() != null ? 'layouts.main' : 'layouts.main_minimal') @section('content') diff --git a/flexiapi/resources/views/layouts/main_minimal.blade.php b/flexiapi/resources/views/layouts/main_minimal.blade.php new file mode 100644 index 0000000..2373ace --- /dev/null +++ b/flexiapi/resources/views/layouts/main_minimal.blade.php @@ -0,0 +1,26 @@ + + + + + + + + + @yield('code') - @yield('title') + + + + + + + + + + +
+ @yield('content') +
+
+ + + diff --git a/flexiapi/routes/web.php b/flexiapi/routes/web.php index 5a1caf1..8416181 100644 --- a/flexiapi/routes/web.php +++ b/flexiapi/routes/web.php @@ -48,8 +48,10 @@ use App\Http\Controllers\Admin\SpaceController; use App\Http\Controllers\Admin\StatisticsController; use Illuminate\Support\Facades\Route; -Route::redirect('/', 'login')->name('account.home'); -Route::get('about', 'AboutController@about')->name('about'); +Route::middleware(['space.check'])->group(function () { + Route::redirect('/', 'login')->name('account.home'); + Route::get('about', 'AboutController@about')->name('about'); +}); Route::middleware(['web_panel_enabled', 'space.check'])->group(function () { Route::get('wizard/{provisioning_token}', 'Account\ProvisioningController@wizard')->name('provisioning.wizard');