diff --git a/uw_cfg_common.module b/uw_cfg_common.module index 5cfcaf817535d436a58018c987d82b0e48a407e5..9edb90c3a7c3adf129209e3e724da0b6e070ddd0 100644 --- a/uw_cfg_common.module +++ b/uw_cfg_common.module @@ -6,6 +6,8 @@ */ use Drupal\Core\Form\FormStateInterface; +use Drupal\webform\WebformInterface; +use Drupal\webform\WebformSubmissionStorageInterface; /** * Implements hook_form_FORM_ID_alter(). @@ -129,13 +131,21 @@ function uw_cfg_common_form_webform_settings_form_form_alter(array &$form, FormS function uw_cfg_common_form_webform_settings_submissions_form_alter(array &$form, FormStateInterface $form_state, string $form_id): void { // Remove undesired features. unset($form['access_denied']); - unset($form['purge_settings']); unset($form['submission_behaviors']['form_convert_anonymous']); unset($form['submission_behaviors']['submission_log']); unset($form['submission_behaviors']['token_update']); unset($form['views_settings']); } +/** + * Implements hook_ENTITY_TYPE_create(). + */ +function uw_cfg_common_webform_create(WebformInterface $webform) { + // Submission purge settings. Set the default to purge drafts after 28 days. + $webform->setSetting('purge', WebformSubmissionStorageInterface::PURGE_DRAFT); + $webform->setSetting('purge_days', 28); +} + /** * Implements hook_toolbar_alter(). *