/** * @param MembershipRepository $repository * @param $invitation * @param Guard $guard * @return \Illuminate\Contracts\View\View|\Illuminate\Http\RedirectResponse */ public function show(MembershipRepository $repository, $invitation, Guard $guard) { $invitation = $repository->findInvitationByToken($invitation); if (!$invitation) { return redirect()->to(store_route('store.home')); } //do we have an invitation for a user with a registered account? //if so, we simply accept it instead of asking for credentials. if ($user = User::where('email', $invitation->email)->limit(1)->first()) { $user = $this->dispatch(new Signup(false, false, $invitation)); if ($user->confirmed) { //user can be logged in too $guard->login($user); return redirect()->to(store_route('store.dash')); } return redirect()->to(store_route('store.home'))->with('message', 'success'); } return $this->theme->render('auth.register', ['invitation' => $invitation]); }