activeadmin 2.9.0 → 2.14.0

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of activeadmin might be problematic. Click here for more details.

Files changed (241) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +230 -1
  3. data/CONTRIBUTING.md +4 -5
  4. data/README.md +2 -2
  5. data/app/assets/javascripts/active_admin/base.js +13 -9
  6. data/app/assets/stylesheets/active_admin/_base.scss +53 -37
  7. data/app/assets/stylesheets/active_admin/_forms.scss +1 -11
  8. data/app/assets/stylesheets/active_admin/_normalize.scss +25 -123
  9. data/app/assets/stylesheets/active_admin/components/_date_picker.scss +1 -2
  10. data/app/assets/stylesheets/active_admin/components/_dropdown_menu.scss +0 -1
  11. data/app/assets/stylesheets/active_admin/mixins/_variables.scss +9 -0
  12. data/app/assets/stylesheets/active_admin/structure/_footer.scss +6 -1
  13. data/app/assets/stylesheets/active_admin/structure/_title_bar.scss +0 -1
  14. data/app/javascript/active_admin/initializers/has-many.js +4 -1
  15. data/app/views/active_admin/devise/shared/_links.erb +1 -1
  16. data/app/views/active_admin/page/index.html.arb +1 -0
  17. data/app/views/active_admin/resource/edit.html.arb +1 -0
  18. data/app/views/active_admin/resource/index.html.arb +1 -0
  19. data/app/views/active_admin/resource/new.html.arb +1 -0
  20. data/app/views/active_admin/resource/show.html.arb +1 -0
  21. data/app/views/layouts/active_admin.html.arb +1 -0
  22. data/app/views/layouts/active_admin_logged_out.html.erb +5 -4
  23. data/config/locales/fr.yml +3 -3
  24. data/config/locales/ko.yml +1 -1
  25. data/config/locales/nl.yml +1 -1
  26. data/config/locales/ro.yml +3 -2
  27. data/config/locales/vi.yml +34 -7
  28. data/config/locales/zh-CN.yml +36 -17
  29. data/lib/active_admin/abstract_view_factory.rb +1 -0
  30. data/lib/active_admin/application.rb +10 -10
  31. data/lib/active_admin/application_settings.rb +1 -0
  32. data/lib/active_admin/asset_registration.rb +4 -3
  33. data/lib/active_admin/authorization_adapter.rb +3 -0
  34. data/lib/active_admin/base_controller/authorization.rb +4 -3
  35. data/lib/active_admin/base_controller/menu.rb +1 -0
  36. data/lib/active_admin/base_controller.rb +2 -1
  37. data/lib/active_admin/batch_actions/controller.rb +1 -0
  38. data/lib/active_admin/batch_actions/resource_extension.rb +1 -0
  39. data/lib/active_admin/batch_actions/views/batch_action_form.rb +1 -0
  40. data/lib/active_admin/batch_actions/views/batch_action_selector.rb +1 -0
  41. data/lib/active_admin/batch_actions/views/selection_cells.rb +1 -0
  42. data/lib/active_admin/batch_actions.rb +1 -0
  43. data/lib/active_admin/callbacks.rb +1 -0
  44. data/lib/active_admin/cancan_adapter.rb +1 -0
  45. data/lib/active_admin/collection_decorator.rb +1 -0
  46. data/lib/active_admin/component.rb +1 -0
  47. data/lib/active_admin/controller_action.rb +1 -0
  48. data/lib/active_admin/csv_builder.rb +5 -18
  49. data/lib/active_admin/dependency.rb +1 -4
  50. data/lib/active_admin/deprecation.rb +1 -0
  51. data/lib/active_admin/devise.rb +11 -0
  52. data/lib/active_admin/dsl.rb +1 -0
  53. data/lib/active_admin/dynamic_setting.rb +1 -0
  54. data/lib/active_admin/dynamic_settings_node.rb +1 -0
  55. data/lib/active_admin/engine.rb +4 -2
  56. data/lib/active_admin/error.rb +1 -0
  57. data/lib/active_admin/filters/active.rb +1 -0
  58. data/lib/active_admin/filters/active_filter.rb +1 -0
  59. data/lib/active_admin/filters/active_sidebar.rb +2 -28
  60. data/lib/active_admin/filters/dsl.rb +1 -0
  61. data/lib/active_admin/filters/forms.rb +1 -0
  62. data/lib/active_admin/filters/formtastic_addons.rb +1 -0
  63. data/lib/active_admin/filters/resource_extension.rb +5 -4
  64. data/lib/active_admin/filters.rb +1 -0
  65. data/lib/active_admin/form_builder.rb +1 -0
  66. data/lib/active_admin/generators/boilerplate.rb +1 -0
  67. data/lib/active_admin/helpers/collection.rb +2 -0
  68. data/lib/active_admin/helpers/i18n.rb +1 -0
  69. data/lib/active_admin/helpers/optional_display.rb +1 -0
  70. data/lib/active_admin/helpers/routes/url_helpers.rb +1 -0
  71. data/lib/active_admin/helpers/scope_chain.rb +1 -0
  72. data/lib/active_admin/inputs/datepicker_input.rb +1 -0
  73. data/lib/active_admin/inputs/filters/base/search_method_select.rb +1 -0
  74. data/lib/active_admin/inputs/filters/base.rb +1 -0
  75. data/lib/active_admin/inputs/filters/boolean_input.rb +1 -0
  76. data/lib/active_admin/inputs/filters/check_boxes_input.rb +1 -0
  77. data/lib/active_admin/inputs/filters/date_picker_input.rb +1 -0
  78. data/lib/active_admin/inputs/filters/date_range_input.rb +1 -0
  79. data/lib/active_admin/inputs/filters/numeric_input.rb +1 -0
  80. data/lib/active_admin/inputs/filters/select_input.rb +1 -0
  81. data/lib/active_admin/inputs/filters/string_input.rb +1 -0
  82. data/lib/active_admin/inputs/filters/text_input.rb +1 -0
  83. data/lib/active_admin/inputs.rb +1 -0
  84. data/lib/active_admin/localizers/resource_localizer.rb +1 -0
  85. data/lib/active_admin/localizers.rb +1 -0
  86. data/lib/active_admin/menu.rb +1 -0
  87. data/lib/active_admin/menu_collection.rb +1 -0
  88. data/lib/active_admin/menu_item.rb +1 -0
  89. data/lib/active_admin/namespace.rb +3 -2
  90. data/lib/active_admin/namespace_settings.rb +1 -0
  91. data/lib/active_admin/order_clause.rb +1 -0
  92. data/lib/active_admin/orm/active_record/comments/comment.rb +1 -0
  93. data/lib/active_admin/orm/active_record/comments/namespace_helper.rb +1 -0
  94. data/lib/active_admin/orm/active_record/comments/resource_helper.rb +1 -0
  95. data/lib/active_admin/orm/active_record/comments/show_page_helper.rb +1 -0
  96. data/lib/active_admin/orm/active_record/comments/views/active_admin_comments.rb +2 -1
  97. data/lib/active_admin/orm/active_record/comments/views.rb +1 -0
  98. data/lib/active_admin/orm/active_record/comments.rb +9 -8
  99. data/lib/active_admin/orm/active_record.rb +1 -0
  100. data/lib/active_admin/orm/mongoid.rb +1 -0
  101. data/lib/active_admin/page.rb +1 -0
  102. data/lib/active_admin/page_controller.rb +1 -0
  103. data/lib/active_admin/page_dsl.rb +1 -0
  104. data/lib/active_admin/page_presenter.rb +1 -0
  105. data/lib/active_admin/pundit_adapter.rb +55 -13
  106. data/lib/active_admin/resource/action_items.rb +3 -2
  107. data/lib/active_admin/resource/attributes.rb +1 -0
  108. data/lib/active_admin/resource/belongs_to.rb +1 -0
  109. data/lib/active_admin/resource/controllers.rb +1 -0
  110. data/lib/active_admin/resource/includes.rb +1 -0
  111. data/lib/active_admin/resource/menu.rb +1 -0
  112. data/lib/active_admin/resource/model.rb +1 -0
  113. data/lib/active_admin/resource/naming.rb +1 -0
  114. data/lib/active_admin/resource/ordering.rb +1 -0
  115. data/lib/active_admin/resource/page_presenters.rb +1 -0
  116. data/lib/active_admin/resource/pagination.rb +1 -0
  117. data/lib/active_admin/resource/routes.rb +1 -0
  118. data/lib/active_admin/resource/scope_to.rb +1 -0
  119. data/lib/active_admin/resource/scopes.rb +1 -0
  120. data/lib/active_admin/resource/sidebars.rb +1 -0
  121. data/lib/active_admin/resource.rb +3 -2
  122. data/lib/active_admin/resource_collection.rb +1 -0
  123. data/lib/active_admin/resource_controller/action_builder.rb +1 -0
  124. data/lib/active_admin/resource_controller/data_access.rb +30 -4
  125. data/lib/active_admin/resource_controller/decorators.rb +1 -0
  126. data/lib/active_admin/resource_controller/polymorphic_routes.rb +1 -0
  127. data/lib/active_admin/resource_controller/resource_class_methods.rb +1 -0
  128. data/lib/active_admin/resource_controller/scoping.rb +1 -0
  129. data/lib/active_admin/resource_controller/sidebars.rb +1 -0
  130. data/lib/active_admin/resource_controller/streaming.rb +3 -2
  131. data/lib/active_admin/resource_controller.rb +1 -0
  132. data/lib/active_admin/resource_dsl.rb +7 -21
  133. data/lib/active_admin/router.rb +1 -0
  134. data/lib/active_admin/scope.rb +1 -0
  135. data/lib/active_admin/settings_node.rb +1 -0
  136. data/lib/active_admin/sidebar_section.rb +1 -0
  137. data/lib/active_admin/version.rb +2 -1
  138. data/lib/active_admin/view_factory.rb +1 -0
  139. data/lib/active_admin/view_helpers/active_admin_application_helper.rb +1 -0
  140. data/lib/active_admin/view_helpers/auto_link_helper.rb +2 -1
  141. data/lib/active_admin/view_helpers/breadcrumb_helper.rb +1 -0
  142. data/lib/active_admin/view_helpers/display_helper.rb +11 -3
  143. data/lib/active_admin/view_helpers/download_format_links_helper.rb +1 -0
  144. data/lib/active_admin/view_helpers/fields_for.rb +1 -0
  145. data/lib/active_admin/view_helpers/flash_helper.rb +1 -0
  146. data/lib/active_admin/view_helpers/form_helper.rb +1 -0
  147. data/lib/active_admin/view_helpers/method_or_proc_helper.rb +1 -0
  148. data/lib/active_admin/view_helpers/scope_name_helper.rb +1 -0
  149. data/lib/active_admin/view_helpers/sidebar_helper.rb +1 -0
  150. data/lib/active_admin/view_helpers/title_helper.rb +1 -0
  151. data/lib/active_admin/view_helpers/view_factory_helper.rb +1 -0
  152. data/lib/active_admin/view_helpers.rb +1 -0
  153. data/lib/active_admin/views/action_items.rb +1 -0
  154. data/lib/active_admin/views/components/active_admin_form.rb +2 -1
  155. data/lib/active_admin/views/components/active_filters_sidebar_content.rb +59 -0
  156. data/lib/active_admin/views/components/attributes_table.rb +1 -0
  157. data/lib/active_admin/views/components/blank_slate.rb +1 -0
  158. data/lib/active_admin/views/components/columns.rb +1 -0
  159. data/lib/active_admin/views/components/dropdown_menu.rb +3 -5
  160. data/lib/active_admin/views/components/index_list.rb +1 -0
  161. data/lib/active_admin/views/components/menu.rb +1 -0
  162. data/lib/active_admin/views/components/menu_item.rb +1 -0
  163. data/lib/active_admin/views/components/paginated_collection.rb +1 -0
  164. data/lib/active_admin/views/components/panel.rb +1 -0
  165. data/lib/active_admin/views/components/scopes.rb +1 -0
  166. data/lib/active_admin/views/components/sidebar.rb +1 -0
  167. data/lib/active_admin/views/components/sidebar_section.rb +1 -0
  168. data/lib/active_admin/views/components/site_title.rb +1 -0
  169. data/lib/active_admin/views/components/status_tag.rb +1 -0
  170. data/lib/active_admin/views/components/table_for.rb +1 -0
  171. data/lib/active_admin/views/components/tabs.rb +1 -0
  172. data/lib/active_admin/views/components/unsupported_browser.rb +1 -0
  173. data/lib/active_admin/views/footer.rb +1 -0
  174. data/lib/active_admin/views/header.rb +1 -0
  175. data/lib/active_admin/views/index_as_block.rb +1 -0
  176. data/lib/active_admin/views/index_as_blog.rb +1 -0
  177. data/lib/active_admin/views/index_as_grid.rb +1 -0
  178. data/lib/active_admin/views/index_as_table.rb +2 -1
  179. data/lib/active_admin/views/pages/base.rb +8 -4
  180. data/lib/active_admin/views/pages/form.rb +1 -0
  181. data/lib/active_admin/views/pages/index.rb +2 -1
  182. data/lib/active_admin/views/pages/layout.rb +1 -0
  183. data/lib/active_admin/views/pages/page.rb +1 -0
  184. data/lib/active_admin/views/pages/show.rb +1 -0
  185. data/lib/active_admin/views/tabbed_navigation.rb +1 -0
  186. data/lib/active_admin/views/title_bar.rb +1 -0
  187. data/lib/active_admin/views.rb +1 -0
  188. data/lib/active_admin.rb +2 -1
  189. data/lib/activeadmin.rb +1 -0
  190. data/lib/generators/active_admin/assets/assets_generator.rb +1 -0
  191. data/lib/generators/active_admin/devise/devise_generator.rb +1 -0
  192. data/lib/generators/active_admin/install/install_generator.rb +1 -0
  193. data/lib/generators/active_admin/install/templates/active_admin.rb.erb +17 -0
  194. data/lib/generators/active_admin/install/templates/dashboard.rb +1 -0
  195. data/lib/generators/active_admin/page/page_generator.rb +1 -0
  196. data/lib/generators/active_admin/page/templates/page.rb +1 -0
  197. data/lib/generators/active_admin/resource/resource_generator.rb +1 -0
  198. data/lib/generators/active_admin/webpacker/webpacker_generator.rb +1 -0
  199. data/lib/ransack_ext.rb +1 -0
  200. metadata +21 -59
  201. data/docs/.gitignore +0 -1
  202. data/docs/0-installation.md +0 -142
  203. data/docs/1-general-configuration.md +0 -224
  204. data/docs/10-custom-pages.md +0 -150
  205. data/docs/11-decorators.md +0 -70
  206. data/docs/12-arbre-components.md +0 -214
  207. data/docs/13-authorization-adapter.md +0 -285
  208. data/docs/14-gotchas.md +0 -138
  209. data/docs/2-resource-customization.md +0 -475
  210. data/docs/3-index-pages/custom-index.md +0 -35
  211. data/docs/3-index-pages/index-as-block.md +0 -19
  212. data/docs/3-index-pages/index-as-blog.md +0 -69
  213. data/docs/3-index-pages/index-as-grid.md +0 -27
  214. data/docs/3-index-pages/index-as-table.md +0 -234
  215. data/docs/3-index-pages.md +0 -328
  216. data/docs/4-csv-format.md +0 -74
  217. data/docs/5-forms.md +0 -237
  218. data/docs/6-show-pages.md +0 -93
  219. data/docs/7-sidebars.md +0 -75
  220. data/docs/8-custom-actions.md +0 -177
  221. data/docs/9-batch-actions.md +0 -237
  222. data/docs/CNAME +0 -1
  223. data/docs/Gemfile +0 -3
  224. data/docs/Gemfile.lock +0 -259
  225. data/docs/README.md +0 -24
  226. data/docs/_config.yml +0 -4
  227. data/docs/_includes/footer.html +0 -8
  228. data/docs/_includes/google-analytics.html +0 -16
  229. data/docs/_includes/head.html +0 -7
  230. data/docs/_includes/toc.html +0 -98
  231. data/docs/_includes/top-menu.html +0 -17
  232. data/docs/_layouts/default.html +0 -21
  233. data/docs/documentation.md +0 -60
  234. data/docs/images/activeadmin.png +0 -0
  235. data/docs/images/code-header.png +0 -0
  236. data/docs/images/divider.png +0 -0
  237. data/docs/images/features.png +0 -0
  238. data/docs/images/tidelift.svg +0 -14
  239. data/docs/index.html +0 -226
  240. data/docs/stylesheets/main.css +0 -1205
  241. /data/app/assets/stylesheets/active_admin/{print.scss → _print.scss} +0 -0
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module ActiveAdmin
2
3
  # This is the class where all the register blocks are evaluated.
