Skip to content

Commit 2ee5901

Browse files
committed
Added ability to select category for migrated forms
1 parent 5186013 commit 2ee5901

File tree

1 file changed

+26
-0
lines changed

1 file changed

+26
-0
lines changed

os2forms.module

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,27 @@ function os2forms_webform_third_party_settings_form_alter(&$form, FormStateInter
2020
];
2121
}
2222

23+
/**
24+
* Implements hook_webform_admin_third_party_settings_form_alter().
25+
*/
26+
function os2forms_webform_admin_third_party_settings_form_alter(&$form, FormStateInterface $form_state) {
27+
$form['third_party_settings']['os2forms'] = [
28+
'#type' => 'details',
29+
'#title' => t('OS2Forms'),
30+
];
31+
/** @var \Drupal\webform\WebformThirdPartySettingsManagerInterface $third_party_settings_manager */
32+
$third_party_settings_manager = \Drupal::service('webform.third_party_settings_manager');
33+
$webform_entity_storage = \Drupal::service('entity.manager')->getStorage('webform');
34+
$form['third_party_settings']['os2forms']['migrate_to_category'] = [
35+
'#type' => 'webform_select_other',
36+
'#title' => t('Migrate webforms to category'),
37+
'#description' => t('After migration webforms will get this category.'),
38+
'#options' => $webform_entity_storage->getCategories(),
39+
'#empty_value' => 'none',
40+
'#default_value' => $third_party_settings_manager->getThirdPartySetting('os2forms', 'migrate_to_category') ?: FALSE,
41+
];
42+
}
43+
2344
/**
2445
* Implements hook_theme().
2546
*/
@@ -100,6 +121,11 @@ function os2forms_webform_migrate_d7_webform_element_bt_layout_cols_alter(&$mark
100121
function os2forms_migrate_prepare_row(\Drupal\migrate\Row $row, \Drupal\migrate\Plugin\MigrateSourceInterface $source, \Drupal\migrate\Plugin\MigrationInterface $migration) {
101122
_os2forms_migrate_prepare_row_pdf($row, $source, $migration);
102123
_os2forms_migrate_prepare_row_doc($row, $source, $migration);
124+
/** @var \Drupal\webform\WebformThirdPartySettingsManagerInterface $third_party_settings_manager */
125+
$migrate_to_category = \Drupal::service('webform.third_party_settings_manager')->getThirdPartySetting('os2forms', 'migrate_to_category');
126+
if (!empty($migrate_to_category)) {
127+
$row->setDestinationProperty('category', $migrate_to_category);
128+
}
103129
}
104130

105131
/**

0 commit comments

Comments
 (0)