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