diff --git a/api/app/Integrations/Handlers/DiscordIntegration.php b/api/app/Integrations/Handlers/DiscordIntegration.php index 5358c69f..a11cdab7 100644 --- a/api/app/Integrations/Handlers/DiscordIntegration.php +++ b/api/app/Integrations/Handlers/DiscordIntegration.php @@ -37,12 +37,6 @@ class DiscordIntegration extends AbstractIntegrationHandler { $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(); - $externalLinks = []; if (Arr::get($settings, 'link_open_form', true)) { $externalLinks[] = '[**🔗 Open Form**](' . $this->form->share_url . ')'; @@ -59,6 +53,12 @@ class DiscordIntegration extends AbstractIntegrationHandler $color = hexdec(str_replace('#', '', $this->form->color)); $blocks = []; if (Arr::get($settings, 'include_submission_data', true)) { + $formatter = (new FormSubmissionFormatter($this->form, $this->submissionData))->outputStringsOnly(); + if (Arr::get($settings, 'include_hidden_fields_submission_data', false)) { + $formatter->showHiddenFields(); + } + $formattedData = $formatter->getFieldsWithValue(); + $submissionString = ''; foreach ($formattedData as $field) { $tmpVal = is_array($field['value']) ? implode(',', $field['value']) : $field['value']; @@ -89,6 +89,7 @@ class DiscordIntegration extends AbstractIntegrationHandler ]; } + $formattedData = (new FormSubmissionFormatter($this->form, $this->submissionData))->outputStringsOnly()->showHiddenFields()->getFieldsWithValue(); $message = Arr::get($settings, 'message', 'New form submission'); return [ 'content' => (new MentionParser($message, $formattedData))->parse(), diff --git a/api/app/Integrations/Handlers/SlackIntegration.php b/api/app/Integrations/Handlers/SlackIntegration.php index 30da6921..378ed96d 100644 --- a/api/app/Integrations/Handlers/SlackIntegration.php +++ b/api/app/Integrations/Handlers/SlackIntegration.php @@ -37,12 +37,6 @@ class SlackIntegration extends AbstractIntegrationHandler { $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(); - $externalLinks = []; if (Arr::get($settings, 'link_open_form', true)) { $externalLinks[] = '*<' . $this->form->share_url . '|🔗 Open Form>*'; @@ -56,6 +50,7 @@ class SlackIntegration extends AbstractIntegrationHandler $externalLinks[] = '*<' . $this->form->share_url . '?submission_id=' . $submissionId . '|✍️ ' . $this->form->editable_submissions_button_text . '>*'; } + $formattedData = (new FormSubmissionFormatter($this->form, $this->submissionData))->outputStringsOnly()->showHiddenFields()->getFieldsWithValue(); $message = Arr::get($settings, 'message', 'New form submission'); $blocks = [ [ @@ -68,6 +63,12 @@ class SlackIntegration extends AbstractIntegrationHandler ]; if (Arr::get($settings, 'include_submission_data', true)) { + $formatter = (new FormSubmissionFormatter($this->form, $this->submissionData))->outputStringsOnly(); + if (Arr::get($settings, 'include_hidden_fields_submission_data', false)) { + $formatter->showHiddenFields(); + } + $formattedData = $formatter->getFieldsWithValue(); + $submissionString = ''; foreach ($formattedData as $field) { $tmpVal = is_array($field['value']) ? implode(',', $field['value']) : $field['value']; diff --git a/api/app/Jobs/Form/StoreFormSubmissionJob.php b/api/app/Jobs/Form/StoreFormSubmissionJob.php index 7621e5c1..ce481919 100644 --- a/api/app/Jobs/Form/StoreFormSubmissionJob.php +++ b/api/app/Jobs/Form/StoreFormSubmissionJob.php @@ -136,7 +136,7 @@ class StoreFormSubmissionJob implements ShouldQueue } } else { if ($field['type'] == 'text' && isset($field['generates_uuid']) && $field['generates_uuid']) { - $finalData[$field['id']] = ($this->form->is_pro) ? Str::uuid() : 'Please upgrade your OpenForm subscription to use our ID generation features'; + $finalData[$field['id']] = ($this->form->is_pro) ? Str::uuid()->toString() : 'Please upgrade your OpenForm subscription to use our ID generation features'; } else { if ($field['type'] == 'text' && isset($field['generates_auto_increment_id']) && $field['generates_auto_increment_id']) { $finalData[$field['id']] = ($this->form->is_pro) ? (string) ($this->form->submissions_count + 1) : 'Please upgrade your OpenForm subscription to use our ID generation features'; diff --git a/api/app/Service/Forms/FormSubmissionProcessor.php b/api/app/Service/Forms/FormSubmissionProcessor.php index 90dc9d93..968f6324 100644 --- a/api/app/Service/Forms/FormSubmissionProcessor.php +++ b/api/app/Service/Forms/FormSubmissionProcessor.php @@ -49,7 +49,7 @@ class FormSubmissionProcessor */ private function isFieldUsedInRedirectUrl(Form $form, string $fieldId): bool { - return str_contains($form->redirect_url, '{' . $fieldId . '}'); + return str_contains($form->redirect_url, $fieldId); } /**