diff --git a/app/controllers/concerns/mission_control/jobs/job_filters.rb b/app/controllers/concerns/mission_control/jobs/job_filters.rb
index 01a171d4..7e3b772d 100644
--- a/app/controllers/concerns/mission_control/jobs/job_filters.rb
+++ b/app/controllers/concerns/mission_control/jobs/job_filters.rb
@@ -9,10 +9,24 @@ module MissionControl::Jobs::JobFilters
private
def set_filters
- @job_filters = { job_class_name: params.dig(:filter, :job_class_name).presence, queue_name: params.dig(:filter, :queue_name).presence }.compact
+ @job_filters = { job_class_name: params.dig(:filter, :job_class_name).presence, queue_name: params.dig(:filter, :queue_name).presence,
+ finished_at: finished_at_range_params }.compact
end
def active_filters?
@job_filters.any?
end
+
+ def finished_at_range_params
+ range_start, range_end = params.dig(:filter, :finished_at_start), params.dig(:filter, :finished_at_end)
+ if range_start || range_end
+ (parse_with_time_zone(range_start)..parse_with_time_zone(range_end))
+ end
+ end
+
+ def date_with_time_zone(date)
+ if date.present?
+ DateTime.parse(date).in_time_zone
+ end
+ end
end
diff --git a/app/views/mission_control/jobs/jobs/_filters.html.erb b/app/views/mission_control/jobs/jobs/_filters.html.erb
index ef0d7928..89d9b211 100644
--- a/app/views/mission_control/jobs/jobs/_filters.html.erb
+++ b/app/views/mission_control/jobs/jobs/_filters.html.erb
@@ -12,6 +12,16 @@
<%= form.text_field :queue_name, value: @job_filters[:queue_name], class: "input", list: "queue-names", placeholder: "Filter by queue name..." %>
+ <% if jobs_status == "finished" %>
+
+ <%= form.datetime_field :finished_at_start, value: @job_filters[:finished_at]&.begin, class: "input", placeholder: "Finished from" %>
+
+
+
+ <%= form.datetime_field :finished_at_end, value: @job_filters[:finished_at]&.end, class: "input", placeholder: "Finished to" %>
+
+ <% end %>
+
<%= hidden_field_tag :server_id, MissionControl::Jobs::Current.server.id %>