Commit 340ff99e11c31a34564063d42f3c2a7c0cc643d0

Authored by Braulio Bhavamitra
1 parent bfec559e

Add new facet of profile type on profiles' searches

Showing 1 changed file with 11 additions and 1 deletions   Show diff stats
plugins/solr/lib/ext/profile.rb
@@ -14,10 +14,11 @@ class Profile @@ -14,10 +14,11 @@ class Profile
14 :solr_plugin_f_enabled => {:label => _('Situation'), :type_if => proc { |klass| klass.kind_of?(Enterprise) }, 14 :solr_plugin_f_enabled => {:label => _('Situation'), :type_if => proc { |klass| klass.kind_of?(Enterprise) },
15 :proc => proc { |id| solr_plugin_f_enabled_proc(id) }}, 15 :proc => proc { |id| solr_plugin_f_enabled_proc(id) }},
16 :solr_plugin_f_region => {:label => _('City'), :proc => proc { |id| solr_plugin_f_region_proc(id) }}, 16 :solr_plugin_f_region => {:label => _('City'), :proc => proc { |id| solr_plugin_f_region_proc(id) }},
  17 + :solr_plugin_f_profile_type => {:label => _('Type'), :proc => proc{|klass| solr_plugin_f_profile_type_proc(klass)}},
17 :solr_plugin_f_categories => {:multi => true, :proc => proc {|facet, id| solr_plugin_f_categories_proc(facet, id)}, 18 :solr_plugin_f_categories => {:multi => true, :proc => proc {|facet, id| solr_plugin_f_categories_proc(facet, id)},
18 :label => proc { |env| solr_plugin_f_categories_label_proc(env) }, :label_abbrev => proc{ |env| solr_plugin_f_categories_label_abbrev_proc(env) }}, 19 :label => proc { |env| solr_plugin_f_categories_label_proc(env) }, :label_abbrev => proc{ |env| solr_plugin_f_categories_label_abbrev_proc(env) }},
19 }, :category_query => proc { |c| "solr_plugin_category_filter:#{c.id}" }, 20 }, :category_query => proc { |c| "solr_plugin_category_filter:#{c.id}" },
20 - :order => [:solr_plugin_f_region, :solr_plugin_f_categories, :solr_plugin_f_enabled] 21 + :order => [:solr_plugin_f_region, :solr_plugin_f_categories, :solr_plugin_f_enabled, :solr_plugin_f_profile_type]
21 22
22 acts_as_searchable :fields => facets_fields_for_solr + [:solr_plugin_extra_data_for_index, 23 acts_as_searchable :fields => facets_fields_for_solr + [:solr_plugin_extra_data_for_index,
23 # searched fields 24 # searched fields
@@ -117,4 +118,13 @@ class Profile @@ -117,4 +118,13 @@ class Profile
117 def solr_plugin_name_sortable 118 def solr_plugin_name_sortable
118 name 119 name
119 end 120 end
  121 +
  122 + def solr_plugin_f_profile_type
  123 + self.class.name
  124 + end
  125 +
  126 + def self.solr_plugin_f_profile_type_proc klass
  127 + klass.constantize.type_name
  128 + end
  129 +
120 end 130 end