activeadmin 2.6.0 → 2.9.0

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 (149) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +134 -7
  3. data/CONTRIBUTING.md +11 -39
  4. data/README.md +4 -4
  5. data/app/assets/javascripts/active_admin/base.js +14 -16
  6. data/app/assets/stylesheets/active_admin/_header.scss +37 -3
  7. data/app/assets/stylesheets/active_admin/components/_comments.scss +2 -2
  8. data/app/assets/stylesheets/active_admin/mixins/_variables.scss +3 -0
  9. data/app/javascript/active_admin/initializers/per-page.js +1 -1
  10. data/app/javascript/active_admin/lib/checkbox-toggler.js +3 -3
  11. data/app/javascript/active_admin/lib/dropdown-menu.js +1 -1
  12. data/app/javascript/active_admin/lib/modal-dialog.js +7 -7
  13. data/app/javascript/active_admin/lib/per-page.js +1 -1
  14. data/app/javascript/active_admin/lib/table-checkbox-toggler.js +1 -1
  15. data/app/views/active_admin/devise/mailer/reset_password_instructions.html.erb +1 -1
  16. data/app/views/active_admin/devise/mailer/unlock_instructions.html.erb +2 -2
  17. data/app/views/layouts/active_admin_logged_out.html.erb +15 -5
  18. data/config/locales/ar.yml +6 -6
  19. data/config/locales/en-CA.yml +3 -3
  20. data/config/locales/en-GB.yml +3 -3
  21. data/config/locales/en.yml +3 -3
  22. data/config/locales/es-MX.yml +2 -1
  23. data/config/locales/es.yml +2 -2
  24. data/config/locales/it.yml +18 -0
  25. data/config/locales/ja.yml +3 -3
  26. data/config/locales/lv.yml +2 -2
  27. data/config/locales/vi.yml +6 -5
  28. data/docs/0-installation.md +26 -2
  29. data/docs/11-decorators.md +16 -5
  30. data/docs/2-resource-customization.md +10 -1
  31. data/docs/5-forms.md +6 -1
  32. data/docs/6-show-pages.md +12 -0
  33. data/docs/Gemfile +2 -2
  34. data/docs/Gemfile.lock +58 -46
  35. data/docs/_includes/top-menu.html +1 -1
  36. data/docs/documentation.md +1 -1
  37. data/docs/index.html +6 -6
  38. data/lib/active_admin.rb +59 -60
  39. data/lib/active_admin/application.rb +13 -13
  40. data/lib/active_admin/application_settings.rb +3 -3
  41. data/lib/active_admin/authorization_adapter.rb +3 -3
  42. data/lib/active_admin/base_controller.rb +4 -4
  43. data/lib/active_admin/base_controller/authorization.rb +13 -12
  44. data/lib/active_admin/batch_actions/controller.rb +3 -3
  45. data/lib/active_admin/batch_actions/resource_extension.rb +9 -8
  46. data/lib/active_admin/batch_actions/views/batch_action_form.rb +3 -3
  47. data/lib/active_admin/batch_actions/views/batch_action_selector.rb +6 -6
  48. data/lib/active_admin/batch_actions/views/selection_cells.rb +3 -3
  49. data/lib/active_admin/cancan_adapter.rb +1 -1
  50. data/lib/active_admin/collection_decorator.rb +31 -0
  51. data/lib/active_admin/csv_builder.rb +11 -7
  52. data/lib/active_admin/dependency.rb +11 -11
  53. data/lib/active_admin/devise.rb +5 -5
  54. data/lib/active_admin/dsl.rb +1 -1
  55. data/lib/active_admin/dynamic_settings_node.rb +2 -2
  56. data/lib/active_admin/engine.rb +10 -8
  57. data/lib/active_admin/error.rb +0 -2
  58. data/lib/active_admin/filters.rb +7 -7
  59. data/lib/active_admin/filters/active.rb +1 -1
  60. data/lib/active_admin/filters/active_filter.rb +5 -6
  61. data/lib/active_admin/filters/active_sidebar.rb +5 -5
  62. data/lib/active_admin/filters/forms.rb +6 -6
  63. data/lib/active_admin/filters/formtastic_addons.rb +1 -6
  64. data/lib/active_admin/filters/resource_extension.rb +1 -1
  65. data/lib/active_admin/form_builder.rb +24 -20
  66. data/lib/active_admin/generators/boilerplate.rb +1 -1
  67. data/lib/active_admin/helpers/optional_display.rb +2 -2
  68. data/lib/active_admin/inputs/datepicker_input.rb +1 -1
  69. data/lib/active_admin/inputs/filters/base.rb +1 -1
  70. data/lib/active_admin/inputs/filters/base/search_method_select.rb +4 -4
  71. data/lib/active_admin/inputs/filters/boolean_input.rb +1 -1
  72. data/lib/active_admin/inputs/filters/check_boxes_input.rb +1 -1
  73. data/lib/active_admin/inputs/filters/select_input.rb +2 -2
  74. data/lib/active_admin/localizers.rb +1 -1
  75. data/lib/active_admin/localizers/resource_localizer.rb +3 -3
  76. data/lib/active_admin/menu.rb +6 -3
  77. data/lib/active_admin/menu_item.rb +7 -7
  78. data/lib/active_admin/namespace.rb +12 -12
  79. data/lib/active_admin/namespace_settings.rb +8 -5
  80. data/lib/active_admin/order_clause.rb +1 -1
  81. data/lib/active_admin/orm/active_record.rb +1 -1
  82. data/lib/active_admin/orm/active_record/comments.rb +19 -19
  83. data/lib/active_admin/orm/active_record/comments/comment.rb +3 -3
  84. data/lib/active_admin/orm/active_record/comments/views.rb +2 -2
  85. data/lib/active_admin/orm/active_record/comments/views/active_admin_comments.rb +19 -19
  86. data/lib/active_admin/page.rb +1 -1
  87. data/lib/active_admin/pundit_adapter.rb +5 -5
  88. data/lib/active_admin/resource.rb +17 -17
  89. data/lib/active_admin/resource/action_items.rb +5 -5
  90. data/lib/active_admin/resource/attributes.rb +1 -1
  91. data/lib/active_admin/resource/belongs_to.rb +2 -2
  92. data/lib/active_admin/resource/controllers.rb +1 -1
  93. data/lib/active_admin/resource/menu.rb +4 -4
  94. data/lib/active_admin/resource/naming.rb +5 -5
  95. data/lib/active_admin/resource/routes.rb +5 -7
  96. data/lib/active_admin/resource/scope_to.rb +7 -7
  97. data/lib/active_admin/resource/sidebars.rb +1 -1
  98. data/lib/active_admin/resource_controller.rb +12 -11
  99. data/lib/active_admin/resource_controller/data_access.rb +1 -1
  100. data/lib/active_admin/resource_controller/decorators.rb +6 -28
  101. data/lib/active_admin/resource_controller/streaming.rb +7 -6
  102. data/lib/active_admin/resource_dsl.rb +5 -5
  103. data/lib/active_admin/scope.rb +6 -6
  104. data/lib/active_admin/version.rb +1 -1
  105. data/lib/active_admin/view_factory.rb +17 -17
  106. data/lib/active_admin/view_helpers.rb +1 -1
  107. data/lib/active_admin/view_helpers/breadcrumb_helper.rb +3 -3
  108. data/lib/active_admin/view_helpers/display_helper.rb +5 -5
  109. data/lib/active_admin/view_helpers/download_format_links_helper.rb +1 -1
  110. data/lib/active_admin/view_helpers/fields_for.rb +2 -2
  111. data/lib/active_admin/views.rb +1 -1
  112. data/lib/active_admin/views/components/active_admin_form.rb +5 -5
  113. data/lib/active_admin/views/components/attributes_table.rb +5 -5
  114. data/lib/active_admin/views/components/blank_slate.rb +1 -1
  115. data/lib/active_admin/views/components/dropdown_menu.rb +8 -8
  116. data/lib/active_admin/views/components/index_list.rb +3 -3
  117. data/lib/active_admin/views/components/menu.rb +1 -1
  118. data/lib/active_admin/views/components/menu_item.rb +4 -4
  119. data/lib/active_admin/views/components/paginated_collection.rb +18 -18
  120. data/lib/active_admin/views/components/panel.rb +1 -1
  121. data/lib/active_admin/views/components/scopes.rb +7 -5
  122. data/lib/active_admin/views/components/site_title.rb +1 -1
  123. data/lib/active_admin/views/components/status_tag.rb +11 -11
  124. data/lib/active_admin/views/components/table_for.rb +17 -17
  125. data/lib/active_admin/views/components/tabs.rb +3 -3
  126. data/lib/active_admin/views/footer.rb +2 -1
  127. data/lib/active_admin/views/header.rb +2 -2
  128. data/lib/active_admin/views/index_as_blog.rb +1 -1
  129. data/lib/active_admin/views/index_as_grid.rb +1 -1
  130. data/lib/active_admin/views/index_as_table.rb +16 -16
  131. data/lib/active_admin/views/pages/base.rb +10 -8
  132. data/lib/active_admin/views/pages/index.rb +14 -13
  133. data/lib/active_admin/views/tabbed_navigation.rb +2 -2
  134. data/lib/active_admin/views/title_bar.rb +1 -1
  135. data/lib/activeadmin.rb +1 -1
  136. data/lib/generators/active_admin/assets/assets_generator.rb +2 -2
  137. data/lib/generators/active_admin/assets/templates/active_admin.scss +2 -2
  138. data/lib/generators/active_admin/devise/devise_generator.rb +5 -5
  139. data/lib/generators/active_admin/install/install_generator.rb +14 -8
  140. data/lib/generators/active_admin/install/templates/active_admin.rb.erb +9 -2
  141. data/lib/generators/active_admin/page/page_generator.rb +1 -1
  142. data/lib/generators/active_admin/resource/resource_generator.rb +3 -3
  143. data/lib/generators/active_admin/webpacker/plugins/jquery.js +7 -0
  144. data/lib/generators/active_admin/webpacker/templates/active_admin.js +5 -0
  145. data/lib/generators/active_admin/webpacker/templates/active_admin.scss +17 -0
  146. data/lib/generators/active_admin/webpacker/templates/print.scss +2 -0
  147. data/lib/generators/active_admin/webpacker/webpacker_generator.rb +26 -0
  148. data/lib/ransack_ext.rb +8 -8
  149. metadata +22 -44
