Я работаю в Laravel 7 и у меня есть промежуточное ПО, которое проверяет, есть ли у пользователя текущее пользовательское соглашение, если нет, оно перенаправляет в форму, которая предлагает текущее соглашение. Когда предложение будет принято, мне нужно перенаправить обратно туда, куда они изначально направлялись. Я думаю, что мне нужно поместить что-то в сеанс, чтобы, когда мой контроллер сохранял их принятие, он мог перенаправить обратно на исходный маршрут.
class VerifyAgreement
{
public function handle($request, Closure $next, $agreement)
{
if(UserAgreement::outOfDate($agreement)){
return redirect()->route('agreement.offer', $agreement);
}
return $next($request);
}
}
Я думаю, что мне нужно получить текущий запрос и передать его на перенаправление, чтобы контроллер пользовательского соглашения мог каким-то образом его перехватить и затем перенаправить после сохранения соглашения ... Я не уверен.
class AgreementController extends Controller
{
public function offer(Agreement $agreement)
{
return view('agreement.offer',['agreement' => $agreement]);
}
public function agree(Request $request)
{
$agreement_uuid = App\Agreement::findOrFail($request->agreement)->uuid;
UserAgreement::create(['user_uuid'=>auth()->user()->uuid, 'agreement_uuid'=>$agreement_uuid]);
//redirect something something something
}
}