/**
  * 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);
     }
 }
Example #2
0
 /**
  * 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());
     }
 }