@@ -1,58 +1,57 @@
1
- require 'active_support/core_ext'
2
- require 'set'
1
+ require "active_support/core_ext"
2
+ require "set"
3
3
 
4
- require 'ransack'
5
- require 'ransack_ext'
6
- require 'kaminari'
7
- require 'formtastic'
8
- require 'formtastic_i18n'
9
- require 'inherited_resources'
10
- require 'jquery-rails'
11
- require 'sassc-rails'
12
- require 'arbre'
4
+ require "ransack"
5
+ require "ransack_ext"
6
+ require "kaminari"
7
+ require "formtastic"
8
+ require "formtastic_i18n"
9
+ require "inherited_resources"
10
+ require "jquery-rails"
11
+ require "arbre"
13
12
 
14
- require 'active_admin/helpers/i18n'
13
+ require "active_admin/helpers/i18n"
15
14
 
16
15
  module ActiveAdmin
17
16
 
18
- autoload :VERSION, 'active_admin/version'
19
- autoload :Application, 'active_admin/application'
20
- autoload :AssetRegistration, 'active_admin/asset_registration'
21
- autoload :Authorization, 'active_admin/authorization_adapter'
22
- autoload :AuthorizationAdapter, 'active_admin/authorization_adapter'
23
- autoload :Callbacks, 'active_admin/callbacks'
24
- autoload :Component, 'active_admin/component'
25
- autoload :BaseController, 'active_admin/base_controller'
26
- autoload :CanCanAdapter, 'active_admin/cancan_adapter'
27
- autoload :ControllerAction, 'active_admin/controller_action'
28
- autoload :CSVBuilder, 'active_admin/csv_builder'
29
- autoload :Dependency, 'active_admin/dependency'
30
- autoload :Deprecation, 'active_admin/deprecation'
31
- autoload :Devise, 'active_admin/devise'
32
- autoload :DSL, 'active_admin/dsl'
33
- autoload :FormBuilder, 'active_admin/form_builder'
34
- autoload :Inputs, 'active_admin/inputs'
35
- autoload :Localizers, 'active_admin/localizers'
36
- autoload :Menu, 'active_admin/menu'
37
- autoload :MenuCollection, 'active_admin/menu_collection'
38
- autoload :MenuItem, 'active_admin/menu_item'
39
- autoload :Namespace, 'active_admin/namespace'
40
- autoload :OrderClause, 'active_admin/order_clause'
41
- autoload :Page, 'active_admin/page'
42
- autoload :PagePresenter, 'active_admin/page_presenter'
43
- autoload :PageController, 'active_admin/page_controller'
44
- autoload :PageDSL, 'active_admin/page_dsl'
45
- autoload :PunditAdapter, 'active_admin/pundit_adapter'
46
- autoload :Resource, 'active_admin/resource'
47
- autoload :ResourceController, 'active_admin/resource_controller'
48
- autoload :ResourceDSL, 'active_admin/resource_dsl'
49
- autoload :Scope, 'active_admin/scope'
50
- autoload :ScopeChain, 'active_admin/helpers/scope_chain'
51
- autoload :SidebarSection, 'active_admin/sidebar_section'
52
- autoload :TableBuilder, 'active_admin/table_builder'
53
- autoload :ViewFactory, 'active_admin/view_factory'
54
- autoload :ViewHelpers, 'active_admin/view_helpers'
55
- autoload :Views, 'active_admin/views'
17
+ autoload :VERSION, "active_admin/version"
18
+ autoload :Application, "active_admin/application"
19
+ autoload :AssetRegistration, "active_admin/asset_registration"
20
+ autoload :Authorization, "active_admin/authorization_adapter"
21
+ autoload :AuthorizationAdapter, "active_admin/authorization_adapter"
22
+ autoload :Callbacks, "active_admin/callbacks"
23
+ autoload :Component, "active_admin/component"
24
+ autoload :BaseController, "active_admin/base_controller"
25
+ autoload :CanCanAdapter, "active_admin/cancan_adapter"
26
+ autoload :ControllerAction, "active_admin/controller_action"
27
+ autoload :CSVBuilder, "active_admin/csv_builder"
28
+ autoload :Dependency, "active_admin/dependency"
29
+ autoload :Deprecation, "active_admin/deprecation"
30
+ autoload :Devise, "active_admin/devise"
31
+ autoload :DSL, "active_admin/dsl"
32
+ autoload :FormBuilder, "active_admin/form_builder"
33
+ autoload :Inputs, "active_admin/inputs"
34
+ autoload :Localizers, "active_admin/localizers"
35
+ autoload :Menu, "active_admin/menu"
36
+ autoload :MenuCollection, "active_admin/menu_collection"
37
+ autoload :MenuItem, "active_admin/menu_item"
38
+ autoload :Namespace, "active_admin/namespace"
39
+ autoload :OrderClause, "active_admin/order_clause"
40
+ autoload :Page, "active_admin/page"
41
+ autoload :PagePresenter, "active_admin/page_presenter"
42
+ autoload :PageController, "active_admin/page_controller"
43
+ autoload :PageDSL, "active_admin/page_dsl"
44
+ autoload :PunditAdapter, "active_admin/pundit_adapter"
45
+ autoload :Resource, "active_admin/resource"
46
+ autoload :ResourceController, "active_admin/resource_controller"
47
+ autoload :ResourceDSL, "active_admin/resource_dsl"
48
+ autoload :Scope, "active_admin/scope"
49
+ autoload :ScopeChain, "active_admin/helpers/scope_chain"
50
+ autoload :SidebarSection, "active_admin/sidebar_section"
51
+ autoload :TableBuilder, "active_admin/table_builder"
52
+ autoload :ViewFactory, "active_admin/view_factory"
53
+ autoload :ViewHelpers, "active_admin/view_helpers"
54
+ autoload :Views, "active_admin/views"
56
55
 
