/** * @test */ public function setAdditionalPersonsSetsAdditionalPersons() { $additionalPersons = new tx_oelib_List(); $this->fixture->setAdditionalPersons($additionalPersons); self::assertSame($additionalPersons, $this->fixture->getAdditionalPersons()); }
/** * Creates additional attendees as FE users and adds them to $registration. * * @param tx_seminars_Model_Registration $registration * * @return void */ protected function createAdditionalAttendees(tx_seminars_Model_Registration $registration) { $allPersonsData = $this->getAdditionalRegisteredPersonsData(); if (empty($allPersonsData)) { return; } /** @var $userMapper tx_seminars_Mapper_FrontEndUser */ $userMapper = tx_oelib_MapperRegistry::get('tx_seminars_Mapper_FrontEndUser'); $pageUid = $this->getConfValueInteger('sysFolderForAdditionalAttendeeUsersPID', 's_registration'); /** @var $userGroupMapper tx_seminars_Mapper_FrontEndUserGroup */ $userGroupMapper = tx_oelib_MapperRegistry::get('tx_seminars_Mapper_FrontEndUserGroup'); /** @var Tx_Oelib_List $userGroups */ $userGroups = t3lib_div::makeInstance('Tx_Oelib_List'); $userGroupUids = t3lib_div::intExplode(',', $this->getConfValueString('userGroupUidsForAdditionalAttendeesFrontEndUsers', 's_registration'), TRUE); foreach ($userGroupUids as $uid) { /** @var tx_seminars_Model_FrontEndUserGroup $userGroup */ $userGroup = $userGroupMapper->find($uid); $userGroups->add($userGroup); } /** @var $additionalPersons Tx_Oelib_List */ $additionalPersons = $registration->getAdditionalPersons(); /** @var $personData array */ foreach ($allPersonsData as $personData) { /** @var tx_seminars_Model_FrontEndUser $user */ $user = t3lib_div::makeInstance('tx_seminars_Model_FrontEndUser'); $user->setPageUid($pageUid); $user->setPassword(t3lib_div::getRandomHexString(8)); $eMailAddress = $personData[3]; $user->setEMailAddress($eMailAddress); $isUnique = FALSE; $suffixCounter = 0; do { $userName = $eMailAddress; if ($suffixCounter > 0) { $userName .= '-' . $suffixCounter; } try { $userMapper->findByUserName($userName); } catch (tx_oelib_Exception_NotFound $exception) { $isUnique = TRUE; } $suffixCounter++; } while (!$isUnique); $user->setUserName($userName); $user->setUserGroups($userGroups); $user->setFirstName($personData[0]); $user->setLastName($personData[1]); $user->setName($personData[0] . ' ' . $personData[1]); $user->setJobTitle($personData[2]); $additionalPersons->add($user); } /** @var tx_seminars_Mapper_Registration $registrationMapper */ $registrationMapper = tx_oelib_MapperRegistry::get('tx_seminars_Mapper_Registration'); $registrationMapper->save($registration); }