web47core 3.2.9 → 3.2.12
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/helpers/core_breadcrumb_helper.rb +11 -0
- data/app/helpers/core_card_nav_items_helper.rb +60 -0
- data/app/helpers/core_dropdown_helper.rb +89 -0
- data/app/helpers/core_floating_action_button_helper.rb +82 -0
- data/app/helpers/core_html5_form_helper.rb +163 -0
- data/app/helpers/core_job_state_helper.rb +21 -0
- data/app/helpers/core_remix_icon_helper.rb +23 -0
- data/app/helpers/core_select_two_helper.rb +73 -0
- data/app/helpers/model_modal_helper.rb +1 -1
- data/app/views/cron_servers/index.html.haml +28 -0
- data/app/views/cron_tabs/edit.html.haml +17 -0
- data/app/views/cron_tabs/index.html.haml +35 -0
- data/app/views/delayed_job_metrics/index.html.haml +22 -1
- data/app/views/delayed_job_workers/index.html.haml +30 -1
- data/app/views/delayed_jobs/index.html.haml +28 -1
- data/app/views/delayed_jobs/show.html.haml +55 -1
- data/app/views/system_configurations/edit.html.haml +14 -1
- data/app/views/system_configurations/show.html.haml +18 -1
- data/lib/app/controllers/concerns/core_controller.rb +14 -0
- data/lib/app/controllers/concerns/core_cron_servers_controller.rb +31 -0
- data/lib/app/controllers/concerns/core_cron_tabs_controller.rb +41 -0
- data/lib/app/controllers/concerns/core_delayed_job_metrics_controller.rb +2 -2
- data/lib/app/jobs/cron/trim_command_jobs.rb +1 -1
- data/lib/app/models/concerns/class_name.rb +26 -0
- data/lib/app/models/concerns/tag_able.rb +34 -0
- data/lib/app/models/tag.rb +21 -0
- data/lib/app/models/user_audit_log.rb +2 -2
- data/lib/web47core/version.rb +1 -1
- data/lib/web47core.rb +5 -1
- metadata +18 -25
- data/app/views/admin/cron/edit.html.haml +0 -1
- data/app/views/admin/cron/index.html.haml +0 -1
- data/app/views/admin/delayed_jobs/index.html.haml +0 -1
- data/app/views/admin/delayed_jobs/show.html.haml +0 -1
- data/app/views/admin/system_configurations/edit.html.haml +0 -1
- data/app/views/admin/system_configurations/show.html.haml +0 -1
- data/app/views/cron/_edit.html.haml +0 -19
- data/app/views/cron/_index.html.haml +0 -77
- data/app/views/cron/edit.html.haml +0 -1
- data/app/views/cron/index.html.haml +0 -1
- data/app/views/delayed_job_metrics/_index.html.haml +0 -27
- data/app/views/delayed_job_workers/_index.html.haml +0 -27
- data/app/views/delayed_jobs/_index.html.haml +0 -49
- data/app/views/delayed_jobs/_show.html.haml +0 -60
- data/app/views/stack/cron/edit.html.haml +0 -1
- data/app/views/stack/cron/index.html.haml +0 -1
- data/app/views/stack/delayed_jobs/index.html.haml +0 -1
- data/app/views/stack/delayed_jobs/show.html.haml +0 -1
- data/app/views/stack/system_configurations/edit.html.haml +0 -1
- data/app/views/stack/system_configurations/show.html.haml +0 -1
- data/app/views/system_configurations/_edit.html.haml +0 -15
- data/app/views/system_configurations/_show.html.haml +0 -22
- 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
|