From aeec5067d5f33a32a88643d49d53f457f613dcab Mon Sep 17 00:00:00 2001 From: Arpit Jalan Date: Wed, 2 Jul 2014 14:28:57 +0530 Subject: [PATCH] FEATURE: Send notification by system user for bulk invite --- app/jobs/regular/bulk_invite.rb | 4 ++-- lib/system_message.rb | 18 ++++++++++++++++++ 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/app/jobs/regular/bulk_invite.rb b/app/jobs/regular/bulk_invite.rb index e25fc5aa3..54c67ec9c 100644 --- a/app/jobs/regular/bulk_invite.rb +++ b/app/jobs/regular/bulk_invite.rb @@ -112,9 +112,9 @@ module Jobs def notify_user if @current_user if (@sent > 0 && @failed == 0) - SystemMessage.create(@current_user, :bulk_invite_succeeded, sent: @sent) + SystemMessage.create_from_system_user(@current_user, :bulk_invite_succeeded, sent: @sent) else - SystemMessage.create(@current_user, :bulk_invite_failed, sent: @sent, failed: @failed, logs: @logs.join("\n")) + SystemMessage.create_from_system_user(@current_user, :bulk_invite_failed, sent: @sent, failed: @failed, logs: @logs.join("\n")) end end end diff --git a/lib/system_message.rb b/lib/system_message.rb index 9d10fcbce..0862a8c7a 100644 --- a/lib/system_message.rb +++ b/lib/system_message.rb @@ -9,6 +9,10 @@ class SystemMessage self.new(recipient).create(type, params) end + def self.create_from_system_user(recipient, type, params = {}) + self.new(recipient).create_from_system_user(type, params) + end + def initialize(recipient) @recipient = recipient end @@ -27,6 +31,20 @@ class SystemMessage subtype: TopicSubtype.system_message) end + def create_from_system_user(type, params = {}) + params = defaults.merge(params) + + title = I18n.t("system_messages.#{type}.subject_template", params) + raw = I18n.t("system_messages.#{type}.text_body_template", params) + + PostCreator.create(Discourse.system_user, + title: title, + raw: raw, + archetype: Archetype.private_message, + target_usernames: @recipient.username, + subtype: TopicSubtype.system_message) + end + def defaults { site_name: SiteSetting.title,