Fix: Avoid null pointer exception

This commit is contained in:
Björn Fromme
2023-07-05 20:50:45 +02:00
parent 3d0a1d86e6
commit 8316bdaf74
@@ -125,7 +125,10 @@ class DateService implements SingletonInterface
$filterSettings = $this->filterService->getNormalizedFilterSettings(); $filterSettings = $this->filterService->getNormalizedFilterSettings();
} }
$key = 'pricetable_'.sha1($product->getUid().$hotel->getUid().serialize($filterSettings).$date ? $date->getUid():0); $keyValues = $product->getUid().$hotel->getUid().serialize($filterSettings);
$keyValues.= $date ? $date->getUid() : 0;
$key = 'pricetable_'.sha1($keyValues);
if (false === $priceTableData = $this->cache->get($key)) { if (false === $priceTableData = $this->cache->get($key)) {
$priceTableData = $this->productRepository->getPricetable($product, $hotel, $filterSettings, $date); $priceTableData = $this->productRepository->getPricetable($product, $hotel, $filterSettings, $date);
$this->cache->set($key, $priceTableData, ['ep_products'], self::CACHE_TTL); $this->cache->set($key, $priceTableData, ['ep_products'], self::CACHE_TTL);
@@ -147,10 +150,13 @@ class DateService implements SingletonInterface
{ {
$resolver->setRequired(['product', 'hotel']); $resolver->setRequired(['product', 'hotel']);
$resolver->setDefined(['filterSettings', 'date', 'paCode']); $resolver->setDefined(['filterSettings', 'date', 'paCode']);
$resolver->setDefault('template', 'base'); $resolver->setDefaults([
'template' => 'base',
'date' => null,
]);
$resolver->setAllowedTypes('product', Product::class); $resolver->setAllowedTypes('product', Product::class);
$resolver->setAllowedTypes('hotel', Hotel::class); $resolver->setAllowedTypes('hotel', Hotel::class);
$resolver->setAllowedTypes('date', Date::class); $resolver->setAllowedTypes('date', [Date::class, 'null']);
} }
public function getDatesTable(array $options): array public function getDatesTable(array $options): array