From: Anton Khorev Date: Tue, 26 Dec 2023 01:46:35 +0000 (+0300) Subject: Fix messages heading update when message is deleted X-Git-Tag: live~423^2 X-Git-Url: https://git.openstreetmap.org/rails.git/commitdiff_plain/d1763dd526eb0c93f5d764119bcf127c85c08104?hp=-c Fix messages heading update when message is deleted --- d1763dd526eb0c93f5d764119bcf127c85c08104 diff --git a/app/assets/javascripts/messages.js b/app/assets/javascripts/messages.js index 5accc1a60..cc86da05e 100644 --- a/app/assets/javascripts/messages.js +++ b/app/assets/javascripts/messages.js @@ -22,6 +22,8 @@ $(document).ready(function () { $(".user-button").before(data.inboxanchor); $("#inbox-count").replaceWith(data.inbox_count); + $("#outbox-count").replaceWith(data.outbox_count); + $("#muted-count").replaceWith(data.muted_count); } function updateReadState(target, isRead) { diff --git a/app/views/messages/_message_count.html.erb b/app/views/messages/_inbox_count.html.erb similarity index 91% rename from app/views/messages/_message_count.html.erb rename to app/views/messages/_inbox_count.html.erb index 33a3b52f3..86bb2c474 100644 --- a/app/views/messages/_message_count.html.erb +++ b/app/views/messages/_inbox_count.html.erb @@ -1,7 +1,7 @@ -

+

<%= t "messages.inbox.messages", :new_messages => t("messages.inbox.new_messages", :count => current_user.new_messages.size), :old_messages => t("messages.inbox.old_messages", :count => current_user.messages.size - current_user.new_messages.size) %> -

+

diff --git a/app/views/messages/_muted_count.html.erb b/app/views/messages/_muted_count.html.erb new file mode 100644 index 000000000..207973d58 --- /dev/null +++ b/app/views/messages/_muted_count.html.erb @@ -0,0 +1,3 @@ +

+<%= t "messages.muted.messages", :count => current_user.muted_messages.size %> +

diff --git a/app/views/messages/_outbox_count.html.erb b/app/views/messages/_outbox_count.html.erb new file mode 100644 index 000000000..5b27f1d6e --- /dev/null +++ b/app/views/messages/_outbox_count.html.erb @@ -0,0 +1,3 @@ +

+<%= t "messages.outbox.messages", :count => current_user.sent_messages.size %> +

diff --git a/app/views/messages/destroy.json.jbuilder b/app/views/messages/destroy.json.jbuilder index 3403ac888..65bfd6a6b 100644 --- a/app/views/messages/destroy.json.jbuilder +++ b/app/views/messages/destroy.json.jbuilder @@ -1,2 +1,4 @@ json.inboxanchor render(:partial => "layouts/inbox") -json.inbox_count render(:partial => "message_count") +json.inbox_count render(:partial => "inbox_count") +json.outbox_count render(:partial => "outbox_count") +json.muted_count render(:partial => "muted_count") diff --git a/app/views/messages/inbox.html.erb b/app/views/messages/inbox.html.erb index db807d2df..4d6be787b 100644 --- a/app/views/messages/inbox.html.erb +++ b/app/views/messages/inbox.html.erb @@ -4,7 +4,7 @@ <%= render :partial => "heading", :locals => { :active_link_path => inbox_messages_path } %> -

<%= render :partial => "message_count" %>

+<%= render :partial => "inbox_count" %> <% if current_user.messages.size > 0 %> <%= render :partial => "messages_table", :locals => { :columns => %w[from subject date], :messages => current_user.messages, :inner_partial => "message_summary" } %> diff --git a/app/views/messages/mark.json.jbuilder b/app/views/messages/mark.json.jbuilder index 3403ac888..65bfd6a6b 100644 --- a/app/views/messages/mark.json.jbuilder +++ b/app/views/messages/mark.json.jbuilder @@ -1,2 +1,4 @@ json.inboxanchor render(:partial => "layouts/inbox") -json.inbox_count render(:partial => "message_count") +json.inbox_count render(:partial => "inbox_count") +json.outbox_count render(:partial => "outbox_count") +json.muted_count render(:partial => "muted_count") diff --git a/app/views/messages/muted.html.erb b/app/views/messages/muted.html.erb index 40c74e915..8e97abc7f 100644 --- a/app/views/messages/muted.html.erb +++ b/app/views/messages/muted.html.erb @@ -4,6 +4,6 @@ <%= render :partial => "heading", :locals => { :active_link_path => muted_messages_path } %> -

<%= t ".messages", :count => current_user.muted_messages.size %>

+<%= render :partial => "muted_count" %> <%= render :partial => "messages_table", :locals => { :columns => %w[from subject date], :messages => current_user.muted_messages, :inner_partial => "message_summary" } %> diff --git a/app/views/messages/outbox.html.erb b/app/views/messages/outbox.html.erb index ae8a899c4..65fbaf326 100644 --- a/app/views/messages/outbox.html.erb +++ b/app/views/messages/outbox.html.erb @@ -4,7 +4,7 @@ <%= render :partial => "heading", :locals => { :active_link_path => outbox_messages_path } %> -

<%= t ".messages", :count => current_user.sent_messages.size %>

+<%= render :partial => "outbox_count" %> <% if current_user.sent_messages.size > 0 %> <%= render :partial => "messages_table", :locals => { :columns => %w[to subject date], :messages => current_user.sent_messages, :inner_partial => "sent_message_summary" } %> diff --git a/test/system/messages_test.rb b/test/system/messages_test.rb new file mode 100644 index 000000000..87021dd6b --- /dev/null +++ b/test/system/messages_test.rb @@ -0,0 +1,41 @@ +require "application_system_test_case" + +class NoteCommentsTest < ApplicationSystemTestCase + def test_delete_received_message + user = create(:user) + create(:message, :recipient => user) + sign_in_as(user) + + visit inbox_messages_path + assert_text "You have 1 new message and 0 old messages" + + click_button "Delete" + assert_text "You have 0 new messages and 0 old messages" + end + + def test_delete_sent_message + user = create(:user) + create(:message, :sender => user) + sign_in_as(user) + + visit outbox_messages_path + assert_text "You have 1 sent message" + + click_button "Delete" + assert_text "You have 0 sent messages" + end + + def test_delete_muted_message + user = create(:user) + muted_user = create(:user) + create(:user_mute, :owner => user, :subject => muted_user) + create(:message, :sender => muted_user, :recipient => user) + sign_in_as(user) + + visit muted_messages_path + assert_text "1 muted message" + + click_button "Delete" + assert_text "0 muted messages" + end +end