PluginProbe
Packeta / 2.0.9
Packeta v2.0.9
2.3.2 2.3.1 trunk 1.2.2 1.2.3 1.2.4 1.2.5 1.2.6 1.3.0 1.3.1 1.3.2 1.4 1.4.1 1.4.2 1.4.3 1.5.0 1.5.1 1.5.2 1.5.3 1.5.4 1.6.0 1.6.1 1.6.2 1.6.3 1.6.4 All 56 releases
← All changes | src/Packetery/Module/Order/LabelPrintModal.php +74 -12 trunk2.0.9 View file →
@@ -1,5 +1,10 @@
1 1 <?php
2 +/**
3 + * Class LabelPrintModal.
4 + *
5 + * @package Packetery
6 + */
2 7
3 8 declare( strict_types=1 );
4 9
5 10 namespace Packetery\Module\Order;
@@ -5,13 +10,17 @@
5 10 namespace Packetery\Module\Order;
6 11
7 12 use Packetery\Latte\Engine;
8 13 use Packetery\Module;
9 -use Packetery\Module\Labels\LabelPrintParametersService;
10 14 use Packetery\Module\Options\OptionsProvider;
11 15 use Packetery\Nette\Forms\Controls\SubmitButton;
12 16 use Packetery\Nette\Forms\Form;
13 17
18 +/**
19 + * Class LabelPrintModal.
20 + *
21 + * @package Packetery
22 + */
14 23 class LabelPrintModal {
15 24
16 25 public const MODAL_ID_PACKET = 'wc-packetery-order-detail-packet-label-print-modal';
17 26 public const MODAL_ID_PACKET_CLAIM = 'wc-packetery-order-detail-packet-claim-label-print-modal';
@@ -16,51 +25,76 @@
16 25 public const MODAL_ID_PACKET = 'wc-packetery-order-detail-packet-label-print-modal';
17 26 public const MODAL_ID_PACKET_CLAIM = 'wc-packetery-order-detail-packet-claim-label-print-modal';
18 27
19 28 /**
29 + * Latte engine.
30 + *
20 31 * @var Engine
21 32 */
22 33 private $latteEngine;
23 34
24 35 /**
25 - * @var LabelPrintParametersService
36 + * Label print.
37 + *
38 + * @var LabelPrint
26 39 */
27 - private $labelPrintParametersService;
40 + private $labelPrint;
28 41
29 42 /**
43 + * Options provider.
44 + *
30 45 * @var OptionsProvider
31 46 */
32 47 private $optionsProvider;
33 48
34 49 /**
50 + * Context resolver.
51 + *
35 52 * @var Module\ContextResolver
36 53 */
37 54 private $contextResolver;
38 55
39 56 /**
57 + * Order detail common logic.
58 + *
40 59 * @var DetailCommonLogic
41 60 */
42 61 private $detailCommonLogic;
43 62
63 + /**
64 + * Constructor.
65 + *
66 + * @param Engine $latteEngine Latte engine.
67 + * @param LabelPrint $labelPrint Label print.
68 + * @param OptionsProvider $optionsProvider Options provider.
69 + * @param Module\ContextResolver $contextResolver Context resolver.
70 + * @param DetailCommonLogic $detailCommonLogic Detail common logic.
71 + */
44 72 public function __construct(
45 73 Engine $latteEngine,
46 - LabelPrintParametersService $labelPrintParametersService,
74 + LabelPrint $labelPrint,
47 75 OptionsProvider $optionsProvider,
48 76 Module\ContextResolver $contextResolver,
49 77 DetailCommonLogic $detailCommonLogic
50 78 ) {
51 - $this->latteEngine = $latteEngine;
52 - $this->labelPrintParametersService = $labelPrintParametersService;
53 - $this->optionsProvider = $optionsProvider;
54 - $this->contextResolver = $contextResolver;
55 - $this->detailCommonLogic = $detailCommonLogic;
79 + $this->latteEngine = $latteEngine;
80 + $this->labelPrint = $labelPrint;
81 + $this->optionsProvider = $optionsProvider;
82 + $this->contextResolver = $contextResolver;
83 + $this->detailCommonLogic = $detailCommonLogic;
56 84 }
57 85
86 + /**
87 + * Registers order modal.
88 + */
58 89 public function register(): void {
59 90 add_action( 'admin_head', [ $this, 'renderPacketModal' ] );
60 91 add_action( 'admin_head', [ $this, 'renderPacketClaimModal' ] );
61 92 }
62 93
94 + /**
95 + * Renders packet modal.
96 + */
63 97 public function renderPacketModal(): void {
64 98 if ( $this->contextResolver->isOrderDetailPage() === false ) {
65 99 return;
66 100 }
@@ -71,13 +105,16 @@
71 105 }
72 106
73 107 $this->renderModal(
74 108 self::MODAL_ID_PACKET,
75 - $this->labelPrintParametersService->getLabelFormatByOrder( $order ),
109 + $this->labelPrint->getLabelFormatByOrder( $order ),
76 110 $order->getPacketId()
77 111 );
78 112 }
79 113
114 + /**
115 + * Renders packet claim modal.
116 + */
80 117 public function renderPacketClaimModal(): void {
81 118 if ( $this->contextResolver->isOrderDetailPage() === false ) {
82 119 return;
83 120 }
@@ -88,13 +125,22 @@
88 125 }
89 126
90 127 $this->renderModal(
91 128 self::MODAL_ID_PACKET_CLAIM,
92 - $this->labelPrintParametersService->getLabelFormatByOrder( $order ),
129 + $this->labelPrint->getLabelFormatByOrder( $order ),
93 130 $order->getPacketClaimId()
94 131 );
95 132 }
96 133
134 + /**
135 + * Renders packet modal.
136 + *
137 + * @param string $id Modal ID.
138 + * @param string $format Label format.
139 + * @param string $packetId Packet ID.
140 + *
141 + * @return void
142 + */
97 143 private function renderModal( string $id, string $format, string $packetId ): void {
98 144 $form = $this->createForm( sprintf( '%s_form', $id ), $format, $packetId );
99 145 $submitButton = $form['submit'];
100 146 if ( $submitButton instanceof SubmitButton &&
@@ -117,10 +163,19 @@
117 163 ]
118 164 );
119 165 }
120 166
167 + /**
168 + * Creates order modal form.
169 + *
170 + * @param string $name Form name.
171 + * @param string $format Format.
172 + * @param string $packetId Packet ID.
173 + *
174 + * @return Form
175 + */
121 176 public function createForm( string $name, string $format, string $packetId ): Form {
122 - $form = $this->labelPrintParametersService->createForm( $this->optionsProvider->getLabelMaxOffset( $format ), $name );
177 + $form = $this->labelPrint->createForm( $this->optionsProvider->getLabelMaxOffset( $format ), $name );
123 178 $form->addHidden( 'packet_id' )->setDefaultValue( $packetId );
124 179 $form->addSubmit( 'submit', __( 'Print', 'packeta' ) );
125 180 $form->addSubmit( 'cancel', __( 'Cancel', 'packeta' ) );
126 181
@@ -128,8 +183,15 @@
128 183
129 184 return $form;
130 185 }
131 186
187 + /**
188 + * On form success.
189 + *
190 + * @param Form $form Form.
191 + *
192 + * @return void
193 + */
132 194 public function onFormSuccess( Form $form ): void {
133 195 $order = $this->detailCommonLogic->getOrder();
134 196 if ( $order === null ) {
135 197 return;