57
56
  class << self
58
57
 
@@ -69,11 +68,11 @@ module ActiveAdmin
69
68
  application.prepare!
70
69
  end
71
70
 
72
- delegate :register, to: :application
71
+ delegate :register, to: :application
73
72
  delegate :register_page, to: :application
74
- delegate :unload!, to: :application
75
- delegate :load!, to: :application
76
- delegate :routes, to: :application
73
+ delegate :unload!, to: :application
74
+ delegate :load!, to: :application
75
+ delegate :routes, to: :application
77
76
 
78
77
  # A callback is triggered each time (before) Active Admin loads the configuration files.
79
78
  # In development mode, this will happen whenever the user changes files. In production
@@ -121,13 +120,13 @@ module ActiveAdmin
121
120
  end
122
121
 
123
122
  # Require things that don't support autoload
124
- require 'active_admin/engine'
125
- require 'active_admin/error'
123
+ require "active_admin/engine"
124
+ require "active_admin/error"
126
125
 
127
126
  # Require internal plugins
128
- require 'active_admin/batch_actions'
129
- require 'active_admin/filters'
127
+ require "active_admin/batch_actions"
128
+ require "active_admin/filters"
130
129
 
131
130
  # Require ORM-specific plugins
132
- require 'active_admin/orm/active_record' if defined? ActiveRecord
133
- require 'active_admin/orm/mongoid' if defined? Mongoid
131
+ require "active_admin/orm/active_record" if defined? ActiveRecord
132
+ require "active_admin/orm/mongoid" if defined? Mongoid
@@ -1,6 +1,6 @@
1
- require 'active_admin/router'
2
- require 'active_admin/application_settings'
3
- require 'active_admin/namespace_settings'
1
+ require "active_admin/router"
2
+ require "active_admin/application_settings"
3
+ require "active_admin/namespace_settings"
4
4
 
