Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions .github/workflows/pr.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
php-versions: [ '7.4', '8.0', '8.1' ]
php-versions: [ '8.1' ]
dependency-version: [ prefer-lowest, prefer-stable ]
steps:
- uses: actions/checkout@master
Expand Down Expand Up @@ -55,7 +55,7 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
php-versions: [ '7.4', '8.0', '8.1' ]
php-versions: [ '8.1' ]
dependency-version: [ prefer-lowest, prefer-stable ]
steps:
- uses: actions/checkout@master
Expand Down Expand Up @@ -88,7 +88,7 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
php-versions: [ '7.4', '8.0', '8.1' ]
php-versions: [ '8.1' ]
dependency-version: [ prefer-lowest, prefer-stable ]
steps:
- uses: actions/checkout@master
Expand Down
1 change: 1 addition & 0 deletions .php-version
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
8.1
4 changes: 4 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,10 @@ Versioning](https://semver.org/spec/v2.0.0.html).

## [Unreleased]

### Fixed

- Handled even more errors in form preview

## [1.1.1]

### Fixed
Expand Down
45 changes: 16 additions & 29 deletions src/Controller/WebformController.php
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
use Drupal\Core\Http\RequestStack;
use Drupal\Core\Link;
use Drupal\Core\Render\Markup;
use Drupal\Core\Render\RendererInterface;
use Drupal\Core\Routing\TrustedRedirectResponse;
use Drupal\Core\Serialization\Yaml;
use Drupal\Core\Url;
Expand All @@ -24,34 +25,15 @@ final class WebformController extends ControllerBase {
private const FILTER_WEBFORMS_IMPORTED = 'imported';
private const FILTER_WEBFORMS_NOT_IMPORTED = 'not imported';

/**
* The request stack.
*
* @var \Drupal\Core\Http\RequestStack
*/
private RequestStack $requestStack;

/**
* The import helper.
*
* @var \Drupal\os2forms_sync\Helper\ImportHelper
*/
private ImportHelper $importHelper;

/**
* The webform helper.
*
* @var \Drupal\os2forms_sync\Helper\WebformHelper
*/
private WebformHelper $webformHelper;

/**
* Constructor.
*/
public function __construct(RequestStack $requestStack, ImportHelper $importHelper, WebformHelper $webformHelper) {
$this->requestStack = $requestStack;
$this->importHelper = $importHelper;
$this->webformHelper = $webformHelper;
public function __construct(
readonly private RequestStack $requestStack,
readonly private ImportHelper $importHelper,
readonly private WebformHelper $webformHelper,
readonly private RendererInterface $renderer
) {
}

/**
Expand All @@ -61,7 +43,8 @@ public static function create(ContainerInterface $container): self {
return new static(
$container->get('request_stack'),
$container->get(ImportHelper::class),
$container->get(WebformHelper::class)
$container->get(WebformHelper::class),
$container->get('renderer')
);
}

Expand Down Expand Up @@ -141,6 +124,9 @@ public function index(): array {
$attributes = $webform->attributes;
try {
$form = $this->webformHelper->getSubmissionForm($attributes['elements']);
// Make sure that the form cannot be submitted (hopefully).
$form['#attributes']['onsubmit'] = 'return false';
$renderedForm = $this->renderer->renderPlain($form);
}
catch (\Throwable $t) {
$form = [
Expand All @@ -151,9 +137,8 @@ public function index(): array {
],
],
];
$renderedForm = $this->renderer->renderPlain($form);
}
// Make sure that the form cannot be submitted (hopefully).
$form['#attributes']['onsubmit'] = 'return false';

$sourceUrl = $webform->sourceUrl;
$importedWebform = $importedWebforms[$sourceUrl] ?? NULL;
Expand All @@ -178,7 +163,9 @@ public function index(): array {
'form_display' => [
'#type' => 'details',
'#title' => $this->t('Form display'),
'form' => $form,
'form' => [
'#markup' => $renderedForm,
],
],

'elements' => [
Expand Down