diff --git a/web/typo3conf/ext/ep_events/Classes/Controller/FormController.php b/web/typo3conf/ext/ep_events/Classes/Controller/FormController.php index 81bafb9b..f4bddb03 100644 --- a/web/typo3conf/ext/ep_events/Classes/Controller/FormController.php +++ b/web/typo3conf/ext/ep_events/Classes/Controller/FormController.php @@ -51,9 +51,17 @@ class FormController extends ActionController $this->view->assign('inquiry', $inquiry); } - public function configuratorAction() + /** + * @param int $travelType + * @param int $locationType + */ + public function configuratorAction($travelType = 0, $locationType = 0) { - $inquiry = $this->getInquiryFromContext(); + if ($travelType !== 0) { + $inquiry = Inquiry::fromArguments($travelType, $locationType); + } else { + $inquiry = $this->getInquiryFromContext(); + } $this->view->assign('inquiry', $inquiry); } diff --git a/web/typo3conf/ext/ep_events/Classes/DataProcessing/OfferProcessor.php b/web/typo3conf/ext/ep_events/Classes/DataProcessing/OfferProcessor.php index d88759b4..5a6937b3 100644 --- a/web/typo3conf/ext/ep_events/Classes/DataProcessing/OfferProcessor.php +++ b/web/typo3conf/ext/ep_events/Classes/DataProcessing/OfferProcessor.php @@ -78,7 +78,10 @@ class OfferProcessor implements DataProcessorInterface $configuratorType = $offer->getConfiguratorType(); /** @var \EP\EpEvents\Domain\Repository\TraveltypeRepository $repository */ $repository = $objectManager->get(TraveltypeRepository::class); - $processedData['travelType'] = $repository->findOneByConfiguratorType($configuratorType); + $processedData['traveltype'] = $repository->findOneByConfiguratorType($configuratorType); + } + if ($offer->getLocation()) { + $processedData['locationtype'] = $offer->getLocation()->getConfiguratorType(); } $processedData['search'] = GeneralUtility::_GET('search'); return $processedData; diff --git a/web/typo3conf/ext/ep_events/Classes/Domain/Model/Inquiry.php b/web/typo3conf/ext/ep_events/Classes/Domain/Model/Inquiry.php index 595cc72c..1e907ea8 100644 --- a/web/typo3conf/ext/ep_events/Classes/Domain/Model/Inquiry.php +++ b/web/typo3conf/ext/ep_events/Classes/Domain/Model/Inquiry.php @@ -185,8 +185,12 @@ class Inquiry extends AbstractValueObject public static function fromArguments($travelType = 0, $locationType = 0) { $inquiry = new self; - $inquiry->setTravelType((string) $travelType); - $inquiry->setLocationType((string) $locationType); + if ($travelType) { + $inquiry->setTravelType((string) $travelType); + } + if ($locationType) { + $inquiry->setLocationType((string) $locationType); + } return $inquiry; } diff --git a/web/typo3conf/ext/ep_events/Resources/Private/Partials/PageHeader.html b/web/typo3conf/ext/ep_events/Resources/Private/Partials/PageHeader.html index f47cace1..65f9fcc6 100644 --- a/web/typo3conf/ext/ep_events/Resources/Private/Partials/PageHeader.html +++ b/web/typo3conf/ext/ep_events/Resources/Private/Partials/PageHeader.html @@ -85,11 +85,11 @@ » Anfragen « diff --git a/web/typo3conf/realurl_conf.php b/web/typo3conf/realurl_conf.php index 6dbfe3f7..387eacfe 100644 --- a/web/typo3conf/realurl_conf.php +++ b/web/typo3conf/realurl_conf.php @@ -106,6 +106,22 @@ $GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['realurl'] = [ 'GETvar' => 'tx_epevents_contactform[travelType]', ], ], + 'events_configurator' => [ + [ + 'GETvar' => 'tx_epevents_configurator[controller]', + 'noMatch' => 'bypass', + ], + [ + 'GETvar' => 'tx_epevents_configurator[action]', + 'noMatch' => 'bypass', + ], + [ + 'GETvar' => 'tx_epevents_configurator[travelType]', + ], + [ + 'GETvar' => 'tx_epevents_configurator[locationType]', + ], + ], 'events_activity' => [ [ 'GETvar' => 'tx_epevents_activitydetail[controller]', @@ -171,6 +187,7 @@ $GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['realurl'] = [ 1473 => 'team', 1488 => 'team', 987 => 'events_contactform', + 1263 => 'events_configurator', 1300 => 'events_activity', 1444 => 'reseller', 1448 => 'reseller',