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();
}
$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)) {
$priceTableData = $this->productRepository->getPricetable($product, $hotel, $filterSettings, $date);
$this->cache->set($key, $priceTableData, ['ep_products'], self::CACHE_TTL);
@@ -147,10 +150,13 @@ class DateService implements SingletonInterface
{
$resolver->setRequired(['product', 'hotel']);
$resolver->setDefined(['filterSettings', 'date', 'paCode']);
$resolver->setDefault('template', 'base');
$resolver->setDefaults([
'template' => 'base',
'date' => null,
]);
$resolver->setAllowedTypes('product', Product::class);
$resolver->setAllowedTypes('hotel', Hotel::class);
$resolver->setAllowedTypes('date', Date::class);
$resolver->setAllowedTypes('date', [Date::class, 'null']);
}
public function getDatesTable(array $options): array