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 +1,30 @@
1
- =render 'index'
1
+ - title t('.title')
2
+ .card
3
+ .card-body
4
+ .table-responsive.text-nowrap
5
+ %table.table.card-table.border.table-striped
6
+ %thead
7
+ %tr
8
+ %th Host Name
9
+ %th PID
10
+ %th Status
11
+ %th Last Check In
12
+ %th Runs
13
+ %th Actions
14
+ %tbody.table-border-bottom-0
15
+ - @workers.each do |worker|
16
+ %tr
17
+ %td=worker.host_name
18
+ %td=worker.pid
19
+ %td
20
+ - if worker.dead?
21
+ = remix_icon(:dislike, tooltip_text: 'Dead')
22
+ - elsif worker.running?
23
+ = remix_icon(:run, tooltip_text: 'Running')
24
+ - else
25
+ = remix_icon(:zzz, tooltip_text: 'Waiting for jobs')
26
+ %td=current_user.local_time(worker.last_check_in_at)
27
+ %td=worker.runs.count
28
+ %td.actions
29
+ = delete_dropdown_item(worker, model_path(worker))
30
+
@@ -1 +1,28 @@
1
- =render 'index'
1
+ - title t('.title')
2
+ = multiple_floating_action_button do
3
+ = delete_floating_action_button(Delayed::Backend::Mongoid::Job, class_action_path(:destroy_all, failed_only:true), title: t('.destroy_failed'), confirm: t('.confirm_destroy_failed'))
4
+ = delete_floating_action_button(Delayed::Backend::Mongoid::Job, class_action_path(:destroy_all, failed_only:false), title: t('.destroy_all'), confirm: t('.confirm_destroy_all'))
5
+ = refresh_floating_action_link(Delayed::Backend::Mongoid::Job, class_action_path(:resbumit_all, failed_only:true), title: t('.resubmit_failed'), confirm: t('.confirm_resubmit_failed'))
6
+ = refresh_floating_action_link(Delayed::Backend::Mongoid::Job, class_action_path(:resbumit_all, failed_only:false), title: t('.resubmit_all'), confirm: t('.confirm_resubmit_all'))
7
+ .card
8
+ .card-body
9
+ .table-responsive.text-no-wrap
10
+ %table.table.card-table.border.table-striped
11
+ %thead
12
+ %tr
13
+ %th Run At
14
+ %th Name
15
+ %th Priority
16
+ %th Status
17
+ %th Actions
18
+ %tbody
19
+ - @delayed_jobs.each do |delayed_job|
20
+ %tr
21
+ %td=current_user.local_time(delayed_job.created_at)
22
+ %td.name=link_to(delayed_job.display_name, model_path(delayed_job))
23
+ %td=delayed_job.priority
24
+ %td=delayed_job.status_description
25
+ %td.actions
26
+ = dropdown_menu do
27
+ = replay_dropdown_item(delayed_job, model_action_path(delayed_job, :resubmit), confirm: 'Are you sure you want to restart this job?')
28
+ = delete_dropdown_item(delayed_job, model_path(delayed_job))
@@ -1 +1,55 @@
1
- = render 'show'
1
+ - title t('.title')
2
+ - content_for :breadcrumbs do
3
+ =breadcrumb_step delayed_jobs_path, 'Delayed Job Queue'
4
+ .card
5
+ .card-header
6
+ %h3.float-start=t('.title')
7
+ = card_nav_items do
8
+ = delete_nav_link(@delayed_job, delayed_job_path(@delayed_job))
9
+ = restart_nav_link(@delayed_job, resubmit_delayed_job_path(@delayed_job))
10
+ .card-body
11
+ .table-responsive
12
+ %table.table.card-table.border.table-stripped
13
+ %thead
14
+ %tr
15
+ %th Key
16
+ %th Value
17
+ %tbody
18
+ %tr
19
+ %td=t('.name_label')
20
+ %td=@delayed_job.name
21
+ %tr
22
+ %td=t('.queue_label')
23
+ %td=@delayed_job.queue&.titleize
24
+ %tr
25
+ %td=t('.priority_label')
26
+ %td=@delayed_job.priority
27
+ %tr
28
+ %td=t('.run_at_label')
29
+ %td=current_user.local_time(@delayed_job.run_at)
30
+ %tr
31
+ %td=t('.locked_at_label')
32
+ %td=current_user.local_time(@delayed_job.locked_at)
33
+ %tr
34
+ %td=t('.locked_by_label')
35
+ %td=@delayed_job.locked_by.presence || 'N/A'
36
+ %tr
37
+ %td=t('.handler_label')
38
+ %td=@delayed_job.job_payload
39
+ - if @delayed_job.failed?
40
+ %tr
41
+ %td=t('.failed_at_label')
42
+ %td=current_user.local_time(@delayed_job.failed_at)
43
+ %tr
44
+ %td=t('.failed_object_label')
45
+ %td=@delayed_job.failed_object.inspect
46
+ %tr
47
+ %td=t('.failed_method_label')
48
+ %td=@delayed_job.failed_method_name
49
+ %tr
50
+ %td=t('.failed_args_label')
51
+ %td=@delayed_job.failed_args
52
+ -if @delayed_job.last_error.present?
53
+ %tr
54
+ %td=t('.last_error_label')
55
+ %td=@delayed_job.last_error
@@ -1 +1,14 @@
1
- = render 'edit'
1
+ - title 'Edit'
2
+ - content_for :breadcrumbs do
3
+ =breadcrumb_step(system_configurations_path, SystemConfiguration.environment.titleize)
4
+ %form{action: system_configurations_path, method: :post}
5
+ %input{type: :hidden, value: form_authenticity_token, name: :authenticity_token}
6
+ %input{type: :hidden, name: '_method', value: :put}
7
+ .card
8
+ .card-body
9
+ .container
10
+ .row
11
+ = html5_text_field(@system_configuration, :switchboard_base_url, classes: %w[col-sm-12 col-lg-4] )
12
+ = html5_text_field(@system_configuration, :switchboard_stack_id, classes: %w[col-sm-12 col-lg-4])
13
+ = html5_password(@system_configuration, :switchboard_stack_api_token, classes: %w[col-sm-12 col-lg-4])
14
+ .card-footer= render 'common/form_actions', form_cancel_path: system_configurations_path
@@ -1 +1,18 @@
1
- =render 'show'
1
+ - title SystemConfiguration.environment.titleize
2
+ = multiple_floating_action_button do
3
+ = edit_floating_action_link(SystemConfiguration.configuration, edit_system_configurations_path)
4
+ = refresh_floating_action_link(SystemConfiguration.configuration, sync_system_configurations_path)
5
+ .card
6
+ .card-body
7
+ .table-responsive.text-nowrap
8
+ %table.table.card-table.border.table-striped
9
+ %thead
10
+ %tr
11
+ %th Field
12
+ %th Value
13
+ %tbody.table-border-bottom-0
14
+ - SystemConfiguration.allowed_param_names.each do |field|
15
+ %tr
16
+ %td= field
17
+ %td= mask_system_configuration(field)
18
+
@@ -6,6 +6,20 @@
6
6
  module CoreController
