mirror of
https://github.com/discourse/discourse.git
synced 2025-03-21 15:55:32 +08:00
FIX: message_archived? not set correctly for groups
This commit is contained in:
parent
8d392066d8
commit
665fc44741
@ -918,8 +918,10 @@ class Topic < ActiveRecord::Base
|
|||||||
|
|
||||||
sql = <<SQL
|
sql = <<SQL
|
||||||
SELECT 1 FROM topic_allowed_groups tg
|
SELECT 1 FROM topic_allowed_groups tg
|
||||||
JOIN group_archived_messages gm ON gm.topic_id = tg.topic_id AND gm.group_id = tg.group_id
|
JOIN group_archived_messages gm
|
||||||
WHERE tg.group_id IN (SELECT g.id FROM group_users g WHERE g.user_id = :user_id)
|
ON gm.topic_id = tg.topic_id AND
|
||||||
|
gm.group_id = tg.group_id
|
||||||
|
WHERE tg.group_id IN (SELECT g.group_id FROM group_users g WHERE g.user_id = :user_id)
|
||||||
AND tg.topic_id = :topic_id
|
AND tg.topic_id = :topic_id
|
||||||
|
|
||||||
UNION ALL
|
UNION ALL
|
||||||
@ -930,7 +932,6 @@ WHERE tu.user_id = :user_id AND tu.topic_id = :topic_id
|
|||||||
SQL
|
SQL
|
||||||
|
|
||||||
User.exec_sql(sql, user_id: user.id, topic_id: id).to_a.length > 0
|
User.exec_sql(sql, user_id: user.id, topic_id: id).to_a.length > 0
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
TIME_TO_FIRST_RESPONSE_SQL ||= <<-SQL
|
TIME_TO_FIRST_RESPONSE_SQL ||= <<-SQL
|
||||||
|
@ -1568,6 +1568,20 @@ describe Topic do
|
|||||||
expect(Guardian.new(walter).can_see?(group_private_topic)).to be_truthy
|
expect(Guardian.new(walter).can_see?(group_private_topic)).to be_truthy
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
it "Correctly sets #message_archived?" do
|
||||||
|
topic = Fabricate(:private_message_topic)
|
||||||
|
user = topic.user
|
||||||
|
|
||||||
|
expect(topic.message_archived?(user)).to eq(false)
|
||||||
|
|
||||||
|
group = Fabricate(:group)
|
||||||
|
group.add(user)
|
||||||
|
|
||||||
|
TopicAllowedGroup.create!(topic_id: topic.id, group_id: group.id)
|
||||||
|
GroupArchivedMessage.create!(topic_id: topic.id, group_id: group.id)
|
||||||
|
|
||||||
|
expect(topic.message_archived?(user)).to eq(true)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
Loading…
x
Reference in New Issue
Block a user