Exemplo n.º 1
0
 /**
  * @test
  */
 public function setAdditionalPersonsSetsAdditionalPersons()
 {
     $additionalPersons = new tx_oelib_List();
     $this->fixture->setAdditionalPersons($additionalPersons);
     self::assertSame($additionalPersons, $this->fixture->getAdditionalPersons());
 }
Exemplo n.º 2
0
 /**
  * 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);
 }