With latest Drupal Commerce 2.10 the module fails with:

TypeError: Argument 1 passed to Drupal\commerce_cart\OrderItemMatcher::__construct() must implement interface Drupal\Core\Entity\EntityTypeManagerInterface, instance of Drupal\Component\EventDispatcher\ContainerAwareEventDispatcher given, called in /home/dmbhc/www/core/lib/Drupal/Component/DependencyInjection/Container.php on line 262 in Drupal\commerce_cart\OrderItemMatcher->__construct() (line 38 of /home/dmbhc/www/modules/contrib/commerce/modules/cart/src/OrderItemMatcher.php) #0 /home/dmbhc/www/core/lib/Drupal/Component/DependencyInjection/Container.php(262): Drupal\commerce_cart\OrderItemMatcher->__construct(Object(Drupal\Component\EventDispatcher\ContainerAwareEventDispatcher)) #1 /home/dmbhc/www/core/lib/Drupal/Component/DependencyInjection/Container.php(171): Drupal\Component\DependencyInjection\Container->createService(Array, 'commerce_quick_...') #2 /home/dmbhc/www/core/lib/Drupal/Component/DependencyInjection/Container.php(480): Drupal\Component\DependencyInjection\Container->get('commerce_quick_...', 1) #3 /home/dmbhc/www/core/lib/Drupal/Component/DependencyInjection/Container.php(230): Drupal\Component\DependencyInjection\Container->resolveServicesAndParameters(Array) #4 /home/dmbhc/www/core/lib/Drupal/Component/DependencyInjection/Container.php(171): Drupal\Component\DependencyInjection\Container->createService(Array, 'commerce_quick_...') #5 /home/dmbhc/www/modules/contrib/commerce_quick_purchase/src/Form/QuickPurchaseAddToCartForm.php(24): Drupal\Component\DependencyInjection\Container->get('commerce_quick_...') #6 /home/dmbhc/www/core/lib/Drupal/Core/DependencyInjection/ClassResolver.php(28): Drupal\commerce_quick_purchase\Form\QuickPurchaseAddToCartForm::create(Object(Drupal\Core\DependencyInjection\Container)) #7 /home/dmbhc/www/core/lib/Drupal/Core/Form/FormBuilder.php(190): Drupal\Core\DependencyInjection\ClassResolver->getInstanceFromDefinition('Drupal\\commerce...') #8 /home/dmbhc/www/core/lib/Drupal/Core/Form/FormBuilder.php(224): Drupal\Core\Form\FormBuilder->getFormId('Drupal\\commerce...', Object(Drupal\Core\Form\FormState)) #9 /home/dmbhc/www/core/lib/Drupal/Core/Form/FormBuilder.php(216): Drupal\Core\Form\FormBuilder->buildForm('Drupal\\commerce...', Object(Drupal\Core\Form\FormState)) #10 /home/dmbhc/www/modules/contrib/commerce_quick_purchase/src/Plugin/Block/QuickPurchaseAddToCartBlock.php(620): Drupal\Core\Form\FormBuilder->getForm('Drupal\\commerce...', Array) #11 /home/dmbhc/www/core/modules/block/src/BlockViewBuilder.php(203): Drupal\commerce_quick_purchase\Plugin\Block\QuickPurchaseAddToCartBlock->build() #12 [internal function]: Drupal\block\BlockViewBuilder::preRender(Array) #13 /home/dmbhc/www/core/lib/Drupal/Core/Render/Renderer.php(378): call_user_func('Drupal\\block\\Bl...', Array) #14 /home/dmbhc/www/core/lib/Drupal/Core/Render/Renderer.php(450): Drupal\Core\Render\Renderer->doRender(Array) #15 /home/dmbhc/www/core/lib/Drupal/Core/Render/Renderer.php(195): Drupal\Core\Render\Renderer->doRender(Array, false) #16 /home/dmbhc/www/core/lib/Drupal/Core/Template/TwigExtension.php(490): Drupal\Core\Render\Renderer->render(Array) #17 /home/dmbhc/www/sites/default/files/php/twig/5bd31ddd0709f_page.html.twig_u5wurMyx4yyLrcXBTHkEErVIO/HnfDmF_DlvYNbwz4NsXThqZAsX3JmsvYKpS1mFmwiQ4.php(60): Drupal\Core\Template\TwigExtension->escapeFilter(Object(Drupal\Core\Template\TwigEnvironment), Array, 'html', NULL, true) #18 /home/dmbhc/www/vendor/twig/twig/lib/Twig/Template.php(432): __TwigTemplate_e436107d8014a72a4269492c73cb4b259c88bc54c03736a1686a5d35d1b2557d->doDisplay(Array, Array) #19 /home/dmbhc/www/vendor/twig/twig/lib/Twig/Template.php(403): Twig_Template->displayWithErrorHandling(Array, Array) #20 /home/dmbhc/www/vendor/twig/twig/lib/Twig/Template.php(411): Twig_Template->display(Array) #21 /home/dmbhc/www/core/themes/engines/twig/twig.engine(64): Twig_Template->render(Array) #22 /home/dmbhc/www/core/lib/Drupal/Core/Theme/ThemeManager.php(384): twig_render_template('core/themes/bar...', Array) #23 /home/dmbhc/www/core/lib/Drupal/Core/Render/Renderer.php(437): Drupal\Core\Theme\ThemeManager->render('page', Array) #24 /home/dmbhc/www/core/lib/Drupal/Core/Render/Renderer.php(195): Drupal\Core\Render\Renderer->doRender(Array, false) #25 /home/dmbhc/www/core/lib/Drupal/Core/Template/TwigExtension.php(490): Drupal\Core\Render\Renderer->render(Array) #26 /home/dmbhc/www/sites/default/files/php/twig/5bd31ddd0709f_html.html.twig_gQv-GORxUVif_Pag4s-5z2NkO/E8L8vvCUQcSCLqU6Rso1DOU_q7LYCj9btVLC2NuXE_E.php(90): Drupal\Core\Template\TwigExtension->escapeFilter(Object(Drupal\Core\Template\TwigEnvironment), Array, 'html', NULL, true) #27 /home/dmbhc/www/vendor/twig/twig/lib/Twig/Template.php(432): __TwigTemplate_be8c7bbb9c824f2826368d7c8da984c6279779db72a67fd8056a00bb23b816f2->doDisplay(Array, Array) #28 /home/dmbhc/www/vendor/twig/twig/lib/Twig/Template.php(403): Twig_Template->displayWithErrorHandling(Array, Array) #29 /home/dmbhc/www/vendor/twig/twig/lib/Twig/Template.php(411): Twig_Template->display(Array) #30 /home/dmbhc/www/core/themes/engines/twig/twig.engine(64): Twig_Template->render(Array) #31 /home/dmbhc/www/core/lib/Drupal/Core/Theme/ThemeManager.php(384): twig_render_template('core/themes/cla...', Array) #32 /home/dmbhc/www/core/lib/Drupal/Core/Render/Renderer.php(437): Drupal\Core\Theme\ThemeManager->render('html', Array) #33 /home/dmbhc/www/core/lib/Drupal/Core/Render/Renderer.php(195): Drupal\Core\Render\Renderer->doRender(Array, false) #34 /home/dmbhc/www/core/lib/Drupal/Core/Render/MainContent/HtmlRenderer.php(147): Drupal\Core\Render\Renderer->render(Array) #35 /home/dmbhc/www/core/lib/Drupal/Core/Render/Renderer.php(582): Drupal\Core\Render\MainContent\HtmlRenderer->Drupal\Core\Render\MainContent\{closure}() #36 /home/dmbhc/www/core/lib/Drupal/Core/Render/MainContent/HtmlRenderer.php(148): Drupal\Core\Render\Renderer->executeInRenderContext(Object(Drupal\Core\Render\RenderContext), Object(Closure)) #37 /home/dmbhc/www/core/lib/Drupal/Core/EventSubscriber/MainContentViewSubscriber.php(90): Drupal\Core\Render\MainContent\HtmlRenderer->renderResponse(Array, Object(Symfony\Component\HttpFoundation\Request), Object(Drupal\Core\Routing\CurrentRouteMatch)) #38 [internal function]: Drupal\Core\EventSubscriber\MainContentViewSubscriber->onViewRenderArray(Object(Symfony\Component\HttpKernel\Event\GetResponseForControllerResultEvent), 'kernel.view', Object(Drupal\Component\EventDispatcher\ContainerAwareEventDispatcher)) #39 /home/dmbhc/www/core/lib/Drupal/Component/EventDispatcher/ContainerAwareEventDispatcher.php(111): call_user_func(Array, Object(Symfony\Component\HttpKernel\Event\GetResponseForControllerResultEvent), 'kernel.view', Object(Drupal\Component\EventDispatcher\ContainerAwareEventDispatcher)) #40 /home/dmbhc/www/vendor/symfony/http-kernel/HttpKernel.php(156): Drupal\Component\EventDispatcher\ContainerAwareEventDispatcher->dispatch('kernel.view', Object(Symfony\Component\HttpKernel\Event\GetResponseForControllerResultEvent)) #41 /home/dmbhc/www/vendor/symfony/http-kernel/HttpKernel.php(68): Symfony\Component\HttpKernel\HttpKernel->handleRaw(Object(Symfony\Component\HttpFoundation\Request), 1) #42 /home/dmbhc/www/core/lib/Drupal/Core/StackMiddleware/Session.php(57): Symfony\Component\HttpKernel\HttpKernel->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true) #43 /home/dmbhc/www/core/lib/Drupal/Core/StackMiddleware/KernelPreHandle.php(47): Drupal\Core\StackMiddleware\Session->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true) #44 /home/dmbhc/www/core/modules/page_cache/src/StackMiddleware/PageCache.php(99): Drupal\Core\StackMiddleware\KernelPreHandle->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true) #45 /home/dmbhc/www/core/modules/page_cache/src/StackMiddleware/PageCache.php(78): Drupal\page_cache\StackMiddleware\PageCache->pass(Object(Symfony\Component\HttpFoundation\Request), 1, true) #46 /home/dmbhc/www/core/lib/Drupal/Core/StackMiddleware/ReverseProxyMiddleware.php(47): Drupal\page_cache\StackMiddleware\PageCache->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true) #47 /home/dmbhc/www/core/lib/Drupal/Core/StackMiddleware/NegotiationMiddleware.php(52): Drupal\Core\StackMiddleware\ReverseProxyMiddleware->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true) #48 /home/dmbhc/www/vendor/stack/builder/src/Stack/StackedHttpKernel.php(23): Drupal\Core\StackMiddleware\NegotiationMiddleware->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true) #49 /home/dmbhc/www/core/lib/Drupal/Core/DrupalKernel.php(665): Stack\StackedHttpKernel->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true) #50 /home/dmbhc/www/index.php(19): Drupal\Core\DrupalKernel->handle(Object(Symfony\Component\HttpFoundation\Request)) #51 {main}.

