/**
  * Change Security Question
  *
  * Displays user change security question form
  *
  * @return Zend\View\Model\ViewModel
  */
 public function changeSecurityQuestionAction()
 {
     if (!($user = $this->identity())) {
         return $this->redirect()->toRoute($this->getOptions()->getLoginRedirectRoute());
     }
     $form = $this->getUserFormHelper()->createUserForm($user, 'ChangeSecurityQuestion');
     $message = null;
     if ($this->getRequest()->isPost()) {
         $currentPassword = $user->getPassword();
         $form->setValidationGroup('password', 'question', 'answer', 'csrf');
         $form->setData($this->getRequest()->getPost());
         if ($form->isValid()) {
             $data = $form->getData();
             $user->setPassword($currentPassword);
             if (UserCredentialsService::verifyHashedPassword($user, $this->params()->fromPost('password'))) {
                 $entityManager = $this->getEntityManager();
                 $entityManager->persist($user);
                 $entityManager->flush();
                 $viewModel = new ViewModel(array('navMenu' => $this->getOptions()->getNavMenu()));
                 $viewModel->setTemplate('csn-user/registration/change-security-question-success');
                 return $viewModel;
             } else {
                 $message = $this->getTranslatorHelper()->translate('Your password is wrong. Please provide the correct password.');
             }
         }
     }
     return new ViewModel(array('form' => $form, 'navMenu' => $this->getOptions()->getNavMenu(), 'message' => $message, 'questionSelectedId' => $user->getQuestion()->getId()));
 }