/**
  * Create admin user form
  *
  * Method to create the Doctrine ORM user form for edit/create users 
  *
  * @return Zend\Form\Form
  */
 public function createUserForm($userEntity, $formName = 'LogIn')
 {
     $entityManager = $this->getEntityManager();
     $builder = new DoctrineAnnotationBuilder($entityManager);
     $this->form = $builder->createForm($userEntity);
     $this->form->setHydrator(new DoctrineHydrator($entityManager));
     $this->form->setAttribute('method', 'post');
     $this->addCommonFields();
     switch ($formName) {
         case 'SignUp':
             $this->addSignUpFields();
             $this->addSignUpFilters();
             $this->form->setAttributes(array('action' => $this->getUrlPlugin()->fromRoute('user-register'), 'name' => 'register'));
             break;
         case 'EditProfile':
             $this->form->setAttributes(array('action' => $this->getUrlPlugin()->fromRoute('user-register', array('action' => 'edit-profile')), 'name' => 'edit-profile'));
             break;
         case 'ChangePassword':
             $this->addChangePasswordFields();
             $this->addChangePasswordFilters();
             $this->form->setAttributes(array('action' => $this->getUrlPlugin()->fromRoute('user-register', array('action' => 'change-password')), 'name' => 'change-password'));
             break;
         case 'ResetPassword':
             $this->addResetPasswordFields();
             $this->addResetPasswordFilters();
             $this->form->setAttributes(array('action' => $this->getUrlPlugin()->fromRoute('user-register', array('action' => 'reset-password')), 'name' => 'reset-password'));
             break;
         case 'ChangeEmail':
             $this->addChangeEmailFields();
             $this->addChangeEmailFilters();
             $this->form->setAttributes(array('action' => $this->getUrlPlugin()->fromRoute('user-register', array('action' => 'change-email')), 'name' => 'change-email'));
             break;
         case 'ChangeSecurityQuestion':
             $this->form->setAttributes(array('action' => $this->getUrlPlugin()->fromRoute('user-register', array('action' => 'change-security-question')), 'name' => 'change-security-question'));
             break;
         case 'CreateUser':
             $this->addCreateUserFields();
             $this->addCreateUserFilters();
             $this->form->setAttributes(array('action' => $this->getUrlPlugin()->fromRoute('user-admin', array('action' => 'create-user')), 'name' => 'register'));
             break;
         case 'EditUser':
             $this->form->setAttributes(array('name' => 'register'));
             break;
         default:
             $this->addLoginFields();
             $this->addLoginFilters();
             $this->form->setAttributes(array('action' => $this->getUrlPlugin()->fromRoute('user-index', array('action' => 'login')), 'name' => 'login'));
             break;
     }
     $this->form->bind($userEntity);
     return $this->form;
 }