Example #1
0
 /**
  * Don't add item to the collection if only fixed are allowed and its carrier is not fixed
  *
  * @param \Magento\Quote\Model\Quote\Address\Rate $rate
  * @return $this
  */
 public function addItem(\Magento\Framework\DataObject $rate)
 {
     $carrier = $this->_carrierFactory->get($rate->getCarrier());
     if ($this->_allowFixedOnly && (!$carrier || !$carrier->isFixed())) {
         return $this;
     }
     return parent::addItem($rate);
 }
Example #2
0
 /**
  * Add rule to isGirthAllowed() method
  *
  * @param \Magento\Framework\DataObject $subject
  * @param \Closure $proceed
  * @return array
  * @SuppressWarnings(PHPMD.UnusedFormalParameter)
  */
 public function aroundCheckSizeAndGirthParameter(\Magento\Framework\DataObject $subject, \Closure $proceed)
 {
     $carrier = $subject->getCarrier();
     $size = $subject->getSourceSizeModel();
     $girthEnabled = false;
     $sizeEnabled = false;
     if ($carrier && isset($size[0]['value'])) {
         if ($size[0]['value'] == Carrier::SIZE_LARGE && in_array(key($subject->getContainers()), [Carrier::CONTAINER_NONRECTANGULAR, Carrier::CONTAINER_VARIABLE])) {
             $girthEnabled = true;
         }
         if (in_array(key($subject->getContainers()), [Carrier::CONTAINER_NONRECTANGULAR, Carrier::CONTAINER_RECTANGULAR, Carrier::CONTAINER_VARIABLE])) {
             $sizeEnabled = true;
         }
     }
     return [$girthEnabled, $sizeEnabled];
 }