Error 500 Internal Server Error

GET https://proklima.greendot.cz/en/poptavka/help_with_choice/53&amp

Forwarded to ErrorController (8fd4a5)

Exceptions

App\Repository\CategoryRepository::getProductEshopCategory(): Argument #1 ($product) must be of type Greendot\EshopBundle\Entity\Project\Product|int|null, string given, called in /var/projects/proklima/src/Form/InquiryFormTrait.php on line 14

Exception

TypeError

  1. $result->andWhere('c.id > 10');
  2. }
  3. return $result->getQuery()->getResult();
  4. }
  5. public function getProductEshopCategory(Product|int|null $product): ?Category
  6. {
  7. if ($product === null) return null;
  8. $product = $product instanceof Product ? $product->getId() : $product;
  9. return $this->createQueryBuilder('c')
CategoryRepository->getProductEshopCategory() in src/Form/InquiryFormTrait.php (line 14)
  1. trait InquiryFormTrait
  2. {
  3. private function resolveSelectedCategory(CategoryRepository $categoryRepository, $selectedProduct): ?Category
  4. {
  5. if ($selectedProduct) {
  6. $selectedCategory = $categoryRepository->getProductEshopCategory($selectedProduct);
  7. $selectedCategory?->getCategoryType()?->getId() === CategoryTypeEnum::CatalogCategory->value
  8. ?: $selectedCategory = $categoryRepository->findMenuCategoryByCategory($selectedCategory);
  9. } else {
  10. $selectedCategory = null;
  11. }
HelpWithChoiceInquiryFormType->resolveSelectedCategory() in src/Form/HelpWithChoiceInquiryFormType.php (line 50)
  1. $builder
  2. ->add('productType', ProductTypeSelectType::class, [
  3. 'label' => $this->translator->trans('O jaký typ produktu se jedná?'),
  4. 'required' => false,
  5. 'data' => $this->resolveSelectedCategory($this->categoryRepository, $options['selectedProduct']),
  6. 'include_in_email' => true,
  7. ])
  8. ->add('preferredBranch', EntityType::class, [
  9. 'label' => $this->translator->trans('Preferovaná pobočka'),
  10. 'class' => Category::class,
  1. public function buildForm(FormBuilderInterface $builder, array $options): void
  2. {
  3. $this->parent?->buildForm($builder, $options);
  4. $this->innerType->buildForm($builder, $options);
  5. foreach ($this->typeExtensions as $extension) {
  6. $extension->buildForm($builder, $options);
  7. }
  8. }
  1. return $this->proxiedType->createView($form, $parent);
  2. }
  3. public function buildForm(FormBuilderInterface $builder, array $options): void
  4. {
  5. $this->proxiedType->buildForm($builder, $options);
  6. }
  7. public function buildView(FormView $view, FormInterface $form, array $options): void
  8. {
  9. $this->proxiedType->buildView($view, $form, $options);
in vendor/symfony/form/FormFactory.php -> buildForm (line 56)
  1. $builder = $type->createBuilder($this, $name, $options);
  2. // Explicitly call buildForm() in order to be able to override either
  3. // createBuilder() or buildForm() in the resolved form type
  4. $type->buildForm($builder, $builder->getOptions());
  5. return $builder;
  6. }
  7. public function createBuilderForProperty(string $class, string $property, mixed $data = null, array $options = []): FormBuilderInterface
in vendor/symfony/form/FormFactory.php -> createNamedBuilder (line 41)
  1. return $this->createBuilderForProperty($class, $property, $data, $options)->getForm();
  2. }
  3. public function createBuilder(string $type = FormType::class, mixed $data = null, array $options = []): FormBuilderInterface
  4. {
  5. return $this->createNamedBuilder($this->registry->getType($type)->getBlockPrefix(), $type, $data, $options);
  6. }
  7. public function createNamedBuilder(string $name, string $type = FormType::class, mixed $data = null, array $options = []): FormBuilderInterface
  8. {
  9. if (null !== $data && !\array_key_exists('data', $options)) {
in vendor/symfony/form/FormFactory.php -> createBuilder (line 26)
  1. ) {
  2. }
  3. public function create(string $type = FormType::class, mixed $data = null, array $options = []): FormInterface
  4. {
  5. return $this->createBuilder($type, $data, $options)->getForm();
  6. }
  7. public function createNamed(string $name, string $type = FormType::class, mixed $data = null, array $options = []): FormInterface
  8. {
  9. return $this->createNamedBuilder($name, $type, $data, $options)->getForm();
  1. /**
  2. * Creates and returns a Form instance from the type of the form.
  3. */
  4. protected function createForm(string $type, mixed $data = null, array $options = []): FormInterface
  5. {
  6. return $this->container->get('form.factory')->create($type, $data, $options);
  7. }
  8. /**
  9. * Creates and returns a form builder instance.
  10. */
AbstractController->createForm() in src/Controller/Global/InquiryController.php (line 43)
  1. $standalone = $request->query->getBoolean('standalone');
  2. }
  3. $inquiry = $this->inquiryResolver->getInquiryForm($formMessageType);
  4. $form = $this->createForm($inquiry::class, null, [
  5. 'attr' => ['product-selected' => $selectedProduct ? 'true' : 'false'],
  6. 'selectedProduct' => $selectedProduct,
  7. InquiryFormType::OPTION_FORM_MESSAGE_TYPE => $formMessageType,
  8. InquiryFormType::OPTION_IS_STANDALONE => $standalone ? '1' : '0',
  9. ]);
in vendor/symfony/http-kernel/HttpKernel.php -> inquiryForm (line 183)
  1. $this->dispatcher->dispatch($event, KernelEvents::CONTROLLER_ARGUMENTS);
  2. $controller = $event->getController();
  3. $arguments = $event->getArguments();
  4. // call controller
  5. $response = $controller(...$arguments);
  6. // view
  7. if (!$response instanceof Response) {
  8. $event = new ViewEvent($this, $request, $type, $response, $event);
  9. $this->dispatcher->dispatch($event, KernelEvents::VIEW);
  1. $request->headers->set('X-Php-Ob-Level', (string) ob_get_level());
  2. $this->requestStack->push($request);
  3. $response = null;
  4. try {
  5. return $response = $this->handleRaw($request, $type);
  6. } catch (\Throwable $e) {
  7. if ($e instanceof \Error && !$this->handleAllThrowables) {
  8. throw $e;
  9. }
  1. if (!$this->handlingHttpCache) {
  2. $this->resetServices = true;
  3. }
  4. try {
  5. return $this->getHttpKernel()->handle($request, $type, $catch);
  6. } finally {
  7. --$this->requestStackSize;
  8. }
  9. }
  1. ) {
  2. }
  3. public function run(): int
  4. {
  5. $response = $this->kernel->handle($this->request);
  6. if (Kernel::VERSION_ID >= 60400) {
  7. $response->send(false);
  8. if (\function_exists('fastcgi_finish_request') && !$this->debug) {
in vendor/autoload_runtime.php -> run (line 29)
  1. $app = $app(...$args);
  2. exit(
  3. $runtime
  4. ->getRunner($app)
  5. ->run()
  6. );
require_once('/var/projects/proklima/vendor/autoload_runtime.php') in public/index.php (line 5)
  1. <?php
  2. use App\Kernel;
  3. require_once dirname(__DIR__).'/vendor/autoload_runtime.php';
  4. return function (array $context) {
  5. return new Kernel($context['APP_ENV'], (bool) $context['APP_DEBUG']);
  6. };

Logs

Level Channel Message
INFO 09:18:54 request Matched route "_profiler".
{
    "route": "_profiler",
    "route_parameters": {
        "_route": "_profiler",
        "_controller": "web_profiler.controller.profiler::panelAction",
        "token": "latest"
    },
    "request_uri": "https://proklima.greendot.cz/s/_profiler/latest?ip=40.77.167.22&type=request",
    "method": "GET"
}
INFO 09:18:54 doctrine Connecting with parameters {params}
{
    "params": {
        "use_savepoints": true,
        "driver": "pdo_mysql",
        "idle_connection_ttl": 600,
        "host": "localhost",
        "port": 3306,
        "user": "greendot",
        "password": "<redacted>",
        "driverOptions": [],
        "defaultTableOptions": {
            "collation": "utf8mb4_unicode_ci"
        },
        "dbname": "proklima_eshop",
        "charset": "utf8mb4"
    }
}
DEBUG 09:18:54 doctrine Executing statement: SELECT c0_.id AS id_0, c0_.name AS name_1, c0_.symbol AS symbol_2, c0_.rounding AS rounding_3, c0_.is_default AS is_default_4, c0_.default_locale AS default_locale_5, c0_.is_symbol_left AS is_symbol_left_6, c0_.is_deleted AS is_deleted_7 FROM currency c0_ WHERE c0_.default_locale = ? LIMIT 1 (parameters: {params}, types: {types})
{
    "sql": "SELECT c0_.id AS id_0, c0_.name AS name_1, c0_.symbol AS symbol_2, c0_.rounding AS rounding_3, c0_.is_default AS is_default_4, c0_.default_locale AS default_locale_5, c0_.is_symbol_left AS is_symbol_left_6, c0_.is_deleted AS is_deleted_7 FROM currency c0_ WHERE c0_.default_locale = ? LIMIT 1",
    "params": {
        "1": "cs"
    },
    "types": {
        "1": 2
    }
}
DEBUG 09:18:54 security Checking for authenticator support.
{
    "firewall_name": "main",
    "authenticators": 6
}
DEBUG 09:18:54 security Checking support on authenticator.
{
    "firewall_name": "main",
    "authenticator": "Symfony\\Component\\Security\\Http\\Authenticator\\Debug\\TraceableAuthenticator"
}
DEBUG 09:18:54 security Authenticator does not support the request.
{
    "firewall_name": "main",
    "authenticator": "Symfony\\Component\\Security\\Http\\Authenticator\\Debug\\TraceableAuthenticator"
}
DEBUG 09:18:54 security Checking support on authenticator.
{
    "firewall_name": "main",
    "authenticator": "Symfony\\Component\\Security\\Http\\Authenticator\\Debug\\TraceableAuthenticator"
}
DEBUG 09:18:54 security Authenticator does not support the request.
{
    "firewall_name": "main",
    "authenticator": "Symfony\\Component\\Security\\Http\\Authenticator\\Debug\\TraceableAuthenticator"
}
DEBUG 09:18:54 security Checking support on authenticator.
{
    "firewall_name": "main",
    "authenticator": "Symfony\\Component\\Security\\Http\\Authenticator\\Debug\\TraceableAuthenticator"
}
DEBUG 09:18:54 security Authenticator does not support the request.
{
    "firewall_name": "main",
    "authenticator": "Symfony\\Component\\Security\\Http\\Authenticator\\Debug\\TraceableAuthenticator"
}
DEBUG 09:18:54 security Checking support on authenticator.
{
    "firewall_name": "main",
    "authenticator": "Symfony\\Component\\Security\\Http\\Authenticator\\Debug\\TraceableAuthenticator"
}
DEBUG 09:18:54 security Authenticator does not support the request.
{
    "firewall_name": "main",
    "authenticator": "Symfony\\Component\\Security\\Http\\Authenticator\\Debug\\TraceableAuthenticator"
}
DEBUG 09:18:54 security Checking support on authenticator.
{
    "firewall_name": "main",
    "authenticator": "Symfony\\Component\\Security\\Http\\Authenticator\\Debug\\TraceableAuthenticator"
}
DEBUG 09:18:54 security Authenticator does not support the request.
{
    "firewall_name": "main",
    "authenticator": "Symfony\\Component\\Security\\Http\\Authenticator\\Debug\\TraceableAuthenticator"
}
DEBUG 09:18:54 security Checking support on authenticator.
{
    "firewall_name": "main",
    "authenticator": "Symfony\\Component\\Security\\Http\\Authenticator\\Debug\\TraceableAuthenticator"
}
DEBUG 09:18:54 security Authenticator does not support the request.
{
    "firewall_name": "main",
    "authenticator": "Symfony\\Component\\Security\\Http\\Authenticator\\Debug\\TraceableAuthenticator"
}
DEBUG 09:18:54 event Notified event "kernel.request" to listener "Symfony\Component\HttpKernel\EventListener\DebugHandlersListener::configure".
{
    "event": "kernel.request",
    "listener": "Symfony\\Component\\HttpKernel\\EventListener\\DebugHandlersListener::configure"
}
DEBUG 09:18:54 event Notified event "kernel.request" to listener "Symfony\Component\HttpKernel\EventListener\ValidateRequestListener::onKernelRequest".
{
    "event": "kernel.request",
    "listener": "Symfony\\Component\\HttpKernel\\EventListener\\ValidateRequestListener::onKernelRequest"
}
DEBUG 09:18:54 event Notified event "kernel.request" to listener "Symfony\Bridge\Doctrine\Middleware\IdleConnection\Listener::onKernelRequest".
{
    "event": "kernel.request",
    "listener": "Symfony\\Bridge\\Doctrine\\Middleware\\IdleConnection\\Listener::onKernelRequest"
}
DEBUG 09:18:54 event Notified event "kernel.request" to listener "Symfony\Component\HttpKernel\EventListener\SessionListener::onKernelRequest".
{
    "event": "kernel.request",
    "listener": "Symfony\\Component\\HttpKernel\\EventListener\\SessionListener::onKernelRequest"
}
DEBUG 09:18:54 event Notified event "kernel.request" to listener "Symfony\Component\HttpKernel\EventListener\LocaleListener::setDefaultLocale".
{
    "event": "kernel.request",
    "listener": "Symfony\\Component\\HttpKernel\\EventListener\\LocaleListener::setDefaultLocale"
}
DEBUG 09:18:54 event Notified event "kernel.request" to listener "Symfony\Component\HttpKernel\EventListener\RouterListener::onKernelRequest".
{
    "event": "kernel.request",
    "listener": "Symfony\\Component\\HttpKernel\\EventListener\\RouterListener::onKernelRequest"
}
DEBUG 09:18:54 event Notified event "kernel.request" to listener "Greendot\EshopBundle\I18n\ApiLocaleListener::onKernelRequest".
{
    "event": "kernel.request",
    "listener": "Greendot\\EshopBundle\\I18n\\ApiLocaleListener::onKernelRequest"
}
DEBUG 09:18:54 event Notified event "kernel.request" to listener "Symfony\Component\HttpKernel\EventListener\LocaleListener::onKernelRequest".
{
    "event": "kernel.request",
    "listener": "Symfony\\Component\\HttpKernel\\EventListener\\LocaleListener::onKernelRequest"
}
DEBUG 09:18:54 event Notified event "kernel.request" to listener "Greendot\EshopBundle\EventSubscriber\Decorated\LocaleAwareListenerDecorator::onKernelRequest".
{
    "event": "kernel.request",
    "listener": "Greendot\\EshopBundle\\EventSubscriber\\Decorated\\LocaleAwareListenerDecorator::onKernelRequest"
}
DEBUG 09:18:54 event Notified event "kernel.request" to listener "Symfony\Bundle\SecurityBundle\Debug\TraceableFirewallListener::configureLogoutUrlGenerator".
{
    "event": "kernel.request",
    "listener": "Symfony\\Bundle\\SecurityBundle\\Debug\\TraceableFirewallListener::configureLogoutUrlGenerator"
}
DEBUG 09:18:54 event Notified event "kernel.request" to listener "Symfony\Bundle\SecurityBundle\Debug\TraceableFirewallListener::onKernelRequest".
{
    "event": "kernel.request",
    "listener": "Symfony\\Bundle\\SecurityBundle\\Debug\\TraceableFirewallListener::onKernelRequest"
}
DEBUG 09:18:54 event Notified event "kernel.request" to listener "Knp\Bundle\PaginatorBundle\Subscriber\SlidingPaginationSubscriber::onKernelRequest".
{
    "event": "kernel.request",
    "listener": "Knp\\Bundle\\PaginatorBundle\\Subscriber\\SlidingPaginationSubscriber::onKernelRequest"
}
DEBUG 09:18:54 doctrine Executing statement: SELECT s0_.value AS value_0 FROM settings s0_ WHERE s0_.name = ? ORDER BY s0_.name ASC LIMIT 1 (parameters: {params}, types: {types})
{
    "sql": "SELECT s0_.value AS value_0 FROM settings s0_ WHERE s0_.name = ? ORDER BY s0_.name ASC LIMIT 1",
    "params": {
        "1": "after_registration_discount"
    },
    "types": {
        "1": 2
    }
}
DEBUG 09:18:54 event Notified event "kernel.controller" to listener "Symfony\Bundle\FrameworkBundle\DataCollector\RouterDataCollector::onKernelController".
{
    "event": "kernel.controller",
    "listener": "Symfony\\Bundle\\FrameworkBundle\\DataCollector\\RouterDataCollector::onKernelController"
}
DEBUG 09:18:54 event Notified event "kernel.controller" to listener "Nzo\UrlEncryptorBundle\Annotations\AnnotationResolver::onKernelController".
{
    "event": "kernel.controller",
    "listener": "Nzo\\UrlEncryptorBundle\\Annotations\\AnnotationResolver::onKernelController"
}
DEBUG 09:18:54 event Notified event "kernel.controller" to listener "Symfony\Component\HttpKernel\DataCollector\RequestDataCollector::onKernelController".
{
    "event": "kernel.controller",
    "listener": "Symfony\\Component\\HttpKernel\\DataCollector\\RequestDataCollector::onKernelController"
}
DEBUG 09:18:54 event Notified event "kernel.controller" to listener "Greendot\EshopBundle\EventSubscriber\BeforeControllerListener::onKernelController".
{
    "event": "kernel.controller",
    "listener": "Greendot\\EshopBundle\\EventSubscriber\\BeforeControllerListener::onKernelController"
}
DEBUG 09:18:54 event Notified event "kernel.controller" to listener "Greendot\EshopBundle\EventSubscriber\DisableListenersSubscriber::onKernelController".
{
    "event": "kernel.controller",
    "listener": "Greendot\\EshopBundle\\EventSubscriber\\DisableListenersSubscriber::onKernelController"
}
DEBUG 09:18:54 event Notified event "kernel.controller" to listener "Greendot\EshopBundle\EventSubscriber\AnonymousClientLogoutListener::onKernelController".
{
    "event": "kernel.controller",
    "listener": "Greendot\\EshopBundle\\EventSubscriber\\AnonymousClientLogoutListener::onKernelController"
}
DEBUG 09:18:54 event Notified event "kernel.controller_arguments" to listener "Symfony\Component\Security\Http\EventListener\IsCsrfTokenValidAttributeListener::onKernelControllerArguments".
{
    "event": "kernel.controller_arguments",
    "listener": "Symfony\\Component\\Security\\Http\\EventListener\\IsCsrfTokenValidAttributeListener::onKernelControllerArguments"
}
DEBUG 09:18:54 event Notified event "kernel.controller_arguments" to listener "Symfony\Component\Security\Http\EventListener\IsGrantedAttributeListener::onKernelControllerArguments".
{
    "event": "kernel.controller_arguments",
    "listener": "Symfony\\Component\\Security\\Http\\EventListener\\IsGrantedAttributeListener::onKernelControllerArguments"
}
DEBUG 09:18:54 event Notified event "kernel.controller_arguments" to listener "Symfony\Component\HttpKernel\EventListener\CacheAttributeListener::onKernelControllerArguments".
{
    "event": "kernel.controller_arguments",
    "listener": "Symfony\\Component\\HttpKernel\\EventListener\\CacheAttributeListener::onKernelControllerArguments"
}
DEBUG 09:18:54 event Notified event "kernel.controller_arguments" to listener "ContainerXoUkwCr\RequestPayloadValueResolverGhost01ca9cc::onKernelControllerArguments".
{
    "event": "kernel.controller_arguments",
    "listener": "ContainerXoUkwCr\\RequestPayloadValueResolverGhost01ca9cc::onKernelControllerArguments"
}
DEBUG 09:18:54 event Notified event "kernel.controller_arguments" to listener "Symfony\Component\HttpKernel\EventListener\ErrorListener::onControllerArguments".
{
    "event": "kernel.controller_arguments",
    "listener": "Symfony\\Component\\HttpKernel\\EventListener\\ErrorListener::onControllerArguments"
}

Stack Trace

TypeError
TypeError:
App\Repository\CategoryRepository::getProductEshopCategory(): Argument #1 ($product) must be of type Greendot\EshopBundle\Entity\Project\Product|int|null, string given, called in /var/projects/proklima/src/Form/InquiryFormTrait.php on line 14

  at src/Repository/CategoryRepository.php:145
  at App\Repository\CategoryRepository->getProductEshopCategory()
     (src/Form/InquiryFormTrait.php:14)
  at App\Form\HelpWithChoiceInquiryFormType->resolveSelectedCategory()
     (src/Form/HelpWithChoiceInquiryFormType.php:50)
  at App\Form\HelpWithChoiceInquiryFormType->buildForm()
     (vendor/symfony/form/ResolvedFormType.php:96)
  at Symfony\Component\Form\ResolvedFormType->buildForm()
     (vendor/symfony/form/Extension/DataCollector/Proxy/ResolvedTypeDataCollectorProxy.php:73)
  at Symfony\Component\Form\Extension\DataCollector\Proxy\ResolvedTypeDataCollectorProxy->buildForm()
     (vendor/symfony/form/FormFactory.php:56)
  at Symfony\Component\Form\FormFactory->createNamedBuilder()
     (vendor/symfony/form/FormFactory.php:41)
  at Symfony\Component\Form\FormFactory->createBuilder()
     (vendor/symfony/form/FormFactory.php:26)
  at Symfony\Component\Form\FormFactory->create()
     (vendor/symfony/framework-bundle/Controller/AbstractController.php:355)
  at Symfony\Bundle\FrameworkBundle\Controller\AbstractController->createForm()
     (src/Controller/Global/InquiryController.php:43)
  at App\Controller\Global\InquiryController->inquiryForm()
     (vendor/symfony/http-kernel/HttpKernel.php:183)
  at Symfony\Component\HttpKernel\HttpKernel->handleRaw()
     (vendor/symfony/http-kernel/HttpKernel.php:76)
  at Symfony\Component\HttpKernel\HttpKernel->handle()
     (vendor/symfony/http-kernel/Kernel.php:193)
  at Symfony\Component\HttpKernel\Kernel->handle()
     (vendor/symfony/runtime/Runner/Symfony/HttpKernelRunner.php:35)
  at Symfony\Component\Runtime\Runner\Symfony\HttpKernelRunner->run()
     (vendor/autoload_runtime.php:29)
  at require_once('/var/projects/proklima/vendor/autoload_runtime.php')
     (public/index.php:5)