activeadmin 2.6.1 → 3.2.3
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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +438 -9
- data/CONTRIBUTING.md +12 -36
- data/README.md +8 -8
- data/app/assets/javascripts/active_admin/base.js +27 -25
- data/app/assets/stylesheets/active_admin/_base.scss +53 -37
- data/app/assets/stylesheets/active_admin/_forms.scss +2 -13
- data/app/assets/stylesheets/active_admin/_header.scss +37 -3
- data/app/assets/stylesheets/active_admin/_normalize.scss +25 -123
- data/app/assets/stylesheets/active_admin/components/_comments.scss +2 -2
- data/app/assets/stylesheets/active_admin/components/_date_picker.scss +1 -2
- data/app/assets/stylesheets/active_admin/components/_dropdown_menu.scss +7 -5
- data/app/assets/stylesheets/active_admin/components/_pagination.scss +5 -2
- data/app/assets/stylesheets/active_admin/components/_table_tools.scss +9 -6
- data/app/assets/stylesheets/active_admin/components/_tabs.scss +10 -7
- data/app/assets/stylesheets/active_admin/mixins/_buttons.scss +2 -2
- data/app/assets/stylesheets/active_admin/mixins/_variables.scss +12 -0
- data/app/assets/stylesheets/active_admin/pages/_logged_out.scss +1 -1
- data/app/assets/stylesheets/active_admin/structure/_footer.scss +6 -1
- data/app/assets/stylesheets/active_admin/structure/_title_bar.scss +6 -4
- data/app/javascript/active_admin/initializers/has-many.js +4 -1
- data/app/javascript/active_admin/initializers/per-page.js +1 -1
- data/app/javascript/active_admin/lib/checkbox-toggler.js +3 -3
- data/app/javascript/active_admin/lib/dropdown-menu.js +1 -1
- data/app/javascript/active_admin/lib/modal-dialog.js +7 -7
- data/app/javascript/active_admin/lib/per-page.js +1 -1
- data/app/javascript/active_admin/lib/table-checkbox-toggler.js +1 -1
- data/app/views/active_admin/devise/mailer/reset_password_instructions.html.erb +1 -1
- data/app/views/active_admin/devise/mailer/unlock_instructions.html.erb +2 -2
- data/app/views/active_admin/devise/shared/_links.erb +1 -1
- data/app/views/active_admin/page/index.html.arb +1 -0
- data/app/views/active_admin/resource/edit.html.arb +1 -0
- data/app/views/active_admin/resource/index.html.arb +1 -0
- data/app/views/active_admin/resource/new.html.arb +1 -0
- data/app/views/active_admin/resource/show.html.arb +1 -0
- data/app/views/layouts/active_admin.html.arb +1 -0
- data/app/views/layouts/active_admin_logged_out.html.erb +18 -7
- data/config/locales/ar.yml +6 -13
- data/config/locales/az.yml +0 -7
- data/config/locales/bg.yml +0 -7
- data/config/locales/bs.yml +0 -7
- data/config/locales/ca.yml +0 -7
- data/config/locales/cs.yml +0 -7
- data/config/locales/da.yml +0 -7
- data/config/locales/de-CH.yml +0 -7
- data/config/locales/de.yml +0 -8
- data/config/locales/el.yml +0 -7
- data/config/locales/en-CA.yml +0 -7
- data/config/locales/en-GB.yml +0 -7
- data/config/locales/en.yml +0 -8
- data/config/locales/eo.yml +0 -8
- data/config/locales/es-MX.yml +2 -8
- data/config/locales/es.yml +2 -10
- data/config/locales/fa.yml +0 -7
- data/config/locales/fi.yml +0 -7
- data/config/locales/fr.yml +3 -11
- data/config/locales/he.yml +0 -9
- data/config/locales/hr.yml +0 -7
- data/config/locales/hu.yml +0 -8
- data/config/locales/id.yml +0 -7
- data/config/locales/it.yml +18 -8
- data/config/locales/ja.yml +2 -10
- data/config/locales/ko.yml +1 -8
- data/config/locales/lt.yml +0 -8
- data/config/locales/lv.yml +0 -7
- data/config/locales/mk.yml +0 -8
- data/config/locales/nb.yml +0 -8
- data/config/locales/nl.yml +1 -9
- data/config/locales/pl.yml +0 -8
- data/config/locales/pt-BR.yml +0 -8
- data/config/locales/pt-PT.yml +0 -7
- data/config/locales/ro.yml +3 -9
- data/config/locales/ru.yml +0 -6
- data/config/locales/sk.yml +0 -8
- data/config/locales/sv-SE.yml +58 -39
- data/config/locales/tr.yml +0 -11
- data/config/locales/uk.yml +0 -6
- data/config/locales/vi.yml +38 -19
- data/config/locales/zh-CN.yml +34 -23
- data/config/locales/zh-TW.yml +0 -7
- data/lib/active_admin/abstract_view_factory.rb +1 -0
- data/lib/active_admin/application.rb +19 -19
- data/lib/active_admin/application_settings.rb +4 -3
- data/lib/active_admin/asset_registration.rb +4 -3
- data/lib/active_admin/authorization_adapter.rb +6 -3
- data/lib/active_admin/base_controller/authorization.rb +15 -13
- data/lib/active_admin/base_controller/menu.rb +1 -0
- data/lib/active_admin/base_controller.rb +6 -5
- data/lib/active_admin/batch_actions/controller.rb +4 -3
- data/lib/active_admin/batch_actions/resource_extension.rb +10 -8
- data/lib/active_admin/batch_actions/views/batch_action_form.rb +4 -3
- data/lib/active_admin/batch_actions/views/batch_action_selector.rb +7 -6
- data/lib/active_admin/batch_actions/views/selection_cells.rb +4 -3
- data/lib/active_admin/batch_actions.rb +1 -0
- data/lib/active_admin/callbacks.rb +1 -0
- data/lib/active_admin/cancan_adapter.rb +2 -1
- data/lib/active_admin/collection_decorator.rb +32 -0
- data/lib/active_admin/component.rb +1 -0
- data/lib/active_admin/controller_action.rb +1 -0
- data/lib/active_admin/csv_builder.rb +25 -17
- data/lib/active_admin/dependency.rb +12 -15
- data/lib/active_admin/devise.rb +16 -5
- data/lib/active_admin/dsl.rb +2 -1
- data/lib/active_admin/dynamic_setting.rb +1 -0
- data/lib/active_admin/dynamic_settings_node.rb +3 -2
- data/lib/active_admin/engine.rb +17 -9
- data/lib/active_admin/error.rb +1 -2
- data/lib/active_admin/filters/active.rb +2 -1
- data/lib/active_admin/filters/active_filter.rb +6 -6
- data/lib/active_admin/filters/active_sidebar.rb +4 -30
- data/lib/active_admin/filters/dsl.rb +1 -0
- data/lib/active_admin/filters/forms.rb +9 -8
- data/lib/active_admin/filters/formtastic_addons.rb +3 -7
- data/lib/active_admin/filters/resource_extension.rb +6 -5
- data/lib/active_admin/filters.rb +8 -7
- data/lib/active_admin/form_builder.rb +25 -20
- data/lib/active_admin/generators/boilerplate.rb +2 -1
- data/lib/active_admin/helpers/collection.rb +2 -0
- data/lib/active_admin/helpers/i18n.rb +1 -0
- data/lib/active_admin/helpers/optional_display.rb +3 -2
- data/lib/active_admin/helpers/routes/url_helpers.rb +1 -0
- data/lib/active_admin/helpers/scope_chain.rb +1 -0
- data/lib/active_admin/inputs/datepicker_input.rb +2 -1
- data/lib/active_admin/inputs/filters/base/search_method_select.rb +7 -6
- data/lib/active_admin/inputs/filters/base.rb +2 -1
- data/lib/active_admin/inputs/filters/boolean_input.rb +2 -1
- data/lib/active_admin/inputs/filters/check_boxes_input.rb +2 -1
- data/lib/active_admin/inputs/filters/date_picker_input.rb +1 -0
- data/lib/active_admin/inputs/filters/date_range_input.rb +3 -2
- data/lib/active_admin/inputs/filters/numeric_input.rb +2 -1
- data/lib/active_admin/inputs/filters/select_input.rb +5 -2
- data/lib/active_admin/inputs/filters/string_input.rb +2 -1
- data/lib/active_admin/inputs/filters/text_input.rb +1 -0
- data/lib/active_admin/inputs.rb +1 -0
- data/lib/active_admin/localizers/resource_localizer.rb +4 -3
- data/lib/active_admin/localizers.rb +2 -1
- data/lib/active_admin/menu.rb +8 -3
- data/lib/active_admin/menu_collection.rb +1 -0
- data/lib/active_admin/menu_item.rb +8 -7
- data/lib/active_admin/namespace.rb +16 -15
- data/lib/active_admin/namespace_settings.rb +9 -5
- data/lib/active_admin/order_clause.rb +2 -1
- data/lib/active_admin/orm/active_record/comments/comment.rb +12 -3
- data/lib/active_admin/orm/active_record/comments/namespace_helper.rb +1 -0
- data/lib/active_admin/orm/active_record/comments/resource_helper.rb +1 -0
- data/lib/active_admin/orm/active_record/comments/show_page_helper.rb +1 -0
- data/lib/active_admin/orm/active_record/comments/views/active_admin_comments.rb +21 -20
- data/lib/active_admin/orm/active_record/comments/views.rb +3 -2
- data/lib/active_admin/orm/active_record/comments.rb +28 -27
- data/lib/active_admin/orm/active_record.rb +2 -1
- data/lib/active_admin/orm/mongoid.rb +1 -0
- data/lib/active_admin/page.rb +2 -1
- data/lib/active_admin/page_controller.rb +1 -0
- data/lib/active_admin/page_dsl.rb +1 -0
- data/lib/active_admin/page_presenter.rb +1 -0
- data/lib/active_admin/pundit_adapter.rb +58 -16
- data/lib/active_admin/resource/action_items.rb +6 -5
- data/lib/active_admin/resource/attributes.rb +9 -1
- data/lib/active_admin/resource/belongs_to.rb +3 -2
- data/lib/active_admin/resource/controllers.rb +2 -1
- data/lib/active_admin/resource/includes.rb +1 -0
- data/lib/active_admin/resource/menu.rb +5 -4
- data/lib/active_admin/resource/model.rb +1 -0
- data/lib/active_admin/resource/naming.rb +5 -4
- data/lib/active_admin/resource/ordering.rb +1 -0
- data/lib/active_admin/resource/page_presenters.rb +1 -0
- data/lib/active_admin/resource/pagination.rb +1 -0
- data/lib/active_admin/resource/routes.rb +6 -7
- data/lib/active_admin/resource/scope_to.rb +8 -7
- data/lib/active_admin/resource/scopes.rb +1 -0
- data/lib/active_admin/resource/sidebars.rb +2 -1
- data/lib/active_admin/resource.rb +20 -19
- data/lib/active_admin/resource_collection.rb +1 -0
- data/lib/active_admin/resource_controller/action_builder.rb +1 -0
- data/lib/active_admin/resource_controller/data_access.rb +31 -5
- data/lib/active_admin/resource_controller/decorators.rb +7 -28
- data/lib/active_admin/resource_controller/polymorphic_routes.rb +1 -0
- data/lib/active_admin/resource_controller/resource_class_methods.rb +1 -0
- data/lib/active_admin/resource_controller/scoping.rb +1 -0
- data/lib/active_admin/resource_controller/sidebars.rb +1 -0
- data/lib/active_admin/resource_controller/streaming.rb +9 -7
- data/lib/active_admin/resource_controller.rb +13 -11
- data/lib/active_admin/resource_dsl.rb +11 -25
- data/lib/active_admin/router.rb +1 -0
- data/lib/active_admin/scope.rb +7 -6
- data/lib/active_admin/settings_node.rb +1 -0
- data/lib/active_admin/sidebar_section.rb +1 -0
- data/lib/active_admin/version.rb +2 -1
- data/lib/active_admin/view_factory.rb +18 -17
- data/lib/active_admin/view_helpers/active_admin_application_helper.rb +1 -0
- data/lib/active_admin/view_helpers/auto_link_helper.rb +2 -1
- data/lib/active_admin/view_helpers/breadcrumb_helper.rb +4 -3
- data/lib/active_admin/view_helpers/display_helper.rb +23 -8
- data/lib/active_admin/view_helpers/download_format_links_helper.rb +2 -1
- data/lib/active_admin/view_helpers/fields_for.rb +3 -2
- data/lib/active_admin/view_helpers/flash_helper.rb +1 -0
- data/lib/active_admin/view_helpers/form_helper.rb +1 -0
- data/lib/active_admin/view_helpers/method_or_proc_helper.rb +1 -0
- data/lib/active_admin/view_helpers/scope_name_helper.rb +1 -0
- data/lib/active_admin/view_helpers/sidebar_helper.rb +1 -0
- data/lib/active_admin/view_helpers/title_helper.rb +1 -0
- data/lib/active_admin/view_helpers/view_factory_helper.rb +1 -0
- data/lib/active_admin/view_helpers.rb +2 -1
- data/lib/active_admin/views/action_items.rb +1 -0
- data/lib/active_admin/views/components/active_admin_form.rb +8 -11
- data/lib/active_admin/views/components/active_filters_sidebar_content.rb +59 -0
- data/lib/active_admin/views/components/attributes_table.rb +6 -5
- data/lib/active_admin/views/components/blank_slate.rb +2 -1
- data/lib/active_admin/views/components/columns.rb +1 -0
- data/lib/active_admin/views/components/dropdown_menu.rb +7 -9
- data/lib/active_admin/views/components/index_list.rb +4 -3
- data/lib/active_admin/views/components/menu.rb +2 -1
- data/lib/active_admin/views/components/menu_item.rb +5 -4
- data/lib/active_admin/views/components/paginated_collection.rb +19 -18
- data/lib/active_admin/views/components/panel.rb +2 -1
- data/lib/active_admin/views/components/scopes.rb +8 -5
- data/lib/active_admin/views/components/sidebar.rb +1 -0
- data/lib/active_admin/views/components/sidebar_section.rb +1 -0
- data/lib/active_admin/views/components/site_title.rb +2 -1
- data/lib/active_admin/views/components/status_tag.rb +12 -11
- data/lib/active_admin/views/components/table_for.rb +18 -17
- data/lib/active_admin/views/components/tabs.rb +4 -3
- data/lib/active_admin/views/components/unsupported_browser.rb +1 -0
- data/lib/active_admin/views/footer.rb +3 -1
- data/lib/active_admin/views/header.rb +3 -2
- data/lib/active_admin/views/index_as_block.rb +1 -0
- data/lib/active_admin/views/index_as_blog.rb +2 -1
- data/lib/active_admin/views/index_as_grid.rb +2 -1
- data/lib/active_admin/views/index_as_table.rb +16 -19
- data/lib/active_admin/views/pages/base.rb +17 -11
- data/lib/active_admin/views/pages/form.rb +1 -0
- data/lib/active_admin/views/pages/index.rb +15 -13
- data/lib/active_admin/views/pages/layout.rb +1 -0
- data/lib/active_admin/views/pages/page.rb +1 -0
- data/lib/active_admin/views/pages/show.rb +2 -7
- data/lib/active_admin/views/tabbed_navigation.rb +3 -2
- data/lib/active_admin/views/title_bar.rb +2 -1
- data/lib/active_admin/views.rb +2 -1
- data/lib/active_admin.rb +63 -61
- data/lib/activeadmin.rb +2 -1
- data/lib/generators/active_admin/assets/assets_generator.rb +3 -2
- data/lib/generators/active_admin/assets/templates/active_admin.scss +2 -2
- data/lib/generators/active_admin/devise/devise_generator.rb +6 -5
- data/lib/generators/active_admin/install/install_generator.rb +15 -8
- data/lib/generators/active_admin/install/templates/active_admin.rb.erb +27 -3
- data/lib/generators/active_admin/install/templates/dashboard.rb +1 -0
- data/lib/generators/active_admin/page/page_generator.rb +2 -1
- data/lib/generators/active_admin/page/templates/page.rb +1 -0
- data/lib/generators/active_admin/resource/resource_generator.rb +4 -3
- data/lib/generators/active_admin/webpacker/plugins/jquery.js +7 -0
- data/lib/generators/active_admin/webpacker/templates/active_admin.js +5 -0
- data/lib/generators/active_admin/webpacker/templates/active_admin.scss +17 -0
- data/lib/generators/active_admin/webpacker/templates/print.scss +2 -0
- data/lib/generators/active_admin/webpacker/webpacker_generator.rb +27 -0
- data/vendor/assets/javascripts/jquery-ui/data.js +12 -8
- data/vendor/assets/javascripts/jquery-ui/disable-selection.js +10 -7
- data/vendor/assets/javascripts/jquery-ui/focusable.js +12 -9
- data/vendor/assets/javascripts/jquery-ui/form-reset-mixin.js +60 -57
- data/vendor/assets/javascripts/jquery-ui/form.js +15 -12
- data/vendor/assets/javascripts/jquery-ui/ie.js +5 -2
- data/vendor/assets/javascripts/jquery-ui/keycode.js +11 -7
- data/vendor/assets/javascripts/jquery-ui/labels.js +46 -40
- data/vendor/assets/javascripts/jquery-ui/plugin.js +5 -2
- data/vendor/assets/javascripts/jquery-ui/position.js +30 -17
- data/vendor/assets/javascripts/jquery-ui/safe-active-element.js +6 -2
- data/vendor/assets/javascripts/jquery-ui/safe-blur.js +6 -2
- data/vendor/assets/javascripts/jquery-ui/scroll-parent.js +10 -7
- data/vendor/assets/javascripts/jquery-ui/tabbable.js +11 -8
- data/vendor/assets/javascripts/jquery-ui/unique-id.js +10 -7
- data/vendor/assets/javascripts/jquery-ui/version.js +6 -3
- data/vendor/assets/javascripts/jquery-ui/widget.js +53 -30
- data/vendor/assets/javascripts/jquery-ui/widgets/button.js +87 -24
- data/vendor/assets/javascripts/jquery-ui/widgets/checkboxradio.js +276 -273
- data/vendor/assets/javascripts/jquery-ui/widgets/controlgroup.js +15 -11
- data/vendor/assets/javascripts/jquery-ui/widgets/datepicker.js +182 -62
- data/vendor/assets/javascripts/jquery-ui/widgets/dialog.js +53 -36
- data/vendor/assets/javascripts/jquery-ui/widgets/draggable.js +28 -19
- data/vendor/assets/javascripts/jquery-ui/widgets/mouse.js +22 -11
- data/vendor/assets/javascripts/jquery-ui/widgets/resizable.js +47 -26
- data/vendor/assets/javascripts/jquery-ui/widgets/sortable.js +186 -125
- data/vendor/assets/javascripts/jquery-ui/widgets/tabs.js +20 -20
- metadata +48 -114
- data/docs/.gitignore +0 -1
- data/docs/0-installation.md +0 -118
- data/docs/1-general-configuration.md +0 -224
- data/docs/10-custom-pages.md +0 -150
- data/docs/11-decorators.md +0 -59
- data/docs/12-arbre-components.md +0 -214
- data/docs/13-authorization-adapter.md +0 -285
- data/docs/14-gotchas.md +0 -138
- data/docs/2-resource-customization.md +0 -466
- data/docs/3-index-pages/custom-index.md +0 -35
- data/docs/3-index-pages/index-as-block.md +0 -19
- data/docs/3-index-pages/index-as-blog.md +0 -69
- data/docs/3-index-pages/index-as-grid.md +0 -27
- data/docs/3-index-pages/index-as-table.md +0 -234
- data/docs/3-index-pages.md +0 -328
- data/docs/4-csv-format.md +0 -74
- data/docs/5-forms.md +0 -232
- data/docs/6-show-pages.md +0 -81
- data/docs/7-sidebars.md +0 -75
- data/docs/8-custom-actions.md +0 -177
- data/docs/9-batch-actions.md +0 -237
- data/docs/CNAME +0 -1
- data/docs/Gemfile +0 -3
- data/docs/Gemfile.lock +0 -248
- data/docs/README.md +0 -24
- data/docs/_config.yml +0 -4
- data/docs/_includes/footer.html +0 -8
- data/docs/_includes/google-analytics.html +0 -16
- data/docs/_includes/head.html +0 -7
- data/docs/_includes/toc.html +0 -98
- data/docs/_includes/top-menu.html +0 -17
- data/docs/_layouts/default.html +0 -21
- data/docs/documentation.md +0 -60
- data/docs/images/activeadmin.png +0 -0
- data/docs/images/code-header.png +0 -0
- data/docs/images/divider.png +0 -0
- data/docs/images/features.png +0 -0
- data/docs/images/tidelift.svg +0 -14
- data/docs/index.html +0 -226
- data/docs/stylesheets/main.css +0 -1205
- data/lib/active_admin/deprecation.rb +0 -10
- data/lib/ransack_ext.rb +0 -20
- data/vendor/assets/javascripts/jquery-ui/escape-selector.js +0 -23
- /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
|
module Inputs
|
|
3
4
|
module Filters
|
|
@@ -25,7 +26,7 @@ module ActiveAdmin
|
|
|
25
26
|
|
|
26
27
|
def wrapper_html_options
|
|
27
28
|
opts = super
|
|
28
|
-
(opts[:class] ||=
|
|
29
|
+
(opts[:class] ||= "") << " filter_form_field filter_#{as}"
|
|
29
30
|
opts
|
|
30
31
|
end
|
|
31
32
|
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
1
2
|
module ActiveAdmin
|
|
2
3
|
module Inputs
|
|
3
4
|
module Filters
|
|
@@ -16,7 +17,7 @@ module ActiveAdmin
|
|
|
16
17
|
|
|
17
18
|
# Provide the AA translation to the blank input field.
|
|
18
19
|
def include_blank
|
|
19
|
-
I18n.t
|
|
20
|
+
I18n.t "active_admin.any" if super
|
|
20
21
|
end
|
|
21
22
|
end
|
|
22
23
|
end
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
1
2
|
module ActiveAdmin
|
|
2
3
|
module Inputs
|
|
3
4
|
module Filters
|
|
@@ -14,12 +15,12 @@ module ActiveAdmin
|
|
|
14
15
|
end
|
|
15
16
|
|
|
16
17
|
def gt_input_name
|
|
17
|
-
|
|
18
|
+
"#{method}_gteq"
|
|
18
19
|
end
|
|
19
20
|
alias :input_name :gt_input_name
|
|
20
21
|
|
|
21
22
|
def lt_input_name
|
|
22
|
-
|
|
23
|
+
"#{method}_lteq"
|
|
23
24
|
end
|
|
24
25
|
|
|
25
26
|
def input_html_options
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
1
2
|
module ActiveAdmin
|
|
2
3
|
module Inputs
|
|
3
4
|
module Filters
|
|
@@ -5,7 +6,7 @@ module ActiveAdmin
|
|
|
5
6
|
include Base
|
|
6
7
|
include Base::SearchMethodSelect
|
|
7
8
|
|
|
8
|
-
filter :
|
|
9
|
+
filter :eq, :gt, :lt
|
|
9
10
|
end
|
|
10
11
|
end
|
|
11
12
|
end
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
1
2
|
module ActiveAdmin
|
|
2
3
|
module Inputs
|
|
3
4
|
module Filters
|
|
@@ -7,7 +8,7 @@ module ActiveAdmin
|
|
|
7
8
|
def input_name
|
|
8
9
|
return method if seems_searchable?
|
|
9
10
|
|
|
10
|
-
searchable_method_name + (multiple? ?
|
|
11
|
+
searchable_method_name + (multiple? ? "_in" : "_eq")
|
|
11
12
|
end
|
|
12
13
|
|
|
13
14
|
def searchable_method_name
|
|
@@ -22,7 +23,7 @@ module ActiveAdmin
|
|
|
22
23
|
|
|
23
24
|
# Provide the AA translation to the blank input field.
|
|
24
25
|
def include_blank
|
|
25
|
-
I18n.t
|
|
26
|
+
I18n.t "active_admin.any" if super
|
|
26
27
|
end
|
|
27
28
|
|
|
28
29
|
def input_html_options_name
|
|
@@ -42,6 +43,8 @@ module ActiveAdmin
|
|
|
42
43
|
else
|
|
43
44
|
super
|
|
44
45
|
end
|
|
46
|
+
rescue ActiveRecord::QueryCanceled => error
|
|
47
|
+
raise ActiveRecord::QueryCanceled.new "#{error.message.strip} while querying the values for the ActiveAdmin :#{method} filter"
|
|
45
48
|
end
|
|
46
49
|
|
|
47
50
|
def pluck_column
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
1
2
|
module ActiveAdmin
|
|
2
3
|
module Inputs
|
|
3
4
|
module Filters
|
|
@@ -5,7 +6,7 @@ module ActiveAdmin
|
|
|
5
6
|
include Base
|
|
6
7
|
include Base::SearchMethodSelect
|
|
7
8
|
|
|
8
|
-
filter :
|
|
9
|
+
filter :cont, :eq, :start, :end
|
|
9
10
|
|
|
10
11
|
# If the filter method includes a search condition, build a normal string search field.
|
|
11
12
|
# Else, build a search field with a companion dropdown to choose a search condition from.
|
data/lib/active_admin/inputs.rb
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
1
2
|
module ActiveAdmin
|
|
2
3
|
module Localizers
|
|
3
4
|
class ResourceLocalizer
|
|
@@ -19,16 +20,16 @@ module ActiveAdmin
|
|
|
19
20
|
|
|
20
21
|
def translate(key, options = {})
|
|
21
22
|
scope = options.delete(:scope)
|
|
22
|
-
specific_key = array_to_key(
|
|
23
|
+
specific_key = array_to_key("resources", @model_name, scope, key)
|
|
23
24
|
defaults = [array_to_key(scope, key), key.to_s.titleize]
|
|
24
|
-
::I18n.t specific_key, **options.reverse_merge(model: @model, default: defaults, scope:
|
|
25
|
+
::I18n.t specific_key, **options.reverse_merge(model: @model, default: defaults, scope: "active_admin")
|
|
25
26
|
end
|
|
26
27
|
alias_method :t, :translate
|
|
27
28
|
|
|
28
29
|
protected
|
|
29
30
|
|
|
30
31
|
def array_to_key(*arr)
|
|
31
|
-
arr.flatten.compact.join(
|
|
32
|
+
arr.flatten.compact.join(".").to_sym
|
|
32
33
|
end
|
|
33
34
|
end
|
|
34
35
|
end
|
data/lib/active_admin/menu.rb
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
1
2
|
module ActiveAdmin
|
|
2
3
|
|
|
3
4
|
# Each Namespace builds up it's own menu as the global navigation
|
|
@@ -47,7 +48,11 @@ module ActiveAdmin
|
|
|
47
48
|
# menu.add parent: 'Dashboard', label: 'My Child Dashboard'
|
|
48
49
|
#
|
|
49
50
|
def add(options)
|
|
50
|
-
|
|
51
|
+
options = options.dup # Make sure parameter is not modified
|
|
52
|
+
parent_chain = Array.wrap(options.delete(:parent))
|
|
53
|
+
|
|
54
|
+
item = if parent = parent_chain.shift
|
|
55
|
+
options[:parent] = parent_chain if parent_chain.any?
|
|
51
56
|
(self[parent] || add(label: parent)).add options
|
|
52
57
|
else
|
|
53
58
|
_add options.merge parent: self
|
|
@@ -60,7 +65,7 @@ module ActiveAdmin
|
|
|
60
65
|
|
|
61
66
|
# Whether any children match the given item.
|
|
62
67
|
def include?(item)
|
|
63
|
-
@children.values.include? item
|
|
68
|
+
@children.values.include?(item) || @children.values.any? { |child| child.include?(item) }
|
|
64
69
|
end
|
|
65
70
|
|
|
66
71
|
# Used in the UI to visually distinguish which menu item is selected.
|
|
@@ -87,7 +92,7 @@ module ActiveAdmin
|
|
|
87
92
|
def normalize_id(id)
|
|
88
93
|
case id
|
|
89
94
|
when String, Symbol, ActiveModel::Name
|
|
90
|
-
id.to_s.downcase.tr
|
|
95
|
+
id.to_s.downcase.tr " ", "_"
|
|
91
96
|
when ActiveAdmin::Resource::Name
|
|
92
97
|
id.param_key
|
|
93
98
|
else
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
1
2
|
module ActiveAdmin
|
|
2
3
|
class MenuItem
|
|
3
4
|
include Menu::MenuNode
|
|
@@ -45,13 +46,13 @@ module ActiveAdmin
|
|
|
45
46
|
#
|
|
46
47
|
def initialize(options = {})
|
|
47
48
|
super() # MenuNode
|
|
48
|
-
@label
|
|
49
|
-
@dirty_id
|
|
50
|
-
@url
|
|
51
|
-
@priority
|
|
52
|
-
@html_options
|
|
53
|
-
@should_display = options[:if]
|
|
54
|
-
@parent
|
|
49
|
+
@label = options[:label]
|
|
50
|
+
@dirty_id = options[:id] || options[:label]
|
|
51
|
+
@url = options[:url] || "#"
|
|
52
|
+
@priority = options[:priority] || 10
|
|
53
|
+
@html_options = options[:html_options] || {}
|
|
54
|
+
@should_display = options[:if] || proc { true }
|
|
55
|
+
@parent = options[:parent]
|
|
55
56
|
|
|
56
57
|
yield(self) if block_given? # Builder style syntax
|
|
57
58
|
end
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
require "active_admin/resource_collection"
|
|
2
3
|
|
|
3
4
|
module ActiveAdmin
|
|
4
5
|
|
|
@@ -27,11 +28,11 @@ module ActiveAdmin
|
|
|
27
28
|
class Namespace
|
|
28
29
|
class << self
|
|
29
30
|
def setting(name, default)
|
|
30
|
-
|
|
31
|
+
ActiveAdmin.deprecator.warn "This method does not do anything and will be removed."
|
|
31
32
|
end
|
|
32
33
|
end
|
|
33
34
|
|
|
34
|
-
RegisterEvent =
|
|
35
|
+
RegisterEvent = "active_admin.namespace.register".freeze
|
|
35
36
|
|
|
36
37
|
attr_reader :application, :resources, :menus
|
|
37
38
|
|
|
@@ -59,7 +60,7 @@ module ActiveAdmin
|
|
|
59
60
|
settings.respond_to?(method) ? settings.send(method, *args) : super
|
|
60
61
|
end
|
|
61
62
|
|
|
62
|
-
# Register a resource into this namespace. The
|
|
63
|
+
# Register a resource into this namespace. The preferred method to access this is to
|
|
63
64
|
# use the global registration ActiveAdmin.register which delegates to the proper
|
|
64
65
|
# namespace instance.
|
|
65
66
|
def register(resource_class, options = {}, &block)
|
|
@@ -71,7 +72,7 @@ module ActiveAdmin
|
|
|
71
72
|
reset_menu!
|
|
72
73
|
|
|
73
74
|
# Dispatch a registration event
|
|
74
|
-
ActiveSupport::Notifications.
|
|
75
|
+
ActiveSupport::Notifications.instrument ActiveAdmin::Resource::RegisterEvent, { active_admin_resource: config }
|
|
75
76
|
|
|
76
77
|
# Return the config
|
|
77
78
|
config
|
|
@@ -149,10 +150,10 @@ module ActiveAdmin
|
|
|
149
150
|
def add_logout_button_to_menu(menu, priority = 20, html_options = {})
|
|
150
151
|
if logout_link_path
|
|
151
152
|
html_options = html_options.reverse_merge(method: logout_link_method || :get)
|
|
152
|
-
menu.add id:
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
153
|
+
menu.add id: "logout", priority: priority, html_options: html_options,
|
|
154
|
+
label: -> { I18n.t "active_admin.logout" },
|
|
155
|
+
url: -> { render_or_call_method_or_proc_on self, active_admin_namespace.logout_link_path },
|
|
156
|
+
if: :current_active_admin_user?
|
|
156
157
|
end
|
|
157
158
|
end
|
|
158
159
|
|
|
@@ -164,10 +165,10 @@ module ActiveAdmin
|
|
|
164
165
|
#
|
|
165
166
|
def add_current_user_to_menu(menu, priority = 10, html_options = {})
|
|
166
167
|
if current_user_method
|
|
167
|
-
menu.add id:
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
168
|
+
menu.add id: "current_user", priority: priority, html_options: html_options,
|
|
169
|
+
label: -> { display_name current_active_admin_user },
|
|
170
|
+
url: -> { auto_url_for(current_active_admin_user) },
|
|
171
|
+
if: :current_active_admin_user?
|
|
171
172
|
end
|
|
172
173
|
end
|
|
173
174
|
|
|
@@ -211,8 +212,8 @@ module ActiveAdmin
|
|
|
211
212
|
|
|
212
213
|
def unload_resources!
|
|
213
214
|
resources.each do |resource|
|
|
214
|
-
parent = (module_name ||
|
|
215
|
-
name
|
|
215
|
+
parent = (module_name || "Object").constantize
|
|
216
|
+
name = resource.controller_name.split("::").last
|
|
216
217
|
parent.send(:remove_const, name) if parent.const_defined?(name, false)
|
|
217
218
|
|
|
218
219
|
# Remove circular references
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
require "active_admin/dynamic_settings_node"
|
|
2
3
|
|
|
3
4
|
module ActiveAdmin
|
|
4
5
|
class NamespaceSettings < DynamicSettingsNode
|
|
@@ -57,7 +58,7 @@ module ActiveAdmin
|
|
|
57
58
|
register :filters, true
|
|
58
59
|
|
|
59
60
|
# The namespace root
|
|
60
|
-
register :root_to,
|
|
61
|
+
register :root_to, "dashboard#index"
|
|
61
62
|
|
|
62
63
|
# Options that are passed to root_to
|
|
63
64
|
register :root_to_options, {}
|
|
@@ -73,7 +74,7 @@ module ActiveAdmin
|
|
|
73
74
|
register :create_another, false
|
|
74
75
|
|
|
75
76
|
# Default CSV options
|
|
76
|
-
register :csv_options, { col_sep:
|
|
77
|
+
register :csv_options, { col_sep: ",", byte_order_mark: "\xEF\xBB\xBF" }
|
|
77
78
|
|
|
78
79
|
# Default Download Links options
|
|
79
80
|
register :download_links, true
|
|
@@ -102,7 +103,7 @@ module ActiveAdmin
|
|
|
102
103
|
]
|
|
103
104
|
|
|
104
105
|
# Set flash message keys that shouldn't show in ActiveAdmin
|
|
105
|
-
register :flash_keys_to_except, [
|
|
106
|
+
register :flash_keys_to_except, ["timedout"]
|
|
106
107
|
|
|
107
108
|
# Include association filters by default
|
|
108
109
|
register :include_default_association_filters, true
|
|
@@ -118,6 +119,9 @@ module ActiveAdmin
|
|
|
118
119
|
:title,
|
|
119
120
|
:email,
|
|
120
121
|
]
|
|
121
|
-
register :filter_method_for_large_association,
|
|
122
|
+
register :filter_method_for_large_association, "_start"
|
|
123
|
+
|
|
124
|
+
# Switch between asset pipeline and webpacker assets
|
|
125
|
+
register :use_webpacker, false
|
|
122
126
|
end
|
|
123
127
|
end
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
1
2
|
module ActiveAdmin
|
|
2
3
|
class OrderClause
|
|
3
4
|
attr_reader :field, :order, :active_admin_config
|
|
@@ -20,7 +21,7 @@ module ActiveAdmin
|
|
|
20
21
|
end
|
|
21
22
|
|
|
22
23
|
def to_sql
|
|
23
|
-
[table_column, @op,
|
|
24
|
+
[table_column, @op, " ", @order].compact.join
|
|
24
25
|
end
|
|
25
26
|
|
|
26
27
|
def table
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
1
2
|
module ActiveAdmin
|
|
2
3
|
class Comment < ActiveRecord::Base
|
|
3
4
|
|
|
4
5
|
self.table_name = "#{table_name_prefix}active_admin_comments#{table_name_suffix}"
|
|
5
6
|
|
|
6
7
|
belongs_to :resource, polymorphic: true, optional: true
|
|
7
|
-
belongs_to :author,
|
|
8
|
+
belongs_to :author, polymorphic: true
|
|
8
9
|
|
|
9
10
|
validates_presence_of :body, :namespace, :resource
|
|
10
11
|
|
|
@@ -18,8 +19,8 @@ module ActiveAdmin
|
|
|
18
19
|
def self.find_for_resource_in_namespace(resource, namespace)
|
|
19
20
|
where(
|
|
20
21
|
resource_type: resource_type(resource),
|
|
21
|
-
resource_id:
|
|
22
|
-
namespace:
|
|
22
|
+
resource_id: resource.id,
|
|
23
|
+
namespace: namespace.to_s
|
|
23
24
|
).order(ActiveAdmin.application.namespaces[namespace.to_sym].comments_order)
|
|
24
25
|
end
|
|
25
26
|
|
|
@@ -27,5 +28,13 @@ module ActiveAdmin
|
|
|
27
28
|
self.resource_type = self.class.resource_type(resource)
|
|
28
29
|
end
|
|
29
30
|
|
|
31
|
+
def self.ransackable_attributes(auth_object = nil)
|
|
32
|
+
authorizable_ransackable_attributes
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
def self.ransackable_associations(auth_object = nil)
|
|
36
|
+
authorizable_ransackable_associations
|
|
37
|
+
end
|
|
38
|
+
|
|
30
39
|
end
|
|
31
40
|
end
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
require
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
require "active_admin/views"
|
|
3
|
+
require "active_admin/views/components/panel"
|
|
3
4
|
|
|
4
5
|
module ActiveAdmin
|
|
5
6
|
module Comments
|
|
@@ -22,76 +23,76 @@ module ActiveAdmin
|
|
|
22
23
|
protected
|
|
23
24
|
|
|
24
25
|
def title
|
|
25
|
-
I18n.t
|
|
26
|
+
I18n.t "active_admin.comments.title_content", count: @comments.total_count
|
|
26
27
|
end
|
|
27
28
|
|
|
28
29
|
def build_comments
|
|
29
30
|
if @comments.any?
|
|
30
31
|
@comments.each(&method(:build_comment))
|
|
31
|
-
div page_entries_info(@comments).html_safe, class:
|
|
32
|
+
div page_entries_info(@comments).html_safe, class: "pagination_information"
|
|
32
33
|
else
|
|
33
34
|
build_empty_message
|
|
34
35
|
end
|
|
35
36
|
|
|
36
37
|
text_node paginate @comments
|
|
37
38
|
|
|
38
|
-
if authorized?(ActiveAdmin::Auth::
|
|
39
|
+
if authorized?(ActiveAdmin::Auth::NEW, ActiveAdmin::Comment)
|
|
39
40
|
build_comment_form
|
|
40
41
|
end
|
|
41
42
|
end
|
|
42
43
|
|
|
43
44
|
def build_comment(comment)
|
|
44
45
|
div for: comment do
|
|
45
|
-
div class:
|
|
46
|
-
h4 class:
|
|
47
|
-
comment.author ? auto_link(comment.author) : I18n.t(
|
|
46
|
+
div class: "active_admin_comment_meta" do
|
|
47
|
+
h4 class: "active_admin_comment_author" do
|
|
48
|
+
comment.author ? auto_link(comment.author) : I18n.t("active_admin.comments.author_missing")
|
|
48
49
|
end
|
|
49
50
|
span pretty_format comment.created_at
|
|
50
51
|
if authorized?(ActiveAdmin::Auth::DESTROY, comment)
|
|
51
|
-
text_node link_to I18n.t(
|
|
52
|
+
text_node link_to I18n.t("active_admin.comments.delete"), comments_url(comment.id), method: :delete, data: { confirm: I18n.t("active_admin.comments.delete_confirmation") }
|
|
52
53
|
end
|
|
53
54
|
end
|
|
54
|
-
div class:
|
|
55
|
+
div class: "active_admin_comment_body" do
|
|
55
56
|
simple_format comment.body
|
|
56
57
|
end
|
|
57
58
|
end
|
|
58
59
|
end
|
|
59
60
|
|
|
60
61
|
def build_empty_message
|
|
61
|
-
span I18n.t(
|
|
62
|
+
span I18n.t("active_admin.comments.no_comments_yet"), class: "empty"
|
|
62
63
|
end
|
|
63
64
|
|
|
64
65
|
def comments_url(*args)
|
|
65
66
|
parts = []
|
|
66
67
|
parts << active_admin_namespace.name unless active_admin_namespace.root?
|
|
67
68
|
parts << active_admin_namespace.comments_registration_name.underscore
|
|
68
|
-
parts <<
|
|
69
|
-
send parts.join(
|
|
69
|
+
parts << "path"
|
|
70
|
+
send parts.join("_"), *args
|
|
70
71
|
end
|
|
71
72
|
|
|
72
73
|
def comment_form_url
|
|
73
74
|
parts = []
|
|
74
75
|
parts << active_admin_namespace.name unless active_admin_namespace.root?
|
|
75
76
|
parts << active_admin_namespace.comments_registration_name.underscore.pluralize
|
|
76
|
-
parts <<
|
|
77
|
-
send parts.join
|
|
77
|
+
parts << "path"
|
|
78
|
+
send parts.join "_"
|
|
78
79
|
end
|
|
79
80
|
|
|
80
81
|
def build_comment_form
|
|
81
82
|
active_admin_form_for(ActiveAdmin::Comment.new, url: comment_form_url) do |f|
|
|
82
83
|
f.inputs do
|
|
83
|
-
f.input :resource_type, as: :hidden,
|
|
84
|
-
f.input :resource_id,
|
|
85
|
-
f.input :body,
|
|
84
|
+
f.input :resource_type, as: :hidden, input_html: { value: ActiveAdmin::Comment.resource_type(parent.resource) }
|
|
85
|
+
f.input :resource_id, as: :hidden, input_html: { value: parent.resource.id }
|
|
86
|
+
f.input :body, label: false, input_html: { size: "80x8" }
|
|
86
87
|
end
|
|
87
88
|
f.actions do
|
|
88
|
-
f.action :submit, label: I18n.t(
|
|
89
|
+
f.action :submit, label: I18n.t("active_admin.comments.add")
|
|
89
90
|
end
|
|
90
91
|
end
|
|
91
92
|
end
|
|
92
93
|
|
|
93
94
|
def default_id_for_prefix
|
|
94
|
-
|
|
95
|
+
"active_admin_comments_for"
|
|
95
96
|
end
|
|
96
97
|
end
|
|
97
98
|
|
|
@@ -1,2 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
require
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
require "active_admin/views"
|
|
3
|
+
require "active_admin/orm/active_record/comments/views/active_admin_comments"
|
|
@@ -1,21 +1,22 @@
|
|
|
1
|
-
|
|
2
|
-
require
|
|
3
|
-
require
|
|
4
|
-
require
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
require "active_admin/orm/active_record/comments/views"
|
|
3
|
+
require "active_admin/orm/active_record/comments/show_page_helper"
|
|
4
|
+
require "active_admin/orm/active_record/comments/namespace_helper"
|
|
5
|
+
require "active_admin/orm/active_record/comments/resource_helper"
|
|
5
6
|
|
|
6
7
|
# Add the comments configuration
|
|
7
|
-
ActiveAdmin::Application.inheritable_setting :comments,
|
|
8
|
-
ActiveAdmin::Application.inheritable_setting :comments_registration_name,
|
|
9
|
-
ActiveAdmin::Application.inheritable_setting :comments_order,
|
|
10
|
-
ActiveAdmin::Application.inheritable_setting :comments_menu,
|
|
8
|
+
ActiveAdmin::Application.inheritable_setting :comments, true
|
|
9
|
+
ActiveAdmin::Application.inheritable_setting :comments_registration_name, "Comment"
|
|
10
|
+
ActiveAdmin::Application.inheritable_setting :comments_order, "created_at ASC"
|
|
11
|
+
ActiveAdmin::Application.inheritable_setting :comments_menu, {}
|
|
11
12
|
|
|
12
13
|
# Insert helper modules
|
|
13
14
|
ActiveAdmin::Namespace.send :include, ActiveAdmin::Comments::NamespaceHelper
|
|
14
|
-
ActiveAdmin::Resource.send
|
|
15
|
+
ActiveAdmin::Resource.send :include, ActiveAdmin::Comments::ResourceHelper
|
|
15
16
|
ActiveAdmin.application.view_factory.show_page.send :include, ActiveAdmin::Comments::ShowPageHelper
|
|
16
17
|
|
|
17
18
|
# Load the model as soon as it's referenced. By that point, Rails & Kaminari will be ready
|
|
18
|
-
ActiveAdmin.autoload :Comment,
|
|
19
|
+
ActiveAdmin.autoload :Comment, "active_admin/orm/active_record/comments/comment"
|
|
19
20
|
|
|
20
21
|
# Hint i18n-tasks about model and attribute translations used by default install
|
|
21
22
|
# i18n-tasks-use t('activerecord.models.comment')
|
|
@@ -36,7 +37,7 @@ ActiveAdmin.after_load do |app|
|
|
|
36
37
|
|
|
37
38
|
menu namespace.comments ? namespace.comments_menu : false
|
|
38
39
|
|
|
39
|
-
config.comments
|
|
40
|
+
config.comments = false # Don't allow comments on comments
|
|
40
41
|
config.batch_actions = false # The default destroy batch action isn't showing up anyway...
|
|
41
42
|
|
|
42
43
|
scope :all, show_count: false
|
|
@@ -51,7 +52,7 @@ ActiveAdmin.after_load do |app|
|
|
|
51
52
|
# Store the author and namespace
|
|
52
53
|
before_save do |comment|
|
|
53
54
|
comment.namespace = active_admin_config.namespace.name
|
|
54
|
-
comment.author
|
|
55
|
+
comment.author = current_active_admin_user
|
|
55
56
|
end
|
|
56
57
|
|
|
57
58
|
controller do
|
|
@@ -67,19 +68,19 @@ ActiveAdmin.after_load do |app|
|
|
|
67
68
|
redirect_back fallback_location: active_admin_root
|
|
68
69
|
end
|
|
69
70
|
failure.html do
|
|
70
|
-
flash[:error] = I18n.t
|
|
71
|
+
flash[:error] = I18n.t "active_admin.comments.errors.empty_text"
|
|
71
72
|
redirect_back fallback_location: active_admin_root
|
|
72
73
|
end
|
|
73
74
|
end
|
|
75
|
+
end
|
|
74
76
|
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
end
|
|
77
|
+
def destroy
|
|
78
|
+
destroy! do |success, failure|
|
|
79
|
+
success.html do
|
|
80
|
+
redirect_back fallback_location: active_admin_root
|
|
81
|
+
end
|
|
82
|
+
failure.html do
|
|
83
|
+
redirect_back fallback_location: active_admin_root
|
|
83
84
|
end
|
|
84
85
|
end
|
|
85
86
|
end
|
|
@@ -88,12 +89,12 @@ ActiveAdmin.after_load do |app|
|
|
|
88
89
|
permit_params :body, :namespace, :resource_id, :resource_type
|
|
89
90
|
|
|
90
91
|
index do
|
|
91
|
-
column I18n.t(
|
|
92
|
-
column I18n.t(
|
|
93
|
-
column I18n.t(
|
|
94
|
-
column I18n.t(
|
|
95
|
-
column I18n.t(
|
|
96
|
-
column I18n.t(
|
|
92
|
+
column I18n.t("active_admin.comments.resource_type"), :resource_type
|
|
93
|
+
column I18n.t("active_admin.comments.author_type"), :author_type
|
|
94
|
+
column I18n.t("active_admin.comments.resource"), :resource
|
|
95
|
+
column I18n.t("active_admin.comments.author"), :author
|
|
96
|
+
column I18n.t("active_admin.comments.body"), :body
|
|
97
|
+
column I18n.t("active_admin.comments.created_at"), :created_at
|
|
97
98
|
actions
|
|
98
99
|
end
|
|
99
100
|
end
|