mirror of
https://github.com/vitodeploy/vito.git
synced 2025-04-20 18:31:36 +00:00
35 lines
761 B
PHP
35 lines
761 B
PHP
<?php
|
|
|
|
namespace App\Http\Middleware;
|
|
|
|
use App\Models\User;
|
|
use Closure;
|
|
use Illuminate\Http\Request;
|
|
|
|
class HasProjectMiddleware
|
|
{
|
|
public function handle(Request $request, Closure $next)
|
|
{
|
|
/** @var ?User $user */
|
|
$user = $request->user();
|
|
if (! $user) {
|
|
return $next($request);
|
|
}
|
|
|
|
if (! $user->currentProject) {
|
|
if ($user->allProjects()->count() > 0) {
|
|
$user->current_project_id = $user->allProjects()->first()->id;
|
|
$user->save();
|
|
|
|
$request->user()->refresh();
|
|
|
|
return $next($request);
|
|
}
|
|
|
|
abort(403, 'You must have a project to access the panel.');
|
|
}
|
|
|
|
return $next($request);
|
|
}
|
|
}
|