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
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/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,16 +127,45 @@ 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
|
160
|
+
|
161
|
+
Scenario: Commenting on an aliased resource with an existing non-aliased config
|
162
|
+
Given a configuration of:
|
163
|
+
"""
|
164
|
+
ActiveAdmin.register Post
|
165
|
+
ActiveAdmin.register Post, as: 'Foo'
|
166
|
+
"""
|
167
|
+
Given I am logged in
|
168
|
+
When I am on the index page for foos
|
169
|
+
And I follow "View"
|
170
|
+
When I add a comment "Bar"
|
171
|
+
Then I should be in the resource section for foos
|
@@ -5,39 +5,26 @@ Feature: Development Reloading
|
|
5
5
|
I want the application to reload itself in development
|
6
6
|
|
7
7
|
@requires-reloading
|
8
|
-
Scenario:
|
9
|
-
|
8
|
+
Scenario: Registering a resource that was not previously registered
|
9
|
+
When I am logged in with capybara
|
10
|
+
Then I should not see a menu item for "Posts"
|
11
|
+
|
12
|
+
When "app/admin/posts.rb" contains:
|
10
13
|
"""
|
11
|
-
ActiveAdmin.register Post
|
14
|
+
ActiveAdmin.register Post do
|
15
|
+
if Rails::VERSION::MAJOR == 4
|
16
|
+
permit_params :custom_category_id, :author_id, :title,
|
17
|
+
:body, :position, :published_at, :starred
|
18
|
+
end
|
19
|
+
end
|
12
20
|
"""
|
13
|
-
|
14
|
-
|
21
|
+
When I am logged in with capybara
|
22
|
+
Then I should see a menu item for "Posts"
|
23
|
+
|
24
|
+
When I create a new post with the title "A"
|
15
25
|
Then I should see a successful create flash
|
16
|
-
|
26
|
+
|
27
|
+
When I add "validates_presence_of :title" to the "post" model
|
17
28
|
And I create a new post with the title ""
|
18
29
|
Then I should not see a successful create flash
|
19
30
|
And I should see a validation error "can't be blank"
|
20
|
-
|
21
|
-
|
22
|
-
# TODO: Create a scenario that reloads one of the active admin
|
23
|
-
# configuration files.
|
24
|
-
#
|
25
|
-
# @requires-reloading
|
26
|
-
# Scenario: Reloading an updated model that a resource points to
|
27
|
-
# Given "app/admin/posts.rb" contains:
|
28
|
-
# """
|
29
|
-
# ActiveAdmin.register Post
|
30
|
-
# ActiveAdmin.register User
|
31
|
-
# """
|
32
|
-
# And I am logged in
|
33
|
-
# Then I should see a menu item for "Posts"
|
34
|
-
|
35
|
-
# Given "app/admin/posts.rb" contains:
|
36
|
-
# """
|
37
|
-
# ActiveAdmin.register Post, :as => "Blog"
|
38
|
-
# ActiveAdmin.register User
|
39
|
-
# """
|
40
|
-
# When I follow "Users"
|
41
|
-
# Then show me the page
|
42
|
-
# Then I should see a menu item for "Blogs"
|
43
|
-
# Then I should not see a menu item for "Posts"
|
data/features/edit_page.feature
CHANGED
@@ -9,7 +9,12 @@ Feature: Edit Page
|
|
9
9
|
And I am logged in
|
10
10
|
Given a configuration of:
|
11
11
|
"""
|
12
|
-
ActiveAdmin.register Post
|
12
|
+
ActiveAdmin.register Post do
|
13
|
+
if Rails::VERSION::MAJOR == 4
|
14
|
+
permit_params :custom_category_id, :author_id, :title,
|
15
|
+
:body, :position, :published_at, :starred
|
16
|
+
end
|
17
|
+
end
|
13
18
|
"""
|
14
19
|
When I am on the index page for posts
|
15
20
|
|
@@ -29,6 +34,8 @@ Feature: Edit Page
|
|
29
34
|
Given a configuration of:
|
30
35
|
"""
|
31
36
|
ActiveAdmin.register Post do
|
37
|
+
permit_params :category, :author, :title, :body, :published_at, :starred if Rails::VERSION::MAJOR == 4
|
38
|
+
|
32
39
|
form do |f|
|
33
40
|
f.inputs "Your Post" do
|
34
41
|
f.input :title
|
@@ -56,6 +63,8 @@ Feature: Edit Page
|
|
56
63
|
Given a configuration of:
|
57
64
|
"""
|
58
65
|
ActiveAdmin.register Post do
|
66
|
+
permit_params :category, :author, :title, :body, :published_at, :starred if Rails::VERSION::MAJOR == 4
|
67
|
+
|
59
68
|
form :html => {} do |f|
|
60
69
|
f.inputs "Your Post" do
|
61
70
|
f.input :title
|
@@ -93,6 +102,8 @@ Feature: Edit Page
|
|
93
102
|
Given a configuration of:
|
94
103
|
"""
|
95
104
|
ActiveAdmin.register Post do
|
105
|
+
permit_params :category, :author, :title, :body, :published_at, :starred if Rails::VERSION::MAJOR == 4
|
106
|
+
|
96
107
|
form :partial => "form"
|
97
108
|
end
|
98
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,23 +7,24 @@ 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
|
|
21
26
|
Scenario: Switching language at runtime
|
22
27
|
Given I am logged in
|
23
|
-
And a configuration of:
|
24
|
-
"""
|
25
|
-
ActiveAdmin.register Store
|
26
|
-
"""
|
27
28
|
When I set my locale to "fr"
|
28
29
|
And I go to the dashboard
|
29
30
|
Then I should see "Store"
|
@@ -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"
|
@@ -92,3 +92,70 @@ Feature: Index Filtering
|
|
92
92
|
"""
|
93
93
|
Then I should not see a sidebar titled "Filters"
|
94
94
|
|
95
|
+
Scenario: Select - Filtering categories with posts written by Jane Doe
|
96
|
+
Given a category named "Mystery" exists
|
97
|
+
And 1 post with the title "Hello World" written by "Jane Doe" in category "Non-Fiction" exists
|
98
|
+
And an index configuration of:
|
99
|
+
"""
|
100
|
+
ActiveAdmin.register Category
|
101
|
+
"""
|
102
|
+
When I select "Jane Doe" from "Authors"
|
103
|
+
And I press "Filter"
|
104
|
+
Then I should see 1 categories in the table
|
105
|
+
And I should see "Non-Fiction" within ".index_table"
|
106
|
+
And I should not see "Mystery" within ".index_table"
|
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
|
+
|
131
|
+
Scenario: Checkboxes - Filtering categories via posts written by anyone
|
132
|
+
Given a category named "Mystery" exists
|
133
|
+
And a post with the title "Hello World" written by "Jane Doe" in category "Non-Fiction" exists
|
134
|
+
And an index configuration of:
|
135
|
+
"""
|
136
|
+
ActiveAdmin.register Category do
|
137
|
+
filter :authors, :as => :check_boxes
|
138
|
+
end
|
139
|
+
"""
|
140
|
+
When I press "Filter"
|
141
|
+
Then I should see 2 posts in the table
|
142
|
+
And I should see "Mystery" within ".index_table"
|
143
|
+
And I should see "Non-Fiction" within ".index_table"
|
144
|
+
And the "Jane Doe" checkbox should not be checked
|
145
|
+
|
146
|
+
Scenario: Checkboxes - Filtering categories via posts written by Jane Doe
|
147
|
+
Given a category named "Mystery" exists
|
148
|
+
And a post with the title "Hello World" written by "Jane Doe" in category "Non-Fiction" exists
|
149
|
+
And an index configuration of:
|
150
|
+
"""
|
151
|
+
ActiveAdmin.register Category do
|
152
|
+
filter :authors, :as => :check_boxes
|
153
|
+
end
|
154
|
+
"""
|
155
|
+
When I check "Jane Doe"
|
156
|
+
And I press "Filter"
|
157
|
+
Then I should see 1 categories in the table
|
158
|
+
And I should see "Non-Fiction" within ".index_table"
|
159
|
+
And the "Jane Doe" checkbox should be checked
|
160
|
+
|
161
|
+
|