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,73 @@
|
|
|
1
|
+
Feature: Switch Index View
|
|
2
|
+
|
|
3
|
+
In order to switch index views
|
|
4
|
+
As a user
|
|
5
|
+
I want to view links to views
|
|
6
|
+
|
|
7
|
+
Scenario: Show default Page Presenter
|
|
8
|
+
Given a post with the title "Hello World from Table" exists
|
|
9
|
+
And an index configuration of:
|
|
10
|
+
"""
|
|
11
|
+
ActiveAdmin.register Post do
|
|
12
|
+
index :as => :table do
|
|
13
|
+
column :title
|
|
14
|
+
end
|
|
15
|
+
index :as => :block do |post|
|
|
16
|
+
span(link_to(post.title, admin_post_path(post)))
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
"""
|
|
20
|
+
Then I should see "Hello World from Table" within ".index_as_table"
|
|
21
|
+
|
|
22
|
+
Scenario: Show default Page Presenter when default is specified
|
|
23
|
+
Given a post with the title "Hello World from Table" exists
|
|
24
|
+
And an index configuration of:
|
|
25
|
+
"""
|
|
26
|
+
ActiveAdmin.register Post do
|
|
27
|
+
index :as => :block do |post|
|
|
28
|
+
span(link_to(post.title, admin_post_path(post)))
|
|
29
|
+
end
|
|
30
|
+
index :as => :table, :default => true do
|
|
31
|
+
column :title
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
"""
|
|
35
|
+
Then I should see "Hello World from Table" within ".index_as_table"
|
|
36
|
+
|
|
37
|
+
Scenario: Show links to different page views
|
|
38
|
+
Given a post with the title "Hello World from Table" exists
|
|
39
|
+
And an index configuration of:
|
|
40
|
+
"""
|
|
41
|
+
ActiveAdmin.register Post do
|
|
42
|
+
index :as => :block do |post|
|
|
43
|
+
span(link_to(post.title, admin_post_path(post)))
|
|
44
|
+
end
|
|
45
|
+
index :as => :table, :default => true do
|
|
46
|
+
column :title
|
|
47
|
+
end
|
|
48
|
+
end
|
|
49
|
+
"""
|
|
50
|
+
Then I should see "Hello World from Table" within ".index_as_table"
|
|
51
|
+
And I should see a link to "Table"
|
|
52
|
+
And I should see a link to "List"
|
|
53
|
+
|
|
54
|
+
Scenario: Show change between page views
|
|
55
|
+
Given a post with the title "Hey from Table" and body "My body is awesome" exists
|
|
56
|
+
And an index configuration of:
|
|
57
|
+
"""
|
|
58
|
+
ActiveAdmin.register Post do
|
|
59
|
+
index :as => :block do |post|
|
|
60
|
+
span(link_to(post.title, admin_post_path(post)))
|
|
61
|
+
end
|
|
62
|
+
index :as => :table, :default => true do
|
|
63
|
+
column :title
|
|
64
|
+
column :body
|
|
65
|
+
end
|
|
66
|
+
end
|
|
67
|
+
"""
|
|
68
|
+
Then I should see "My body is awesome" within ".index_as_table"
|
|
69
|
+
When I click "List"
|
|
70
|
+
Then I should not see "My body is awesome" within ".index_as_block"
|
|
71
|
+
|
|
72
|
+
|
|
73
|
+
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
Feature: Menu
|
|
2
|
+
|
|
3
|
+
Background:
|
|
4
|
+
Given I am logged in
|
|
5
|
+
|
|
6
|
+
Scenario: Hide the menu item
|
|
7
|
+
Given a configuration of:
|
|
8
|
+
"""
|
|
9
|
+
ActiveAdmin.register Post do
|
|
10
|
+
menu false
|
|
11
|
+
end
|
|
12
|
+
"""
|
|
13
|
+
When I am on the dashboard
|
|
14
|
+
Then I should not see a menu item for "Posts"
|
|
15
|
+
|
|
16
|
+
Scenario: Set the menu item label
|
|
17
|
+
Given a configuration of:
|
|
18
|
+
"""
|
|
19
|
+
ActiveAdmin.register Post do
|
|
20
|
+
menu :label => "Articles"
|
|
21
|
+
end
|
|
22
|
+
"""
|
|
23
|
+
When I am on the dashboard
|
|
24
|
+
Then I should see a menu item for "Articles"
|
|
25
|
+
And I should not see a menu item for "Posts"
|
|
26
|
+
|
|
27
|
+
Scenario: Add a non-resource menu item
|
|
28
|
+
Given a configuration of:
|
|
29
|
+
"""
|
|
30
|
+
ActiveAdmin.application.namespace :admin do |admin|
|
|
31
|
+
admin.build_menu do |menu|
|
|
32
|
+
menu.add :label => "Custom Menu", :url => :admin_dashboard_path
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
"""
|
|
36
|
+
When I am on the dashboard
|
|
37
|
+
Then I should see a menu item for "Custom Menu"
|
|
38
|
+
When I follow "Custom Menu"
|
|
39
|
+
Then I should be on the admin dashboard page
|
|
40
|
+
|
|
41
|
+
Scenario: Adding a resource as a sub menu item
|
|
42
|
+
Given a configuration of:
|
|
43
|
+
"""
|
|
44
|
+
ActiveAdmin.register User
|
|
45
|
+
ActiveAdmin.register Post do
|
|
46
|
+
menu :parent => 'User'
|
|
47
|
+
end
|
|
48
|
+
"""
|
|
49
|
+
When I am on the dashboard
|
|
50
|
+
Then I should see a menu item for "Users"
|
|
51
|
+
When I follow "Users"
|
|
52
|
+
Then the "Users" tab should be selected
|
|
53
|
+
And I should see a nested menu item for "Posts"
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
Feature: New Page
|
|
2
|
+
|
|
3
|
+
Customizing the form to create new resources
|
|
4
|
+
|
|
5
|
+
Background:
|
|
6
|
+
Given a category named "Music" exists
|
|
7
|
+
Given a user named "John Doe" exists
|
|
8
|
+
And I am logged in
|
|
9
|
+
Given a configuration of:
|
|
10
|
+
"""
|
|
11
|
+
ActiveAdmin.register Post do
|
|
12
|
+
permit_params :custom_category_id, :author_id, :title, :body, :published_at, :starred if Rails::VERSION::MAJOR == 4
|
|
13
|
+
end
|
|
14
|
+
"""
|
|
15
|
+
When I am on the index page for posts
|
|
16
|
+
|
|
17
|
+
Scenario: Default form with no config
|
|
18
|
+
Given I follow "New Post"
|
|
19
|
+
When I fill in "Title" with "Hello World"
|
|
20
|
+
And I fill in "Body" with "This is the body"
|
|
21
|
+
And I select "Music" from "Category"
|
|
22
|
+
And I select "John Doe" from "Author"
|
|
23
|
+
And I press "Create Post"
|
|
24
|
+
Then I should see "Post was successfully created."
|
|
25
|
+
And I should see the attribute "Title" with "Hello World"
|
|
26
|
+
And I should see the attribute "Body" with "This is the body"
|
|
27
|
+
#And I should see the attribute "Category" with "Music"
|
|
28
|
+
And I should see the attribute "Author" with "John Doe"
|
|
29
|
+
|
|
30
|
+
Scenario: Generating a custom form
|
|
31
|
+
Given a configuration of:
|
|
32
|
+
"""
|
|
33
|
+
ActiveAdmin.register Post do
|
|
34
|
+
permit_params :custom_category_id, :author_id, :title, :body, :published_at, :starred if Rails::VERSION::MAJOR == 4
|
|
35
|
+
|
|
36
|
+
form do |f|
|
|
37
|
+
f.inputs "Your Post" do
|
|
38
|
+
f.input :title
|
|
39
|
+
f.input :body
|
|
40
|
+
end
|
|
41
|
+
f.inputs "Publishing" do
|
|
42
|
+
f.input :published_at
|
|
43
|
+
end
|
|
44
|
+
f.actions
|
|
45
|
+
end
|
|
46
|
+
end
|
|
47
|
+
"""
|
|
48
|
+
Given I follow "New Post"
|
|
49
|
+
Then I should see a fieldset titled "Your Post"
|
|
50
|
+
And I should see a fieldset titled "Publishing"
|
|
51
|
+
When I fill in "Title" with "Hello World"
|
|
52
|
+
And I fill in "Body" with "This is the body"
|
|
53
|
+
And I press "Create Post"
|
|
54
|
+
Then I should see "Post was successfully created."
|
|
55
|
+
And I should see the attribute "Title" with "Hello World"
|
|
56
|
+
And I should see the attribute "Body" with "This is the body"
|
|
57
|
+
|
|
58
|
+
Scenario: Generating a form from a partial
|
|
59
|
+
Given "app/views/admin/posts/_form.html.erb" contains:
|
|
60
|
+
"""
|
|
61
|
+
<% url = @post.new_record? ? admin_posts_path : admin_post_path(@post) %>
|
|
62
|
+
<%= active_admin_form_for @post, :url => url do |f|
|
|
63
|
+
f.inputs :title, :body
|
|
64
|
+
f.actions
|
|
65
|
+
end %>
|
|
66
|
+
"""
|
|
67
|
+
Given a configuration of:
|
|
68
|
+
"""
|
|
69
|
+
ActiveAdmin.register Post do
|
|
70
|
+
permit_params :custom_category_id, :author_id, :title, :body, :published_at, :starred if Rails::VERSION::MAJOR == 4
|
|
71
|
+
|
|
72
|
+
form :partial => "form"
|
|
73
|
+
end
|
|
74
|
+
"""
|
|
75
|
+
Given I follow "New Post"
|
|
76
|
+
When I fill in "Title" with "Hello World"
|
|
77
|
+
And I fill in "Body" with "This is the body"
|
|
78
|
+
And I press "Create Post"
|
|
79
|
+
Then I should see "Post was successfully created."
|
|
80
|
+
And I should see the attribute "Title" with "Hello World"
|
|
81
|
+
And I should see the attribute "Body" with "This is the body"
|
|
82
|
+
|
|
83
|
+
Scenario: Displaying fields at runtime
|
|
84
|
+
Given a configuration of:
|
|
85
|
+
"""
|
|
86
|
+
ActiveAdmin.register Post do
|
|
87
|
+
permit_params :custom_category_id, :author_id, :title, :body, :published_at, :starred if Rails::VERSION::MAJOR == 4
|
|
88
|
+
|
|
89
|
+
form do |f|
|
|
90
|
+
f.inputs "Your Post" do
|
|
91
|
+
if current_admin_user && false
|
|
92
|
+
f.input :title
|
|
93
|
+
end
|
|
94
|
+
|
|
95
|
+
f.input :body
|
|
96
|
+
end
|
|
97
|
+
f.inputs "Publishing" do
|
|
98
|
+
f.input :published_at
|
|
99
|
+
end
|
|
100
|
+
f.actions
|
|
101
|
+
end
|
|
102
|
+
end
|
|
103
|
+
"""
|
|
104
|
+
Given I follow "New Post"
|
|
105
|
+
Then I should not see "Title"
|
|
106
|
+
And I should see "Body"
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
Feature: Registering Assets
|
|
2
|
+
|
|
3
|
+
Registering CSS and JS files
|
|
4
|
+
|
|
5
|
+
Background:
|
|
6
|
+
Given a configuration of:
|
|
7
|
+
"""
|
|
8
|
+
ActiveAdmin.register Post
|
|
9
|
+
"""
|
|
10
|
+
And I am logged in
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
Scenario: Viewing default asset files
|
|
14
|
+
When I am on the index page for posts
|
|
15
|
+
Then I should see the css file "admin/active_admin.css"
|
|
16
|
+
Then I should see the js file "active_admin_vendor.js"
|
|
17
|
+
Then I should see the js file "active_admin.js"
|
|
18
|
+
|
|
19
|
+
Scenario: Registering a CSS file
|
|
20
|
+
Given a configuration of:
|
|
21
|
+
"""
|
|
22
|
+
ActiveAdmin.application.register_stylesheet "some-random-css.css", :media => :print
|
|
23
|
+
ActiveAdmin.register Post
|
|
24
|
+
"""
|
|
25
|
+
When I am on the index page for posts
|
|
26
|
+
Then I should see the css file "some-random-css.css" of media "print"
|
|
27
|
+
|
|
28
|
+
Scenario: Registering a JS file
|
|
29
|
+
Given a configuration of:
|
|
30
|
+
"""
|
|
31
|
+
ActiveAdmin.application.register_javascript "some-random-js.js"
|
|
32
|
+
ActiveAdmin.register Post
|
|
33
|
+
"""
|
|
34
|
+
When I am on the index page for posts
|
|
35
|
+
Then I should see the js file "some-random-js.js"
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
Feature: Registering Pages
|
|
2
|
+
|
|
3
|
+
Registering pages within Active Admin
|
|
4
|
+
|
|
5
|
+
Background:
|
|
6
|
+
Given I am logged in
|
|
7
|
+
|
|
8
|
+
Scenario: Registering a page
|
|
9
|
+
Given a configuration of:
|
|
10
|
+
"""
|
|
11
|
+
ActiveAdmin.register_page "Status" do
|
|
12
|
+
content do
|
|
13
|
+
"I love chocolate."
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
"""
|
|
17
|
+
When I go to the dashboard
|
|
18
|
+
And I follow "Status"
|
|
19
|
+
Then I should see the page title "Status"
|
|
20
|
+
And I should see the Active Admin layout
|
|
21
|
+
And I should see the content "I love chocolate."
|
|
22
|
+
|
|
23
|
+
Scenario: Registering a page with a complex name
|
|
24
|
+
Given a configuration of:
|
|
25
|
+
"""
|
|
26
|
+
ActiveAdmin.register_page "Chocolate I lØve You!" do
|
|
27
|
+
content do
|
|
28
|
+
"I love chocolate."
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
"""
|
|
32
|
+
When I go to the dashboard
|
|
33
|
+
And I follow "Chocolate I lØve You!"
|
|
34
|
+
Then I should see the page title "Chocolate I lØve You!"
|
|
35
|
+
And I should see the Active Admin layout
|
|
36
|
+
And I should see the content "I love chocolate."
|
|
37
|
+
|
|
38
|
+
Scenario: Registering an empty page
|
|
39
|
+
Given a configuration of:
|
|
40
|
+
"""
|
|
41
|
+
ActiveAdmin.register_page "Status"
|
|
42
|
+
"""
|
|
43
|
+
When I go to the dashboard
|
|
44
|
+
And I follow "Status"
|
|
45
|
+
Then I should see the page title "Status"
|
|
46
|
+
And I should see the Active Admin layout
|
|
47
|
+
|
|
48
|
+
Scenario: Registering a page with a custom title as a string
|
|
49
|
+
Given a configuration of:
|
|
50
|
+
"""
|
|
51
|
+
ActiveAdmin.register_page "Status" do
|
|
52
|
+
content :title => "Custom Page Title" do
|
|
53
|
+
"I love chocolate."
|
|
54
|
+
end
|
|
55
|
+
end
|
|
56
|
+
"""
|
|
57
|
+
When I go to the dashboard
|
|
58
|
+
And I follow "Status"
|
|
59
|
+
Then I should see the page title "Custom Page Title"
|
|
60
|
+
|
|
61
|
+
Scenario: Registering a page with a custom title as a proc
|
|
62
|
+
Given a configuration of:
|
|
63
|
+
"""
|
|
64
|
+
ActiveAdmin.register_page "Status" do
|
|
65
|
+
content :title => proc{ "Custom Page Title from Proc" } do
|
|
66
|
+
"I love chocolate."
|
|
67
|
+
end
|
|
68
|
+
end
|
|
69
|
+
"""
|
|
70
|
+
When I go to the dashboard
|
|
71
|
+
And I follow "Status"
|
|
72
|
+
Then I should see the page title "Custom Page Title from Proc"
|
|
73
|
+
|
|
74
|
+
Scenario: Adding a sidebar section to a page
|
|
75
|
+
Given a configuration of:
|
|
76
|
+
"""
|
|
77
|
+
ActiveAdmin.register_page "Status" do
|
|
78
|
+
sidebar :help do
|
|
79
|
+
"Need help? Email us at help@example.com"
|
|
80
|
+
end
|
|
81
|
+
|
|
82
|
+
content do
|
|
83
|
+
"I love chocolate."
|
|
84
|
+
end
|
|
85
|
+
end
|
|
86
|
+
"""
|
|
87
|
+
When I go to the dashboard
|
|
88
|
+
And I follow "Status"
|
|
89
|
+
Then I should see a sidebar titled "Help"
|
|
90
|
+
|
|
91
|
+
|
|
92
|
+
Scenario: Adding an action item to a page
|
|
93
|
+
Given a configuration of:
|
|
94
|
+
"""
|
|
95
|
+
ActiveAdmin.register_page "Status" do
|
|
96
|
+
action_item do
|
|
97
|
+
link_to "Visit", "/"
|
|
98
|
+
end
|
|
99
|
+
|
|
100
|
+
content do
|
|
101
|
+
"I love chocolate."
|
|
102
|
+
end
|
|
103
|
+
end
|
|
104
|
+
"""
|
|
105
|
+
When I go to the dashboard
|
|
106
|
+
And I follow "Status"
|
|
107
|
+
Then I should see an action item link to "Visit"
|
|
108
|
+
|
|
109
|
+
Scenario: Adding a page action to a page
|
|
110
|
+
Given a configuration of:
|
|
111
|
+
"""
|
|
112
|
+
ActiveAdmin.register_page "Status" do
|
|
113
|
+
page_action :check do
|
|
114
|
+
redirect_to admin_status_path
|
|
115
|
+
end
|
|
116
|
+
|
|
117
|
+
content do
|
|
118
|
+
("Chocolate I lØve You!" + link_to("Check", admin_status_check_path)).html_safe
|
|
119
|
+
end
|
|
120
|
+
end
|
|
121
|
+
"""
|
|
122
|
+
When I go to the dashboard
|
|
123
|
+
And I follow "Status"
|
|
124
|
+
And I follow "Check"
|
|
125
|
+
Then I should see the content "Chocolate I lØve You!"
|
|
126
|
+
And I should see the Active Admin layout
|
|
127
|
+
|
|
128
|
+
Scenario: Adding a page action to a page with erb view
|
|
129
|
+
Given a configuration of:
|
|
130
|
+
"""
|
|
131
|
+
ActiveAdmin.register_page "Status" do
|
|
132
|
+
page_action :check do
|
|
133
|
+
end
|
|
134
|
+
|
|
135
|
+
content do
|
|
136
|
+
("Chocolate I lØve You!" + link_to("Check", admin_status_check_path)).html_safe
|
|
137
|
+
end
|
|
138
|
+
end
|
|
139
|
+
"""
|
|
140
|
+
Given "app/views/admin/status/check.html.erb" contains:
|
|
141
|
+
"""
|
|
142
|
+
<div>Chocolate lØves You Too!</div>
|
|
143
|
+
"""
|
|
144
|
+
When I go to the dashboard
|
|
145
|
+
And I follow "Status"
|
|
146
|
+
And I follow "Check"
|
|
147
|
+
Then I should see the content "Chocolate lØves You Too!"
|
|
148
|
+
And I should see the Active Admin layout
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
Feature: Registering Resources
|
|
2
|
+
|
|
3
|
+
Registering resources within Active Admin
|
|
4
|
+
|
|
5
|
+
Background:
|
|
6
|
+
Given I am logged in
|
|
7
|
+
And a post with the title "Hello World" exists
|
|
8
|
+
|
|
9
|
+
Scenario: Registering a resource with the defaults
|
|
10
|
+
Given a configuration of:
|
|
11
|
+
"""
|
|
12
|
+
ActiveAdmin.register Post
|
|
13
|
+
"""
|
|
14
|
+
When I go to the dashboard
|
|
15
|
+
Then I should see "Posts"
|
|
16
|
+
When I follow "Posts"
|
|
17
|
+
Then I should see "Hello World"
|
|
18
|
+
When I follow "View"
|
|
19
|
+
Then I should see "Hello World"
|
|
20
|
+
And I should be in the resource section for Post
|
|
21
|
+
|
|
22
|
+
Scenario: Registering a resource with another name
|
|
23
|
+
Given a configuration of:
|
|
24
|
+
"""
|
|
25
|
+
ActiveAdmin.register Post, :as => "My Post"
|
|
26
|
+
"""
|
|
27
|
+
When I go to the dashboard
|
|
28
|
+
Then I should see "My Posts"
|
|
29
|
+
When I follow "My Posts"
|
|
30
|
+
Then I should see "Hello World"
|
|
31
|
+
When I follow "View"
|
|
32
|
+
Then I should see "Hello World"
|
|
33
|
+
And I should be in the resource section for My Post
|