5
5
  module ActiveAdmin
6
6
  class Application
@@ -45,8 +45,8 @@ module ActiveAdmin
45
45
  include AssetRegistration
46
46
 
47
47
  # Event that gets triggered on load of Active Admin
48
- BeforeLoadEvent = 'active_admin.application.before_load'.freeze
49
- AfterLoadEvent = 'active_admin.application.after_load'.freeze
48
+ BeforeLoadEvent = "active_admin.application.before_load".freeze
49
+ AfterLoadEvent = "active_admin.application.after_load".freeze
50
50
 
51
51
  # Runs before the app's AA initializer
52
52
  def setup!
@@ -112,9 +112,9 @@ module ActiveAdmin
112
112
  def load!
113
113
  unless loaded?
114
114
  ActiveSupport::Notifications.publish BeforeLoadEvent, self # before_load hook
115
- files.each { |file| load file } # load files
116
- namespace(default_namespace) # init AA resources
117
- ActiveSupport::Notifications.publish AfterLoadEvent, self # after_load hook
115
+ files.each { |file| load file } # load files
116
+ namespace(default_namespace) # init AA resources
117
+ ActiveSupport::Notifications.publish AfterLoadEvent, self # after_load hook
118
118
  @@loaded = true
119
119
  end
120
120
  end
