isMethod('get')) { if (!$request->hasValidSignature()) { return abort(401); } if (!$request->route('token')) { return abort(404); } $invitation_token = $request->route('token'); $invitations = ManagerInvite::where('email', $request->email)->get(); foreach($invitations as $invitation) { if (Hash::check($invitation_token, $invitation->invitation_token)) { $new_invitation = ManagerInvite::where('invitation_token', $invitation->invitation_token)->firstOrFail(); if (Artist::where('user_id', $new_invitation->artist_id) ->whereNotNull('manager_id') ->exists()) { return redirect(route('login')) ->with('error', 'An error occurred. Please try again!'); } if (is_null($new_invitation)) { return redirect(route('login')) ->with('error', 'An error occurred. Please try again!'); } if (!is_null($new_invitation->registered_at)) { return redirect(route('login')) ->with('error', 'The invitation link has already been used'); } $request->merge(['artist_id' => $new_invitation->artist_id]); } } } return $next($request); } }