public function editAction() { $id = (int) $this->params()->fromRoute('id', 0); if (!$id) { return $this->redirect()->toRoute('admin/users', array('action' => 'add')); } $user = $this->getUsersTable()->getUser($id); if ($user == false) { $this->flashMessenger()->addErrorMessage('User not found..!!'); return $this->redirect()->toRoute('admin/users'); } $vm = new ViewModel(); $tableGateway = $this->getServiceLocator()->get('Admin\\Model\\UsertypeTable'); $user_form = new UsersForm($tableGateway, $this->getServiceLocator()->get('Admin\\Model\\StatesTable'), $this->getServiceLocator()->get('Admin\\Model\\CountriesTable'), $this->getServiceLocator()->get('Admin\\Model\\StatusTable'), $this->getServiceLocator()->get('Admin\\Model\\ServiceLanguagesTable'), $this->getUsersTable()->getConsumerServiceLanguage($id, true), $user->country_id); //$form = new UsersForm(); $user_form->bind($user); $user_form->get('submit')->setAttribute('value', 'Edit'); $request = $this->getRequest(); if ($request->isPost()) { $user->getInputFilter()->get('pass')->setRequired(false); if ($request->getPost('pass') == '') { $user->getInputFilter()->get('c_pass')->setRequired(false); } $user->getInputFilter()->get('user_name')->getValidatorChain()->attach(new \Zend\Validator\Db\NoRecordExists(array('table' => 'users', 'field' => 'user_name', 'adapter' => $this->getServiceLocator()->get('Zend\\Db\\Adapter\\Adapter'), 'exclude' => array('field' => 'id', 'value' => $id)))); $user->getInputFilter()->get('email')->getValidatorChain()->attach(new \Zend\Validator\Db\NoRecordExists(array('table' => 'users', 'field' => 'email', 'adapter' => $this->getServiceLocator()->get('Zend\\Db\\Adapter\\Adapter'), 'exclude' => array('field' => 'id', 'value' => $id)))); //echo '<pre>'; print_r($user->getInputFilter()->get('email')); exit; $user_form->setInputFilter($user->getInputFilter()); $user_form->setData($request->getPost()); if ($user_form->isValid()) { //echo '<pre>'; print_r($this->errors); exit; $this->getUsersTable()->saveUser($user_form->getData(), '', $request->getPost('service_language_id')); $this->flashMessenger()->addSuccessMessage('User updated successfully..!!'); // Redirect to list of pages return $this->redirect()->toRoute('admin/users'); } else { $this->errors = $user_form->getMessages(); } } return array('id' => $id, 'errors' => $this->errors, 'user_form' => $user_form); }