FEATURE: topic:TOPIC_ID to search within topic
This commit is contained in:
parent
9e4080d825
commit
9a23a0bbbd
|
@ -95,18 +95,18 @@ class Search
|
||||||
end
|
end
|
||||||
|
|
||||||
def initialize(term, opts=nil)
|
def initialize(term, opts=nil)
|
||||||
term = process_advanced_search!(term)
|
|
||||||
if term.present?
|
|
||||||
@term = Search.prepare_data(term.to_s)
|
|
||||||
@original_term = PG::Connection.escape_string(@term)
|
|
||||||
end
|
|
||||||
|
|
||||||
@opts = opts || {}
|
@opts = opts || {}
|
||||||
@guardian = @opts[:guardian] || Guardian.new
|
@guardian = @opts[:guardian] || Guardian.new
|
||||||
@search_context = @opts[:search_context]
|
@search_context = @opts[:search_context]
|
||||||
@include_blurbs = @opts[:include_blurbs] || false
|
@include_blurbs = @opts[:include_blurbs] || false
|
||||||
@limit = Search.per_facet
|
@limit = Search.per_facet
|
||||||
|
|
||||||
|
term = process_advanced_search!(term)
|
||||||
|
if term.present?
|
||||||
|
@term = Search.prepare_data(term.to_s)
|
||||||
|
@original_term = PG::Connection.escape_string(@term)
|
||||||
|
end
|
||||||
|
|
||||||
if @search_pms && @guardian.user
|
if @search_pms && @guardian.user
|
||||||
@opts[:type_filter] = "private_messages"
|
@opts[:type_filter] = "private_messages"
|
||||||
@search_context = @guardian.user
|
@search_context = @guardian.user
|
||||||
|
@ -252,6 +252,15 @@ class Search
|
||||||
if word == 'order:latest'
|
if word == 'order:latest'
|
||||||
@order = :latest
|
@order = :latest
|
||||||
nil
|
nil
|
||||||
|
elsif word =~ /topic:(\d+)/
|
||||||
|
topic_id = $1.to_i
|
||||||
|
if topic_id > 1
|
||||||
|
topic = Topic.find_by(id: topic_id)
|
||||||
|
if @guardian.can_see?(topic)
|
||||||
|
@search_context = topic
|
||||||
|
end
|
||||||
|
end
|
||||||
|
nil
|
||||||
elsif word == 'order:views'
|
elsif word == 'order:views'
|
||||||
@order = :views
|
@order = :views
|
||||||
nil
|
nil
|
||||||
|
|
Loading…
Reference in New Issue