Commit 563ebecfbbf1b36e59b4a481aa0ba9d9b88872ec
1 parent
b89df43e
Elasticsearch: Removed filter for admin
Signed-off-by: DylanGuedes <djmgguedes@gmail.com> Signed-off-by: Macartur Sousa <macartur.sc@gmail.com>
Showing
2 changed files
with
10 additions
and
4 deletions
Show diff stats
plugins/elasticsearch/helpers/elasticsearch_helper.rb
... | ... | @@ -89,6 +89,8 @@ module ElasticsearchHelper |
89 | 89 | |
90 | 90 | def query_method(expression="", models=[], categories=[]) |
91 | 91 | query = {} |
92 | + current_user ||= nil | |
93 | + | |
92 | 94 | query[:query] = { |
93 | 95 | filtered: { |
94 | 96 | query: query_string(expression, models), |
... | ... | @@ -99,7 +101,7 @@ module ElasticsearchHelper |
99 | 101 | } |
100 | 102 | |
101 | 103 | query[:query][:filtered][:filter][:bool] = { |
102 | - should: models.map {|model| model.filter(environment: @environment.id)} | |
104 | + should: models.map {|model| model.filter(environment: @environment.id, user: current_user )} | |
103 | 105 | } |
104 | 106 | |
105 | 107 | unless categories.blank? | ... | ... |
plugins/elasticsearch/lib/searchable_model/filter.rb
... | ... | @@ -10,20 +10,24 @@ module Filter |
10 | 10 | module ClassMethods |
11 | 11 | |
12 | 12 | def filter options={} |
13 | - environment = options[:environment].presence | |
14 | 13 | |
15 | 14 | result_filter = {} |
16 | 15 | result_filter[:indices] = {:index => self.index_name, :no_match_filter => "none" } |
17 | - result_filter[:indices][:filter] = { :bool => self.filter_bool(environment) } | |
16 | + result_filter[:indices][:filter] = { :bool => self.filter_bool(options) } | |
18 | 17 | |
19 | 18 | result_filter |
20 | 19 | end |
21 | 20 | |
22 | - def filter_bool environment | |
21 | + def filter_bool options={} | |
22 | + environment = options[:environment].presence | |
23 | + user = options[:user].presence | |
24 | + | |
23 | 25 | result_filter = {} |
24 | 26 | |
25 | 27 | result_filter[:must] = [ NestedEnvironment::filter(environment) ] |
26 | 28 | |
29 | + return result_filter if user and user.person.is_admin? | |
30 | + | |
27 | 31 | self.nested_filter.each {|filter| result_filter[:must].append(filter)} if self.respond_to? :nested_filter |
28 | 32 | self.must.each {|filter| result_filter[:must].append(filter) } if self.respond_to? :must |
29 | 33 | ... | ... |