Module: CommonwealthVlrEngine::RenderConstraintsOverride

Defined in:
lib/commonwealth-vlr-engine/render_constraints_override.rb

Instance Method Summary collapse

Instance Method Details

#has_mlt_parameters?Boolean

return true if :mlt_id is present

Returns:

  • (Boolean)


14
15
16
# File 'lib/commonwealth-vlr-engine/render_constraints_override.rb', line 14

def has_mlt_parameters?
  !params[:mlt_id].blank?
end

#has_search_parameters?Boolean

override so we can inspect for other params, like :mlt_id

Returns:

  • (Boolean)


8
9
10
11
# File 'lib/commonwealth-vlr-engine/render_constraints_override.rb', line 8

def has_search_parameters?
  has_mlt_parameters? || super
  #!params[:q].blank? or !params[:f].blank? or !params[:search_field].blank? or params[:mlt_id] or !params[:coordinates].blank?
end

#render_advanced_date_query(localized_params = params) ⇒ Object

Render the advanced search date query constraints



33
34
35
36
37
38
39
40
41
42
43
# File 'lib/commonwealth-vlr-engine/render_constraints_override.rb', line 33

def render_advanced_date_query(localized_params = params)
  # So simple don't need a view template, we can just do it here.
  return ''.html_safe if localized_params[:date_start].blank? && localized_params[:date_end].blank?

  render_constraint_element(t('blacklight.advanced_search.constraints.date'),
                            date_range_constraints_to_s(localized_params),
                            :classes => ['date_range'],
                            :remove => remove_constraint_url(localized_params.merge(date_start: nil,
                                                                                    date_end: nil,
                                                                                    :action=>'index')))
end

#render_constraint_element(label, value, options = {}) ⇒ Object

override to deal with A-Z link result display



19
20
21
22
23
24
25
# File 'lib/commonwealth-vlr-engine/render_constraints_override.rb', line 19

def render_constraint_element(label, value, options = {})
  if value.match(/ssort:[A-Z]+\*/)
    label = t('blacklight.search.constraints.az_search')
    value = value.match(/[A-Z]+/)[0]
  end
  super
end

#render_constraints(localized_params = params) ⇒ Object

override to add methods to show constraints for ‘more like this’ and advanced search date range



28
29
30
# File 'lib/commonwealth-vlr-engine/render_constraints_override.rb', line 28

def render_constraints(localized_params = params)
  render_mlt_query(localized_params) + render_advanced_date_query(localized_params) + super
end

#render_mlt_query(localized_params = params) ⇒ Object

Render the ‘more like this’ query constraints



46
47
48
49
50
51
52
53
54
55
56
# File 'lib/commonwealth-vlr-engine/render_constraints_override.rb', line 46

def render_mlt_query(localized_params = params)
  # So simple don't need a view template, we can just do it here.
  return ''.html_safe if localized_params[:mlt_id].blank?

  render_constraint_element(t('blacklight.more_like_this.constraint_label'),
                            localized_params[:mlt_id],
                            :classes => ['mlt'],
                            :remove => remove_constraint_url(localized_params.merge(:mlt_id=>nil,
                                                                                    :qt=>nil,
                                                                                    :action=>'index')))
end