@@ -4,11 +4,13 @@ module CommentableActions
|
||||
|
||||
def index
|
||||
@resources = @search_terms.present? ? resource_model.search(@search_terms) : resource_model.all
|
||||
@resources = @advanced_search_terms.present? ? @resources.filter(@advanced_search_terms) : @resources
|
||||
|
||||
@resources = @resources.tagged_with(@tag_filter) if @tag_filter
|
||||
@resources = @resources.page(params[:page]).for_render.send("sort_by_#{@current_order}")
|
||||
index_customization if index_customization.present?
|
||||
@tag_cloud = tag_cloud
|
||||
|
||||
@tag_cloud = tag_cloud
|
||||
set_resource_votes(@resources)
|
||||
set_resources_instance
|
||||
end
|
||||
@@ -81,6 +83,47 @@ module CommentableActions
|
||||
@search_terms = params[:search] if params[:search].present?
|
||||
end
|
||||
|
||||
def parse_advanced_search_terms
|
||||
@advanced_search_terms = params[:advanced_search] if params[:advanced_search].present?
|
||||
parse_search_date
|
||||
end
|
||||
|
||||
def parse_search_date
|
||||
return unless search_by_date?
|
||||
params[:advanced_search][:date_range] = search_date_range
|
||||
end
|
||||
|
||||
def search_by_date?
|
||||
params[:advanced_search] && params[:advanced_search][:date_min].present?
|
||||
end
|
||||
|
||||
def search_start_date
|
||||
case params[:advanced_search][:date_min]
|
||||
when '1'
|
||||
24.hours.ago
|
||||
when '2'
|
||||
1.week.ago
|
||||
when '3'
|
||||
1.month.ago
|
||||
when '4'
|
||||
1.year.ago
|
||||
else
|
||||
Date.parse(params[:advanced_search][:date_min]) rescue nil
|
||||
end
|
||||
end
|
||||
|
||||
def method_name
|
||||
|
||||
end
|
||||
|
||||
def search_finish_date
|
||||
params[:advanced_search][:date_max].try(:to_date) || Date.today
|
||||
end
|
||||
|
||||
def search_date_range
|
||||
search_start_date.beginning_of_day..search_finish_date.end_of_day
|
||||
end
|
||||
|
||||
def set_search_order
|
||||
if params[:search].present? && params[:order].blank?
|
||||
params[:order] = 'relevance'
|
||||
|
||||
@@ -3,6 +3,7 @@ class DebatesController < ApplicationController
|
||||
include FlagActions
|
||||
|
||||
before_action :parse_search_terms, only: :index
|
||||
before_action :parse_advanced_search_terms, only: :index
|
||||
before_action :parse_tag_filter, only: :index
|
||||
before_action :set_search_order, only: :index
|
||||
before_action :authenticate_user!, except: [:index, :show]
|
||||
|
||||
@@ -3,6 +3,7 @@ class ProposalsController < ApplicationController
|
||||
include FlagActions
|
||||
|
||||
before_action :parse_search_terms, only: :index
|
||||
before_action :parse_advanced_search_terms, only: :index
|
||||
before_action :parse_tag_filter, only: :index
|
||||
before_action :set_search_order, only: :index
|
||||
before_action :authenticate_user!, except: [:index, :show]
|
||||
@@ -14,7 +15,7 @@ class ProposalsController < ApplicationController
|
||||
respond_to :html, :js
|
||||
|
||||
def index_customization
|
||||
@featured_proposals = Proposal.all.sort_by_confidence_score.limit(3) if (@search_terms.blank? && @tag_filter.blank?)
|
||||
@featured_proposals = Proposal.all.sort_by_confidence_score.limit(3) if (!@advanced_search_terms && @search_terms.blank? && @tag_filter.blank?)
|
||||
if @featured_proposals.present?
|
||||
set_featured_proposal_votes(@featured_proposals)
|
||||
@resources = @resources.where('proposals.id NOT IN (?)', @featured_proposals.map(&:id))
|
||||
@@ -44,4 +45,5 @@ class ProposalsController < ApplicationController
|
||||
def set_featured_proposal_votes(proposals)
|
||||
@featured_proposals_votes = current_user ? current_user.proposal_votes(proposals) : {}
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user