QuoteItem.php 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\GiftMessage\Model\Plugin;
  7. use Magento\Sales\Api\Data\OrderItemInterface;
  8. use Magento\GiftMessage\Helper\Message as MessageHelper;
  9. use Magento\Quote\Model\Quote\Item\ToOrderItem;
  10. use Magento\Quote\Model\Quote\Item\AbstractItem;
  11. class QuoteItem
  12. {
  13. /**
  14. * @var MessageHelper
  15. */
  16. protected $_helper;
  17. /**
  18. * @param MessageHelper $helper
  19. */
  20. public function __construct(MessageHelper $helper)
  21. {
  22. $this->_helper = $helper;
  23. }
  24. /**
  25. * Apply gift message per every item in order if available
  26. *
  27. * @param ToOrderItem $subject
  28. * @param OrderItemInterface $orderItem
  29. * @param AbstractItem $item
  30. * @param array $additional
  31. * @return OrderItemInterface
  32. * @SuppressWarnings(PHPMD.UnusedFormalParameter)
  33. */
  34. public function afterConvert(
  35. ToOrderItem $subject,
  36. OrderItemInterface $orderItem,
  37. AbstractItem $item,
  38. $additional = []
  39. ) {
  40. $isAvailable = $this->_helper->isMessagesAllowed('item', $item, $item->getStoreId());
  41. $orderItem->setGiftMessageId($item->getGiftMessageId());
  42. $orderItem->setGiftMessageAvailable($isAvailable);
  43. return $orderItem;
  44. }
  45. }