diff --git a/app/models/account_config.rb b/app/models/account_config.rb index 083aea07..23c071f7 100644 --- a/app/models/account_config.rb +++ b/app/models/account_config.rb @@ -58,6 +58,12 @@ class AccountConfig < ApplicationRecord TEMPLATE_CUSTOM_FIELDS_KEY = 'template_custom_fields' POLICY_LINKS_KEY = 'policy_links' + EMAIL_VARIABLES = { + SUBMITTER_INVITATION_EMAIL_KEY => %w[template.name submitter.link account.name].freeze, + SUBMITTER_COMPLETED_EMAIL_KEY => %w[template.name submission.submitters submission.link].freeze, + SUBMITTER_DOCUMENTS_COPY_EMAIL_KEY => %w[template.name documents.link account.name].freeze + }.freeze + DEFAULT_VALUES = { SUBMITTER_INVITATION_EMAIL_KEY => lambda { { diff --git a/app/views/personalization_settings/_email_body_field.html.erb b/app/views/personalization_settings/_email_body_field.html.erb index d58d4bd8..9bbf57ae 100644 --- a/app/views/personalization_settings/_email_body_field.html.erb +++ b/app/views/personalization_settings/_email_body_field.html.erb @@ -1,5 +1,5 @@
<%= ff.label :body, t('body'), class: 'label' %> - <% variables = AccountConfig::DEFAULT_VALUES[local_assigns[:config].key].call['body'].scan(/\{([^}]+)\}/).flatten.uniq %> + <% variables = AccountConfig::EMAIL_VARIABLES[local_assigns[:config].key] %> <%= render 'personalization_settings/markdown_editor', name: ff.field_name(:body), value: local_assigns[:config].value['body'], variables: variables %>
diff --git a/app/views/personalization_settings/_submitter_completed_email_form.html.erb b/app/views/personalization_settings/_submitter_completed_email_form.html.erb index 11803829..af1dadaf 100644 --- a/app/views/personalization_settings/_submitter_completed_email_form.html.erb +++ b/app/views/personalization_settings/_submitter_completed_email_form.html.erb @@ -12,7 +12,7 @@
<%= ff.label :subject, t('subject'), class: 'label' %> - + "> <%= svg_icon('info_circle', class: 'w-4 h-4') %>
diff --git a/app/views/submissions/_send_email_base.html.erb b/app/views/submissions/_send_email_base.html.erb index f7982eed..f143d875 100644 --- a/app/views/submissions/_send_email_base.html.erb +++ b/app/views/submissions/_send_email_base.html.erb @@ -56,7 +56,7 @@
<%= f.label :message, t('body'), class: 'label' %> - <% body_variables = AccountConfig::DEFAULT_VALUES[AccountConfig::SUBMITTER_INVITATION_EMAIL_KEY].call['body'].scan(/\{([^}]+)\}/).flatten.uniq %> + <% body_variables = AccountConfig::EMAIL_VARIABLES[AccountConfig::SUBMITTER_INVITATION_EMAIL_KEY] %> <%= render 'personalization_settings/markdown_editor', name: f.field_name(:body), value: local_assigns[:submitter_email_message]&.body.presence || submitter_preferences_index.dig(local_assigns[:submitter]&.uuid, 'request_email_body').presence || template&.preferences&.dig('request_email_body').presence || config.value['body'], variables: body_variables %> <% unless local_assigns.fetch(:disable_save_as_default_template_option, false) %>
-
- <%= ff.label :completed_notification_email_body, t('email_body'), class: 'label' %> - - <%= svg_icon('info_circle', class: 'w-4 h-4') %> - -
- - <%= ff.text_area :completed_notification_email_body, required: true, class: 'base-input w-full py-2 !rounded-2xl', dir: 'auto' %> - + <%= ff.label :completed_notification_email_body, t('email_body'), class: 'label' %> + <%= render 'personalization_settings/markdown_editor', name: ff.field_name(:completed_notification_email_body), value: ff.object.completed_notification_email_body, variables: AccountConfig::EMAIL_VARIABLES[AccountConfig::SUBMITTER_COMPLETED_EMAIL_KEY] %>
<% end %> <% end %> diff --git a/app/views/templates_preferences/_submitter_documents_copy_email_form.html.erb b/app/views/templates_preferences/_submitter_documents_copy_email_form.html.erb index 8d178369..faa9e617 100644 --- a/app/views/templates_preferences/_submitter_documents_copy_email_form.html.erb +++ b/app/views/templates_preferences/_submitter_documents_copy_email_form.html.erb @@ -20,15 +20,8 @@ <%= ff.text_field :documents_copy_email_subject, required: true, class: 'base-input', dir: 'auto' %>
-
- <%= ff.label :documents_copy_email_body, t('email_body'), class: 'label' %> - - <%= svg_icon('info_circle', class: 'w-4 h-4') %> - -
- - <%= ff.text_area :documents_copy_email_body, required: true, class: 'base-input w-full py-2 !rounded-2xl', dir: 'auto' %> - + <%= ff.label :documents_copy_email_body, t('email_body'), class: 'label' %> + <%= render 'personalization_settings/markdown_editor', name: ff.field_name(:documents_copy_email_body), value: ff.object.documents_copy_email_body, variables: AccountConfig::EMAIL_VARIABLES[AccountConfig::SUBMITTER_DOCUMENTS_COPY_EMAIL_KEY] %>
<% if can?(:manage, :reply_to) %>
diff --git a/app/views/templates_preferences/_submitter_invitation_email_form.html.erb b/app/views/templates_preferences/_submitter_invitation_email_form.html.erb index 0f87ddcd..caa4acb8 100644 --- a/app/views/templates_preferences/_submitter_invitation_email_form.html.erb +++ b/app/views/templates_preferences/_submitter_invitation_email_form.html.erb @@ -27,15 +27,8 @@ <%= ff.text_field :request_email_subject, required: true, class: 'base-input', dir: 'auto' %>
-
- <%= ff.label :request_email_body, t('email_body'), class: 'label' %> - - <%= svg_icon('info_circle', class: 'w-4 h-4') %> - -
- - <%= ff.text_area :request_email_body, required: true, class: 'base-input w-full py-2 !rounded-2xl', dir: 'auto' %> - + <%= ff.label :request_email_body, t('email_body'), class: 'label' %> + <%= render 'personalization_settings/markdown_editor', name: ff.field_name(:request_email_body), value: ff.object.request_email_body, variables: AccountConfig::EMAIL_VARIABLES[AccountConfig::SUBMITTER_INVITATION_EMAIL_KEY] %>
<% end %> @@ -71,15 +64,8 @@ <%= fff.text_field :request_email_subject, required: true, class: 'base-input', dir: 'auto' %>
-
- <%= fff.label :request_email_body, t('email_body'), class: 'label' %> - - <%= svg_icon('info_circle', class: 'w-4 h-4') %> - -
- - <%= fff.text_area :request_email_body, required: true, class: 'base-input w-full py-2', dir: 'auto' %> - + <%= fff.label :request_email_body, t('email_body'), class: 'label' %> + <%= render 'personalization_settings/markdown_editor', name: fff.field_name(:request_email_body), value: fff.object.request_email_body, variables: AccountConfig::EMAIL_VARIABLES[AccountConfig::SUBMITTER_INVITATION_EMAIL_KEY] %>
<% end %>