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; }