From 7993c27ce56c2d64a3eb18d01c975e803b6284f7 Mon Sep 17 00:00:00 2001 From: Neil Lalonde Date: Fri, 25 Apr 2014 14:52:57 -0400 Subject: [PATCH] Also allow system_user to send pm's even if enable_private_messages is disabled --- lib/guardian.rb | 4 +++- spec/components/guardian_spec.rb | 3 ++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/lib/guardian.rb b/lib/guardian.rb index 8a04667df3..7351669775 100644 --- a/lib/guardian.rb +++ b/lib/guardian.rb @@ -210,7 +210,9 @@ class Guardian # Have to be a basic level at least @user.has_trust_level?(:basic) && # PMs are enabled - (SiteSetting.enable_private_messages || @user.username == SiteSetting.site_contact_username) + (SiteSetting.enable_private_messages || + @user.username == SiteSetting.site_contact_username || + @user == Discourse.system_user) end private diff --git a/spec/components/guardian_spec.rb b/spec/components/guardian_spec.rb index 5952bd7598..d2a83480b8 100644 --- a/spec/components/guardian_spec.rb +++ b/spec/components/guardian_spec.rb @@ -136,9 +136,10 @@ describe Guardian do Guardian.new(user).can_send_private_message?(another_user).should be_false end - it "returns true for the contact user" do + it "returns true for the contact user and system user" do SiteSetting.stubs(:site_contact_username).returns(user.username) Guardian.new(user).can_send_private_message?(another_user).should be_true + Guardian.new(Discourse.system_user).can_send_private_message?(another_user).should be_true end end end