@@ -125,7 +125,7 @@ module ActiveAdmin
125
125
 
126
126
  # Returns ALL the files to be loaded
127
127
  def files
128
- load_paths.flatten.compact.uniq.flat_map { |path| Dir["#{path}/**/*.rb"] }
128
+ load_paths.flatten.compact.uniq.flat_map { |path| Dir["#{path}/**/*.rb"] }.sort
129
129
  end
130
130
 
131
131
  # Creates all the necessary routes for the ActiveAdmin configurations
@@ -164,9 +164,9 @@ module ActiveAdmin
164
164
  private
165
165
 
166
166
  def register_default_assets
167
- register_stylesheet 'active_admin.css', media: 'screen'
168
- register_stylesheet 'active_admin/print.css', media: 'print'
169
- register_javascript 'active_admin.js'
167
+ register_stylesheet "active_admin.css", media: "screen"
168
+ register_stylesheet "active_admin/print.css", media: "print"
169
+ register_javascript "active_admin.js"
170
170
  end
171
171
 
172
172
  # Since app/admin is alphabetically before app/models, we have to remove it
@@ -176,7 +176,7 @@ module ActiveAdmin
176
176
  # files from being loaded twice in production.
177
177
  def remove_active_admin_load_paths_from_rails_autoload_and_eager_load
