From 3e47e62f78ccf78861f0ed850c5f89d0b9223aff Mon Sep 17 00:00:00 2001 From: Narek Zakarian Date: Thu, 11 Aug 2022 14:54:38 +0400 Subject: [PATCH] Document Carriers map --- .../src/MetaBoxRenderer.php | 166 ++++++++++-------- 1 file changed, 95 insertions(+), 71 deletions(-) diff --git a/modules/ppcp-order-tracking/src/MetaBoxRenderer.php b/modules/ppcp-order-tracking/src/MetaBoxRenderer.php index 279c4721d..e615293ca 100644 --- a/modules/ppcp-order-tracking/src/MetaBoxRenderer.php +++ b/modules/ppcp-order-tracking/src/MetaBoxRenderer.php @@ -10,90 +10,114 @@ declare(strict_types=1); namespace WooCommerce\PayPalCommerce\OrderTracking; use WooCommerce\PayPalCommerce\OrderTracking\Endpoint\OrderTrackingEndpoint; +use WP_Post; /** * Class MetaBoxRenderer + * + * @psalm-type CarrierType = string + * @psalm-type CarrierItemCode = string + * @psalm-type CarrierItemName = string + * @psalm-type Carrier = array{name: string, items: array} + * @psalm-type Carriers = array */ class MetaBoxRenderer { - public const NAME_PREFIX = 'ppcp-tracking'; + public const NAME_PREFIX = 'ppcp-tracking'; - /** - * @var OrderTrackingEndpoint - */ - protected $orderTrackingEndpoint; + /** + * The OrderTrackingEndpoint. + * + * @var OrderTrackingEndpoint + */ + protected $order_tracking_endpoint; - /** - * @var string[] - */ - protected $allowedStatuses; + /** + * Allowed shipping statuses. + * + * @var string[] + */ + protected $allowed_statuses; - /** - * @var array - */ - protected $carriers; + /** + * Available shipping carriers. + * + * @var array + * @psalm-var Carriers + */ + protected $carriers; - public function __construct( - OrderTrackingEndpoint $orderTrackingEndpoint, - array $allowedStatuses, - array $carriers - ) { + /** + * MetaBoxRenderer constructor. + * + * @param OrderTrackingEndpoint $order_tracking_endpoint The OrderTrackingEndpoint. + * @param string[] $allowed_statuses Allowed shipping statuses. + * @param array $carriers Available shipping carriers. + * @psalm-param Carriers $carriers + */ + public function __construct( + OrderTrackingEndpoint $order_tracking_endpoint, + array $allowed_statuses, + array $carriers + ) { - $this->orderTrackingEndpoint = $orderTrackingEndpoint; - $this->allowedStatuses = $allowedStatuses; - $this->carriers = $carriers; - } + $this->order_tracking_endpoint = $order_tracking_endpoint; + $this->allowed_statuses = $allowed_statuses; + $this->carriers = $carriers; + } - /** - * Renders the order tracking MetaBox. - * - */ - public function render( \WP_Post $post) { - $wc_order = wc_get_order( $post->ID ); - $tracking_info = $this->orderTrackingEndpoint->get_tracking_information($post->ID); + /** + * Renders the order tracking MetaBox. + * + * @param WP_Post $post The post object. + */ + public function render( WP_Post $post ) { + $wc_order = wc_get_order( $post->ID ); + $tracking_info = $this->order_tracking_endpoint->get_tracking_information( $post->ID ); - $tracking_is_not_added = empty($tracking_info); + $tracking_is_not_added = empty( $tracking_info ); - $transaction_id = $tracking_info['transaction_id'] ?? $wc_order->get_transaction_id() ?? ''; - $tracking_number = $tracking_info['tracking_number'] ?? ''; - $statusValue = $tracking_info['status'] ?? 'SHIPPED'; - $carrierValue = $tracking_info['carrier'] ?? ''; + $transaction_id = $tracking_info['transaction_id'] ?? $wc_order->get_transaction_id() ?? ''; + $tracking_number = $tracking_info['tracking_number'] ?? ''; + $status_value = $tracking_info['status'] ?? 'SHIPPED'; + $carrier_value = $tracking_info['carrier'] ?? ''; - $action = $tracking_is_not_added ? 'create' : 'update'; - ?> -

- -

-

- -

-

- - -

-

- - -

- -

-

- +

+ +

+

+ +

+

+ + +

+

+ + +

+ +

+

+