-
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathwebform_openfisca.install
43 lines (39 loc) · 1.31 KB
/
webform_openfisca.install
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
<?php
/**
* @file
* Webform OpenFisca installation.
*/
/**
* Remove legacy global settings.
*
* @codeCoverageIgnore
*/
function webform_openfisca_update_8001() : void {
$config = \Drupal::configFactory()->getEditable('webform_openfisca.settings');
if (!$config->isNew()) {
$config->delete();
}
/** @var \Drupal\webform\WebformThirdPartySettingsManagerInterface $third_party_settings_manager */
$third_party_settings_manager = \Drupal::service('webform.third_party_settings_manager');
$settings = $third_party_settings_manager->getThirdPartySettings('webform_openfisca');
foreach (array_keys($settings) as $key) {
$third_party_settings_manager->unsetThirdPartySetting('webform_openfisca', $key);
}
}
/**
* Convert fisca_enabled in webform yaml to boolean.
*
* @codeCoverageIgnore
*/
function webform_openfisca_update_8002() : void {
$webform_storage = \Drupal::entityTypeManager()->getStorage('webform');
/** @var \Drupal\webform\WebformInterface[] $webforms */
$webforms = $webform_storage->loadMultiple();
foreach ($webforms as $webform) {
$settings = $webform->getThirdPartySettings('webform_openfisca');
if (isset($settings['fisca_enabled'])) {
$webform->setThirdPartySetting('webform_openfisca', 'fisca_enabled', (bool) $settings['fisca_enabled'])
->save();
}
}
}