178
178
  ActiveSupport::Dependencies.autoload_paths -= load_paths
179
- Rails.application.config.eager_load_paths -= load_paths
179
+ Rails.application.config.eager_load_paths -= load_paths
180
180
  end
181
181
 
182
182
  # Hook into the Rails code reloading mechanism so that things are reloaded
@@ -1,4 +1,4 @@
1
- require 'active_admin/settings_node'
1
+ require "active_admin/settings_node"
2
2
 
3
3
  module ActiveAdmin
4
4
  class ApplicationSettings < SettingsNode
@@ -15,7 +15,7 @@ module ActiveAdmin
15
15
  # Load paths for admin configurations. Add folders to this load path
16
16
  # to load up other resources for administration. External gems can
17
17
  # include their paths in this load path to provide active_admin UIs
18
- register :load_paths, [File.expand_path('app/admin', Rails.root)]
18
+ register :load_paths, [File.expand_path("app/admin", Rails.root)]
19
19
 
20
20
  # Set default localize format for Date/Time values
21
21
  register :localize_format, :long
@@ -34,7 +34,7 @@ module ActiveAdmin
34
34
  :to_s ]
35
35
 
36
36
  # To make debugging easier, by default don't stream in development
37
- register :disable_streaming_in, ['development']
37
+ register :disable_streaming_in, ["development"]
38
38
 
39
39
  # Remove sensitive attributes from being displayed, made editable, or exported by default
40
40
  register :filter_attributes, [:encrypted_password, :password, :password_confirmation]
@@ -2,9 +2,9 @@ module ActiveAdmin
2
2
 
3
3
  # Default Authorization permissions for Active Admin
4
4
  module Authorization
5
- READ = :read
6
- CREATE = :create
7
- UPDATE = :update
5
+ READ = :read
6
+ CREATE = :create
7
+ UPDATE = :update
8
8
  DESTROY = :destroy
9
9
  end
10
10
 
@@ -1,5 +1,5 @@
1
- require 'active_admin/base_controller/authorization'
2
- require 'active_admin/base_controller/menu'
1
+ require "active_admin/base_controller/authorization"
2
+ require "active_admin/base_controller/menu"
3
3
 
4
4
  module ActiveAdmin
5
5
  # BaseController for ActiveAdmin.
@@ -69,11 +69,11 @@ module ActiveAdmin
69
69
  # 2. If we're rendering a custom action, we'll use the active_admin layout so
70
70
  # that users can render any template inside Active Admin.
71
71
  def determine_active_admin_layout
72
- ACTIVE_ADMIN_ACTIONS.include?(params[:action].to_sym) ? false : 'active_admin'
72
+ ACTIVE_ADMIN_ACTIONS.include?(params[:action].to_sym) ? false : "active_admin"
73
73
  end
74
74
 
75
75
  def active_admin_root
76
- controller, action = active_admin_namespace.root_to.split '#'
76
+ controller, action = active_admin_namespace.root_to.split "#"
77
77
  { controller: controller, action: action }
78
78
  end
79
79
 
@@ -4,12 +4,12 @@ module ActiveAdmin
4
4
  extend ActiveSupport::Concern
5
5
 
6
6
  ACTIONS_DICTIONARY = {
7
- index: ActiveAdmin::Authorization::READ,
8
- show: ActiveAdmin::Authorization::READ,
9
- new: ActiveAdmin::Authorization::CREATE,
10
- create: ActiveAdmin::Authorization::CREATE,
11
- edit: ActiveAdmin::Authorization::UPDATE,
12
- update: ActiveAdmin::Authorization::UPDATE,
7
+ index: ActiveAdmin::Authorization::READ,
8
+ show: ActiveAdmin::Authorization::READ,
9
+ new: ActiveAdmin::Authorization::CREATE,
10
+ create: ActiveAdmin::Authorization::CREATE,
11
+ edit: ActiveAdmin::Authorization::UPDATE,
12
+ update: ActiveAdmin::Authorization::UPDATE,
13
13
  destroy: ActiveAdmin::Authorization::DESTROY
14
14
  }
15
15
 
