@@ -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