Skip to content

Commit b4572ec

Browse files
authored
LYNX-692: Gift Options - Fixed issue with customer.orders query
1 parent 6904e9f commit b4572ec

File tree

5 files changed

+651
-33
lines changed

5 files changed

+651
-33
lines changed

app/code/Magento/GiftMessageGraphQl/Model/Config/Messages.php

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,11 @@
77

88
namespace Magento\GiftMessageGraphQl\Model\Config;
99

10-
use Magento\Framework\App\Config\ScopeConfigInterface;
1110
use Magento\Catalog\Model\Product\Attribute\Source\Boolean;
11+
use Magento\Framework\App\Config\ScopeConfigInterface;
1212
use Magento\Framework\DataObject;
13-
use Magento\Quote\Model\Quote\Item;
13+
use Magento\Quote\Model\Quote\Item as QuoteItem;
14+
use Magento\Sales\Model\Order\Item as OrderItem;
1415
use Magento\Store\Model\ScopeInterface;
1516
use Magento\Store\Model\Store;
1617

@@ -50,8 +51,8 @@ public function isMessagesAllowed(
5051
}
5152

5253
return $this->isGiftMessageAllowedForProduct(
53-
($type === 'item' || $entity instanceof Item) ?
54-
$entity->getProduct()->getGiftMessageAvailable() : null,
54+
$entity instanceof QuoteItem ? $entity->getProduct()->getGiftMessageAvailable()
55+
: ($entity instanceof OrderItem ? $entity->getGiftMessageAvailable() : null),
5556
$store
5657
);
5758
}

app/code/Magento/GiftMessageGraphQl/Model/Resolver/Order/Item/GiftMessage.php

Lines changed: 16 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -10,13 +10,11 @@
1010
use Magento\Framework\Exception\LocalizedException;
1111
use Magento\Framework\GraphQl\Config\Element\Field;
1212
use Magento\Framework\GraphQl\Exception\GraphQlInputException;
13-
use Magento\Framework\GraphQl\Query\Resolver\ContextInterface;
14-
use Magento\Framework\GraphQl\Query\Resolver\Value;
1513
use Magento\Framework\GraphQl\Query\ResolverInterface;
1614
use Magento\Framework\GraphQl\Schema\Type\ResolveInfo;
1715
use Magento\GiftMessage\Api\OrderItemRepositoryInterface;
18-
use Magento\GiftMessage\Helper\Message as GiftMessageHelper;
1916
use Magento\GiftMessageGraphQl\Model\Config\Messages;
17+
use Psr\Log\LoggerInterface;
2018

2119
/**
2220
* Class provides ability to get GiftMessage for order item
@@ -28,25 +26,17 @@ class GiftMessage implements ResolverInterface
2826
*
2927
* @param OrderItemRepositoryInterface $orderItemRepository
3028
* @param Messages $messagesConfig
29+
* @param LoggerInterface $logger
3130
*/
3231
public function __construct(
3332
private readonly OrderItemRepositoryInterface $orderItemRepository,
34-
private readonly Messages $messagesConfig
33+
private readonly Messages $messagesConfig,
34+
private readonly LoggerInterface $logger
3535
) {
3636
}
3737

3838
/**
39-
* Return information about Gift message for order item
40-
*
41-
* @param Field $field
42-
* @param ContextInterface $context
43-
* @param ResolveInfo $info
44-
* @param array|null $value
45-
* @param array|null $args
46-
*
47-
* @return array|Value|mixed
48-
* @throws GraphQlInputException
49-
* @SuppressWarnings(PHPMD.UnusedFormalParameter)
39+
* @inheritdoc
5040
*/
5141
public function resolve(
5242
Field $field,
@@ -61,28 +51,27 @@ public function resolve(
6151

6252
$orderItem = $value['model'];
6353

64-
if (!$this->messagesConfig->isMessagesAllowed('items', $orderItem)) {
65-
return null;
66-
}
67-
68-
if (!$this->messagesConfig->isMessagesAllowed('item', $orderItem)) {
54+
if (!$this->messagesConfig->isMessagesAllowed('items', $orderItem) ||
55+
!$this->messagesConfig->isMessagesAllowed('item', $orderItem)) {
6956
return null;
7057
}
7158

7259
try {
7360
$giftItemMessage = $this->orderItemRepository->get($orderItem->getOrderId(), $orderItem->getItemId());
7461
} catch (LocalizedException $e) {
75-
throw new GraphQlInputException(__('Can\'t load message for order item'));
76-
}
62+
$this->logger->error('Can\'t load message for order item', [
63+
'order_id' => $orderItem->getOrderId(),
64+
'item_id' => $orderItem->getItemId(),
65+
'message' => $e->getMessage(),
66+
]);
7767

78-
if ($giftItemMessage === null) {
7968
return null;
8069
}
8170

82-
return [
71+
return $giftItemMessage ? [
8372
'to' => $giftItemMessage->getRecipient() ?? '',
84-
'from' => $giftItemMessage->getSender() ?? '',
85-
'message'=> $giftItemMessage->getMessage() ?? ''
86-
];
73+
'from' => $giftItemMessage->getSender() ?? '',
74+
'message' => $giftItemMessage->getMessage() ?? '',
75+
] : null;
8776
}
8877
}

app/code/Magento/GiftMessageGraphQl/composer.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@
99
"magento/module-catalog": "*",
1010
"magento/module-quote": "*",
1111
"magento/module-store": "*",
12-
"magento/module-downloadable": "*"
13-
12+
"magento/module-downloadable": "*",
13+
"magento/module-sales": "*"
1414
},
1515
"suggest": {
1616
"magento/module-graph-ql": "*"

0 commit comments

Comments
 (0)