/**
  * Given a Cart, return a set of ShippingRanges satisfied.
  *
  * @param CartInterface $cart Cart
  *
  * @return ShippingRangeInterface[] Set of carriers ranges satisfied
  */
 public function getAllShippingRangesSatisfiedWithCart(CartInterface $cart)
 {
     $availableCarriers = $this->carrierRepository->findBy(['enabled' => true]);
     $satisfiedShippingRanges = [];
     foreach ($availableCarriers as $carrier) {
         $satisfiedShippingRanges = array_merge($satisfiedShippingRanges, $this->getShippingRangesSatisfiedByCart($cart, $carrier));
     }
     return $satisfiedShippingRanges;
 }
Example #2
0
 /**
  * Render the next step message.
  *
  * @param EventInterface $event The event
  */
 public function renderGoNextStepMessage(EventInterface $event)
 {
     if ($this->plugin->isUsable()) {
         $masterRequest = $this->requestStack->getMasterRequest();
         $currentRoute = $masterRequest->attributes->get('_route');
         $isWizardRoute = $this->wizardRoutes->isWizardSetupRoute($currentRoute);
         $isWizardFinished = $this->wizardStatus->isWizardFinished();
         if ($isWizardRoute && !$isWizardFinished) {
             $currentStep = $this->wizardRoutes->getStepByRoute($currentRoute);
             $isStepFinished = $this->wizardStatus->isStepFinished($currentStep);
             if (1 != $currentStep && $isStepFinished) {
                 $stepsFinished = $this->wizardStatus->getStepsFinishStatus();
                 $activeStep = $this->wizardStatus->getNextStep();
                 $firstCarrier = $this->carrierRepository->findOneBy(['enabled' => true], ['id' => 'ASC']);
                 $firstCarrier = $firstCarrier instanceof CarrierInterface ? $firstCarrier : false;
                 $this->appendTemplate('@ElcodiStoreSetupWizard/Wizard/wizard.html.twig', $event, $this->plugin, ['stepsFinished' => $stepsFinished, 'activeStep' => $activeStep, 'isMiniWizard' => true, 'carrier' => $firstCarrier]);
             }
         }
     }
 }