From 9a2d7b9d8ddee54eebe9868db502ac18d619cd85 Mon Sep 17 00:00:00 2001 From: Chirag Chhatrala <60499540+chiragchhatrala@users.noreply.github.com> Date: Mon, 30 Dec 2024 15:41:17 +0530 Subject: [PATCH] On slack,discord add support for Include hidden fields (#654) --- api/app/Integrations/Handlers/DiscordIntegration.php | 7 ++++++- api/app/Integrations/Handlers/SlackIntegration.php | 7 ++++++- .../components/NotificationsMessageActions.vue | 11 +++++++++++ 3 files changed, 23 insertions(+), 2 deletions(-) diff --git a/api/app/Integrations/Handlers/DiscordIntegration.php b/api/app/Integrations/Handlers/DiscordIntegration.php index e9977fd1..5358c69f 100644 --- a/api/app/Integrations/Handlers/DiscordIntegration.php +++ b/api/app/Integrations/Handlers/DiscordIntegration.php @@ -15,6 +15,7 @@ class DiscordIntegration extends AbstractIntegrationHandler return [ 'discord_webhook_url' => 'required|url|starts_with:https://discord.com/api/webhooks', 'include_submission_data' => 'boolean', + 'include_hidden_fields_submission_data' => ['nullable', 'boolean'], 'link_open_form' => 'boolean', 'link_edit_form' => 'boolean', 'views_submissions_count' => 'boolean', @@ -34,10 +35,14 @@ class DiscordIntegration extends AbstractIntegrationHandler protected function getWebhookData(): array { + $settings = (array) $this->integrationData ?? []; + $formatter = (new FormSubmissionFormatter($this->form, $this->submissionData))->outputStringsOnly(); + if (Arr::get($settings, 'include_hidden_fields_submission_data', false)) { + $formatter->showHiddenFields(); + } $formattedData = $formatter->getFieldsWithValue(); - $settings = (array) $this->integrationData ?? []; $externalLinks = []; if (Arr::get($settings, 'link_open_form', true)) { $externalLinks[] = '[**🔗 Open Form**](' . $this->form->share_url . ')'; diff --git a/api/app/Integrations/Handlers/SlackIntegration.php b/api/app/Integrations/Handlers/SlackIntegration.php index 41978f08..30da6921 100644 --- a/api/app/Integrations/Handlers/SlackIntegration.php +++ b/api/app/Integrations/Handlers/SlackIntegration.php @@ -15,6 +15,7 @@ class SlackIntegration extends AbstractIntegrationHandler return [ 'slack_webhook_url' => 'required|url|starts_with:https://hooks.slack.com/', 'include_submission_data' => 'boolean', + 'include_hidden_fields_submission_data' => ['nullable', 'boolean'], 'link_open_form' => 'boolean', 'link_edit_form' => 'boolean', 'views_submissions_count' => 'boolean', @@ -34,10 +35,14 @@ class SlackIntegration extends AbstractIntegrationHandler protected function getWebhookData(): array { + $settings = (array) $this->integrationData ?? []; + $formatter = (new FormSubmissionFormatter($this->form, $this->submissionData))->outputStringsOnly(); + if (Arr::get($settings, 'include_hidden_fields_submission_data', false)) { + $formatter->showHiddenFields(); + } $formattedData = $formatter->getFieldsWithValue(); - $settings = (array) $this->integrationData ?? []; $externalLinks = []; if (Arr::get($settings, 'link_open_form', true)) { $externalLinks[] = '*<' . $this->form->share_url . '|🔗 Open Form>*'; diff --git a/client/components/open/integrations/components/NotificationsMessageActions.vue b/client/components/open/integrations/components/NotificationsMessageActions.vue index fa81e2f1..4d45dde2 100644 --- a/client/components/open/integrations/components/NotificationsMessageActions.vue +++ b/client/components/open/integrations/components/NotificationsMessageActions.vue @@ -15,6 +15,14 @@ label="Include submission data" help="With form submission answers" /> +