Exemplo n.º 1
0
 public function updateAction()
 {
     $userForm = new Admin_Form_Users();
     $userForm->setAction('/admin/users/update')->setMethod('post');
     $userForm->disableUsernameInput();
     $userForm->disableRequiredOnPassword();
     if ($this->_request->isPost()) {
         // get params from $_POST
         $id = $this->_request->getParam('user_id');
         $isPasswordChanged = $this->_request->getParam('isPasswordChanged');
         $roles = $this->_request->getParam('roles');
         if ($userForm->isValid($_POST)) {
             $userData = $userForm->getValues();
             $userModel = new Admin_Model_Users();
             $userModel->updateUser($userData['user_id'], $userData['newUsername'], $userData['password'], $isPasswordChanged);
             $roleModel = new Admin_Model_Role();
             $roleIDs = $roleModel->getRoleIDsFromRoleIDIsCheckedMap($roles);
             $userModel->updateRolesOfUser($roleIDs, $id);
             return $this->_redirect('/admin/users/list');
         }
     } else {
         // get userID from link you clicked
         $id = $this->_request->getParam('id');
     }
     // populate the fields we need
     $userModel = new Admin_Model_Users();
     $userRow = $userModel->find($id)->current();
     // populate form
     $userForm->getElement('user_id')->setValue($userRow['user_id']);
     $userForm->getElement('newUsername')->setValue($userRow['username']);
     // add some needed to form
     $userForm->addIsPasswordChangedCheckbox();
     $userForm->addRoleCheckboxes($id);
     $this->view->form = $userForm;
 }