Development 4.4.2 #8

Merged
th.guenther merged 17 commits from development-4.4.2 into main 2026-06-21 23:31:27 +02:00
4 changed files with 70 additions and 0 deletions
Showing only changes of commit 79bb186234 - Show all commits
@@ -0,0 +1,17 @@
<?php
namespace App\Domains\Admin\Controllers;
use App\Providers\InertiaProvider;
use App\Scopes\CommonController;
use Illuminate\Http\Request;
use Inertia\Response;
class AdminDashboardController extends CommonController
{
public function __invoke(Request $request): Response
{
$inertiaProvider = new InertiaProvider('Admin/Dashboard', []);
return $inertiaProvider->render();
}
}
+12
View File
@@ -0,0 +1,12 @@
<?php
use App\Domains\Admin\Controllers\AdminDashboardController;
use App\Middleware\AdminRoleMiddleware;
use App\Middleware\IdentifyTenant;
use Illuminate\Support\Facades\Route;
Route::middleware([IdentifyTenant::class, 'auth', AdminRoleMiddleware::class])->group(function () {
Route::prefix('admin')->group(function () {
Route::get('/', AdminDashboardController::class);
});
});
+15
View File
@@ -0,0 +1,15 @@
<script setup>
import AdminAppLayout from "../../../../resources/js/layouts/AdminAppLayout.vue";
import ShadowedBox from "../../../Views/Components/ShadowedBox.vue";
</script>
<template>
<AdminAppLayout title="Administration">
<shadowed-box style="width: 95%; margin: 20px auto; padding: 20px; overflow-x: hidden;">
<h2>Administration</h2>
</shadowed-box>
</AdminAppLayout>
</template>
<style scoped>
</style>
+26
View File
@@ -0,0 +1,26 @@
<?php
namespace App\Middleware;
use App\Enumerations\UserRole;
use App\Providers\AuthCheckProvider;
use Closure;
class AdminRoleMiddleware
{
public function handle($request, Closure $next)
{
if (!auth()->check()) {
return redirect('/login')->with('message', 'Du musst eingeloggt sein.');
}
$authCheck = new AuthCheckProvider();
$role = $authCheck->getUserRole();
if (!in_array($role, [UserRole::USER_ROLE_ADMIN, UserRole::USER_ROLE_GROUP_LEADER], true)) {
return redirect('/')->with('message', 'Du bist dazu nicht berechtigt.');
}
return $next($request);
}
}