activeadmin 1.3.0 → 2.0.0.rc1
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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +307 -123
- data/CODE_OF_CONDUCT.md +64 -12
- data/CONTRIBUTING.md +90 -46
- data/README.md +66 -19
- data/app/assets/javascripts/active_admin/base.es6 +23 -0
- data/app/assets/javascripts/active_admin/ext/jquery-ui.es6 +7 -0
- data/app/assets/javascripts/active_admin/ext/jquery.es6 +9 -0
- data/app/assets/javascripts/active_admin/initializers/datepicker.es6 +16 -0
- data/app/assets/javascripts/active_admin/initializers/filters.es6 +45 -0
- data/app/assets/javascripts/active_admin/initializers/tabs.es6 +6 -0
- data/app/assets/javascripts/active_admin/lib/active_admin.es6 +41 -0
- data/app/assets/javascripts/active_admin/lib/batch_actions.es6 +55 -0
- data/app/assets/javascripts/active_admin/lib/checkbox-toggler.es6 +49 -0
- data/app/assets/javascripts/active_admin/lib/dropdown-menu.es6 +123 -0
- data/app/assets/javascripts/active_admin/lib/has_many.es6 +95 -0
- data/app/assets/javascripts/active_admin/lib/modal_dialog.es6 +61 -0
- data/app/assets/javascripts/active_admin/lib/per_page.es6 +47 -0
- data/app/assets/javascripts/active_admin/lib/table-checkbox-toggler.es6 +36 -0
- data/app/assets/stylesheets/active_admin/_forms.scss +3 -15
- data/app/assets/stylesheets/active_admin/components/_scopes.scss +3 -0
- data/app/assets/stylesheets/active_admin/components/_status_tags.scss +0 -5
- data/app/assets/stylesheets/active_admin/components/_tabs.scss +1 -1
- data/app/assets/stylesheets/active_admin/mixins/_gradients.scss +1 -1
- data/app/views/active_admin/devise/confirmations/new.html.erb +2 -2
- data/app/views/active_admin/devise/passwords/edit.html.erb +2 -2
- data/app/views/active_admin/devise/passwords/new.html.erb +2 -2
- data/app/views/active_admin/devise/registrations/new.html.erb +2 -3
- data/app/views/active_admin/devise/sessions/new.html.erb +1 -1
- data/app/views/active_admin/devise/shared/_error_messages.html.erb +15 -0
- data/app/views/active_admin/devise/unlocks/new.html.erb +2 -2
- data/app/views/layouts/active_admin_logged_out.html.erb +2 -2
- data/config/locales/bg.yml +0 -1
- data/config/locales/de.yml +10 -0
- data/config/locales/en.yml +19 -1
- data/config/locales/es.yml +20 -1
- data/config/locales/fi.yml +1 -1
- data/config/locales/he.yml +0 -1
- data/config/locales/hu.yml +4 -0
- data/config/locales/it.yml +4 -0
- data/config/locales/lt.yml +2 -2
- data/config/locales/nb.yml +15 -5
- data/config/locales/nl.yml +11 -0
- data/config/locales/pl.yml +71 -3
- data/config/locales/ru.yml +2 -0
- data/config/locales/tr.yml +9 -0
- data/config/locales/uk.yml +2 -0
- data/config/locales/zh-CN.yml +33 -5
- data/docs/.gitignore +1 -0
- data/docs/0-installation.md +2 -2
- data/docs/1-general-configuration.md +16 -1
- data/docs/10-custom-pages.md +14 -0
- data/docs/12-arbre-components.md +28 -1
- data/docs/13-authorization-adapter.md +40 -21
- data/docs/2-resource-customization.md +8 -3
- data/docs/3-index-pages/custom-index.md +1 -1
- data/docs/3-index-pages/index-as-blog.md +1 -1
- data/docs/3-index-pages/index-as-table.md +5 -5
- data/docs/3-index-pages.md +17 -0
- data/docs/5-forms.md +16 -2
- data/docs/8-custom-actions.md +11 -0
- data/docs/CNAME +1 -1
- data/docs/Gemfile +2 -0
- data/docs/Gemfile.lock +249 -0
- data/docs/_config.yml +1 -1
- data/docs/_includes/toc.html +1 -1
- data/docs/_includes/top-menu.html +9 -1
- data/docs/documentation.md +1 -1
- data/docs/images/tidelift.svg +14 -0
- data/docs/index.html +2 -2
- data/docs/stylesheets/main.css +26 -2
- data/lib/active_admin/abstract_view_factory.rb +13 -51
- data/lib/active_admin/application.rb +49 -155
- data/lib/active_admin/application_settings.rb +42 -0
- data/lib/active_admin/asset_registration.rb +0 -8
- data/lib/active_admin/base_controller/authorization.rb +3 -6
- data/lib/active_admin/base_controller.rb +6 -6
- data/lib/active_admin/batch_actions/controller.rb +2 -2
- data/lib/active_admin/batch_actions/resource_extension.rb +4 -4
- data/lib/active_admin/callbacks.rb +1 -1
- data/lib/active_admin/csv_builder.rb +1 -1
- data/lib/active_admin/dependency.rb +1 -69
- data/lib/active_admin/deprecation.rb +0 -25
- data/lib/active_admin/dsl.rb +1 -8
- data/lib/active_admin/dynamic_setting.rb +38 -0
- data/lib/active_admin/dynamic_settings_node.rb +28 -0
- data/lib/active_admin/engine.rb +5 -0
- data/lib/active_admin/error.rb +1 -1
- data/lib/active_admin/filters/active_filter.rb +4 -2
- data/lib/active_admin/filters/active_sidebar.rb +5 -1
- data/lib/active_admin/filters/forms.rb +7 -4
- data/lib/active_admin/filters/formtastic_addons.rb +1 -1
- data/lib/active_admin/filters/resource_extension.rb +4 -4
- data/lib/active_admin/form_builder.rb +97 -62
- data/lib/active_admin/generators/boilerplate.rb +1 -1
- data/lib/active_admin/helpers/scope_chain.rb +1 -0
- data/lib/active_admin/inputs/datepicker_input.rb +8 -1
- data/lib/active_admin/inputs/filters/base/search_method_select.rb +2 -2
- data/lib/active_admin/menu.rb +2 -8
- data/lib/active_admin/menu_item.rb +4 -32
- data/lib/active_admin/namespace.rb +20 -8
- data/lib/active_admin/namespace_settings.rb +110 -0
- data/lib/active_admin/orm/active_record/comments/comment.rb +2 -2
- data/lib/active_admin/orm/active_record/comments/views/active_admin_comments.rb +10 -5
- data/lib/active_admin/orm/active_record/comments.rb +15 -4
- data/lib/active_admin/page_dsl.rb +1 -1
- data/lib/active_admin/pundit_adapter.rb +13 -4
- data/lib/active_admin/resource/action_items.rb +7 -2
- data/lib/active_admin/resource/attributes.rb +7 -4
- data/lib/active_admin/resource/menu.rb +3 -3
- data/lib/active_admin/resource/naming.rb +3 -3
- data/lib/active_admin/resource/routes.rb +9 -4
- data/lib/active_admin/resource/scopes.rb +3 -3
- data/lib/active_admin/resource/sidebars.rb +1 -1
- data/lib/active_admin/resource.rb +2 -2
- data/lib/active_admin/resource_collection.rb +2 -2
- data/lib/active_admin/resource_controller/action_builder.rb +10 -0
- data/lib/active_admin/resource_controller/decorators.rb +3 -3
- data/lib/active_admin/resource_controller/resource_class_methods.rb +2 -0
- data/lib/active_admin/resource_controller/scoping.rb +1 -1
- data/lib/active_admin/resource_dsl.rb +5 -3
- data/lib/active_admin/router.rb +89 -84
- data/lib/active_admin/scope.rb +9 -5
- data/lib/active_admin/settings_node.rb +19 -0
- data/lib/active_admin/version.rb +1 -1
- data/lib/active_admin/view_helpers/display_helper.rb +10 -2
- data/lib/active_admin/view_helpers/download_format_links_helper.rb +1 -0
- data/lib/active_admin/view_helpers/method_or_proc_helper.rb +3 -0
- data/lib/active_admin/view_helpers.rb +1 -1
- data/lib/active_admin/views/components/active_admin_form.rb +9 -4
- data/lib/active_admin/views/components/attributes_table.rb +3 -3
- data/lib/active_admin/views/components/menu.rb +32 -0
- data/lib/active_admin/views/components/menu_item.rb +58 -0
- data/lib/active_admin/views/components/paginated_collection.rb +1 -1
- data/lib/active_admin/views/components/scopes.rb +11 -4
- data/lib/active_admin/views/components/sidebar.rb +13 -0
- data/lib/active_admin/views/components/sidebar_section.rb +0 -3
- data/lib/active_admin/views/components/site_title.rb +5 -6
- data/lib/active_admin/views/components/status_tag.rb +1 -18
- data/lib/active_admin/views/components/table_for.rb +3 -12
- data/lib/active_admin/views/components/tabs.rb +15 -3
- data/lib/active_admin/views/footer.rb +3 -7
- data/lib/active_admin/views/header.rb +3 -15
- data/lib/active_admin/views/index_as_blog.rb +1 -1
- data/lib/active_admin/views/index_as_grid.rb +25 -25
- data/lib/active_admin/views/index_as_table.rb +11 -10
- data/lib/active_admin/views/pages/base.rb +30 -53
- data/lib/active_admin/views/tabbed_navigation.rb +4 -59
- data/lib/active_admin/views.rb +1 -1
- data/lib/active_admin.rb +9 -4
- data/lib/generators/active_admin/assets/assets_generator.rb +2 -2
- data/lib/generators/active_admin/assets/templates/active_admin.js +1 -0
- data/lib/generators/active_admin/install/install_generator.rb +6 -2
- data/lib/generators/active_admin/install/templates/active_admin.rb.erb +20 -1
- data/lib/generators/active_admin/install/templates/dashboard.rb +2 -3
- data/lib/generators/active_admin/install/templates/migrations/create_active_admin_comments.rb.erb +1 -15
- data/lib/generators/active_admin/page/page_generator.rb +1 -1
- data/lib/generators/active_admin/resource/resource_generator.rb +1 -1
- data/lib/ransack_ext.rb +3 -3
- data/vendor/assets/javascripts/jquery-ui/form-reset-mixin.js +80 -0
- data/vendor/assets/javascripts/jquery-ui/form.js +22 -0
- data/vendor/assets/javascripts/jquery-ui/labels.js +65 -0
- data/vendor/assets/javascripts/jquery-ui/widgets/checkboxradio.js +274 -283
- metadata +120 -523
- data/.github/ISSUE_TEMPLATE.md +0 -20
- data/.gitignore +0 -49
- data/.mdlrc +0 -1
- data/.rubocop.yml +0 -76
- data/.simplecov +0 -13
- data/.travis.yml +0 -51
- data/.yardopts +0 -7
- data/Gemfile +0 -58
- data/Rakefile +0 -54
- data/activeadmin.gemspec +0 -32
- data/app/assets/javascripts/active_admin/base.js.coffee +0 -13
- data/app/assets/javascripts/active_admin/ext/jquery-ui.js.coffee +0 -6
- data/app/assets/javascripts/active_admin/ext/jquery.js.coffee +0 -7
- data/app/assets/javascripts/active_admin/initializers/batch_actions.js.coffee +0 -11
- data/app/assets/javascripts/active_admin/initializers/datepicker.js.coffee +0 -14
- data/app/assets/javascripts/active_admin/initializers/filters.js.coffee +0 -26
- data/app/assets/javascripts/active_admin/initializers/tabs.js.coffee +0 -7
- data/app/assets/javascripts/active_admin/lib/batch_actions.js.coffee +0 -42
- data/app/assets/javascripts/active_admin/lib/checkbox-toggler.js.coffee +0 -46
- data/app/assets/javascripts/active_admin/lib/dropdown-menu.js.coffee +0 -104
- data/app/assets/javascripts/active_admin/lib/flash.js.coffee +0 -19
- data/app/assets/javascripts/active_admin/lib/has_many.js.coffee +0 -79
- data/app/assets/javascripts/active_admin/lib/modal_dialog.js.coffee +0 -45
- data/app/assets/javascripts/active_admin/lib/per_page.js.coffee +0 -46
- data/app/assets/javascripts/active_admin/lib/table-checkbox-toggler.js.coffee +0 -22
- data/codecov.yml +0 -25
- data/config/i18n-tasks.yml +0 -26
- data/config/mdl_style.rb +0 -9
- data/cucumber.yml +0 -3
- data/features/action_item.feature +0 -73
- data/features/authorization.feature +0 -64
- data/features/authorization_cancan.feature +0 -52
- data/features/authorization_pundit.feature +0 -37
- data/features/belongs_to.feature +0 -124
- data/features/breadcrumb.feature +0 -75
- data/features/comments/commenting.feature +0 -178
- data/features/comments/viewing_index.feature +0 -19
- data/features/create_another.feature +0 -55
- data/features/dashboard.feature +0 -16
- data/features/decorators.feature +0 -43
- data/features/development_reloading.feature +0 -28
- data/features/edit_page.feature +0 -116
- data/features/favicon.feature +0 -20
- data/features/first_boot.feature +0 -16
- data/features/footer.feature +0 -28
- data/features/global_navigation.feature +0 -29
- data/features/i18n.feature +0 -55
- data/features/index/batch_actions.feature +0 -218
- data/features/index/filters.feature +0 -250
- data/features/index/format_as_csv.feature +0 -220
- data/features/index/formats.feature +0 -88
- data/features/index/index_as_block.feature +0 -15
- data/features/index/index_as_blog.feature +0 -69
- data/features/index/index_as_grid.feature +0 -45
- data/features/index/index_as_table.feature +0 -291
- data/features/index/index_blank_slate.feature +0 -83
- data/features/index/index_parameters.feature +0 -75
- data/features/index/index_scope_to.feature +0 -56
- data/features/index/index_scopes.feature +0 -285
- data/features/index/page_title.feature +0 -41
- data/features/index/pagination.feature +0 -63
- data/features/index/switch_index_view.feature +0 -73
- data/features/menu.feature +0 -72
- data/features/meta_tags.feature +0 -21
- data/features/new_page.feature +0 -136
- data/features/registering_assets.feature +0 -38
- data/features/registering_pages.feature +0 -237
- data/features/registering_resources.feature +0 -33
- data/features/renamed_resource.feature +0 -30
- data/features/root_to.feature +0 -17
- data/features/show/attributes_table_title.feature +0 -54
- data/features/show/columns.feature +0 -40
- data/features/show/default_content.feature +0 -44
- data/features/show/page_title.feature +0 -58
- data/features/show/tabs.feature +0 -33
- data/features/sidebar_sections.feature +0 -210
- data/features/site_title.feature +0 -47
- data/features/specifying_actions.feature +0 -118
- data/features/step_definitions/action_item_steps.rb +0 -7
- data/features/step_definitions/action_link_steps.rb +0 -19
- data/features/step_definitions/additional_web_steps.rb +0 -81
- data/features/step_definitions/asset_steps.rb +0 -15
- data/features/step_definitions/attribute_steps.rb +0 -18
- data/features/step_definitions/attributes_table_title_steps.rb +0 -11
- data/features/step_definitions/batch_action_steps.rb +0 -81
- data/features/step_definitions/blog_steps.rb +0 -3
- data/features/step_definitions/breadcrumb_steps.rb +0 -3
- data/features/step_definitions/column_steps.rb +0 -8
- data/features/step_definitions/comment_steps.rb +0 -32
- data/features/step_definitions/configuration_steps.rb +0 -100
- data/features/step_definitions/dashboard_steps.rb +0 -15
- data/features/step_definitions/factory_steps.rb +0 -35
- data/features/step_definitions/filter_steps.rb +0 -47
- data/features/step_definitions/flash_steps.rb +0 -11
- data/features/step_definitions/footer_steps.rb +0 -11
- data/features/step_definitions/format_steps.rb +0 -56
- data/features/step_definitions/i18n_steps.rb +0 -11
- data/features/step_definitions/index_scope_steps.rb +0 -29
- data/features/step_definitions/index_views_steps.rb +0 -3
- data/features/step_definitions/layout_steps.rb +0 -3
- data/features/step_definitions/member_link_steps.rb +0 -7
- data/features/step_definitions/menu_steps.rb +0 -11
- data/features/step_definitions/meta_tag_steps.rb +0 -3
- data/features/step_definitions/pagination_steps.rb +0 -15
- data/features/step_definitions/sidebar_steps.rb +0 -11
- data/features/step_definitions/site_title_steps.rb +0 -17
- data/features/step_definitions/tab_steps.rb +0 -8
- data/features/step_definitions/table_steps.rb +0 -116
- data/features/step_definitions/user_steps.rb +0 -52
- data/features/step_definitions/web_steps.rb +0 -86
- data/features/sti_resource.feature +0 -65
- data/features/strong_parameters.feature +0 -69
- data/features/support/env.rb +0 -122
- data/features/support/paths.rb +0 -73
- data/features/support/regular_env.rb +0 -7
- data/features/support/reload_env.rb +0 -7
- data/features/support/selectors.rb +0 -45
- data/features/users/logging_in.feature +0 -36
- data/features/users/logging_out.feature +0 -13
- data/features/users/resetting_password.feature +0 -34
- data/gemfiles/rails_42.gemfile +0 -10
- data/gemfiles/rails_50.gemfile +0 -10
- data/gemfiles/rails_51.gemfile +0 -10
- data/gemfiles/rails_52.gemfile +0 -11
- data/lib/active_admin/event.rb +0 -24
- data/lib/active_admin/helpers/output_safety_helper.rb +0 -35
- data/lib/active_admin/helpers/settings.rb +0 -114
- data/lib/bug_report_templates/active_admin_master.rb +0 -112
- data/lib/generators/active_admin/assets/templates/active_admin.js.coffee +0 -1
- data/spec/bug_report_templates_spec.rb +0 -26
- data/spec/javascripts/coffeescripts/jquery.aa.checkbox-toggler-spec.js.coffee +0 -50
- data/spec/javascripts/coffeescripts/jquery.aa.flash.js.coffee +0 -25
- data/spec/javascripts/coffeescripts/jquery.aa.table-checkbox-toggler-spec.js.coffee +0 -34
- data/spec/javascripts/fixtures/checkboxes.html +0 -9
- data/spec/javascripts/fixtures/flashes.html +0 -2
- data/spec/javascripts/fixtures/table_checkboxes.html +0 -17
- data/spec/javascripts/helpers/SpecHelper.js +0 -3
- data/spec/javascripts/support/jasmine.yml +0 -74
- data/spec/javascripts/support/jasmine_runner.rb +0 -19
- data/spec/rails_helper.rb +0 -59
- data/spec/requests/default_namespace_spec.rb +0 -81
- data/spec/requests/memory_spec.rb +0 -25
- data/spec/requests/stylesheets_spec.rb +0 -18
- data/spec/spec_helper.rb +0 -1
- data/spec/support/active_admin_integration_spec_helper.rb +0 -73
- data/spec/support/active_admin_request_helpers.rb +0 -39
- data/spec/support/rails_template.rb +0 -153
- data/spec/support/rails_template_with_data.rb +0 -327
- data/spec/support/templates/admin/stores.rb +0 -7
- data/spec/support/templates/en.yml +0 -8
- data/spec/support/templates/manifest.js +0 -3
- data/spec/support/templates/policies/active_admin/comment_policy.rb +0 -9
- data/spec/support/templates/policies/active_admin/page_policy.rb +0 -18
- data/spec/support/templates/policies/admin_user_policy.rb +0 -11
- data/spec/support/templates/policies/application_policy.rb +0 -44
- data/spec/support/templates/policies/category_policy.rb +0 -7
- data/spec/support/templates/policies/post_policy.rb +0 -15
- data/spec/support/templates/policies/store_policy.rb +0 -11
- data/spec/support/templates/policies/user_policy.rb +0 -11
- data/spec/support/templates/post_decorator.rb +0 -24
- data/spec/unit/abstract_view_factory_spec.rb +0 -78
- data/spec/unit/action_builder_spec.rb +0 -158
- data/spec/unit/active_admin_spec.rb +0 -11
- data/spec/unit/application_spec.rb +0 -184
- data/spec/unit/asset_registration_spec.rb +0 -81
- data/spec/unit/authorization/authorization_adapter_spec.rb +0 -61
- data/spec/unit/authorization/controller_authorization_spec.rb +0 -43
- data/spec/unit/authorization/index_overriding_spec.rb +0 -23
- data/spec/unit/auto_link_spec.rb +0 -93
- data/spec/unit/batch_actions/resource_spec.rb +0 -84
- data/spec/unit/batch_actions/settings_spec.rb +0 -61
- data/spec/unit/belongs_to_spec.rb +0 -76
- data/spec/unit/cancan_adapter_spec.rb +0 -43
- data/spec/unit/comments_spec.rb +0 -176
- data/spec/unit/component_spec.rb +0 -18
- data/spec/unit/config_shared_examples.rb +0 -59
- data/spec/unit/controller_filters_spec.rb +0 -41
- data/spec/unit/csv_builder_spec.rb +0 -313
- data/spec/unit/dependency_spec.rb +0 -135
- data/spec/unit/devise_spec.rb +0 -110
- data/spec/unit/dsl_spec.rb +0 -120
- data/spec/unit/filters/active_filter_spec.rb +0 -189
- data/spec/unit/filters/active_spec.rb +0 -24
- data/spec/unit/filters/filter_form_builder_spec.rb +0 -524
- data/spec/unit/filters/resource_spec.rb +0 -128
- data/spec/unit/form_builder_spec.rb +0 -990
- data/spec/unit/generators/install_spec.rb +0 -31
- data/spec/unit/helpers/collection_spec.rb +0 -68
- data/spec/unit/helpers/output_safety_helper_spec.rb +0 -79
- data/spec/unit/helpers/scope_chain_spec.rb +0 -35
- data/spec/unit/helpers/settings_spec.rb +0 -30
- data/spec/unit/i18n_spec.rb +0 -29
- data/spec/unit/localizers/resource_localizer_spec.rb +0 -36
- data/spec/unit/menu_collection_spec.rb +0 -62
- data/spec/unit/menu_item_spec.rb +0 -141
- data/spec/unit/menu_spec.rb +0 -71
- data/spec/unit/namespace/authorization_spec.rb +0 -27
- data/spec/unit/namespace/register_page_spec.rb +0 -99
- data/spec/unit/namespace/register_resource_spec.rb +0 -162
- data/spec/unit/namespace_spec.rb +0 -124
- data/spec/unit/order_clause_spec.rb +0 -81
- data/spec/unit/page_controller_spec.rb +0 -5
- data/spec/unit/page_spec.rb +0 -128
- data/spec/unit/pretty_format_spec.rb +0 -82
- data/spec/unit/pundit_adapter_spec.rb +0 -98
- data/spec/unit/resource/action_items_spec.rb +0 -69
- data/spec/unit/resource/attributes_spec.rb +0 -49
- data/spec/unit/resource/includes_spec.rb +0 -21
- data/spec/unit/resource/menu_spec.rb +0 -18
- data/spec/unit/resource/naming_spec.rb +0 -122
- data/spec/unit/resource/ordering_spec.rb +0 -35
- data/spec/unit/resource/page_presenters_spec.rb +0 -44
- data/spec/unit/resource/pagination_spec.rb +0 -38
- data/spec/unit/resource/routes_spec.rb +0 -125
- data/spec/unit/resource/scopes_spec.rb +0 -50
- data/spec/unit/resource/sidebars_spec.rb +0 -43
- data/spec/unit/resource_collection_spec.rb +0 -175
- data/spec/unit/resource_controller/data_access_spec.rb +0 -234
- data/spec/unit/resource_controller/decorators_spec.rb +0 -94
- data/spec/unit/resource_controller/sidebars_spec.rb +0 -37
- data/spec/unit/resource_controller_spec.rb +0 -273
- data/spec/unit/resource_registration_spec.rb +0 -61
- data/spec/unit/resource_spec.rb +0 -320
- data/spec/unit/routing_spec.rb +0 -211
- data/spec/unit/scope_spec.rb +0 -209
- data/spec/unit/settings_spec.rb +0 -117
- data/spec/unit/view_factory_spec.rb +0 -19
- data/spec/unit/view_helpers/breadcrumbs_spec.rb +0 -253
- data/spec/unit/view_helpers/display_helper_spec.rb +0 -203
- data/spec/unit/view_helpers/download_format_links_helper_spec.rb +0 -39
- data/spec/unit/view_helpers/fields_for_spec.rb +0 -50
- data/spec/unit/view_helpers/flash_helper_spec.rb +0 -24
- data/spec/unit/view_helpers/form_helper_spec.rb +0 -42
- data/spec/unit/view_helpers/method_or_proc_helper_spec.rb +0 -138
- data/spec/unit/views/components/attributes_table_spec.rb +0 -271
- data/spec/unit/views/components/batch_action_selector_spec.rb +0 -43
- data/spec/unit/views/components/blank_slate_spec.rb +0 -27
- data/spec/unit/views/components/columns_spec.rb +0 -187
- data/spec/unit/views/components/index_list_spec.rb +0 -49
- data/spec/unit/views/components/index_table_for_spec.rb +0 -127
- data/spec/unit/views/components/paginated_collection_spec.rb +0 -249
- data/spec/unit/views/components/panel_spec.rb +0 -58
- data/spec/unit/views/components/sidebar_section_spec.rb +0 -68
- data/spec/unit/views/components/site_title_spec.rb +0 -76
- data/spec/unit/views/components/status_tag_spec.rb +0 -265
- data/spec/unit/views/components/table_for_spec.rb +0 -436
- data/spec/unit/views/components/tabs_spec.rb +0 -67
- data/spec/unit/views/components/unsupported_browser_spec.rb +0 -41
- data/spec/unit/views/index_as_blog_spec.rb +0 -76
- data/spec/unit/views/pages/form_spec.rb +0 -54
- data/spec/unit/views/pages/index_spec.rb +0 -60
- data/spec/unit/views/pages/layout_spec.rb +0 -59
- data/spec/unit/views/pages/show_spec.rb +0 -32
- data/spec/unit/views/tabbed_navigation_spec.rb +0 -158
- data/tasks/docs.rake +0 -64
- data/tasks/lint.rake +0 -21
- data/tasks/local.rake +0 -25
- data/tasks/parallel_tests.rake +0 -66
- data/tasks/test.rake +0 -29
data/docs/stylesheets/main.css
CHANGED
@@ -559,7 +559,7 @@ caption {
|
|
559
559
|
body {
|
560
560
|
background: #f6f4f1;
|
561
561
|
color: #676767;
|
562
|
-
width:
|
562
|
+
width: 768px;
|
563
563
|
padding: 0 20px;
|
564
564
|
font-size: 95%;
|
565
565
|
margin: 25px auto;
|
@@ -594,6 +594,27 @@ body #header {
|
|
594
594
|
margin: 40px 0;
|
595
595
|
}
|
596
596
|
|
597
|
+
body #header h1 {
|
598
|
+
margin-bottom: 0;
|
599
|
+
}
|
600
|
+
|
601
|
+
body #tidelift {
|
602
|
+
display: flex;
|
603
|
+
justify-content: flex-start;
|
604
|
+
}
|
605
|
+
|
606
|
+
body #tidelift a {
|
607
|
+
border: 1px solid #666666;
|
608
|
+
margin-left: auto;
|
609
|
+
padding: 10px;
|
610
|
+
text-decoration: none;
|
611
|
+
}
|
612
|
+
|
613
|
+
body #tidelift a .cta {
|
614
|
+
background: url("../images/tidelift.svg") no-repeat;
|
615
|
+
padding-left: 30px;
|
616
|
+
}
|
617
|
+
|
597
618
|
body .clear {
|
598
619
|
clear: both;
|
599
620
|
}
|
@@ -629,11 +650,14 @@ body h3 {
|
|
629
650
|
font-weight: 300;
|
630
651
|
}
|
631
652
|
|
632
|
-
body #nav {
|
653
|
+
body #nav, body #tidelift .cta {
|
633
654
|
font-family: 'Yanone Kaffeesatz', 'Helvetica Neue', Arial, Helvetica, sans-serif;
|
634
655
|
font-weight: 400;
|
635
656
|
font-size: 1.2em;
|
636
657
|
text-transform: uppercase;
|
658
|
+
}
|
659
|
+
|
660
|
+
body #nav {
|
637
661
|
position: absolute;
|
638
662
|
right: 0;
|
639
663
|
top: 20px;
|
@@ -1,15 +1,19 @@
|
|
1
1
|
module ActiveAdmin
|
2
|
-
class AbstractViewFactory
|
3
|
-
@@default_views = {}
|
2
|
+
class AbstractViewFactory < SettingsNode
|
4
3
|
|
5
4
|
def self.register(view_hash)
|
6
5
|
view_hash.each do |view_key, view_class|
|
7
|
-
|
6
|
+
super view_key, view_class
|
7
|
+
add_writer(view_key)
|
8
|
+
send "#{view_key}=", view_class
|
8
9
|
end
|
9
10
|
end
|
10
11
|
|
11
|
-
def
|
12
|
-
|
12
|
+
def self.add_writer(name)
|
13
|
+
define_singleton_method("#{name}=") do |value|
|
14
|
+
value.builder_method name
|
15
|
+
instance_variable_set :"@#{name}", value
|
16
|
+
end
|
13
17
|
end
|
14
18
|
|
15
19
|
# Register a new view key with the view factory
|
@@ -25,61 +29,19 @@ module ActiveAdmin
|
|
25
29
|
# another_view: OtherViewClass
|
26
30
|
#
|
27
31
|
def register(view_hash)
|
28
|
-
|
29
|
-
@views[view_key] = view_class
|
30
|
-
end
|
32
|
+
self.class.register view_hash
|
31
33
|
end
|
32
34
|
|
33
35
|
def default_for(key)
|
34
|
-
|
35
|
-
end
|
36
|
-
|
37
|
-
def has_key?(key)
|
38
|
-
@views.has_key?(key.to_sym) || @@default_views.has_key?(key.to_sym)
|
36
|
+
self.class.send key
|
39
37
|
end
|
40
38
|
|
41
39
|
def [](key)
|
42
|
-
|
40
|
+
send key
|
43
41
|
end
|
44
42
|
|
45
43
|
def []=(key, value)
|
46
|
-
|
47
|
-
end
|
48
|
-
|
49
|
-
def respond_to_missing?(method, include_private)
|
50
|
-
key = key_from_method_name(method)
|
51
|
-
if has_key?(key)
|
52
|
-
true
|
53
|
-
else
|
54
|
-
super
|
55
|
-
end
|
56
|
-
end
|
57
|
-
|
58
|
-
private
|
59
|
-
|
60
|
-
def method_missing(method, *args)
|
61
|
-
key = key_from_method_name(method)
|
62
|
-
if has_key?(key)
|
63
|
-
if method.to_s.include?('=')
|
64
|
-
set_view_for_key key, args.first
|
65
|
-
else
|
66
|
-
get_view_for_key key
|
67
|
-
end
|
68
|
-
else
|
69
|
-
super
|
70
|
-
end
|
71
|
-
end
|
72
|
-
|
73
|
-
def key_from_method_name(method)
|
74
|
-
method.to_s.tr('=', '').to_sym
|
75
|
-
end
|
76
|
-
|
77
|
-
def get_view_for_key(key)
|
78
|
-
@views[key.to_sym] || @@default_views[key.to_sym]
|
79
|
-
end
|
80
|
-
|
81
|
-
def set_view_for_key(key, view)
|
82
|
-
@views[key.to_sym] = view
|
44
|
+
send "#{key}=", value
|
83
45
|
end
|
84
46
|
end
|
85
47
|
end
|
@@ -1,156 +1,46 @@
|
|
1
1
|
require 'active_admin/router'
|
2
2
|
require 'active_admin/reloader'
|
3
|
-
require 'active_admin/
|
3
|
+
require 'active_admin/application_settings'
|
4
|
+
require 'active_admin/namespace_settings'
|
4
5
|
|
5
6
|
module ActiveAdmin
|
6
7
|
class Application
|
7
|
-
include Settings
|
8
|
-
include Settings::Inheritance
|
9
8
|
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
#
|
15
|
-
# config.default_namespace = :super_admin
|
16
|
-
#
|
17
|
-
setting :default_namespace, :admin
|
9
|
+
class << self
|
10
|
+
def setting(name, default)
|
11
|
+
ApplicationSettings.register name, default
|
12
|
+
end
|
18
13
|
|
19
|
-
|
20
|
-
|
21
|
-
|
14
|
+
def inheritable_setting(name, default)
|
15
|
+
NamespaceSettings.register name, default
|
16
|
+
end
|
22
17
|
end
|
23
18
|
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
setting :load_paths, [File.expand_path('app/admin', Rails.root)]
|
28
|
-
|
29
|
-
# The default number of resources to display on index pages
|
30
|
-
inheritable_setting :default_per_page, 30
|
31
|
-
|
32
|
-
# The max number of resources to display on index pages and batch exports
|
33
|
-
inheritable_setting :max_per_page, 10_000
|
34
|
-
|
35
|
-
# The title which gets displayed in the main layout
|
36
|
-
inheritable_setting :site_title, ""
|
37
|
-
|
38
|
-
# Set the site title link href (defaults to AA dashboard)
|
39
|
-
inheritable_setting :site_title_link, ""
|
40
|
-
|
41
|
-
# Set the site title image displayed in the main layout (has precendence over :site_title)
|
42
|
-
inheritable_setting :site_title_image, ""
|
43
|
-
|
44
|
-
# Set the site footer text (defaults to Powered by ActiveAdmin text with version)
|
45
|
-
inheritable_setting :footer, ""
|
46
|
-
|
47
|
-
# Set a favicon
|
48
|
-
inheritable_setting :favicon, false
|
49
|
-
|
50
|
-
# Additional meta tags to place in head of logged in pages.
|
51
|
-
inheritable_setting :meta_tags, {}
|
52
|
-
|
53
|
-
# Additional meta tags to place in head of logged out pages.
|
54
|
-
inheritable_setting :meta_tags_for_logged_out_pages, { robots: "noindex, nofollow" }
|
55
|
-
|
56
|
-
# The view factory to use to generate all the view classes. Take
|
57
|
-
# a look at ActiveAdmin::ViewFactory
|
58
|
-
inheritable_setting :view_factory, ActiveAdmin::ViewFactory.new
|
59
|
-
|
60
|
-
# The method to call in controllers to get the current user
|
61
|
-
inheritable_setting :current_user_method, false
|
62
|
-
|
63
|
-
# The method to call in the controllers to ensure that there
|
64
|
-
# is a currently authenticated admin user
|
65
|
-
inheritable_setting :authentication_method, false
|
66
|
-
|
67
|
-
# The path to log user's out with. If set to a symbol, we assume
|
68
|
-
# that it's a method to call which returns the path
|
69
|
-
inheritable_setting :logout_link_path, :destroy_admin_user_session_path
|
70
|
-
|
71
|
-
# The method to use when generating the link for user logout
|
72
|
-
inheritable_setting :logout_link_method, :get
|
73
|
-
|
74
|
-
# Whether the batch actions are enabled or not
|
75
|
-
inheritable_setting :batch_actions, false
|
76
|
-
|
77
|
-
# Whether filters are enabled
|
78
|
-
inheritable_setting :filters, true
|
79
|
-
|
80
|
-
# The namespace root.
|
81
|
-
inheritable_setting :root_to, 'dashboard#index'
|
82
|
-
|
83
|
-
# Options that a passed to root_to.
|
84
|
-
inheritable_setting :root_to_options, {}
|
85
|
-
|
86
|
-
# Options passed to the routes, i.e. { path: '/custom' }
|
87
|
-
inheritable_setting :route_options, {}
|
88
|
-
|
89
|
-
# Display breadcrumbs
|
90
|
-
inheritable_setting :breadcrumb, true
|
91
|
-
|
92
|
-
# Display create another checkbox on a new page
|
93
|
-
# @return [Boolean] (true)
|
94
|
-
inheritable_setting :create_another, false
|
95
|
-
|
96
|
-
# Default CSV options
|
97
|
-
inheritable_setting :csv_options, { col_sep: ',', byte_order_mark: "\xEF\xBB\xBF" }
|
98
|
-
|
99
|
-
# Default Download Links options
|
100
|
-
inheritable_setting :download_links, true
|
101
|
-
|
102
|
-
# The authorization adapter to use
|
103
|
-
inheritable_setting :authorization_adapter, ActiveAdmin::AuthorizationAdapter
|
104
|
-
|
105
|
-
# A proc to be used when a user is not authorized to view the current resource
|
106
|
-
inheritable_setting :on_unauthorized_access, :rescue_active_admin_access_denied
|
107
|
-
|
108
|
-
# A regex to detect unsupported browser, set to false to disable
|
109
|
-
inheritable_setting :unsupported_browser_matcher, /MSIE [1-8]\.0/
|
110
|
-
|
111
|
-
# Whether to display 'Current Filters' on search screen
|
112
|
-
inheritable_setting :current_filters, true
|
113
|
-
|
114
|
-
# class to handle ordering
|
115
|
-
inheritable_setting :order_clause, ActiveAdmin::OrderClause
|
116
|
-
|
117
|
-
# default show_count for scopes
|
118
|
-
inheritable_setting :scopes_show_count, true
|
119
|
-
|
120
|
-
# Request parameters that are permitted by default
|
121
|
-
inheritable_setting :permitted_params, [
|
122
|
-
:utf8, :_method, :authenticity_token, :commit, :id
|
123
|
-
]
|
124
|
-
|
125
|
-
# Set flash message keys that shouldn't show in ActiveAdmin
|
126
|
-
inheritable_setting :flash_keys_to_except, ['timedout']
|
127
|
-
|
128
|
-
# Set default localize format for Date/Time values
|
129
|
-
setting :localize_format, :long
|
130
|
-
|
131
|
-
# Include association filters by default
|
132
|
-
inheritable_setting :include_default_association_filters, true
|
19
|
+
def settings
|
20
|
+
@settings ||= SettingsNode.build(ApplicationSettings)
|
21
|
+
end
|
133
22
|
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
# used by auto generated dropdowns in filter or belongs_to field of Active Admin
|
138
|
-
setting :display_name_methods, [ :display_name,
|
139
|
-
:full_name,
|
140
|
-
:name,
|
141
|
-
:username,
|
142
|
-
:login,
|
143
|
-
:title,
|
144
|
-
:email,
|
145
|
-
:to_s ]
|
23
|
+
def namespace_settings
|
24
|
+
@namespace_settings ||= SettingsNode.build(NamespaceSettings)
|
25
|
+
end
|
146
26
|
|
147
|
-
|
148
|
-
|
27
|
+
def respond_to_missing?(method, include_private = false)
|
28
|
+
[settings, namespace_settings].any? { |sets| sets.respond_to?(method) } || super
|
29
|
+
end
|
149
30
|
|
150
|
-
|
31
|
+
def method_missing(method, *args)
|
32
|
+
if settings.respond_to?(method)
|
33
|
+
settings.send(method, *args)
|
34
|
+
elsif namespace_settings.respond_to?(method)
|
35
|
+
namespace_settings.send(method, *args)
|
36
|
+
else
|
37
|
+
super
|
38
|
+
end
|
39
|
+
end
|
151
40
|
|
152
|
-
|
153
|
-
|
41
|
+
attr_reader :namespaces
|
42
|
+
def initialize
|
43
|
+
@namespaces = Namespace::Store.new
|
154
44
|
end
|
155
45
|
|
156
46
|
include AssetRegistration
|
@@ -172,7 +62,7 @@ module ActiveAdmin
|
|
172
62
|
|
173
63
|
# Registers a brand new configuration for the given resource.
|
174
64
|
def register(resource, options = {}, &block)
|
175
|
-
ns = options.fetch(:namespace){ default_namespace }
|
65
|
+
ns = options.fetch(:namespace) { default_namespace }
|
176
66
|
namespace(ns).register resource, options, &block
|
177
67
|
end
|
178
68
|
|
@@ -202,7 +92,7 @@ module ActiveAdmin
|
|
202
92
|
# @&block The registration block.
|
203
93
|
#
|
204
94
|
def register_page(name, options = {}, &block)
|
205
|
-
ns = options.fetch(:namespace){ default_namespace }
|
95
|
+
ns = options.fetch(:namespace) { default_namespace }
|
206
96
|
namespace(ns).register_page name, options, &block
|
207
97
|
end
|
208
98
|
|
@@ -223,7 +113,7 @@ module ActiveAdmin
|
|
223
113
|
def load!
|
224
114
|
unless loaded?
|
225
115
|
ActiveSupport::Notifications.publish BeforeLoadEvent, self # before_load hook
|
226
|
-
files.each{ |file| load file }
|
116
|
+
files.each { |file| load file } # load files
|
227
117
|
namespace(default_namespace) # init AA resources
|
228
118
|
ActiveSupport::Notifications.publish AfterLoadEvent, self # after_load hook
|
229
119
|
@@loaded = true
|
@@ -231,22 +121,26 @@ module ActiveAdmin
|
|
231
121
|
end
|
232
122
|
|
233
123
|
def load(file)
|
234
|
-
DatabaseHitDuringLoad.capture{ super }
|
124
|
+
DatabaseHitDuringLoad.capture { super }
|
235
125
|
end
|
236
126
|
|
237
127
|
# Returns ALL the files to be loaded
|
238
128
|
def files
|
239
|
-
load_paths.flatten.compact.uniq.flat_map{ |path| Dir["#{path}/**/*.rb"] }
|
240
|
-
end
|
241
|
-
|
242
|
-
def router
|
243
|
-
@router ||= Router.new(self)
|
129
|
+
load_paths.flatten.compact.uniq.flat_map { |path| Dir["#{path}/**/*.rb"] }
|
244
130
|
end
|
245
131
|
|
246
|
-
#
|
132
|
+
# Creates all the necessary routes for the ActiveAdmin configurations
|
133
|
+
#
|
134
|
+
# Use this within the routes.rb file:
|
135
|
+
#
|
136
|
+
# Application.routes.draw do |map|
|
137
|
+
# ActiveAdmin.routes(self)
|
138
|
+
# end
|
139
|
+
#
|
140
|
+
# @param rails_router [ActionDispatch::Routing::Mapper]
|
247
141
|
def routes(rails_router)
|
248
142
|
load!
|
249
|
-
|
143
|
+
Router.new(router: rails_router, namespaces: namespaces).apply
|
250
144
|
end
|
251
145
|
|
252
146
|
# Adds before, around and after filters to all controllers.
|
@@ -268,12 +162,12 @@ module ActiveAdmin
|
|
268
162
|
controllers
|
269
163
|
end
|
270
164
|
|
271
|
-
|
165
|
+
private
|
272
166
|
|
273
167
|
def register_default_assets
|
274
|
-
|
275
|
-
|
276
|
-
|
168
|
+
register_stylesheet 'active_admin.css', media: 'screen'
|
169
|
+
register_stylesheet 'active_admin/print.css', media: 'print'
|
170
|
+
register_javascript 'active_admin.js'
|
277
171
|
end
|
278
172
|
|
279
173
|
# Since app/admin is alphabetically before app/models, we have to remove it
|
@@ -0,0 +1,42 @@
|
|
1
|
+
require 'active_admin/settings_node'
|
2
|
+
|
3
|
+
module ActiveAdmin
|
4
|
+
class ApplicationSettings < SettingsNode
|
5
|
+
|
6
|
+
# The default namespace to put controllers and routes inside. Set this
|
7
|
+
# in config/initializers/active_admin.rb using:
|
8
|
+
#
|
9
|
+
# config.default_namespace = :super_admin
|
10
|
+
#
|
11
|
+
register :default_namespace, :admin
|
12
|
+
|
13
|
+
register :app_path, Rails.root
|
14
|
+
|
15
|
+
# Load paths for admin configurations. Add folders to this load path
|
16
|
+
# to load up other resources for administration. External gems can
|
17
|
+
# include their paths in this load path to provide active_admin UIs
|
18
|
+
register :load_paths, [File.expand_path('app/admin', Rails.root)]
|
19
|
+
|
20
|
+
# Set default localize format for Date/Time values
|
21
|
+
register :localize_format, :long
|
22
|
+
|
23
|
+
# Active Admin makes educated guesses when displaying objects, this is
|
24
|
+
# the list of methods it tries calling in order
|
25
|
+
# Note that Formtastic also has 'collection_label_methods' similar to this
|
26
|
+
# used by auto generated dropdowns in filter or belongs_to field of Active Admin
|
27
|
+
register :display_name_methods, [ :display_name,
|
28
|
+
:full_name,
|
29
|
+
:name,
|
30
|
+
:username,
|
31
|
+
:login,
|
32
|
+
:title,
|
33
|
+
:email,
|
34
|
+
:to_s ]
|
35
|
+
|
36
|
+
# To make debugging easier, by default don't stream in development
|
37
|
+
register :disable_streaming_in, ['development']
|
38
|
+
|
39
|
+
# Remove sensitive attributes from being displayed, made editable, or exported by default
|
40
|
+
register :filter_attributes, [:encrypted_password, :password, :password_confirmation]
|
41
|
+
end
|
42
|
+
end
|
@@ -2,10 +2,6 @@ module ActiveAdmin
|
|
2
2
|
module AssetRegistration
|
3
3
|
|
4
4
|
def register_stylesheet(path, options = {})
|
5
|
-
Deprecation.warn <<-MSG.strip_heredoc
|
6
|
-
The `register_stylesheet` config is deprecated and will be removed
|
7
|
-
in v2. Import your "#{path}" stylesheet in the active_admin.scss.
|
8
|
-
MSG
|
9
5
|
stylesheets[path] = options
|
10
6
|
end
|
11
7
|
|
@@ -18,10 +14,6 @@ module ActiveAdmin
|
|
18
14
|
end
|
19
15
|
|
20
16
|
def register_javascript(name)
|
21
|
-
Deprecation.warn <<-MSG.strip_heredoc
|
22
|
-
The `register_javascript` config is deprecated and will be removed
|
23
|
-
in v2. Import your "#{name}" javascript in the active_admin.js.
|
24
|
-
MSG
|
25
17
|
javascripts.add name
|
26
18
|
end
|
27
19
|
|
@@ -1,7 +1,6 @@
|
|
1
1
|
module ActiveAdmin
|
2
2
|
class BaseController < ::InheritedResources::Base
|
3
3
|
module Authorization
|
4
|
-
include MethodOrProcHelper
|
5
4
|
extend ActiveSupport::Concern
|
6
5
|
|
7
6
|
ACTIONS_DICTIONARY = {
|
@@ -100,7 +99,7 @@ module ActiveAdmin
|
|
100
99
|
end
|
101
100
|
|
102
101
|
def dispatch_active_admin_access_denied(exception)
|
103
|
-
|
102
|
+
instance_exec(self, exception, &active_admin_namespace.on_unauthorized_access.to_proc)
|
104
103
|
end
|
105
104
|
|
106
105
|
def rescue_active_admin_access_denied(exception)
|
@@ -112,16 +111,14 @@ module ActiveAdmin
|
|
112
111
|
redirect_backwards_or_to_root
|
113
112
|
end
|
114
113
|
|
115
|
-
body
|
116
|
-
|
117
|
-
format.csv { render body => error, status: :unauthorized }
|
114
|
+
format.csv { render body: error, status: :unauthorized }
|
118
115
|
format.json { render json: { error: error }, status: :unauthorized }
|
119
116
|
format.xml { render xml: "<error>#{error}</error>", status: :unauthorized }
|
120
117
|
end
|
121
118
|
end
|
122
119
|
|
123
120
|
def redirect_backwards_or_to_root
|
124
|
-
|
121
|
+
redirect_back fallback_location: active_admin_root
|
125
122
|
end
|
126
123
|
|
127
124
|
end
|
@@ -22,6 +22,11 @@ module ActiveAdmin
|
|
22
22
|
attr_accessor :active_admin_config
|
23
23
|
end
|
24
24
|
|
25
|
+
include Authorization
|
26
|
+
include Menu
|
27
|
+
|
28
|
+
private
|
29
|
+
|
25
30
|
# By default Rails will render un-implemented actions when the view exists. Because Active
|
26
31
|
# Admin allows you to not render any of the actions by using the #actions method, we need
|
27
32
|
# to check if they are implemented.
|
@@ -29,11 +34,6 @@ module ActiveAdmin
|
|
29
34
|
raise AbstractController::ActionNotFound unless action_methods.include?(params[:action])
|
30
35
|
end
|
31
36
|
|
32
|
-
include Authorization
|
33
|
-
include Menu
|
34
|
-
|
35
|
-
private
|
36
|
-
|
37
37
|
# Calls the authentication method as defined in ActiveAdmin.authentication_method
|
38
38
|
def authenticate_active_admin_user
|
39
39
|
send(active_admin_namespace.authentication_method) if active_admin_namespace.authentication_method
|
@@ -74,7 +74,7 @@ module ActiveAdmin
|
|
74
74
|
|
75
75
|
def active_admin_root
|
76
76
|
controller, action = active_admin_namespace.root_to.split '#'
|
77
|
-
{controller: controller, action: action}
|
77
|
+
{ controller: controller, action: action }
|
78
78
|
end
|
79
79
|
|
80
80
|
end
|
@@ -7,7 +7,7 @@ module ActiveAdmin
|
|
7
7
|
if action_present?
|
8
8
|
selection = params[:collection_selection] || []
|
9
9
|
inputs = JSON.parse params[:batch_action_inputs] || '{}'
|
10
|
-
valid_keys = render_in_context(self, current_batch_action.inputs).try(:keys)
|
10
|
+
valid_keys = MethodOrProcHelper.render_in_context(self, current_batch_action.inputs).try(:keys)
|
11
11
|
inputs = inputs.with_indifferent_access.slice *valid_keys
|
12
12
|
instance_exec selection, inputs, ¤t_batch_action.block
|
13
13
|
else
|
@@ -22,7 +22,7 @@ module ActiveAdmin
|
|
22
22
|
end
|
23
23
|
|
24
24
|
def current_batch_action
|
25
|
-
active_admin_config.batch_actions.detect{ |action| action.sym.to_s == params[:batch_action] }
|
25
|
+
active_admin_config.batch_actions.detect { |action| action.sym.to_s == params[:batch_action] }
|
26
26
|
end
|
27
27
|
|
28
28
|
COLLECTION_APPLIES = [
|
@@ -57,8 +57,8 @@ 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
64
|
add_batch_action :destroy, proc { I18n.t('active_admin.delete') }, destroy_options do |selected_ids|
|
@@ -84,7 +84,7 @@ module ActiveAdmin
|
|
84
84
|
|
85
85
|
attr_reader :block, :title, :sym
|
86
86
|
|
87
|
-
DEFAULT_CONFIRM_MESSAGE = proc{ I18n.t 'active_admin.batch_actions.default_confirmation' }
|
87
|
+
DEFAULT_CONFIRM_MESSAGE = proc { I18n.t 'active_admin.batch_actions.default_confirmation' }
|
88
88
|
|
89
89
|
# Create a Batch Action
|
90
90
|
#
|
@@ -133,7 +133,7 @@ module ActiveAdmin
|
|
133
133
|
# Returns the display if block. If the block was not explicitly defined
|
134
134
|
# a default block always returning true will be returned.
|
135
135
|
def display_if_block
|
136
|
-
@options[:if] || proc{ true }
|
136
|
+
@options[:if] || proc { true }
|
137
137
|
end
|
138
138
|
|
139
139
|
# Used for sorting
|
@@ -75,7 +75,7 @@ module ActiveAdmin
|
|
75
75
|
|
76
76
|
# def run_create_callbacks
|
77
77
|
define_method "run_#{name}_callbacks" do |*args, &block|
|
78
|
-
self.class.send("before_#{name}_callbacks").each{ |cbk| run_callback(cbk, *args) }
|
78
|
+
self.class.send("before_#{name}_callbacks").each { |cbk| run_callback(cbk, *args) }
|
79
79
|
value = block.try :call
|
80
80
|
self.class.send("after_#{name}_callbacks").each { |cbk| run_callback(cbk, *args) }
|
81
81
|
return value
|
@@ -50,7 +50,7 @@ module ActiveAdmin
|
|
50
50
|
csv << bom if bom
|
51
51
|
|
52
52
|
if column_names
|
53
|
-
csv << CSV.generate_line(columns.map{ |c| encode c.name, options }, csv_options)
|
53
|
+
csv << CSV.generate_line(columns.map { |c| encode c.name, options }, csv_options)
|
54
54
|
end
|
55
55
|
|
56
56
|
ActiveRecord::Base.uncached do
|