FIX: unable to filter user directory when sorted by user field. (#15951)

Since the "users" table is already added in the "includes" method it gives unexpected results while using it again in the "joins" method.
This commit is contained in:
Vinoth Kannan
2022-02-16 07:57:35 +05:30
committed by GitHub
parent 6c374cf158
commit 1ea19a4d51
2 changed files with 36 additions and 1 deletions

View File

@ -38,7 +38,7 @@ class DirectoryItemsController < ApplicationController
user_field = UserField.find_by(name: params[:order])
if user_field
result = result
.joins(:user)
.references(:user)
.joins("LEFT OUTER JOIN user_custom_fields ON user_custom_fields.user_id = users.id AND user_custom_fields.name = 'user_field_#{user_field.id}'")
.order("user_custom_fields.name = 'user_field_#{user_field.id}' ASC, user_custom_fields.value #{dir}")
end