diff --git a/app/assets/javascripts/advanced_search.js.coffee b/app/assets/javascripts/advanced_search.js.coffee
index 25d2d031d..aa43c7c28 100644
--- a/app/assets/javascripts/advanced_search.js.coffee
+++ b/app/assets/javascripts/advanced_search.js.coffee
@@ -23,6 +23,7 @@ App.AdvancedSearch =
initialize: ->
if App.AdvancedSearch.advanced_search_terms()
$('#advanced-search').show()
+ App.AdvancedSearch.toggle_date_options()
$('.advanced-search-title').on
click: ->
diff --git a/app/controllers/concerns/commentable_actions.rb b/app/controllers/concerns/commentable_actions.rb
index a6f150a29..f9212e7c2 100644
--- a/app/controllers/concerns/commentable_actions.rb
+++ b/app/controllers/concerns/commentable_actions.rb
@@ -91,8 +91,8 @@ module CommentableActions
def parse_search_date
return unless search_by_date?
- start = params[:advanced_search][:date_min].to_time
- finish = params[:advanced_search][:date_max].try(:to_time) || Time.now
+ start = eval(params[:advanced_search][:date_min].inspect).to_time
+ finish = params[:advanced_search][:date_max].try(:to_time) || Date.today
params[:advanced_search][:date_range] = start.beginning_of_day..finish.end_of_day
end
diff --git a/app/helpers/search_helper.rb b/app/helpers/search_helper.rb
index 8af4eaa52..993909f6f 100644
--- a/app/helpers/search_helper.rb
+++ b/app/helpers/search_helper.rb
@@ -7,17 +7,25 @@ module SearchHelper
[t("shared.advanced_search.author_type_3"), 3],
[t("shared.advanced_search.author_type_4"), 4],
[t("shared.advanced_search.author_type_5"), 5]],
- params[:official_level])
+ params[:advanced_search].try(:[], :official_level))
end
def date_range_options
options_for_select([
- [t("shared.advanced_search.date_1"), 24.hours.ago],
- [t("shared.advanced_search.date_2"), 7.days.ago],
- [t("shared.advanced_search.date_3"), 30.days.ago],
- [t("shared.advanced_search.date_4"), 365.days.ago],
+ [t("shared.advanced_search.date_1"), "24.hours.ago"],
+ [t("shared.advanced_search.date_2"), "1.week.ago"],
+ [t("shared.advanced_search.date_3"), "1.month.ago"],
+ [t("shared.advanced_search.date_4"), "1.year.ago"],
[t("shared.advanced_search.date_5"), 'custom']],
- params[:date_range])
+ selected_date_range)
+ end
+
+ def selected_date_range
+ custom_date_range? ? 'custom' : params[:advanced_search].try(:[], :date_min)
+ end
+
+ def custom_date_range?
+ params[:advanced_search].try(:[], :date_max).present?
end
end
\ No newline at end of file
diff --git a/app/views/shared/_advanced_search.html.erb b/app/views/shared/_advanced_search.html.erb
index d43411702..1f9c8f619 100644
--- a/app/views/shared/_advanced_search.html.erb
+++ b/app/views/shared/_advanced_search.html.erb
@@ -9,13 +9,13 @@
<%= t("shared.advanced_search.general") %>
- <%= text_field_tag "search", @search_terms,
+ <%= text_field_tag "search", params[:search],
placeholder: t("shared.advanced_search.general_placeholder") %>
<%= t("shared.advanced_search.author") %>
- <%= text_field_tag "advanced_search[author]", @params_author,
+ <%= text_field_tag "advanced_search[author]", params[:advanced_search].try(:[], :author),
placeholder: t("shared.advanced_search.author_placeholder") %>
@@ -34,12 +34,14 @@
<%= t("shared.advanced_search.from") %>:
- <%= date_field 'advanced_search', 'date_min', max: Date.today, value: @params_date_min %>
+ <%= date_field 'advanced_search', 'date_min', max: Date.today,
+ value: params[:advanced_search].try(:[], :date_min) %>
<%= t("shared.advanced_search.to") %>:
- <%= date_field 'advanced_search', 'date_max', max: Date.today, value: @params_date_max %>
+ <%= date_field 'advanced_search', 'date_max', max: Date.today,
+ value: params[:advanced_search].try(:[], :date_max) %>
diff --git a/app/views/shared/_search_form.html.erb b/app/views/shared/_search_form.html.erb
index 9631bd4a1..1a5edd4a9 100644
--- a/app/views/shared/_search_form.html.erb
+++ b/app/views/shared/_search_form.html.erb
@@ -5,8 +5,8 @@
-
- " class="search-form">
+
+ " class="search-form" value="<%= params[:search] %>">