/** * @return \Illuminate\Http\RedirectResponse */ public function cancelAccount() { if ($reason = trim(Input::get('reason'))) { $email = Auth::user()->email; $name = Auth::user()->getDisplayName(); $data = ['text' => $reason]; $subject = 'Invoice Ninja - Canceled Account'; $this->userMailer->sendTo(CONTACT_EMAIL, $email, $name, $subject, 'contact', $data); } $user = Auth::user(); $account = Auth::user()->account; \Log::info("Canceled Account: {$account->name} - {$user->email}"); Document::scope()->each(function ($item, $key) { $item->delete(); }); $this->accountRepo->unlinkAccount($account); if ($account->company->accounts->count() == 1) { $account->company->forceDelete(); } else { $account->forceDelete(); } Auth::logout(); Session::flush(); return Redirect::to('/')->with('clearGuestKey', true); }