##// END OF EJS Templates
Makes search providers extensible (#3936)....
Jean-Philippe Lang -
r3330:c11d30ebc9f5
parent child
Show More
@@ -48,7 +48,7 class SearchController < ApplicationController
48 return
48 return
49 end
49 end
50
50
51 @object_types = %w(issues news documents changesets wiki_pages messages projects)
51 @object_types = Redmine::Search.available_search_types.dup
52 if projects_to_search.is_a? Project
52 if projects_to_search.is_a? Project
53 # don't search projects
53 # don't search projects
54 @object_types.delete('projects')
54 @object_types.delete('projects')
@@ -1,6 +1,7
1 require 'redmine/access_control'
1 require 'redmine/access_control'
2 require 'redmine/menu_manager'
2 require 'redmine/menu_manager'
3 require 'redmine/activity'
3 require 'redmine/activity'
4 require 'redmine/search'
4 require 'redmine/mime_type'
5 require 'redmine/mime_type'
5 require 'redmine/core_ext'
6 require 'redmine/core_ext'
6 require 'redmine/themes'
7 require 'redmine/themes'
@@ -178,6 +179,16 Redmine::Activity.map do |activity|
178 activity.register :time_entries, :default => false
179 activity.register :time_entries, :default => false
179 end
180 end
180
181
182 Redmine::Search.map do |search|
183 search.register :issues
184 search.register :news
185 search.register :documents
186 search.register :changesets
187 search.register :wiki_pages
188 search.register :messages
189 search.register :projects
190 end
191
181 Redmine::WikiFormatting.map do |format|
192 Redmine::WikiFormatting.map do |format|
182 format.register :textile, Redmine::WikiFormatting::Textile::Formatter, Redmine::WikiFormatting::Textile::Helper
193 format.register :textile, Redmine::WikiFormatting::Textile::Formatter, Redmine::WikiFormatting::Textile::Helper
183 end
194 end
@@ -17,6 +17,23
17
17
18 module Redmine
18 module Redmine
19 module Search
19 module Search
20
21 mattr_accessor :available_search_types
22
23 @@available_search_types = []
24
25 class << self
26 def map(&block)
27 yield self
28 end
29
30 # Registers a search provider
31 def register(search_type, options={})
32 search_type = search_type.to_s
33 @@available_search_types << search_type unless @@available_search_types.include?(search_type)
34 end
35 end
36
20 module Controller
37 module Controller
21 def self.included(base)
38 def self.included(base)
22 base.extend(ClassMethods)
39 base.extend(ClassMethods)
General Comments 0
You need to be logged in to leave comments. Login now