Example #1
0
 /**
  * Performed before data is saved
  *
  * @param \Magento\Framework\DataObject $object
  * @return $this
  */
 public function beforeSave($object)
 {
     if ($object->getShipment()) {
         $object->setParentId($object->getShipment()->getId());
     }
     return parent::beforeSave($object);
 }
Example #2
0
 /**
  * Getting all available children for Invoice, Shipment or CreditMemo item
  *
  * @param \Magento\Framework\DataObject $item
  * @return array|null
  */
 public function getChildren($item)
 {
     $itemsArray = [];
     $items = null;
     if ($item instanceof \Magento\Sales\Model\Order\Invoice\Item) {
         $items = $item->getInvoice()->getAllItems();
     } elseif ($item instanceof \Magento\Sales\Model\Order\Shipment\Item) {
         $items = $item->getShipment()->getAllItems();
     } elseif ($item instanceof \Magento\Sales\Model\Order\Creditmemo\Item) {
         $items = $item->getCreditmemo()->getAllItems();
     }
     if ($items) {
         foreach ($items as $value) {
             $parentItem = $value->getOrderItem()->getParentItem();
             if ($parentItem) {
                 $itemsArray[$parentItem->getId()][$value->getOrderItemId()] = $value;
             } else {
                 $itemsArray[$value->getOrderItem()->getId()][$value->getOrderItemId()] = $value;
             }
         }
     }
     if (isset($itemsArray[$item->getOrderItem()->getId()])) {
         return $itemsArray[$item->getOrderItem()->getId()];
     } else {
         return null;
     }
 }
 /**
  * @param \Magento\Framework\DataObject $subject
  * @param bool $result
  * @return bool
  */
 public function afterCanDisplayCustomValue(\Magento\Framework\DataObject $subject, $result)
 {
     $carrierCode = $subject->getShipment()->getCarrierCode();
     if (!$carrierCode) {
         return (bool) $result || false;
     }
     return (bool) $result || (bool) $carrierCode == \Magento\Fedex\Model\Carrier::CODE;
 }