function webform_test_webform_load in Webform 8.5
Same name and namespace in other branches
- 6.x tests/modules/webform_test/webform_test.module \webform_test_webform_load()
Implements hook_webform_load().
File
- tests/
modules/ webform_test/ webform_test.module, line 82 - Support module for webform related testing.
Code
function webform_test_webform_load(array $entities) {
// If ?generate is passed to the current pages URL the test webform's elements
// will get rebuilt.
if (!isset($_GET['generate'])) {
return;
}
foreach ($entities as $id => $entity) {
$name = _webform_test_load_include($id);
if ($name && function_exists('webform_test_' . $name)) {
$function = 'webform_test_' . $name;
$elements = $function($entity);
$entity
->setElements($elements);
// Issue: Unable to execute Webform::save().
// $entity->save();
// Workaround: Write the elements directory to webform config.
\Drupal::configFactory()
->getEditable('webform.webform.' . $id)
->set('elements', Yaml::encode($elements))
->save();
// Display message.
\Drupal::messenger()
->addStatus(t('Generated elements for %title webform', [
'%title' => $entity
->label(),
]));
}
}
}