- Issue created by @generalredneck
If I go through the workflow and just hit "continue to review" without selecting a timeframe (because there are none) I get the WSOD saying:
TypeError: Drupal\commerce_timeslots\Services\CommerceTimeSlots::getTimeSlotToArray(): Argument #1 ($time_frame) must be of type int, string given, called in /app/web/modules/contrib/commerce_timeslots/src/Plugin/Commerce/CheckoutPane/TimeSlotPane.php on line 169 in Drupal\commerce_timeslots\Services\CommerceTimeSlots->getTimeSlotToArray() (line 556 of modules/contrib/commerce_timeslots/src/Services/CommerceTimeSlots.php). Drupal\commerce_timeslots\Plugin\Commerce\CheckoutPane\TimeSlotPane->buildPaneSummary() (Line: 29) Drupal\commerce_checkout\Plugin\Commerce\CheckoutPane\Review->buildPaneForm(Array, Object, Array) (Line: 546) Drupal\commerce_checkout\Plugin\Commerce\CheckoutFlow\CheckoutFlowWithPanesBase->buildForm(Array, Object, 'review') call_user_func_array(Array, Array) (Line: 528) Drupal\Core\Form\FormBuilder->retrieveForm('commerce_checkout_flow_multistep_default', Object) (Line: 279) Drupal\Core\Form\FormBuilder->buildForm(Object, Object) (Line: 219) Drupal\Core\Form\FormBuilder->getForm(Object, 'review') (Line: 143) Drupal\commerce_checkout\Controller\CheckoutController->formPage(Object) call_user_func_array(Array, Array) (Line: 123) Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber->Drupal\Core\EventSubscriber\{closure}() (Line: 593) Drupal\Core\Render\Renderer->executeInRenderContext(Object, Object) (Line: 121) Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber->wrapControllerExecutionInRenderContext(Array, Array) (Line: 97) Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber->Drupal\Core\EventSubscriber\{closure}() (Line: 183) Symfony\Component\HttpKernel\HttpKernel->handleRaw(Object, 1) (Line: 76) Symfony\Component\HttpKernel\HttpKernel->handle(Object, 1, 1) (Line: 53) Drupal\Core\StackMiddleware\Session->handle(Object, 1, 1) (Line: 48) Drupal\Core\StackMiddleware\KernelPreHandle->handle(Object, 1, 1) (Line: 28) Drupal\Core\StackMiddleware\ContentLength->handle(Object, 1, 1) (Line: 32) Drupal\big_pipe\StackMiddleware\ContentLength->handle(Object, 1, 1) (Line: 48) Drupal\Core\StackMiddleware\ReverseProxyMiddleware->handle(Object, 1, 1) (Line: 51) Drupal\Core\StackMiddleware\NegotiationMiddleware->handle(Object, 1, 1) (Line: 36) Drupal\Core\StackMiddleware\AjaxPageState->handle(Object, 1, 1) (Line: 51) Drupal\Core\StackMiddleware\StackedHttpKernel->handle(Object, 1, 1) (Line: 709) Drupal\Core\DrupalKernel->handle(Object) (Line: 19)
Set up days that don't have a timeframe assigned that coorespond with today's day of the week. Ex. if today is Monday, don't set up a time slot for Monday at all
In an incognito window go through the checkout process
Do not click on the "Date" field at all
Click on Continue to Review
Active
1.1
Code