public function addAction() { $forrest = new Service\BreadcrumbService(); if (!$forrest->exists('user')) { $forrest->set('user', 'admin/user'); } $breadcrumb = $forrest->get('user'); $form = new Form\User(); $form->get('submit')->setValue('Add'); $form->get('Country_id')->setValueOptions($this->getCountryOptions()); $request = $this->getRequest(); if ($request->isPost()) { $user = new Entity\User(); #$form->setInputFilter($user->getInputFilter()); $inputFilter = $this->getServiceLocator()->get('Admin\\InputFilter\\User'); $form->setInputFilter($inputFilter->getInputFilter()); $form->setData($request->getPost()); if ($form->isValid()) { $user->populate($form->getData()); if ($user->getEmail() == '') { $user->setEmail(null); } if ($user->getCountryId() == 0) { $user->setCountry(null); $user->setCountryId(null); } $user->setActive(true); $em = $this->getServiceLocator()->get('Doctrine\\ORM\\EntityManager'); $em->persist($user); $em->flush(); return $this->redirect()->toRoute($breadcrumb->route, $breadcrumb->params, $breadcrumb->options); } else { $logger = $this->getServiceLocator()->get('Logger'); $logger->warn($form->getMessages()); } } return new ViewModel(array('form' => $form)); }