/**
  * @param \Abra\Cadabra\Domain\Model\FrontendUser $frontendUser
  * @param string $type
  *
  * @return \Abra\Cadabra\Domain\Model\Basket
  */
 public function findByFrontendUserAndType($frontendUser, $type)
 {
     $query = $this->createQuery();
     $query->matching($query->logicalAnd(array($query->equals('frontendUser', $frontendUser->getUid()), $query->equals('type', $type))));
     return $query->execute()->getFirst();
 }
 /**
  * @param \Abra\Cadabra\Domain\Model\FrontendUser $user
  *
  * @return void
  */
 protected function authenticateUser($user)
 {
     /**
      * @TODO: Refactoring needed?!
      */
     $this->getTsfeFeUser()->checkPid = '';
     $this->getTsfeFeUser()->forceSetCookie = TRUE;
     $info = $this->getTsfeFeUser()->getAuthInfoArray();
     $feUser = $this->getTsfeFeUser()->fetchUserRecord($info['db_user'], $user->getUsername());
     $this->getTsfeFeUser()->createUserSession($feUser);
     $this->getTsfeFeUser()->user = $this->getTsfeFeUser()->fetchUserSession();
     $this->getTsfeFeUser()->setAndSaveSessionData('temporaryUser', true);
     \TYPO3\CMS\Core\Utility\HttpUtility::redirect(\TYPO3\CMS\Core\Utility\GeneralUtility::getIndpEnv('REQUEST_URI'));
 }