/** * Removes all frontend usergroups that were set in previous actions * * @param \Evoweb\SfRegister\Domain\Model\FrontendUser $user * @return void */ protected function removePreviousUserGroups(\Evoweb\SfRegister\Domain\Model\FrontendUser $user) { $userGroupIds = $this->getUserGroupIds(); foreach ($userGroupIds as $userGroupId) { /** @var \TYPO3\CMS\Extbase\Domain\Model\FrontendUserGroup $usergroupToRemove */ $usergroupToRemove = $this->userGroupRepository->findByUid($userGroupId); $user->removeUsergroup($usergroupToRemove); } }
/** * Fill in data to Author object * @param \Vendor\Guestbook\Domain\Model\Author $author */ private function fillInAuthData(\Vendor\Guestbook\Domain\Model\Author $author) { /** @var \TYPO3\CMS\Extbase\Domain\Model\FrontendUserGroup $feUserGroup */ $feUserGroup = $this->settings['usergroup'] ? $this->frontendUserGroupRepository->findByUid($this->settings['usergroup']) : ''; $userGroup = new \TYPO3\CMS\Extbase\Persistence\ObjectStorage(); $author->setUsergroup($userGroup); $author->getUsergroup()->attach($feUserGroup); $this->setAuthorImage($author); $author->setPassword($this->getAuthorPassword($author)); }
public function createAction(\TYPO3\CMS\Extbase\Domain\Model\FrontendUser $feUser) { //TODO prüfen ob username doppelt vergeben wird. if ($feUser->getPassword() == $this->request->getArgument('passwordConfirmation')) { $feUser->setPid($this->settings['pidFrontendUser']); $feUser->_setProperty('tx_extbase_type', 'Tx_Extbase_Domain_Model_FrontendUser'); $feUser->addUserGroup($this->frontendUserGroupRepository->findByUid($this->settings['frontendUserGroup'])); $this->frontendUserRepository->add($feUser); //it is not persistent already, we have to do it! $persistenceManager = $this->objectManager->get('TYPO3\\CMS\\Extbase\\Persistence\\Generic\\PersistenceManager'); $persistenceManager->persistAll(); //now feuser ist persistent // Message for User $GLOBALS['TSFE']->fe_user->setKey("ses", "feuserCreate", 'Der User <b>' . $feUser->getUsername() . '</b> wurde neu angelegt.'); $redirectParams['feUser'] = $feUser; $this->redirect('successUpdate', 'FrontendUser', NULL, $redirectParams); } else { $GLOBALS['TSFE']->fe_user->setKey("ses", "feuserCreate", 'Das Passwort stimmt nicht überein.'); $GLOBALS['TSFE']->fe_user->setKey("ses", "feuserData", array('username' => $feUser->getUsername())); $redirectParams['feUser'] = $feUser; $this->redirect('new', 'FrontendUser', NULL, array()); } }