web47core 3.2.9 → 3.2.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (54) hide show
  1. checksums.yaml +4 -4
  2. data/app/helpers/core_breadcrumb_helper.rb +11 -0
  3. data/app/helpers/core_card_nav_items_helper.rb +60 -0
  4. data/app/helpers/core_dropdown_helper.rb +89 -0
  5. data/app/helpers/core_floating_action_button_helper.rb +82 -0
  6. data/app/helpers/core_html5_form_helper.rb +163 -0
  7. data/app/helpers/core_job_state_helper.rb +21 -0
  8. data/app/helpers/core_remix_icon_helper.rb +23 -0
  9. data/app/helpers/core_select_two_helper.rb +73 -0
  10. data/app/helpers/model_modal_helper.rb +1 -1
  11. data/app/views/cron_servers/index.html.haml +28 -0
  12. data/app/views/cron_tabs/edit.html.haml +17 -0
  13. data/app/views/cron_tabs/index.html.haml +35 -0
  14. data/app/views/delayed_job_metrics/index.html.haml +22 -1
  15. data/app/views/delayed_job_workers/index.html.haml +30 -1
  16. data/app/views/delayed_jobs/index.html.haml +28 -1
  17. data/app/views/delayed_jobs/show.html.haml +55 -1
  18. data/app/views/system_configurations/edit.html.haml +14 -1
  19. data/app/views/system_configurations/show.html.haml +18 -1
  20. data/lib/app/controllers/concerns/core_controller.rb +14 -0
  21. data/lib/app/controllers/concerns/core_cron_servers_controller.rb +31 -0
  22. data/lib/app/controllers/concerns/core_cron_tabs_controller.rb +41 -0
  23. data/lib/app/controllers/concerns/core_delayed_job_metrics_controller.rb +2 -2
  24. data/lib/app/jobs/cron/trim_command_jobs.rb +1 -1
  25. data/lib/app/models/concerns/class_name.rb +26 -0
  26. data/lib/app/models/concerns/tag_able.rb +34 -0
  27. data/lib/app/models/tag.rb +21 -0
  28. data/lib/app/models/user_audit_log.rb +2 -2
  29. data/lib/web47core/version.rb +1 -1
  30. data/lib/web47core.rb +5 -1
  31. metadata +18 -25
  32. data/app/views/admin/cron/edit.html.haml +0 -1
  33. data/app/views/admin/cron/index.html.haml +0 -1
  34. data/app/views/admin/delayed_jobs/index.html.haml +0 -1
  35. data/app/views/admin/delayed_jobs/show.html.haml +0 -1
  36. data/app/views/admin/system_configurations/edit.html.haml +0 -1
  37. data/app/views/admin/system_configurations/show.html.haml +0 -1
  38. data/app/views/cron/_edit.html.haml +0 -19
  39. data/app/views/cron/_index.html.haml +0 -77
  40. data/app/views/cron/edit.html.haml +0 -1
  41. data/app/views/cron/index.html.haml +0 -1
  42. data/app/views/delayed_job_metrics/_index.html.haml +0 -27
  43. data/app/views/delayed_job_workers/_index.html.haml +0 -27
  44. data/app/views/delayed_jobs/_index.html.haml +0 -49
  45. data/app/views/delayed_jobs/_show.html.haml +0 -60
  46. data/app/views/stack/cron/edit.html.haml +0 -1
  47. data/app/views/stack/cron/index.html.haml +0 -1
  48. data/app/views/stack/delayed_jobs/index.html.haml +0 -1
  49. data/app/views/stack/delayed_jobs/show.html.haml +0 -1
  50. data/app/views/stack/system_configurations/edit.html.haml +0 -1
  51. data/app/views/stack/system_configurations/show.html.haml +0 -1
  52. data/app/views/system_configurations/_edit.html.haml +0 -15
  53. data/app/views/system_configurations/_show.html.haml +0 -22
  54. data/lib/app/controllers/concerns/core_cron_controller.rb +0 -79
