From 35efd6711dcc4ebaea570ba8e689d99103ced43b Mon Sep 17 00:00:00 2001 From: Chirag Chhatrala <60499540+chiragchhatrala@users.noreply.github.com> Date: Thu, 28 Mar 2024 23:16:29 +0530 Subject: [PATCH] Remove old code related to notifications (#363) * Integrations Refactoring - WIP * integrations list & edit - WIP * Fix integration store binding issue * integrations refactor - WIP * Form integration - WIP * Form integration Edit - WIP * Integration Refactor - Slack - WIP * Integration Refactor - Discord - WIP * Integration Refactor - Webhook - WIP * Integration Refactor - Send Submission Confirmation - WIP * Integration Refactor - Backend handler - WIP * Form Integration Status field * Integration Refactor - Backend SubmissionConfirmation - WIP * IntegrationMigration Command * skip confirmation email test case * Small refactoring * FormIntegration status active/inactive * formIntegrationData to integrationData * Rename file name with Integration suffix for integration realted files * Loader on form integrations * WIP * form integration test case * WIP * Added Integration card - working on refactoring * change location for IntegrationCard and update package file * Form Integration Create/Edit in single Modal * Remove integration extra pages * crisp_help_page_slug for integration json * integration logic as collapse * UI improvements * WIP * Trying to debug vue devtools * WIP for integrations * getIntegrationHandler change namespace name * useForm for integration fields + validation structure * Integration Test case & apply validation rules * Apply useform changes to integration other files * validation rules for FormNotificationsMessageActions fields * Zapier integration as coming soon * Update FormCleaner * set default settings for confirmation integration * WIP * Finish validation for all integrations * Updated purify, added integration formatData * Fix testcase * Ran pint; working on integration errors * Handle integration events * Remove old code related to notifications * command for Delete Old Integration Events * Display Past Events in Modal * on Integration event create with status error send email to form creator * Polish styling * Minor improvements * Finish badge and integration status * Fix tests and add an integration event test * Run linters --------- Co-authored-by: Forms Dev Co-authored-by: Julien Nahum --- .../Templates/FormTemplateRequest.php | 12 +- app/Http/Requests/UserFormRequest.php | 18 +-- app/Http/Resources/FormResource.php | 15 +-- app/Listeners/Forms/NotifyFormSubmission.php | 24 ++-- app/Models/Forms/Form.php | 61 ++------- app/Models/Integration/FormZapierWebhook.php | 2 +- .../Integrations/AbstractWebhookHandler.php | 67 ---------- .../Forms/Integrations/DiscordHandler.php | 86 ------------ .../Integrations/SimpleWebhookHandler.php | 21 --- .../Forms/Integrations/SlackHandler.php | 96 -------------- .../Integrations/WebhookHandlerProvider.php | 36 ------ .../Forms/Integrations/ZapierHandler.php | 27 ---- .../open/forms/components/FormEditor.vue | 3 - .../form-components/FormNotifications.vue | 61 --------- .../components/FormNotificationsDiscord.vue | 90 ------------- .../components/FormNotificationsOption.vue | 94 -------------- .../components/FormNotificationsSlack.vue | 91 ------------- ...ormNotificationsSubmissionConfirmation.vue | 122 ------------------ .../components/FormNotificationsWebhook.vue | 89 ------------- .../open/integrations/DiscordIntegration.vue | 5 +- .../open/integrations/SlackIntegration.vue | 5 +- .../NotificationsMessageActions.vue} | 2 +- client/composables/forms/initForm.js | 10 -- client/pages/forms/[slug]/edit.vue | 4 - database/factories/FormFactory.php | 10 -- ...remove_notifications_fields_from_forms.php | 61 +++++++++ tests/Feature/Forms/FormIntegrationTest.php | 2 - 27 files changed, 94 insertions(+), 1020 deletions(-) delete mode 100644 app/Service/Forms/Integrations/AbstractWebhookHandler.php delete mode 100644 app/Service/Forms/Integrations/DiscordHandler.php delete mode 100644 app/Service/Forms/Integrations/SimpleWebhookHandler.php delete mode 100644 app/Service/Forms/Integrations/SlackHandler.php delete mode 100644 app/Service/Forms/Integrations/WebhookHandlerProvider.php delete mode 100644 app/Service/Forms/Integrations/ZapierHandler.php delete mode 100644 client/components/open/forms/components/form-components/FormNotifications.vue delete mode 100644 client/components/open/forms/components/form-components/components/FormNotificationsDiscord.vue delete mode 100644 client/components/open/forms/components/form-components/components/FormNotificationsOption.vue delete mode 100644 client/components/open/forms/components/form-components/components/FormNotificationsSlack.vue delete mode 100644 client/components/open/forms/components/form-components/components/FormNotificationsSubmissionConfirmation.vue delete mode 100644 client/components/open/forms/components/form-components/components/FormNotificationsWebhook.vue rename client/components/open/{forms/components/form-components/components/FormNotificationsMessageActions.vue => integrations/components/NotificationsMessageActions.vue} (97%) create mode 100644 database/migrations/2024_03_26_170934_remove_notifications_fields_from_forms.php diff --git a/app/Http/Requests/Templates/FormTemplateRequest.php b/app/Http/Requests/Templates/FormTemplateRequest.php index 052f92dd..9d3f5b67 100644 --- a/app/Http/Requests/Templates/FormTemplateRequest.php +++ b/app/Http/Requests/Templates/FormTemplateRequest.php @@ -20,14 +20,6 @@ class FormTemplateRequest extends FormRequest 'is_password_protected', 'last_edited_human', 'max_number_of_submissions_reached', - 'notifies', - 'notification_body', - 'notification_emails', - 'notification_sender', - 'notification_subject', - 'notifications_include_submission', - 'notifies_slack', - 'slack_webhook_url', 'removed_properties', 'creator_id', 'extra', @@ -50,14 +42,14 @@ class FormTemplateRequest extends FormRequest { $slugRule = ''; if ($this->id) { - $slugRule = ','.$this->id; + $slugRule = ',' . $this->id; } return [ 'form' => 'required|array', 'publicly_listed' => 'boolean', 'name' => 'required|string|max:60', - 'slug' => 'required|string|alpha_dash|unique:templates,slug'.$slugRule, + 'slug' => 'required|string|alpha_dash|unique:templates,slug' . $slugRule, 'short_description' => 'required|string|max:1000', 'description' => 'required|string', 'image_url' => 'required|string', diff --git a/app/Http/Requests/UserFormRequest.php b/app/Http/Requests/UserFormRequest.php index e75796a9..ee2bcac1 100644 --- a/app/Http/Requests/UserFormRequest.php +++ b/app/Http/Requests/UserFormRequest.php @@ -5,7 +5,6 @@ namespace App\Http\Requests; use App\Http\Requests\Workspace\CustomDomainRequest; use App\Models\Forms\Form; use App\Rules\FormPropertyLogicRule; -use App\Rules\OneEmailPerLine; use Illuminate\Validation\Rule; /** @@ -29,20 +28,6 @@ abstract class UserFormRequest extends \Illuminate\Foundation\Http\FormRequest 'tags' => 'nullable|array', 'visibility' => ['required', Rule::in(Form::VISIBILITY)], - // Notifications - 'notifies' => 'boolean', - 'notification_emails' => ['required_if:notifies,1', new OneEmailPerLine()], - 'send_submission_confirmation' => 'boolean', - 'notification_sender' => 'string|max:64', - 'notification_subject' => 'string|max:200', - 'notification_body' => 'string|nullable', - 'notifications_include_submission' => 'boolean', - 'webhook_url' => 'url|nullable', - 'use_captcha' => 'boolean', - 'slack_webhook_url' => 'url|nullable', - 'discord_webhook_url' => 'url|nullable', - 'notification_settings' => 'nullable', - // Customization 'theme' => ['required', Rule::in(Form::THEMES)], 'width' => ['required', Rule::in(Form::WIDTHS)], @@ -125,10 +110,11 @@ abstract class UserFormRequest extends \Illuminate\Foundation\Http\FormRequest // Security & Privacy 'can_be_indexed' => 'boolean', 'password' => 'sometimes|nullable', + 'use_captcha' => 'boolean', // Custom SEO 'seo_meta' => 'nullable|array', - 'custom_domain' => 'sometimes|nullable|regex:'.CustomDomainRequest::CUSTOM_DOMAINS_REGEX, + 'custom_domain' => 'sometimes|nullable|regex:' . CustomDomainRequest::CUSTOM_DOMAINS_REGEX, ]; } diff --git a/app/Http/Resources/FormResource.php b/app/Http/Resources/FormResource.php index bec5b2ba..5c453af6 100644 --- a/app/Http/Resources/FormResource.php +++ b/app/Http/Resources/FormResource.php @@ -18,34 +18,21 @@ class FormResource extends JsonResource */ public function toArray($request) { - if (! $this->userIsFormOwner() && ProtectedForm::isProtected($request, $this->resource)) { + if (!$this->userIsFormOwner() && ProtectedForm::isProtected($request, $this->resource)) { return $this->getProtectedForm(); } $ownerData = $this->userIsFormOwner() ? [ 'views_count' => $this->views_count, 'submissions_count' => $this->submissions_count, - 'notifies' => $this->notifies, - 'notifies_webhook' => $this->notifies_webhook, - 'notifies_slack' => $this->notifies_slack, - 'notifies_discord' => $this->notifies_discord, 'send_submission_confirmation' => $this->send_submission_confirmation, - 'webhook_url' => $this->webhook_url, 'redirect_url' => $this->redirect_url, 'database_fields_update' => $this->database_fields_update, 'cleanings' => $this->getCleanigns(), - 'notification_sender' => $this->notification_sender, - 'notification_subject' => $this->notification_subject, - 'notification_body' => $this->notification_body, - 'notifications_include_submission' => $this->notifications_include_submission, 'can_be_indexed' => $this->can_be_indexed, 'password' => $this->password, 'tags' => $this->tags, 'visibility' => $this->visibility, - 'notification_emails' => $this->notification_emails, - 'slack_webhook_url' => $this->slack_webhook_url, - 'discord_webhook_url' => $this->discord_webhook_url, - 'notification_settings' => $this->notification_settings, 'removed_properties' => $this->removed_properties, 'last_edited_human' => $this->updated_at?->diffForHumans(), 'seo_meta' => $this->seo_meta, diff --git a/app/Listeners/Forms/NotifyFormSubmission.php b/app/Listeners/Forms/NotifyFormSubmission.php index ca362a3a..a88fb859 100644 --- a/app/Listeners/Forms/NotifyFormSubmission.php +++ b/app/Listeners/Forms/NotifyFormSubmission.php @@ -15,34 +15,28 @@ class NotifyFormSubmission implements ShouldQueue /** * Sends notification to pre-defined emails on form submissions * - * @param object $event + * @param object $event * @return void */ public function handle(FormSubmitted $event) { - $formIntegrations = FormIntegration::where([['form_id', $event->form->id], ['status', FormIntegration::STATUS_ACTIVE]])->get(); + $formIntegrations = $event->form->integrations()->where('status', FormIntegration::STATUS_ACTIVE)->get(); foreach ($formIntegrations as $formIntegration) { - ray($formIntegration, $formIntegration->integration_id); $this->getIntegrationHandler( $event, $formIntegration )->run(); } - - /* $this->sendEmailNotifications($event); - $this->sendWebhookNotification($event, WebhookHandlerProvider::SIMPLE_WEBHOOK_PROVIDER); - $this->sendWebhookNotification($event, WebhookHandlerProvider::SLACK_PROVIDER); - $this->sendWebhookNotification($event, WebhookHandlerProvider::DISCORD_PROVIDER); - foreach ($event->form->zappierHooks as $hook) { - $hook->triggerHook($event->data); - } - */ } - public static function getIntegrationHandler(FormSubmitted $event, FormIntegration $formIntegration): AbstractIntegrationHandler - { + public static function getIntegrationHandler( + FormSubmitted $event, + FormIntegration $formIntegration + ): AbstractIntegrationHandler { $integration = FormIntegration::getIntegration($formIntegration->integration_id); - if ($integration && isset($integration['file_name']) && class_exists('App\Service\Forms\Integrations\\' . $integration['file_name'])) { + if ($integration && isset($integration['file_name']) && class_exists( + 'App\Service\Forms\Integrations\\' . $integration['file_name'] + )) { $className = 'App\Service\Forms\Integrations\\' . $integration['file_name']; return new $className($event, $formIntegration, $integration); } diff --git a/app/Models/Forms/Form.php b/app/Models/Forms/Form.php index a1fcc22f..9b773d75 100644 --- a/app/Models/Forms/Form.php +++ b/app/Models/Forms/Form.php @@ -3,6 +3,7 @@ namespace App\Models\Forms; use App\Events\Models\FormCreated; +use App\Models\Integration\FormIntegration; use App\Models\Integration\FormZapierWebhook; use App\Models\Traits\CachableAttributes; use App\Models\Traits\CachesAttributes; @@ -41,21 +42,6 @@ class Form extends Model implements CachableAttributes 'properties', 'removed_properties', - // Notifications - 'notifies', - 'notification_emails', - 'send_submission_confirmation', - 'notification_sender', - 'notification_subject', - 'notification_body', - 'notifications_include_submission', - 'slack_webhook_url', - 'discord_webhook_url', - 'notification_settings', - - // integrations - 'webhook_url', - 'title', 'description', 'tags', @@ -109,8 +95,7 @@ class Form extends Model implements CachableAttributes 'closes_at' => 'datetime', 'tags' => 'array', 'removed_properties' => 'array', - 'seo_meta' => 'object', - 'notification_settings' => 'object', + 'seo_meta' => 'object' ]; protected $appends = [ @@ -119,20 +104,10 @@ class Form extends Model implements CachableAttributes protected $hidden = [ 'workspace_id', - 'notifies', - 'slack_webhook_url', - 'discord_webhook_url', - 'webhook_url', - 'send_submission_confirmation', 'redirect_url', 'database_fields_update', - 'notification_sender', - 'notification_subject', - 'notification_body', - 'notifications_include_submission', 'password', 'tags', - 'notification_emails', 'removed_properties', ]; @@ -161,15 +136,15 @@ class Form extends Model implements CachableAttributes public function getShareUrlAttribute() { if ($this->custom_domain) { - return 'https://'.$this->custom_domain.'/forms/'.$this->slug; + return 'https://' . $this->custom_domain . '/forms/' . $this->slug; } - return front_url('/forms/'.$this->slug); + return front_url('/forms/' . $this->slug); } public function getEditUrlAttribute() { - return front_url('/forms/'.$this->slug.'/show'); + return front_url('/forms/' . $this->slug . '/show'); } public function getSubmissionsCountAttribute() @@ -218,7 +193,7 @@ class Form extends Model implements CachableAttributes public function getFormPendingSubmissionKeyAttribute() { if ($this->updated_at?->timestamp) { - return 'openform-'.$this->id.'-pending-submission-'.substr($this->updated_at?->timestamp, -6); + return 'openform-' . $this->id . '-pending-submission-' . substr($this->updated_at?->timestamp, -6); } return null; @@ -241,7 +216,7 @@ class Form extends Model implements CachableAttributes public function getHasPasswordAttribute() { - return ! empty($this->password); + return !empty($this->password); } public function getMaxFileSizeAttribute() @@ -293,6 +268,11 @@ class Form extends Model implements CachableAttributes return $this->hasMany(FormZapierWebhook::class); } + public function integrations() + { + return $this->hasMany(FormIntegration::class); + } + /** * Config/options */ @@ -301,7 +281,7 @@ class Form extends Model implements CachableAttributes return SlugOptions::create() ->doNotGenerateSlugsOnUpdate() ->generateSlugsFrom(function (Form $form) { - return $form->title.' '.Str::random(6); + return $form->title . ' ' . Str::random(6); }) ->saveSlugsTo('slug'); } @@ -310,19 +290,4 @@ class Form extends Model implements CachableAttributes { return FormFactory::new(); } - - public function getNotifiesWebhookAttribute() - { - return ! empty($this->webhook_url); - } - - public function getNotifiesDiscordAttribute() - { - return ! empty($this->discord_webhook_url); - } - - public function getNotifiesSlackAttribute() - { - return ! empty($this->slack_webhook_url); - } } diff --git a/app/Models/Integration/FormZapierWebhook.php b/app/Models/Integration/FormZapierWebhook.php index ec84a8c8..77c57906 100644 --- a/app/Models/Integration/FormZapierWebhook.php +++ b/app/Models/Integration/FormZapierWebhook.php @@ -3,7 +3,7 @@ namespace App\Models\Integration; use App\Models\Forms\Form; -use App\Service\Forms\Integrations\WebhookHandlerProvider; +use App\Service\Forms\Webhooks\WebhookHandlerProvider; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\SoftDeletes; diff --git a/app/Service/Forms/Integrations/AbstractWebhookHandler.php b/app/Service/Forms/Integrations/AbstractWebhookHandler.php deleted file mode 100644 index bee7f1fd..00000000 --- a/app/Service/Forms/Integrations/AbstractWebhookHandler.php +++ /dev/null @@ -1,67 +0,0 @@ -form, $this->data)) - ->useSignedUrlForFiles() - ->showHiddenFields(); - - $formattedData = []; - foreach ($formatter->getFieldsWithValue() as $field) { - $formattedData[$field['name']] = $field['value']; - } - - $data = [ - 'form_title' => $this->form->title, - 'form_slug' => $this->form->slug, - 'submission' => $formattedData, - ]; - if ($this->form->is_pro && $this->form->editable_submissions) { - $data['edit_link'] = $this->form->share_url.'?submission_id='.Hashids::encode($this->data['submission_id']); - } - - return $data; - } - - abstract protected function shouldRun(): bool; - - public function handle() - { - if (! $this->shouldRun()) { - return; - } - - WebhookCall::create() - // Add context on error, used to notify form owner - ->meta([ - 'type' => 'form_submission', - 'data' => $this->data, - 'form' => $this->form, - 'provider' => $this->getProviderName(), - ]) - ->url($this->getWebhookUrl()) - ->doNotSign() - ->payload($this->getWebhookData()) - ->dispatchSync(); - } -} diff --git a/app/Service/Forms/Integrations/DiscordHandler.php b/app/Service/Forms/Integrations/DiscordHandler.php deleted file mode 100644 index 30bbbabb..00000000 --- a/app/Service/Forms/Integrations/DiscordHandler.php +++ /dev/null @@ -1,86 +0,0 @@ -form->discord_webhook_url; - } - - protected function getWebhookData(): array - { - $settings = (array) Arr::get((array) $this->form->notification_settings, 'discord', []); - $externalLinks = []; - if (Arr::get($settings, 'link_open_form', true)) { - $externalLinks[] = '[**🔗 Open Form**]('.$this->form->share_url.')'; - } - if (Arr::get($settings, 'link_edit_form', true)) { - $editFormURL = front_url('forms/'.$this->form->slug.'/show'); - $externalLinks[] = '[**✍️ Edit Form**]('.$editFormURL.')'; - } - if (Arr::get($settings, 'link_edit_submission', true) && $this->form->editable_submissions) { - $submissionId = Hashids::encode($this->data['submission_id']); - $externalLinks[] = '[**✍️ '.$this->form->editable_submissions_button_text.'**]('.$this->form->share_url.'?submission_id='.$submissionId.')'; - } - - $color = hexdec(str_replace('#', '', $this->form->color)); - $blocks = []; - if (Arr::get($settings, 'include_submission_data', true)) { - $submissionString = ''; - $formatter = (new FormSubmissionFormatter($this->form, $this->data))->outputStringsOnly(); - foreach ($formatter->getFieldsWithValue() as $field) { - $tmpVal = is_array($field['value']) ? implode(',', $field['value']) : $field['value']; - $submissionString .= '**'.ucfirst($field['name']).'**: '.$tmpVal."\n"; - } - $blocks[] = [ - 'type' => 'rich', - 'color' => $color, - 'description' => $submissionString, - ]; - } - - if (Arr::get($settings, 'views_submissions_count', true)) { - $countString = '**👀 Views**: '.(string) $this->form->views_count." \n"; - $countString .= '**🖊️ Submissions**: '.(string) $this->form->submissions_count; - $blocks[] = [ - 'type' => 'rich', - 'color' => $color, - 'description' => $countString, - ]; - } - - if (count($externalLinks) > 0) { - $blocks[] = [ - 'type' => 'rich', - 'color' => $color, - 'description' => implode(' - ', $externalLinks), - ]; - } - - return [ - 'content' => 'New submission for your form **'.$this->form->title.'**', - 'tts' => false, - 'username' => config('app.name'), - 'avatar_url' => asset('img/logo.png'), - 'embeds' => $blocks, - ]; - } - - protected function shouldRun(): bool - { - return ! is_null($this->getWebhookUrl()) - && str_contains($this->getWebhookUrl(), 'https://discord.com/api/webhooks') - && $this->form->is_pro; - } -} diff --git a/app/Service/Forms/Integrations/SimpleWebhookHandler.php b/app/Service/Forms/Integrations/SimpleWebhookHandler.php deleted file mode 100644 index 1d2b9cea..00000000 --- a/app/Service/Forms/Integrations/SimpleWebhookHandler.php +++ /dev/null @@ -1,21 +0,0 @@ -form->webhook_url; - } - - protected function shouldRun(): bool - { - return ! is_null($this->getWebhookUrl()) && $this->form->is_pro; - } -} diff --git a/app/Service/Forms/Integrations/SlackHandler.php b/app/Service/Forms/Integrations/SlackHandler.php deleted file mode 100644 index 97d5dce7..00000000 --- a/app/Service/Forms/Integrations/SlackHandler.php +++ /dev/null @@ -1,96 +0,0 @@ -form->slack_webhook_url; - } - - protected function getWebhookData(): array - { - $settings = (array) Arr::get((array) $this->form->notification_settings, 'slack', []); - $externalLinks = []; - if (Arr::get($settings, 'link_open_form', true)) { - $externalLinks[] = '*<'.$this->form->share_url.'|🔗 Open Form>*'; - } - if (Arr::get($settings, 'link_edit_form', true)) { - $editFormURL = front_url('forms/'.$this->form->slug.'/show'); - $externalLinks[] = '*<'.$editFormURL.'|✍️ Edit Form>*'; - } - if (Arr::get($settings, 'link_edit_submission', true) && $this->form->editable_submissions) { - $submissionId = Hashids::encode($this->data['submission_id']); - $externalLinks[] = '*<'.$this->form->share_url.'?submission_id='.$submissionId.'|✍️ '.$this->form->editable_submissions_button_text.'>*'; - } - - $blocks = [ - [ - 'type' => 'section', - 'text' => [ - 'type' => 'mrkdwn', - 'text' => 'New submission for your form *'.$this->form->title.'*', - ], - ], - ]; - - if (Arr::get($settings, 'include_submission_data', true)) { - $submissionString = ''; - $formatter = (new FormSubmissionFormatter($this->form, $this->data))->outputStringsOnly(); - foreach ($formatter->getFieldsWithValue() as $field) { - $tmpVal = is_array($field['value']) ? implode(',', $field['value']) : $field['value']; - $submissionString .= '>*'.ucfirst($field['name']).'*: '.$tmpVal." \n"; - } - $blocks[] = [ - 'type' => 'section', - 'text' => [ - 'type' => 'mrkdwn', - 'text' => $submissionString, - ], - ]; - } - - if (Arr::get($settings, 'views_submissions_count', true)) { - $countString = '*👀 Views*: '.(string) $this->form->views_count." \n"; - $countString .= '*🖊️ Submissions*: '.(string) $this->form->submissions_count; - $blocks[] = [ - 'type' => 'section', - 'text' => [ - 'type' => 'mrkdwn', - 'text' => $countString, - ], - ]; - } - - if (count($externalLinks) > 0) { - $blocks[] = [ - 'type' => 'section', - 'text' => [ - 'type' => 'mrkdwn', - 'text' => implode(' ', $externalLinks), - ], - ]; - } - - return [ - 'blocks' => $blocks, - ]; - } - - protected function shouldRun(): bool - { - return ! is_null($this->getWebhookUrl()) - && str_contains($this->getWebhookUrl(), 'https://hooks.slack.com/') - && $this->form->is_pro; - } -} diff --git a/app/Service/Forms/Integrations/WebhookHandlerProvider.php b/app/Service/Forms/Integrations/WebhookHandlerProvider.php deleted file mode 100644 index 1c2efd9c..00000000 --- a/app/Service/Forms/Integrations/WebhookHandlerProvider.php +++ /dev/null @@ -1,36 +0,0 @@ -webhookUrl; - } - - protected function shouldRun(): bool - { - return ! is_null($this->getWebhookUrl()); - } -} diff --git a/client/components/open/forms/components/FormEditor.vue b/client/components/open/forms/components/FormEditor.vue index 1500074a..61de0796 100644 --- a/client/components/open/forms/components/FormEditor.vue +++ b/client/components/open/forms/components/FormEditor.vue @@ -58,7 +58,6 @@ - @@ -90,7 +89,6 @@ import FormStructure from './form-components/FormStructure.vue' import FormCustomization from './form-components/FormCustomization.vue' import FormCustomCode from './form-components/FormCustomCode.vue' import FormAboutSubmission from './form-components/FormAboutSubmission.vue' -import FormNotifications from './form-components/FormNotifications.vue' import FormEditorPreview from './form-components/FormEditorPreview.vue' import FormSecurityPrivacy from './form-components/FormSecurityPrivacy.vue' import FormCustomSeo from './form-components/FormCustomSeo.vue' @@ -104,7 +102,6 @@ export default { components: { FormEditorSidebar, FormEditorPreview, - FormNotifications, FormAboutSubmission, FormCustomCode, FormCustomization, diff --git a/client/components/open/forms/components/form-components/FormNotifications.vue b/client/components/open/forms/components/form-components/FormNotifications.vue deleted file mode 100644 index 32fd16e4..00000000 --- a/client/components/open/forms/components/form-components/FormNotifications.vue +++ /dev/null @@ -1,61 +0,0 @@ - - - diff --git a/client/components/open/forms/components/form-components/components/FormNotificationsDiscord.vue b/client/components/open/forms/components/form-components/components/FormNotificationsDiscord.vue deleted file mode 100644 index 89ba8596..00000000 --- a/client/components/open/forms/components/form-components/components/FormNotificationsDiscord.vue +++ /dev/null @@ -1,90 +0,0 @@ - - - diff --git a/client/components/open/forms/components/form-components/components/FormNotificationsOption.vue b/client/components/open/forms/components/form-components/components/FormNotificationsOption.vue deleted file mode 100644 index df54c19a..00000000 --- a/client/components/open/forms/components/form-components/components/FormNotificationsOption.vue +++ /dev/null @@ -1,94 +0,0 @@ - - - diff --git a/client/components/open/forms/components/form-components/components/FormNotificationsSlack.vue b/client/components/open/forms/components/form-components/components/FormNotificationsSlack.vue deleted file mode 100644 index 8e1d13d4..00000000 --- a/client/components/open/forms/components/form-components/components/FormNotificationsSlack.vue +++ /dev/null @@ -1,91 +0,0 @@ - - - diff --git a/client/components/open/forms/components/form-components/components/FormNotificationsSubmissionConfirmation.vue b/client/components/open/forms/components/form-components/components/FormNotificationsSubmissionConfirmation.vue deleted file mode 100644 index f45e7b27..00000000 --- a/client/components/open/forms/components/form-components/components/FormNotificationsSubmissionConfirmation.vue +++ /dev/null @@ -1,122 +0,0 @@ - - - diff --git a/client/components/open/forms/components/form-components/components/FormNotificationsWebhook.vue b/client/components/open/forms/components/form-components/components/FormNotificationsWebhook.vue deleted file mode 100644 index bfe7ac5f..00000000 --- a/client/components/open/forms/components/form-components/components/FormNotificationsWebhook.vue +++ /dev/null @@ -1,89 +0,0 @@ - - - diff --git a/client/components/open/integrations/DiscordIntegration.vue b/client/components/open/integrations/DiscordIntegration.vue index c793a6b1..99493dde 100644 --- a/client/components/open/integrations/DiscordIntegration.vue +++ b/client/components/open/integrations/DiscordIntegration.vue @@ -15,14 +15,13 @@

Discord message options

- +