public function forgotPassword(Request $request, Application $app)
 {
     $usernameOrEmail = $request->request->get('_username');
     $user = new UserModel();
     if (!$user->readByUsernameOrEmail($usernameOrEmail)) {
         $app['session']->getFlashBag()->add('errorMessage', 'User not found.');
         return $this->view($request, $app, 'forgot_password');
     }
     $identityCheck = UserCommands::checkIdentity($user->username, $user->email, $this->website);
     if (!$identityCheck->usernameExistsOnThisSite) {
         $user->siteRole[$this->website->domain] = $this->website->userDefaultSiteRole;
     }
     Communicate::sendForgotPasswordVerification($user, $this->website);
     $app['session']->getFlashBag()->add('infoMessage', 'Password Reset email sent for username "' . $usernameOrEmail . '"');
     return $app->redirect('/auth/login');
 }