diff --git a/Changelog.md b/Changelog.md index 5126ac3c547b427b7762d0fa9749b12e0e140323..6e7261eaf6334038dde7b7a023fcf189f36cc43a 100644 --- a/Changelog.md +++ b/Changelog.md @@ -77,6 +77,7 @@ This is disabled by default since it requires the installation of additional pac * Cleanup diaspora.yml [#5426](https://github.com/diaspora/diaspora/pull/5426) * Replace `opengraph_parser` with `open_graph_reader` [#5462](https://github.com/diaspora/diaspora/pull/5462) * Make sure conversations without any visibilities left are deleted [#5478](https://github.com/diaspora/diaspora/pull/5478) +* Change tooltip for delete button in conversations view [#5477](https://github.com/diaspora/diaspora/pull/5477) ## Bug fixes * orca cannot see 'Add Contact' button [#5158](https://github.com/diaspora/diaspora/pull/5158) diff --git a/app/controllers/conversation_visibilities_controller.rb b/app/controllers/conversation_visibilities_controller.rb index 24b4533ad85f16c13fc02eb4bbc3e4be2c2494b5..6d40eb3cbfd30b59d5949246f0bfb8a4ccec876c 100644 --- a/app/controllers/conversation_visibilities_controller.rb +++ b/app/controllers/conversation_visibilities_controller.rb @@ -10,8 +10,13 @@ class ConversationVisibilitiesController < ApplicationController @vis = ConversationVisibility.where(:person_id => current_user.person.id, :conversation_id => params[:conversation_id]).first if @vis + participants = @vis.conversation.participants.count if @vis.destroy - flash[:notice] = I18n.t('conversations.destroy.success') + if participants == 1 + flash[:notice] = I18n.t('conversations.destroy.delete_success') + else + flash[:notice] = I18n.t('conversations.destroy.hide_success') + end end end redirect_to conversations_path diff --git a/app/views/conversations/_show.haml b/app/views/conversations/_show.haml index bbc699cb9749e39be0cd77b99714db9d54fb15c0..c215c49b8d7aed8e378b1fade947636b62a93bfb 100644 --- a/app/views/conversations/_show.haml +++ b/app/views/conversations/_show.haml @@ -3,13 +3,21 @@ -# the COPYRIGHT file. .conversation_participants - = link_to(content_tag(:div, nil, :class => 'icons-deletelabel'), - conversation_visibility_path(conversation), - :method => 'delete', - :data => { :confirm => "#{t('.delete')}?" }, - :title => t('.delete'), - :class => 'close_conversation') - + - if conversation.participants.count > 1 + = link_to(content_tag(:div, nil, :class => 'icons-deletelabel'), + conversation_visibility_path(conversation), + :method => 'delete', + :data => { :confirm => "#{t('.hide')}?" }, + :title => t('.hide'), + :class => 'close_conversation') + - else + = link_to(content_tag(:div, nil, :class => 'icons-deletelabel'), + conversation_visibility_path(conversation), + :method => 'delete', + :data => { :confirm => "#{t('.delete')}?" }, + :title => t('.delete'), + :class => 'close_conversation') + %h3{ :class => direction_for(conversation.subject) } = conversation.subject diff --git a/config/locales/diaspora/en.yml b/config/locales/diaspora/en.yml index ccf786c4bd7c5593a3b2635f5f43354bab44e0f9..9f305891dd373eb3f58ed2197ec82c3c7902f4bb 100644 --- a/config/locales/diaspora/en.yml +++ b/config/locales/diaspora/en.yml @@ -358,7 +358,8 @@ en: show: reply: "reply" replying: "Replying..." - delete: "delete and block conversation" + hide: "hide and mute conversation" + delete: "delete conversation" new: to: "to" subject: "subject" @@ -377,8 +378,8 @@ en: new_conversation: fail: "Invalid message" destroy: - success: "Conversation successfully removed" - + delete_success: "Conversation successfully deleted" + hide_success: "Conversation successfully hidden" date: formats: fullmonth_day: "%B %d" diff --git a/spec/controllers/conversation_visibilities_controller_spec.rb b/spec/controllers/conversation_visibilities_controller_spec.rb index 4af785a315f6f81cadb3d4486fcb65d548d11e22..24d60addaf28fa33784930d8a2204073f2037aac 100644 --- a/spec/controllers/conversation_visibilities_controller_spec.rb +++ b/spec/controllers/conversation_visibilities_controller_spec.rb @@ -33,5 +33,18 @@ describe ConversationVisibilitiesController, :type => :controller do delete :destroy, :conversation_id => @conversation.id }.not_to change(ConversationVisibility, :count) end + + it 'returns "hidden"' do + get :destroy, :conversation_id => @conversation.id + expect(flash.notice).to include("hidden") + end + + it 'returns "deleted" when last participant' do + get :destroy, :conversation_id => @conversation.id + sign_out :user + sign_in :user, bob + get :destroy, :conversation_id => @conversation.id + expect(flash.notice).to include("deleted") + end end -end \ No newline at end of file +end