activeadmin 1.1.0 → 2.5.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.
- checksums.yaml +5 -5
- data/CHANGELOG.md +492 -108
- data/CODE_OF_CONDUCT.md +64 -12
- data/CONTRIBUTING.md +117 -49
- data/README.md +73 -19
- data/app/assets/javascripts/active_admin/base.js +509 -0
- data/app/assets/stylesheets/active_admin/_base.scss +29 -29
- data/app/assets/stylesheets/active_admin/_forms.scss +3 -15
- data/app/assets/stylesheets/active_admin/_header.scss +3 -5
- data/app/assets/stylesheets/active_admin/_mixins.scss +1 -1
- 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/_tables.scss +1 -2
- data/app/assets/stylesheets/active_admin/components/_tabs.scss +1 -1
- data/app/assets/stylesheets/active_admin/mixins/_all.scss +8 -8
- data/app/assets/stylesheets/active_admin/mixins/_gradients.scss +1 -1
- data/app/assets/stylesheets/active_admin/mixins/_variables.scss +5 -0
- data/app/assets/stylesheets/active_admin/print.scss +2 -2
- data/app/assets/stylesheets/active_admin/structure/_main_structure.scss +1 -1
- data/app/javascript/active_admin/base.js +19 -0
- data/app/javascript/active_admin/ext/jquery-ui.js +7 -0
- data/app/javascript/active_admin/ext/jquery.js +9 -0
- data/app/javascript/active_admin/initializers/batch-actions.js +61 -0
- data/app/javascript/active_admin/initializers/checkbox-toggler.js +3 -0
- data/app/javascript/active_admin/initializers/datepicker.js +16 -0
- data/app/javascript/active_admin/initializers/dropdown-menu.js +9 -0
- data/app/javascript/active_admin/initializers/filters.js +10 -0
- data/app/javascript/active_admin/initializers/has-many.js +95 -0
- data/app/javascript/active_admin/initializers/per-page.js +13 -0
- data/app/javascript/active_admin/initializers/table-checkbox-toggler.js +3 -0
- data/app/javascript/active_admin/initializers/tabs.js +6 -0
- data/app/javascript/active_admin/lib/checkbox-toggler.js +49 -0
- data/app/javascript/active_admin/lib/dropdown-menu.js +116 -0
- data/app/javascript/active_admin/lib/filters.js +39 -0
- data/app/javascript/active_admin/lib/modal-dialog.js +63 -0
- data/app/javascript/active_admin/lib/per-page.js +38 -0
- data/app/javascript/active_admin/lib/table-checkbox-toggler.js +38 -0
- data/app/javascript/active_admin/lib/utils.js +40 -0
- 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/kaminari/active_admin_countless/_first_page.html.erb +11 -0
- data/app/views/kaminari/active_admin_countless/_gap.html.erb +8 -0
- data/app/views/kaminari/active_admin_countless/_next_page.html.erb +11 -0
- data/app/views/kaminari/active_admin_countless/_page.html.erb +12 -0
- data/app/views/kaminari/active_admin_countless/_paginator.html.erb +24 -0
- data/app/views/kaminari/active_admin_countless/_prev_page.html.erb +11 -0
- data/app/views/layouts/active_admin_logged_out.html.erb +2 -2
- data/config/locales/ar.yml +3 -2
- data/config/locales/az.yml +138 -0
- data/config/locales/bg.yml +1 -1
- data/config/locales/bs.yml +1 -0
- data/config/locales/ca.yml +1 -1
- data/config/locales/cs.yml +1 -0
- data/config/locales/da.yml +1 -0
- data/config/locales/de-CH.yml +1 -0
- data/config/locales/de.yml +29 -0
- data/config/locales/el.yml +1 -0
- data/config/locales/en-CA.yml +1 -0
- data/config/locales/en-GB.yml +1 -0
- data/config/locales/en.yml +21 -1
- data/config/locales/eo.yml +145 -0
- data/config/locales/es-MX.yml +1 -0
- data/config/locales/es.yml +21 -1
- data/config/locales/fa.yml +1 -0
- data/config/locales/fi.yml +2 -1
- data/config/locales/fr.yml +2 -1
- data/config/locales/he.yml +1 -1
- data/config/locales/hr.yml +1 -0
- data/config/locales/hu.yml +5 -0
- data/config/locales/id.yml +1 -0
- data/config/locales/it.yml +13 -3
- data/config/locales/ja.yml +6 -0
- data/config/locales/ko.yml +1 -0
- data/config/locales/lt.yml +3 -2
- data/config/locales/lv.yml +1 -0
- data/config/locales/mk.yml +134 -0
- data/config/locales/nb.yml +16 -5
- data/config/locales/nl.yml +12 -0
- data/config/locales/pl.yml +72 -3
- data/config/locales/pt-BR.yml +9 -0
- data/config/locales/pt-PT.yml +1 -0
- data/config/locales/ro.yml +1 -0
- data/config/locales/ru.yml +3 -0
- data/config/locales/sk.yml +60 -0
- data/config/locales/sv-SE.yml +3 -0
- data/config/locales/tr.yml +10 -0
- data/config/locales/uk.yml +3 -0
- data/config/locales/vi.yml +48 -6
- data/config/locales/zh-CN.yml +34 -5
- data/config/locales/zh-TW.yml +1 -0
- data/docs/.gitignore +1 -0
- data/docs/0-installation.md +2 -2
- data/docs/1-general-configuration.md +36 -1
- data/docs/10-custom-pages.md +14 -0
- data/docs/12-arbre-components.md +41 -1
- data/docs/13-authorization-adapter.md +41 -22
- data/docs/2-resource-customization.md +10 -5
- 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 +12 -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 -1
- data/docs/Gemfile.lock +249 -0
- data/docs/_config.yml +3 -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 +109 -8
- data/docs/stylesheets/main.css +55 -2
- data/lib/active_admin/abstract_view_factory.rb +13 -51
- data/lib/active_admin/application.rb +53 -160
- 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 +4 -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 +9 -5
- data/lib/active_admin/callbacks.rb +1 -1
- data/lib/active_admin/controller_action.rb +2 -1
- data/lib/active_admin/csv_builder.rb +10 -7
- data/lib/active_admin/dependency.rb +3 -67
- 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 +4 -2
- data/lib/active_admin/filters/active_filter.rb +49 -12
- data/lib/active_admin/filters/active_sidebar.rb +6 -2
- 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 +28 -4
- data/lib/active_admin/form_builder.rb +98 -63
- data/lib/active_admin/generators/boilerplate.rb +12 -4
- 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/inputs/filters/date_range_input.rb +4 -4
- data/lib/active_admin/inputs/filters/select_input.rb +5 -1
- 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 +123 -0
- data/lib/active_admin/order_clause.rb +2 -2
- 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 +17 -7
- data/lib/active_admin/orm/active_record/comments.rb +15 -4
- data/lib/active_admin/page_dsl.rb +1 -1
- data/lib/active_admin/page_presenter.rb +2 -1
- data/lib/active_admin/pundit_adapter.rb +18 -5
- data/lib/active_admin/resource/action_items.rb +7 -2
- data/lib/active_admin/resource/attributes.rb +7 -4
- data/lib/active_admin/resource/belongs_to.rb +6 -1
- data/lib/active_admin/resource/menu.rb +3 -3
- data/lib/active_admin/resource/model.rb +15 -0
- data/lib/active_admin/resource/naming.rb +3 -3
- data/lib/active_admin/resource/routes.rb +20 -7
- data/lib/active_admin/resource/scopes.rb +3 -3
- data/lib/active_admin/resource/sidebars.rb +1 -1
- data/lib/active_admin/resource.rb +18 -4
- 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/data_access.rb +5 -1
- data/lib/active_admin/resource_controller/decorators.rb +5 -5
- data/lib/active_admin/resource_controller/polymorphic_routes.rb +37 -0
- 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_controller.rb +2 -0
- data/lib/active_admin/resource_dsl.rb +7 -3
- data/lib/active_admin/router.rb +90 -84
- data/lib/active_admin/scope.rb +16 -8
- data/lib/active_admin/settings_node.rb +19 -0
- data/lib/active_admin/sidebar_section.rb +3 -1
- data/lib/active_admin/version.rb +1 -1
- data/lib/active_admin/view_helpers/breadcrumb_helper.rb +2 -2
- data/lib/active_admin/view_helpers/display_helper.rb +13 -4
- 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 +4 -3
- 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/site_title.rb +5 -6
- data/lib/active_admin/views/components/status_tag.rb +6 -19
- data/lib/active_admin/views/components/table_for.rb +4 -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 +18 -10
- data/lib/active_admin/views/pages/base.rb +31 -54
- data/lib/active_admin/views/pages/index.rb +1 -0
- 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 +7 -3
- data/lib/generators/active_admin/install/templates/active_admin.rb.erb +38 -3
- 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 +2 -2
- data/lib/generators/active_admin/resource/templates/admin.rb.erb +40 -37
- 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 +115 -527
- 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/images/active_admin/nested_menu_arrow.gif +0 -0
- data/app/assets/images/active_admin/nested_menu_arrow_dark.gif +0 -0
- data/app/assets/images/active_admin/orderable.png +0 -0
- 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 -239
- 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 -107
- 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 -48
- 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/lib/active_admin/event.rb +0 -24
- data/lib/active_admin/helpers/settings.rb +0 -114
- data/lib/active_admin/reloader.rb +0 -25
- data/lib/bug_report_templates/active_admin_master.rb +0 -113
- 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 -150
- 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 -10
- data/spec/unit/abstract_view_factory_spec.rb +0 -78
- data/spec/unit/action_builder_spec.rb +0 -125
- 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 -304
- 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 -135
- data/spec/unit/filters/active_spec.rb +0 -24
- data/spec/unit/filters/filter_form_builder_spec.rb +0 -502
- 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/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 -230
- 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 -252
- data/spec/unit/view_helpers/display_helper_spec.rb +0 -195
- 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/{vendor → app}/assets/stylesheets/active_admin/_normalize.scss +0 -0
- /data/lib/generators/active_admin/install/templates/{admin_user.rb.erb → admin_users.rb.erb} +0 -0
@@ -110,7 +110,8 @@ module ActiveAdmin
|
|
110
110
|
# end
|
111
111
|
# ```
|
112
112
|
#
|
113
|
-
# In addition, you can insert the position of the row in the greater
|
113
|
+
# In addition, you can insert the position of the row in the greater
|
114
|
+
# collection by using the index_column special command:
|
114
115
|
#
|
115
116
|
# ```ruby
|
116
117
|
# index do
|
@@ -120,7 +121,8 @@ module ActiveAdmin
|
|
120
121
|
# end
|
121
122
|
# ```
|
122
123
|
#
|
123
|
-
# index_column take an optional offset parameter to allow a developer to set
|
124
|
+
# index_column take an optional offset parameter to allow a developer to set
|
125
|
+
# the starting number for the index (default is 1).
|
124
126
|
#
|
125
127
|
# ## Sorting
|
126
128
|
#
|
@@ -128,9 +130,7 @@ module ActiveAdmin
|
|
128
130
|
# sortable by default. If you are creating a custom column, you may need to give
|
129
131
|
# Active Admin a hint for how to sort the table.
|
130
132
|
#
|
131
|
-
#
|
132
|
-
# is the attribute which gets used to sort objects using Active Record.
|
133
|
-
#
|
133
|
+
# You can pass the key specifying the attribute which gets used to sort objects using Active Record.
|
134
134
|
# By default, this is the column on the resource's table that the attribute corresponds to.
|
135
135
|
# Otherwise, any attribute that the resource collection responds to can be used.
|
136
136
|
#
|
@@ -192,6 +192,13 @@ module ActiveAdmin
|
|
192
192
|
# end
|
193
193
|
# ```
|
194
194
|
#
|
195
|
+
# You can also define associated objects to include outside of the
|
196
|
+
# `scoped_collection` method:
|
197
|
+
#
|
198
|
+
# ```ruby
|
199
|
+
# includes :publisher
|
200
|
+
# ```
|
201
|
+
#
|
195
202
|
# Then it's simple to sort by any Publisher attribute from within the index table:
|
196
203
|
#
|
197
204
|
# ```ruby
|
@@ -362,18 +369,19 @@ module ActiveAdmin
|
|
362
369
|
end
|
363
370
|
end
|
364
371
|
|
365
|
-
|
372
|
+
private
|
366
373
|
|
367
374
|
def defaults(resource, options = {})
|
375
|
+
localizer = ActiveAdmin::Localizers.resource(active_admin_config)
|
368
376
|
if controller.action_methods.include?('show') && authorized?(ActiveAdmin::Auth::READ, resource)
|
369
|
-
item
|
377
|
+
item localizer.t(:view), resource_path(resource), class: "view_link #{options[:css_class]}", title: localizer.t(:view)
|
370
378
|
end
|
371
379
|
if controller.action_methods.include?('edit') && authorized?(ActiveAdmin::Auth::UPDATE, resource)
|
372
|
-
item
|
380
|
+
item localizer.t(:edit), edit_resource_path(resource), class: "edit_link #{options[:css_class]}", title: localizer.t(:edit)
|
373
381
|
end
|
374
382
|
if controller.action_methods.include?('destroy') && authorized?(ActiveAdmin::Auth::DESTROY, resource)
|
375
|
-
item
|
376
|
-
method: :delete, data: {confirm:
|
383
|
+
item localizer.t(:delete), resource_path(resource), class: "delete_link #{options[:css_class]}", title: localizer.t(:delete),
|
384
|
+
method: :delete, data: { confirm: localizer.t(:delete_confirmation) }
|
377
385
|
end
|
378
386
|
end
|
379
387
|
|
@@ -4,33 +4,36 @@ module ActiveAdmin
|
|
4
4
|
class Base < Arbre::HTML::Document
|
5
5
|
|
6
6
|
def build(*args)
|
7
|
-
|
8
|
-
add_classes_to_body
|
7
|
+
set_attribute :lang, I18n.locale
|
9
8
|
build_active_admin_head
|
10
9
|
build_page
|
11
10
|
end
|
12
11
|
|
12
|
+
alias_method :html_title, :title # Arbre::HTML::Title
|
13
|
+
def title
|
14
|
+
self.class.name
|
15
|
+
end
|
16
|
+
|
17
|
+
def main_content
|
18
|
+
I18n.t('active_admin.main_content', model: title).html_safe
|
19
|
+
end
|
20
|
+
|
13
21
|
private
|
14
22
|
|
15
23
|
delegate :active_admin_config, :controller, :params, to: :helpers
|
16
24
|
|
17
|
-
def add_classes_to_body
|
18
|
-
@body.add_class(params[:action])
|
19
|
-
@body.add_class(params[:controller].tr('/', '_'))
|
20
|
-
@body.add_class("active_admin")
|
21
|
-
@body.add_class("logged_in")
|
22
|
-
@body.add_class(active_admin_namespace.name.to_s + "_namespace")
|
23
|
-
end
|
24
|
-
|
25
25
|
def build_active_admin_head
|
26
|
-
within
|
27
|
-
|
26
|
+
within head do
|
27
|
+
html_title [title, helpers.active_admin_namespace.site_title(self)].compact.join(" | ")
|
28
|
+
|
29
|
+
text_node(active_admin_namespace.head)
|
30
|
+
|
28
31
|
active_admin_application.stylesheets.each do |style, options|
|
29
32
|
text_node stylesheet_link_tag(style, options).html_safe
|
30
33
|
end
|
31
34
|
|
32
35
|
active_admin_namespace.meta_tags.each do |name, content|
|
33
|
-
text_node(
|
36
|
+
text_node(meta(name: name, content: content))
|
34
37
|
end
|
35
38
|
|
36
39
|
active_admin_application.javascripts.each do |path|
|
@@ -46,36 +49,37 @@ module ActiveAdmin
|
|
46
49
|
end
|
47
50
|
|
48
51
|
def build_page
|
49
|
-
within
|
52
|
+
within body(class: body_classes) do
|
50
53
|
div id: "wrapper" do
|
51
54
|
build_unsupported_browser
|
52
|
-
|
53
|
-
|
55
|
+
header active_admin_namespace, current_menu
|
56
|
+
title_bar title, action_items_for_action
|
54
57
|
build_page_content
|
55
|
-
|
58
|
+
footer active_admin_namespace
|
56
59
|
end
|
57
60
|
end
|
58
61
|
end
|
59
62
|
|
63
|
+
def body_classes
|
64
|
+
Arbre::HTML::ClassList.new [
|
65
|
+
params[:action],
|
66
|
+
params[:controller].tr('/', '_'),
|
67
|
+
'active_admin', 'logged_in',
|
68
|
+
active_admin_namespace.name.to_s + '_namespace'
|
69
|
+
]
|
70
|
+
end
|
71
|
+
|
60
72
|
def build_unsupported_browser
|
61
73
|
if active_admin_namespace.unsupported_browser_matcher =~ controller.request.user_agent
|
62
|
-
|
74
|
+
unsupported_browser
|
63
75
|
end
|
64
76
|
end
|
65
77
|
|
66
|
-
def build_header
|
67
|
-
insert_tag view_factory.header, active_admin_namespace, current_menu
|
68
|
-
end
|
69
|
-
|
70
|
-
def build_title_bar
|
71
|
-
insert_tag view_factory.title_bar, title, action_items_for_action
|
72
|
-
end
|
73
|
-
|
74
78
|
def build_page_content
|
75
79
|
build_flash_messages
|
76
80
|
div id: "active_admin_content", class: (skip_sidebar? ? "without_sidebar" : "with_sidebar") do
|
77
81
|
build_main_content_wrapper
|
78
|
-
|
82
|
+
sidebar sidebar_sections_for_action, id: 'sidebar' unless skip_sidebar?
|
79
83
|
end
|
80
84
|
end
|
81
85
|
|
@@ -95,19 +99,6 @@ module ActiveAdmin
|
|
95
99
|
end
|
96
100
|
end
|
97
101
|
|
98
|
-
def main_content
|
99
|
-
I18n.t('active_admin.main_content', model: title).html_safe
|
100
|
-
end
|
101
|
-
|
102
|
-
def title
|
103
|
-
self.class.name
|
104
|
-
end
|
105
|
-
|
106
|
-
# Set's the page title for the layout to render
|
107
|
-
def set_page_title
|
108
|
-
set_ivar_on_view "@page_title", title
|
109
|
-
end
|
110
|
-
|
111
102
|
# Returns the sidebar sections to render for the current action
|
112
103
|
def sidebar_sections_for_action
|
113
104
|
if active_admin_config && active_admin_config.sidebar_sections?
|
@@ -125,24 +116,10 @@ module ActiveAdmin
|
|
125
116
|
end
|
126
117
|
end
|
127
118
|
|
128
|
-
# Renders the sidebar
|
129
|
-
def build_sidebar
|
130
|
-
div id: "sidebar" do
|
131
|
-
sidebar_sections_for_action.collect do |section|
|
132
|
-
sidebar_section(section)
|
133
|
-
end
|
134
|
-
end
|
135
|
-
end
|
136
|
-
|
137
119
|
def skip_sidebar?
|
138
120
|
sidebar_sections_for_action.empty? || assigns[:skip_sidebar] == true
|
139
121
|
end
|
140
122
|
|
141
|
-
# Renders the content for the footer
|
142
|
-
def build_footer
|
143
|
-
insert_tag view_factory.footer, active_admin_namespace
|
144
|
-
end
|
145
|
-
|
146
123
|
end
|
147
124
|
end
|
148
125
|
end
|
@@ -124,6 +124,7 @@ module ActiveAdmin
|
|
124
124
|
|
125
125
|
def render_index
|
126
126
|
renderer_class = find_index_renderer_class(config[:as])
|
127
|
+
|
127
128
|
paginator = config.fetch(:paginator, true)
|
128
129
|
download_links = config.fetch(:download_links, active_admin_config.namespace.download_links)
|
129
130
|
pagination_total = config.fetch(:pagination_total, true)
|
@@ -1,65 +1,10 @@
|
|
1
|
+
require_relative 'components/menu'
|
2
|
+
|
1
3
|
module ActiveAdmin
|
2
4
|
module Views
|
3
|
-
|
4
|
-
# Renders an ActiveAdmin::Menu as a set of unordered list items.
|
5
|
-
#
|
6
|
-
# This component takes cares of deciding which items should be
|
7
|
-
# displayed given the current context and renders them appropriately.
|
8
|
-
#
|
9
|
-
# The entire component is rendered within one ul element.
|
10
|
-
class TabbedNavigation < Component
|
11
|
-
|
12
|
-
attr_reader :menu
|
13
|
-
|
14
|
-
# Build a new tabbed navigation component.
|
15
|
-
#
|
16
|
-
# @param [ActiveAdmin::Menu] menu the Menu to render
|
17
|
-
# @param [Hash] options the options as passed to the underlying ul element.
|
18
|
-
#
|
5
|
+
class TabbedNavigation < Menu
|
19
6
|
def build(menu, options = {})
|
20
|
-
|
21
|
-
super(default_options.merge(options))
|
22
|
-
build_menu
|
23
|
-
end
|
24
|
-
|
25
|
-
# The top-level menu items that should be displayed.
|
26
|
-
def menu_items
|
27
|
-
menu.items(self)
|
28
|
-
end
|
29
|
-
|
30
|
-
def tag_name
|
31
|
-
'ul'
|
32
|
-
end
|
33
|
-
|
34
|
-
private
|
35
|
-
|
36
|
-
def build_menu
|
37
|
-
menu_items.each do |item|
|
38
|
-
build_menu_item(item)
|
39
|
-
end
|
40
|
-
end
|
41
|
-
|
42
|
-
def build_menu_item(item)
|
43
|
-
li id: item.id do |li|
|
44
|
-
li.add_class "current" if item.current? assigns[:current_tab]
|
45
|
-
|
46
|
-
if url = item.url(self)
|
47
|
-
text_node link_to item.label(self), url, item.html_options
|
48
|
-
else
|
49
|
-
span item.label(self), item.html_options
|
50
|
-
end
|
51
|
-
|
52
|
-
if children = item.items(self).presence
|
53
|
-
li.add_class "has_nested"
|
54
|
-
ul do
|
55
|
-
children.each{ |child| build_menu_item child }
|
56
|
-
end
|
57
|
-
end
|
58
|
-
end
|
59
|
-
end
|
60
|
-
|
61
|
-
def default_options
|
62
|
-
{ id: "tabs" }
|
7
|
+
super(menu, options.reverse_merge(id: 'tabs'))
|
63
8
|
end
|
64
9
|
end
|
65
10
|
end
|
data/lib/active_admin/views.rb
CHANGED
data/lib/active_admin.rb
CHANGED
@@ -8,7 +8,7 @@ require 'formtastic'
|
|
8
8
|
require 'formtastic_i18n'
|
9
9
|
require 'inherited_resources'
|
10
10
|
require 'jquery-rails'
|
11
|
-
require '
|
11
|
+
require 'sassc-rails'
|
12
12
|
require 'arbre'
|
13
13
|
|
14
14
|
require 'active_admin/helpers/i18n'
|
@@ -30,7 +30,6 @@ module ActiveAdmin
|
|
30
30
|
autoload :Deprecation, 'active_admin/deprecation'
|
31
31
|
autoload :Devise, 'active_admin/devise'
|
32
32
|
autoload :DSL, 'active_admin/dsl'
|
33
|
-
autoload :Event, 'active_admin/event'
|
34
33
|
autoload :FormBuilder, 'active_admin/form_builder'
|
35
34
|
autoload :Inputs, 'active_admin/inputs'
|
36
35
|
autoload :Localizers, 'active_admin/localizers'
|
@@ -90,7 +89,7 @@ module ActiveAdmin
|
|
90
89
|
#
|
91
90
|
# @param [Block] block A block to call each time (before) AA loads resources
|
92
91
|
def before_load(&block)
|
93
|
-
ActiveSupport::Notifications.subscribe ActiveAdmin::Application::BeforeLoadEvent, &
|
92
|
+
ActiveSupport::Notifications.subscribe ActiveAdmin::Application::BeforeLoadEvent, &wrap_block_for_active_support_notifications(block)
|
94
93
|
end
|
95
94
|
|
96
95
|
# A callback is triggered each time (after) Active Admin loads the configuration files. This
|
@@ -108,7 +107,13 @@ module ActiveAdmin
|
|
108
107
|
#
|
109
108
|
# @param [Block] block A block to call each time (after) AA loads resources
|
110
109
|
def after_load(&block)
|
111
|
-
ActiveSupport::Notifications.subscribe ActiveAdmin::Application::AfterLoadEvent, &
|
110
|
+
ActiveSupport::Notifications.subscribe ActiveAdmin::Application::AfterLoadEvent, &wrap_block_for_active_support_notifications(block)
|
111
|
+
end
|
112
|
+
|
113
|
+
private
|
114
|
+
|
115
|
+
def wrap_block_for_active_support_notifications block
|
116
|
+
proc { |event, *args| block.call *args }
|
112
117
|
end
|
113
118
|
|
114
119
|
end
|
@@ -2,10 +2,10 @@ module ActiveAdmin
|
|
2
2
|
module Generators
|
3
3
|
class AssetsGenerator < Rails::Generators::Base
|
4
4
|
|
5
|
-
source_root File.expand_path(
|
5
|
+
source_root File.expand_path('templates', __dir__)
|
6
6
|
|
7
7
|
def install_assets
|
8
|
-
template 'active_admin.js
|
8
|
+
template 'active_admin.js', 'app/assets/javascripts/active_admin.js'
|
9
9
|
template "active_admin.scss", "app/assets/stylesheets/active_admin.scss"
|
10
10
|
end
|
11
11
|
|
@@ -0,0 +1 @@
|
|
1
|
+
//= require active_admin/base
|
@@ -7,12 +7,14 @@ module ActiveAdmin
|
|
7
7
|
argument :name, type: :string, default: "AdminUser"
|
8
8
|
|
9
9
|
hook_for :users, default: "devise", desc: "Admin user generator to run. Skip with --skip-users"
|
10
|
+
class_option :skip_comments, type: :boolean, default: false, desc: "Skip installation of comments"
|
10
11
|
|
11
|
-
source_root File.expand_path(
|
12
|
+
source_root File.expand_path('templates', __dir__)
|
12
13
|
|
13
14
|
def copy_initializer
|
14
15
|
@underscored_user_name = name.underscore.gsub('/', '_')
|
15
16
|
@use_authentication_method = options[:users].present?
|
17
|
+
@skip_comments = options[:skip_comments]
|
16
18
|
template 'active_admin.rb.erb', 'config/initializers/active_admin.rb'
|
17
19
|
end
|
18
20
|
|
@@ -21,7 +23,7 @@ module ActiveAdmin
|
|
21
23
|
template 'dashboard.rb', 'app/admin/dashboard.rb'
|
22
24
|
if options[:users].present?
|
23
25
|
@user_class = name
|
24
|
-
template '
|
26
|
+
template 'admin_users.rb.erb', "app/admin/#{name.underscore.pluralize}.rb"
|
25
27
|
end
|
26
28
|
end
|
27
29
|
|
@@ -38,7 +40,9 @@ module ActiveAdmin
|
|
38
40
|
end
|
39
41
|
|
40
42
|
def create_migrations
|
41
|
-
|
43
|
+
unless options[:skip_comments]
|
44
|
+
migration_template 'migrations/create_active_admin_comments.rb.erb', 'db/migrate/create_active_admin_comments.rb'
|
45
|
+
end
|
42
46
|
end
|
43
47
|
end
|
44
48
|
end
|
@@ -69,6 +69,11 @@ ActiveAdmin.setup do |config|
|
|
69
69
|
# case when Pundit is unable to find suitable policy.
|
70
70
|
# config.pundit_default_policy = "MyDefaultPunditPolicy"
|
71
71
|
|
72
|
+
# If you wish to maintain a separate set of Pundit policies for admin
|
73
|
+
# resources, you may set a namespace here that Pundit will search
|
74
|
+
# within when looking for a resource's policy.
|
75
|
+
# config.pundit_policy_namespace = :admin
|
76
|
+
|
72
77
|
# You can customize your CanCan Ability class name here.
|
73
78
|
# config.cancan_ability_class = "Ability"
|
74
79
|
|
@@ -119,7 +124,7 @@ ActiveAdmin.setup do |config|
|
|
119
124
|
# This allows your users to comment on any resource registered with Active Admin.
|
120
125
|
#
|
121
126
|
# You can completely disable comments:
|
122
|
-
|
127
|
+
<% unless @skip_comments %># <% end %>config.comments = false
|
123
128
|
#
|
124
129
|
# You can change the name under which comments are registered:
|
125
130
|
# config.comments_registration_name = 'AdminComment'
|
@@ -147,11 +152,21 @@ ActiveAdmin.setup do |config|
|
|
147
152
|
#
|
148
153
|
# config.before_action :do_something_awesome
|
149
154
|
|
155
|
+
# == Attribute Filters
|
156
|
+
#
|
157
|
+
# You can exclude possibly sensitive model attributes from being displayed,
|
158
|
+
# added to forms, or exported by default by ActiveAdmin
|
159
|
+
#
|
160
|
+
config.filter_attributes = [:encrypted_password, :password, :password_confirmation]
|
161
|
+
|
150
162
|
# == Localize Date/Time Format
|
151
163
|
#
|
152
164
|
# Set the localize format to display dates and times.
|
153
165
|
# To understand how to localize your app with I18n, read more at
|
154
|
-
# https://
|
166
|
+
# https://guides.rubyonrails.org/i18n.html
|
167
|
+
#
|
168
|
+
# You can run `bin/rails runner 'puts I18n.t("date.formats")'` to see the
|
169
|
+
# available formats in your application.
|
155
170
|
#
|
156
171
|
config.localize_format = :long
|
157
172
|
|
@@ -271,12 +286,32 @@ ActiveAdmin.setup do |config|
|
|
271
286
|
# config.filters = true
|
272
287
|
#
|
273
288
|
# By default the filters include associations in a select, which means
|
274
|
-
# that every record will be loaded for each association
|
289
|
+
# that every record will be loaded for each association (up
|
290
|
+
# to the value of config.maximum_association_filter_arity).
|
275
291
|
# You can enabled or disable the inclusion
|
276
292
|
# of those filters by default here.
|
277
293
|
#
|
278
294
|
# config.include_default_association_filters = true
|
279
295
|
|
296
|
+
# config.maximum_association_filter_arity = 256 # default value of :unlimited will change to 256 in a future version
|
297
|
+
# config.filter_columns_for_large_association, [
|
298
|
+
# :display_name,
|
299
|
+
# :full_name,
|
300
|
+
# :name,
|
301
|
+
# :username,
|
302
|
+
# :login,
|
303
|
+
# :title,
|
304
|
+
# :email,
|
305
|
+
# ]
|
306
|
+
# config.filter_method_for_large_association, '_starts_with'
|
307
|
+
|
308
|
+
# == Head
|
309
|
+
#
|
310
|
+
# You can add your own content to the site head like analytics. Make sure
|
311
|
+
# you only pass content you trust.
|
312
|
+
#
|
313
|
+
# config.head = ''.html_safe
|
314
|
+
|
280
315
|
# == Footer
|
281
316
|
#
|
282
317
|
# By default, the footer shows the current Active Admin version. You can
|
@@ -1,8 +1,7 @@
|
|
1
1
|
ActiveAdmin.register_page "Dashboard" do
|
2
|
+
menu priority: 1, label: proc { I18n.t("active_admin.dashboard") }
|
2
3
|
|
3
|
-
|
4
|
-
|
5
|
-
content title: proc{ I18n.t("active_admin.dashboard") } do
|
4
|
+
content title: proc { I18n.t("active_admin.dashboard") } do
|
6
5
|
div class: "blank_slate_container", id: "dashboard_default_message" do
|
7
6
|
span class: "blank_slate" do
|
8
7
|
span I18n.t("active_admin.dashboard_welcome.welcome")
|
data/lib/generators/active_admin/install/templates/migrations/create_active_admin_comments.rb.erb
CHANGED
@@ -1,27 +1,13 @@
|
|
1
|
-
|
2
|
-
parent_class = ActiveRecord::Migration
|
3
|
-
parent_class = parent_class[parent_class.current_version] if Rails::VERSION::MAJOR >= 5
|
4
|
-
-%>
|
5
|
-
class CreateActiveAdminComments < <%= parent_class.to_s %>
|
1
|
+
class CreateActiveAdminComments < ActiveRecord::Migration[<%= ActiveRecord::Migration.current_version.to_s %>]
|
6
2
|
def self.up
|
7
3
|
create_table :active_admin_comments do |t|
|
8
4
|
t.string :namespace
|
9
5
|
t.text :body
|
10
6
|
t.references :resource, polymorphic: true
|
11
7
|
t.references :author, polymorphic: true
|
12
|
-
<%- if Rails::VERSION::MAJOR >= 5 -%>
|
13
8
|
t.timestamps
|
14
|
-
<%- else -%>
|
15
|
-
t.timestamps null: false
|
16
|
-
<%- end -%>
|
17
9
|
end
|
18
10
|
add_index :active_admin_comments, [:namespace]
|
19
|
-
<%- unless Rails::VERSION::MAJOR >= 5 -%>
|
20
|
-
|
21
|
-
add_index :active_admin_comments, [:author_type, :author_id]
|
22
|
-
add_index :active_admin_comments, [:resource_type, :resource_id]
|
23
|
-
<%- end -%>
|
24
|
-
|
25
11
|
end
|
26
12
|
|
27
13
|
def self.down
|
@@ -1,7 +1,7 @@
|
|
1
1
|
module ActiveAdmin
|
2
2
|
module Generators
|
3
3
|
class PageGenerator < Rails::Generators::NamedBase
|
4
|
-
source_root File.expand_path('
|
4
|
+
source_root File.expand_path('templates', __dir__)
|
5
5
|
|
6
6
|
def generate_config_file
|
7
7
|
template "page.rb", "app/admin/#{file_path.tr('/', '_')}.rb"
|
@@ -8,11 +8,11 @@ module ActiveAdmin
|
|
8
8
|
class_option :include_boilerplate, type: :boolean, default: false,
|
9
9
|
desc: "Generate boilerplate code for your resource."
|
10
10
|
|
11
|
-
source_root File.expand_path(
|
11
|
+
source_root File.expand_path('templates', __dir__)
|
12
12
|
|
13
13
|
def generate_config_file
|
14
14
|
@boilerplate = ActiveAdmin::Generators::Boilerplate.new(class_name)
|
15
|
-
template "admin.rb.erb", "app/admin/#{file_path.tr('/', '_')}.rb"
|
15
|
+
template "admin.rb.erb", "app/admin/#{file_path.tr('/', '_').pluralize}.rb"
|
16
16
|
end
|
17
17
|
|
18
18
|
end
|
@@ -1,43 +1,46 @@
|
|
1
1
|
ActiveAdmin.register <%= class_name %> do
|
2
|
-
# See permitted parameters documentation:
|
3
|
-
# https://github.com/activeadmin/activeadmin/blob/master/docs/2-resource-customization.md#setting-up-strong-parameters
|
4
|
-
#
|
5
|
-
# permit_params :list, :of, :attributes, :on, :model
|
6
|
-
#
|
7
|
-
# or
|
8
|
-
#
|
9
|
-
# permit_params do
|
10
|
-
# permitted = [:permitted, :attributes]
|
11
|
-
# permitted << :other if params[:action] == 'create' && current_user.admin?
|
12
|
-
# permitted
|
13
|
-
# end
|
14
|
-
<% if options.include_boilerplate? %>
|
15
|
-
# Limit actions available to your users by adding them to the 'except' array
|
16
|
-
# actions :all, except: []
|
17
2
|
|
18
|
-
#
|
19
|
-
#
|
20
|
-
|
3
|
+
# See permitted parameters documentation:
|
4
|
+
# https://github.com/activeadmin/activeadmin/blob/master/docs/2-resource-customization.md#setting-up-strong-parameters
|
5
|
+
#
|
6
|
+
# Uncomment all parameters which should be permitted for assignment
|
7
|
+
#
|
8
|
+
# permit_params <%= @boilerplate.permit_params %>
|
9
|
+
#
|
10
|
+
# or
|
11
|
+
#
|
12
|
+
# permit_params do
|
13
|
+
# permitted = [<%= @boilerplate.permit_params %>]
|
14
|
+
# permitted << :other if params[:action] == 'create' && current_user.admin?
|
15
|
+
# permitted
|
16
|
+
# end
|
17
|
+
<% if options.include_boilerplate? %>
|
18
|
+
# Limit actions available to your users by adding them to the 'except' array
|
19
|
+
# actions :all, except: []
|
21
20
|
|
22
|
-
# Add or remove
|
23
|
-
#
|
24
|
-
|
25
|
-
# id_column
|
26
|
-
<%= @boilerplate.columns %>
|
27
|
-
# actions
|
28
|
-
# end
|
21
|
+
# Add or remove filters (you can use any ActiveRecord scope) to toggle their
|
22
|
+
# visibility in the sidebar
|
23
|
+
<%= @boilerplate.filters %>
|
29
24
|
|
30
|
-
# Add or remove
|
31
|
-
#
|
32
|
-
|
33
|
-
#
|
25
|
+
# Add or remove columns to toggle their visiblity in the index action
|
26
|
+
# index do
|
27
|
+
# selectable_column
|
28
|
+
# id_column
|
29
|
+
<%= @boilerplate.columns %>
|
30
|
+
# actions
|
31
|
+
# end
|
34
32
|
|
35
|
-
# Add or remove
|
36
|
-
#
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
#
|
41
|
-
#
|
42
|
-
|
33
|
+
# Add or remove rows to toggle their visiblity in the show action
|
34
|
+
# show do |<%= class_name.downcase %>|
|
35
|
+
<%= @boilerplate.rows %>
|
36
|
+
# end
|
37
|
+
|
38
|
+
# Add or remove fields to toggle their visibility in the form
|
39
|
+
# form do |f|
|
40
|
+
# f.inputs do
|
41
|
+
<%= @boilerplate.form_inputs %>
|
42
|
+
# end
|
43
|
+
# f.actions
|
44
|
+
# end
|
45
|
+
<% end %>
|
43
46
|
end
|
data/lib/ransack_ext.rb
CHANGED
@@ -2,11 +2,11 @@
|
|
2
2
|
# identically to the versions given in Ransack.
|
3
3
|
#
|
4
4
|
Ransack.configure do |config|
|
5
|
-
{'contains'=>'cont', 'starts_with'=>'start', 'ends_with'=>'end'}.each do |old, current|
|
6
|
-
config.add_predicate old, Ransack::Constants::DERIVED_PREDICATES.detect{ |q, _| q == current }[1]
|
5
|
+
{ 'contains' => 'cont', 'starts_with' => 'start', 'ends_with' => 'end' }.each do |old, current|
|
6
|
+
config.add_predicate old, Ransack::Constants::DERIVED_PREDICATES.detect { |q, _| q == current }[1]
|
7
7
|
end
|
8
8
|
|
9
|
-
{'equals'=>'eq', 'greater_than'=>'gt', 'less_than'=>'lt'}.each do |old, current|
|
9
|
+
{ 'equals' => 'eq', 'greater_than' => 'gt', 'less_than' => 'lt' }.each do |old, current|
|
10
10
|
config.add_predicate old, arel_predicate: current
|
11
11
|
end
|
12
12
|
|