activeadministration 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.gitignore +47 -0
- data/.travis.yml +19 -0
- data/.yardopts +9 -0
- data/CHANGELOG.md +1074 -0
- data/CONTRIBUTING.md +139 -0
- data/Gemfile +52 -0
- data/Guardfile +7 -0
- data/LICENSE +25 -0
- data/README.md +8 -0
- data/Rakefile +33 -0
- data/activeadministration.gemspec +34 -0
- 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-input-icon.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 +10 -0
- data/app/assets/images/active_admin/index_list_icons/blog_icon.svg +4 -0
- data/app/assets/images/active_admin/index_list_icons/grid_icon.svg +13 -0
- data/app/assets/images/active_admin/index_list_icons/table_icon.svg +3 -0
- data/app/assets/images/active_admin/loading.gif +0 -0
- data/app/assets/images/active_admin/nested_menu_arrow.gif +0 -0
- data/app/assets/images/active_admin/nested_menu_arrow_dark.gif +0 -0
- data/app/assets/images/active_admin/orderable.png +0 -0
- data/app/assets/javascripts/active_admin/application.js.coffee +30 -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/lib/checkbox-toggler.js.coffee +36 -0
- data/app/assets/javascripts/active_admin/lib/dropdown-menu.js.coffee +85 -0
- data/app/assets/javascripts/active_admin/lib/has_many.js.coffee +75 -0
- data/app/assets/javascripts/active_admin/lib/modal_dialog.js.coffee +36 -0
- data/app/assets/javascripts/active_admin/lib/popover.js.coffee +68 -0
- data/app/assets/javascripts/active_admin/lib/table-checkbox-toggler.js.coffee +24 -0
- data/app/assets/stylesheets/active_admin/_base.css.scss +42 -0
- data/app/assets/stylesheets/active_admin/_forms.css.scss +329 -0
- data/app/assets/stylesheets/active_admin/_header.css.scss +156 -0
- data/app/assets/stylesheets/active_admin/_mixins.css.scss +1 -0
- data/app/assets/stylesheets/active_admin/_typography.css.scss +100 -0
- data/app/assets/stylesheets/active_admin/components/_batch_actions.css.scss +11 -0
- data/app/assets/stylesheets/active_admin/components/_blank_slates.scss +31 -0
- data/app/assets/stylesheets/active_admin/components/_breadcrumbs.scss +20 -0
- data/app/assets/stylesheets/active_admin/components/_buttons.scss +11 -0
- data/app/assets/stylesheets/active_admin/components/_columns.scss +3 -0
- data/app/assets/stylesheets/active_admin/components/_comments.css.scss +41 -0
- data/app/assets/stylesheets/active_admin/components/_date_picker.css.scss +127 -0
- data/app/assets/stylesheets/active_admin/components/_dropdown_menu.scss +151 -0
- data/app/assets/stylesheets/active_admin/components/_flash_messages.css.scss +39 -0
- data/app/assets/stylesheets/active_admin/components/_grid.scss +9 -0
- data/app/assets/stylesheets/active_admin/components/_index_list.scss +12 -0
- data/app/assets/stylesheets/active_admin/components/_links.scss +5 -0
- data/app/assets/stylesheets/active_admin/components/_modal_dialog.scss +31 -0
- data/app/assets/stylesheets/active_admin/components/_pagination.scss +34 -0
- data/app/assets/stylesheets/active_admin/components/_panels.scss +6 -0
- data/app/assets/stylesheets/active_admin/components/_popovers.css.scss +123 -0
- data/app/assets/stylesheets/active_admin/components/_scopes.scss +10 -0
- data/app/assets/stylesheets/active_admin/components/_status_tags.scss +16 -0
- data/app/assets/stylesheets/active_admin/components/_table_tools.css.scss +65 -0
- data/app/assets/stylesheets/active_admin/components/_tables.css.scss +111 -0
- data/app/assets/stylesheets/active_admin/mixins/_all.css.scss +11 -0
- data/app/assets/stylesheets/active_admin/mixins/_buttons.css.scss +66 -0
- data/app/assets/stylesheets/active_admin/mixins/_gradients.css.scss +38 -0
- data/app/assets/stylesheets/active_admin/mixins/_icons.css.scss +20 -0
- data/app/assets/stylesheets/active_admin/mixins/_reset.css.scss +165 -0
- data/app/assets/stylesheets/active_admin/mixins/_rounded.css.scss +43 -0
- data/app/assets/stylesheets/active_admin/mixins/_sections.css.scss +36 -0
- data/app/assets/stylesheets/active_admin/mixins/_shadows.css.scss +22 -0
- data/app/assets/stylesheets/active_admin/mixins/_typography.scss +3 -0
- data/app/assets/stylesheets/active_admin/mixins/_utilities.scss +26 -0
- data/app/assets/stylesheets/active_admin/mixins/_variables.css.scss +34 -0
- data/app/assets/stylesheets/active_admin/pages/_logged_out.scss +44 -0
- data/app/assets/stylesheets/active_admin/print.css.scss +284 -0
- data/app/assets/stylesheets/active_admin/structure/_footer.scss +14 -0
- data/app/assets/stylesheets/active_admin/structure/_main_structure.scss +29 -0
- data/app/assets/stylesheets/active_admin/structure/_title_bar.scss +46 -0
- data/app/views/active_admin/dashboard/index.html.arb +1 -0
- data/app/views/active_admin/devise/confirmations/new.html.erb +14 -0
- data/app/views/active_admin/devise/mailer/reset_password_instructions.html.erb +8 -0
- data/app/views/active_admin/devise/mailer/unlock_instructions.html.erb +7 -0
- data/app/views/active_admin/devise/passwords/edit.html.erb +19 -0
- data/app/views/active_admin/devise/passwords/new.html.erb +14 -0
- data/app/views/active_admin/devise/registrations/new.html.erb +22 -0
- data/app/views/active_admin/devise/sessions/new.html.erb +20 -0
- data/app/views/active_admin/devise/shared/_links.erb +27 -0
- data/app/views/active_admin/devise/unlocks/new.html.erb +14 -0
- data/app/views/active_admin/page/index.html.arb +1 -0
- data/app/views/active_admin/resource/edit.html.arb +1 -0
- data/app/views/active_admin/resource/index.csv.erb +17 -0
- data/app/views/active_admin/resource/index.html.arb +1 -0
- data/app/views/active_admin/resource/new.html.arb +1 -0
- data/app/views/active_admin/resource/show.html.arb +1 -0
- data/app/views/kaminari/active_admin/_first_page.html.erb +11 -0
- data/app/views/kaminari/active_admin/_gap.html.erb +8 -0
- data/app/views/kaminari/active_admin/_last_page.html.erb +11 -0
- data/app/views/kaminari/active_admin/_next_page.html.erb +11 -0
- data/app/views/kaminari/active_admin/_page.html.erb +12 -0
- data/app/views/kaminari/active_admin/_paginator.html.erb +23 -0
- data/app/views/kaminari/active_admin/_prev_page.html.erb +11 -0
- data/app/views/layouts/active_admin.html.arb +1 -0
- data/app/views/layouts/active_admin_logged_out.html.erb +37 -0
- data/config/locales/bg.yml +102 -0
- data/config/locales/bs.yml +121 -0
- data/config/locales/ca.yml +102 -0
- data/config/locales/cs.yml +106 -0
- data/config/locales/da.yml +103 -0
- data/config/locales/de-CH.yml +118 -0
- data/config/locales/de.yml +143 -0
- data/config/locales/el.yml +111 -0
- data/config/locales/en-GB.yml +95 -0
- data/config/locales/en.yml +117 -0
- data/config/locales/es.yml +127 -0
- data/config/locales/es_MX.yml +110 -0
- data/config/locales/fi.yml +110 -0
- data/config/locales/fr.yml +109 -0
- data/config/locales/he.yml +92 -0
- data/config/locales/hr.yml +121 -0
- data/config/locales/hu.yml +96 -0
- data/config/locales/it.yml +114 -0
- data/config/locales/ja.yml +114 -0
- data/config/locales/ko.yml +85 -0
- data/config/locales/lt.yml +118 -0
- data/config/locales/lv.yml +90 -0
- data/config/locales/nl.yml +94 -0
- data/config/locales/no-NB.yml +111 -0
- data/config/locales/pl.yml +100 -0
- data/config/locales/pt-BR.yml +117 -0
- data/config/locales/pt-PT.yml +90 -0
- data/config/locales/ro.yml +94 -0
- data/config/locales/ru.yml +121 -0
- data/config/locales/sv-SE.yml +90 -0
- data/config/locales/tr.yml +94 -0
- data/config/locales/uk.yml +121 -0
- data/config/locales/vi.yml +91 -0
- data/config/locales/zh-CN.yml +112 -0
- data/config/locales/zh-TW.yml +94 -0
- data/cucumber.yml +3 -0
- data/docs/0-installation.md +84 -0
- data/docs/1-general-configuration.md +138 -0
- data/docs/10-custom-pages.md +84 -0
- data/docs/11-decorators.md +50 -0
- data/docs/12-arbre-components.md +150 -0
- data/docs/13-authorization-adapter.md +239 -0
- data/docs/2-resource-customization.md +359 -0
- data/docs/3-index-pages.md +245 -0
- data/docs/3-index-pages/create-an-index.md +31 -0
- data/docs/3-index-pages/index-as-block.md +21 -0
- data/docs/3-index-pages/index-as-blog.md +71 -0
- data/docs/3-index-pages/index-as-grid.md +29 -0
- data/docs/3-index-pages/index-as-table.md +163 -0
- data/docs/4-csv-format.md +39 -0
- data/docs/5-forms.md +118 -0
- data/docs/6-show-pages.md +77 -0
- data/docs/7-sidebars.md +63 -0
- data/docs/8-custom-actions.md +159 -0
- data/docs/9-batch-actions.md +233 -0
- data/features/action_item.feature +73 -0
- data/features/authorization.feature +64 -0
- data/features/authorization_cancan.feature +52 -0
- data/features/authorization_pundit.feature +37 -0
- data/features/belongs_to.feature +66 -0
- data/features/breadcrumb.feature +75 -0
- data/features/comments/commenting.feature +159 -0
- data/features/comments/viewing_index.feature +19 -0
- data/features/dashboard.feature +16 -0
- data/features/decorators.feature +41 -0
- data/features/development_reloading.feature +31 -0
- data/features/edit_page.feature +114 -0
- data/features/favicon.feature +20 -0
- data/features/first_boot.feature +16 -0
- data/features/global_navigation.feature +29 -0
- data/features/i18n.feature +43 -0
- data/features/index/batch_actions.feature +123 -0
- data/features/index/filters.feature +138 -0
- data/features/index/format_as_csv.feature +117 -0
- data/features/index/formats.feature +66 -0
- data/features/index/index_as_block.feature +15 -0
- data/features/index/index_as_blog.feature +69 -0
- data/features/index/index_as_grid.feature +45 -0
- data/features/index/index_as_table.feature +208 -0
- data/features/index/index_blank_slate.feature +83 -0
- data/features/index/index_parameters.feature +75 -0
- data/features/index/index_scope_to.feature +56 -0
- data/features/index/index_scopes.feature +251 -0
- data/features/index/page_title.feature +41 -0
- data/features/index/pagination.feature +59 -0
- data/features/index/switch_index_view.feature +73 -0
- data/features/menu.feature +53 -0
- data/features/new_page.feature +106 -0
- data/features/registering_assets.feature +35 -0
- data/features/registering_pages.feature +148 -0
- data/features/registering_resources.feature +33 -0
- data/features/root_to.feature +17 -0
- data/features/show/default_content.feature +43 -0
- data/features/show/page_title.feature +58 -0
- data/features/sidebar_sections.feature +210 -0
- data/features/site_title.feature +47 -0
- data/features/specifying_actions.feature +93 -0
- data/features/step_definitions/action_item_steps.rb +7 -0
- data/features/step_definitions/action_link_steps.rb +7 -0
- data/features/step_definitions/additional_web_steps.rb +82 -0
- data/features/step_definitions/asset_steps.rb +15 -0
- data/features/step_definitions/attribute_steps.rb +18 -0
- data/features/step_definitions/batch_action_steps.rb +55 -0
- data/features/step_definitions/breadcrumb_steps.rb +3 -0
- data/features/step_definitions/comment_steps.rb +12 -0
- data/features/step_definitions/configuration_steps.rb +100 -0
- data/features/step_definitions/dashboard_steps.rb +15 -0
- data/features/step_definitions/factory_steps.rb +34 -0
- data/features/step_definitions/filter_steps.rb +17 -0
- data/features/step_definitions/flash_steps.rb +11 -0
- data/features/step_definitions/format_steps.rb +45 -0
- data/features/step_definitions/i18n_steps.rb +3 -0
- data/features/step_definitions/index_scope_steps.rb +21 -0
- data/features/step_definitions/index_views_steps.rb +3 -0
- data/features/step_definitions/layout_steps.rb +3 -0
- data/features/step_definitions/member_link_steps.rb +7 -0
- data/features/step_definitions/menu_steps.rb +11 -0
- data/features/step_definitions/pagination_steps.rb +8 -0
- data/features/step_definitions/sidebar_steps.rb +12 -0
- data/features/step_definitions/site_title_steps.rb +15 -0
- data/features/step_definitions/symbol_leak_steps.rb +3 -0
- data/features/step_definitions/tab_steps.rb +3 -0
- data/features/step_definitions/table_steps.rb +119 -0
- data/features/step_definitions/user_steps.rb +41 -0
- data/features/step_definitions/web_steps.rb +86 -0
- data/features/sti_resource.feature +65 -0
- data/features/strong_parameters.feature +72 -0
- data/features/support/env.rb +119 -0
- data/features/support/paths.rb +71 -0
- data/features/support/selectors.rb +45 -0
- data/features/symbol_leak.feature +35 -0
- data/features/users/logging_in.feature +34 -0
- data/features/users/logging_out.feature +13 -0
- data/features/users/resetting_password.feature +34 -0
- data/lib/active_admin.rb +135 -0
- data/lib/active_admin/abstract_view_factory.rb +86 -0
- data/lib/active_admin/application.rb +250 -0
- data/lib/active_admin/asset_registration.rb +29 -0
- data/lib/active_admin/authorization_adapter.rb +132 -0
- data/lib/active_admin/base_controller.rb +78 -0
- data/lib/active_admin/base_controller/authorization.rb +151 -0
- data/lib/active_admin/base_controller/menu.rb +34 -0
- data/lib/active_admin/batch_actions.rb +17 -0
- data/lib/active_admin/batch_actions/controller.rb +29 -0
- data/lib/active_admin/batch_actions/resource_extension.rb +154 -0
- data/lib/active_admin/batch_actions/views/batch_action_form.rb +38 -0
- data/lib/active_admin/batch_actions/views/batch_action_popover.rb +28 -0
- data/lib/active_admin/batch_actions/views/batch_action_selector.rb +57 -0
- data/lib/active_admin/batch_actions/views/selection_cells.rb +37 -0
- data/lib/active_admin/callbacks.rb +84 -0
- data/lib/active_admin/cancan_adapter.rb +40 -0
- data/lib/active_admin/component.rb +5 -0
- data/lib/active_admin/controller_action.rb +12 -0
- data/lib/active_admin/csv_builder.rb +70 -0
- data/lib/active_admin/dependencies.rb +38 -0
- data/lib/active_admin/deprecation.rb +35 -0
- data/lib/active_admin/devise.rb +80 -0
- data/lib/active_admin/dsl.rb +165 -0
- data/lib/active_admin/engine.rb +7 -0
- data/lib/active_admin/error.rb +22 -0
- data/lib/active_admin/event.rb +33 -0
- data/lib/active_admin/filters.rb +9 -0
- data/lib/active_admin/filters/dsl.rb +21 -0
- data/lib/active_admin/filters/forms.rb +87 -0
- data/lib/active_admin/filters/formtastic_addons.rb +73 -0
- data/lib/active_admin/filters/resource_extension.rb +135 -0
- data/lib/active_admin/form_builder.rb +185 -0
- data/lib/active_admin/helpers/collection.rb +23 -0
- data/lib/active_admin/helpers/i18n.rb +7 -0
- data/lib/active_admin/helpers/optional_display.rb +38 -0
- data/lib/active_admin/helpers/scope_chain.rb +23 -0
- data/lib/active_admin/helpers/settings.rb +106 -0
- data/lib/active_admin/iconic.rb +54 -0
- data/lib/active_admin/iconic/icons.rb +142 -0
- data/lib/active_admin/inputs.rb +15 -0
- data/lib/active_admin/inputs/datepicker_input.rb +20 -0
- data/lib/active_admin/inputs/filter_base.rb +40 -0
- data/lib/active_admin/inputs/filter_base/search_method_select.rb +73 -0
- data/lib/active_admin/inputs/filter_boolean_input.rb +32 -0
- data/lib/active_admin/inputs/filter_check_boxes_input.rb +48 -0
- data/lib/active_admin/inputs/filter_date_range_input.rb +34 -0
- data/lib/active_admin/inputs/filter_numeric_input.rb +10 -0
- data/lib/active_admin/inputs/filter_select_input.rb +53 -0
- data/lib/active_admin/inputs/filter_string_input.rb +24 -0
- data/lib/active_admin/menu.rb +107 -0
- data/lib/active_admin/menu_collection.rb +96 -0
- data/lib/active_admin/menu_item.rb +97 -0
- data/lib/active_admin/namespace.rb +231 -0
- data/lib/active_admin/order_clause.rb +26 -0
- data/lib/active_admin/orm/active_record.rb +3 -0
- data/lib/active_admin/orm/active_record/comments.rb +84 -0
- data/lib/active_admin/orm/active_record/comments/comment.rb +49 -0
- data/lib/active_admin/orm/active_record/comments/namespace_helper.rb +14 -0
- data/lib/active_admin/orm/active_record/comments/resource_helper.rb +17 -0
- data/lib/active_admin/orm/active_record/comments/show_page_helper.rb +23 -0
- data/lib/active_admin/orm/active_record/comments/views.rb +2 -0
- data/lib/active_admin/orm/active_record/comments/views/active_admin_comments.rb +75 -0
- data/lib/active_admin/orm/mongoid.rb +1 -0
- data/lib/active_admin/orm/mongoid/.gitkeep +0 -0
- data/lib/active_admin/page.rb +88 -0
- data/lib/active_admin/page_controller.rb +29 -0
- data/lib/active_admin/page_dsl.rb +28 -0
- data/lib/active_admin/page_presenter.rb +32 -0
- data/lib/active_admin/pundit_adapter.rb +42 -0
- data/lib/active_admin/resource.rb +156 -0
- data/lib/active_admin/resource/action_items.rb +91 -0
- data/lib/active_admin/resource/belongs_to.rb +36 -0
- data/lib/active_admin/resource/controllers.rb +18 -0
- data/lib/active_admin/resource/menu.rb +64 -0
- data/lib/active_admin/resource/naming.rb +84 -0
- data/lib/active_admin/resource/page_presenters.rb +82 -0
- data/lib/active_admin/resource/pagination.rb +19 -0
- data/lib/active_admin/resource/routes.rb +99 -0
- data/lib/active_admin/resource/scope_to.rb +74 -0
- data/lib/active_admin/resource/scopes.rb +50 -0
- data/lib/active_admin/resource/sidebars.rb +28 -0
- data/lib/active_admin/resource_collection.rb +70 -0
- data/lib/active_admin/resource_controller.rb +50 -0
- data/lib/active_admin/resource_controller/action_builder.rb +21 -0
- data/lib/active_admin/resource_controller/data_access.rb +284 -0
- data/lib/active_admin/resource_controller/decorators.rb +100 -0
- data/lib/active_admin/resource_controller/resource_class_methods.rb +24 -0
- data/lib/active_admin/resource_controller/scoping.rb +31 -0
- data/lib/active_admin/resource_controller/sidebars.rb +18 -0
- data/lib/active_admin/resource_dsl.rb +171 -0
- data/lib/active_admin/router.rb +106 -0
- data/lib/active_admin/scope.rb +57 -0
- data/lib/active_admin/sidebar_section.rb +45 -0
- data/lib/active_admin/version.rb +3 -0
- data/lib/active_admin/view_factory.rb +27 -0
- data/lib/active_admin/view_helpers.rb +21 -0
- data/lib/active_admin/view_helpers/active_admin_application_helper.rb +12 -0
- data/lib/active_admin/view_helpers/assigns_with_indifferent_access_helper.rb +7 -0
- data/lib/active_admin/view_helpers/auto_link_helper.rb +37 -0
- data/lib/active_admin/view_helpers/breadcrumb_helper.rb +27 -0
- data/lib/active_admin/view_helpers/display_helper.rb +64 -0
- data/lib/active_admin/view_helpers/download_format_links_helper.rb +49 -0
- data/lib/active_admin/view_helpers/fields_for.rb +50 -0
- data/lib/active_admin/view_helpers/flash_helper.rb +13 -0
- data/lib/active_admin/view_helpers/form_helper.rb +21 -0
- data/lib/active_admin/view_helpers/icon_helper.rb +12 -0
- data/lib/active_admin/view_helpers/method_or_proc_helper.rb +93 -0
- data/lib/active_admin/view_helpers/sidebar_helper.rb +15 -0
- data/lib/active_admin/view_helpers/title_helper.rb +11 -0
- data/lib/active_admin/view_helpers/view_factory_helper.rb +11 -0
- data/lib/active_admin/views.rb +8 -0
- data/lib/active_admin/views/action_items.rb +17 -0
- data/lib/active_admin/views/components/action_list_popover.rb +29 -0
- data/lib/active_admin/views/components/attributes_table.rb +105 -0
- data/lib/active_admin/views/components/blank_slate.rb +17 -0
- data/lib/active_admin/views/components/columns.rb +157 -0
- data/lib/active_admin/views/components/dropdown_menu.rb +73 -0
- data/lib/active_admin/views/components/index_list.rb +68 -0
- data/lib/active_admin/views/components/paginated_collection.rb +126 -0
- data/lib/active_admin/views/components/panel.rb +34 -0
- data/lib/active_admin/views/components/popover.rb +27 -0
- data/lib/active_admin/views/components/scopes.rb +66 -0
- data/lib/active_admin/views/components/sidebar_section.rb +29 -0
- data/lib/active_admin/views/components/site_title.rb +55 -0
- data/lib/active_admin/views/components/status_tag.rb +67 -0
- data/lib/active_admin/views/components/table_for.rb +212 -0
- data/lib/active_admin/views/footer.rb +20 -0
- data/lib/active_admin/views/header.rb +32 -0
- data/lib/active_admin/views/index_as_block.rb +36 -0
- data/lib/active_admin/views/index_as_blog.rb +156 -0
- data/lib/active_admin/views/index_as_grid.rb +80 -0
- data/lib/active_admin/views/index_as_table.rb +277 -0
- data/lib/active_admin/views/pages/base.rb +139 -0
- data/lib/active_admin/views/pages/form.rb +51 -0
- data/lib/active_admin/views/pages/index.rb +163 -0
- data/lib/active_admin/views/pages/layout.rb +26 -0
- data/lib/active_admin/views/pages/page.rb +30 -0
- data/lib/active_admin/views/pages/show.rb +59 -0
- data/lib/active_admin/views/tabbed_navigation.rb +62 -0
- data/lib/active_admin/views/title_bar.rb +55 -0
- data/lib/activeadmin.rb +1 -0
- data/lib/generators/active_admin/assets/assets_generator.rb +16 -0
- data/lib/generators/active_admin/assets/templates/active_admin.css.scss +17 -0
- data/lib/generators/active_admin/assets/templates/active_admin.js.coffee +1 -0
- data/lib/generators/active_admin/devise/devise_generator.rb +66 -0
- data/lib/generators/active_admin/install/install_generator.rb +46 -0
- data/lib/generators/active_admin/install/templates/active_admin.rb.erb +243 -0
- data/lib/generators/active_admin/install/templates/admin_user.rb.erb +30 -0
- data/lib/generators/active_admin/install/templates/dashboard.rb +33 -0
- data/lib/generators/active_admin/install/templates/migrations/create_active_admin_comments.rb +19 -0
- data/lib/generators/active_admin/resource/resource_generator.rb +16 -0
- data/lib/generators/active_admin/resource/templates/admin.rb +17 -0
- data/lib/ransack_ext.rb +12 -0
- data/script/local +44 -0
- data/script/use_rails +53 -0
- data/spec/integration/default_namespace_spec.rb +61 -0
- data/spec/integration/javascript_spec.rb +20 -0
- data/spec/integration/memory_spec.rb +29 -0
- data/spec/integration/stylesheets_spec.rb +18 -0
- data/spec/javascripts/coffeescripts/jquery.aa.checkbox-toggler-spec.js.coffee +50 -0
- data/spec/javascripts/coffeescripts/jquery.aa.popover-spec.js.coffee +82 -0
- data/spec/javascripts/coffeescripts/jquery.aa.table-checkbox-toggler-spec.js.coffee +34 -0
- data/spec/javascripts/compiled/jquery.aa.checkbox-toggler-spec.js +60 -0
- data/spec/javascripts/compiled/jquery.aa.popover-spec.js +106 -0
- data/spec/javascripts/compiled/jquery.aa.table-checkbox-toggler-spec.js +37 -0
- data/spec/javascripts/fixtures/checkboxes.html +9 -0
- data/spec/javascripts/fixtures/table_checkboxes.html +17 -0
- data/spec/javascripts/helpers/SpecHelper.js +3 -0
- data/spec/javascripts/helpers/vendor/jasmine-fixture-0.0.5.js +108 -0
- data/spec/javascripts/helpers/vendor/jasmine-jquery.js +288 -0
- data/spec/javascripts/helpers/vendor/sinon-1.2.0.js +2915 -0
- data/spec/javascripts/support/jasmine.yml +74 -0
- data/spec/javascripts/support/jasmine_config.rb +23 -0
- data/spec/javascripts/support/jasmine_runner.rb +32 -0
- data/spec/javascripts/support/jquery-ui-1.8.16.custom.min.js +34 -0
- data/spec/javascripts/support/jquery.min.js +4 -0
- data/spec/spec_helper.rb +182 -0
- data/spec/spec_helper_without_rails.rb +16 -0
- data/spec/support/deferred_garbage_collection.rb +19 -0
- data/spec/support/detect_rails_version.rb +42 -0
- data/spec/support/integration_example_group.rb +31 -0
- data/spec/support/jslint.yml +80 -0
- data/spec/support/rails_template.rb +117 -0
- data/spec/support/rails_template_with_data.rb +59 -0
- data/spec/support/templates/admin/stores.rb +11 -0
- data/spec/support/templates/cucumber.rb +24 -0
- data/spec/support/templates/cucumber_with_reloading.rb +5 -0
- data/spec/support/templates/en.yml +8 -0
- 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 +11 -0
- data/spec/unit/abstract_view_factory_spec.rb +79 -0
- data/spec/unit/action_builder_spec.rb +126 -0
- data/spec/unit/active_admin_spec.rb +11 -0
- data/spec/unit/application_spec.rb +140 -0
- data/spec/unit/asset_registration_spec.rb +52 -0
- data/spec/unit/authorization/authorization_adapter_spec.rb +61 -0
- data/spec/unit/authorization/controller_authorization_spec.rb +39 -0
- data/spec/unit/auto_link_spec.rb +34 -0
- data/spec/unit/batch_actions/resource_spec.rb +92 -0
- data/spec/unit/batch_actions/settings_spec.rb +61 -0
- data/spec/unit/belongs_to_spec.rb +42 -0
- data/spec/unit/cancan_adapter_spec.rb +43 -0
- data/spec/unit/comments_spec.rb +144 -0
- data/spec/unit/component_spec.rb +18 -0
- data/spec/unit/config_shared_examples.rb +59 -0
- data/spec/unit/controller_filters_spec.rb +37 -0
- data/spec/unit/csv_builder_spec.rb +134 -0
- data/spec/unit/devise_spec.rb +116 -0
- data/spec/unit/dsl_spec.rb +61 -0
- data/spec/unit/event_spec.rb +47 -0
- data/spec/unit/filters/filter_form_builder_spec.rb +418 -0
- data/spec/unit/filters/resource_spec.rb +121 -0
- data/spec/unit/form_builder_spec.rb +576 -0
- data/spec/unit/generators/install_spec.rb +23 -0
- data/spec/unit/helpers/collection_spec.rb +65 -0
- data/spec/unit/helpers/scope_chain_spec.rb +36 -0
- data/spec/unit/helpers/settings_spec.rb +30 -0
- data/spec/unit/menu_collection_spec.rb +62 -0
- data/spec/unit/menu_item_spec.rb +143 -0
- data/spec/unit/menu_spec.rb +71 -0
- data/spec/unit/namespace/authorization_spec.rb +27 -0
- data/spec/unit/namespace/register_page_spec.rb +74 -0
- data/spec/unit/namespace/register_resource_spec.rb +163 -0
- data/spec/unit/namespace_spec.rb +103 -0
- data/spec/unit/order_clause_spec.rb +57 -0
- data/spec/unit/page_controller_spec.rb +5 -0
- data/spec/unit/page_spec.rb +72 -0
- data/spec/unit/pretty_format_spec.rb +63 -0
- data/spec/unit/pundit_adapter_spec.rb +36 -0
- data/spec/unit/resource/action_items_spec.rb +62 -0
- data/spec/unit/resource/menu_spec.rb +18 -0
- data/spec/unit/resource/naming_spec.rb +122 -0
- data/spec/unit/resource/page_presenters_spec.rb +44 -0
- data/spec/unit/resource/pagination_spec.rb +38 -0
- data/spec/unit/resource/routes_spec.rb +73 -0
- data/spec/unit/resource/scopes_spec.rb +50 -0
- data/spec/unit/resource/sidebars_spec.rb +43 -0
- data/spec/unit/resource_collection_spec.rb +158 -0
- data/spec/unit/resource_controller/data_access_spec.rb +73 -0
- data/spec/unit/resource_controller/decorators_spec.rb +86 -0
- data/spec/unit/resource_controller/sidebars_spec.rb +46 -0
- data/spec/unit/resource_controller_spec.rb +265 -0
- data/spec/unit/resource_registration_spec.rb +56 -0
- data/spec/unit/resource_spec.rb +263 -0
- data/spec/unit/routing_spec.rb +172 -0
- data/spec/unit/scope_spec.rb +114 -0
- data/spec/unit/settings_spec.rb +88 -0
- data/spec/unit/view_factory_spec.rb +21 -0
- data/spec/unit/view_helpers/breadcrumbs_spec.rb +180 -0
- data/spec/unit/view_helpers/display_name_spec.rb +68 -0
- data/spec/unit/view_helpers/download_format_links_helper_spec.rb +39 -0
- data/spec/unit/view_helpers/fields_for_spec.rb +50 -0
- data/spec/unit/view_helpers/form_helper_spec.rb +42 -0
- data/spec/unit/view_helpers/method_or_proc_helper_spec.rb +97 -0
- data/spec/unit/views/components/action_list_popover_spec.rb +29 -0
- data/spec/unit/views/components/attributes_table_spec.rb +259 -0
- data/spec/unit/views/components/batch_action_popover_spec.rb +33 -0
- data/spec/unit/views/components/blank_slate_spec.rb +17 -0
- data/spec/unit/views/components/columns_spec.rb +172 -0
- data/spec/unit/views/components/index_list_spec.rb +32 -0
- data/spec/unit/views/components/paginated_collection_spec.rb +229 -0
- data/spec/unit/views/components/panel_spec.rb +51 -0
- data/spec/unit/views/components/popover_spec.rb +33 -0
- data/spec/unit/views/components/sidebar_section_spec.rb +47 -0
- data/spec/unit/views/components/site_title_spec.rb +78 -0
- data/spec/unit/views/components/status_tag_spec.rb +102 -0
- data/spec/unit/views/components/table_for_spec.rb +242 -0
- data/spec/unit/views/pages/form_spec.rb +35 -0
- data/spec/unit/views/pages/layout_spec.rb +63 -0
- data/spec/unit/views/pages/show_spec.rb +20 -0
- data/spec/unit/views/tabbed_navigation_spec.rb +149 -0
- data/tasks/docs.rake +37 -0
- data/tasks/js.rake +32 -0
- data/tasks/parallel_tests.rake +60 -0
- data/tasks/test.rake +79 -0
- data/tasks/yard.rake +7 -0
- metadata +741 -0
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
Feature: Namespace root
|
|
2
|
+
|
|
3
|
+
As a developer
|
|
4
|
+
In order to customize the welcome page
|
|
5
|
+
I want to set it in the configuration
|
|
6
|
+
|
|
7
|
+
Scenario: Default root is the Dashboard
|
|
8
|
+
Given I am logged in with capybara
|
|
9
|
+
Then I should be on the dashboard
|
|
10
|
+
|
|
11
|
+
Scenario: Set root to "stores#index"
|
|
12
|
+
Given a configuration of:
|
|
13
|
+
"""
|
|
14
|
+
ActiveAdmin.application.root_to = 'stores#index'
|
|
15
|
+
"""
|
|
16
|
+
Given I am logged in with capybara
|
|
17
|
+
Then I should see the page title "Bookstores"
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
Feature: Show - Default Content
|
|
2
|
+
|
|
3
|
+
Viewing the show page for a resource
|
|
4
|
+
|
|
5
|
+
Background:
|
|
6
|
+
Given a post with the title "Hello World" written by "Jane Doe" exists
|
|
7
|
+
|
|
8
|
+
Scenario: Viewing the default show page
|
|
9
|
+
Given a show configuration of:
|
|
10
|
+
"""
|
|
11
|
+
ActiveAdmin.register Post
|
|
12
|
+
"""
|
|
13
|
+
Then I should see the attribute "Title" with "Hello World"
|
|
14
|
+
And I should see the attribute "Body" with "Empty"
|
|
15
|
+
And I should see the attribute "Created At" with a nicely formatted datetime
|
|
16
|
+
And I should see the attribute "Author" with "Jane Doe"
|
|
17
|
+
And I should see an action item button "Delete Post"
|
|
18
|
+
And I should see an action item button "Edit Post"
|
|
19
|
+
|
|
20
|
+
Scenario: Attributes should link when linked resource is registered
|
|
21
|
+
Given a show configuration of:
|
|
22
|
+
"""
|
|
23
|
+
ActiveAdmin.register Post
|
|
24
|
+
ActiveAdmin.register User
|
|
25
|
+
"""
|
|
26
|
+
Then I should see the attribute "Author" with "Jane Doe"
|
|
27
|
+
And I should see a link to "Jane Doe"
|
|
28
|
+
|
|
29
|
+
Scenario: Customizing the attributes table with a set of attributes
|
|
30
|
+
Given a show configuration of:
|
|
31
|
+
"""
|
|
32
|
+
ActiveAdmin.register Post do
|
|
33
|
+
|
|
34
|
+
show do
|
|
35
|
+
attributes_table :title, :body, :created_at, :updated_at
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
end
|
|
39
|
+
"""
|
|
40
|
+
Then I should see the attribute "Title" with "Hello World"
|
|
41
|
+
And I should see the attribute "Body" with "Empty"
|
|
42
|
+
And I should see the attribute "Created At" with a nicely formatted datetime
|
|
43
|
+
And I should not see the attribute "Author"
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
Feature: Show - Page Title
|
|
2
|
+
|
|
3
|
+
Modifying the page title on the show screen
|
|
4
|
+
|
|
5
|
+
Background:
|
|
6
|
+
Given a post with the title "Hello World" written by "Jane Doe" exists
|
|
7
|
+
|
|
8
|
+
Scenario: Set a method to be called on the resource as the title
|
|
9
|
+
Given a show configuration of:
|
|
10
|
+
"""
|
|
11
|
+
ActiveAdmin.register Post do
|
|
12
|
+
show :title => :title
|
|
13
|
+
end
|
|
14
|
+
"""
|
|
15
|
+
Then I should see the page title "Hello World"
|
|
16
|
+
|
|
17
|
+
Scenario: Set a string as the title
|
|
18
|
+
Given a show configuration of:
|
|
19
|
+
"""
|
|
20
|
+
ActiveAdmin.register Post do
|
|
21
|
+
show :title => "Title From String"
|
|
22
|
+
end
|
|
23
|
+
"""
|
|
24
|
+
Then I should see the page title "Title From String"
|
|
25
|
+
|
|
26
|
+
Scenario: Set a proc as the title
|
|
27
|
+
Given a show configuration of:
|
|
28
|
+
"""
|
|
29
|
+
ActiveAdmin.register Post do
|
|
30
|
+
show :title => proc{|post| "Title: " + post.title }
|
|
31
|
+
end
|
|
32
|
+
"""
|
|
33
|
+
Then I should see the page title "Title: Hello World"
|
|
34
|
+
|
|
35
|
+
Scenario: Default title
|
|
36
|
+
Given a show configuration of:
|
|
37
|
+
"""
|
|
38
|
+
ActiveAdmin.register Post
|
|
39
|
+
"""
|
|
40
|
+
Then I should see the page title "Hello World"
|
|
41
|
+
|
|
42
|
+
Scenario: Default title with no display name method candidate
|
|
43
|
+
Given a show configuration of:
|
|
44
|
+
"""
|
|
45
|
+
ActiveAdmin.register Tag
|
|
46
|
+
"""
|
|
47
|
+
Then I should see the page title "Tag #"
|
|
48
|
+
|
|
49
|
+
Scenario: Set the title in controller
|
|
50
|
+
Given a show configuration of:
|
|
51
|
+
"""
|
|
52
|
+
ActiveAdmin.register Post do
|
|
53
|
+
controller do
|
|
54
|
+
before_filter { @page_title = "List of #{resource_class.model_name.plural}" }
|
|
55
|
+
end
|
|
56
|
+
end
|
|
57
|
+
"""
|
|
58
|
+
Then I should see the page title "List of posts"
|
|
@@ -0,0 +1,210 @@
|
|
|
1
|
+
Feature: Sidebar Sections
|
|
2
|
+
|
|
3
|
+
Creating and Configuring sidebar sections
|
|
4
|
+
|
|
5
|
+
Background:
|
|
6
|
+
Given I am logged in
|
|
7
|
+
And a post with the title "Hello World" exists
|
|
8
|
+
|
|
9
|
+
Scenario: Create a sidebar for all actions
|
|
10
|
+
Given a configuration of:
|
|
11
|
+
"""
|
|
12
|
+
ActiveAdmin.register Post do
|
|
13
|
+
sidebar :help do
|
|
14
|
+
"Need help? Email us at help@example.com"
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
"""
|
|
18
|
+
When I am on the index page for posts
|
|
19
|
+
Then I should see a sidebar titled "Help"
|
|
20
|
+
Then I should see "Need help" within the "Help" sidebar
|
|
21
|
+
|
|
22
|
+
When I follow "View"
|
|
23
|
+
Then I should see a sidebar titled "Help"
|
|
24
|
+
|
|
25
|
+
When I follow "Edit Post"
|
|
26
|
+
Then I should see a sidebar titled "Help"
|
|
27
|
+
|
|
28
|
+
When I am on the index page for posts
|
|
29
|
+
When I follow "New Post"
|
|
30
|
+
Then I should see a sidebar titled "Help"
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
Scenario: Create a sidebar for only one action
|
|
34
|
+
Given a configuration of:
|
|
35
|
+
"""
|
|
36
|
+
ActiveAdmin.register Post do
|
|
37
|
+
sidebar :help, :only => :index do
|
|
38
|
+
"Need help? Email us at help@example.com"
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
"""
|
|
42
|
+
When I am on the index page for posts
|
|
43
|
+
Then I should see a sidebar titled "Help"
|
|
44
|
+
Then I should see "Need help" within the "Help" sidebar
|
|
45
|
+
|
|
46
|
+
When I follow "View"
|
|
47
|
+
Then I should not see a sidebar titled "Help"
|
|
48
|
+
|
|
49
|
+
When I follow "Edit Post"
|
|
50
|
+
Then I should not see a sidebar titled "Help"
|
|
51
|
+
|
|
52
|
+
When I am on the index page for posts
|
|
53
|
+
When I follow "New Post"
|
|
54
|
+
Then I should not see a sidebar titled "Help"
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
Scenario: Create a sidebar for all except one action
|
|
58
|
+
Given a configuration of:
|
|
59
|
+
"""
|
|
60
|
+
ActiveAdmin.register Post do
|
|
61
|
+
sidebar :help, :except => :index do
|
|
62
|
+
"Need help? Email us at help@example.com"
|
|
63
|
+
end
|
|
64
|
+
end
|
|
65
|
+
"""
|
|
66
|
+
When I am on the index page for posts
|
|
67
|
+
Then I should not see a sidebar titled "Help"
|
|
68
|
+
|
|
69
|
+
When I follow "View"
|
|
70
|
+
Then I should see a sidebar titled "Help"
|
|
71
|
+
|
|
72
|
+
When I follow "Edit Post"
|
|
73
|
+
Then I should see a sidebar titled "Help"
|
|
74
|
+
|
|
75
|
+
When I am on the index page for posts
|
|
76
|
+
When I follow "New Post"
|
|
77
|
+
Then I should see a sidebar titled "Help"
|
|
78
|
+
|
|
79
|
+
Scenario: Create a sidebar for only one action with if clause that returns false
|
|
80
|
+
Given a configuration of:
|
|
81
|
+
"""
|
|
82
|
+
ActiveAdmin.register Post do
|
|
83
|
+
sidebar :help, :only => :index, :if => proc{ current_active_admin_user.nil? } do
|
|
84
|
+
"Need help? Email us at help@example.com"
|
|
85
|
+
end
|
|
86
|
+
end
|
|
87
|
+
"""
|
|
88
|
+
When I am on the index page for posts
|
|
89
|
+
Then I should not see a sidebar titled "Help"
|
|
90
|
+
|
|
91
|
+
When I follow "View"
|
|
92
|
+
Then I should not see a sidebar titled "Help"
|
|
93
|
+
|
|
94
|
+
When I follow "Edit Post"
|
|
95
|
+
Then I should not see a sidebar titled "Help"
|
|
96
|
+
|
|
97
|
+
When I am on the index page for posts
|
|
98
|
+
When I follow "New Post"
|
|
99
|
+
Then I should not see a sidebar titled "Help"
|
|
100
|
+
|
|
101
|
+
Scenario: Create a sidebar for only one action with if clause with method symbol
|
|
102
|
+
Given a configuration of:
|
|
103
|
+
"""
|
|
104
|
+
module SidebarHelper
|
|
105
|
+
def can_sidebar?; false; end
|
|
106
|
+
end
|
|
107
|
+
ActiveAdmin.register Post do
|
|
108
|
+
controller { helper SidebarHelper }
|
|
109
|
+
sidebar :help, :only => :index, :if => :can_sidebar? do
|
|
110
|
+
"Need help? Email us at help@example.com"
|
|
111
|
+
end
|
|
112
|
+
end
|
|
113
|
+
"""
|
|
114
|
+
When I am on the index page for posts
|
|
115
|
+
Then I should not see a sidebar titled "Help"
|
|
116
|
+
|
|
117
|
+
When I follow "View"
|
|
118
|
+
Then I should not see a sidebar titled "Help"
|
|
119
|
+
|
|
120
|
+
When I follow "Edit Post"
|
|
121
|
+
Then I should not see a sidebar titled "Help"
|
|
122
|
+
|
|
123
|
+
When I am on the index page for posts
|
|
124
|
+
When I follow "New Post"
|
|
125
|
+
Then I should not see a sidebar titled "Help"
|
|
126
|
+
|
|
127
|
+
Scenario: Create a sidebar for only one action with if clause that returns true
|
|
128
|
+
Given a configuration of:
|
|
129
|
+
"""
|
|
130
|
+
ActiveAdmin.register Post do
|
|
131
|
+
sidebar :help, :only => :show, :if => proc{ !current_active_admin_user.nil? } do
|
|
132
|
+
"Need help? Email us at help@example.com"
|
|
133
|
+
end
|
|
134
|
+
end
|
|
135
|
+
"""
|
|
136
|
+
When I am on the index page for posts
|
|
137
|
+
Then I should not see a sidebar titled "Help"
|
|
138
|
+
|
|
139
|
+
When I follow "View"
|
|
140
|
+
Then I should see a sidebar titled "Help"
|
|
141
|
+
Then I should see "Need help" within the "Help" sidebar
|
|
142
|
+
|
|
143
|
+
When I follow "Edit Post"
|
|
144
|
+
Then I should not see a sidebar titled "Help"
|
|
145
|
+
|
|
146
|
+
When I am on the index page for posts
|
|
147
|
+
When I follow "New Post"
|
|
148
|
+
Then I should not see a sidebar titled "Help"
|
|
149
|
+
|
|
150
|
+
Scenario: Create a sidebar with deep content
|
|
151
|
+
Given a configuration of:
|
|
152
|
+
"""
|
|
153
|
+
ActiveAdmin.register Post do
|
|
154
|
+
sidebar :help do
|
|
155
|
+
ul do
|
|
156
|
+
li "First List First Item"
|
|
157
|
+
li "First List Second Item"
|
|
158
|
+
end
|
|
159
|
+
ul do
|
|
160
|
+
li "Second List First Item"
|
|
161
|
+
li "Second List Second Item"
|
|
162
|
+
end
|
|
163
|
+
end
|
|
164
|
+
end
|
|
165
|
+
"""
|
|
166
|
+
When I am on the index page for posts
|
|
167
|
+
Then I should see a sidebar titled "Help"
|
|
168
|
+
And I should see "First List First Item" within the "Help" sidebar
|
|
169
|
+
And I should see "Second List Second Item" within the "Help" sidebar
|
|
170
|
+
|
|
171
|
+
Scenario: Rendering sidebar by default without a block or partial name
|
|
172
|
+
Given "app/views/admin/posts/_help_sidebar.html.erb" contains:
|
|
173
|
+
"""
|
|
174
|
+
<p>Hello World from a partial</p>
|
|
175
|
+
"""
|
|
176
|
+
Given a configuration of:
|
|
177
|
+
"""
|
|
178
|
+
ActiveAdmin.register Post do
|
|
179
|
+
sidebar :help
|
|
180
|
+
end
|
|
181
|
+
"""
|
|
182
|
+
When I am on the index page for posts
|
|
183
|
+
Then I should see "Hello World from a partial" within the "Help" sidebar
|
|
184
|
+
|
|
185
|
+
Scenario: Rendering a partial as the sidebar content
|
|
186
|
+
Given "app/views/admin/posts/_custom_help_partial.html.erb" contains:
|
|
187
|
+
"""
|
|
188
|
+
<p>Hello World from a custom partial</p>
|
|
189
|
+
"""
|
|
190
|
+
Given a configuration of:
|
|
191
|
+
"""
|
|
192
|
+
ActiveAdmin.register Post do
|
|
193
|
+
sidebar :help, :partial => "custom_help_partial"
|
|
194
|
+
end
|
|
195
|
+
"""
|
|
196
|
+
When I am on the index page for posts
|
|
197
|
+
Then I should see "Hello World from a custom partial" within the "Help" sidebar
|
|
198
|
+
|
|
199
|
+
|
|
200
|
+
Scenario: Position sidebar at the top using priority option
|
|
201
|
+
Given a configuration of:
|
|
202
|
+
"""
|
|
203
|
+
ActiveAdmin.register Post do
|
|
204
|
+
sidebar :help, priority: 0 do
|
|
205
|
+
"Need help? Email us at help@example.com"
|
|
206
|
+
end
|
|
207
|
+
end
|
|
208
|
+
"""
|
|
209
|
+
When I am on the index page for posts
|
|
210
|
+
Then I should see a sidebar titled "Help" above sidebar titled "Filters"
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
Feature: Site title
|
|
2
|
+
|
|
3
|
+
As a developer
|
|
4
|
+
In order to customize the site title
|
|
5
|
+
I want to set it in the configuration
|
|
6
|
+
|
|
7
|
+
Background:
|
|
8
|
+
Given I am logged in
|
|
9
|
+
|
|
10
|
+
Scenario: Set the site title and site title link
|
|
11
|
+
Given a configuration of:
|
|
12
|
+
"""
|
|
13
|
+
ActiveAdmin.application.site_title = "My Great Site"
|
|
14
|
+
ActiveAdmin.application.site_title_link = "/admin"
|
|
15
|
+
"""
|
|
16
|
+
When I am on the dashboard
|
|
17
|
+
And I should see the site title "My Great Site"
|
|
18
|
+
When I follow "My Great Site"
|
|
19
|
+
Then I should see the site title "My Great Site"
|
|
20
|
+
|
|
21
|
+
Scenario: Set the site title image
|
|
22
|
+
Given a configuration of:
|
|
23
|
+
"""
|
|
24
|
+
ActiveAdmin.application.site_title_image = "http://railscasts.com/assets/episodes/stills/284-active-admin.png?1316476106"
|
|
25
|
+
"""
|
|
26
|
+
When I am on the dashboard
|
|
27
|
+
And I should not see the site title "My Great Site"
|
|
28
|
+
And I should see the site title image "http://railscasts.com/assets/episodes/stills/284-active-admin.png?1316476106"
|
|
29
|
+
|
|
30
|
+
Scenario: Set the site title image with link
|
|
31
|
+
Given a configuration of:
|
|
32
|
+
"""
|
|
33
|
+
ActiveAdmin.application.site_title_link = "http://www.google.com"
|
|
34
|
+
ActiveAdmin.application.site_title_image = "http://railscasts.com/assets/episodes/stills/284-active-admin.png?1316476106"
|
|
35
|
+
"""
|
|
36
|
+
When I am on the dashboard
|
|
37
|
+
And I should see the site title image "http://railscasts.com/assets/episodes/stills/284-active-admin.png?1316476106"
|
|
38
|
+
And I should see the site title image linked to "http://www.google.com"
|
|
39
|
+
|
|
40
|
+
Scenario: Set the site title to a proc
|
|
41
|
+
Given a configuration of:
|
|
42
|
+
"""
|
|
43
|
+
ActiveAdmin.application.site_title_image = nil # Configuration is not reset between scenarios
|
|
44
|
+
ActiveAdmin.application.site_title = proc { "Hello #{controller.current_admin_user.try(:email) || 'you!'}" }
|
|
45
|
+
"""
|
|
46
|
+
When I am on the dashboard
|
|
47
|
+
And I should see the site title "Hello admin@example.com"
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
Feature: Specifying Actions
|
|
2
|
+
|
|
3
|
+
Specifying which actions to allow on my resource
|
|
4
|
+
|
|
5
|
+
Scenario: Only creating the index action
|
|
6
|
+
Given a configuration of:
|
|
7
|
+
"""
|
|
8
|
+
ActiveAdmin.register Post do
|
|
9
|
+
actions :index
|
|
10
|
+
index do
|
|
11
|
+
column do |post|
|
|
12
|
+
link_to "View", "/admin/posts/1"
|
|
13
|
+
end
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
"""
|
|
17
|
+
And I am logged in
|
|
18
|
+
And a post with the title "Hello World" exists
|
|
19
|
+
When I am on the index page for posts
|
|
20
|
+
Then an "ActionController::RoutingError" exception should be raised when I follow "View"
|
|
21
|
+
|
|
22
|
+
Scenario: Specify a custom collection action with template
|
|
23
|
+
Given a configuration of:
|
|
24
|
+
"""
|
|
25
|
+
ActiveAdmin.register Post do
|
|
26
|
+
action_item(:only => :index) do
|
|
27
|
+
link_to('Import Posts', import_admin_posts_path)
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
collection_action :import
|
|
31
|
+
end
|
|
32
|
+
"""
|
|
33
|
+
Given "app/views/admin/posts/import.html.arb" contains:
|
|
34
|
+
"""
|
|
35
|
+
para "We are currently working on this feature..."
|
|
36
|
+
"""
|
|
37
|
+
And I am logged in
|
|
38
|
+
When I am on the index page for posts
|
|
39
|
+
And I follow "Import"
|
|
40
|
+
Then I should see "We are currently working on this feature"
|
|
41
|
+
|
|
42
|
+
Scenario: Specify a custom member action with template
|
|
43
|
+
Given a configuration of:
|
|
44
|
+
"""
|
|
45
|
+
ActiveAdmin.register Post do
|
|
46
|
+
action_item(:only => :show) do
|
|
47
|
+
link_to('Review', review_admin_post_path)
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
member_action :review do
|
|
51
|
+
@post = Post.find(params[:id])
|
|
52
|
+
end
|
|
53
|
+
end
|
|
54
|
+
"""
|
|
55
|
+
Given "app/views/admin/posts/review.html.erb" contains:
|
|
56
|
+
"""
|
|
57
|
+
<h1>Review: <%= @post.title %></h1>
|
|
58
|
+
"""
|
|
59
|
+
And I am logged in
|
|
60
|
+
And a post with the title "Hello World" exists
|
|
61
|
+
When I am on the index page for posts
|
|
62
|
+
And I follow "View"
|
|
63
|
+
And I follow "Review"
|
|
64
|
+
Then I should see "Review: Hello World"
|
|
65
|
+
And I should see the page title "Review"
|
|
66
|
+
And I should see the Active Admin layout
|
|
67
|
+
|
|
68
|
+
Scenario: Specify a custom member action with template using arb
|
|
69
|
+
Given a configuration of:
|
|
70
|
+
"""
|
|
71
|
+
ActiveAdmin.register Post do
|
|
72
|
+
action_item(:only => :show) do
|
|
73
|
+
link_to('Review', review_admin_post_path)
|
|
74
|
+
end
|
|
75
|
+
|
|
76
|
+
member_action :review do
|
|
77
|
+
@post = Post.find(params[:id])
|
|
78
|
+
end
|
|
79
|
+
end
|
|
80
|
+
"""
|
|
81
|
+
Given "app/views/admin/posts/review.html.arb" contains:
|
|
82
|
+
"""
|
|
83
|
+
h1 "Review: #{@post.title}"
|
|
84
|
+
"""
|
|
85
|
+
And I am logged in
|
|
86
|
+
And a post with the title "Hello World" exists
|
|
87
|
+
When I am on the index page for posts
|
|
88
|
+
And I follow "View"
|
|
89
|
+
And I follow "Review"
|
|
90
|
+
Then I should see "Review: Hello World"
|
|
91
|
+
And I should see the page title "Review"
|
|
92
|
+
And I should see the Active Admin layout
|
|
93
|
+
|