added mailer
This commit is contained in:
@@ -8,6 +8,7 @@ class SupportersController < ApplicationController
|
||||
def create
|
||||
@supporter = Supporter.new supporter_form_params.merge(language: I18n.locale)
|
||||
if !input_to_fast? && @supporter.save
|
||||
SupporterMailer.welcome_email(@supporter).deliver_now
|
||||
redirect_to thanks_path
|
||||
else
|
||||
flash.now[:danger] = t '.timeout' if input_to_fast?
|
||||
|
||||
@@ -0,0 +1,4 @@
|
||||
class ApplicationMailer < ActionMailer::Base
|
||||
default from: 'markus@hanflegal.ch'
|
||||
layout 'mailer'
|
||||
end
|
||||
@@ -0,0 +1,6 @@
|
||||
class SupporterMailer < ApplicationMailer
|
||||
def welcome_email(supporter)
|
||||
@supporter = supporter
|
||||
mail(to: @supporter.email, subject: I18n.t('welcome_email.subject'))
|
||||
end
|
||||
end
|
||||
@@ -0,0 +1,6 @@
|
||||
doctype html
|
||||
html
|
||||
head
|
||||
meta content=("text/html; charset=UTF-8") http-equiv="Content-Type" /
|
||||
body style='padding: 20px; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 16px;'
|
||||
= yield
|
||||
@@ -0,0 +1,20 @@
|
||||
p
|
||||
strong Hallo #{@supporter.first_name},
|
||||
|
||||
p Du bist nun ein Teil der Bewegung!
|
||||
|
||||
p Wir informieren dich per E-Mail über die nächsten Schritte und kommen aktiv auf dich zu. Auf <a href="https://www.hanflegal.ch/initiative">https://www.hanflegal.ch/initiative</a> informieren wir über laufende Aktivitäten.
|
||||
|
||||
p
|
||||
b Was kannst du machen?
|
||||
|
||||
p
|
||||
ul
|
||||
li Folge uns auf Facebook <a href="https://www.facebook.com/vereinlegalizeit">Facebook</a> und <a href="https://twitter.com/VereinLegalize">Twitter</a>
|
||||
li Teile unser Projekt in den sozialen Medien mit dem Hashtag #ch420
|
||||
li Erzähle allen von unserem Vorhaben und bitte Sie mitzumachen
|
||||
li Werde Mitglied beim <a href="https://www.hanflegal.ch">Verein Legalize it!</a>
|
||||
|
||||
p
|
||||
| Hanfige Grüsse,
|
||||
em die Initianten
|
||||
@@ -35,4 +35,9 @@ Rails.application.configure do
|
||||
|
||||
# Raises error for missing translations
|
||||
# config.action_view.raise_on_missing_translations = true
|
||||
|
||||
config.action_mailer.default_url_options = { host: 'localhost:3000' }
|
||||
|
||||
config.action_mailer.delivery_method = :smtp
|
||||
config.action_mailer.smtp_settings = { address: 'localhost', port: 1025 }
|
||||
end
|
||||
|
||||
@@ -73,4 +73,17 @@ Rails.application.configure do
|
||||
|
||||
# Use default logging formatter so that PID and timestamp are not suppressed.
|
||||
config.log_formatter = ::Logger::Formatter.new
|
||||
|
||||
config.action_mailer.default_url_options = { host: 'ch420.herokuapp.com' }
|
||||
|
||||
config.action_mailer.delivery_method = :smtp
|
||||
config.action_mailer.smtp_settings = {
|
||||
port: '587',
|
||||
address: ENV['SMTP_HOST'],
|
||||
user_name: ENV['SMTP_USER'],
|
||||
password: ENV['SMTP_PASSWORD'],
|
||||
domain: 'hanflegal.ch',
|
||||
authentication: :plain,
|
||||
enable_starttls_auto: true
|
||||
}
|
||||
end
|
||||
|
||||
@@ -1,4 +1,7 @@
|
||||
de:
|
||||
welcome_email:
|
||||
subject: Besten dank für deine Unterstützung!
|
||||
|
||||
support_type:
|
||||
signer: Ich unterschreibe eine Volksinitiative für die <span class="text-success">Legalisierung von Cannabis</span>.
|
||||
supporter: Ich unterschreibe eine Volksinitiative für die <span class="text-success">Legalisierung von Cannabis</span> und helfe aktiv Unterschriften in meiner Umgebung zu sammeln.
|
||||
|
||||
@@ -20,7 +20,10 @@ feature 'Support announcement' do
|
||||
|
||||
sleep 5 # Do a real sleep to have a real integration test
|
||||
|
||||
expect(ActionMailer::Base.deliveries.count).to eq 0
|
||||
expect { click_button 'Unterstützung zusichern' }.to change { Supporter.count }.by(1)
|
||||
expect(ActionMailer::Base.deliveries.count).to eq 1
|
||||
|
||||
supporter = Supporter.find_by(email: 'blocher@blocher.ch')
|
||||
expect(supporter.coordinates).to eq [8.618589100000001, 47.2926304]
|
||||
expect(supporter.comments).to eq 'Test text'
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
# Preview all emails at http://localhost:3000/rails/mailers/supporter_mailer
|
||||
class SupporterMailerPreview < ActionMailer::Preview
|
||||
def welcome
|
||||
SupporterMailer.welcome_email(Supporter.first)
|
||||
end
|
||||
end
|
||||
@@ -44,4 +44,8 @@ RSpec.configure do |config|
|
||||
config.after(:each) do
|
||||
Mongoid.purge!
|
||||
end
|
||||
|
||||
config.before(:each) do
|
||||
ActionMailer::Base.deliveries.clear
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user