diff --git a/app/mailers/notifier.rb b/app/mailers/notifier.rb index 35249586eef27aba6f6ad25f23ac831aa869cefb..76387c56dc77abe454c6ab6076cc27dd1a0f9d75 100644 --- a/app/mailers/notifier.rb +++ b/app/mailers/notifier.rb @@ -74,7 +74,7 @@ class Notifier < ActionMailer::Base I18n.with_locale(@receiver.language) do mail(:from => "\"#{@sender.name} (Diaspora)\" <#{AppConfig[:smtp_sender_address]}>", :to => "\"#{@receiver.name}\" <#{@receiver.email}>", - :subject => "Re: #{post_message(@comment.parent, :length => TRUNCATION_LEN)}") + :subject => "Re: #{comment_email_subject}") end end @@ -89,13 +89,16 @@ class Notifier < ActionMailer::Base log_mail(recipient_id, sender_id, 'comment_on_post') I18n.with_locale(@receiver.language) do - subject_message = post_message(@comment.parent, :length => TRUNCATION_LEN) mail(:from => "\"#{@sender.name} (Diaspora)\" <#{AppConfig[:smtp_sender_address]}>", :to => "\"#{@receiver.name}\" <#{@receiver.email}>", - :subject => "Re: #{subject_message}") + :subject => "Re: #{comment_email_subject}") end end + def comment_email_subject + truncate(@comment.parent.comment_email_subject, :length => TRUNCATION_LEN) + end + def private_message(recipient_id, sender_id, message_id) @receiver = User.find_by_id(recipient_id) @sender = Person.find_by_id(sender_id) diff --git a/app/models/activity_streams/photo.rb b/app/models/activity_streams/photo.rb index c45cbbfdba0dc165f52a1ba8aa5bbec2a18adb35..1d67dc9575f06cd5871085448d43861c9bfd86d1 100644 --- a/app/models/activity_streams/photo.rb +++ b/app/models/activity_streams/photo.rb @@ -53,5 +53,9 @@ class ActivityStreams::Photo < Post # A better solution is needed. # @return [Boolean] true def activity_streams?; true; end + + def comment_email_subject + I18n.t("photos.comment_email_subject", :name => author.name) + end end diff --git a/app/models/post.rb b/app/models/post.rb index 1141f2fa0186941d0d5813205b04e8cfbf3c00d8..b6d8b08cba9db7f311a7d3f5a4b9f3f30f6cd439 100644 --- a/app/models/post.rb +++ b/app/models/post.rb @@ -117,6 +117,10 @@ class Post < ActiveRecord::Base false end + def comment_email_subject + I18n.t('notifier.a_post_you_shared') + end + # @return [Array<Comment>] def last_three_comments self.comments.order('created_at DESC').limit(3).includes(:author => :profile).reverse diff --git a/app/models/reshare.rb b/app/models/reshare.rb index f235697911c1a2494754cc918a4a2f3bc9f86f29..f82769a3c2833295bdf156e7309e934344d55528 100644 --- a/app/models/reshare.rb +++ b/app/models/reshare.rb @@ -31,6 +31,9 @@ class Reshare < Post end end + def comment_email_subject + I18n.t('reshares.comment_email_subject', :resharer => author.name, :author => root.author.name) + end private def after_parse diff --git a/app/models/status_message.rb b/app/models/status_message.rb index 58ed733bb6de41a2a49fba2c0a966914d3243e08..c0838623420d62a7fa5c214e54f2c5c83e3989ad 100644 --- a/app/models/status_message.rb +++ b/app/models/status_message.rb @@ -132,6 +132,10 @@ class StatusMessage < Post end end + def comment_email_subject + formatted_message(:plain_text => true) + end + protected def message_or_photos_present? diff --git a/config/locales/diaspora/en.yml b/config/locales/diaspora/en.yml index 453c80f759cbf8ae26c72204a2f41b3d5a6d9800..d934e2d9393e01e42eb54fb26c301bae23bb5999 100644 --- a/config/locales/diaspora/en.yml +++ b/config/locales/diaspora/en.yml @@ -533,6 +533,7 @@ en: new_profile_photo: upload: "Upload a new profile photo!" or_select_one: "or select one from your already existing" + comment_email_subject: "%{name}'s photo" posts: show: @@ -621,6 +622,7 @@ en: deleted: "Original post deleted by author." create: failure: "There was an error resharing this post." + comment_email_subject: "%{resharer}'s reshare of %{author}'s post" services: index: logged_in_as: "logged in as"