1616use \Symfony \Component \HttpFoundation \Response ;
1717use \Degami \PHPFormsApi as FAPI ;
1818use \App \App ;
19+ use \App \Base \Traits \FormPageTrait ;
1920
2021/**
2122 * Base for admin form page
2223 */
2324abstract class AdminFormPage extends AdminPage
2425{
26+ use FormPageTrait;
27+
2528 /**
2629 * {@inheritdocs}
2730 *
@@ -40,17 +43,6 @@ public function __construct(ContainerInterface $container, Request $request = nu
4043 $ this ->processFormSubmit ();
4144 }
4245
43- /**
44- * gets form id
45- *
46- * @return string
47- */
48- protected function getFormId ()
49- {
50- $ arr = explode ("\\" , strtolower (get_class ($ this )));
51- return array_pop ($ arr );
52- }
53-
5446 /**
5547 * process form submission
5648 *
@@ -65,122 +57,4 @@ private function processFormSubmit()
6557 $ this ->templateData ['form ' ]->process ();
6658 }
6759 }
68-
69- /**
70- * check if form is submitted
71- */
72- protected function isSubmitted ()
73- {
74- return ($ this ->templateData ['form ' ] && $ this ->templateData ['form ' ]->isSubmitted ());
75- }
76-
77- /**
78- * {@inheritdocs}
79- *
80- * @return Response|self
81- */
82- protected function beforeRender ()
83- {
84- if ($ this ->isSubmitted ()) {
85- $ this ->getApp ()->event ('form_submitted ' , ['form ' => $ this ->templateData ['form ' ]]);
86- return $ this ->templateData ['form ' ]->getSubmitResults (get_class ($ this ).'::formSubmitted ' );
87- }
88- return parent ::beforeRender ();
89- }
90-
91- /**
92- * get form object
93- *
94- * @return FAPI\Form
95- */
96- public function getForm ()
97- {
98- return $ this ->getTemplateData ()['form ' ];
99- }
100-
101- /**
102- * gets a form for confirmation
103- *
104- * @param string $confirm_message
105- * @param FAPI\Form $form
106- * @return FAPI\Form
107- */
108- protected function fillConfirmationForm ($ confirm_message , $ form )
109- {
110- $ form ->addField (
111- 'confirm ' ,
112- [
113- 'type ' => 'markup ' ,
114- 'value ' => $ this ->getUtils ()->translate ($ confirm_message , $ this ->getCurrentLocale ()),
115- 'suffix ' => '<br /><br /> ' ,
116- ]
117- )
118- ->addMarkup ('<a class="btn btn-danger btn-sm" href=" ' .$ this ->getControllerUrl ().'"> ' .$ this ->getUtils ()->translate ('Cancel ' , $ this ->getCurrentLocale ()).'</a> ' );
119- $ this ->addSubmitButton ($ form , true );
120- return $ form ;
121- }
122-
123- /**
124- * adds submit button to form
125- *
126- * @param FAPI\Form $form
127- * @param boolean $inline_button
128- * @return FAPI\Form
129- */
130- protected function addSubmitButton (FAPI \Form $ form , $ inline_button = false )
131- {
132- if ($ inline_button ) {
133- $ form
134- ->addField (
135- 'button ' ,
136- [
137- 'type ' => 'submit ' ,
138- 'container_tag ' => null ,
139- 'prefix ' => ' ' ,
140- 'value ' => 'Ok ' ,
141- 'attributes ' => ['class ' => 'btn btn-primary btn-sm ' ],
142- ]
143- );
144- } else {
145- $ form
146- ->addField (
147- 'button ' ,
148- [
149- 'type ' => 'submit ' ,
150- 'value ' => 'Ok ' ,
151- 'container_class ' => 'form-item mt-3 ' ,
152- 'attributes ' => ['class ' => 'btn btn-primary btn-lg btn-block ' ],
153- ]
154- );
155- }
156-
157- return $ form ;
158- }
159-
160- /**
161- * gets form definition object
162- *
163- * @param FAPI\Form $form
164- * @param array &$form_state
165- * @return FAPI\Form
166- */
167- abstract public function getFormDefinition (FAPI \Form $ form , &$ form_state );
168-
169- /**
170- * validates form submission
171- *
172- * @param FAPI\Form $form
173- * @param array &$form_state
174- * @return boolean|string
175- */
176- abstract public function formValidate (FAPI \Form $ form , &$ form_state );
177-
178- /**
179- * handles form submission
180- *
181- * @param FAPI\Form $form
182- * @param array &$form_state
183- * @return mixed|Response
184- */
185- abstract public function formSubmitted (FAPI \Form $ form , &$ form_state );
18660}
0 commit comments