From bffe0efa972bf6f91067b28a53e55163032f0b4b Mon Sep 17 00:00:00 2001 From: Liam Morland <lkmorlan@uwaterloo.ca> Date: Wed, 26 Aug 2020 10:57:21 -0400 Subject: [PATCH] ISTWCMS-4023: Purge Webform drafts after 28 days by default Allow changing this default. --- uw_cfg_common.module | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/uw_cfg_common.module b/uw_cfg_common.module index 5cfcaf81..9edb90c3 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(). * -- GitLab