3
4
  class ResourceDSL < DSL
@@ -62,11 +63,12 @@ module ActiveAdmin
62
63
  #
63
64
  def permit_params(*args, &block)
64
65
  param_key = config.param_key.to_sym
65
- belongs_to_param = config.belongs_to_param
66
- create_another_param = :create_another if config.create_another
67
66
 
68
67
  controller do
69
68
  define_method :permitted_params do
69
+ belongs_to_param = active_admin_config.belongs_to_param
70
+ create_another_param = :create_another if active_admin_config.create_another
71
+
70
72
  permitted_params =
71
73
  active_admin_namespace.permitted_params +
72
74
  Array.wrap(belongs_to_param) +
@@ -189,25 +191,9 @@ module ActiveAdmin
189
191
  delegate :before_save, :after_save, to: :controller
190
192
  delegate :before_destroy, :after_destroy, to: :controller
191
193
 
192
- # This code defines both *_filter and *_action for Rails 5.0 and *_action for Rails >= 5.1
193
- phases = [
194
- :before, :skip_before,
195
- :after, :skip_after,
196
- :around, :skip
197
- ]
198
- keywords = if Rails::VERSION::MAJOR == 5 && Rails::VERSION::MINOR >= 1
199
- [:action]
200
- else
201
- [:action, :filter]
202
- end
203
-
204
- keywords.each do |name|
205
- phases.each do |action|
206
- define_method "#{action}_#{name}" do |*args, &block|
207
- controller.public_send "#{action}_action", *args, &block
208
- end
209
- end
210
- end
194
+ standard_rails_filters =
195
+ AbstractController::Callbacks::ClassMethods.public_instance_methods.select { |m| m.match(/_action\z/) }
196
+ delegate *standard_rails_filters, to: :controller
211
197
 
212
198
  # Specify which actions to create in the controller
213
199
  #
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module ActiveAdmin
2
3
  # @private
3
4
  class Router
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module ActiveAdmin
2
3
  class Scope
3
4
 
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module ActiveAdmin
2
3
 
3
4
  class SettingsNode
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module ActiveAdmin
2
3
 
3
4
  class SidebarSection
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module ActiveAdmin
2
- VERSION = "2.9.0"
3
+ VERSION = "2.14.0"
3
4
  end
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require "active_admin/abstract_view_factory"
2
3
 
3
4
  module ActiveAdmin
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module ActiveAdmin
2
3
  module ViewHelpers
3
4
  module ActiveAdminApplicationHelper
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module ActiveAdmin
2
3
  module ViewHelpers
3
4
  module AutoLinkHelper
@@ -28,7 +29,7 @@ module ActiveAdmin
28
29
  authorized?(ActiveAdmin::Auth::READ, resource)
29
30
  url_for config.route_instance_path resource, url_options
30
31
  elsif config.controller.action_methods.include?("edit") &&
31
- authorized?(ActiveAdmin::Auth::UPDATE, resource)
32
+ authorized?(ActiveAdmin::Auth::EDIT, resource)
32
33
  url_for config.route_edit_instance_path resource, url_options
33
34
  end
34
35
  end
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module ActiveAdmin
2
3
  module ViewHelpers
3
4
  module BreadcrumbHelper
@@ -1,14 +1,22 @@
1
+ # frozen_string_literal: true
1
2
  module ActiveAdmin
2
3
  module ViewHelpers
3
4
  module DisplayHelper
4
5
 
5
6
  DISPLAY_NAME_FALLBACK = -> {
6
- name = ""
7
7
  klass = self.class
8
- name << klass.model_name.human if klass.respond_to? :model_name
9
- name << " ##{send(klass.primary_key)}" if klass.respond_to? :primary_key
8
+ name = if klass.respond_to?(:model_name)
9
+ if klass.respond_to?(:primary_key)
10
+ "#{klass.model_name.human} ##{send(klass.primary_key)}"
11
+ else
12
+ klass.model_name.human
13
+ end
14
+ elsif klass.respond_to?(:primary_key)
15
+ " ##{send(klass.primary_key)}"
16
+ end
10
17
  name.present? ? name : to_s
11
18
  }
19
+
12
20
  def DISPLAY_NAME_FALLBACK.inspect
13
21
  "DISPLAY_NAME_FALLBACK"
14
22
  end
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module ActiveAdmin
2
3
  module ViewHelpers
3
4
  module DownloadFormatLinksHelper
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module ActiveAdmin
2
3
  module ViewHelpers
3
4
  module FormHelper
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module ActiveAdmin
2
3
  module ViewHelpers
3
4
  module FlashHelper
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module ActiveAdmin
2
3
  module ViewHelpers
3
4
  module FormHelper
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  # Utility methods for internal use.
2
3
  # @private
3
4
  module MethodOrProcHelper
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module ActiveAdmin
2
3
  module ViewHelpers
3
4
  module ScopeNameHelper
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module ActiveAdmin
2
3
  module ViewHelpers
3
4
  module SidebarHelper
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module ActiveAdmin
2
3
  module ViewHelpers
3
4
  module TitleHelper
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module ActiveAdmin
2
3
  module ViewHelpers
3
4
  module ViewFactoryHelper
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module ActiveAdmin
2
3
  module ViewHelpers
3
4
 
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module ActiveAdmin
2
3
  module Views
3
4
 
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module ActiveAdmin
2
3
  module Views
3
4
  class FormtasticProxy < ::Arbre::Rails::Forms::FormBuilderProxy
@@ -16,7 +17,7 @@ module ActiveAdmin
16
17
  end
17
18
 
18
19
  def to_s
19
- opening_tag << children.to_s << closing_tag
20
+ opening_tag + children.to_s + closing_tag
20
21
  end
21
22
  end
22
23
 
@@ -0,0 +1,59 @@
1
+ # frozen_string_literal: true
2
+ require "active_admin/filters/active"
3
+
4
+ module ActiveAdmin
5
+ module Views
6
+
7
+ class ActiveFiltersSidebarContent < ActiveAdmin::Component
8
+ builder_method :active_filters_sidebar_content
9
+
10
+ def build
11
+ active_filters = ActiveAdmin::Filters::Active.new(active_admin_config, assigns[:search])
12
+ active_scopes = assigns[:search].instance_variable_get("@scope_args")
13
+
14
+ scope_block(current_scope)
15
+ filters_list(active_filters, active_scopes)
16
+ end
17
+
18
+ def scope_block(current_scope)
19
+ return unless current_scope
20
+
21
+ h4 I18n.t("active_admin.search_status.current_scope"), style: "display: inline"
22
+ b scope_name(current_scope), class: "current_scope_name"
23
+ end
24
+
25
+ def filters_list(active_filters, active_scopes)
26
+ div style: "margin-top: 10px" do
27
+ h4 I18n.t("active_admin.search_status.current_filters"), style: "margin-bottom: 10px"
28
+ ul do
29
+ if active_filters.filters.blank? && active_scopes.blank?
30
+ li I18n.t("active_admin.search_status.no_current_filters")
31
+ else
32
+ active_filters.filters.each { |filter| filter_item(filter) }
33
+ active_scopes.each { |name, value| scope_item(name, value) }
34
+ end
35
+ end
36
+ end
37
+ end
38
+
39
+ def filter_item(filter)
40
+ li filter.html_options do
41
+ span filter.label
42
+ b to_sentence(filter.values.map { |v| pretty_format(v) })
43
+ end
44
+ end
45
+
46
+ def scope_item(name, value)
47
+ filter_name = name.gsub(/_eq$/, "")
48
+ filter = active_admin_config.filters[filter_name.to_sym]
49
+ label = filter.try(:[], :label) || filter_name.titleize
50
+
51
+ li class: "current_filter_#{name}" do
52
+ span "#{label} #{Ransack::Translate.predicate('eq')}"
53
+ b value
54
+ end
55
+ end
56
+ end
57
+
58
+ end
59
+ end
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module ActiveAdmin
2
3
  module Views
3
4
 
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module ActiveAdmin
2
3
  module Views
3
4
  # Build a Blank Slate
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module ActiveAdmin
2
3
  module Views
