Example #1
0
 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;
 }
 public function addUserAction()
 {
     $this->auth();
     $userTable = new UserTable($this->getServiceLocator()->get('dbAdapter'));
     $request = $this->getRequest();
     $form = new UserForm();
     $form->setInputFilter(new UserFilter());
     $form->setData($request->getPost());
     if (!$form->isValid()) {
         $users = $userTable->fetchAll();
         $model = new ViewModel(array('error' => true, 'form' => $form, 'users' => $users));
         $model->setTemplate('admin/admin/users');
         return $model;
     }
     $data = $form->getData();
     $user = new User();
     $user->exchangeArray($data);
     $userTable->saveUser($user);
     return $this->redirect()->toUrl('/admin/users');
 }
 function loginAction()
 {
     //$this->layout('login/layout');	// Cái này dùng để custom lại layout cho action
     $form = new UserForm();
     $form->get('submit')->setValue('Login');
     $resultLogin = NULL;
     /** Gọi Đối tượng Request */
     $request = $this->getRequest();
     if ($request->isPost()) {
         $user = new User();
         $inputFilter = $user->getInputFilter();
         $form->setInputFilter($inputFilter);
         $form->setData($request->getPost());
         if ($form->isValid()) {
             /** Nếu như form được điền hợp lệ
             				Nó sẽ fill data vào Entity User */
             $user->exchangeArray($form->getData());
             $resultLogin = $this->getUserTable()->loginByAdapter($user, $this->getAdapter());
             if ($resultLogin->count()) {
                 $this->redirect()->toRoute('admin');
             }
         }
     }
     /** Gọi đối tượng Session */
     $session = new Container();
     $session->endTime;
     $session->endTime = (double) array_sum(explode(' ', microtime()));
     if (isset($this->getRequest()->getCookie()->cookieName)) {
         $cookieValue = $this->getRequest()->getCookie()->cookieName;
     } else {
         $cookie = new SetCookie('cookieName', 'cookieValue', time() + 60 * 60 * 24 * 1);
         $this->getResponse()->getHeaders()->addHeader($cookie);
     }
     return array('time' => $session->endTime, 'form' => $form, 'resultLogin' => $resultLogin);
 }
 public function updateAction()
 {
     $id = $this->params()->fromRoute('id');
     if (!$id) {
         return $this->redirect()->toRoute('admin/default', array('controller' => 'admin', 'action' => 'index'));
     }
     $form = new UserForm();
     $request = $this->getRequest();
     if ($request->isPost()) {
         $form->setInputFilter(new UserFilter());
         $form->setData($request->getPost());
         if ($form->isValid()) {
             $data = $form->getData();
             unset($data['submit']);
             if (empty($data['usr_registration_date'])) {
                 $data['usr_registration_date'] = '2013-07-19 12:00:00';
             }
             $this->getUsersTable()->update($data, array('usr_id' => $id));
             return $this->redirect()->toRoute('admin/default', array('controller' => 'admin', 'action' => 'index'));
         }
     } else {
         $form->setData($this->getUsersTable()->select(array('usr_id' => $id))->current());
     }
     return new ViewModel(array('form' => $form, 'id' => $id));
 }
Example #5
0
 public function editAction()
 {
     $form = new \Admin\Form\UserForm();
     $id = (int) $this->params()->fromRoute('id', 0);
     if ($id > 0) {
         $model = $this->getObjectManager()->find($this->_modelName, $id);
         $form->setData($model->toArray());
         $form->setAttribute('action', '/admin/' . $this->_modelAlias . '/edit/' . $id);
         $form->get('submit')->setAttribute('value', 'Edit');
         $model->setUpdatedDate(new \DateTime());
         $viewVariables['action'] = 'Edit';
     } else {
         $model = new User();
         $form->setAttribute('action', '/admin/' . $this->_modelAlias . '/add');
         $form->get('submit')->setAttribute('value', 'Add');
         $model->setCreatedDate(new \DateTime());
         $viewVariables['action'] = 'Add';
     }
     $request = $this->getRequest();
     if ($request->isPost()) {
         $form->setData($request->getPost());
         $model->setEmail($request->getPost()->email);
         $model->setName($request->getPost()->name);
         $model->setRole($request->getPost()->role);
         if (!empty($request->getPost()->password)) {
             $model->setPassword($request->getPost()->password);
         }
         if ($form->isValid()) {
             $this->getObjectManager()->persist($model);
             $this->getObjectManager()->flush();
             return $this->redirect()->toUrl('/admin/' . $this->_modelAlias);
         }
     }
     $viewVariables['form'] = $form;
     $viewVariables['model'] = $model;
     $this->_view->setTemplate('admin/' . $this->_modelAlias . '/edit');
     $this->_view->setVariables($viewVariables);
     return $this->_view;
 }