diff --git a/lib/guardian.rb b/lib/guardian.rb index 8a04667df..735166977 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 5952bd759..d2a83480b 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