mirror of
https://github.com/scinote-eln/scinote-web.git
synced 2025-10-09 05:18:01 +08:00
Fix protocols sorting by assigned users [SCI-8074]
This commit is contained in:
parent
66ec451d5e
commit
fd44cc9778
1 changed files with 5 additions and 5 deletions
|
@ -127,10 +127,7 @@ class ProtocolsDatatable < CustomDatatable
|
||||||
records = records.where(protocols: { published_by_id: params[:published_by] }) if params[:published_by].present?
|
records = records.where(protocols: { published_by_id: params[:published_by] }) if params[:published_by].present?
|
||||||
|
|
||||||
if params[:members].present?
|
if params[:members].present?
|
||||||
records = records.joins('LEFT OUTER JOIN "user_assignments" "all_user_assignments" '\
|
records = records.where(all_user_assignments: { user_id: params[:members] })
|
||||||
'ON "all_user_assignments"."assignable_type" = \'Protocol\' '\
|
|
||||||
'AND "all_user_assignments"."assignable_id" = "protocols"."id"')
|
|
||||||
.where(all_user_assignments: { user_id: params[:members] })
|
|
||||||
end
|
end
|
||||||
|
|
||||||
if params[:archived_on_from].present?
|
if params[:archived_on_from].present?
|
||||||
|
@ -199,6 +196,9 @@ class ProtocolsDatatable < CustomDatatable
|
||||||
'ON "protocol_protocol_keywords"."protocol_keyword_id" = "protocol_keywords"."id"')
|
'ON "protocol_protocol_keywords"."protocol_keyword_id" = "protocol_keywords"."id"')
|
||||||
.joins('LEFT OUTER JOIN "users" "archived_users" ON "archived_users"."id" = "protocols"."archived_by_id"')
|
.joins('LEFT OUTER JOIN "users" "archived_users" ON "archived_users"."id" = "protocols"."archived_by_id"')
|
||||||
.joins('LEFT OUTER JOIN "users" ON "users"."id" = "protocols"."published_by_id"')
|
.joins('LEFT OUTER JOIN "users" ON "users"."id" = "protocols"."published_by_id"')
|
||||||
|
.joins('LEFT OUTER JOIN "user_assignments" "all_user_assignments" '\
|
||||||
|
'ON "all_user_assignments"."assignable_type" = \'Protocol\' '\
|
||||||
|
'AND "all_user_assignments"."assignable_id" = "protocols"."id"')
|
||||||
.group('"protocols"."id"')
|
.group('"protocols"."id"')
|
||||||
|
|
||||||
records = filter_protocols_records(records)
|
records = filter_protocols_records(records)
|
||||||
|
@ -212,7 +212,7 @@ class ProtocolsDatatable < CustomDatatable
|
||||||
'(COUNT(DISTINCT("self_linked_task_protocols"."id")) + ' \
|
'(COUNT(DISTINCT("self_linked_task_protocols"."id")) + ' \
|
||||||
'COUNT(DISTINCT("parent_linked_task_protocols"."id")) + ' \
|
'COUNT(DISTINCT("parent_linked_task_protocols"."id")) + ' \
|
||||||
'COUNT(DISTINCT("version_linked_task_protocols"."id"))) AS nr_of_linked_tasks',
|
'COUNT(DISTINCT("version_linked_task_protocols"."id"))) AS nr_of_linked_tasks',
|
||||||
'COUNT("user_assignments"."id") AS "nr_of_assigned_users"',
|
'COUNT(DISTINCT("all_user_assignments"."id")) AS "nr_of_assigned_users"',
|
||||||
'MAX("users"."full_name") AS "full_username_str"', # "Hack" to get single username
|
'MAX("users"."full_name") AS "full_username_str"', # "Hack" to get single username
|
||||||
'MAX("archived_users"."full_name") AS "archived_full_username_str"'
|
'MAX("archived_users"."full_name") AS "archived_full_username_str"'
|
||||||
)
|
)
|
||||||
|
|
Loading…
Add table
Reference in a new issue