/** * @param \Symfony\Component\HttpFoundation\Request $request * * @return array|\Symfony\Component\HttpFoundation\RedirectResponse */ public function updateAction(Request $request) { $idUser = $this->castId($request->get(self::PARAM_ID_USER)); if (empty($idUser)) { $this->addErrorMessage('Missing user id!'); return $this->redirectResponse(self::USER_LISTING_URL); } $dataProvider = $this->getFactory()->createUserUpdateFormDataProvider(); $userForm = $this->getFactory()->createUpdateUserForm($dataProvider->getData($idUser), $dataProvider->getOptions())->handleRequest($request); if ($userForm->isValid()) { $formData = $userForm->getData(); $userTransfer = new UserTransfer(); $userTransfer->fromArray($formData, true); $userTransfer->setIdUser($idUser); $this->getFacade()->updateUser($userTransfer); $this->deleteAclGroups($idUser); $this->addAclGroups($formData, $userTransfer); $this->addSuccessMessage('User updated.'); return $this->redirectResponse(self::USER_LISTING_URL); } return $this->viewResponse(['userForm' => $userForm->createView(), 'idUser' => $idUser]); }
/** * @return \Generated\Shared\Transfer\CollectionTransfer */ public function getSystemUsers() { $systemUser = $this->settings->getSystemUsers(); $collection = new CollectionTransfer(); foreach ($systemUser as $username) { $transferUser = new UserTransfer(); // TODO why setting the id? why is everything the username? $transferUser->setIdUser(0); $transferUser->setFirstName($username)->setLastName($username)->setUsername($username)->setPassword($username); $collection->addUser($transferUser); } return $collection; }