7
7
  extend ActiveSupport::Concern
8
8
 
9
+ protected
10
+
11
+ def redirect_to_referrer(default_url)
12
+ redirect_to session.delete(:referrer) || default_url
13
+ end
14
+
15
+ def capture_referrer_url
16
+ session[:referrer] = request.referrer
17
+ end
18
+
19
+ def clear_referrer_url
20
+ session.delete(:referrer)
21
+ end
22
+
9
23
  private
10
24
 
11
25
  def index_path
@@ -0,0 +1,31 @@
1
+ # frozen_string_literal: true
2
+
3
+ #
4
+ # Manage cron_servers job servers
5
+ #
6
+ module CoreCronServersController
7
+ include CoreController
8
+ # Demote a cron_servers job server
9
+ def demote
10
+ cron_server.become_secondary
11
+ redirect_to_referrer(index_path)
12
+ rescue StandardError => error
13
+ log_controller_error error, true
14
+ redirect_to redirect_to_referrer(index_path)
15
+ end
16
+
17
+ # Destroy a cron_servers job server
18
+ def destroy
19
+ cron_server.destroy!
20
+ redirect_to_referrer(index_path)
21
+ rescue StandardError => error
22
+ log_controller_error error, true
23
+ redirect_to_referrer(index_path)
24
+ end
25
+
26
+ private
27
+
28
+ def cron_server
29
+ @cron_server ||= Cron::Server.find(params[:id])
30
+ end
31
+ end
@@ -0,0 +1,41 @@
1
+ # frozen_string_literal: true
2
+
3
+ #
4
+ # Manage cron_servers job servers
5
+ #
6
+ module CoreCronTabsController
7
+ include CoreController
8
+ #
9
+ # Run the crontab entry now
10
+ #
11
+ def run_now
12
+ cron_tab.run
13
+ redirect_to_referrer index_path
14
+ rescue StandardError => error
15
+ log_controller_error error, true
16
+ redirect_to_referrer index_path
17
+ end
18
+
19
+ #
20
+ # Update a crontab entry
21
+ #
22
+ def update
23
+ cron_tab.update! cron_tab_params
24
+ redirect_to_referrer index_path
25
+ rescue StandardError => error
26
+ log_controller_error error
27
+ render :edit
28
+ end
29
+
30
+ private
31
+
32
+ def cron_tab
33
+ @cron_tab ||= Cron::Tab.find(params[:id])
34
+ end
35
+
36
+ def cron_tab_params
37
+ p = params['cron_servers/job_tab']
38
+ p[:enabled] ||= false
39
+ p.permit(Cron::Tab.allowed_param_names)
40
+ end
41
+ end
@@ -20,10 +20,10 @@ module CoreDelayedJobMetricsController
20
20
  authorize! :manage, delayed_job_metric
