| @@ -8,9 +8,8 @@ | ||
| 8 | 8 | declare( strict_types=1 ); |
| 9 | 9 | |
| 10 | 10 | namespace Packetery\Module\Order; |
| 11 | 11 | |
| 12 | -use Packetery\Module\Options; | |
| 13 | 12 | use Packetery\Latte\Engine; |
| 14 | 13 | use Packetery\Nette\Http\Request; |
| 15 | 14 | |
| 16 | 15 | /** |
| @@ -18,8 +17,10 @@ | ||
| 18 | 17 | * |
| 19 | 18 | * @package Packetery\Order |
| 20 | 19 | */ |
| 21 | 20 | class BulkActions { |
| 21 | + const ACTION_SUBMIT_TO_API = 'submit_to_api'; | |
| 22 | + | |
| 22 | 23 | /** |
| 23 | 24 | * Latte engine. |
| 24 | 25 | * |
| 25 | 26 | * @var Engine |
| @@ -40,15 +41,8 @@ | ||
| 40 | 41 | */ |
| 41 | 42 | private $packetSubmitter; |
| 42 | 43 | |
| 43 | 44 | /** |
| 44 | - * Options provider. | |
| 45 | - * | |
| 46 | - * @var Options\Provider | |
| 47 | - */ | |
| 48 | - private $optionsProvider; | |
| 49 | - | |
| 50 | - /** | |
| 51 | 45 | * Order repository. |
| 52 | 46 | * |
| 53 | 47 | * @var Repository |
| 54 | 48 | */ |
| @@ -56,25 +50,22 @@ | ||
| 56 | 50 | |
| 57 | 51 | /** |
| 58 | 52 | * BulkActions constructor. |
| 59 | 53 | * |
| 60 | - * @param Engine $latteEngine Latte engine. | |
| 61 | - * @param Request $httpRequest HTTP request. | |
| 62 | - * @param PacketSubmitter $packetSubmitter Order API Client. | |
| 63 | - * @param Options\Provider $optionsProvider Options provider. | |
| 64 | - * @param Repository $orderRepository Order repository. | |
| 54 | + * @param Engine $latteEngine Latte engine. | |
| 55 | + * @param Request $httpRequest HTTP request. | |
| 56 | + * @param PacketSubmitter $packetSubmitter Order API Client. | |
| 57 | + * @param Repository $orderRepository Order repository. | |
| 65 | 58 | */ |
| 66 | 59 | public function __construct( |
| 67 | 60 | Engine $latteEngine, |
| 68 | 61 | Request $httpRequest, |
| 69 | 62 | PacketSubmitter $packetSubmitter, |
| 70 | - Options\Provider $optionsProvider, | |
| 71 | 63 | Repository $orderRepository |
| 72 | 64 | ) { |
| 73 | 65 | $this->latteEngine = $latteEngine; |
| 74 | 66 | $this->httpRequest = $httpRequest; |
| 75 | 67 | $this->packetSubmitter = $packetSubmitter; |
| 76 | - $this->optionsProvider = $optionsProvider; | |
| 77 | 68 | $this->orderRepository = $orderRepository; |
| 78 | 69 | } |
| 79 | 70 | |
| 80 | 71 | /** |
| @@ -79,17 +70,17 @@ | ||
| 79 | 70 | |
| 80 | 71 | /** |
| 81 | 72 | * Adds custom actions to dropdown in admin order list. |
| 82 | 73 | * |
| 83 | - * @param array $actions Array of action. | |
| 74 | + * @param array<string, string> $actions Array of action. | |
| 84 | 75 | * |
| 85 | - * @return array | |
| 76 | + * @return array<string, string> | |
| 86 | 77 | */ |
| 87 | 78 | public function addActions( array $actions ): array { |
| 88 | - $actions['submit_to_api'] = __( 'Submit orders to Packeta', 'packeta' ); | |
| 89 | - $actions[ LabelPrint::ACTION_PACKETA_LABELS ] = __( 'Print labels', 'packeta' ); | |
| 90 | - $actions[ LabelPrint::ACTION_CARRIER_LABELS ] = __( 'Print carrier labels', 'packeta' ); | |
| 91 | - $actions[ CollectionPrint::ACTION_PRINT_ORDER_COLLECTION ] = __( 'Print AWB', 'packeta' ); | |
| 79 | + $actions[ self::ACTION_SUBMIT_TO_API ] = __( 'Packeta export', 'packeta' ); | |
| 80 | + $actions[ LabelPrint::ACTION_PACKETA_LABELS ] = __( 'Packeta download labels', 'packeta' ); | |
| 81 | + $actions[ LabelPrint::ACTION_CARRIER_LABELS ] = __( 'Packeta download carrier labels', 'packeta' ); | |
| 82 | + $actions[ CollectionPrint::ACTION_PRINT_ORDER_COLLECTION ] = __( 'Packeta AWB (delivery note)', 'packeta' ); | |
| 92 | 83 | |
| 93 | 84 | return $actions; |
| 94 | 85 | } |
| 95 | 86 | |
| @@ -97,14 +88,14 @@ | ||
| 97 | 88 | * Executes the action for selected orders and returns url to redirect to. |
| 98 | 89 | * |
| 99 | 90 | * @param string $redirectTo Url. |
| 100 | 91 | * @param string $action Action id. |
| 101 | - * @param array $postIds Order ids. | |
| 92 | + * @param int[] $postIds Order ids. | |
| 102 | 93 | * |
| 103 | 94 | * @return string |
| 104 | 95 | */ |
| 105 | 96 | public function handleActions( string $redirectTo, string $action, array $postIds ): string { |
| 106 | - if ( CollectionPrint::ACTION_PRINT_ORDER_COLLECTION === $action ) { | |
| 97 | + if ( $action === CollectionPrint::ACTION_PRINT_ORDER_COLLECTION ) { | |
| 107 | 98 | set_transient( CollectionPrint::getOrderIdsTransientName(), $postIds ); |
| 108 | 99 | |
| 109 | 100 | return add_query_arg( |
| 110 | 101 | [ |
| @@ -126,23 +117,24 @@ | ||
| 126 | 117 | 'admin.php' |
| 127 | 118 | ); |
| 128 | 119 | } |
| 129 | 120 | |
| 130 | - if ( 'submit_to_api' === $action ) { | |
| 121 | + if ( $action === self::ACTION_SUBMIT_TO_API ) { | |
| 131 | 122 | $finalSubmissionResult = new PacketSubmissionResult(); |
| 132 | 123 | foreach ( $postIds as $postId ) { |
| 133 | 124 | $wcOrder = $this->orderRepository->getWcOrderById( $postId ); |
| 134 | - if ( null !== $wcOrder ) { | |
| 125 | + if ( $wcOrder !== null ) { | |
| 135 | 126 | $submissionResult = $this->packetSubmitter->submitPacket( |
| 136 | 127 | $wcOrder, |
| 137 | - $this->optionsProvider->isOrderStatusAutoChangeEnabled() | |
| 128 | + null, | |
| 129 | + true | |
| 138 | 130 | ); |
| 139 | 131 | $finalSubmissionResult->merge( $submissionResult ); |
| 140 | 132 | } |
| 141 | 133 | } |
| 142 | 134 | |
| 143 | - $queryArgs = $finalSubmissionResult->getCounter(); | |
| 144 | - $queryArgs['submit_to_api'] = true; | |
| 135 | + $queryArgs = $finalSubmissionResult->getCounter(); | |
| 136 | + $queryArgs[ self::ACTION_SUBMIT_TO_API ] = true; | |
| 145 | 137 | |
| 146 | 138 | if ( count( $postIds ) === 1 ) { |
| 147 | 139 | $queryArgs['packetery_order_id'] = array_pop( $postIds ); |
| 148 | 140 | } |
| @@ -157,9 +149,9 @@ | ||
| 157 | 149 | * Renders packets export result. |
| 158 | 150 | */ |
| 159 | 151 | public function renderPacketsExportResult(): void { |
| 160 | 152 | $get = $this->httpRequest->getQuery(); |
| 161 | - if ( empty( $get['submit_to_api'] ) ) { | |
| 153 | + if ( ! isset( $get[ self::ACTION_SUBMIT_TO_API ] ) ) { | |
| 162 | 154 | return; |
| 163 | 155 | } |
| 164 | 156 | |
| 165 | 157 | $orderId = ( $get['packetery_order_id'] ?? null ); |