controllers: refactor only param includes.

Add extra includes needed by the `only` param inside `respond_with`.
This commit is contained in:
evazion
2020-02-14 20:08:42 -06:00
parent 8649ff6dbe
commit 2564e885c8
42 changed files with 153 additions and 387 deletions

View File

@@ -3,30 +3,16 @@ class IpAddressesController < ApplicationController
before_action :moderator_only
def index
@ip_addresses = IpAddress.visible(CurrentUser.user).paginated_search(params).includes(model_includes(params))
@ip_addresses = IpAddress.visible(CurrentUser.user).paginated_search(params)
if search_params[:group_by] == "ip_addr"
@ip_addresses = @ip_addresses.group_by_ip_addr(search_params[:ipv4_masklen], search_params[:ipv6_masklen])
elsif search_params[:group_by] == "user"
@ip_addresses = @ip_addresses.group_by_user
@ip_addresses = @ip_addresses.group_by_user.includes(:user)
else
@ip_addresses = @ip_addresses.includes(:user, :model)
end
respond_with(@ip_addresses)
end
private
def default_includes(params)
if ["json", "xml"].include?(params[:format])
[]
else
if params[:search][:group_by] == "user"
[:user]
elsif params[:search][:group_by] == "ip_addr"
[]
else
[:user, :model]
end
end
end
end