21
21
  delayed_job_metric.destroy!
22
22
  flash.now[:info] = 'Delayed Job Metric has been destroyed'
23
- redirect_to index_path
23
+ redirect_to_referrer index_path
24
24
  rescue StandardError => error
25
25
  log_controller_error error, true
26
- redirect_to index_path
26
+ redirect_to_referrer index_path
27
27
  end
28
28
 
29
29
  #
@@ -13,7 +13,7 @@ module Cron
13
13
  end
14
14
 
15
15
  #
16
- # Check which audit logs we wanted deleted
16
+ # Check which audit logs we wanted to be deleted
17
17
  #
18
18
  # Should be older than 90 days and either not a user model audit log or the model associated with
19
19
  # the UserModelAuditLog has been deleted
@@ -0,0 +1,26 @@
1
+ # frozen_string_literal: true
2
+
3
+ #
4
+ # Add methods to the Object class
5
+ #
6
+ class Object
7
+ #
8
+ # Return my class name as a readable string
9
+ #
10
+ def class_name
11
+ self.class.to_s
12
+ end
13
+
14
+ #
15
+ # Return my class name as a readable string
16
+ #
17
+ def class_name_underscored
18
+ class_name.underscore
19
+ end
20
+ #
21
+ # Return my class name as a readable titleized string
22
+ #
23
+ def class_title
24
+ class_name_underscored.titleize
25
+ end
26
+ end
@@ -0,0 +1,34 @@
1
+ # frozen_string_literal: true
2
+
3
+ #
4
+ # Public: Support taggable entities
5
+ #
6
+ module TagAble
7
+ extend ActiveSupport::Concern
8
+
9
+ included do
10
+ #
11
+ # Fields
12
+ #
13
+ has_many :tags, dependent: :destroy, inverse_of: :model, class_name: 'Tag', foreign_key: :model_id
14
+ end
15
+
16
+ # @abstract Update the tags associated with the model
17
+ # First update what is from the updated tags
18
+ # Then delete any that are no longer associated with them
19
+ # @param updated_tags Array<Types::Tag> - tags to update with
20
+ def sync_tags(updated_tags)
21
+ updated_tags.each do |t|
22
+ tag = tags.where(key: t.key).first_or_initialize(key: t.key, model: self)
23
+ tag.update! value: t.value
24
+ end
25
+ keys = updated_tags.map(&:key)
26
+ tags.each { |t| t.destroy unless keys.include?(t.key) }
27
+ end
28
+
29
+ def tag_value(key, default = nil)
30
+ tags.find_by(key: key.to_s).value
31
+ rescue StandardError
32
+ default
33
+ end
34
+ end
@@ -0,0 +1,21 @@
1
+ # frozen_string_literal: true
2
+
3
+ #
4
+ # Represents a volume.
5
+ #
6
+ class Tag
7
+ include StandardModel
8
+ #
9
+ # Fields
10
+ #
11
+ field :key, type: String
12
+ field :value, type: String
13
+ #
14
+ # Validations
15
+ #
16
+ validates :key, presence: true, uniqueness: { scope: :model_id }
17
+ #
18
+ # Relationships
19
+ #
20
+ belongs_to :model, polymorphic: true
21
+ end
@@ -23,7 +23,7 @@ class UserAuditLog < AuditLog
23
23
  end
