good_job 2.13.0 → 2.14.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (39) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +53 -1
  3. data/engine/app/assets/good_job/modules/application.js +14 -0
  4. data/engine/app/assets/good_job/modules/charts.js +29 -0
  5. data/engine/app/assets/good_job/modules/checkbox_toggle.js +51 -0
  6. data/engine/app/assets/good_job/modules/document_ready.js +7 -0
  7. data/engine/app/assets/good_job/modules/poller.js +93 -0
  8. data/engine/app/assets/good_job/modules/toasts.js +8 -0
  9. data/engine/app/assets/good_job/scripts.js +3 -0
  10. data/engine/app/assets/{style.css → good_job/style.css} +4 -0
  11. data/engine/app/assets/{vendor → good_job/vendor}/bootstrap/bootstrap.bundle.min.js +0 -0
  12. data/engine/app/assets/{vendor → good_job/vendor}/bootstrap/bootstrap.min.css +0 -0
  13. data/engine/app/assets/{vendor → good_job/vendor}/chartjs/chart.min.js +0 -0
  14. data/engine/app/assets/good_job/vendor/es_module_shims.js +1 -0
  15. data/engine/app/assets/{vendor → good_job/vendor}/rails_ujs.js +0 -0
  16. data/engine/app/controllers/good_job/assets_controller.rb +23 -6
  17. data/engine/app/controllers/good_job/executions_controller.rb +1 -5
  18. data/engine/app/controllers/good_job/jobs_controller.rb +45 -2
  19. data/engine/app/filters/good_job/base_filter.rb +3 -0
  20. data/engine/app/filters/good_job/jobs_filter.rb +5 -2
  21. data/engine/app/helpers/good_job/application_helper.rb +6 -0
  22. data/engine/app/views/good_job/executions/_table.erb +1 -1
  23. data/engine/app/views/good_job/jobs/_table.erb +101 -62
  24. data/engine/app/views/good_job/jobs/index.html.erb +1 -1
  25. data/engine/app/views/good_job/shared/_alert.erb +20 -13
  26. data/engine/app/views/good_job/shared/_navbar.erb +1 -4
  27. data/engine/app/views/layouts/good_job/application.html.erb +11 -8
  28. data/engine/config/locales/en.yml +0 -1
  29. data/engine/config/locales/es.yml +0 -1
  30. data/engine/config/locales/nl.yml +0 -1
  31. data/engine/config/locales/ru.yml +0 -1
  32. data/engine/config/routes.rb +10 -3
  33. data/lib/good_job/active_job_job.rb +9 -7
  34. data/lib/good_job/lockable.rb +10 -0
  35. data/lib/good_job/version.rb +1 -1
  36. metadata +15 -10
  37. data/engine/app/assets/scripts.js +0 -133
  38. data/engine/app/filters/good_job/executions_filter.rb +0 -41
  39. data/engine/app/views/good_job/executions/index.html.erb +0 -15
@@ -1,41 +0,0 @@
1
- # frozen_string_literal: true
2
- module GoodJob
3
- class ExecutionsFilter < BaseFilter
4
- def states
5
- @_states ||= {
6
- 'finished' => base_query.finished.count,
7
- 'unfinished' => base_query.unfinished.count,
8
- 'running' => base_query.running.count,
9
- 'errors' => base_query.where.not(error: nil).count,
10
- }
11
- end
12
-
13
- def filtered_query
14
- query = base_query
15
- query = query.job_class(params[:job_class]) if params[:job_class].present?
16
- query = query.where(queue_name: params[:queue_name]) if params[:queue_name].present?
17
- query = query.search_text(params[:query]) if params[:query].present?
18
-
19
- if params[:state]
20
- case params[:state]
21
- when 'finished'
22
- query = query.finished
23
- when 'unfinished'
24
- query = query.unfinished
25
- when 'running'
26
- query = query.running
27
- when 'errors'
28
- query = query.where.not(error: nil)
29
- end
30
- end
31
-
32
- query
33
- end
34
-
35
- private
36
-
37
- def default_base_query
38
- GoodJob::Execution.all
39
- end
40
- end
41
- end
@@ -1,15 +0,0 @@
1
- <%= render 'good_job/shared/filter', title: "Executions", filter: @filter %>
2
- <%= render 'good_job/shared/chart', chart_data: GoodJob::ScheduledByQueueChart.new(@filter).data %>
3
- <%= render 'good_job/executions/table', executions: @filter.records %>
4
-
5
- <% if @filter.records.present? %>
6
- <nav aria-label="Job pagination" class="mt-3" data-gj-poll-replace id="executions-pagination">
7
- <ul class="pagination">
8
- <li class="page-item">
9
- <%= link_to({ after_scheduled_at: (@filter.last.scheduled_at || @filter.last.created_at), after_id: @filter.last.id }, class: "page-link") do %>
10
- Older executions <span aria-hidden="true">&raquo;</span>
11
- <% end %>
12
- </li>
13
- </ul>
14
- </nav>
15
- <% end %>