|
3 | 3 |
|
4 | 4 | ActiveAdmin::Resource # autoload
|
5 | 5 | class ActiveAdmin::Resource
|
6 |
| - def resource_table_name |
7 |
| - resource_class.collection_name |
| 6 | + original_resource_table_name = instance_method(:resource_table_name) |
| 7 | + |
| 8 | + define_method(:resource_table_name) do |
| 9 | + if(resource_class.included_modules.include? Mongoid::Document) |
| 10 | + return resource_class.collection_name |
| 11 | + else |
| 12 | + return original_resource_table_name.bind(self).() |
| 13 | + end |
8 | 14 | end
|
9 | 15 | end
|
10 | 16 |
|
11 | 17 | ActiveAdmin::ResourceController # autoload
|
12 | 18 | class ActiveAdmin::ResourceController
|
13 |
| - before_filter :skip_sidebar! |
| 19 | +# before_filter :skip_sidebar! |
14 | 20 |
|
15 | 21 | protected
|
16 | 22 |
|
17 |
| - def skip_sidebar! |
18 |
| - @skip_sidebar = true |
19 |
| - end |
| 23 | + # def skip_sidebar! |
| 24 | + # @skip_sidebar = true |
| 25 | + # end |
| 26 | + |
| 27 | + original_sort_order = instance_method(:sort_order) |
20 | 28 |
|
21 | 29 | # Use #desc and #asc for sorting.
|
22 |
| - def sort_order(chain) |
23 |
| - params[:order] ||= active_admin_config.sort_order |
24 |
| - table_name = active_admin_config.resource_table_name |
25 |
| - if params[:order] && params[:order] =~ /^([\w\_\.]+)_(desc|asc)$/ |
26 |
| - chain.send($2, $1) |
| 30 | + define_method(:sort_order) do |chain| |
| 31 | + if(chain.included_modules.include? Mongoid::Document) |
| 32 | + params[:order] ||= active_admin_config.sort_order |
| 33 | + table_name = active_admin_config.resource_table_name |
| 34 | + if params[:order] && params[:order] =~ /^([\w\_\.]+)_(desc|asc)$/ |
| 35 | + chain.send($2, $1) |
| 36 | + else |
| 37 | + chain # just return the chain |
| 38 | + end |
27 | 39 | else
|
28 |
| - chain # just return the chain |
29 |
| - end |
| 40 | + original_sort_order.bind(self).(chain) |
| 41 | + end |
30 | 42 | end
|
31 | 43 |
|
| 44 | + original_search = instance_method(:search) |
| 45 | + |
32 | 46 | # Disable filters
|
33 |
| - def search(chain) |
34 |
| - chain |
| 47 | + define_method(:search) do |chain| |
| 48 | + if(chain.included_modules.include? Mongoid::Document) |
| 49 | + chain |
| 50 | + else |
| 51 | + original_search.bind(self).(chain) |
| 52 | + end |
35 | 53 | end
|
36 | 54 | end
|
0 commit comments