controllers: refactor only param includes.
Add extra includes needed by the `only` param inside `respond_with`.
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user