From 19e2eec2192ee026a1127d8d46e48e694f2e6ff5 Mon Sep 17 00:00:00 2001 From: Robin Ward Date: Fri, 21 Oct 2016 11:34:19 -0400 Subject: [PATCH] Allow step 0 to resend the confirmation email --- app/controllers/finish_installation_controller.rb | 13 ++++++++++++- .../finish_installation/confirm_email.html.erb | 10 ++++++++-- app/views/finish_installation/index.html.erb | 6 +++--- app/views/finish_installation/register.html.erb | 6 +++--- .../finish_installation/resend_email.html.erb | 3 +++ config/locales/server.en.yml | 5 ++++- config/routes.rb | 1 + .../finish_installation_controller_spec.rb | 14 ++++++++++++++ 8 files changed, 48 insertions(+), 10 deletions(-) create mode 100644 app/views/finish_installation/resend_email.html.erb diff --git a/app/controllers/finish_installation_controller.rb b/app/controllers/finish_installation_controller.rb index 7e6b8c4d3b3..01bbf5bfccb 100644 --- a/app/controllers/finish_installation_controller.rb +++ b/app/controllers/finish_installation_controller.rb @@ -2,7 +2,7 @@ class FinishInstallationController < ApplicationController skip_before_filter :check_xhr, :preload_json, :redirect_to_login_if_required layout 'finish_installation' - before_filter :ensure_no_admins, except: ['confirm_email'] + before_filter :ensure_no_admins, except: ['confirm_email', 'resend_email'] def index end @@ -35,6 +35,17 @@ class FinishInstallationController < ApplicationController @email = session[:registered_email] end + def resend_email + @email = session[:registered_email] + @user = User.where(email: @email).first + if @user.present? + @email_token = @user.email_tokens.unconfirmed.active.first + if @email_token.present? + Jobs.enqueue(:critical_user_email, type: :signup, user_id: @user.id, email_token: @email_token.token) + end + end + end + protected def redirect_confirm(email) diff --git a/app/views/finish_installation/confirm_email.html.erb b/app/views/finish_installation/confirm_email.html.erb index 73f2a381684..9d15c3621ae 100644 --- a/app/views/finish_installation/confirm_email.html.erb +++ b/app/views/finish_installation/confirm_email.html.erb @@ -1,3 +1,9 @@ -

<%= t 'first_installation.confirm_email.title' %>

+

<%= t 'finish_installation.confirm_email.title' %>

-<%= raw(t 'first_installation.confirm_email.message', email: @email) %> +<%= raw(t 'finish_installation.confirm_email.message', email: @email) %> + +
+ <%= button_to(finish_installation_resend_email_path, method: :put, class: 'wizard-btn') do %> + <%= t 'finish_installation.resend_email.title' %> + <% end %> +
diff --git a/app/views/finish_installation/index.html.erb b/app/views/finish_installation/index.html.erb index 4ae9cbba1f0..7428e9a37a4 100644 --- a/app/views/finish_installation/index.html.erb +++ b/app/views/finish_installation/index.html.erb @@ -1,16 +1,16 @@ -

<%= t 'first_installation.congratulations' %>

+

<%= t 'finish_installation.congratulations' %>

<%= image_tag "/images/wizard/tada.svg", class: "tada" %>
- <%= t 'first_installation.register.help' %> + <%= t 'finish_installation.register.help' %>
<%= link_to(finish_installation_register_path, class: 'wizard-btn primary') do %> - <%= t 'first_installation.register.button' %> + <%= t 'finish_installation.register.button' %> <% end %>
diff --git a/app/views/finish_installation/register.html.erb b/app/views/finish_installation/register.html.erb index 8d952a355d2..b6914657327 100644 --- a/app/views/finish_installation/register.html.erb +++ b/app/views/finish_installation/register.html.erb @@ -1,4 +1,4 @@ -

<%= t 'first_installation.register.title' %>

+

<%= t 'finish_installation.register.title' %>

<%- if @allowed_emails.present? %> <%= form_tag(finish_installation_register_path) do %> @@ -43,11 +43,11 @@ <% end %> - <%= submit_tag(t('first_installation.register.button'), class: 'wizard-btn primary') %> + <%= submit_tag(t('finish_installation.register.button'), class: 'wizard-btn primary') %> <%- end %> <%- else -%> -

<%= raw(t 'first_installation.register.no_emails') %>

+

<%= raw(t 'finish_installation.register.no_emails') %>

<%- end %>