- <% if @user != current_user %>
+ <% if @user != current_user && @user.email_on_direct_message? %>
<%= link_to t("users.show.send_private_message"),
new_user_direct_message_path(@user),
class: "button hollow float-right" %>
-
+ <% else %>
<%= t("users.show.no_private_messages") %>
diff --git a/spec/features/direct_messages_spec.rb b/spec/features/direct_messages_spec.rb
index 2ee1f4365..119cbe6de 100644
--- a/spec/features/direct_messages_spec.rb
+++ b/spec/features/direct_messages_spec.rb
@@ -24,8 +24,8 @@ feature 'Direct messages' do
context "Permissions" do
- scenario "Link to send the message" do
- sender = create(:user, :level_two)
+ scenario "Do not display link to send message to myself" do
+ sender = create(:user, :level_two)
login_as(sender)
visit user_path(sender)
@@ -33,6 +33,17 @@ feature 'Direct messages' do
expect(page).to_not have_link "Send private message"
end
+ scenario "Do not display link if direct message for user not allowed" do
+ sender = create(:user, :level_two)
+ receiver = create(:user, :level_two, email_on_direct_message: false)
+
+ login_as(sender)
+ visit user_path(receiver)
+
+ expect(page).to have_content "This user doesn't accept private messages."
+ expect(page).to_not have_link "Send private message"
+ end
+
scenario "Accessing form directly" do
user = create(:user)
author = create(:user)