24
24
 
25
25
  #
26
- # Safely return the user name
26
+ # Safely return the username
27
27
  #
28
28
  def user_name
29
29
  user.name
@@ -34,7 +34,7 @@ class UserAuditLog < AuditLog
34
34
  private
35
35
 
36
36
  #
37
- # update the user name in case it is deleted
37
+ # update the username in case it is deleted
38
38
  #
39
39
  def record_names
40
40
  return if user.blank?
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Web47core
4
- VERSION = '3.2.9'
4
+ VERSION = '3.2.12'
5
5
  end
data/lib/web47core.rb CHANGED
@@ -3,6 +3,7 @@ require 'app/models/concerns/app47_logger'
3
3
  require 'app/models/concerns/api_tokenable'
4
4
  require 'app/models/concerns/archive_able'
5
5
  require 'app/models/concerns/aws_configuration'
6
+ require 'app/models/concerns/class_name'
6
7
  require 'app/models/concerns/core_system_configuration'
7
8
  require 'app/models/concerns/core_account'
8
9
  require 'app/models/concerns/cipher_able'
@@ -22,6 +23,7 @@ require 'app/models/concerns/switchboard_able'
22
23
  require 'app/models/concerns/switchboard_configuration'
23
24
  require 'app/models/concerns/secure_fields'
24
25
  require 'app/models/concerns/twilio_configuration'
26
+ require 'app/models/concerns/tag_able'
25
27
  require 'app/models/concerns/zendesk_configuration'
26
28
  require 'app/models/command_job'
27
29
  require 'app/models/command_job_log'
@@ -44,6 +46,7 @@ require 'app/models/notification_template'
44
46
  require 'app/models/slack_notification'
45
47
  require 'app/models/sms_notification'
46
48
  require 'app/models/smtp_configuration'
49
+ require 'app/models/tag'
47
50
  #
48
51
  # Cron
49
52
  #
@@ -80,7 +83,8 @@ require 'web47core/version'
80
83
  require 'app/controllers/concerns/restful_controller'
81
84
  require 'app/controllers/concerns/core_controller'
82
85
  require 'app/controllers/concerns/core_system_configuration_controller'
83
- require 'app/controllers/concerns/core_cron_controller'
86
+ require 'app/controllers/concerns/core_cron_servers_controller'
87
+ require 'app/controllers/concerns/core_cron_tabs_controller'
84
88
  require 'app/controllers/concerns/core_delayed_jobs_controller'
85
89
  require 'app/controllers/concerns/core_delayed_job_metrics_controller'
86
90
  require 'app/controllers/concerns/core_delayed_job_workers_controller'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: web47core
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.2.9
4
+ version: 3.2.12
5
5
  platform: ruby
6
6
  authors:
7
7
  - Chris Schroeder
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-12-30 00:00:00.000000000 Z
11
+ date: 2025-01-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activemodel
@@ -564,43 +564,32 @@ files:
564
564
  - app/controllers/exceptions_controller.rb
565
565
  - app/controllers/notifications_controller.rb
566
566
  - app/controllers/status_controller.rb
567
+ - app/helpers/core_breadcrumb_helper.rb
568
+ - app/helpers/core_card_nav_items_helper.rb
569
+ - app/helpers/core_dropdown_helper.rb
570
+ - app/helpers/core_floating_action_button_helper.rb
567
571
  - app/helpers/core_form_helper.rb
568
572
  - app/helpers/core_helper.rb
573
+ - app/helpers/core_html5_form_helper.rb
574
+ - app/helpers/core_job_state_helper.rb
569
575
  - app/helpers/core_link_helper.rb
570
576
  - app/helpers/core_nav_bar_helper.rb
577
+ - app/helpers/core_remix_icon_helper.rb
578
+ - app/helpers/core_select_two_helper.rb
571
579
  - app/helpers/core_table_helper.rb
