/**
  * Displays a form for registering a user.
  */
 public function registerAction()
 {
     // create the form
     $registerForm = new Application_Form_Personnel_Register();
     // form has been submitted through post request
     if ($this->_request->isPost()) {
         $formData = $this->_request->getPost();
         // if the form doesn't validate, pass to view and return
         if ($registerForm->isValid($formData)) {
             // create new user object
             $data = array();
             $data["username"] = $this->getRequest()->getParam('username');
             $data["password"] = Unplagged_Helper::hashString($this->getRequest()->getParam('password'));
             $data["email"] = $this->getRequest()->getParam('email');
             $data["verificationHash"] = Unplagged_Helper::generateRandomHash();
             $data["state"] = 'registered';
             $user = new Application_Model_Personnel($data);
             // write back to persistence manager and flush it
             $this->_em->persist($user);
             $this->_em->flush();
             // send registration mail
             Unplagged_Mailer::sendRegistrationMail($user);
             $this->_helper->flashMessenger->addMessage('Die Registrierung wurde erfolgreich abgeschlossen.');
             $this->_helper->redirector('index', 'index');
         }
     }
     // send form to view
     $this->view->registerForm = $registerForm;
 }