public function loginAction()
 {
     $user = ApplicationManager::getInstance($this->getServiceLocator())->getCurrentUser();
     if ($user) {
         return $this->redirect()->toRoute('home');
     }
     $request = $this->getRequest();
     $form = new LoginForm();
     if ($request->isPost()) {
         $form->setData($request->getPost());
         if ($form->isValid()) {
             $data = $form->getData();
             $identity = $data['email'];
             $password = $data['password'];
             $result = AuthenticationManager::getInstance($this->getServiceLocator())->authenticate($identity, $password);
             if (in_array($result->getCode(), array(Result::FAILURE_IDENTITY_NOT_FOUND, Result::FAILURE_CREDENTIAL_INVALID))) {
                 $form->setMessages(array('email' => array('Нeправильный Email или пароль')));
             }
             if ($result->isValid()) {
                 return $this->redirect()->toRoute('dashboard');
             }
         } else {
             $form->setMessages(array('email' => array('Нeправильный Email или пароль')));
         }
     }
     $viewModel = new ViewModel(array('form' => $form));
     $viewModel->setTemplate('layout/login-layout');
     $viewModel->setTerminal(true);
     return $viewModel;
 }