before_action :set_shared_template_vars
before_action :attach_project_logo
- def signup_confirm(user, token)
+ def signup_confirm(user, token, referer = nil)
with_recipient_locale user do
@url = url_for(:controller => "confirmations", :action => "confirm",
:display_name => user.display_name,
- :confirm_string => token.token)
+ :confirm_string => token,
+ :referer => referer)
mail :to => user.email,
:subject => t(".subject")
set_references("diary", comment.diary_entry)
+ set_list_headers(
+ "#{comment.diary_entry.id}.diary.www.openstreetmap.org",
+ t(".description", :id => comment.diary_entry.id),
+ :archive => @readurl,
+ :subscribe => diary_entry_subscribe_url(comment.diary_entry.user, comment.diary_entry),
+ :unsubscribe => @unsubscribeurl
+ )
+
mail :from => from_address(comment.user.display_name, "c", comment.id, comment.notification_token(recipient.id), recipient.id),
:to => recipient.email,
:subject => t(".subject", :user => comment.user.display_name)
set_references("note", comment.note)
+ set_list_headers(
+ "#{comment.note.id}.note.www.openstreetmap.org",
+ t(".description", :id => comment.note.id),
+ :archive => @noteurl
+ )
+
subject = if @owner
t(".#{@event}.subject_own", :commenter => @commenter)
else
@changeset_comment = comment.changeset.tags["comment"].presence
@time = comment.created_at
@changeset_author = comment.changeset.user.display_name
+ @unsubscribe_url = unsubscribe_changeset_url(comment.changeset)
@author = @commenter
subject = if @owner
set_references("changeset", comment.changeset)
+ set_list_headers(
+ "#{comment.changeset.id}.changeset.www.openstreetmap.org",
+ t(".description", :id => comment.changeset.id),
+ :subscribe => subscribe_changeset_url(comment.changeset),
+ :unsubscribe => @unsubscribe_url,
+ :archive => @changeset_url
+ )
+
mail :to => recipient.email, :subject => subject
end
end
end
end
- def with_recipient_locale(recipient, &block)
- I18n.with_locale(Locale.available.preferred(recipient.preferred_languages), &block)
+ def with_recipient_locale(recipient, &)
+ I18n.with_locale(Locale.available.preferred(recipient.preferred_languages), &)
end
def from_address(name, type, id, token, user_id = nil)
headers["In-Reply-To"] = ref
headers["References"] = ref
end
+
+ def set_list_headers(id, description, options = {})
+ headers["List-ID"] = "#{description} <#{id}>"
+ headers["List-Archive"] = "<#{options[:archive]}>" if options[:archive]
+ headers["List-Subscribe"] = "<#{options[:subscribe]}>" if options[:subscribe]
+ headers["List-Unsubscribe"] = "<#{options[:unsubscribe]}>" if options[:unsubscribe]
+ end
end