/**
  * Method to login the user on the application
  *
  * @return void
  */
 public function loginAction()
 {
     $viewData = array();
     $flashMessenger = $this->flashMessenger();
     $loginForm = new LoginForm();
     $loginForm->setAttribute('action', $this->url()->fromRoute('users-login'));
     $request = $this->getRequest();
     if ($request->isPost()) {
         $data = $request->getPost()->toArray();
         $loginForm->setInputFilter(User::getLoginInputFilter());
         $loginForm->setData($data);
         if ($loginForm->isValid()) {
             $data = $loginForm->getData();
             $auth = new AuthenticationService();
             $authAdapter = new AuthAdapter($data['username'], $data['password']);
             $result = $auth->authenticate($authAdapter);
             if (!$result->isValid()) {
                 foreach ($result->getMessages() as $msg) {
                     $flashMessenger->addMessage($msg);
                 }
             } else {
                 return $this->redirect()->toRoute('wall', array('username' => $data['username']));
             }
         }
     }
     $viewData['loginForm'] = $loginForm;
     if ($flashMessenger->hasMessages()) {
         $viewData['flashMessages'] = $flashMessenger->getMessages();
     }
     return $viewData;
 }