mentioning

This commit is contained in:
jomo
2014-07-06 04:57:51 +02:00
parent 2b1e8acee3
commit b1d797ce06
21 changed files with 326 additions and 60 deletions

View File

@@ -1,5 +1,8 @@
class Blogpost < ActiveRecord::Base
include MailerHelper
include UsersHelper
validates_presence_of :title, :content, :author
belongs_to :user_author, class_name: "User", foreign_key: "user_author_id"
belongs_to :user_editor, class_name: "User", foreign_key: "user_editor_id"
@@ -23,4 +26,20 @@ class Blogpost < ActiveRecord::Base
!!user_editor_id
end
def send_new_mention_mail(old_content = "")
new_mentions = mentions(content) - mentions(old_content)
mails = []
new_mentions.each do |user|
begin
mails << RedstonerMailer.new_post_mention_mail(user, self)
rescue => e
Rails.logger.error "---"
Rails.logger.error "WARNING: Failed to create new_post_mention_mail (view) for post#: #{@self.id}, user: #{@user.name}, #{@user.email}"
Rails.logger.error e.message
Rails.logger.error "---"
end
end
background_mailer(mails)
end
end

View File

@@ -1,6 +1,7 @@
class Comment < ActiveRecord::Base
include MailerHelper
include UsersHelper
belongs_to :user_author, class_name: "User", foreign_key: "user_author_id"
belongs_to :user_editor, class_name: "User", foreign_key: "user_editor_id"
@@ -49,7 +50,23 @@ class Comment < ActiveRecord::Base
mails << RedstonerMailer.new_post_comment_mail(User.find(uid), self)
rescue => e
Rails.logger.error "---"
Rails.logger.error "WARNING: Failed to create thread_reply mail (view) for reply#: #{@self.id}, user: #{@user.name}, #{@user.email}"
Rails.logger.error "WARNING: Failed to create post_reply mail (view) for reply#: #{@self.id}, user: #{@user.name}, #{@user.email}"
Rails.logger.error e.message
Rails.logger.error "---"
end
end
background_mailer(mails)
end
def send_new_mention_mail(old_content = "")
new_mentions = mentions(content) - mentions(old_content)
mails = []
new_mentions.each do |user|
begin
mails << RedstonerMailer.new_post_comment_mention_mail(user, self)
rescue => e
Rails.logger.error "---"
Rails.logger.error "WARNING: Failed to create new_post_comment_mention_mail (view) for reply#: #{@self.id}, user: #{@user.name}, #{@user.email}"
Rails.logger.error e.message
Rails.logger.error "---"
end

View File

@@ -1,4 +1,8 @@
class Forumthread < ActiveRecord::Base
include MailerHelper
include UsersHelper
belongs_to :forum
belongs_to :user_author, class_name: "User", foreign_key: "user_author_id"
belongs_to :user_editor, class_name: "User", foreign_key: "user_editor_id"
@@ -37,4 +41,20 @@ class Forumthread < ActiveRecord::Base
def can_write?(user)
forum.can_write?(user) && (!locked? || user.mod?)
end
def send_new_mention_mail(old_content = "")
new_mentions = mentions(content) - mentions(old_content)
mails = []
new_mentions.each do |user|
begin
mails << RedstonerMailer.new_thread_mention_mail(user, self)
rescue => e
Rails.logger.error "---"
Rails.logger.error "WARNING: Failed to create new_thread_mention_mail (view) for reply#: #{@self.id}, user: #{@user.name}, #{@user.email}"
Rails.logger.error e.message
Rails.logger.error "---"
end
end
background_mailer(mails)
end
end

View File

@@ -1,6 +1,7 @@
class Threadreply < ActiveRecord::Base
include MailerHelper
include UsersHelper
belongs_to :forumthread
belongs_to :user_author, class_name: "User", foreign_key: "user_author_id"
@@ -32,6 +33,22 @@ class Threadreply < ActiveRecord::Base
!!user_editor_id
end
def send_new_mention_mail(old_content = "")
new_mentions = mentions(content) - mentions(old_content)
mails = []
new_mentions.each do |user|
begin
mails << RedstonerMailer.new_thread_reply_mention_mail(user, self)
rescue => e
Rails.logger.error "---"
Rails.logger.error "WARNING: Failed to create new_thread_reply_mention_mail (view) for reply#: #{@self.id}, user: #{@user.name}, #{@user.email}"
Rails.logger.error e.message
Rails.logger.error "---"
end
end
background_mailer(mails)
end
def send_new_reply_mail
userids = []
@@ -53,7 +70,7 @@ class Threadreply < ActiveRecord::Base
mails << RedstonerMailer.new_thread_reply_mail(User.find(uid), self)
rescue => e
Rails.logger.error "---"
Rails.logger.error "WARNING: Failed to create thread_reply mail (view) for reply#: #{@self.id}, user: #{@user.name}, #{@user.email}"
Rails.logger.error "WARNING: Failed to create new_thread_reply_mail (view) for reply#: #{@self.id}, user: #{@user.name}, #{@user.email}"
Rails.logger.error e.message
Rails.logger.error "---"
end