From c24083df5ce9a58e6db335da4b78dcbac68815ef Mon Sep 17 00:00:00 2001 From: Arpit Jalan Date: Mon, 26 Mar 2018 22:04:16 +0530 Subject: [PATCH] Remove 'archive' tab for assigned topics. --- .../assigned-messages-route-map.js.es6 | 1 - .../assigned-archived-messages.hbs | 3 -- .../assigned-archived-messages.js.es6 | 11 ------ ...-private-messages-assigned-archived.js.es6 | 10 ----- config/locales/client.en.yml | 1 - plugin.rb | 38 ++++--------------- spec/components/topic_query_spec.rb | 27 +------------ spec/integration/assign_spec.rb | 22 ++--------- 8 files changed, 13 insertions(+), 100 deletions(-) delete mode 100644 assets/javascripts/discourse-assign/connectors/user-messages-nav/assigned-archived-messages.hbs delete mode 100644 assets/javascripts/discourse-assign/connectors/user-messages-nav/assigned-archived-messages.js.es6 delete mode 100644 assets/javascripts/discourse-assign/routes/user-private-messages-assigned-archived.js.es6 diff --git a/assets/javascripts/discourse-assign/assigned-messages-route-map.js.es6 b/assets/javascripts/discourse-assign/assigned-messages-route-map.js.es6 index ab1d6b7..67fea45 100644 --- a/assets/javascripts/discourse-assign/assigned-messages-route-map.js.es6 +++ b/assets/javascripts/discourse-assign/assigned-messages-route-map.js.es6 @@ -2,6 +2,5 @@ export default { resource: 'user.userPrivateMessages', map() { this.route('assigned'); - this.route('assigned_archived'); } }; diff --git a/assets/javascripts/discourse-assign/connectors/user-messages-nav/assigned-archived-messages.hbs b/assets/javascripts/discourse-assign/connectors/user-messages-nav/assigned-archived-messages.hbs deleted file mode 100644 index f4f929a..0000000 --- a/assets/javascripts/discourse-assign/connectors/user-messages-nav/assigned-archived-messages.hbs +++ /dev/null @@ -1,3 +0,0 @@ -{{#link-to 'userPrivateMessages.assigned_archived' model}} - {{i18n 'user.messages.archive'}} -{{/link-to}} diff --git a/assets/javascripts/discourse-assign/connectors/user-messages-nav/assigned-archived-messages.js.es6 b/assets/javascripts/discourse-assign/connectors/user-messages-nav/assigned-archived-messages.js.es6 deleted file mode 100644 index f9717a6..0000000 --- a/assets/javascripts/discourse-assign/connectors/user-messages-nav/assigned-archived-messages.js.es6 +++ /dev/null @@ -1,11 +0,0 @@ -import { shouldShowAssigned } from "discourse/plugins/discourse-assign/discourse-assign/connectors/user-messages-nav/assigned-messages"; - -export default { - setupComponent() { - this.set('classNames', ['archive']); - }, - - shouldRender(args, component) { - return shouldShowAssigned(args, component); - } -}; diff --git a/assets/javascripts/discourse-assign/routes/user-private-messages-assigned-archived.js.es6 b/assets/javascripts/discourse-assign/routes/user-private-messages-assigned-archived.js.es6 deleted file mode 100644 index e08b59e..0000000 --- a/assets/javascripts/discourse-assign/routes/user-private-messages-assigned-archived.js.es6 +++ /dev/null @@ -1,10 +0,0 @@ -import createPMRoute from "discourse/routes/build-private-messages-route"; - -export default createPMRoute('assigned_archived', 'private-messages-assigned', 'assigned/archive').extend({ - model() { - return this.store.findFiltered("topicList", { - filter: `topics/private-messages-assigned/${this.modelFor("user").get("username_lower")}`, - params: { status: "archived" } - }); - } -}); diff --git a/config/locales/client.en.yml b/config/locales/client.en.yml index d2069c7..0a066ff 100644 --- a/config/locales/client.en.yml +++ b/config/locales/client.en.yml @@ -25,4 +25,3 @@ en: user: messages: assigned: "Assigned" - assigned_archived: "Assigned Archived" diff --git a/plugin.rb b/plugin.rb index 1081aeb..b55fc80 100644 --- a/plugin.rb +++ b/plugin.rb @@ -123,29 +123,9 @@ after_initialize do add_to_class(:topic_query, :list_private_messages_assigned) do |user| list = private_messages_for(user, :all) - user_id = user.id.to_s - group_ids = user.groups.pluck(:id) - - list = list - .joins(" - LEFT JOIN group_archived_messages gm - ON gm.topic_id = topics.id - AND gm.group_id IN (#{group_ids.join(',')}) - ") - .joins(" - LEFT JOIN user_archived_messages um ON um.topic_id = topics.id AND um.user_id = #{user_id} - ") - .where("topics.id IN ( + list = list.where("topics.id IN ( SELECT topic_id FROM topic_custom_fields WHERE name = 'assigned_to_id' AND value = ? - )", user_id) - - list = - if @options[:status] == "archived" - list.where("gm.topic_id IS NOT NULL OR um.topic_id IS NOT NULL") - else - list.where("gm.topic_id IS NULL AND um.topic_id IS NULL") - end - + )", user.id.to_s) create_list(:private_messages, {}, list) end @@ -219,15 +199,11 @@ after_initialize do add_class_method(:topic_tracking_state, :publish_assigned_private_message) do |topic, user_id| return unless topic.private_message? - assigned_channel = "/private-messages/assigned" - - [assigned_channel, "#{assigned_channel}/archive"].each do |channel| - MessageBus.publish( - channel, - { topic_id: topic.id }, - user_ids: [user_id] - ) - end + MessageBus.publish( + "/private-messages/assigned", + { topic_id: topic.id }, + user_ids: [user_id] + ) end on(:move_to_inbox) do |info| diff --git a/spec/components/topic_query_spec.rb b/spec/components/topic_query_spec.rb index e578788..25d0532 100644 --- a/spec/components/topic_query_spec.rb +++ b/spec/components/topic_query_spec.rb @@ -45,8 +45,6 @@ describe TopicQuery do topic end - let(:options) { { status: 'archived' } } - before do SiteSetting.assign_enabled = true user_topic @@ -55,47 +53,26 @@ describe TopicQuery do end it 'should return the right topics' do - expect(TopicQuery.new(user).list_private_messages_assigned(user).topics) - .to contain_exactly(assigned_topic, group_assigned_topic) - - UserArchivedMessage.archive!(user2.id, assigned_topic) - expect( TopicQuery.new(user).list_private_messages_assigned(user).topics ).to contain_exactly(assigned_topic, group_assigned_topic) - expect( - TopicQuery.new(user, options).list_private_messages_assigned(user).topics - ).to eq([]) - UserArchivedMessage.archive!(user.id, assigned_topic) expect( TopicQuery.new(user).list_private_messages_assigned(user).topics - ).to contain_exactly(group_assigned_topic) - - expect( - TopicQuery.new(user, options).list_private_messages_assigned(user).topics - ).to contain_exactly(assigned_topic) + ).to contain_exactly(assigned_topic, group_assigned_topic) GroupArchivedMessage.archive!(group2.id, group_assigned_topic) expect( TopicQuery.new(user).list_private_messages_assigned(user).topics - ).to contain_exactly(group_assigned_topic) - - expect( - TopicQuery.new(user, options).list_private_messages_assigned(user).topics - ).to contain_exactly(assigned_topic) + ).to contain_exactly(assigned_topic, group_assigned_topic) GroupArchivedMessage.archive!(group.id, group_assigned_topic) expect( TopicQuery.new(user).list_private_messages_assigned(user).topics - ).to eq([]) - - expect( - TopicQuery.new(user, options).list_private_messages_assigned(user).topics ).to contain_exactly(assigned_topic, group_assigned_topic) end end diff --git a/spec/integration/assign_spec.rb b/spec/integration/assign_spec.rb index e322cdb..afe0640 100644 --- a/spec/integration/assign_spec.rb +++ b/spec/integration/assign_spec.rb @@ -18,25 +18,17 @@ describe 'integration tests' do let(:pm) { post.topic } let(:user) { pm.allowed_users.first } let(:user2) { pm.allowed_users.last } - - let(:channels) do - [ - "/private-messages/assigned", - "/private-messages/assigned/archive" - ] - end + let(:channel) { "/private-messages/assigned" } def assert_publish_topic_state(topic, user) messages = MessageBus.track_publish do yield end - channels.each do |channel| - message = messages.find { |message| message.channel == channel } + message = messages.find { |message| message.channel == channel } - expect(message.data[:topic_id]).to eq(topic.id) - expect(message.user_ids).to eq([user.id]) - end + expect(message.data[:topic_id]).to eq(topic.id) + expect(message.user_ids).to eq([user.id]) end it 'publishes the right message on archive and move to inbox' do @@ -50,12 +42,6 @@ describe 'integration tests' do assert_publish_topic_state(pm, user) do UserArchivedMessage.move_to_inbox!(user.id, pm.reload) end - - messages = MessageBus.track_publish do - UserArchivedMessage.archive!(user2.id, pm.reload) - end - - expect(channels - messages.map(&:channel)).to eq(channels) end end end