activeadmin 0.6.6 → 1.0.0.pre1
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of activeadmin might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/.gitignore +11 -8
- data/.hound.yml +11 -0
- data/.travis.yml +36 -10
- data/.yardopts +2 -1
- data/CHANGELOG.md +118 -67
- data/CONTRIBUTING.md +96 -73
- data/Gemfile +35 -35
- data/Guardfile +1 -0
- data/LICENSE +1 -1
- data/README.md +98 -0
- data/Rakefile +12 -4
- data/activeadmin.gemspec +21 -24
- data/app/assets/javascripts/active_admin/application.js.coffee +32 -0
- data/app/assets/javascripts/active_admin/base.js.coffee +14 -0
- 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/{components/jquery.aa.checkbox-toggler.js.coffee → lib/checkbox-toggler.js.coffee} +3 -4
- data/app/assets/javascripts/active_admin/lib/dropdown-menu.js.coffee +101 -0
- 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 +68 -0
- data/app/assets/javascripts/active_admin/{components/jquery.aa.table-checkbox-toggler.js.coffee → 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} +61 -17
- 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/_blank_slates.scss +0 -1
- 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 -14
- data/app/assets/stylesheets/active_admin/components/_dropdown_menu.scss +5 -4
- 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} +2 -3
- 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} +4 -2
- 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 -1
- data/app/assets/stylesheets/active_admin/mixins/_gradients.scss +28 -0
- 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.scss +22 -0
- data/app/assets/stylesheets/active_admin/mixins/{_sections.css.scss → _sections.scss} +8 -2
- data/app/assets/stylesheets/active_admin/mixins/{_shadows.css.scss → _shadows.scss} +0 -7
- data/app/assets/stylesheets/active_admin/mixins/_utilities.scss +0 -9
- 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/_main_structure.scss +5 -2
- data/app/assets/stylesheets/active_admin/structure/_title_bar.scss +11 -9
- 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 +9 -7
- 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 +28 -2
- data/config/locales/en-GB.yml +12 -4
- data/config/locales/en.yml +29 -3
- data/config/locales/{es_MX.yml → es-MX.yml} +9 -24
- data/config/locales/es.yml +32 -25
- data/config/locales/fa.yml +120 -0
- data/config/locales/fi.yml +113 -0
- data/config/locales/fr.yml +21 -11
- 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 +8 -3
- 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 +37 -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 +65 -29
- data/docs/1-general-configuration.md +92 -81
- data/docs/10-custom-pages.md +68 -68
- data/docs/11-decorators.md +48 -59
- data/docs/12-arbre-components.md +80 -74
- data/docs/13-authorization-adapter.md +128 -107
- data/docs/14-gotchas.md +92 -0
- data/docs/2-resource-customization.md +293 -178
- data/docs/3-index-pages.md +160 -86
- data/docs/3-index-pages/custom-index.md +31 -0
- data/docs/3-index-pages/index-as-block.md +14 -9
- data/docs/3-index-pages/index-as-blog.md +41 -31
- data/docs/3-index-pages/index-as-grid.md +16 -8
- data/docs/3-index-pages/index-as-table.md +129 -52
- data/docs/4-csv-format.md +31 -24
- data/docs/5-forms.md +133 -56
- data/docs/6-show-pages.md +89 -27
- data/docs/7-sidebars.md +48 -27
- data/docs/8-custom-actions.md +98 -77
- data/docs/9-batch-actions.md +210 -146
- data/docs/README.md +24 -0
- data/features/action_item.feature +3 -3
- data/features/authorization_pundit.feature +37 -0
- data/features/breadcrumb.feature +48 -0
- data/features/comments/commenting.feature +56 -13
- data/features/development_reloading.feature +17 -30
- data/features/edit_page.feature +12 -1
- data/features/favicon.feature +3 -3
- data/features/i18n.feature +5 -4
- data/features/index/batch_actions.feature +41 -0
- data/features/index/filters.feature +67 -0
- data/features/index/format_as_csv.feature +90 -4
- data/features/index/formats.feature +27 -0
- 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 +13 -2
- 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/site_title.feature +2 -2
- 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 +19 -20
- 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 +9 -2
- data/features/step_definitions/dashboard_steps.rb +2 -2
- data/features/step_definitions/factory_steps.rb +9 -8
- 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 +18 -18
- 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 +3 -0
- 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 +10 -7
- data/features/step_definitions/web_steps.rb +14 -11
- data/features/sti_resource.feature +6 -2
- data/features/strong_parameters.feature +73 -0
- data/features/support/env.rb +34 -9
- data/features/support/paths.rb +14 -6
- data/features/support/selectors.rb +1 -1
- data/features/symbol_leak.feature +35 -0
- data/features/users/resetting_password.feature +5 -6
- data/lib/active_admin.rb +26 -25
- data/lib/active_admin/abstract_view_factory.rb +7 -17
- data/lib/active_admin/application.rb +72 -59
- 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 +24 -8
- data/lib/active_admin/batch_actions/resource_extension.rb +47 -18
- 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 +28 -18
- data/lib/active_admin/dsl.rb +18 -11
- data/lib/active_admin/engine.rb +10 -8
- data/lib/active_admin/error.rb +62 -0
- data/lib/active_admin/filters/dsl.rb +2 -2
- data/lib/active_admin/filters/forms.rb +17 -27
- data/lib/active_admin/filters/formtastic_addons.rb +49 -15
- data/lib/active_admin/filters/resource_extension.rb +43 -34
- data/lib/active_admin/form_builder.rb +93 -154
- 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/routes/url_helpers.rb +15 -0
- 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 +12 -3
- 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 +6 -4
- data/lib/active_admin/menu_collection.rb +1 -4
- data/lib/active_admin/namespace.rb +55 -29
- data/lib/active_admin/order_clause.rb +26 -0
- data/lib/active_admin/orm/active_record.rb +5 -0
- data/lib/active_admin/orm/active_record/comments.rb +81 -0
- data/lib/active_admin/orm/active_record/comments/comment.rb +45 -0
- data/lib/active_admin/{comments → orm/active_record/comments}/namespace_helper.rb +2 -2
- data/lib/active_admin/{comments → orm/active_record/comments}/resource_helper.rb +1 -1
- data/lib/active_admin/{comments → orm/active_record/comments}/show_page_helper.rb +0 -0
- data/lib/active_admin/orm/active_record/comments/views.rb +2 -0
- data/lib/active_admin/{comments → orm/active_record/comments}/views/active_admin_comments.rb +16 -14
- data/lib/active_admin/orm/mongoid.rb +1 -0
- data/lib/active_admin/orm/mongoid/.gitkeep +0 -0
- data/lib/active_admin/page.rb +7 -3
- 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 +16 -17
- data/lib/active_admin/resource/action_items.rb +23 -18
- 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 +27 -43
- data/lib/active_admin/resource/page_presenters.rb +1 -1
- data/lib/active_admin/resource/routes.rb +27 -11
- data/lib/active_admin/resource/scope_to.rb +7 -7
- data/lib/active_admin/resource/sidebars.rb +1 -0
- data/lib/active_admin/resource_controller.rb +6 -7
- data/lib/active_admin/resource_controller/data_access.rb +101 -93
- 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 +53 -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 -17
- 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 +4 -3
- data/lib/active_admin/view_helpers/display_helper.rb +30 -15
- data/lib/active_admin/view_helpers/download_format_links_helper.rb +21 -25
- data/lib/active_admin/view_helpers/fields_for.rb +4 -4
- 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 +63 -21
- 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 +38 -20
- 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 +5 -4
- 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 +90 -45
- 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_block.rb +10 -10
- data/lib/active_admin/views/index_as_blog.rb +45 -39
- data/lib/active_admin/views/index_as_grid.rb +14 -10
- data/lib/active_admin/views/index_as_table.rb +242 -129
- data/lib/active_admin/views/pages/base.rb +22 -18
- data/lib/active_admin/views/pages/form.rb +21 -11
- data/lib/active_admin/views/pages/index.rb +40 -35
- 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 +3 -28
- data/lib/generators/active_admin/assets/templates/{3.1/active_admin.css.scss → active_admin.css.scss} +0 -0
- data/lib/generators/active_admin/assets/templates/active_admin.js.coffee +1 -0
- data/lib/generators/active_admin/devise/devise_generator.rb +24 -26
- data/lib/generators/active_admin/install/install_generator.rb +8 -9
- data/lib/generators/active_admin/install/templates/active_admin.rb.erb +28 -26
- data/lib/generators/active_admin/install/templates/admin_user.rb.erb +12 -2
- 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 +3 -5
- data/lib/generators/active_admin/resource/templates/admin.rb +15 -0
- data/lib/ransack_ext.rb +12 -0
- 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 -173
- data/spec/support/detect_rails_version.rb +9 -17
- data/spec/support/rails_template.rb +64 -35
- data/spec/support/rails_template_with_data.rb +14 -14
- data/spec/support/templates/admin/stores.rb +5 -1
- 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 +16 -16
- data/spec/unit/action_builder_spec.rb +24 -18
- data/spec/unit/active_admin_spec.rb +2 -2
- data/spec/unit/application_spec.rb +33 -34
- data/spec/unit/asset_registration_spec.rb +25 -29
- data/spec/unit/authorization/authorization_adapter_spec.rb +10 -10
- 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 +43 -13
- 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 +28 -19
- data/spec/unit/cancan_adapter_spec.rb +8 -8
- data/spec/unit/comments_spec.rb +99 -39
- data/spec/unit/component_spec.rb +3 -3
- data/spec/unit/config_shared_examples.rb +10 -10
- data/spec/unit/controller_filters_spec.rb +23 -16
- data/spec/unit/csv_builder_spec.rb +165 -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 +11 -11
- data/spec/unit/filters/filter_form_builder_spec.rb +207 -148
- data/spec/unit/filters/resource_spec.rb +60 -26
- data/spec/unit/form_builder_spec.rb +419 -145
- data/spec/unit/generators/install_spec.rb +23 -0
- data/spec/unit/helpers/collection_spec.rb +18 -18
- data/spec/unit/helpers/scope_chain_spec.rb +6 -6
- 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 +8 -8
- data/spec/unit/namespace/register_page_spec.rb +11 -11
- data/spec/unit/namespace/register_resource_spec.rb +28 -30
- 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 +15 -12
- 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 +35 -21
- 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 +31 -38
- data/spec/unit/resource_controller/data_access_spec.rb +96 -30
- 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 +73 -70
- data/spec/unit/resource_registration_spec.rb +12 -12
- data/spec/unit/resource_spec.rb +77 -42
- 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 -3
- data/spec/unit/view_helpers/breadcrumbs_spec.rb +71 -60
- 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 +10 -23
- data/spec/unit/view_helpers/method_or_proc_helper_spec.rb +64 -22
- data/spec/unit/views/components/action_list_popover_spec.rb +16 -6
- data/spec/unit/views/components/attributes_table_spec.rb +171 -30
- 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 +79 -90
- 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 +26 -26
- data/spec/unit/views/components/status_tag_spec.rb +178 -38
- data/spec/unit/views/components/table_for_spec.rb +237 -35
- 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 +18 -6
- data/spec/unit/views/tabbed_navigation_spec.rb +61 -52
- data/tasks/docs.rake +9 -11
- data/tasks/parallel_tests.rake +8 -2
- data/tasks/test.rake +13 -9
- data/tasks/yard.rake +7 -4
- metadata +219 -163
- data/.document +0 -5
- data/README.rdoc +0 -88
- 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/application.js +0 -3
- data/app/assets/javascripts/active_admin/base.js +0 -5
- data/app/assets/javascripts/active_admin/components/jquery.aa.dropdown-menu.js.coffee +0 -105
- data/app/assets/javascripts/active_admin/components/jquery.aa.popover.js.coffee +0 -97
- data/app/assets/javascripts/active_admin/lib/namespace.js.coffee +0 -4
- data/app/assets/javascripts/active_admin/pages/application.js.coffee +0 -21
- data/app/assets/javascripts/active_admin/pages/batch_actions.js.coffee +0 -26
- 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 -41
- data/app/assets/stylesheets/active_admin/components/_table_tools.css.scss +0 -95
- data/app/assets/stylesheets/active_admin/mixins/_gradients.css.scss +0 -38
- data/app/assets/stylesheets/active_admin/mixins/_rounded.css.scss +0 -43
- data/app/views/active_admin/dashboard/index.html.arb +0 -1
- data/app/views/active_admin/resource/index.csv.erb +0 -23
- data/docs/3-index-pages/create-an-index.md +0 -29
- data/lib/active_admin/comments.rb +0 -83
- data/lib/active_admin/comments/comment.rb +0 -42
- data/lib/active_admin/comments/views.rb +0 -2
- data/lib/active_admin/dependency_checker.rb +0 -46
- 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 -36
- data/lib/active_admin/inputs/filter_check_boxes_input.rb +0 -40
- 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 -49
- data/lib/active_admin/inputs/filter_string_input.rb +0 -24
- data/lib/active_admin/reloader.rb +0 -130
- data/lib/active_admin/resource_controller/actions.rb +0 -81
- data/lib/active_admin/sass/active_admin.scss +0 -3
- data/lib/active_admin/sass/css_loader.rb +0 -16
- data/lib/active_admin/sass/helpers.rb +0 -45
- data/lib/active_admin/view_helpers/assigns_with_indifferent_access_helper.rb +0 -7
- data/lib/active_admin/views/dashboard_section_renderer.rb +0 -19
- data/lib/active_admin/views/pages/dashboard.rb +0 -62
- data/lib/generators/active_admin/assets/templates/3.0/active_admin.js +0 -1
- data/lib/generators/active_admin/assets/templates/3.1/active_admin.js +0 -1
- data/lib/meta_search_ext.rb +0 -10
- 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 -11
- data/spec/unit/generators/install_rails_3_1_spec.rb +0 -16
- data/spec/unit/rails_spec.rb +0 -43
- data/spec/unit/reloader_spec.rb +0 -124
- data/spec/unit/sass/helpers_spec.rb +0 -47
- data/tasks/js.rake +0 -32
@@ -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 |
|
@@ -37,3 +37,30 @@ Feature: Index Formats
|
|
37
37
|
And I should not see a link to download "XML"
|
38
38
|
And I should not see a link to download "JSON"
|
39
39
|
And I should see a link to download "PDF"
|
40
|
+
|
41
|
+
Scenario: View index with download_links block which returns false
|
42
|
+
Given an index configuration of:
|
43
|
+
"""
|
44
|
+
ActiveAdmin.register Post do
|
45
|
+
index :download_links => proc { false }
|
46
|
+
end
|
47
|
+
"""
|
48
|
+
And 1 post exists
|
49
|
+
When I am on the index page for posts
|
50
|
+
Then I should not see a link to download "CSV"
|
51
|
+
And I should not see a link to download "XML"
|
52
|
+
And I should not see a link to download "JSON"
|
53
|
+
|
54
|
+
Scenario: View index with download_links block which returns [:csv]
|
55
|
+
Given an index configuration of:
|
56
|
+
"""
|
57
|
+
ActiveAdmin.register Post do
|
58
|
+
index :download_links => -> { [:csv] }
|
59
|
+
end
|
60
|
+
"""
|
61
|
+
And 1 post exists
|
62
|
+
When I am on the index page for posts
|
63
|
+
Then I should see a link to download "CSV"
|
64
|
+
And I should not see a link to download "XML"
|
65
|
+
And I should not see a link to download "JSON"
|
66
|
+
And I should not see a link to download "PDF"
|
@@ -10,9 +10,9 @@ Feature: Index as Blog
|
|
10
10
|
index :as => :blog
|
11
11
|
end
|
12
12
|
"""
|
13
|
-
|
13
|
+
And I am logged in
|
14
14
|
When I am on the index page for posts
|
15
|
-
Then I should see "Hello World"
|
15
|
+
Then I should see a blog header "Hello World"
|
16
16
|
And I should see a link to "Hello World"
|
17
17
|
|
18
18
|
Scenario: Viewing the blog with a resource as a simple configuration
|
@@ -26,7 +26,7 @@ Feature: Index as Blog
|
|
26
26
|
end
|
27
27
|
end
|
28
28
|
"""
|
29
|
-
Then I should see "Hello World"
|
29
|
+
Then I should see a blog header "Hello World"
|
30
30
|
And I should see a link to "Hello World"
|
31
31
|
And I should see "My great post body" within ".post"
|
32
32
|
|
@@ -45,7 +45,7 @@ Feature: Index as Blog
|
|
45
45
|
end
|
46
46
|
end
|
47
47
|
"""
|
48
|
-
Then I should see "Hello World From Block"
|
48
|
+
Then I should see a blog header "Hello World From Block"
|
49
49
|
And I should see a link to "Hello World From Block"
|
50
50
|
And I should see "My great post body From Block" within ".post"
|
51
51
|
|
@@ -93,6 +93,19 @@ Feature: Index as Table
|
|
93
93
|
And I should see a member link to "Edit"
|
94
94
|
And I should not see a member link to "Delete"
|
95
95
|
|
96
|
+
Scenario: Actions with custom column options
|
97
|
+
Given a post with the title "Hello World" and body "From the body" exists
|
98
|
+
And an index configuration of:
|
99
|
+
"""
|
100
|
+
ActiveAdmin.register Post do
|
101
|
+
index do
|
102
|
+
column :category
|
103
|
+
actions class: 'custom-column-class', name: 'That text'
|
104
|
+
end
|
105
|
+
end
|
106
|
+
"""
|
107
|
+
Then I should see the actions column with the class "custom-column-class" and the title "That text"
|
108
|
+
|
96
109
|
Scenario: Actions with defaults and custom actions
|
97
110
|
Given a post with the title "Hello World" and body "From the body" exists
|
98
111
|
And an index configuration of:
|
@@ -133,6 +146,59 @@ Feature: Index as Table
|
|
133
146
|
And I should not see a member link to "Delete"
|
134
147
|
And I should see a member link to "Custom Action"
|
135
148
|
|
149
|
+
Scenario: Actions with defaults and custom actions within a dropdown
|
150
|
+
Given a post with the title "Hello World" and body "From the body" exists
|
151
|
+
And an index configuration of:
|
152
|
+
"""
|
153
|
+
ActiveAdmin.register Post do
|
154
|
+
actions :index, :show, :edit, :update
|
155
|
+
|
156
|
+
index do
|
157
|
+
column :category
|
158
|
+
actions dropdown: true do |resource|
|
159
|
+
item 'Custom Action', edit_admin_post_path(resource)
|
160
|
+
end
|
161
|
+
end
|
162
|
+
end
|
163
|
+
"""
|
164
|
+
Then I should see a dropdown menu item to "View"
|
165
|
+
And I should see a dropdown menu item to "Edit"
|
166
|
+
And I should not see a dropdown menu item to "Delete"
|
167
|
+
And I should see a dropdown menu item to "Custom Action"
|
168
|
+
|
169
|
+
Scenario: Actions without default actions within a dropdown
|
170
|
+
Given a post with the title "Hello World" and body "From the body" exists
|
171
|
+
And an index configuration of:
|
172
|
+
"""
|
173
|
+
ActiveAdmin.register Post do
|
174
|
+
actions :index, :show, :edit, :update
|
175
|
+
|
176
|
+
index do
|
177
|
+
column :category
|
178
|
+
actions :defaults => false, dropdown: true do |resource|
|
179
|
+
item 'Custom Action', edit_admin_post_path(resource)
|
180
|
+
end
|
181
|
+
end
|
182
|
+
end
|
183
|
+
"""
|
184
|
+
Then I should not see a dropdown menu item to "View"
|
185
|
+
And I should not see a dropdown menu item to "Edit"
|
186
|
+
And I should not see a dropdown menu item to "Delete"
|
187
|
+
And I should see a dropdown menu item to "Custom Action"
|
188
|
+
|
189
|
+
Scenario: Index page without show action
|
190
|
+
Given a post with the title "Hello World" and body "From the body" exists
|
191
|
+
And an index configuration of:
|
192
|
+
"""
|
193
|
+
ActiveAdmin.register Post do
|
194
|
+
actions :index
|
195
|
+
end
|
196
|
+
"""
|
197
|
+
Then I should not see a member link to "View"
|
198
|
+
And I should not see a member link to "Edit"
|
199
|
+
And I should not see a member link to "Delete"
|
200
|
+
And I should see "Hello World"
|
201
|
+
|
136
202
|
Scenario: Associations are not sortable
|
137
203
|
Given 1 post exists
|
138
204
|
And an index configuration of:
|
@@ -145,6 +211,36 @@ Feature: Index as Table
|
|
145
211
|
"""
|
146
212
|
Then I should not see a sortable table header with "Category"
|
147
213
|
|
214
|
+
Scenario: Columns with block are sortable by default
|
215
|
+
Given 1 post exists
|
216
|
+
And an index configuration of:
|
217
|
+
"""
|
218
|
+
ActiveAdmin.register Post do
|
219
|
+
index do
|
220
|
+
column :author_id do end
|
221
|
+
column 'published_at' do end
|
222
|
+
column :category do end
|
223
|
+
end
|
224
|
+
end
|
225
|
+
"""
|
226
|
+
Then I should see a sortable table header with "Author"
|
227
|
+
Then I should see a sortable table header with "published_at"
|
228
|
+
Then I should not see a sortable table header with "Category"
|
229
|
+
|
230
|
+
Scenario: Columns with block are not sortable by when sortable option equals to false
|
231
|
+
Given 1 post exists
|
232
|
+
And an index configuration of:
|
233
|
+
"""
|
234
|
+
ActiveAdmin.register Post do
|
235
|
+
index do
|
236
|
+
column :author_id, sortable: false do end
|
237
|
+
column 'published_at', sortable: false do end
|
238
|
+
end
|
239
|
+
end
|
240
|
+
"""
|
241
|
+
Then I should not see a sortable table header with "Author"
|
242
|
+
Then I should not see a sortable table header with "published_at"
|
243
|
+
|
148
244
|
Scenario: Sorting
|
149
245
|
Given a post with the title "Hello World" and body "From the body" exists
|
150
246
|
And a post with the title "Bye bye world" and body "Move your..." exists
|
@@ -154,14 +250,14 @@ Feature: Index as Table
|
|
154
250
|
"""
|
155
251
|
When I am on the index page for posts
|
156
252
|
Then I should see the "index_table_posts" table:
|
157
|
-
| [ ] | Id | Title | Body | Published At | Starred | Created At | Updated At | |
|
158
|
-
| [ ] | 2 | Bye bye world | Move your... | | | /.*/ | /.*/ | ViewEditDelete |
|
159
|
-
| [ ] | 1 | Hello World | From the body | | | /.*/ | /.*/ | ViewEditDelete |
|
253
|
+
| [ ] | Id | Title | Body | Published At | Position | Starred | Created At | Updated At | |
|
254
|
+
| [ ] | 2 | Bye bye world | Move your... | | | No | /.*/ | /.*/ | ViewEditDelete |
|
255
|
+
| [ ] | 1 | Hello World | From the body | | | No | /.*/ | /.*/ | ViewEditDelete |
|
160
256
|
When I follow "Id"
|
161
257
|
Then I should see the "index_table_posts" table:
|
162
|
-
| [ ] | Id | Title | Body | Published At | Starred | Created At | Updated At | |
|
163
|
-
| [ ] | 1 | Hello World | From the body | | | /.*/ | /.*/ | ViewEditDelete |
|
164
|
-
| [ ] | 2 | Bye bye world | Move your... | | | /.*/ | /.*/ | ViewEditDelete |
|
258
|
+
| [ ] | Id | Title | Body | Published At | Position | Starred | Created At | Updated At | |
|
259
|
+
| [ ] | 1 | Hello World | From the body | | | No | /.*/ | /.*/ | ViewEditDelete |
|
260
|
+
| [ ] | 2 | Bye bye world | Move your... | | | No | /.*/ | /.*/ | ViewEditDelete |
|
165
261
|
|
166
262
|
Scenario: Sorting by a virtual column
|
167
263
|
Given a post with the title "Hello World" exists
|
@@ -59,3 +59,25 @@ Feature: Index Blank Slate
|
|
59
59
|
end
|
60
60
|
"""
|
61
61
|
And I should see "There are no Posts yet. Create one"
|
62
|
+
|
63
|
+
Scenario: Customizing the default table with no resources
|
64
|
+
Given an index configuration of:
|
65
|
+
"""
|
66
|
+
ActiveAdmin.register Post do
|
67
|
+
index blank_slate_link: ->{link_to("Go to dashboard", admin_root_path)} do |post|
|
68
|
+
end
|
69
|
+
end
|
70
|
+
"""
|
71
|
+
When I follow "Go to dashboard"
|
72
|
+
Then I should see "Dashboard"
|
73
|
+
|
74
|
+
Scenario: Customizing the default table with no blank slate link
|
75
|
+
Given an index configuration of:
|
76
|
+
"""
|
77
|
+
ActiveAdmin.register Post do
|
78
|
+
index blank_slate_link: false do |post|
|
79
|
+
end
|
80
|
+
end
|
81
|
+
"""
|
82
|
+
Then I should see "There are no Posts yet."
|
83
|
+
And I should not see "Create one"
|
@@ -3,27 +3,27 @@ Feature: Index Scope To
|
|
3
3
|
Viewing resource configs scoped to another object
|
4
4
|
|
5
5
|
Background:
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
6
|
+
Given 10 posts exist
|
7
|
+
And a post with the title "Hello World" written by "John Doe" exists
|
8
|
+
And a published post with the title "Hello World" written by "John Doe" exists
|
9
|
+
Given an index configuration of:
|
10
|
+
"""
|
11
|
+
ActiveAdmin.register Post do
|
12
|
+
# Scope section to a specific author
|
13
|
+
scope_to do
|
14
|
+
User.find_by_first_name_and_last_name "John", "Doe"
|
15
|
+
end
|
16
16
|
|
17
|
-
|
18
|
-
scope :all, :
|
17
|
+
# Set up some scopes
|
18
|
+
scope :all, default: true
|
19
19
|
scope :published do |posts|
|
20
|
-
posts.where
|
20
|
+
posts.where "published_at IS NOT NULL"
|
21
21
|
end
|
22
|
-
|
23
|
-
|
22
|
+
end
|
23
|
+
"""
|
24
24
|
|
25
25
|
Scenario: Viewing the default scope counts
|
26
|
-
|
26
|
+
When I am on the index page for posts
|
27
27
|
Then I should see the scope "All" selected
|
28
28
|
And I should see the scope "All" with the count 2
|
29
29
|
And I should see 2 posts in the table
|
@@ -28,3 +28,14 @@ Feature: Index - Page Title
|
|
28
28
|
end
|
29
29
|
"""
|
30
30
|
Then I should see the page title "List of posts"
|
31
|
+
|
32
|
+
Scenario: Set the title in controller
|
33
|
+
Given an index configuration of:
|
34
|
+
"""
|
35
|
+
ActiveAdmin.register Post do
|
36
|
+
controller do
|
37
|
+
before_filter { @page_title = "List of #{resource_class.model_name.plural}" }
|
38
|
+
end
|
39
|
+
end
|
40
|
+
"""
|
41
|
+
Then I should see the page title "List of posts"
|
@@ -53,7 +53,7 @@ Feature: Index Pagination
|
|
53
53
|
"""
|
54
54
|
Given 100 posts exist
|
55
55
|
When I am on the index page for posts
|
56
|
-
Then I should see pagination with
|
56
|
+
Then I should see pagination with 4 pages
|
57
57
|
Then I should see "Displaying Posts 1 - 30"
|
58
58
|
And I should not see "Displaying Posts 1 - 30 of 100 in total"
|
59
59
|
|
@@ -1,8 +1,8 @@
|
|
1
1
|
Feature: Switch Index View
|
2
2
|
|
3
|
-
|
4
|
-
|
5
|
-
|
3
|
+
In order to switch index views
|
4
|
+
As a user
|
5
|
+
I want to view links to views
|
6
6
|
|
7
7
|
Scenario: Show default Page Presenter
|
8
8
|
Given a post with the title "Hello World from Table" exists
|
@@ -19,10 +19,10 @@ Feature: Switch Index View
|
|
19
19
|
"""
|
20
20
|
Then I should see "Hello World from Table" within ".index_as_table"
|
21
21
|
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
22
|
+
Scenario: Show default Page Presenter when default is specified
|
23
|
+
Given a post with the title "Hello World from Table" exists
|
24
|
+
And an index configuration of:
|
25
|
+
"""
|
26
26
|
ActiveAdmin.register Post do
|
27
27
|
index :as => :block do |post|
|
28
28
|
span(link_to(post.title, admin_post_path(post)))
|
@@ -35,9 +35,9 @@ Feature: Switch Index View
|
|
35
35
|
Then I should see "Hello World from Table" within ".index_as_table"
|
36
36
|
|
37
37
|
Scenario: Show links to different page views
|
38
|
-
|
39
|
-
|
40
|
-
|
38
|
+
Given a post with the title "Hello World from Table" exists
|
39
|
+
And an index configuration of:
|
40
|
+
"""
|
41
41
|
ActiveAdmin.register Post do
|
42
42
|
index :as => :block do |post|
|
43
43
|
span(link_to(post.title, admin_post_path(post)))
|
@@ -51,10 +51,10 @@ Feature: Switch Index View
|
|
51
51
|
And I should see a link to "Table"
|
52
52
|
And I should see a link to "List"
|
53
53
|
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
54
|
+
Scenario: Show change between page views
|
55
|
+
Given a post with the title "Hey from Table" and body "My body is awesome" exists
|
56
|
+
And an index configuration of:
|
57
|
+
"""
|
58
58
|
ActiveAdmin.register Post do
|
59
59
|
index :as => :block do |post|
|
60
60
|
span(link_to(post.title, admin_post_path(post)))
|