Thanks to visit codestin.com
Credit goes to github.com

Skip to content

[Bug]: DataObject OptionsProvider with dynamic options throws exception #16355

@martinkaucic

Description

@martinkaucic

Pimcore version

11.1.3

Steps to reproduce

  1. add Select attribute to any DataObject class
  2. create options provider for Select field and return false in hasStaticOptions method implemented by \Pimcore\Model\DataObject\ClassDefinition\DynamicOptionsProvider\SelectOptionsProviderInterface interface
  3. on select attribute set Options source to Options Provider and set Options Provider Class or Service Name to options provider class path
  4. create new object
  5. try to select options in select attribute

Actual Behavior

Pimcore throws exception No route found for "GET http://bigbang-upgrade.pim.localhost/admin/object/get-select-options": Method Not Allowed (Allow: POST)

image

problem is in \Pimcore\Bundle\AdminBundle\Controller\Admin\DataObject\DataObjectController::getSelectOptions method which only allows POST request but Pimcore UI makes GET request to get dynamic options

exception stacktrace:

Status: 405 | Method Not Allowed
URL: /admin/object/get-select-options
Message: No route found for "GET http://pimcore.localhost/admin/object/get-select-options": Method Not Allowed (Allow: POST)
Trace:
in /var/www/html/vendor/symfony/http-kernel/EventListener/RouterListener.php:131
#0 /var/www/html/vendor/symfony/event-dispatcher/Debug/WrappedListener.php(116): Symfony\Component\HttpKernel\EventListener\RouterListener->onKernelRequest(Object(Symfony\Component\HttpKernel\Event\RequestEvent), 'kernel.request', Object(Symfony\Component\HttpKernel\Debug\TraceableEventDispatcher))
#1 /var/www/html/vendor/symfony/event-dispatcher/EventDispatcher.php(220): Symfony\Component\EventDispatcher\Debug\WrappedListener->__invoke(Object(Symfony\Component\HttpKernel\Event\RequestEvent), 'kernel.request', Object(Symfony\Component\HttpKernel\Debug\TraceableEventDispatcher))
#2 /var/www/html/vendor/symfony/event-dispatcher/EventDispatcher.php(56): Symfony\Component\EventDispatcher\EventDispatcher->callListeners(Array, 'kernel.request', Object(Symfony\Component\HttpKernel\Event\RequestEvent))
#3 /var/www/html/vendor/symfony/event-dispatcher/Debug/TraceableEventDispatcher.php(139): Symfony\Component\EventDispatcher\EventDispatcher->dispatch(Object(Symfony\Component\HttpKernel\Event\RequestEvent), 'kernel.request')
#4 /var/www/html/vendor/symfony/http-kernel/HttpKernel.php(157): Symfony\Component\EventDispatcher\Debug\TraceableEventDispatcher->dispatch(Object(Symfony\Component\HttpKernel\Event\RequestEvent), 'kernel.request')
#5 /var/www/html/vendor/symfony/http-kernel/HttpKernel.php(76): Symfony\Component\HttpKernel\HttpKernel->handleRaw(Object(Symfony\Component\HttpFoundation\Request), 1)
#6 /var/www/html/vendor/symfony/http-kernel/Kernel.php(197): Symfony\Component\HttpKernel\HttpKernel->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#7 /var/www/html/public/index.php(36): Symfony\Component\HttpKernel\Kernel->handle(Object(Symfony\Component\HttpFoundation\Request))
#8 {main}

Expected Behavior

offer select options provided by options provider

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions