FIX: Reuse topic query method to find group topics (#292)
The query for counts and list were different and the count did not match the number of topics from the list.
This commit is contained in:
parent
7bec9aeaf7
commit
c8fc42b60f
|
|
@ -138,13 +138,10 @@ module DiscourseAssign
|
||||||
SQL
|
SQL
|
||||||
.pluck(:topic_id)
|
.pluck(:topic_id)
|
||||||
|
|
||||||
assignments = Topic
|
assignments = TopicQuery
|
||||||
.joins("JOIN assignments a ON a.topic_id = topics.id")
|
.new(current_user)
|
||||||
.joins("JOIN group_users ON group_users.user_id = a.assigned_to_id ")
|
.group_topics_assigned_results(group)
|
||||||
.where("group_users.group_id = ?", group.id)
|
.pluck('topics.id')
|
||||||
.where("a.assigned_to_type = 'User'")
|
|
||||||
.where("a.active")
|
|
||||||
.pluck(:topic_id)
|
|
||||||
|
|
||||||
render json: {
|
render json: {
|
||||||
members: serialize_data(members, GroupUserAssignedSerializer),
|
members: serialize_data(members, GroupUserAssignedSerializer),
|
||||||
|
|
|
||||||
|
|
@ -339,8 +339,8 @@ after_initialize do
|
||||||
create_list(:assigned, { unordered: true }, list)
|
create_list(:assigned, { unordered: true }, list)
|
||||||
end
|
end
|
||||||
|
|
||||||
add_to_class(:topic_query, :list_group_topics_assigned) do |group|
|
add_to_class(:topic_query, :group_topics_assigned_results) do |group|
|
||||||
list = default_results(include_pms: true)
|
list = default_results(include_all_pms: true)
|
||||||
|
|
||||||
topic_ids_sql = +<<~SQL
|
topic_ids_sql = +<<~SQL
|
||||||
SELECT topic_id FROM assignments
|
SELECT topic_id FROM assignments
|
||||||
|
|
@ -360,8 +360,10 @@ after_initialize do
|
||||||
sql = "topics.id IN (#{topic_ids_sql})"
|
sql = "topics.id IN (#{topic_ids_sql})"
|
||||||
|
|
||||||
list = list.where(sql, group_id: group.id).includes(:allowed_users)
|
list = list.where(sql, group_id: group.id).includes(:allowed_users)
|
||||||
|
end
|
||||||
|
|
||||||
create_list(:assigned, { unordered: true }, list)
|
add_to_class(:topic_query, :list_group_topics_assigned) do |group|
|
||||||
|
create_list(:assigned, { unordered: true }, group_topics_assigned_results(group))
|
||||||
end
|
end
|
||||||
|
|
||||||
add_to_class(:topic_query, :list_private_messages_assigned) do |user|
|
add_to_class(:topic_query, :list_private_messages_assigned) do |user|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue