/** * 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; }
/** * 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]); } } } }