Example #1
0
 /**
  * Check if no dummy order item can be refunded
  *
  * @param \Magento\Sales\Model\Order\Item $item
  * @param array $invoiceQtysRefundLimits
  * @return bool
  */
 protected function _canRefundNoDummyItem($item, $invoiceQtysRefundLimits = [])
 {
     if ($item->getQtyToRefund() < 0) {
         return false;
     }
     if (isset($invoiceQtysRefundLimits[$item->getId()])) {
         return $invoiceQtysRefundLimits[$item->getId()] > 0;
     }
     return true;
 }
Example #2
0
 /**
  * @param \Magento\Sales\Model\Order\Item $orderItem
  * @return array
  */
 public function getCreditmemoData(\Magento\Sales\Model\Order\Item $orderItem)
 {
     $data = [$orderItem->getId() => $orderItem->getQtyToRefund()];
     return $data;
 }
 /**
  * @param \Magento\Sales\Model\Order\Item $orderItem
  * @return array
  */
 public function getCreditmemoData(\Magento\Sales\Model\Order\Item $orderItem)
 {
     $data = [$orderItem->getId() => $orderItem->getQtyToRefund()];
     foreach ($this->observerManager->getObservers() as $observer) {
         if (is_callable([$observer, 'getCreditmemoData'])) {
             $params = new DataObject(['order_item' => $orderItem, 'credit_memo' => $data]);
             $data = $observer->getCreditmemoData($params);
         }
     }
     return $data;
 }
Example #4
0
 /**
  * Checks if quantity available for refund
  *
  * @param int $qty
  * @param \Magento\Sales\Model\Order\Item $orderItem
  * @return bool
  */
 private function isQtyAvailable($qty, \Magento\Sales\Model\Order\Item $orderItem)
 {
     return $qty <= $orderItem->getQtyToRefund() || $orderItem->isDummy();
 }