Skip to content

Commit 2349f40

Browse files
committed
MAGETWO-57460: [Backport] - Exception occurs when tracking shipment with invalid FedEx tracking number - for 2.1.x
- Fixed doc block
1 parent c1f392d commit 2349f40

File tree

2 files changed

+12
-9
lines changed

2 files changed

+12
-9
lines changed

app/code/Magento/Fedex/Model/Carrier.php

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,11 @@
99
namespace Magento\Fedex\Model;
1010

1111
use Magento\Framework\Module\Dir;
12+
use Magento\Framework\Xml\Security;
1213
use Magento\Quote\Model\Quote\Address\RateRequest;
1314
use Magento\Shipping\Model\Carrier\AbstractCarrierOnline;
1415
use Magento\Shipping\Model\Rate\Result;
15-
use Magento\Framework\Xml\Security;
16+
use Magento\Shipping\Model\Tracking\Result as TrackingResult;
1617

1718
/**
1819
* Fedex shipping implementation
@@ -77,7 +78,7 @@ class Carrier extends AbstractCarrierOnline implements \Magento\Shipping\Model\C
7778
/**
7879
* Rate result data
7980
*
80-
* @var Result|null
81+
* @var Result|TrackingResult
8182
*/
8283
protected $_result = null;
8384

@@ -379,12 +380,12 @@ public function setRequest(RateRequest $request)
379380
/**
380381
* Get result of request
381382
*
382-
* @return Result|null
383+
* @return Result|TrackingResult
383384
*/
384385
public function getResult()
385386
{
386387
if (!$this->_result) {
387-
$this->_result = $this->_trackFactory->create();
388+
$this->_result = $this->_rateFactory->create();
388389
}
389390
return $this->_result;
390391
}
@@ -1038,6 +1039,7 @@ protected function setTrackingReqeust()
10381039
*/
10391040
protected function _getXMLTracking($tracking)
10401041
{
1042+
$this->_result = $this->_trackFactory->create();
10411043
$trackRequest = [
10421044
'WebAuthenticationDetail' => [
10431045
'UserCredential' => [
@@ -1094,10 +1096,10 @@ protected function _parseTrackingResponse($trackingValue, $response)
10941096
if (!is_object($response) || empty($response->HighestSeverity)) {
10951097
$this->appendTrackingError($trackingValue, __('Invalid response from carrier'));
10961098
return;
1097-
} else if (in_array($response->HighestSeverity, self::$trackingErrors)) {
1099+
} elseif (in_array($response->HighestSeverity, self::$trackingErrors)) {
10981100
$this->appendTrackingError($trackingValue, (string) $response->Notifications->Message);
10991101
return;
1100-
} else if (empty($response->CompletedTrackDetails) || empty($response->CompletedTrackDetails->TrackDetails)) {
1102+
} elseif (empty($response->CompletedTrackDetails) || empty($response->CompletedTrackDetails->TrackDetails)) {
11011103
$this->appendTrackingError($trackingValue, __('No available tracking items'));
11021104
return;
11031105
}
@@ -1644,7 +1646,7 @@ private function getDeliveryDateTime(\stdClass $trackInfo)
16441646
* Return City, State, Country Code
16451647
*
16461648
* @param \stdClass $address
1647-
* @return \Magento\Framework\Phrase|string
1649+
* @return string
16481650
*/
16491651
private function getDeliveryAddress(\stdClass $address)
16501652
{
@@ -1705,11 +1707,12 @@ private function processTrackDetailsEvents(array $events)
17051707
* Append error message to rate result instance
17061708
* @param string $trackingValue
17071709
* @param string $errorMessage
1710+
* @return void
17081711
*/
17091712
private function appendTrackingError($trackingValue, $errorMessage)
17101713
{
17111714
$error = $this->_trackErrorFactory->create();
1712-
$error->setCarrier('fedex');
1715+
$error->setCarrier(self::CODE);
17131716
$error->setCarrierTitle($this->getConfigData('title'));
17141717
$error->setTracking($trackingValue);
17151718
$error->setErrorMessage($errorMessage);

app/code/Magento/Shipping/view/frontend/templates/tracking/progress.phtml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,4 +40,4 @@ $track = $block->getData('track');
4040
<?php endforeach; ?>
4141
</tbody>
4242
</table>
43-
</div>
43+
</div>

0 commit comments

Comments
 (0)