Merge remote-tracking branch 'upstream/pull/5520'

This commit is contained in:
Tom Hughes 2025-01-19 15:02:11 +00:00
commit af880d10de
3 changed files with 32 additions and 2 deletions

View file

@ -6,10 +6,11 @@ json.to_display_name message.recipient.display_name
json.title message.title
json.sent_on message.sent_on.xmlschema
json.message_read message.message_read if current_user.id == message.to_user_id
if current_user.id == message.from_user_id
json.deleted !message.from_user_visible
elsif current_user.id == message.to_user_id
json.message_read message.message_read
json.deleted !message.to_user_visible
end

View file

@ -8,10 +8,11 @@ attrs = {
"body_format" => message.body_format
}
attrs["message_read"] = message.message_read if current_user.id == message.to_user_id
if current_user.id == message.from_user_id
attrs["deleted"] = !message.from_user_visible
elsif current_user.id == message.to_user_id
attrs["message_read"] = message.message_read
attrs["deleted"] = !message.to_user_visible
end

View file

@ -222,6 +222,34 @@ module Api
assert_equal msg.body, jsm["body"]
end
def test_show_message_to_self_read
user = create(:user)
message = create(:message, :sender => user, :recipient => user)
auth_header = bearer_authorization_header user
get api_message_path(message), :headers => auth_header
assert_response :success
assert_equal "application/xml", response.media_type
assert_dom "message", :count => 1 do
assert_dom "> @message_read", "false"
end
end
def test_show_message_to_self_read_json
user = create(:user)
message = create(:message, :sender => user, :recipient => user)
auth_header = bearer_authorization_header user
get api_message_path(message, :format => "json"), :headers => auth_header
assert_response :success
assert_equal "application/json", response.media_type
js = ActiveSupport::JSON.decode(@response.body)
jsm = js["message"]
assert_not_nil jsm
assert jsm.key?("message_read")
assert_not jsm["message_read"]
end
def test_update_status
recipient = create(:user)
sender = create(:user)