@@ -52,9 +52,10 @@ module ActiveAdmin
52
52
  # an ActiveAdmin::AccessDenied.
53
53
  def authorize!(action, subject = nil)
54
54
  unless authorized? action, subject
55
- raise ActiveAdmin::AccessDenied.new(current_active_admin_user,
56
- action,
57
- subject)
55
+ raise ActiveAdmin::AccessDenied.new(
56
+ current_active_admin_user,
57
+ action,
58
+ subject)
58
59
  end
59
60
  end
60
61
 
@@ -112,9 +113,9 @@ module ActiveAdmin
112
113
  redirect_backwards_or_to_root
113
114
  end
114
115
 
115
- format.csv { render body: error, status: :unauthorized }
116
- format.json { render json: { error: error }, status: :unauthorized }
117
- format.xml { render xml: "<error>#{error}</error>", status: :unauthorized }
116
+ format.csv { render body: error, status: :unauthorized }
117
+ format.json { render json: { error: error }, status: :unauthorized }
118
+ format.xml { render xml: "<error>#{error}</error>", status: :unauthorized }
118
119
  end
119
120
  end
120
121
 
@@ -5,10 +5,10 @@ module ActiveAdmin
5
5
  # Controller action that is called when submitting the batch action form
6
6
  def batch_action
7
7
  if action_present?
8
- selection = params[:collection_selection] || []
9
- inputs = JSON.parse params[:batch_action_inputs] || '{}'
8
+ selection = params[:collection_selection] || []
9
+ inputs = JSON.parse params[:batch_action_inputs] || "{}"
10
10
  valid_keys = MethodOrProcHelper.render_in_context(self, current_batch_action.inputs).try(:keys)
11
- inputs = inputs.with_indifferent_access.slice *valid_keys
11
+ inputs = inputs.with_indifferent_access.slice *valid_keys
12
12
  instance_exec selection, inputs, &current_batch_action.block
13
13
  else
14
14
  raise "Couldn't find batch action \"#{params[:batch_action]}\""
@@ -57,21 +57,22 @@ module ActiveAdmin
57
57
  def add_default_batch_action
58
58
  destroy_options = {
59
59
  priority: 100,
60
- confirm: proc { I18n.t('active_admin.batch_actions.delete_confirmation', plural_model: active_admin_config.plural_resource_label.downcase) },
61
- if: proc { controller.action_methods.include?('destroy') && authorized?(ActiveAdmin::Auth::DESTROY, active_admin_config.resource_class) }
60
+ confirm: proc { I18n.t("active_admin.batch_actions.delete_confirmation", plural_model: active_admin_config.plural_resource_label.downcase) },
61
+ if: proc { controller.action_methods.include?("destroy") && authorized?(ActiveAdmin::Auth::DESTROY, active_admin_config.resource_class) }
62
62
  }
63
63
 
64
- add_batch_action :destroy, proc { I18n.t('active_admin.delete') }, destroy_options do |selected_ids|
64
+ add_batch_action :destroy, proc { I18n.t("active_admin.delete") }, destroy_options do |selected_ids|
65
65
  batch_action_collection.find(selected_ids).each do |record|
66
66
  authorize! ActiveAdmin::Auth::DESTROY, record
67
67
  destroy_resource(record)
68
68
  end
69
69
 
70
70
  redirect_to active_admin_config.route_collection_path(params),
71
- notice: I18n.t("active_admin.batch_actions.succesfully_destroyed",
72
- count: selected_ids.count,
73
- model: active_admin_config.resource_label.downcase,
74
- plural_model: active_admin_config.plural_resource_label(count: selected_ids.count).downcase)
71
+ notice: I18n.t(
72
+ "active_admin.batch_actions.succesfully_destroyed",
73
+ count: selected_ids.count,
74
+ model: active_admin_config.resource_label.downcase,
75
+ plural_model: active_admin_config.plural_resource_label(count: selected_ids.count).downcase)
75
76
  end
76
77
  end
77
78
 
@@ -84,7 +85,7 @@ module ActiveAdmin
84
85
 
85
86
  attr_reader :block, :title, :sym
86
87
 
