Allow contact user to send private messages even if enable_private_messages is false

This commit is contained in:
Neil Lalonde 2014-04-23 17:00:22 -04:00
parent 51cc39cad6
commit ee8bbadfe8
2 changed files with 14 additions and 1 deletions

View File

@ -210,7 +210,7 @@ class Guardian
# Have to be a basic level at least
@user.has_trust_level?(:basic) &&
# PMs are enabled
SiteSetting.enable_private_messages
(SiteSetting.enable_private_messages || @user.username == SiteSetting.site_contact_username)
end
private

View File

@ -128,6 +128,19 @@ describe Guardian do
it "returns true to another user" do
Guardian.new(user).can_send_private_message?(another_user).should be_true
end
context "enable_private_messages is false" do
before { SiteSetting.stubs(:enable_private_messages).returns(false) }
it "returns false if user is not the contact user" do
Guardian.new(user).can_send_private_message?(another_user).should be_false
end
it "returns true for the contact user" do
SiteSetting.stubs(:site_contact_username).returns(user.username)
Guardian.new(user).can_send_private_message?(another_user).should be_true
end
end
end
describe 'can_reply_as_new_topic' do