@@ -1,27 +0,0 @@
1
- - title t('.title')
2
- .container
3
- .row
4
- .s12
5
- .card.section-data-tables
6
- .card-content
7
- %table.highlight.data-table
8
- %thead
9
- %tr
10
- =table_header_tag :name
11
- =table_header_tag :count, priority: 3
12
- =table_header_tag :min, priority: 5
13
- =table_header_tag :avg, priority: 5
14
- =table_header_tag :max, priority: 5
15
- =table_header_tag :last_run_at, priority: 4
16
- =table_header_actions_tag
17
- %tbody
18
- - @metrics.each do |metric|
19
- %tr
20
- %td=metric.name
21
- %td=metric.count
22
- %td=metric.min.round(3)
23
- %td=metric.avg.round(3)
24
- %td=metric.max.round(3)
25
- %td=current_user.local_time(metric.last_run_at)
26
- %td.actions
27
- = delete_link_tag(metric, model_path(metric))
@@ -1,27 +0,0 @@
1
- - title t('.title')
2
- .container
3
- .row
4
- .s12
5
- .card.section-data-tables
6
- .card-content
7
- %table.highlight.data-table
8
- %thead
9
- %tr
10
- =table_header_tag :host_name, priority: 3
11
- =table_header_tag :pid, priority: 3
12
- =table_header_tag :running, priority: 5
13
- =table_header_tag :alive, priority: 5
14
- =table_header_tag :last_check_in, priority: 4
15
- =table_header_tag :runs, priority: 4
16
- =table_header_actions_tag
17
- %tbody
18
- - @workers.each do |worker|
19
- %tr
20
- %td=worker.host_name
21
- %td=worker.pid
22
- %td=materialize_icon(worker.running? ? 'directions_run' : 'pending')
23
- %td=materialize_icon(worker.dead? ? 'do_disturb' : 'run_circle')
24
- %td=current_user.local_time(worker.last_check_in_at)
25
- %td=worker.runs.count
26
- %td.actions
27
- = delete_link_tag(worker, model_path(worker))
@@ -1,49 +0,0 @@
1
- - title t('.title')
2
- .container
3
- .row
4
- .s12
5
- .card
6
- .card-content
7
- .card-title Delayed Jobs
8
- - if can?(:manage, Delayed::Backend::Mongoid::Job)
9
- .card-tray
10
- %a.btn.yellow{href: class_action_path(:destroy_all, failed_only:true),
11
- title: t('.destroy_all'),
12
- data: {confirm: t('.confirm_destroy_failed')}}
13
- %i.material-icons
14
- delete
15
- %a.btn.red{href: class_action_path(:destroy_all, failed_only:false),
16
- title: t('.destroy_all'),
17
- data: {confirm: t('confirm_destroy_all')}}
18
- %i.material-icons
19
- delete
20
- %a.btn.yellow.darken-3{href: class_action_path(:resbumit_all, failed_only:true),
21
- title: t('.resubmit_failed'),
22
- data: {confirm: t('.confirm_resubmit_failed')}}
23
- %i.material-icons
24
- restore
25
- %a.btn.red{href: class_action_path(:resbumit_all, failed_only:false),
26
- title: t('.resubmit_all'),
27
- data: {confirm: t('.confirm_resubmit_all')}}
28
- %i.material-icons
29
- restore
30
- .card
31
- .card-content
32
- %table.highlight.data-table
33
- %thead
34
- %tr
35
- =table_header_tag :run_at, priority: 3
36
- =table_header_tag :name
37
- =table_header_tag :priority, priority: 5
38
- =table_header_tag :status, priority: 4
39
- =table_header_actions_tag
40
- %tbody
41
- - @delayed_jobs.each do |delayed_job|
42
- %tr
43
- %td=current_user.local_time(delayed_job.created_at)
44
- %td.name=link_to(delayed_job.display_name, model_path(delayed_job))
45
- %td=delayed_job.priority
46
- %td=delayed_job.status_description
47
- %td.actions
48
- = replay_link_tag(delayed_job, model_action_path(delayed_job, :resubmit), confirm: 'Are you sure you want to restart this job?')
49
- = delete_link_tag(delayed_job, model_path(delayed_job))
@@ -1,60 +0,0 @@
1
- - title @delayed_job.name
2
- .container
3
- .row
4
- .col.s12
5
- .card
6
- .card-content
7
- .card-title= @delayed_job.name
8
- - if can?(:manage, @delayed_job)
9
- .card-tray
10
- =delete_button_tag(@delayed_job, model_path(@delayed_job))
11
- =replay_button_tag(@delayed_job, model_path(@delayed_job))
12
- .card
13
- .card-content
14
- %table#info{class: 'bordered'}
15
- %tr
16
- %th=t('.name_label')
17
- %td=@delayed_job.name
18
- %tr
19
- %th=t('.queue_label')
20
- %td=@delayed_job.queue&.titleize
21
- %tr
22
- %th=t('.priority_label')
23
- %td=@delayed_job.priority
24
- %tr
25
- %th=t('.attempts_label')
26
- %td=@delayed_job.attempts
27
- %tr
28
- %th=t('.run_at_label')
29
- %td=current_user.local_time(@delayed_job.run_at)
30
- %tr
31
- %th=t('.locked_at_label')
32
- %td=current_user.local_time(@delayed_job.locked_at)
33
- %tr
34
- %th=t('.locked_by_label')
35
- %td=@delayed_job.locked_by.presence || 'N/A'
36
- %tr
37
- %th=t('.handler_label')
38
- %td=@delayed_job.job_payload
39
- -if @delayed_job.failed?
40
- %tr
41
- %th=t('delayed_jobs.show.failed_at_label')
42
- %td=current_user.local_time(@delayed_job.failed_at)
43
- %tr
44
- %th=t('delayed_jobs.show.failed_object')
45
- %td=@delayed_job.failed_object.inspect
46
- %tr
47
- %th=t('delayed_jobs.show.failed_method')
48
- %td=@delayed_job.failed_method_name
49
- %tr
50
- %th=t('delayed_jobs.show.failed_args')
51
- %td=@delayed_job.failed_args
52
- -if @delayed_job.last_error.present?
53
- %tr
54
- %th=t('delayed_jobs.show.last_error_label')
55
- %td=@delayed_job.last_error
56
- - if can? :manage, @delayed_job
57
- .card-action
58
- .row
59
- .col.s6.center-align= delete_button_tag(@delayed_job, model_path(@delayed_job))
60
- .col.s6.center-align= replay_button_tag(@delayed_job, model_path(@delayed_job))
@@ -1 +0,0 @@
1
- =render '/cron/edit'
@@ -1 +0,0 @@
1
- =render '/cron/index'
@@ -1 +0,0 @@
1
- =render '/delayed_jobs/index'
@@ -1 +0,0 @@
1
- =render '/delayed_jobs/show'
@@ -1 +0,0 @@
1
- = render '/system_configurations/edit'
@@ -1 +0,0 @@
1
- = render '/system_configurations/show'
@@ -1,15 +0,0 @@
1
- - title SystemConfiguration.environment.titleize
2
- %form{action: index_path, method: :post}
3
- %input{type: :hidden, value: form_authenticity_token, name: :authenticity_token}
4
- %input{type: :hidden, name: '_method', value: :put}
5
- .container
6
- .row
7
- .col.s12
8
- .card
9
- .card-content
10
- .card-title= SystemConfiguration.environment.titleize
11
- .row
12
- = form_text_field(@system_configuration, :switchboard_base_url, classes: %w[s12 m4])
13
- = form_text_field(@system_configuration, :switchboard_stack_id, classes: %w[s12 m4])
14
- = form_password(@system_configuration, :switchboard_stack_api_token, classes: %w[s12 m4])
15
- = render 'common/update_actions', form_cancel_path: index_path
@@ -1,22 +0,0 @@
1
- - title SystemConfiguration.environment.titleize
2
- .container
3
- .row
4
- .s12
5
- .card
6
- .card-content
7
- .card-title=SystemConfiguration.environment.titleize
8
- .card-tray
9
- = edit_link_tag(SystemConfiguration, class_action_path(:edit))
10
- = replay_link_tag(SystemConfiguration, class_action_path(:sync))
11
- .card
12
- .card-content.section-data-tables
13
- %table.highlight.striped.data-table
14
- %thead
15
- %tr
16
- =table_header_tag :field
17
- =table_header_tag :value
18
- %tbody
19
- - SystemConfiguration.allowed_param_names.sort.each do |field|
20
- %tr
21
- %td=field
22
- %td=mask_system_configuration(field)
@@ -1,79 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- #
4
- # Manage cron job servers
5
- #
6
- module CoreCronController
7
- include CoreController
8
- #
9
- # Table to display cron job servers
10
- #
11
- def index
12
- authorize! :read, Cron::Server
13
- authorize! :read, Cron::Tab
14
- end
15
-
16
- #
17
- # Run the crontab entry now
18
- #
19
- def run_now
20
- authorize! :read, cron_tab
21
- cron_tab.run
22
- redirect_to index_path
23
- rescue StandardError => error
24
- log_controller_error error, true
25
- redirect_to index_path
26
- end
27
-
28
- #
29
- # Update a crontab entry
30
- #
31
- def update
32
- authorize! :update, cron_tab
33
- cron_tab.update! cron_tab_params
34
- redirect_to index_path
35
- rescue StandardError => error
36
- log_controller_error error
37
- render :edit
38
- end
39
-
40
- #
41
- # Demote a cron job server
42
- #
43
- def demote
44
- authorize! :edit, cron_server
45
- cron_server.become_secondary
46
- redirect_to index_path
47
- rescue StandardError => error
48
- log_controller_error error, true
49
- redirect_to index_path
50
- end
51
-
52
- #
53
- # Destroy a cron job server
54
- #
55
- def destroy
56
- authorize! :destroy, cron_server
57
- cron_server.destroy!
58
- redirect_to index_path
59
- rescue StandardError => error
60
- log_controller_error error, true
61
- redirect_to index_path
62
- end
63
-
64
- private
65
-
66
- def cron_tab
67
- @cron_tab ||= Cron::Tab.find(params[:id])
68
- end
69
-
70
- def cron_server
71
- @cron_server ||= Cron::Server.find(params[:id])
72
- end
73
-
74
- def cron_tab_params
75
- p = params['cron/job_tab']
76
- p[:enabled] ||= false
77
- p.permit(Cron::Tab.allowed_param_names)
78
- end
79
- end