1
+ <?php
2
+ /**
3
+ * @file
4
+ * Contains Drupal\minimum_maximum_order\Form\MinimumMaximumOrderForm.
5
+ */
6
+ namespace Drupal \minimum_maximum_order \Form ;
7
+ use Drupal \Core \Form \ConfigFormBase ;
8
+ use Drupal \Core \Form \FormStateInterface ;
9
+
10
+ class MinimumMaximumOrderForm extends ConfigFormBase {
11
+
12
+ /**
13
+ * {@inheritdoc}
14
+ */
15
+ protected function getEditableConfigNames () {
16
+ return [
17
+ 'minimum_maximum_order.adminsettings ' ,
18
+ ];
19
+ }
20
+
21
+ /**
22
+ * {@inheritdoc}
23
+ */
24
+ public function getFormId () {
25
+ return 'minimum_maximum_order_form ' ;
26
+ }
27
+ /**
28
+ * {@inheritdoc}
29
+ */
30
+ public function buildForm (array $ form , FormStateInterface $ form_state ) {
31
+ $ config = $ this ->config ('minimum_maximum_order.adminsettings ' );
32
+
33
+ $ form ['minimum_order ' ] = [
34
+ '#type ' => 'number ' ,
35
+ '#title ' => $ this ->t ('Minimum Order ' ),
36
+ '#description ' => $ this ->t ('Minimum order amount needed to go to checkout page ' ),
37
+ '#default_value ' => $ config ->get ('minimum_order ' )
38
+ ];
39
+
40
+ $ form ['maximum_order ' ] = [
41
+ '#type ' => 'number ' ,
42
+ '#title ' => $ this ->t ('Maximum Order ' ),
43
+ '#description ' => $ this ->t ('Maximum order amount needed to go to checkout page ' ),
44
+ '#default_value ' => $ config ->get ('maximum_order ' ),
45
+ ];
46
+
47
+ return parent ::buildForm ($ form , $ form_state );
48
+ }
49
+
50
+ /**
51
+ * {@inheritdoc}
52
+ */
53
+ public function validateForm (array &$ form , FormStateInterface $ form_state ) {
54
+ $ min = $ form_state ->getValue ('minimum_order ' );
55
+ $ max = $ form_state ->getValue ('maximum_order ' );
56
+ if (!empty ($ min )) {
57
+ if ($ min < 0 ) {
58
+ $ form_state ->setError ($ form ['minimum_order ' ],'Value for minimum order must be greater than 0 ' );
59
+ }
60
+ }
61
+ if (!empty ($ max )) {
62
+ if ($ form_state ->getValue ('maximum_order ' ) < 0 ) {
63
+ $ form_state ->setError ($ form ['maximum_order ' ],'Value for maximum order must be greater than 0 ' );
64
+ }
65
+ }
66
+ if (!empty ($ min ) && !empty ($ max ) && $ min >= $ max ) {
67
+ $ form_state ->setError ($ form ['minimum_order ' ],'Value for minimum order must be less than the maximum order ' );
68
+ }
69
+ }
70
+
71
+ /**
72
+ * {@inheritdoc}
73
+ */
74
+ public function submitForm (array &$ form , FormStateInterface $ form_state ) {
75
+
76
+ parent ::submitForm ($ form , $ form_state );
77
+
78
+ $ this ->config ('minimum_maximum_order.adminsettings ' )
79
+ ->set ('minimum_order ' , $ form_state ->getValue ('minimum_order ' ))
80
+ ->set ('maximum_order ' , $ form_state ->getValue ('maximum_order ' ))
81
+ ->save ();
82
+ }
83
+ }
0 commit comments