PluginProbe
Packeta / 2.3.2
Packeta v2.3.2
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/Modal.php +36 -63 1.2.32.3.2 View file →
@@ -1,103 +1,76 @@
1 1 <?php
2 -/**
3 - * Class Modal
4 - *
5 - * @package Packetery\Module\Order
6 - */
7 2
8 3 declare( strict_types=1 );
9 4
10 -
11 5 namespace Packetery\Module\Order;
12 6
13 -use Packetery\Module\FormFactory;
14 -use PacketeryLatte\Engine;
15 -use PacketeryNette\Forms\Form;
7 +use Packetery\Latte\Engine;
8 +use Packetery\Module\Api\Internal\OrderRouter;
9 +use Packetery\Module\Framework\WpAdapter;
16 10
17 -/**
18 - * Class Modal
19 - *
20 - * @package Packetery\Module\Order
21 - */
22 11 class Modal {
23 12
24 13 /**
25 - * Latte engine.
26 - *
27 14 * @var Engine
28 15 */
29 16 private $latteEngine;
30 17
31 18 /**
32 - * Form factory.
33 - *
34 - * @var FormFactory
19 + * @var Form
35 20 */
36 - private $formFactory;
21 + private $orderForm;
37 22
38 23 /**
39 - * Order controller.
40 - *
41 - * @var ControllerRouter
24 + * @var OrderRouter
42 25 */
43 - private $orderControllerRouter;
26 + private $apiRouter;
44 27
45 28 /**
46 - * Modal constructor.
47 - *
48 - * @param Engine $latteEngine Latte engine.
49 - * @param FormFactory $formFactory Form factory.
50 - * @param ControllerRouter $orderController Order controller.
29 + * @var WpAdapter
51 30 */
52 - public function __construct( Engine $latteEngine, FormFactory $formFactory, ControllerRouter $orderController ) {
53 - $this->latteEngine = $latteEngine;
54 - $this->formFactory = $formFactory;
55 - $this->orderControllerRouter = $orderController;
31 + private $wpAdapter;
32 +
33 + public function __construct(
34 + Engine $latteEngine,
35 + Form $orderForm,
36 + OrderRouter $apiRouter,
37 + WpAdapter $wpAdapter
38 + ) {
39 + $this->latteEngine = $latteEngine;
40 + $this->orderForm = $orderForm;
41 + $this->apiRouter = $apiRouter;
42 + $this->wpAdapter = $wpAdapter;
56 43 }
57 44
58 - /**
59 - * Registers order modal.
60 - */
61 45 public function register(): void {
62 46 add_action( 'admin_head', [ $this, 'renderTemplate' ] );
63 47 }
64 48
65 - /**
66 - * Renders template.
67 - */
68 49 public function renderTemplate(): void {
69 50 $nonce = wp_create_nonce( 'wp_rest' );
70 - $orderSaveUrl = $this->orderControllerRouter->getRouteUrl( Controller::PATH_SAVE_MODAL );
51 + $orderSaveUrl = $this->apiRouter->getSaveModalUrl();
52 +
53 + $form = $this->orderForm->create();
54 + $form->addSubmit( 'submit', $this->wpAdapter->__( 'Save', 'packeta' ) );
55 + $form->addButton( 'cancel', $this->wpAdapter->__( 'Cancel', 'packeta' ) );
56 +
71 57 $this->latteEngine->render(
72 58 PACKETERY_PLUGIN_DIR . '/template/order/modal-template.latte',
73 59 [
74 60 'nonce' => $nonce,
75 61 'orderSaveUrl' => $orderSaveUrl,
76 - 'form' => $this->createForm(),
77 - ]
78 - );
79 - }
62 + 'form' => $form,
63 + 'translations' => [
64 + // translators: %s: Order number.
65 + 'order#%s' => $this->wpAdapter->__( 'Order #%s', 'packeta' ),
80 66
81 - /**
82 - * Creates order modal form.
83 - *
84 - * @return Form
85 - */
86 - public function createForm(): Form {
87 - $form = $this->formFactory->create();
88 - $form->addText( 'packetery_weight', __( 'weight', 'packetery' ) . ' (kg)' )
89 - ->setRequired( false )
90 - ->addRule( Form::FLOAT );
91 -
92 - $form->addSubmit( 'submit', __( 'save', 'packetery' ) );
93 - $form->addButton( 'cancel', __( 'cancel', 'packetery' ) );
94 -
95 - $form->setDefaults(
96 - [
97 - 'packetery_weight' => '{{ data.order.packetery_weight }}',
67 + 'closeModalPanel' => $this->wpAdapter->__( 'Close modal panel', 'packeta' ),
68 + 'weightIsManual' => $this->wpAdapter->__( 'Weight is manually set. To calculate weight remove the field content and save.', 'packeta' ),
69 + 'codIsManual' => $this->wpAdapter->__( 'COD value is manually set. To calculate the value remove field content and save.', 'packeta' ),
70 + 'valueIsManual' => $this->wpAdapter->__( 'Order value is manually set. To calculate the value remove field content and save.', 'packeta' ),
71 + 'adultContent' => $this->wpAdapter->__( 'Adult content', 'packeta' ),
72 + ],
98 73 ]
99 74 );
100 -
101 - return $form;
102 75 }
103 76 }