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

@@ -25,28 +25,18 @@ class ApplicationController < ActionController::Base
private
def respond_with(subject, *options, &block)
@current_item = subject
if params[:action] == "index" && is_redirect?(subject)
redirect_to_show(subject)
else
super
return
end
end
def model_includes(params, model = nil)
if params[:only] && ["json", "xml"].include?(params[:format])
includes_array = ParameterBuilder.includes_parameters(params[:only], model_name)
elsif params[:action] == "index"
includes_array = default_includes(params)
else
includes_array = []
if request.format.json? || request.format.xml?
associations = ParameterBuilder.includes_parameters(params[:only], model_name)
subject = subject.includes(associations)
end
includes_array
end
def default_includes(*)
[]
@current_item = subject
super
end
def model_name

View File

@@ -3,7 +3,9 @@ class ArtistCommentariesController < ApplicationController
before_action :member_only, only: [:create_or_update, :revert]
def index
@commentaries = ArtistCommentary.paginated_search(params).includes(model_includes(params))
@commentaries = ArtistCommentary.paginated_search(params)
@commentaries = @commentaries.includes(post: :uploader) if request.format.html?
respond_with(@commentaries)
end
@@ -36,14 +38,6 @@ class ArtistCommentariesController < ApplicationController
private
def default_includes(params)
if ["json", "xml"].include?(params[:format])
[]
else
[{post: [:uploader]}]
end
end
def commentary_params
params.fetch(:artist_commentary, {}).except(:post_id).permit(%i[
original_description original_title translated_description translated_title

View File

@@ -2,7 +2,9 @@ class ArtistCommentaryVersionsController < ApplicationController
respond_to :html, :xml, :json
def index
@commentary_versions = ArtistCommentaryVersion.paginated_search(params).includes(model_includes(params))
@commentary_versions = ArtistCommentaryVersion.paginated_search(params)
@commentary_versions = @commentary_versions.includes(:updater, post: :uploader) if request.format.html?
respond_with(@commentary_versions)
end
@@ -12,14 +14,4 @@ class ArtistCommentaryVersionsController < ApplicationController
format.html { redirect_to artist_commentary_versions_path(search: { post_id: @commentary_version.post_id }) }
end
end
private
def default_includes(params)
if ["json", "xml"].include?(params[:format])
[]
else
[{post: [:uploader]}, :updater]
end
end
end

View File

@@ -3,7 +3,9 @@ class ArtistUrlsController < ApplicationController
before_action :member_only, except: [:index]
def index
@artist_urls = ArtistUrl.paginated_search(params).includes(model_includes(params))
@artist_urls = ArtistUrl.paginated_search(params)
@artist_urls = @artist_urls.includes(:artist) if request.format.html?
respond_with(@artist_urls)
end
@@ -15,14 +17,6 @@ class ArtistUrlsController < ApplicationController
private
def default_includes(params)
if ["json", "xml"].include?(params[:format])
[]
else
[:artist]
end
end
def artist_url_params
permitted_params = %i[is_active]

View File

@@ -2,7 +2,9 @@ class ArtistVersionsController < ApplicationController
respond_to :html, :xml, :json
def index
@artist_versions = ArtistVersion.paginated_search(params).includes(model_includes(params))
@artist_versions = ArtistVersion.paginated_search(params)
@artist_versions = @artist_versions.includes(:updater, artist: :urls) if request.format.html?
respond_with(@artist_versions)
end
@@ -12,14 +14,4 @@ class ArtistVersionsController < ApplicationController
format.html { redirect_to artist_versions_path(search: { artist_id: @artist_version.artist_id }) }
end
end
private
def default_includes(params)
if ["json", "xml"].include?(params[:format])
[]
else
[:updater, {artist: [:urls]}]
end
end
end

View File

@@ -30,8 +30,9 @@ class ArtistsController < ApplicationController
def index
# XXX
params[:search][:name] = params.delete(:name) if params[:name]
@artists = Artist.paginated_search(params)
@artists = @artists.includes(:urls, :tag) if request.format.html?
@artists = Artist.paginated_search(params).includes(model_includes(params))
respond_with(@artists)
end
@@ -78,14 +79,6 @@ class ArtistsController < ApplicationController
private
def default_includes(params)
if ["json", "xml"].include?(params[:format])
[]
else
[:urls, :tag]
end
end
def item_matches_params(artist)
if params[:search][:any_name_or_url_matches]
artist.name == Artist.normalize_name(params[:search][:any_name_or_url_matches])

View File

@@ -12,7 +12,9 @@ class BansController < ApplicationController
end
def index
@bans = Ban.paginated_search(params, count_pages: true).includes(model_includes(params))
@bans = Ban.paginated_search(params, count_pages: true)
@bans = @bans.includes(:user, :banner) if request.format.html?
respond_with(@bans)
end
@@ -48,14 +50,6 @@ class BansController < ApplicationController
private
def default_includes(params)
if ["json", "xml"].include?(params[:format])
[]
else
[:user, :banner]
end
end
def ban_params(context)
permitted_params = %i[reason duration expires_at]
permitted_params += %i[user_id user_name] if context == :create

View File

@@ -41,20 +41,13 @@ class BulkUpdateRequestsController < ApplicationController
end
def index
@bulk_update_requests = BulkUpdateRequest.paginated_search(params, count_pages: true).includes(model_includes(params))
@bulk_update_requests = BulkUpdateRequest.paginated_search(params, count_pages: true)
@bulk_update_requests = @bulk_update_requests.includes(:user, :approver, :forum_topic, forum_post: [:votes]) if request.format.html?
respond_with(@bulk_update_requests)
end
private
def default_includes(params)
if ["json", "xml"].include?(params[:format])
[]
else
[:user, :approver, :forum_topic, {forum_post: [:votes]}]
end
end
def load_bulk_update_request
@bulk_update_request = BulkUpdateRequest.find(params[:id])
end

View File

@@ -5,7 +5,8 @@ class CommentVotesController < ApplicationController
rescue_with CommentVote::Error, ActiveRecord::RecordInvalid, status: 422
def index
@comment_votes = CommentVote.paginated_search(params, count_pages: true).includes(model_includes(params))
@comment_votes = CommentVote.paginated_search(params, count_pages: true)
@comment_votes = @comment_votes.includes(:user, comment: [:creator, post: [:uploader]]) if request.format.html?
respond_with(@comment_votes)
end
@@ -20,14 +21,4 @@ class CommentVotesController < ApplicationController
@comment.unvote!
respond_with(@comment)
end
private
def default_includes(params)
if ["json", "xml"].include?(params[:format])
[]
else
[:user, {comment: [:creator, {post: [:uploader]}]}]
end
end
end

View File

@@ -74,18 +74,6 @@ class CommentsController < ApplicationController
private
def default_includes(params)
if ["json", "xml"].include?(params[:format])
[]
elsif params[:format] == "atom"
[:creator, :post]
else
includes_array = [:creator, :updater, {post: [:uploader]}]
includes_array << :votes if CurrentUser.is_member?
includes_array
end
end
def index_for_post
@post = Post.find(params[:post_id])
@comments = @post.comments
@@ -95,14 +83,24 @@ class CommentsController < ApplicationController
def index_by_post
@posts = Post.where("last_comment_bumped_at IS NOT NULL").tag_match(params[:tags]).reorder("last_comment_bumped_at DESC NULLS LAST").paginate(params[:page], :limit => 5, :search_count => params[:search])
@posts = @posts.includes(comments: [:creator])
@posts = @posts.includes(comments: [:votes]) if CurrentUser.is_member?
if request.format.html?
@posts = @posts.includes(comments: [:creator])
@posts = @posts.includes(comments: [:votes]) if CurrentUser.is_member?
end
respond_with(@posts)
end
def index_by_comment
@comments = Comment.paginated_search(params).includes(model_includes(params))
@comments = Comment.paginated_search(params)
if request.format.atom?
@comments = @comments.includes(:creator, :post)
elsif request.format.html?
@comments = @comments.includes(:creator, :updater, post: :uploader)
@comments = @comments.includes(:votes) if CurrentUser.is_member?
end
respond_with(@comments)
end

View File

@@ -15,7 +15,9 @@ class DmailsController < ApplicationController
end
def index
@dmails = Dmail.visible.paginated_search(params, defaults: { folder: "received" }, count_pages: true).includes(model_includes(params))
@dmails = Dmail.visible.paginated_search(params, defaults: { folder: "received" }, count_pages: true)
@dmails = @dmails.includes(:owner, :to, :from) if request.format.html?
respond_with(@dmails)
end
@@ -51,14 +53,6 @@ class DmailsController < ApplicationController
private
def default_includes(params)
if ["json", "xml"].include?(params[:format])
[]
else
[:owner, :to, :from]
end
end
def check_show_privilege(dmail)
raise User::PrivilegeError unless dmail.visible_to?(CurrentUser.user, params[:key])
end

View File

@@ -2,17 +2,9 @@ class DtextLinksController < ApplicationController
respond_to :html, :xml, :json
def index
@dtext_links = DtextLink.paginated_search(params).includes(model_includes(params))
@dtext_links = DtextLink.paginated_search(params)
@dtext_links = @dtext_links.includes(:model) if request.format.html?
respond_with(@dtext_links)
end
private
def default_includes(params)
if ["json", "xml"].include?(params[:format])
[]
else
[:model]
end
end
end

View File

@@ -4,7 +4,9 @@ class FavoriteGroupsController < ApplicationController
def index
params[:search][:creator_id] ||= params[:user_id]
@favorite_groups = FavoriteGroup.paginated_search(params).includes(model_includes(params))
@favorite_groups = FavoriteGroup.paginated_search(params)
@favorite_groups = @favorite_groups.includes(:creator) if request.format.html?
respond_with(@favorite_groups)
end
@@ -61,14 +63,6 @@ class FavoriteGroupsController < ApplicationController
private
def default_includes(params)
if ["json", "xml"].include?(params[:format])
[]
else
[:creator]
end
end
def check_write_privilege(favgroup)
raise User::PrivilegeError unless favgroup.editable_by?(CurrentUser.user)
end

View File

@@ -3,7 +3,9 @@ class ForumPostVotesController < ApplicationController
before_action :member_only, only: [:create, :destroy]
def index
@forum_post_votes = ForumPostVote.paginated_search(params, count_pages: true).includes(model_includes(params))
@forum_post_votes = ForumPostVote.paginated_search(params, count_pages: true)
@forum_post_votes = @forum_post_votes.includes(:creator, forum_post: [:creator, :topic]) if request.format.html?
respond_with(@forum_post_votes)
end
@@ -21,14 +23,6 @@ class ForumPostVotesController < ApplicationController
private
def default_includes(params)
if ["json", "xml"].include?(params[:format])
[]
else
[:creator, {forum_post: [:topic]}]
end
end
def forum_post_vote_params
params.fetch(:forum_post_vote, {}).permit(:score)
end

View File

@@ -24,7 +24,9 @@ class ForumPostsController < ApplicationController
end
def index
@forum_posts = ForumPost.paginated_search(params).includes(model_includes(params))
@forum_posts = ForumPost.paginated_search(params)
@forum_posts = @forum_posts.includes(:topic, :creator) if request.format.html?
respond_with(@forum_posts)
end
@@ -68,14 +70,6 @@ class ForumPostsController < ApplicationController
private
def default_includes(params)
if ["json", "xml"].include?(params[:format])
[]
else
[:topic, :creator]
end
end
def load_post
@forum_post = ForumPost.find(params[:id])
@forum_topic = @forum_post.topic

View File

@@ -23,7 +23,13 @@ class ForumTopicsController < ApplicationController
params[:search][:order] ||= "sticky" if request.format.html?
params[:limit] ||= 40
@forum_topics = ForumTopic.paginated_search(params).includes(model_includes(params))
@forum_topics = ForumTopic.paginated_search(params)
if request.format.atom?
@forum_topics = @forum_topics.includes(:creator, :original_post)
elsif request.format.html?
@forum_topics = @forum_topics.includes(:creator, :updater, :forum_topic_visit_by_current_user)
end
respond_with(@forum_topics)
end
@@ -32,9 +38,15 @@ class ForumTopicsController < ApplicationController
if request.format.html?
@forum_topic.mark_as_read!(CurrentUser.user)
end
@forum_posts = ForumPost.search(:topic_id => @forum_topic.id).reorder("forum_posts.id").paginate(params[:page])
@forum_posts = @forum_posts.includes(:creator, :bulk_update_request)
@forum_posts = @forum_posts.reverse_order.load if request.format.atom?
if request.format.atom?
@forum_posts = @forum_posts.reverse_order.load
elsif request.format.html?
@forum_posts = @forum_posts.includes(:creator, :bulk_update_request)
end
respond_with(@forum_topic)
end
@@ -77,16 +89,6 @@ class ForumTopicsController < ApplicationController
private
def default_includes(params)
if ["json", "xml"].include?(params[:format])
[]
elsif params[:format] == "atom"
[:creator, :original_post]
else
[:creator, :updater, :forum_topic_visit_by_current_user]
end
end
def normalize_search
if params[:title_matches]
params[:search] ||= {}

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

View File

@@ -12,7 +12,9 @@ class IpBansController < ApplicationController
end
def index
@ip_bans = IpBan.paginated_search(params, count_pages: true).includes(model_includes(params))
@ip_bans = IpBan.paginated_search(params, count_pages: true)
@ip_bans = @ip_bans.includes(:creator) if request.format.html?
respond_with(@ip_bans)
end
@@ -24,14 +26,6 @@ class IpBansController < ApplicationController
private
def default_includes(params)
if ["json", "xml"].include?(params[:format])
[]
else
[:creator]
end
end
def ip_ban_params
params.fetch(:ip_ban, {}).permit(%i[ip_addr reason])
end

View File

@@ -2,7 +2,9 @@ class ModActionsController < ApplicationController
respond_to :html, :xml, :json
def index
@mod_actions = ModAction.paginated_search(params).includes(model_includes(params))
@mod_actions = ModAction.paginated_search(params)
@mod_actions = @mod_actions.includes(:creator) if request.format.html?
respond_with(@mod_actions)
end
@@ -12,14 +14,4 @@ class ModActionsController < ApplicationController
fmt.html { redirect_to mod_actions_path(search: { id: @mod_action.id }) }
end
end
private
def default_includes(params)
if ["json", "xml"].include?(params[:format])
[]
else
[:creator]
end
end
end

View File

@@ -10,7 +10,9 @@ class ModerationReportsController < ApplicationController
end
def index
@moderation_reports = ModerationReport.paginated_search(params, count_pages: true).includes(model_includes(params))
@moderation_reports = ModerationReport.paginated_search(params, count_pages: true)
@moderation_reports = @moderation_reports.includes(:creator, :model) if request.format.html?
respond_with(@moderation_reports)
end
@@ -29,14 +31,6 @@ class ModerationReportsController < ApplicationController
private
def default_includes(params)
if ["json", "xml"].include?(params[:format])
[]
else
[:creator, :model]
end
end
def model_type
params.fetch(:moderation_report, {}).fetch(:model_type)
end

View File

@@ -12,7 +12,9 @@ module Moderator
end
def index
@post_disapprovals = PostDisapproval.paginated_search(params).includes(model_includes(params))
@post_disapprovals = PostDisapproval.paginated_search(params)
@post_disapprovals = @post_disapprovals.includes(:user) if request.format.html?
respond_with(@post_disapprovals)
end
@@ -22,14 +24,6 @@ module Moderator
"PostDisapproval"
end
def default_includes(params)
if ["json", "xml"].include?(params[:format])
[]
else
[:user]
end
end
def post_disapproval_params
params.require(:post_disapproval).permit(%i[post_id reason message])
end

View File

@@ -2,7 +2,9 @@ class NoteVersionsController < ApplicationController
respond_to :html, :xml, :json
def index
@note_versions = NoteVersion.paginated_search(params).includes(model_includes(params))
@note_versions = NoteVersion.paginated_search(params)
@note_versions = @note_versions.includes(:updater) if request.format.html?
respond_with(@note_versions)
end
@@ -12,14 +14,4 @@ class NoteVersionsController < ApplicationController
format.html { redirect_to note_versions_path(search: { note_id: @note_version.note_id }) }
end
end
private
def default_includes(params)
if ["json", "xml"].include?(params[:format])
[]
else
[:updater]
end
end
end

View File

@@ -6,7 +6,9 @@ class NotesController < ApplicationController
end
def index
@notes = Note.paginated_search(params).includes(model_includes(params))
@notes = Note.paginated_search(params)
@notes = @notes.includes(:creator, :post) if request.format.html?
respond_with(@notes)
end
@@ -59,14 +61,6 @@ class NotesController < ApplicationController
private
def default_includes(params)
if ["json", "xml"].include?(params[:format])
[]
else
[:creator, :post]
end
end
def note_params(context)
permitted_params = %i[x y width height body]
permitted_params += %i[post_id html_id] if context == :create

View File

@@ -4,7 +4,9 @@ class PoolVersionsController < ApplicationController
around_action :set_timeout
def index
@pool_versions = PoolArchive.paginated_search(params).includes(model_includes(params))
@pool_versions = PoolArchive.paginated_search(params)
@pool_versions = @pool_versions.includes(:updater, :pool) if request.format.html?
respond_with(@pool_versions)
end
@@ -27,14 +29,6 @@ class PoolVersionsController < ApplicationController
"PoolArchive"
end
def default_includes(params)
if ["json", "xml"].include?(params[:format])
[]
else
[:updater, :pool]
end
end
def set_timeout
PoolArchive.connection.execute("SET statement_timeout = #{CurrentUser.user.statement_timeout}")
yield

View File

@@ -17,7 +17,8 @@ class PoolsController < ApplicationController
end
def index
@pools = Pool.paginated_search(params, count_pages: true).includes(model_includes(params))
@pools = Pool.paginated_search(params, count_pages: true)
@pools = @pools.includes(:creator) if request.format.html?
respond_with(@pools)
end
@@ -90,10 +91,6 @@ class PoolsController < ApplicationController
private
def default_includes(params)
[:creator]
end
def item_matches_params(pool)
if params[:search][:name_matches]
Pool.normalize_name_for_search(pool.name) == Pool.normalize_name_for_search(params[:search][:name_matches])

View File

@@ -8,7 +8,14 @@ class PostAppealsController < ApplicationController
end
def index
@post_appeals = PostAppeal.paginated_search(params).includes(model_includes(params))
@post_appeals = PostAppeal.paginated_search(params)
if request.format.html?
@post_appeals = @post_appeals.includes(:creator, post: [:appeals, :uploader, :approver])
else
@post_appeals = @post_appeals.includes(:post)
end
respond_with(@post_appeals)
end
@@ -26,14 +33,6 @@ class PostAppealsController < ApplicationController
private
def default_includes(params)
if ["json", "xml"].include?(params[:format])
[:post]
else
[:creator, {post: [:appeals, :uploader, :approver]}]
end
end
def post_appeal_params
params.fetch(:post_appeal, {}).permit(%i[post_id reason])
end

View File

@@ -2,17 +2,9 @@ class PostApprovalsController < ApplicationController
respond_to :html, :xml, :json
def index
@post_approvals = PostApproval.paginated_search(params).includes(model_includes(params))
@post_approvals = PostApproval.paginated_search(params)
@post_approvals = @post_approvals.includes(:user, post: :uploader) if request.format.html?
respond_with(@post_approvals)
end
private
def default_includes(params)
if ["json", "xml"].include?(params[:format])
[]
else
[:user, {post: [:uploader]}]
end
end
end

View File

@@ -8,7 +8,14 @@ class PostFlagsController < ApplicationController
end
def index
@post_flags = PostFlag.paginated_search(params).includes(model_includes(params))
@post_flags = PostFlag.paginated_search(params)
if request.format.html?
@post_flags = @post_flags.includes(:creator, post: [:flags, :uploader, :approver])
else
@post_flags = @post_flags.includes(:post)
end
respond_with(@post_flags)
end
@@ -26,16 +33,6 @@ class PostFlagsController < ApplicationController
private
def default_includes(params)
if ["json", "xml"].include?(params[:format])
[:post]
else
includes_array = [{post: [:flags, :uploader, :approver]}]
includes_array << :creator if CurrentUser.is_moderator?
includes_array
end
end
def post_flag_params
params.fetch(:post_flag, {}).permit(%i[post_id reason])
end

View File

@@ -24,21 +24,14 @@ class PostReplacementsController < ApplicationController
def index
params[:search][:post_id] = params.delete(:post_id) if params.key?(:post_id)
@post_replacements = PostReplacement.paginated_search(params).includes(model_includes(params))
@post_replacements = PostReplacement.paginated_search(params)
@post_replacements = @post_replacements.includes(:creator, post: :uploader) if request.format.html?
respond_with(@post_replacements)
end
private
def default_includes(params)
if ["json", "xml"].include?(params[:format])
[]
else
[:creator, {post: [:uploader]}]
end
end
def create_params
params.require(:post_replacement).permit(:replacement_url, :replacement_file, :final_source, :tags)
end

View File

@@ -6,7 +6,14 @@ class PostVersionsController < ApplicationController
respond_to :js, only: [:undo]
def index
@post_versions = PostArchive.paginated_search(params).includes(model_includes(params))
@post_versions = PostArchive.paginated_search(params)
if request.format.html?
@post_versions = @post_versions.includes(:updater, post: [:uploader, :versions])
else
@post_versions = @post_versions.includes(post: :versions)
end
respond_with(@post_versions)
end
@@ -26,14 +33,6 @@ class PostVersionsController < ApplicationController
"PostArchive"
end
def default_includes(params)
if ["json", "xml"].include?(params[:format])
[:updater, {post: [:versions]}]
else
[:updater, {post: [:uploader, :versions]}]
end
end
def set_timeout
PostArchive.connection.execute("SET statement_timeout = #{CurrentUser.user.statement_timeout}")
yield

View File

@@ -5,7 +5,9 @@ class PostVotesController < ApplicationController
rescue_with PostVote::Error, status: 422
def index
@post_votes = PostVote.paginated_search(params, count_pages: true).includes(model_includes(params))
@post_votes = PostVote.paginated_search(params, count_pages: true)
@post_votes = @post_votes.includes(:user, post: :uploader) if request.format.html?
respond_with(@post_votes)
end
@@ -22,14 +24,4 @@ class PostVotesController < ApplicationController
respond_with(@post)
end
private
def default_includes(params)
if ["json", "xml"].include?(params[:format])
[]
else
[:user, {post: [:uploader]}]
end
end
end

View File

@@ -11,7 +11,7 @@ class PostsController < ApplicationController
end
else
@post_set = PostSets::Post.new(tag_query, params[:page], params[:limit], raw: params[:raw], random: params[:random], format: params[:format])
@posts = @post_set.posts = @post_set.posts.includes(model_includes(params)) if !@post_set.is_random?
@posts = @post_set.posts = @post_set.posts.includes(:uploader) if !@post_set.is_random? && CurrentUser.is_moderator?
respond_with(@posts) do |format|
format.atom
end
@@ -98,14 +98,6 @@ class PostsController < ApplicationController
private
def default_includes(params)
if ["json", "xml", "atom"].include?(params[:format])
[]
else
(CurrentUser.user.is_moderator? ? [:uploader] : [])
end
end
def tag_query
params[:tags] || (params[:post] && params[:post][:tags])
end

View File

@@ -2,7 +2,7 @@ class SavedSearchesController < ApplicationController
respond_to :html, :xml, :json, :js
def index
@saved_searches = saved_searches.paginated_search(params, count_pages: true).includes(model_includes(params))
@saved_searches = saved_searches.paginated_search(params, count_pages: true)
respond_with(@saved_searches)
end

View File

@@ -22,7 +22,9 @@ class TagAliasesController < ApplicationController
end
def index
@tag_aliases = TagAlias.paginated_search(params, count_pages: true).includes(model_includes(params))
@tag_aliases = TagAlias.paginated_search(params, count_pages: true)
@tag_aliases = @tag_aliases.includes(:antecedent_tag, :consequent_tag, :approver) if request.format.html?
respond_with(@tag_aliases)
end
@@ -42,14 +44,6 @@ class TagAliasesController < ApplicationController
private
def default_includes(params)
if ["json", "xml"].include?(params[:format])
[]
else
[:antecedent_tag, :consequent_tag, :approver]
end
end
def tag_alias_params
params.require(:tag_alias).permit(%i[antecedent_name consequent_name forum_topic_id skip_secondary_validations])
end

View File

@@ -22,7 +22,9 @@ class TagImplicationsController < ApplicationController
end
def index
@tag_implications = TagImplication.paginated_search(params, count_pages: true).includes(model_includes(params))
@tag_implications = TagImplication.paginated_search(params, count_pages: true)
@tag_implications = @tag_implications.includes(:antecedent_tag, :consequent_tag, :approver) if request.format.html?
respond_with(@tag_implications)
end
@@ -42,14 +44,6 @@ class TagImplicationsController < ApplicationController
private
def default_includes(params)
if ["json", "xml"].include?(params[:format])
[]
else
[:antecedent_tag, :consequent_tag, :approver]
end
end
def tag_implication_params
params.require(:tag_implication).permit(%i[antecedent_name consequent_name forum_topic_id skip_secondary_validations])
end

View File

@@ -9,7 +9,7 @@ class TagsController < ApplicationController
end
def index
@tags = Tag.paginated_search(params).includes(model_includes(params))
@tags = Tag.paginated_search(params)
respond_with(@tags)
end

View File

@@ -23,7 +23,9 @@ class UploadsController < ApplicationController
end
def index
@uploads = Upload.paginated_search(params, count_pages: true).includes(model_includes(params))
@uploads = Upload.paginated_search(params, count_pages: true)
@uploads = @uploads.includes(:uploader, post: :uploader) if request.format.html?
respond_with(@uploads)
end
@@ -58,14 +60,6 @@ class UploadsController < ApplicationController
private
def default_includes(params)
if ["json", "xml"].include?(params[:format])
[]
else
[:uploader, {post: [:uploader]}]
end
end
def upload_params
permitted_params = %i[
file source tag_string rating status parent_id artist_commentary_title

View File

@@ -19,7 +19,9 @@ class UserFeedbacksController < ApplicationController
end
def index
@user_feedbacks = UserFeedback.paginated_search(params, count_pages: true).includes(model_includes(params))
@user_feedbacks = UserFeedback.paginated_search(params, count_pages: true)
@user_feedbacks = @user_feedbacks.includes(:user, :creator) if request.format.html?
respond_with(@user_feedbacks)
end
@@ -37,14 +39,6 @@ class UserFeedbacksController < ApplicationController
private
def default_includes(params)
if ["json", "xml"].include?(params[:format])
[]
else
[:user, :creator]
end
end
def check_privilege(user_feedback)
raise User::PrivilegeError unless user_feedback.editable_by?(CurrentUser.user)
end

View File

@@ -31,7 +31,9 @@ class UsersController < ApplicationController
return
end
@users = User.paginated_search(params).includes(model_includes(params))
@users = User.paginated_search(params)
@users = @users.includes(:inviter) if request.format.html?
respond_with(@users)
end
@@ -94,14 +96,6 @@ class UsersController < ApplicationController
private
def default_includes(params)
if ["json", "xml"].include?(params[:format])
[]
else
[:inviter]
end
end
def item_matches_params(user)
if params[:search][:name_matches]
User.normalize_name(user.name) == User.normalize_name(params[:search][:name_matches])

View File

@@ -3,7 +3,9 @@ class WikiPageVersionsController < ApplicationController
layout "sidebar"
def index
@wiki_page_versions = WikiPageVersion.paginated_search(params).includes(model_includes(params))
@wiki_page_versions = WikiPageVersion.paginated_search(params)
@wiki_page_versions = @wiki_page_versions.includes(:updater) if request.format.html?
respond_with(@wiki_page_versions)
end
@@ -27,14 +29,4 @@ class WikiPageVersionsController < ApplicationController
respond_with([@thispage, @otherpage])
end
private
def default_includes(params)
if ["json", "xml"].include?(params[:format])
[]
else
[:updater]
end
end
end

View File

@@ -15,7 +15,7 @@ class WikiPagesController < ApplicationController
end
def index
@wiki_pages = WikiPage.paginated_search(params).includes(model_includes(params))
@wiki_pages = WikiPage.paginated_search(params)
respond_with(@wiki_pages)
end