Prepopulate configurator form

This commit is contained in:
Björn Fromme
2018-07-31 14:41:59 +02:00
parent 340261220c
commit 6160703361
5 changed files with 40 additions and 8 deletions
@@ -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);
}
@@ -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;
@@ -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;
}