3
4
 
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module ActiveAdmin
2
3
  module Views
3
4
 
@@ -44,17 +45,14 @@ module ActiveAdmin
44
45
  private
45
46
 
46
47
  def build_button(name, button_options)
47
- button_options[:class] ||= ""
48
- button_options[:class] << " dropdown_menu_button"
49
-
48
+ button_options[:class] = "#{button_options[:class]} dropdown_menu_button"
50
49
  button_options[:href] = "#"
51
50
 
52
51
  a name, button_options
53
52
  end
54
53
 
55
54
  def build_menu(options)
56
- options[:class] ||= ""
57
- options[:class] << " dropdown_menu_list"
55
+ options[:class] = "#{options[:class]} dropdown_menu_list"
58
56
 
59
57
  menu_list = nil
60
58
 
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require "active_admin/helpers/collection"
2
3
 
3
4
  module ActiveAdmin
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module ActiveAdmin
2
3
  module Views
3
4
 
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module ActiveAdmin
2
3
  module Views
3
4
 
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require "active_admin/helpers/collection"
2
3
  require "active_admin/view_helpers/download_format_links_helper"
3
4
 
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module ActiveAdmin
2
3
  module Views
3
4
 
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require "active_admin/helpers/collection"
2
3
  require "active_admin/view_helpers/method_or_proc_helper"
3
4
 
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module ActiveAdmin
2
3
  module Views
3
4
 
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module ActiveAdmin
2
3
  module Views
3
4
 
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module ActiveAdmin
2
3
  module Views
3
4
 
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module ActiveAdmin
2
3
  module Views
3
4
  # Build a StatusTag
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module ActiveAdmin
2
3
  module Views
3
4
  class TableFor < Arbre::HTML::Table
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module ActiveAdmin
2
3
  module Views
3
4
  class Tabs < ActiveAdmin::Component
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module ActiveAdmin
2
3
  module Views
3
4
  class UnsupportedBrowser < Component
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module ActiveAdmin
2
3
  module Views
3
4
  class Footer < Component
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module ActiveAdmin
2
3
  module Views
3
4
  class Header < Component
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module ActiveAdmin
2
3
  module Views
3
4
 
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module ActiveAdmin
2
3
  module Views
3
4
 
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module ActiveAdmin
2
3
  module Views
3
4
 
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module ActiveAdmin
2
3
  module Views
3
4
 
@@ -376,7 +377,7 @@ module ActiveAdmin
376
377
  if controller.action_methods.include?("show") && authorized?(ActiveAdmin::Auth::READ, resource)
377
378
  item localizer.t(:view), resource_path(resource), class: "view_link #{options[:css_class]}", title: localizer.t(:view)
378
379
  end
379
- if controller.action_methods.include?("edit") && authorized?(ActiveAdmin::Auth::UPDATE, resource)
380
+ if controller.action_methods.include?("edit") && authorized?(ActiveAdmin::Auth::EDIT, resource)
380
381
  item localizer.t(:edit), edit_resource_path(resource), class: "edit_link #{options[:css_class]}", title: localizer.t(:edit)
381
382
  end
382
383
  if controller.action_methods.include?("destroy") && authorized?(ActiveAdmin::Auth::DESTROY, resource)
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module ActiveAdmin
2
3
  module Views
3
4
  module Pages
@@ -37,16 +38,19 @@ module ActiveAdmin
37
38
  text_node(meta(name: name, content: content))
38
39
  end
39
40
 
40
- active_admin_application.javascripts.each do |path|
41
- javascript_tag = active_admin_namespace.use_webpacker ? javascript_pack_tag(path) : javascript_include_tag(path)
41
+ active_admin_application.javascripts.each do |path, options|
42
+ javascript_tag = active_admin_namespace.use_webpacker ? javascript_pack_tag(path, **options) : javascript_include_tag(path, **options)
42
43
  text_node(javascript_tag)
43
44
  end
44
45
 
45
46
  if active_admin_namespace.favicon
46
- text_node(favicon_link_tag(active_admin_namespace.favicon))
47
+ favicon = active_admin_namespace.favicon
48
+ favicon_tag = active_admin_namespace.use_webpacker ? favicon_pack_tag(favicon) : favicon_link_tag(favicon)
49
+ text_node(favicon_tag)
47
50
  end
