From cf88411dce4b5e007f3abd8983b17f1cfe4016fa Mon Sep 17 00:00:00 2001 From: evazion Date: Sun, 24 May 2020 00:28:14 -0500 Subject: [PATCH] uploads: fix /uploads listing search not working. Upload#search was declared as an instance method instead of a class method. --- app/models/upload.rb | 52 +++++++++++++++++++++----------------------- 1 file changed, 25 insertions(+), 27 deletions(-) diff --git a/app/models/upload.rb b/app/models/upload.rb index 3f6aaa82d..6883d9ec3 100644 --- a/app/models/upload.rb +++ b/app/models/upload.rb @@ -178,36 +178,34 @@ class Upload < ApplicationRecord end end - concerning :SearchMethods do - def search(params) - q = super + def self.search(params) + q = super - q = q.search_attributes(params, :uploader, :post, :source, :rating, :parent_id, :server, :md5, :server, :file_ext, :file_size, :image_width, :image_height, :referer_url) + q = q.search_attributes(params, :uploader, :post, :source, :rating, :parent_id, :server, :md5, :server, :file_ext, :file_size, :image_width, :image_height, :referer_url) - if params[:source_matches].present? - q = q.where_like(:source, params[:source_matches]) - end - - if params[:has_post].to_s.truthy? - q = q.where.not(post_id: nil) - elsif params[:has_post].to_s.falsy? - q = q.where(post_id: nil) - end - - if params[:status].present? - q = q.where_like(:status, params[:status]) - end - - if params[:backtrace].present? - q = q.where_like(:backtrace, params[:backtrace]) - end - - if params[:tag_string].present? - q = q.where_like(:tag_string, params[:tag_string]) - end - - q.apply_default_order(params) + if params[:source_matches].present? + q = q.where_like(:source, params[:source_matches]) end + + if params[:has_post].to_s.truthy? + q = q.where.not(post_id: nil) + elsif params[:has_post].to_s.falsy? + q = q.where(post_id: nil) + end + + if params[:status].present? + q = q.where_like(:status, params[:status]) + end + + if params[:backtrace].present? + q = q.where_like(:backtrace, params[:backtrace]) + end + + if params[:tag_string].present? + q = q.where_like(:tag_string, params[:tag_string]) + end + + q.apply_default_order(params) end def assign_rating_from_tags