572
580
  - app/helpers/model_modal_helper.rb
573
- - app/views/admin/cron/edit.html.haml
574
- - app/views/admin/cron/index.html.haml
575
- - app/views/admin/delayed_jobs/index.html.haml
576
- - app/views/admin/delayed_jobs/show.html.haml
577
- - app/views/admin/system_configurations/edit.html.haml
578
- - app/views/admin/system_configurations/show.html.haml
579
581
  - app/views/common/_create_actions.html.haml
580
582
  - app/views/common/_flash.html.haml
581
583
  - app/views/common/_form_actions.html.haml
582
584
  - app/views/common/_update_actions.html.haml
583
- - app/views/cron/_edit.html.haml
584
- - app/views/cron/_index.html.haml
585
- - app/views/cron/edit.html.haml
586
- - app/views/cron/index.html.haml
587
- - app/views/delayed_job_metrics/_index.html.haml
585
+ - app/views/cron_servers/index.html.haml
586
+ - app/views/cron_tabs/edit.html.haml
587
+ - app/views/cron_tabs/index.html.haml
588
588
  - app/views/delayed_job_metrics/index.html.haml
589
- - app/views/delayed_job_workers/_index.html.haml
590
589
  - app/views/delayed_job_workers/index.html.haml
591
- - app/views/delayed_jobs/_index.html.haml
592
- - app/views/delayed_jobs/_show.html.haml
593
590
  - app/views/delayed_jobs/index.html.haml
594
591
  - app/views/delayed_jobs/show.html.haml
595
- - app/views/stack/cron/edit.html.haml
596
- - app/views/stack/cron/index.html.haml
597
- - app/views/stack/delayed_jobs/index.html.haml
598
- - app/views/stack/delayed_jobs/show.html.haml
599
- - app/views/stack/system_configurations/edit.html.haml
600
- - app/views/stack/system_configurations/show.html.haml
601
592
  - app/views/status/index.html.haml
602
- - app/views/system_configurations/_edit.html.haml
603
- - app/views/system_configurations/_show.html.haml
604
593
  - app/views/system_configurations/edit.html.haml
605
594
  - app/views/system_configurations/show.html.haml
606
595
  - bin/cron_server
@@ -615,7 +604,8 @@ files:
615
604
  - config/locales/en.yml
616
605
  - config/routes.rb
617
606
  - lib/app/controllers/concerns/core_controller.rb
618
- - lib/app/controllers/concerns/core_cron_controller.rb
607
+ - lib/app/controllers/concerns/core_cron_servers_controller.rb
608
+ - lib/app/controllers/concerns/core_cron_tabs_controller.rb
619
609
  - lib/app/controllers/concerns/core_delayed_job_metrics_controller.rb
620
610
  - lib/app/controllers/concerns/core_delayed_job_workers_controller.rb
621
611
  - lib/app/controllers/concerns/core_delayed_jobs_controller.rb
@@ -649,6 +639,7 @@ files:
649
639
  - lib/app/models/concerns/aws_configuration.rb
650
640
  - lib/app/models/concerns/cdn_url.rb
651
641
  - lib/app/models/concerns/cipher_able.rb
642
+ - lib/app/models/concerns/class_name.rb
652
643
  - lib/app/models/concerns/core_account.rb
653
644
  - lib/app/models/concerns/core_smtp_configuration.rb
654
645
  - lib/app/models/concerns/core_system_configuration.rb
@@ -664,6 +655,7 @@ files:
664
655
  - lib/app/models/concerns/standard_model.rb
665
656
  - lib/app/models/concerns/switchboard_able.rb
666
657
  - lib/app/models/concerns/switchboard_configuration.rb
658
+ - lib/app/models/concerns/tag_able.rb
667
659
  - lib/app/models/concerns/time_zone_able.rb
668
660
  - lib/app/models/concerns/twilio_configuration.rb
669
661
  - lib/app/models/concerns/zendesk_configuration.rb
@@ -681,6 +673,7 @@ files:
681
673
  - lib/app/models/slack_notification.rb
682
674
  - lib/app/models/sms_notification.rb
683
675
  - lib/app/models/smtp_configuration.rb
676
+ - lib/app/models/tag.rb
684
677
  - lib/app/models/template.rb