48
51
 
49
- text_node csrf_meta_tag
52
+ text_node csrf_meta_tags
53
+ text_node csp_meta_tag
50
54
  end
51
55
  end
52
56
 
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module ActiveAdmin
2
3
  module Views
3
4
  module Pages
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require "active_admin/helpers/collection"
2
3
 
3
4
  module ActiveAdmin
@@ -111,7 +112,7 @@ module ActiveAdmin
111
112
 
112
113
  def render_blank_slate
113
114
  blank_slate_content = I18n.t("active_admin.blank_slate.content", resource_name: active_admin_config.plural_resource_label)
114
- if controller.action_methods.include?("new") && authorized?(ActiveAdmin::Auth::CREATE, active_admin_config.resource_class)
115
+ if controller.action_methods.include?("new") && authorized?(ActiveAdmin::Auth::NEW, active_admin_config.resource_class)
115
116
  blank_slate_content = [blank_slate_content, blank_slate_link].compact.join(" ")
116
117
  end
117
118
  insert_tag(view_factory.blank_slate, blank_slate_content)
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module ActiveAdmin
2
3
  module Views
3
4
  module Pages
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module ActiveAdmin
2
3
  module Views
3
4
  module Pages
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module ActiveAdmin
2
3
  module Views
3
4
  module Pages
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require_relative "components/menu"
2
3
 
3
4
  module ActiveAdmin
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module ActiveAdmin
2
3
  module Views
3
4
  class TitleBar < Component
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module ActiveAdmin
2
3
  module Views
3
4
 
data/lib/active_admin.rb CHANGED
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require "active_support/core_ext"
2
3
  require "set"
3
4
 
@@ -112,7 +113,7 @@ module ActiveAdmin
112
113
  private
113
114
 
114
115
  def wrap_block_for_active_support_notifications block
115
- proc { |event, *args| block.call *args }
116
+ proc { |_name, _start, _finish, _id, payload| block.call payload[:active_admin_application] }
116
117
  end
117
118
 
118
119
  end
data/lib/activeadmin.rb CHANGED
@@ -1 +1,2 @@
1
+ # frozen_string_literal: true
1
2
  require "active_admin"
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module ActiveAdmin
2
3
  module Generators
3
4
  class AssetsGenerator < Rails::Generators::Base
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require "active_admin/error"
2
3
  require "active_admin/dependency"
3
4
 
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require "rails/generators/active_record"
2
3
 
3
4
  module ActiveAdmin
@@ -18,6 +18,23 @@ ActiveAdmin.setup do |config|
18
18
  #
19
19
  # config.site_title_image = "logo.png"
20
20
 
21
+ # == Load Paths
22
+ #
23
+ # By default Active Admin files go inside app/admin/.
24
+ # You can change this directory.
25
+ #
26
+ # eg:
27
+ # config.load_paths = [File.join(Rails.root, 'app', 'ui')]
28
+ #
29
+ # Or, you can also load more directories.
30
+ # Useful when setting namespaces with users that are not your main AdminUser entity.
31
+ #
32
+ # eg:
33
+ # config.load_paths = [
34
+ # File.join(Rails.root, 'app', 'admin'),
35
+ # File.join(Rails.root, 'app', 'cashier')
36
+ # ]
37
+
21
38
  # == Default Namespace
22
39
  #
23
40
  # Set the default namespace each administration resource
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  ActiveAdmin.register_page "Dashboard" do
2
3
  menu priority: 1, label: proc { I18n.t("active_admin.dashboard") }
3
4
 
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module ActiveAdmin
2
3
  module Generators
3
4
  class PageGenerator < Rails::Generators::NamedBase
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  ActiveAdmin.register_page "<%= class_name %>" do
2
3
  content do
3
4
  # your content
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  require "active_admin/generators/boilerplate"
2
3
 
3
4
  module ActiveAdmin
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module ActiveAdmin
2
3
  module Generators
3
4
  class WebpackerGenerator < Rails::Generators::Base
data/lib/ransack_ext.rb CHANGED
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  # This sets up aliases for old Metasearch query methods so they behave
2
3
  # identically to the versions given in Ransack.
3
4
  #