yousty-activeadmin 1.0.4.pre → 1.0.5.pre
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +261 -211
- data/CONTRIBUTING.md +73 -39
- data/Gemfile +38 -20
- data/Guardfile +1 -0
- data/LICENSE +1 -1
- data/README.md +48 -24
- data/Rakefile +12 -4
- data/activeadmin.gemspec +21 -26
- data/app/assets/javascripts/active_admin/application.js.coffee +34 -5
- data/app/assets/javascripts/active_admin/base.js.coffee +11 -2
- data/app/assets/javascripts/active_admin/ext/jquery-ui.js.coffee +6 -0
- data/app/assets/javascripts/active_admin/ext/jquery.js.coffee +7 -0
- data/app/assets/javascripts/active_admin/lib/batch_actions.js.coffee +39 -0
- data/app/assets/javascripts/active_admin/lib/checkbox-toggler.js.coffee +3 -4
- data/app/assets/javascripts/active_admin/lib/dropdown-menu.js.coffee +51 -55
- data/app/assets/javascripts/active_admin/lib/flash.js.coffee +19 -0
- data/app/assets/javascripts/active_admin/lib/has_many.js.coffee +79 -0
- data/app/assets/javascripts/active_admin/lib/modal_dialog.js.coffee +37 -0
- data/app/assets/javascripts/active_admin/lib/per_page.js.coffee +27 -0
- data/app/assets/javascripts/active_admin/lib/popover.js.coffee +29 -58
- data/app/assets/javascripts/active_admin/lib/table-checkbox-toggler.js.coffee +2 -3
- data/app/assets/stylesheets/active_admin/{_base.css.scss → _base.scss} +3 -0
- data/app/assets/stylesheets/active_admin/{_forms.css.scss → _forms.scss} +51 -15
- data/app/assets/stylesheets/active_admin/{_header.css.scss → _header.scss} +9 -5
- data/app/assets/stylesheets/active_admin/{_mixins.css.scss → _mixins.scss} +0 -0
- data/app/assets/stylesheets/active_admin/{_typography.css.scss → _typography.scss} +0 -0
- data/app/assets/stylesheets/active_admin/components/_batch_actions.scss +11 -0
- data/app/assets/stylesheets/active_admin/components/_buttons.scss +1 -1
- data/app/assets/stylesheets/active_admin/components/{_comments.css.scss → _comments.scss} +0 -0
- data/app/assets/stylesheets/active_admin/components/{_date_picker.css.scss → _date_picker.scss} +40 -12
- data/app/assets/stylesheets/active_admin/components/_dropdown_menu.scss +3 -1
- data/app/assets/stylesheets/active_admin/components/_flash_messages.scss +37 -0
- data/app/assets/stylesheets/active_admin/components/_modal_dialog.scss +34 -0
- data/app/assets/stylesheets/active_admin/components/_pagination.scss +10 -0
- data/app/assets/stylesheets/active_admin/components/{_popovers.css.scss → _popovers.scss} +0 -0
- data/app/assets/stylesheets/active_admin/components/_status_tags.scss +4 -0
- data/app/assets/stylesheets/active_admin/components/_table_tools.scss +67 -0
- data/app/assets/stylesheets/active_admin/components/{_tables.css.scss → _tables.scss} +1 -0
- data/app/assets/stylesheets/active_admin/components/_tabs.scss +65 -0
- data/app/assets/stylesheets/active_admin/components/_unsupported_browser.scss +16 -0
- data/app/assets/stylesheets/active_admin/mixins/{_all.css.scss → _all.scss} +0 -0
- data/app/assets/stylesheets/active_admin/mixins/{_buttons.css.scss → _buttons.scss} +0 -0
- data/app/assets/stylesheets/active_admin/mixins/{_gradients.css.scss → _gradients.scss} +1 -1
- data/app/assets/stylesheets/active_admin/mixins/{_icons.css.scss → _icons.scss} +1 -2
- data/app/assets/stylesheets/active_admin/mixins/{_reset.css.scss → _reset.scss} +0 -0
- data/app/assets/stylesheets/active_admin/mixins/{_rounded.css.scss → _rounded.scss} +0 -0
- data/app/assets/stylesheets/active_admin/mixins/{_sections.css.scss → _sections.scss} +7 -1
- data/app/assets/stylesheets/active_admin/mixins/{_shadows.css.scss → _shadows.scss} +0 -0
- data/app/assets/stylesheets/active_admin/mixins/{_variables.css.scss → _variables.scss} +10 -8
- data/app/assets/stylesheets/active_admin/{print.css.scss → print.scss} +4 -0
- data/app/assets/stylesheets/active_admin/structure/_title_bar.scss +10 -7
- data/app/views/active_admin/devise/confirmations/new.html.erb +15 -0
- data/app/views/active_admin/devise/mailer/reset_password_instructions.html.erb +1 -1
- data/app/views/active_admin/devise/mailer/unlock_instructions.html.erb +1 -1
- data/app/views/active_admin/devise/passwords/edit.html.erb +9 -10
- data/app/views/active_admin/devise/passwords/new.html.erb +5 -4
- data/app/views/active_admin/devise/registrations/new.html.erb +22 -0
- data/app/views/active_admin/devise/sessions/new.html.erb +8 -8
- data/app/views/active_admin/devise/shared/_links.erb +1 -1
- data/app/views/active_admin/devise/unlocks/new.html.erb +5 -4
- data/app/views/layouts/active_admin_logged_out.html.erb +3 -5
- data/config/locales/ar.yml +120 -0
- data/config/locales/bg.yml +26 -6
- data/config/locales/bs.yml +122 -0
- data/config/locales/ca.yml +10 -1
- data/config/locales/cs.yml +7 -2
- data/config/locales/da.yml +7 -3
- data/config/locales/de-CH.yml +14 -31
- data/config/locales/de.yml +33 -33
- data/config/locales/el.yml +127 -0
- data/config/locales/en-GB.yml +11 -4
- data/config/locales/en.yml +21 -4
- data/config/locales/{es_MX.yml → es-MX.yml} +14 -24
- data/config/locales/es.yml +32 -25
- data/config/locales/fa.yml +120 -0
- data/config/locales/fi.yml +9 -5
- data/config/locales/fr.yml +28 -12
- data/config/locales/he.yml +7 -3
- data/config/locales/hr.yml +42 -11
- data/config/locales/hu.yml +10 -3
- data/config/locales/it.yml +31 -3
- data/config/locales/ja.yml +17 -4
- data/config/locales/ko.yml +7 -1
- data/config/locales/lt.yml +42 -11
- data/config/locales/lv.yml +7 -3
- data/config/locales/{no-NB.yml → nb.yml} +46 -15
- data/config/locales/nl.yml +36 -5
- data/config/locales/pl.yml +13 -8
- data/config/locales/pt-BR.yml +36 -5
- data/config/locales/pt-PT.yml +8 -4
- data/config/locales/ro.yml +7 -3
- data/config/locales/ru.yml +26 -5
- data/config/locales/sv-SE.yml +9 -5
- data/config/locales/tr.yml +10 -3
- data/config/locales/uk.yml +36 -12
- data/config/locales/vi.yml +7 -3
- data/config/locales/zh-CN.yml +26 -10
- data/config/locales/zh-TW.yml +19 -13
- data/docs/0-installation.md +14 -6
- data/docs/1-general-configuration.md +8 -5
- data/docs/10-custom-pages.md +68 -70
- data/docs/11-decorators.md +48 -59
- data/docs/12-arbre-components.md +79 -73
- data/docs/13-authorization-adapter.md +128 -107
- data/docs/14-gotchas.md +90 -0
- data/docs/2-resource-customization.md +82 -15
- data/docs/3-index-pages.md +71 -12
- data/docs/3-index-pages/custom-index.md +31 -0
- data/docs/3-index-pages/index-as-table.md +45 -2
- data/docs/4-csv-format.md +1 -1
- data/docs/5-forms.md +78 -29
- data/docs/6-show-pages.md +31 -3
- data/docs/7-sidebars.md +46 -25
- data/docs/8-custom-actions.md +98 -77
- data/docs/9-batch-actions.md +211 -133
- data/docs/README.md +24 -0
- data/features/action_item.feature +3 -3
- data/features/authorization_pundit.feature +37 -0
- data/features/belongs_to.feature +3 -0
- data/features/breadcrumb.feature +48 -0
- data/features/comments/commenting.feature +44 -13
- data/features/development_reloading.feature +3 -4
- data/features/edit_page.feature +9 -19
- data/features/favicon.feature +3 -3
- data/features/i18n.feature +5 -0
- data/features/index/batch_actions.feature +41 -0
- data/features/index/filters.feature +23 -0
- data/features/index/format_as_csv.feature +90 -4
- data/features/index/index_as_blog.feature +4 -4
- data/features/index/index_as_table.feature +102 -6
- data/features/index/index_blank_slate.feature +22 -0
- data/features/index/index_scope_to.feature +16 -16
- data/features/index/page_title.feature +11 -0
- data/features/index/pagination.feature +1 -1
- data/features/index/switch_index_view.feature +14 -14
- data/features/new_page.feature +10 -20
- data/features/registering_pages.feature +1 -1
- data/features/renamed_resource.feature +32 -0
- data/features/show/page_title.feature +11 -0
- data/features/show/tabs.feature +27 -0
- data/features/sidebar_sections.feature +12 -0
- data/features/specifying_actions.feature +3 -3
- data/features/step_definitions/action_item_steps.rb +2 -2
- data/features/step_definitions/action_link_steps.rb +14 -1
- data/features/step_definitions/additional_web_steps.rb +17 -18
- data/features/step_definitions/asset_steps.rb +3 -3
- data/features/step_definitions/attribute_steps.rb +8 -3
- data/features/step_definitions/batch_action_steps.rb +26 -9
- data/features/step_definitions/blog_steps.rb +3 -0
- data/features/step_definitions/breadcrumb_steps.rb +1 -1
- data/features/step_definitions/comment_steps.rb +1 -1
- data/features/step_definitions/configuration_steps.rb +1 -1
- data/features/step_definitions/dashboard_steps.rb +2 -2
- data/features/step_definitions/factory_steps.rb +6 -6
- data/features/step_definitions/filter_steps.rb +25 -3
- data/features/step_definitions/flash_steps.rb +3 -3
- data/features/step_definitions/format_steps.rb +17 -10
- data/features/step_definitions/index_scope_steps.rb +5 -5
- data/features/step_definitions/layout_steps.rb +1 -1
- data/features/step_definitions/member_link_steps.rb +2 -2
- data/features/step_definitions/menu_steps.rb +3 -3
- data/features/step_definitions/pagination_steps.rb +2 -3
- data/features/step_definitions/sidebar_steps.rb +8 -3
- data/features/step_definitions/site_title_steps.rb +6 -4
- data/features/step_definitions/symbol_leak_steps.rb +1 -1
- data/features/step_definitions/tab_steps.rb +5 -0
- data/features/step_definitions/table_steps.rb +4 -4
- data/features/step_definitions/user_steps.rb +15 -9
- data/features/step_definitions/web_steps.rb +10 -11
- data/features/sti_resource.feature +2 -10
- data/features/strong_parameters.feature +73 -0
- data/features/support/env.rb +35 -2
- data/features/support/paths.rb +2 -2
- data/features/support/selectors.rb +1 -1
- data/features/users/resetting_password.feature +7 -7
- data/lib/active_admin.rb +18 -13
- data/lib/active_admin/abstract_view_factory.rb +7 -17
- data/lib/active_admin/application.rb +50 -25
- data/lib/active_admin/asset_registration.rb +2 -2
- data/lib/active_admin/authorization_adapter.rb +2 -2
- data/lib/active_admin/base_controller.rb +2 -3
- data/lib/active_admin/base_controller/authorization.rb +13 -31
- data/lib/active_admin/batch_actions.rb +1 -1
- data/lib/active_admin/batch_actions/controller.rb +13 -7
- data/lib/active_admin/batch_actions/resource_extension.rb +43 -17
- data/lib/active_admin/batch_actions/views/batch_action_form.rb +7 -4
- data/lib/active_admin/batch_actions/views/batch_action_popover.rb +3 -3
- data/lib/active_admin/batch_actions/views/batch_action_selector.rb +8 -17
- data/lib/active_admin/batch_actions/views/selection_cells.rb +4 -4
- data/lib/active_admin/callbacks.rb +25 -24
- data/lib/active_admin/cancan_adapter.rb +7 -11
- data/lib/active_admin/csv_builder.rb +92 -15
- data/lib/active_admin/dependency.rb +93 -0
- data/lib/active_admin/deprecation.rb +6 -7
- data/lib/active_admin/devise.rb +26 -14
- data/lib/active_admin/dsl.rb +18 -11
- data/lib/active_admin/engine.rb +7 -2
- data/lib/active_admin/error.rb +59 -0
- data/lib/active_admin/filters/dsl.rb +2 -2
- data/lib/active_admin/filters/forms.rb +19 -30
- data/lib/active_admin/filters/formtastic_addons.rb +20 -11
- data/lib/active_admin/filters/resource_extension.rb +16 -9
- data/lib/active_admin/form_builder.rb +94 -105
- data/lib/active_admin/helpers/collection.rb +7 -13
- data/lib/active_admin/helpers/i18n.rb +7 -0
- data/lib/active_admin/helpers/optional_display.rb +5 -5
- data/lib/active_admin/helpers/scope_chain.rb +1 -1
- data/lib/active_admin/helpers/settings.rb +16 -9
- data/lib/active_admin/iconic.rb +17 -15
- data/lib/active_admin/iconic/icons.rb +136 -136
- data/lib/active_admin/inputs.rb +11 -7
- data/lib/active_admin/inputs/datepicker_input.rb +1 -1
- data/lib/active_admin/inputs/filters/base.rb +42 -0
- data/lib/active_admin/inputs/filters/base/search_method_select.rb +75 -0
- data/lib/active_admin/inputs/filters/boolean_input.rb +24 -0
- data/lib/active_admin/inputs/filters/check_boxes_input.rb +50 -0
- data/lib/active_admin/inputs/filters/date_range_input.rb +36 -0
- data/lib/active_admin/inputs/filters/numeric_input.rb +12 -0
- data/lib/active_admin/inputs/filters/select_input.rb +54 -0
- data/lib/active_admin/inputs/filters/string_input.rb +26 -0
- data/lib/active_admin/menu.rb +3 -3
- data/lib/active_admin/menu_collection.rb +1 -4
- data/lib/active_admin/namespace.rb +52 -29
- data/lib/active_admin/order_clause.rb +26 -0
- data/lib/active_admin/orm/active_record.rb +2 -0
- data/lib/active_admin/orm/active_record/comments.rb +48 -51
- data/lib/active_admin/orm/active_record/comments/comment.rb +16 -10
- data/lib/active_admin/orm/active_record/comments/namespace_helper.rb +1 -1
- data/lib/active_admin/orm/active_record/comments/resource_helper.rb +1 -1
- data/lib/active_admin/orm/active_record/comments/views/active_admin_comments.rb +15 -13
- data/lib/active_admin/page.rb +5 -1
- data/lib/active_admin/page_dsl.rb +1 -1
- data/lib/active_admin/page_presenter.rb +2 -2
- data/lib/active_admin/pundit_adapter.rb +68 -0
- data/lib/active_admin/resource.rb +12 -3
- data/lib/active_admin/resource/action_items.rb +15 -8
- data/lib/active_admin/resource/belongs_to.rb +7 -3
- data/lib/active_admin/resource/controllers.rb +1 -0
- data/lib/active_admin/resource/includes.rb +12 -0
- data/lib/active_admin/resource/menu.rb +5 -5
- data/lib/active_admin/resource/naming.rb +25 -47
- data/lib/active_admin/resource/page_presenters.rb +1 -1
- data/lib/active_admin/resource/routes.rb +26 -10
- data/lib/active_admin/resource/scope_to.rb +7 -7
- data/lib/active_admin/resource/sidebars.rb +1 -0
- data/lib/active_admin/resource_collection.rb +44 -16
- data/lib/active_admin/resource_controller.rb +6 -5
- data/lib/active_admin/resource_controller/data_access.rb +87 -82
- data/lib/active_admin/resource_controller/decorators.rb +91 -9
- data/lib/active_admin/resource_controller/streaming.rb +37 -0
- data/lib/active_admin/resource_dsl.rb +54 -10
- data/lib/active_admin/router.rb +7 -7
- data/lib/active_admin/scope.rb +6 -6
- data/lib/active_admin/sidebar_section.rb +10 -2
- data/lib/active_admin/version.rb +1 -1
- data/lib/active_admin/view_factory.rb +17 -16
- data/lib/active_admin/view_helpers.rb +0 -1
- data/lib/active_admin/view_helpers/auto_link_helper.rb +23 -12
- data/lib/active_admin/view_helpers/breadcrumb_helper.rb +13 -6
- data/lib/active_admin/view_helpers/display_helper.rb +30 -17
- data/lib/active_admin/view_helpers/download_format_links_helper.rb +21 -24
- data/lib/active_admin/view_helpers/fields_for.rb +2 -2
- data/lib/active_admin/view_helpers/flash_helper.rb +4 -3
- data/lib/active_admin/view_helpers/form_helper.rb +5 -9
- data/lib/active_admin/view_helpers/method_or_proc_helper.rb +6 -6
- data/lib/active_admin/views/action_items.rb +2 -2
- data/lib/active_admin/views/components/action_list_popover.rb +1 -1
- data/lib/active_admin/views/components/active_admin_form.rb +123 -0
- data/lib/active_admin/views/components/attributes_table.rb +22 -13
- data/lib/active_admin/views/components/blank_slate.rb +1 -1
- data/lib/active_admin/views/components/columns.rb +13 -7
- data/lib/active_admin/views/components/dropdown_menu.rb +6 -6
- data/lib/active_admin/views/components/index_list.rb +7 -7
- data/lib/active_admin/views/components/paginated_collection.rb +33 -17
- data/lib/active_admin/views/components/panel.rb +8 -2
- data/lib/active_admin/views/components/popover.rb +1 -1
- data/lib/active_admin/views/components/scopes.rb +1 -1
- data/lib/active_admin/views/components/sidebar_section.rb +3 -2
- data/lib/active_admin/views/components/site_title.rb +2 -2
- data/lib/active_admin/views/components/status_tag.rb +34 -11
- data/lib/active_admin/views/components/table_for.rb +67 -22
- data/lib/active_admin/views/components/tabs.rb +28 -0
- data/lib/active_admin/views/components/unsupported_browser.rb +11 -0
- data/lib/active_admin/views/footer.rb +3 -3
- data/lib/active_admin/views/header.rb +3 -3
- data/lib/active_admin/views/index_as_blog.rb +6 -6
- data/lib/active_admin/views/index_as_grid.rb +2 -2
- data/lib/active_admin/views/index_as_table.rb +127 -40
- data/lib/active_admin/views/pages/base.rb +22 -18
- data/lib/active_admin/views/pages/form.rb +16 -6
- data/lib/active_admin/views/pages/index.rb +36 -20
- data/lib/active_admin/views/pages/layout.rb +1 -1
- data/lib/active_admin/views/pages/show.rb +4 -4
- data/lib/active_admin/views/tabbed_navigation.rb +7 -3
- data/lib/active_admin/views/title_bar.rb +10 -8
- data/lib/generators/active_admin/assets/assets_generator.rb +1 -3
- data/lib/generators/active_admin/devise/devise_generator.rb +20 -28
- data/lib/generators/active_admin/install/install_generator.rb +8 -9
- data/lib/generators/active_admin/install/templates/active_admin.rb.erb +20 -22
- data/lib/generators/active_admin/install/templates/admin_user.rb.erb +12 -9
- data/lib/generators/active_admin/install/templates/dashboard.rb +4 -4
- data/lib/generators/active_admin/install/templates/migrations/create_active_admin_comments.rb +3 -3
- data/lib/generators/active_admin/page/USAGE +8 -0
- data/lib/generators/active_admin/page/page_generator.rb +12 -0
- data/lib/generators/active_admin/page/templates/page.rb +5 -0
- data/lib/generators/active_admin/resource/resource_generator.rb +2 -4
- data/lib/generators/active_admin/resource/templates/admin.rb +15 -0
- data/lib/ransack_ext.rb +4 -4
- data/script/local +2 -2
- data/script/travis_cache +107 -0
- data/spec/javascripts/coffeescripts/jquery.aa.flash.js.coffee +25 -0
- data/spec/javascripts/fixtures/flashes.html +2 -0
- data/spec/rails_helper.rb +154 -0
- data/spec/{integration → requests}/default_namespace_spec.rb +6 -6
- data/spec/{integration → requests}/javascript_spec.rb +5 -5
- data/spec/requests/memory_spec.rb +23 -0
- data/spec/requests/stylesheets_spec.rb +18 -0
- data/spec/spec_helper.rb +12 -170
- data/spec/support/detect_rails_version.rb +31 -39
- data/spec/support/rails_template.rb +61 -34
- data/spec/support/rails_template_with_data.rb +14 -14
- data/spec/support/templates/admin/stores.rb +3 -5
- data/spec/support/templates/policies/active_admin/comment_policy.rb +9 -0
- data/spec/support/templates/policies/active_admin/page_policy.rb +18 -0
- data/spec/support/templates/policies/admin_user_policy.rb +11 -0
- data/spec/support/templates/policies/application_policy.rb +45 -0
- data/spec/support/templates/policies/category_policy.rb +7 -0
- data/spec/support/templates/policies/post_policy.rb +15 -0
- data/spec/support/templates/policies/store_policy.rb +11 -0
- data/spec/support/templates/policies/user_policy.rb +11 -0
- data/spec/support/templates/post_decorator.rb +4 -46
- data/spec/unit/abstract_view_factory_spec.rb +11 -11
- data/spec/unit/action_builder_spec.rb +24 -18
- data/spec/unit/active_admin_spec.rb +2 -2
- data/spec/unit/application_spec.rb +30 -31
- data/spec/unit/asset_registration_spec.rb +11 -11
- data/spec/unit/authorization/authorization_adapter_spec.rb +7 -7
- data/spec/unit/authorization/controller_authorization_spec.rb +11 -11
- data/spec/unit/authorization/index_overriding_spec.rb +22 -0
- data/spec/unit/auto_link_spec.rb +42 -5
- data/spec/unit/batch_actions/resource_spec.rb +15 -14
- data/spec/unit/batch_actions/settings_spec.rb +18 -18
- data/spec/unit/belongs_to_spec.rb +26 -17
- data/spec/unit/cancan_adapter_spec.rb +4 -4
- data/spec/unit/comments_spec.rb +99 -39
- data/spec/unit/component_spec.rb +3 -3
- data/spec/unit/config_shared_examples.rb +8 -8
- data/spec/unit/controller_filters_spec.rb +26 -14
- data/spec/unit/csv_builder_spec.rb +152 -24
- data/spec/unit/dependency_spec.rb +135 -0
- data/spec/unit/devise_spec.rb +17 -37
- data/spec/unit/dsl_spec.rb +70 -9
- data/spec/unit/event_spec.rb +9 -9
- data/spec/unit/filters/filter_form_builder_spec.rb +167 -157
- data/spec/unit/filters/resource_spec.rb +35 -33
- data/spec/unit/form_builder_spec.rb +383 -145
- data/spec/unit/generators/install_spec.rb +5 -5
- data/spec/unit/helpers/collection_spec.rb +18 -18
- data/spec/unit/helpers/scope_chain_spec.rb +5 -5
- data/spec/unit/helpers/settings_spec.rb +4 -4
- data/spec/unit/i18n_spec.rb +12 -0
- data/spec/unit/menu_collection_spec.rb +14 -14
- data/spec/unit/menu_item_spec.rb +42 -42
- data/spec/unit/menu_spec.rb +20 -20
- data/spec/unit/namespace/authorization_spec.rb +5 -5
- data/spec/unit/namespace/register_page_spec.rb +9 -9
- data/spec/unit/namespace/register_resource_spec.rb +26 -28
- data/spec/unit/namespace_spec.rb +20 -20
- data/spec/unit/order_clause_spec.rb +81 -0
- data/spec/unit/page_controller_spec.rb +1 -1
- data/spec/unit/page_spec.rb +18 -12
- data/spec/unit/pretty_format_spec.rb +42 -14
- data/spec/unit/pundit_adapter_spec.rb +98 -0
- data/spec/unit/resource/action_items_spec.rb +13 -10
- data/spec/unit/resource/includes_spec.rb +21 -0
- data/spec/unit/resource/menu_spec.rb +1 -1
- data/spec/unit/resource/naming_spec.rb +23 -23
- data/spec/unit/resource/page_presenters_spec.rb +8 -8
- data/spec/unit/resource/pagination_spec.rb +6 -6
- data/spec/unit/resource/routes_spec.rb +10 -10
- data/spec/unit/resource/scopes_spec.rb +14 -7
- data/spec/unit/resource/sidebars_spec.rb +6 -6
- data/spec/unit/resource_collection_spec.rb +66 -68
- data/spec/unit/resource_controller/data_access_spec.rb +39 -21
- data/spec/unit/resource_controller/decorators_spec.rb +83 -0
- data/spec/unit/resource_controller/sidebars_spec.rb +7 -8
- data/spec/unit/resource_controller_spec.rb +66 -62
- data/spec/unit/resource_registration_spec.rb +12 -12
- data/spec/unit/resource_spec.rb +75 -40
- data/spec/unit/routing_spec.rb +39 -31
- data/spec/unit/scope_spec.rb +112 -30
- data/spec/unit/settings_spec.rb +51 -21
- data/spec/unit/view_factory_spec.rb +2 -2
- data/spec/unit/view_helpers/breadcrumbs_spec.rb +137 -69
- data/spec/unit/view_helpers/display_name_spec.rb +49 -21
- data/spec/unit/view_helpers/download_format_links_helper_spec.rb +5 -5
- data/spec/unit/view_helpers/fields_for_spec.rb +18 -18
- data/spec/unit/view_helpers/flash_helper_spec.rb +25 -0
- data/spec/unit/view_helpers/form_helper_spec.rb +9 -22
- data/spec/unit/view_helpers/method_or_proc_helper_spec.rb +59 -21
- data/spec/unit/views/components/action_list_popover_spec.rb +16 -6
- data/spec/unit/views/components/attributes_table_spec.rb +94 -52
- data/spec/unit/views/components/batch_action_popover_spec.rb +20 -6
- data/spec/unit/views/components/blank_slate_spec.rb +14 -4
- data/spec/unit/views/components/columns_spec.rb +52 -22
- data/spec/unit/views/components/index_list_spec.rb +11 -8
- data/spec/unit/views/components/index_table_for_spec.rb +46 -0
- data/spec/unit/views/components/paginated_collection_spec.rb +68 -59
- data/spec/unit/views/components/panel_spec.rb +32 -21
- data/spec/unit/views/components/popover_spec.rb +7 -7
- data/spec/unit/views/components/sidebar_section_spec.rb +18 -8
- data/spec/unit/views/components/site_title_spec.rb +8 -8
- data/spec/unit/views/components/status_tag_spec.rb +178 -38
- data/spec/unit/views/components/table_for_spec.rb +227 -44
- data/spec/unit/views/components/tabs_spec.rb +39 -0
- data/spec/unit/views/components/unsupported_browser_spec.rb +47 -0
- data/spec/unit/views/pages/form_spec.rb +17 -10
- data/spec/unit/views/pages/index_spec.rb +60 -0
- data/spec/unit/views/pages/layout_spec.rb +17 -21
- data/spec/unit/views/pages/show_spec.rb +16 -3
- data/spec/unit/views/tabbed_navigation_spec.rb +61 -52
- data/tasks/docs.rake +1 -1
- data/tasks/parallel_tests.rake +8 -2
- data/tasks/test.rake +8 -4
- data/tasks/yard.rake +7 -5
- metadata +180 -101
- data/app/assets/images/active_admin/admin_notes_icon.png +0 -0
- data/app/assets/images/active_admin/datepicker/datepicker-header-bg.png +0 -0
- data/app/assets/images/active_admin/datepicker/datepicker-next-link-icon.png +0 -0
- data/app/assets/images/active_admin/datepicker/datepicker-nipple.png +0 -0
- data/app/assets/images/active_admin/datepicker/datepicker-prev-link-icon.png +0 -0
- data/app/assets/images/active_admin/index_list_icons/block_icon.svg +0 -10
- data/app/assets/images/active_admin/index_list_icons/blog_icon.svg +0 -4
- data/app/assets/images/active_admin/index_list_icons/grid_icon.svg +0 -13
- data/app/assets/images/active_admin/index_list_icons/table_icon.svg +0 -3
- data/app/assets/images/active_admin/loading.gif +0 -0
- data/app/assets/javascripts/active_admin/components/application.js.coffee +0 -23
- data/app/assets/javascripts/active_admin/components/batch_actions.js.coffee +0 -26
- data/app/assets/javascripts/active_admin/components/has_many.js.coffee +0 -41
- data/app/assets/stylesheets/active_admin/components/_batch_actions.css.scss +0 -11
- data/app/assets/stylesheets/active_admin/components/_flash_messages.css.scss +0 -39
- data/app/assets/stylesheets/active_admin/components/_table_tools.css.scss +0 -95
- data/app/views/active_admin/dashboard/index.html.arb +0 -1
- data/app/views/active_admin/resource/index.csv.erb +0 -17
- data/docs/3-index-pages/create-an-index.md +0 -29
- data/lib/active_admin/inputs/filter_base.rb +0 -33
- data/lib/active_admin/inputs/filter_base/search_method_select.rb +0 -73
- data/lib/active_admin/inputs/filter_boolean_input.rb +0 -32
- data/lib/active_admin/inputs/filter_check_boxes_input.rb +0 -51
- data/lib/active_admin/inputs/filter_date_range_input.rb +0 -34
- data/lib/active_admin/inputs/filter_numeric_input.rb +0 -10
- data/lib/active_admin/inputs/filter_select_input.rb +0 -61
- data/lib/active_admin/inputs/filter_string_input.rb +0 -24
- data/lib/active_admin/view_helpers/assigns_with_indifferent_access_helper.rb +0 -7
- data/spec/integration/memory_spec.rb +0 -29
- data/spec/integration/stylesheets_spec.rb +0 -41
- data/spec/javascripts/compiled/jquery.aa.checkbox-toggler-spec.js +0 -60
- data/spec/javascripts/compiled/jquery.aa.popover-spec.js +0 -106
- data/spec/javascripts/compiled/jquery.aa.table-checkbox-toggler-spec.js +0 -37
- data/spec/javascripts/helpers/vendor/jasmine-fixture-0.0.5.js +0 -108
- data/spec/javascripts/helpers/vendor/jasmine-jquery.js +0 -288
- data/spec/javascripts/helpers/vendor/sinon-1.2.0.js +0 -2915
- data/spec/javascripts/support/jquery-ui-1.8.16.custom.min.js +0 -34
- data/spec/javascripts/support/jquery.min.js +0 -4
- data/spec/spec_helper_without_rails.rb +0 -16
- data/tasks/js.rake +0 -32
data/docs/README.md
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# ActiveAdmin Documentation
|
|
2
|
+
|
|
3
|
+
## Content
|
|
4
|
+
|
|
5
|
+
- [Installation](0-installation.md)
|
|
6
|
+
- [General Configuration](1-general-configuration.md)
|
|
7
|
+
- [Resource Customization](2-resource-customization.md)
|
|
8
|
+
- [Index Pages](3-index-pages.md)
|
|
9
|
+
- [Custom Index](3-index-pages/custom-index.md)
|
|
10
|
+
- [Index as Table](3-index-pages/index-as-table.md)
|
|
11
|
+
- [Index as Grid](3-index-pages/index-as-grid.md)
|
|
12
|
+
- [Index as Blocks](3-index-pages/index-as-block.md)
|
|
13
|
+
- [Index as Blog](3-index-pages/index-as-blog.md)
|
|
14
|
+
- [Csv Format](4-csv-format.md)
|
|
15
|
+
- [Forms](5-forms.md)
|
|
16
|
+
- [Show Pages](6-show-pages.md)
|
|
17
|
+
- [Sidebars](7-sidebars.md)
|
|
18
|
+
- [Custom Actions](8-custom-actions.md)
|
|
19
|
+
- [Batch Actions](9-batch-actions.md)
|
|
20
|
+
- [Custom Pages](10-custom-pages.md)
|
|
21
|
+
- [Decorators](11-decorators.md)
|
|
22
|
+
- [Arbre Components](12-arbre-components.md)
|
|
23
|
+
- [Authorization Adapter](13-authorization-adapter.md)
|
|
24
|
+
- [Gotchas](14-gotchas.md)
|
|
@@ -10,7 +10,7 @@ Feature: Action Item
|
|
|
10
10
|
Given a configuration of:
|
|
11
11
|
"""
|
|
12
12
|
ActiveAdmin.register Post do
|
|
13
|
-
action_item do
|
|
13
|
+
action_item :embiggen do
|
|
14
14
|
link_to "Embiggen", '/'
|
|
15
15
|
end
|
|
16
16
|
end
|
|
@@ -32,7 +32,7 @@ Feature: Action Item
|
|
|
32
32
|
Given a configuration of:
|
|
33
33
|
"""
|
|
34
34
|
ActiveAdmin.register Post do
|
|
35
|
-
action_item :if => proc{ !current_active_admin_user.nil? } do
|
|
35
|
+
action_item :embiggen, :if => proc{ !current_active_admin_user.nil? } do
|
|
36
36
|
link_to "Embiggen", '/'
|
|
37
37
|
end
|
|
38
38
|
end
|
|
@@ -54,7 +54,7 @@ Feature: Action Item
|
|
|
54
54
|
Given a configuration of:
|
|
55
55
|
"""
|
|
56
56
|
ActiveAdmin.register Post do
|
|
57
|
-
action_item :if => proc{ current_active_admin_user.nil? } do
|
|
57
|
+
action_item :embiggen, :if => proc{ current_active_admin_user.nil? } do
|
|
58
58
|
link_to "Embiggen", '/'
|
|
59
59
|
end
|
|
60
60
|
end
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
Feature: Authorizing Access using Pundit
|
|
2
|
+
|
|
3
|
+
Background:
|
|
4
|
+
Given I am logged in
|
|
5
|
+
And 1 post exists
|
|
6
|
+
And a configuration of:
|
|
7
|
+
"""
|
|
8
|
+
require 'pundit'
|
|
9
|
+
|
|
10
|
+
ActiveAdmin.application.namespace(:admin).authorization_adapter = ActiveAdmin::PunditAdapter
|
|
11
|
+
|
|
12
|
+
ActiveAdmin.register Post do
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
ActiveAdmin.register_page "No Access" do
|
|
16
|
+
end
|
|
17
|
+
"""
|
|
18
|
+
And I am on the index page for posts
|
|
19
|
+
|
|
20
|
+
@allow-rescue
|
|
21
|
+
Scenario: Attempt to access a resource I am not authorized to see
|
|
22
|
+
When I go to the last post's edit page
|
|
23
|
+
Then I should see "You are not authorized to perform this action"
|
|
24
|
+
|
|
25
|
+
Scenario: Viewing the default action items
|
|
26
|
+
When I follow "View"
|
|
27
|
+
Then I should not see an action item link to "Edit"
|
|
28
|
+
|
|
29
|
+
@allow-rescue
|
|
30
|
+
Scenario: Attempting to visit a Page without authorization
|
|
31
|
+
When I go to the admin no access page
|
|
32
|
+
Then I should see "You are not authorized to perform this action"
|
|
33
|
+
|
|
34
|
+
@allow-rescue
|
|
35
|
+
Scenario: Viewing a page with authorization
|
|
36
|
+
When I go to the admin dashboard page
|
|
37
|
+
Then I should see "Dashboard"
|
data/features/belongs_to.feature
CHANGED
|
@@ -20,6 +20,9 @@ Feature: Belongs To
|
|
|
20
20
|
And I should not see a menu item for "Users"
|
|
21
21
|
And I should see "Displaying 1 Post"
|
|
22
22
|
And I should see a link to "Users" in the breadcrumb
|
|
23
|
+
And I should see a link to "Jane Doe" in the breadcrumb
|
|
24
|
+
When I follow "Edit"
|
|
25
|
+
Then I should see a link to "Hello World" in the breadcrumb
|
|
23
26
|
|
|
24
27
|
Scenario: Viewing a child resource page
|
|
25
28
|
Given a configuration of:
|
data/features/breadcrumb.feature
CHANGED
|
@@ -25,3 +25,51 @@ Feature: Breadcrumb
|
|
|
25
25
|
"""
|
|
26
26
|
When I am on the new post page
|
|
27
27
|
Then I should see a link to "test" in the breadcrumb
|
|
28
|
+
|
|
29
|
+
Scenario: No Breadcrumbs configuration
|
|
30
|
+
Given a configuration of:
|
|
31
|
+
"""
|
|
32
|
+
ActiveAdmin.application.breadcrumb = false
|
|
33
|
+
ActiveAdmin.register Post do
|
|
34
|
+
end
|
|
35
|
+
"""
|
|
36
|
+
When I am on the new post page
|
|
37
|
+
Then I should see "Post"
|
|
38
|
+
And I should not see the element ".breadcrumb"
|
|
39
|
+
|
|
40
|
+
Scenario: Application config of false and a resource config of true
|
|
41
|
+
Given a configuration of:
|
|
42
|
+
"""
|
|
43
|
+
ActiveAdmin.application.breadcrumb = false
|
|
44
|
+
ActiveAdmin.register Post do
|
|
45
|
+
config.breadcrumb = true
|
|
46
|
+
end
|
|
47
|
+
"""
|
|
48
|
+
When I am on the new post page
|
|
49
|
+
Then I should see a link to "Post" in the breadcrumb
|
|
50
|
+
|
|
51
|
+
Scenario: Application config of false and rewritten breadcrumb links
|
|
52
|
+
Given a configuration of:
|
|
53
|
+
"""
|
|
54
|
+
ActiveAdmin.application.breadcrumb = false
|
|
55
|
+
ActiveAdmin.register Post do
|
|
56
|
+
breadcrumb do
|
|
57
|
+
[
|
|
58
|
+
link_to('test', '/admin/test/url')
|
|
59
|
+
]
|
|
60
|
+
end
|
|
61
|
+
end
|
|
62
|
+
"""
|
|
63
|
+
When I am on the new post page
|
|
64
|
+
Then I should see a link to "test" in the breadcrumb
|
|
65
|
+
|
|
66
|
+
Scenario: Application config of true and a resource config of false
|
|
67
|
+
Given a configuration of:
|
|
68
|
+
"""
|
|
69
|
+
ActiveAdmin.application.breadcrumb = true
|
|
70
|
+
ActiveAdmin.register Post do
|
|
71
|
+
config.breadcrumb = false
|
|
72
|
+
end
|
|
73
|
+
"""
|
|
74
|
+
When I am on the new post page
|
|
75
|
+
Then I should not see the element ".breadcrumb"
|
|
@@ -39,7 +39,7 @@ Feature: Commenting
|
|
|
39
39
|
Scenario: View a resource in a namespace that doesn't have comments
|
|
40
40
|
Given a configuration of:
|
|
41
41
|
"""
|
|
42
|
-
ActiveAdmin.application.namespace(:new_namespace).
|
|
42
|
+
ActiveAdmin.application.namespace(:new_namespace).comments = false
|
|
43
43
|
ActiveAdmin.register Post, :namespace => :new_namespace
|
|
44
44
|
ActiveAdmin.register AdminUser, :namespace => :new_namespace
|
|
45
45
|
"""
|
|
@@ -48,6 +48,20 @@ Feature: Commenting
|
|
|
48
48
|
And I follow "View"
|
|
49
49
|
Then I should not see "Comments"
|
|
50
50
|
|
|
51
|
+
Scenario: Enable comments on per-resource basis
|
|
52
|
+
Given a configuration of:
|
|
53
|
+
"""
|
|
54
|
+
ActiveAdmin.application.namespace(:new_namespace).comments = false
|
|
55
|
+
ActiveAdmin.register Post, :namespace => :new_namespace do
|
|
56
|
+
config.comments = true
|
|
57
|
+
end
|
|
58
|
+
ActiveAdmin.register AdminUser, :namespace => :new_namespace
|
|
59
|
+
"""
|
|
60
|
+
Given I am logged in
|
|
61
|
+
When I am on the index page for posts in the new_namespace namespace
|
|
62
|
+
And I follow "View"
|
|
63
|
+
Then I should see "Comments"
|
|
64
|
+
|
|
51
65
|
Scenario: Creating a comment in one namespace does not create it in another
|
|
52
66
|
Given a show configuration of:
|
|
53
67
|
"""
|
|
@@ -101,7 +115,7 @@ Feature: Commenting
|
|
|
101
115
|
Then I should see a table header with "Body"
|
|
102
116
|
And I should see "Hello from Comment"
|
|
103
117
|
|
|
104
|
-
Scenario: Commenting on a STI
|
|
118
|
+
Scenario: Commenting on a STI superclass
|
|
105
119
|
Given a configuration of:
|
|
106
120
|
"""
|
|
107
121
|
ActiveAdmin.register User
|
|
@@ -113,19 +127,36 @@ Feature: Commenting
|
|
|
113
127
|
When I add a comment "Hello World"
|
|
114
128
|
Then I should see a flash with "Comment was successfully created"
|
|
115
129
|
And I should be in the resource section for users
|
|
130
|
+
When I am on the index page for comments
|
|
131
|
+
Then I should see the content "User"
|
|
132
|
+
And I should see "Hello World"
|
|
133
|
+
|
|
134
|
+
Scenario: Commenting on a STI subclass
|
|
135
|
+
Given a configuration of:
|
|
136
|
+
"""
|
|
137
|
+
ActiveAdmin.register Publisher
|
|
138
|
+
"""
|
|
139
|
+
Given I am logged in
|
|
140
|
+
And a publisher named "Pragmatic Publishers" exists
|
|
141
|
+
When I am on the index page for publishers
|
|
142
|
+
And I follow "View"
|
|
143
|
+
When I add a comment "Hello World"
|
|
144
|
+
Then I should see a flash with "Comment was successfully created"
|
|
145
|
+
And I should be in the resource section for publishers
|
|
146
|
+
And I should see "Hello World"
|
|
116
147
|
|
|
117
148
|
Scenario: Commenting on a class with string id
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
149
|
+
Given a tag with the name "coolness" exists
|
|
150
|
+
Given a configuration of:
|
|
151
|
+
"""
|
|
152
|
+
ActiveAdmin.register Tag
|
|
153
|
+
"""
|
|
154
|
+
Given I am logged in
|
|
155
|
+
When I am on the index page for tags
|
|
156
|
+
And I follow "View"
|
|
157
|
+
When I add a comment "Tag Comment"
|
|
158
|
+
Then I should see a flash with "Comment was successfully created"
|
|
159
|
+
And I should be in the resource section for tags
|
|
129
160
|
|
|
130
161
|
Scenario: Commenting on an aliased resource with an existing non-aliased config
|
|
131
162
|
Given a configuration of:
|
|
@@ -12,10 +12,9 @@ Feature: Development Reloading
|
|
|
12
12
|
When "app/admin/posts.rb" contains:
|
|
13
13
|
"""
|
|
14
14
|
ActiveAdmin.register Post do
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
end if Rails::VERSION::MAJOR == 4
|
|
15
|
+
if Rails::VERSION::MAJOR == 4
|
|
16
|
+
permit_params :custom_category_id, :author_id, :title,
|
|
17
|
+
:body, :position, :published_at, :starred
|
|
19
18
|
end
|
|
20
19
|
end
|
|
21
20
|
"""
|
data/features/edit_page.feature
CHANGED
|
@@ -10,10 +10,9 @@ Feature: Edit Page
|
|
|
10
10
|
Given a configuration of:
|
|
11
11
|
"""
|
|
12
12
|
ActiveAdmin.register Post do
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
end if Rails::VERSION::MAJOR == 4
|
|
13
|
+
if Rails::VERSION::MAJOR == 4
|
|
14
|
+
permit_params :custom_category_id, :author_id, :title,
|
|
15
|
+
:body, :position, :published_at, :starred
|
|
17
16
|
end
|
|
18
17
|
end
|
|
19
18
|
"""
|
|
@@ -35,11 +34,8 @@ Feature: Edit Page
|
|
|
35
34
|
Given a configuration of:
|
|
36
35
|
"""
|
|
37
36
|
ActiveAdmin.register Post do
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
params.permit post: [:category, :author, :title, :body, :published_at, :starred]
|
|
41
|
-
end if Rails::VERSION::MAJOR == 4
|
|
42
|
-
end
|
|
37
|
+
permit_params :category, :author, :title, :body, :published_at, :starred if Rails::VERSION::MAJOR == 4
|
|
38
|
+
|
|
43
39
|
form do |f|
|
|
44
40
|
f.inputs "Your Post" do
|
|
45
41
|
f.input :title
|
|
@@ -67,11 +63,8 @@ Feature: Edit Page
|
|
|
67
63
|
Given a configuration of:
|
|
68
64
|
"""
|
|
69
65
|
ActiveAdmin.register Post do
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
params.permit post: [:category, :author, :title, :body, :published_at, :starred]
|
|
73
|
-
end if Rails::VERSION::MAJOR == 4
|
|
74
|
-
end
|
|
66
|
+
permit_params :category, :author, :title, :body, :published_at, :starred if Rails::VERSION::MAJOR == 4
|
|
67
|
+
|
|
75
68
|
form :html => {} do |f|
|
|
76
69
|
f.inputs "Your Post" do
|
|
77
70
|
f.input :title
|
|
@@ -109,11 +102,8 @@ Feature: Edit Page
|
|
|
109
102
|
Given a configuration of:
|
|
110
103
|
"""
|
|
111
104
|
ActiveAdmin.register Post do
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
params.permit post: [:category, :author, :title, :body, :published_at, :starred]
|
|
115
|
-
end if Rails::VERSION::MAJOR == 4
|
|
116
|
-
end
|
|
105
|
+
permit_params :category, :author, :title, :body, :published_at, :starred if Rails::VERSION::MAJOR == 4
|
|
106
|
+
|
|
117
107
|
form :partial => "form"
|
|
118
108
|
end
|
|
119
109
|
"""
|
data/features/favicon.feature
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
Feature: Favicon
|
|
2
|
-
|
|
2
|
+
|
|
3
3
|
Configuring a Favicon file
|
|
4
|
-
|
|
4
|
+
|
|
5
5
|
Background:
|
|
6
6
|
Given a configuration of:
|
|
7
7
|
"""
|
|
@@ -13,7 +13,7 @@ Feature: Favicon
|
|
|
13
13
|
Given I am logged out
|
|
14
14
|
When I am on the login page
|
|
15
15
|
Then I should see the favicon "a/favicon.ico"
|
|
16
|
-
|
|
16
|
+
|
|
17
17
|
Scenario: Logged in views show Favicon
|
|
18
18
|
Given I am logged in
|
|
19
19
|
When I am on the dashboard
|
data/features/i18n.feature
CHANGED
|
@@ -7,14 +7,19 @@ Feature: Internationalization
|
|
|
7
7
|
And a store named "Hello words" exists
|
|
8
8
|
When I go to the dashboard
|
|
9
9
|
Then I should see "Bookstores"
|
|
10
|
+
|
|
10
11
|
When I follow "Bookstores"
|
|
12
|
+
Then I should see the page title "Bookstores"
|
|
11
13
|
Then I should see "Hello words"
|
|
14
|
+
|
|
12
15
|
When I follow "View"
|
|
13
16
|
Then I should see "Bookstore Details"
|
|
14
17
|
And I should see "Hello words"
|
|
15
18
|
And I should see a link to "Delete Bookstore"
|
|
19
|
+
|
|
16
20
|
When I follow "Edit Bookstore"
|
|
17
21
|
Then I should see "Edit Bookstore"
|
|
22
|
+
|
|
18
23
|
When I press "Update Bookstore"
|
|
19
24
|
Then I should see a flash with "Bookstore was successfully updated."
|
|
20
25
|
|
|
@@ -121,3 +121,44 @@ Feature: Batch Actions
|
|
|
121
121
|
Then I should see the batch action :very_complex_and_time_consuming "Very Complex and Time Consuming Selected"
|
|
122
122
|
And I should see the batch action :passing_a_symbol "Passing A Symbol Selected"
|
|
123
123
|
|
|
124
|
+
Scenario: Use a Form with text
|
|
125
|
+
Given 10 posts exist
|
|
126
|
+
And an index configuration of:
|
|
127
|
+
"""
|
|
128
|
+
ActiveAdmin.register Post do
|
|
129
|
+
batch_action :destroy, false
|
|
130
|
+
batch_action(:action_with_form, form: { name: :text }) {}
|
|
131
|
+
end
|
|
132
|
+
"""
|
|
133
|
+
|
|
134
|
+
When I check the 1st record
|
|
135
|
+
And I follow "Batch Actions"
|
|
136
|
+
Then I should be show a input with name "name" and type "text"
|
|
137
|
+
|
|
138
|
+
Scenario: Use a Form with select
|
|
139
|
+
Given 10 posts exist
|
|
140
|
+
And an index configuration of:
|
|
141
|
+
"""
|
|
142
|
+
ActiveAdmin.register Post do
|
|
143
|
+
batch_action :destroy, false
|
|
144
|
+
batch_action(:action_with_form, form: { type: ["a", "b"] }) {}
|
|
145
|
+
end
|
|
146
|
+
"""
|
|
147
|
+
|
|
148
|
+
When I check the 1st record
|
|
149
|
+
And I follow "Batch Actions"
|
|
150
|
+
Then I should be show a select with name "type" with the values "a, b"
|
|
151
|
+
|
|
152
|
+
Scenario: Use a Form with select values from proc
|
|
153
|
+
Given 10 posts exist
|
|
154
|
+
And an index configuration of:
|
|
155
|
+
"""
|
|
156
|
+
ActiveAdmin.register Post do
|
|
157
|
+
batch_action :destroy, false
|
|
158
|
+
batch_action(:action_with_form, form: ->{ {type: ["a", "b"]} }) {}
|
|
159
|
+
end
|
|
160
|
+
"""
|
|
161
|
+
|
|
162
|
+
When I check the 1st record
|
|
163
|
+
And I follow "Batch Actions"
|
|
164
|
+
Then I should be show a select with name "type" with the values "a, b"
|
|
@@ -105,6 +105,29 @@ Feature: Index Filtering
|
|
|
105
105
|
And I should see "Non-Fiction" within ".index_table"
|
|
106
106
|
And I should not see "Mystery" within ".index_table"
|
|
107
107
|
|
|
108
|
+
@javascript
|
|
109
|
+
Scenario: Clearing filter preserves custom parameters
|
|
110
|
+
Given a category named "Mystery" exists
|
|
111
|
+
And 1 post with the title "Hello World" written by "Jane Doe" in category "Non-Fiction" exists
|
|
112
|
+
And 1 post with the title "Lorem Ipsum" written by "Joe Smith" in category "Mystery" exists
|
|
113
|
+
And an index configuration of:
|
|
114
|
+
"""
|
|
115
|
+
ActiveAdmin.register Category
|
|
116
|
+
ActiveAdmin.application.favicon = false
|
|
117
|
+
"""
|
|
118
|
+
Then I should see "Displaying all 2 Categories"
|
|
119
|
+
When I add parameter "scope" with value "all" to the URL
|
|
120
|
+
And I add parameter "foo" with value "bar" to the URL
|
|
121
|
+
And I select "Hello World" from "Posts"
|
|
122
|
+
And I press "Filter"
|
|
123
|
+
Then I should see "Non-Fiction"
|
|
124
|
+
And I should not see "Mystery"
|
|
125
|
+
When I click "Clear Filters"
|
|
126
|
+
Then I should see "Non-Fiction"
|
|
127
|
+
And I should see "Mystery"
|
|
128
|
+
And I should have parameter "foo" with value "bar"
|
|
129
|
+
And I should have parameter "scope" with value "all"
|
|
130
|
+
|
|
108
131
|
Scenario: Checkboxes - Filtering categories via posts written by anyone
|
|
109
132
|
Given a category named "Mystery" exists
|
|
110
133
|
And a post with the title "Hello World" written by "Jane Doe" in category "Non-Fiction" exists
|
|
@@ -12,8 +12,8 @@ Feature: Format as CSV
|
|
|
12
12
|
When I am on the index page for posts
|
|
13
13
|
And I follow "CSV"
|
|
14
14
|
And I should download a CSV file for "posts" containing:
|
|
15
|
-
| Id | Title | Body | Published
|
|
16
|
-
| \d+ | Hello World | | | | (.*) | (.*) |
|
|
15
|
+
| Id | Title | Body | Published at | Position | Starred | Created at | Updated at |
|
|
16
|
+
| \d+ | Hello World | | | | | (.*) | (.*) |
|
|
17
17
|
|
|
18
18
|
Scenario: Default with alias
|
|
19
19
|
Given a configuration of:
|
|
@@ -24,7 +24,7 @@ Feature: Format as CSV
|
|
|
24
24
|
When I am on the index page for my_articles
|
|
25
25
|
And I follow "CSV"
|
|
26
26
|
And I should download a CSV file for "my-articles" containing:
|
|
27
|
-
| Id | Title | Body | Published
|
|
27
|
+
| Id | Title | Body | Published at | Position | Starred | Created at | Updated at |
|
|
28
28
|
|
|
29
29
|
Scenario: With CSV format customization
|
|
30
30
|
Given a configuration of:
|
|
@@ -65,7 +65,7 @@ Feature: Format as CSV
|
|
|
65
65
|
Given a configuration of:
|
|
66
66
|
"""
|
|
67
67
|
ActiveAdmin.register Post do
|
|
68
|
-
csv :force_quotes => true do
|
|
68
|
+
csv :force_quotes => true, :byte_order_mark => "" do
|
|
69
69
|
column :title
|
|
70
70
|
column :body
|
|
71
71
|
end
|
|
@@ -115,3 +115,89 @@ Feature: Format as CSV
|
|
|
115
115
|
| Title | Body |
|
|
116
116
|
| 012345 | (.*) |
|
|
117
117
|
And the CSV file should contain "012345" in quotes
|
|
118
|
+
|
|
119
|
+
Scenario: Without CVS column names explicitely specified
|
|
120
|
+
Given a configuration of:
|
|
121
|
+
"""
|
|
122
|
+
ActiveAdmin.application.csv_options = {:col_sep => ',', :force_quotes => true}
|
|
123
|
+
ActiveAdmin.register Post do
|
|
124
|
+
csv :column_names => true do
|
|
125
|
+
column :title
|
|
126
|
+
column :body
|
|
127
|
+
end
|
|
128
|
+
end
|
|
129
|
+
"""
|
|
130
|
+
And a post with the title "012345" exists
|
|
131
|
+
When I am on the index page for posts
|
|
132
|
+
And I follow "CSV"
|
|
133
|
+
And I should download a CSV file with "," separator for "posts" containing:
|
|
134
|
+
| Title | Body |
|
|
135
|
+
| 012345 | (.*) |
|
|
136
|
+
|
|
137
|
+
Scenario: Without CVS column names
|
|
138
|
+
Given a configuration of:
|
|
139
|
+
"""
|
|
140
|
+
ActiveAdmin.application.csv_options = {:col_sep => ',', :force_quotes => true}
|
|
141
|
+
ActiveAdmin.register Post do
|
|
142
|
+
csv :column_names => false do
|
|
143
|
+
column :title
|
|
144
|
+
column :body
|
|
145
|
+
end
|
|
146
|
+
end
|
|
147
|
+
"""
|
|
148
|
+
And a post with the title "012345" exists
|
|
149
|
+
When I am on the index page for posts
|
|
150
|
+
And I follow "CSV"
|
|
151
|
+
And I should download a CSV file with "," separator for "posts" containing:
|
|
152
|
+
| 012345 | (.*) |
|
|
153
|
+
|
|
154
|
+
Scenario: With encoding CSV options
|
|
155
|
+
Given a configuration of:
|
|
156
|
+
"""
|
|
157
|
+
ActiveAdmin.register Post do
|
|
158
|
+
csv :encoding => 'SJIS' do
|
|
159
|
+
column :title
|
|
160
|
+
column :body
|
|
161
|
+
end
|
|
162
|
+
end
|
|
163
|
+
"""
|
|
164
|
+
And a post with the title "あいうえお" exists
|
|
165
|
+
When I am on the index page for posts
|
|
166
|
+
And I follow "CSV"
|
|
167
|
+
And the encoding of the CSV file should be "SJIS"
|
|
168
|
+
|
|
169
|
+
Scenario: With default encoding CSV options
|
|
170
|
+
Given a configuration of:
|
|
171
|
+
"""
|
|
172
|
+
ActiveAdmin.application.csv_options = { :encoding => 'SJIS' }
|
|
173
|
+
ActiveAdmin.register Post do
|
|
174
|
+
csv do
|
|
175
|
+
column :title
|
|
176
|
+
column :body
|
|
177
|
+
end
|
|
178
|
+
end
|
|
179
|
+
"""
|
|
180
|
+
And a post with the title "あいうえお" exists
|
|
181
|
+
When I am on the index page for posts
|
|
182
|
+
And I follow "CSV"
|
|
183
|
+
And the encoding of the CSV file should be "SJIS"
|
|
184
|
+
|
|
185
|
+
Scenario: With decorator
|
|
186
|
+
Given a configuration of:
|
|
187
|
+
"""
|
|
188
|
+
ActiveAdmin.register Post do
|
|
189
|
+
decorate_with PostDecorator
|
|
190
|
+
|
|
191
|
+
csv do
|
|
192
|
+
column :id
|
|
193
|
+
column :title
|
|
194
|
+
column :decorator_method
|
|
195
|
+
end
|
|
196
|
+
end
|
|
197
|
+
"""
|
|
198
|
+
And a post with the title "Hello World" exists
|
|
199
|
+
When I am on the index page for posts
|
|
200
|
+
And I follow "CSV"
|
|
201
|
+
And I should download a CSV file for "posts" containing:
|
|
202
|
+
| Id | Title | Decorator method |
|
|
203
|
+
| \d+ | Hello World | A method only available on the decorator |
|