module GroupsTree def find_groups(parent, all_available: true) groups = if parent && Group.supports_nested_groups? if can?(current_user, :read_group, parent) GroupsFinder.new(current_user, parent: parent, all_available: all_available, all_children_for_parent: params[:filter_groups].present?).execute else Group.none end else GroupsFinder.new(current_user, all_available: all_available).execute end groups = groups.search(params[:filter_groups]) if params[:filter_groups].present? groups = groups.includes(:route) groups = groups.sort(@sort = params[:sort]) groups.page(params[:page]) end end