CommentFileSizeAuthor
#2 commerce-2.10.patch2.45 KBcsedax90

Comments

sedax created an issue. See original summary.

csedax90’s picture

StatusFileSize
new2.45 KB

I've created this little patch for Commerce 2.10, I don't know if the getEntity() workaround is correct or not, but for me it's working

  • drugan committed 2b16d9d on 8.x-1.x authored by sedax
    Issue #3009571 by sedax: TypeError with Commerce 2.10
    
drugan’s picture

Thank you!

Note that your patch is applied just partially. First, the permission change to 'access checkout' should be applied conditionally only if some particular block has Redirection on checkout page setting. It would be nice if you open new issue for the case. Second, the purpose of defining QuickPurchaseAddToCartForm->getEntity() method with a dummy OrderItem return is left not clear for me because we create this object on the fly here from a selected variation:

https://cgit.drupalcode.org/commerce_quick_purchase/tree/src/Form/QuickP...

Feel free to reopen the issue if you still experience problems.

drugan’s picture

Status: Active » Fixed

Status: Fixed » Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.

hatuhay’s picture

Title: TypeError with Commerce 2.10 » TypeError with Commerce 2.10+

I am experiencing the same problem.
Fresh commerce 2.12 installation and Commerce Quick Purchase beta-1 and also latest dev version.
Please re-open

drugan’s picture

Status: Closed (fixed) » Active

@hatuhay

Thank you for the report.

  • drugan committed d57e350 on 8.x-1.x authored by sedax
    Issue #3009571 by sedax, drugan: TypeError with Commerce 2.10+ (added...
drugan’s picture

@hatuhay

Please try now. I've added dummy order item getter suggested in the #2

nicolasgraph’s picture

Thanks, the dev version is working for me.

drugan’s picture

Status: Active » Fixed

Thank you all, guys! This change will be moved into the next beta4 soon.

Status: Fixed » Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.