public function saveAction() { $jsonModel = new JsonModel(); if ($this->getRequest()->isPost()) { $data = $this->params()->fromPost(); $em = $this->getEntityManager(); if (!($userRes = $em->getRepository('Base\\Entity\\User')->find($data['id']))) { $userRes = new \Base\Entity\User(); } $form = new UserForm(); $roleArr = $em->getRepository('Base\\Entity\\User')->getRoleArray(); $form->get('role')->setValueOptions($roleArr); $form->setData($data); if ($form->isValid()) { $userRes->setDisplayName($data['display_name']); $userRes->setUsername($data['username']); $userRes->setRole($data['role']); $userRes->setPassword(\Zend\Ldap\Attribute::createPassword($data['password'])); $em->persist($userRes); $em->flush(); $jsonModel->setVariable('success', true); } else { $jsonModel->setVariable('success', false); $jsonModel->setVariable('message', $form->getMessages()); } } return $jsonModel; }