685
678
  - lib/app/models/user_action_audit_log.rb
686
679
  - lib/app/models/user_audit_log.rb
@@ -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,19 +0,0 @@
1
- - title t('.title', name: @cron_tab.name)
2
-
3
- %form{action: model_path(@cron_tab), method: :post}
4
- %input{type: :hidden, value: form_authenticity_token, name: :authenticity_token}
5
- %input{type: :hidden, name: '_method', value: :put}
6
- .container
7
- .row
8
- .col.s12
9
- .card
10
- .card-content
11
- .card-title= t('.title', name: @cron_tab.name)
12
- .row
13
- = form_text_field(@cron_tab, :min)
14
- = form_text_field(@cron_tab, :hour)
15
- = form_text_field(@cron_tab, :mday)
16
- = form_text_field(@cron_tab, :month)
17
- = form_text_field(@cron_tab, :wday)
18
- = form_checkbox(@cron_tab, :enabled)
19
- = render 'common/update_actions', form_cancel_path: index_path
@@ -1,77 +0,0 @@
1
- - title t('cron.index.title')
2
- .container
3
- .row
4
- .col.s12
5
- .card
6
- .card-content
7
- .card-title= t('cron.index.title')
8
- .card.section-data-tables
9
- .card-content
10
- %ul.tabs#stack_cron
11
- %li.tab.col.s6
12
- %a{href: '#cron_job_servers'}='Cron Servers'
13
- %li.tab.col.s6
14
- %a{href: '#job_cron_tabs'}='Cron Jobs'
15
- .container
16
- .row
17
- .col.s12
18
- #cron_job_servers{data: {cache: 'stack_cron'}}
19
- %table.highlight.data-table
20
- %thead
21
- %tr
22
- = table_header_tag :host
23
- = table_header_tag :state, priority: 3
24
- = table_header_tag :last_check_in_at, priority: 4
25
- = table_header_actions_tag
26
- %tbody.white-text
27
- - Cron::Server.all.each do |server|
28
- %tr{class: server.alive? ? 'green lighten-1' : 'red lighten-1'}
29
- %td="#{server.host_name}:#{server.pid}"
30
- %td.center-align
31
- - if server.primary?
32
- %i.material-icons.white-text
33
- grade
34
- - else
35
- &nbsp;
36
- %td=current_user.local_time(server.last_check_in_at)
37
- %td.center-align
38
- - if can? :manage, server
39
- .actions
40
- - if server.primary?
41
- = action_link_tag(can?(:manage, Cron::Server), model_action_path(server, :demote), icon_name: 'thumb_down' )
42
- - else
43
- = delete_link_tag(server, model_path(server))
44
- .col.s12
45
- #job_cron_tabs{data: {cache: 'stack_cron'}}
46
- %table.highlight.data-table
47
- %thead
48
- %tr
49
- = table_header_tag :name
50
- = table_header_tag :last_run_at, priority: 4
51
- = table_header_tag :min, priority: 5
52
- = table_header_tag :hour, priority: 6
53
- = table_header_tag :mday, priority: 7
54
- = table_header_tag :month, priority: 8
55
- = table_header_tag :wday, priority: 9
56
- = table_header_tag :enabled, priority: 3
57
- = table_header_actions_tag
58
- %tbody
59
- - Cron::JobTab.matching_search_text(params[:search]).each do |cron_tab|
60
- %tr
61
- %td.name=cron_tab.name.humanize
62
- %td=current_user.local_time(cron_tab.last_run_at)
63
- %td=cron_tab.min
64
- %td=cron_tab.hour
65
- %td=cron_tab.mday
66
- %td=cron_tab.month
67
- %td=cron_tab.wday
68
- %td
69
- - if cron_tab.valid_environment?
70
- %i.material-icons.green-text
71
- check
72
- - else
73
- %nbsp
74
- %td.actions
75
- = edit_link_tag(cron_tab, edit_model_path(cron_tab))
76
- - if cron_tab.valid_environment?
77
- = replay_link_tag(cron_tab, model_action_path(cron_tab, :run_now), icon_name: 'directions_run', confirm: t('.confirm', name: cron_tab.name.humanize))
@@ -1 +0,0 @@
1
- = render 'edit'
@@ -1 +0,0 @@
1
- = render 'index'