35 lines
1.1 KiB
PHP
35 lines
1.1 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Middleware;
|
|
|
|
use App\Services\EvaluationAccess;
|
|
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 (! $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;
|
|
}
|
|
}
|