diff --git a/app/controllers/management/user_invites_controller.rb b/app/controllers/management/user_invites_controller.rb
index 707759877..b022e6a86 100644
--- a/app/controllers/management/user_invites_controller.rb
+++ b/app/controllers/management/user_invites_controller.rb
@@ -4,6 +4,10 @@ class Management::UserInvitesController < Management::BaseController
end
def create
+ @emails = params[:emails].split
+ @emails.each do |email|
+ Mailer.user_invite(email).deliver_later
+ end
end
end
diff --git a/app/mailers/mailer.rb b/app/mailers/mailer.rb
index d987e34cc..55229ab72 100644
--- a/app/mailers/mailer.rb
+++ b/app/mailers/mailer.rb
@@ -68,6 +68,10 @@ class Mailer < ApplicationMailer
end
end
+ def user_invite(email)
+ mail(to: email, subject: t('mailers.user_invite.subject', org_name: Setting["org_name"]))
+ end
+
private
def with_user(user, &block)
diff --git a/app/views/mailer/user_invites.html.erb b/app/views/mailer/user_invite.html.erb
similarity index 55%
rename from app/views/mailer/user_invites.html.erb
rename to app/views/mailer/user_invite.html.erb
index 6d02022d3..43b95626c 100644
--- a/app/views/mailer/user_invites.html.erb
+++ b/app/views/mailer/user_invite.html.erb
@@ -1,23 +1,23 @@
- <%= t('mailers.user_invites.title',
+ <%= t('mailers.user_invite.title',
org: Setting['org_name']) %>
- <%= t('mailers.user_invites.text',
+ <%= t('mailers.user_invite.text',
org: Setting['org_name']) %>
- <%= link_to t('mailers.user_invites.button'), new_user_registration_path, style: "font-family: 'Open Sans','Helvetica Neue',arial,sans-serif; background: #004A83; border-radius: 6px; color: #fff !important; font-weight: bold; margin: 0px; padding: 10px 15px; text-align: center; text-decoration: none; min-width: 160px; display: inline-block; margin-left: 12px;" %>
+ <%= link_to t('mailers.user_invite.button'), new_user_registration_url, style: "font-family: 'Open Sans','Helvetica Neue',arial,sans-serif; background: #004A83; border-radius: 6px; color: #fff !important; font-weight: bold; margin: 0px; padding: 10px 15px; text-align: center; text-decoration: none; min-width: 160px; display: inline-block; margin-left: 12px;" %>
- <%= t('mailers.user_invites.ignore') %>
+ <%= t('mailers.user_invite.ignore') %>
- <%= t('mailers.user_invites.thanks') %>
+ <%= t('mailers.user_invite.thanks') %>
|
diff --git a/app/views/management/user_invites/create.html.erb b/app/views/management/user_invites/create.html.erb
index def83ef15..3d573532f 100644
--- a/app/views/management/user_invites/create.html.erb
+++ b/app/views/management/user_invites/create.html.erb
@@ -4,6 +4,6 @@
<%= t('management.user_invites.create.title') %>
- <%= t('management.user_invites.create.success_html') %>
+ <%= t('management.user_invites.create.success_html', count: @emails.count) %>
diff --git a/app/views/management/user_invites/new.html.erb b/app/views/management/user_invites/new.html.erb
index 2779648d2..a49a84538 100644
--- a/app/views/management/user_invites/new.html.erb
+++ b/app/views/management/user_invites/new.html.erb
@@ -1,12 +1,12 @@
<%= t('management.user_invites.new.title') %>
-
+ <% end %>
diff --git a/config/locales/mailers.en.yml b/config/locales/mailers.en.yml
index 6a14540be..9362b3202 100755
--- a/config/locales/mailers.en.yml
+++ b/config/locales/mailers.en.yml
@@ -46,9 +46,10 @@ en:
direct_message_for_sender:
subject: "You have send a new private message"
title_html: "You have send a new private message to %{receiver} with the content:"
- user_invites:
+ user_invite:
ignore: "If you have not requested this invitation don't worry, you can ignore this email."
text: "Thank you for applying to join %{org}! In seconds you can start to decide the city you want, just fill the form below:"
thanks: "Thank you very much."
title: "Welcome to %{org}"
- button: Complete registration
\ No newline at end of file
+ button: Complete registration
+ subject: "Invitation to %{org_name}"
\ No newline at end of file
diff --git a/config/locales/mailers.es.yml b/config/locales/mailers.es.yml
index 86d591134..75523cf6c 100644
--- a/config/locales/mailers.es.yml
+++ b/config/locales/mailers.es.yml
@@ -46,9 +46,10 @@ es:
direct_message_for_sender:
subject: "Has enviado un nuevo mensaje privado"
title_html: "Has enviado un nuevo mensaje privado a %{receiver} con el siguiente contenido:"
- user_invites:
+ user_invite:
ignore: "Si no has solicitado esta invitación no te preocupes, puedes ignorar este correo."
text: "¡Gracias por solicitar unirte a %{org}! En unos segundos podrás empezar a decidir la ciudad que quieres, sólo tienes que rellenar el siguiente formulario:"
thanks: "Muchas gracias."
title: "Bienvenido a %{org}"
- button: Completar registro
\ No newline at end of file
+ button: Completar registro
+ subject: "Invitación a %{org_name}"
\ No newline at end of file
diff --git a/config/locales/management.en.yml b/config/locales/management.en.yml
index 8060ac2c5..a0fffbde4 100644
--- a/config/locales/management.en.yml
+++ b/config/locales/management.en.yml
@@ -104,5 +104,5 @@ en:
submit: Send invites
title: User's invites
create:
- success_html: COUNT invitations have been sent.
+ success_html: %{count} invitations have been sent.
title: User's invites
\ No newline at end of file
diff --git a/config/locales/management.es.yml b/config/locales/management.es.yml
index 749a7f449..e5ee1c074 100644
--- a/config/locales/management.es.yml
+++ b/config/locales/management.es.yml
@@ -104,5 +104,5 @@ es:
submit: Enviar invitaciones
title: Invitaciones para usuarios
create:
- success_html: Se han enviado COUNT invitaciones.
+ success_html: Se han enviado %{count} invitaciones.
title: Invitaciones para usuarios
\ No newline at end of file
diff --git a/spec/features/emails_spec.rb b/spec/features/emails_spec.rb
index f793b5bb7..dcc90ca27 100644
--- a/spec/features/emails_spec.rb
+++ b/spec/features/emails_spec.rb
@@ -231,4 +231,26 @@ feature 'Emails' do
end
+ context "User invites" do
+
+ scenario "Send an invitation" do
+ login_as_manager
+ visit new_management_user_invite_path
+
+ fill_in "emails", with: "john@example.com, ana@example.com, isable@example.com"
+ click_button "Send invites"
+
+ expect(page).to have_content "3 invitations have been sent."
+
+ expect(unread_emails_for("john@example.com").count).to eq 1
+ expect(unread_emails_for("ana@example.com").count).to eq 1
+ expect(unread_emails_for("isable@example.com").count).to eq 1
+
+ email = open_last_email
+ expect(email).to have_subject("Invitation to Consul")
+ expect(email).to have_body_text(/#{new_user_registration_path}/)
+ end
+
+ end
+
end
diff --git a/spec/features/user_invites_spec.rb b/spec/features/user_invites_spec.rb
new file mode 100644
index 000000000..5627b0b7e
--- /dev/null
+++ b/spec/features/user_invites_spec.rb
@@ -0,0 +1,18 @@
+require 'rails_helper'
+
+feature 'User invites' do
+
+ background do
+ login_as_manager
+ end
+
+ scenario "Send invitations" do
+ visit new_management_user_invite_path
+
+ fill_in "emails", with: "john@example.com, ana@example.com, isable@example.com"
+ click_button "Send invites"
+
+ expect(page).to have_content "3 invitations have been sent."
+ end
+
+end
\ No newline at end of file