77use Drupal \Core \Http \RequestStack ;
88use Drupal \Core \Link ;
99use Drupal \Core \Render \Markup ;
10+ use Drupal \Core \Render \RendererInterface ;
1011use Drupal \Core \Routing \TrustedRedirectResponse ;
1112use Drupal \Core \Serialization \Yaml ;
1213use Drupal \Core \Url ;
@@ -24,34 +25,15 @@ final class WebformController extends ControllerBase {
2425 private const FILTER_WEBFORMS_IMPORTED = 'imported ' ;
2526 private const FILTER_WEBFORMS_NOT_IMPORTED = 'not imported ' ;
2627
27- /**
28- * The request stack.
29- *
30- * @var \Drupal\Core\Http\RequestStack
31- */
32- private RequestStack $ requestStack ;
33-
34- /**
35- * The import helper.
36- *
37- * @var \Drupal\os2forms_sync\Helper\ImportHelper
38- */
39- private ImportHelper $ importHelper ;
40-
41- /**
42- * The webform helper.
43- *
44- * @var \Drupal\os2forms_sync\Helper\WebformHelper
45- */
46- private WebformHelper $ webformHelper ;
47-
4828 /**
4929 * Constructor.
5030 */
51- public function __construct (RequestStack $ requestStack , ImportHelper $ importHelper , WebformHelper $ webformHelper ) {
52- $ this ->requestStack = $ requestStack ;
53- $ this ->importHelper = $ importHelper ;
54- $ this ->webformHelper = $ webformHelper ;
31+ public function __construct (
32+ readonly private RequestStack $ requestStack ,
33+ readonly private ImportHelper $ importHelper ,
34+ readonly private WebformHelper $ webformHelper ,
35+ readonly private RendererInterface $ renderer
36+ ) {
5537 }
5638
5739 /**
@@ -61,7 +43,8 @@ public static function create(ContainerInterface $container): self {
6143 return new static (
6244 $ container ->get ('request_stack ' ),
6345 $ container ->get (ImportHelper::class),
64- $ container ->get (WebformHelper::class)
46+ $ container ->get (WebformHelper::class),
47+ $ container ->get ('renderer ' )
6548 );
6649 }
6750
@@ -141,6 +124,9 @@ public function index(): array {
141124 $ attributes = $ webform ->attributes ;
142125 try {
143126 $ form = $ this ->webformHelper ->getSubmissionForm ($ attributes ['elements ' ]);
127+ // Make sure that the form cannot be submitted (hopefully).
128+ $ form ['#attributes ' ]['onsubmit ' ] = 'return false ' ;
129+ $ renderedForm = $ this ->renderer ->renderPlain ($ form );
144130 }
145131 catch (\Throwable $ t ) {
146132 $ form = [
@@ -151,9 +137,8 @@ public function index(): array {
151137 ],
152138 ],
153139 ];
140+ $ renderedForm = $ this ->renderer ->renderPlain ($ form );
154141 }
155- // Make sure that the form cannot be submitted (hopefully).
156- $ form ['#attributes ' ]['onsubmit ' ] = 'return false ' ;
157142
158143 $ sourceUrl = $ webform ->sourceUrl ;
159144 $ importedWebform = $ importedWebforms [$ sourceUrl ] ?? NULL ;
@@ -178,7 +163,9 @@ public function index(): array {
178163 'form_display ' => [
179164 '#type ' => 'details ' ,
180165 '#title ' => $ this ->t ('Form display ' ),
181- 'form ' => $ form ,
166+ 'form ' => [
167+ '#markup ' => $ renderedForm ,
168+ ],
182169 ],
183170
184171 'elements ' => [
0 commit comments