Files
compras/app/Http/Middleware/EnterLocalEvaluation.php
T
2026-10-30 20:14:24 +02:00

39 lines
1.3 KiB
PHP

<?php
namespace App\Http\Middleware;
use App\Services\EvaluationAccess;
use App\Services\PublicNavigation;
use App\Services\RequisitionWorkflow;
use Closure;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use Symfony\Component\HttpFoundation\Response;
class EnterLocalEvaluation
{
public function handle(Request $request, Closure $next): Response
{
$access = app(EvaluationAccess::class);
if (app(PublicNavigation::class)->enabled()) {
return $next($request);
}
if (! $access->dashboardEntry($request)) {
return $next($request);
}
if ($request->user() === null) {
$owner = $access->owner($request);
Auth::login($owner, false);
$request->session()->regenerate();
$request->session()->regenerateToken();
$request->session()->forget('url.intended');
app(RequisitionWorkflow::class)->audit($owner, 'evaluation.auto_entered', null, null, ['path' => '/dashboard', 'synthetic' => true]);
}
$response = $next($request);
$response->headers->set('Cache-Control', 'private, no-store, max-age=0');
$response->headers->set('X-Robots-Tag', 'noindex, nofollow');
return $response;
}
}