87
- DEFAULT_CONFIRM_MESSAGE = proc { I18n.t 'active_admin.batch_actions.default_confirmation' }
88
+ DEFAULT_CONFIRM_MESSAGE = proc { I18n.t "active_admin.batch_actions.default_confirmation" }
88
89
 
89
90
  # Create a Batch Action
90
91
  #
@@ -1,4 +1,4 @@
1
- require 'active_admin/component'
1
+ require "active_admin/component"
2
2
 
3
3
  module ActiveAdmin
4
4
  module BatchActions
@@ -16,7 +16,7 @@ module ActiveAdmin
16
16
  # batch_action => name of the specific action called
17
17
  # batch_action_inputs => a JSON string of any requested confirmation values
18
18
  text_node form_tag active_admin_config.route_batch_action_path(params, url_options), id: options[:id]
19
- input name: :batch_action, id: :batch_action, type: :hidden
19
+ input name: :batch_action, id: :batch_action, type: :hidden
20
20
  input name: :batch_action_inputs, id: :batch_action_inputs, type: :hidden
21
21
 
22
22
  super(options)
@@ -30,7 +30,7 @@ module ActiveAdmin
30
30
  private
31
31
 
32
32
  def closing_form_tag
33
- '</form>'.html_safe
33
+ "</form>".html_safe
34
34
  end
35
35
 
36
36
  end
@@ -1,4 +1,4 @@
1
- require 'active_admin/component'
1
+ require "active_admin/component"
2
2
 
3
3
  module ActiveAdmin
4
4
  module BatchActions
@@ -31,17 +31,17 @@ module ActiveAdmin
31
31
  confirmation_text = render_or_call_method_or_proc_on(self, batch_action.confirm)
32
32
 
33
33
  options = {
34
- :class => "batch_action",
35
- "data-action" => batch_action.sym,
36
- "data-confirm" => confirmation_text,
37
- "data-inputs" => render_in_context(self, batch_action.inputs).to_json
34
+ class: "batch_action",
35
+ "data-action": batch_action.sym,
36
+ "data-confirm": confirmation_text,
37
+ "data-inputs": render_in_context(self, batch_action.inputs).to_json
38
38
  }
39
39
 
40
40
  default_title = render_or_call_method_or_proc_on(self, batch_action.title)
41
41
  title = I18n.t("active_admin.batch_actions.labels.#{batch_action.sym}", default: default_title)
42
42
  label = I18n.t("active_admin.batch_actions.action_label", title: title)
43
43
 
44
- item label, "#", options
44
+ item label, "#", **options
45
45
  end
46
46
  end
47
47
  end
@@ -1,4 +1,4 @@
1
- require 'active_admin/component'
1
+ require "active_admin/component"
2
2
 
3
3
  module ActiveAdmin
4
4
  module BatchActions
@@ -7,7 +7,7 @@ module ActiveAdmin
7
7
  class ResourceSelectionToggleCell < ActiveAdmin::Component
8
8
  builder_method :resource_selection_toggle_cell
9
9
 
10
- def build(label_text = '')
10
+ def build(label_text = "")
11
11
  label do
12
12
  input type: "checkbox", id: "collection_selection_toggle_all", name: "collection_selection_toggle_all", class: "toggle_all"
13
13
  text_node label_text if label_text.present?
@@ -30,7 +30,7 @@ module ActiveAdmin
30
30
 
31
31
  def build
32
32
  super(id: "collection_selection_toggle_panel")
33
- resource_selection_toggle_cell(I18n.t('active_admin.batch_actions.selection_toggle_explanation', default: "(Toggle Selection)"))
33
+ resource_selection_toggle_cell(I18n.t("active_admin.batch_actions.selection_toggle_explanation", default: "(Toggle Selection)"))
34
34
  end
35
35
  end
36
36
 
@@ -2,7 +2,7 @@ unless ActiveAdmin::Dependency.cancan? || ActiveAdmin::Dependency.cancancan?
2
2
  ActiveAdmin::Dependency.cancan!
3
3
  end
4
4
 
5
- require 'cancan'
5
+ require "cancan"
6
6
 
7
7
  # Add a setting to the application to configure the ability
8
8
  ActiveAdmin::Application.inheritable_setting :cancan_ability_class, "Ability"