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
@@ -1,73 +0,0 @@
|
|
1
|
-
# This is a common set of Formtastic overrides needed to build a filter form
|
2
|
-
# that lets you select from a set of search methods for a given attribute.
|
3
|
-
#
|
4
|
-
# Your class must declare available filters for this module to work.
|
5
|
-
# Those filters must be recognizable by Metasearch. For example:
|
6
|
-
#
|
7
|
-
# class FilterNumericInput < ::Formtastic::Inputs::NumberInput
|
8
|
-
# include FilterBase
|
9
|
-
# include FilterBase::SearchMethodSelect
|
10
|
-
#
|
11
|
-
# filter :equals, :greater_than, :less_than
|
12
|
-
# end
|
13
|
-
#
|
14
|
-
module ActiveAdmin
|
15
|
-
module Inputs
|
16
|
-
module FilterBase
|
17
|
-
module SearchMethodSelect
|
18
|
-
|
19
|
-
def self.included(base)
|
20
|
-
base.extend ClassMethods
|
21
|
-
end
|
22
|
-
|
23
|
-
module ClassMethods
|
24
|
-
attr_reader :filters
|
25
|
-
|
26
|
-
def filter(*filters)
|
27
|
-
(@filters ||= []).push *filters
|
28
|
-
end
|
29
|
-
end
|
30
|
-
|
31
|
-
def wrapper_html_options
|
32
|
-
opts = super
|
33
|
-
(opts[:class] ||= '') << ' select_and_search'
|
34
|
-
opts
|
35
|
-
end
|
36
|
-
|
37
|
-
def to_html
|
38
|
-
input_wrapping do
|
39
|
-
label_html << # your label
|
40
|
-
select_html << # the dropdown that holds the available search methods
|
41
|
-
input_html # your input field
|
42
|
-
end
|
43
|
-
end
|
44
|
-
|
45
|
-
def input_html
|
46
|
-
builder.text_field current_filter, input_html_options
|
47
|
-
end
|
48
|
-
|
49
|
-
def select_html
|
50
|
-
template.select_tag '', template.options_for_select(filter_options, current_filter)
|
51
|
-
end
|
52
|
-
|
53
|
-
def filters
|
54
|
-
options[:filters] || self.class.filters
|
55
|
-
end
|
56
|
-
|
57
|
-
def current_filter
|
58
|
-
@current_filter ||= begin
|
59
|
-
methods = filters.map{ |f| "#{method}_#{f}" }
|
60
|
-
methods.detect{ |m| @object.send m } || methods.first
|
61
|
-
end
|
62
|
-
end
|
63
|
-
|
64
|
-
def filter_options
|
65
|
-
filters.collect do |filter|
|
66
|
-
[I18n.t("active_admin.filters.predicates.#{filter}"), "#{method}_#{filter}"]
|
67
|
-
end
|
68
|
-
end
|
69
|
-
|
70
|
-
end
|
71
|
-
end
|
72
|
-
end
|
73
|
-
end
|
@@ -1,36 +0,0 @@
|
|
1
|
-
module ActiveAdmin
|
2
|
-
module Inputs
|
3
|
-
class FilterBooleanInput < ::Formtastic::Inputs::BooleanInput
|
4
|
-
include FilterBase
|
5
|
-
|
6
|
-
def to_html
|
7
|
-
input_wrapping do
|
8
|
-
[ label_html,
|
9
|
-
check_box_html
|
10
|
-
].join("\n").html_safe
|
11
|
-
end
|
12
|
-
end
|
13
|
-
|
14
|
-
def search_method
|
15
|
-
method.to_s.match(search_conditions) ? method : "#{method}_eq"
|
16
|
-
end
|
17
|
-
|
18
|
-
def checked?
|
19
|
-
object && boolean_checked?(object.send(search_method), checked_value)
|
20
|
-
end
|
21
|
-
|
22
|
-
def input_html_options
|
23
|
-
{ :name => "q[#{ search_method }]" }
|
24
|
-
end
|
25
|
-
|
26
|
-
def search_conditions
|
27
|
-
/(is_true|is_false|is_present|is_blank|is_null|is_not_null)\z/
|
28
|
-
end
|
29
|
-
|
30
|
-
def boolean_checked?(value, checked_value)
|
31
|
-
defined?(super) ? super : ActionView::Helpers::InstanceTag.check_box_checked?(value, checked_value)
|
32
|
-
end
|
33
|
-
|
34
|
-
end
|
35
|
-
end
|
36
|
-
end
|
@@ -1,40 +0,0 @@
|
|
1
|
-
module ActiveAdmin
|
2
|
-
module Inputs
|
3
|
-
class FilterCheckBoxesInput < ::Formtastic::Inputs::CheckBoxesInput
|
4
|
-
include FilterBase
|
5
|
-
|
6
|
-
def input_name
|
7
|
-
"#{object_name}[#{association_primary_key || method}_in][]"
|
8
|
-
end
|
9
|
-
|
10
|
-
def selected_values
|
11
|
-
@object.send("#{association_primary_key || method}_in") || []
|
12
|
-
end
|
13
|
-
|
14
|
-
# Add whitespace before label
|
15
|
-
def choice_label(choice)
|
16
|
-
' ' + super
|
17
|
-
end
|
18
|
-
|
19
|
-
# Don't wrap in UL tag
|
20
|
-
def choices_group_wrapping(&block)
|
21
|
-
template.capture(&block)
|
22
|
-
end
|
23
|
-
|
24
|
-
# Don't wrap in LI tag
|
25
|
-
def choice_wrapping(html_options, &block)
|
26
|
-
template.capture(&block)
|
27
|
-
end
|
28
|
-
|
29
|
-
# Don't render hidden fields
|
30
|
-
def hidden_field_for_all
|
31
|
-
""
|
32
|
-
end
|
33
|
-
|
34
|
-
# Don't render hidden fields
|
35
|
-
def hidden_fields?
|
36
|
-
false
|
37
|
-
end
|
38
|
-
end
|
39
|
-
end
|
40
|
-
end
|
@@ -1,34 +0,0 @@
|
|
1
|
-
module ActiveAdmin
|
2
|
-
module Inputs
|
3
|
-
class FilterDateRangeInput < ::Formtastic::Inputs::StringInput
|
4
|
-
include FilterBase
|
5
|
-
|
6
|
-
def to_html
|
7
|
-
input_wrapping do
|
8
|
-
[ label_html,
|
9
|
-
builder.text_field(gt_input_name, input_html_options(gt_input_name)),
|
10
|
-
template.content_tag(:span, "-", :class => "seperator"),
|
11
|
-
builder.text_field(lt_input_name, input_html_options(lt_input_name)),
|
12
|
-
].join("\n").html_safe
|
13
|
-
end
|
14
|
-
end
|
15
|
-
|
16
|
-
def gt_input_name
|
17
|
-
"#{method}_gte"
|
18
|
-
end
|
19
|
-
alias :input_name :gt_input_name
|
20
|
-
|
21
|
-
def lt_input_name
|
22
|
-
"#{method}_lte"
|
23
|
-
end
|
24
|
-
|
25
|
-
def input_html_options(input_name = gt_input_name)
|
26
|
-
current_value = @object.send(input_name)
|
27
|
-
{ :size => 12,
|
28
|
-
:class => "datepicker",
|
29
|
-
:max => 10,
|
30
|
-
:value => current_value.respond_to?(:strftime) ? current_value.strftime("%Y-%m-%d") : "" }
|
31
|
-
end
|
32
|
-
end
|
33
|
-
end
|
34
|
-
end
|
@@ -1,49 +0,0 @@
|
|
1
|
-
module ActiveAdmin
|
2
|
-
module Inputs
|
3
|
-
class FilterSelectInput < ::Formtastic::Inputs::SelectInput
|
4
|
-
include FilterBase
|
5
|
-
|
6
|
-
# If MetaSearch already responds to the given method, just use it.
|
7
|
-
#
|
8
|
-
# Otherwise:
|
9
|
-
# When it's a HABTM or has_many association, Formtastic builds "object_ids".
|
10
|
-
# That doesn't fit our scenario, so we override it here.
|
11
|
-
def input_name
|
12
|
-
return method if @object.respond_to? method
|
13
|
-
|
14
|
-
name = method.to_s
|
15
|
-
name.concat '_id' if reflection
|
16
|
-
name.concat multiple? ? '_in' : '_eq'
|
17
|
-
end
|
18
|
-
|
19
|
-
# Provide the AA translation to the blank input field.
|
20
|
-
def include_blank
|
21
|
-
I18n.t 'active_admin.any' if super
|
22
|
-
end
|
23
|
-
|
24
|
-
# was "#{object_name}[#{association_primary_key}]"
|
25
|
-
def input_html_options_name
|
26
|
-
"#{object_name}[#{input_name}]"
|
27
|
-
end
|
28
|
-
|
29
|
-
# Would normally return true for has_many and HABTM, which would subsequently
|
30
|
-
# cause the select field to be multi-select instead of a dropdown.
|
31
|
-
def multiple_by_association?
|
32
|
-
false
|
33
|
-
end
|
34
|
-
|
35
|
-
# Provides an efficient default lookup query if the attribute is a DB column.
|
36
|
-
def collection
|
37
|
-
unless Rails::VERSION::MAJOR == 3 && Rails::VERSION::MINOR < 2
|
38
|
-
return pluck_column if !options[:collection] && column_for(method)
|
39
|
-
end
|
40
|
-
super
|
41
|
-
end
|
42
|
-
|
43
|
-
def pluck_column
|
44
|
-
@object.base.reorder("#{method} asc").uniq.pluck method
|
45
|
-
end
|
46
|
-
|
47
|
-
end
|
48
|
-
end
|
49
|
-
end
|
@@ -1,24 +0,0 @@
|
|
1
|
-
module ActiveAdmin
|
2
|
-
module Inputs
|
3
|
-
class FilterStringInput < ::Formtastic::Inputs::StringInput
|
4
|
-
include FilterBase
|
5
|
-
include FilterBase::SearchMethodSelect
|
6
|
-
|
7
|
-
filter :contains, :equals, :starts_with, :ends_with
|
8
|
-
|
9
|
-
# If the filter method includes a search condition, build a normal string search field.
|
10
|
-
# Else, build a search field with a companion dropdown to choose a search condition from.
|
11
|
-
def to_html
|
12
|
-
if @object.methods.exclude?(method) && @object.respond_to?(method)
|
13
|
-
input_wrapping do
|
14
|
-
label_html <<
|
15
|
-
builder.text_field(method, input_html_options)
|
16
|
-
end
|
17
|
-
else
|
18
|
-
super # SearchMethodSelect#to_html
|
19
|
-
end
|
20
|
-
end
|
21
|
-
|
22
|
-
end
|
23
|
-
end
|
24
|
-
end
|
@@ -1,130 +0,0 @@
|
|
1
|
-
module ActiveAdmin
|
2
|
-
|
3
|
-
module Reloader
|
4
|
-
|
5
|
-
# Builds the proper Reloader implementation class given the
|
6
|
-
# current version of Rails.
|
7
|
-
#
|
8
|
-
# @param [Rails::Application] rails_app The current rails application
|
9
|
-
# @param [ActiveAdmin::Application] active_admin_app The current Active Admin app
|
10
|
-
# @param [String] rails_version The version of Rails we're using.
|
11
|
-
#
|
12
|
-
# @returns A concrete subclass of AbstractReloader
|
13
|
-
def self.build(rails_app, active_admin_app, rails_version)
|
14
|
-
reloader_class = rails_version.to_f >= 3.2 ? Rails32Reloader : RailsLessThan31Reloader
|
15
|
-
reloader_class.new(rails_app, active_admin_app, rails_version)
|
16
|
-
end
|
17
|
-
|
18
|
-
class AbstractReloader
|
19
|
-
|
20
|
-
attr_reader :active_admin_app, :rails_app, :rails_version
|
21
|
-
|
22
|
-
def initialize(rails_app, active_admin_app, rails_version)
|
23
|
-
@rails_app = rails_app
|
24
|
-
@active_admin_app = active_admin_app
|
25
|
-
@rails_version = rails_version.to_s
|
26
|
-
end
|
27
|
-
|
28
|
-
def attach!
|
29
|
-
raise "Please implement #{self.class}#attach!"
|
30
|
-
end
|
31
|
-
|
32
|
-
def reload!
|
33
|
-
active_admin_app.unload!
|
34
|
-
rails_app.reload_routes!
|
35
|
-
end
|
36
|
-
|
37
|
-
def major_rails_version
|
38
|
-
@rails_version[0..2]
|
39
|
-
end
|
40
|
-
|
41
|
-
end
|
42
|
-
|
43
|
-
# Reloads the application when using Rails 3.2
|
44
|
-
#
|
45
|
-
# 3.2 introduced a to_prepare block that only gets called when
|
46
|
-
# files have actually changed. ActiveAdmin had built this functionality
|
47
|
-
# in to speed up applications. So in Rails >= 3.2, we can now piggy
|
48
|
-
# back off the existing reloader. This simplifies our duties... which is
|
49
|
-
# nice.
|
50
|
-
class Rails32Reloader < AbstractReloader
|
51
|
-
|
52
|
-
# Attach to Rails and perform the reload on each request.
|
53
|
-
def attach!
|
54
|
-
active_admin_app.load_paths.each do |path|
|
55
|
-
rails_app.config.watchable_dirs[path] = [:rb]
|
56
|
-
end
|
57
|
-
|
58
|
-
reloader = self
|
59
|
-
|
60
|
-
ActionDispatch::Reloader.to_prepare do
|
61
|
-
reloader.reload!
|
62
|
-
end
|
63
|
-
end
|
64
|
-
|
65
|
-
end
|
66
|
-
|
67
|
-
# Deals with reloading Active Admin on each request in
|
68
|
-
# development and once in production in Rails < 3.2.
|
69
|
-
class RailsLessThan31Reloader < AbstractReloader
|
70
|
-
|
71
|
-
class FileUpdateChecker < ::ActiveSupport::FileUpdateChecker
|
72
|
-
def paths
|
73
|
-
# hack to support both Rails 3.1 and 3.2
|
74
|
-
@files || @paths
|
75
|
-
end
|
76
|
-
|
77
|
-
# Over-ride the default #updated_at to support the deletion of files
|
78
|
-
def updated_at
|
79
|
-
paths.map { |path| File.mtime(path) rescue Time.now }.max
|
80
|
-
end
|
81
|
-
|
82
|
-
def execute_if_updated
|
83
|
-
super
|
84
|
-
end
|
85
|
-
end
|
86
|
-
|
87
|
-
attr_reader :file_update_checker
|
88
|
-
|
89
|
-
def initialize(rails_app, active_admin_app, rails_version)
|
90
|
-
super
|
91
|
-
@file_update_checker = FileUpdateChecker.new(watched_paths) do
|
92
|
-
reload!
|
93
|
-
end
|
94
|
-
end
|
95
|
-
|
96
|
-
def reload!
|
97
|
-
super
|
98
|
-
file_update_checker.paths.clear
|
99
|
-
watched_paths.each{|path| file_update_checker.paths << path }
|
100
|
-
end
|
101
|
-
|
102
|
-
|
103
|
-
# Attach to Rails and perform the reload on each request.
|
104
|
-
def attach!
|
105
|
-
# Bring the checker into local scope for the ruby block
|
106
|
-
checker = file_update_checker
|
107
|
-
|
108
|
-
reloader_class.to_prepare do
|
109
|
-
checker.execute_if_updated
|
110
|
-
end
|
111
|
-
end
|
112
|
-
|
113
|
-
def watched_paths
|
114
|
-
paths = active_admin_app.load_paths
|
115
|
-
active_admin_app.load_paths.each{|path| paths += Dir[File.join(path, "**", "*.rb")]}
|
116
|
-
paths
|
117
|
-
end
|
118
|
-
|
119
|
-
def reloader_class
|
120
|
-
if major_rails_version == "3.1"
|
121
|
-
ActionDispatch::Reloader
|
122
|
-
else
|
123
|
-
ActionDispatch::Callbacks
|
124
|
-
end
|
125
|
-
end
|
126
|
-
|
127
|
-
end
|
128
|
-
|
129
|
-
end
|
130
|
-
end
|
@@ -1,81 +0,0 @@
|
|
1
|
-
module ActiveAdmin
|
2
|
-
class ResourceController < BaseController
|
3
|
-
|
4
|
-
# Override the InheritedResources actions to use the
|
5
|
-
# Active Admin templates.
|
6
|
-
#
|
7
|
-
# We ensure that the functionality provided by Inherited
|
8
|
-
# Resources is still available within any ResourceController
|
9
|
-
|
10
|
-
def index(options={}, &block)
|
11
|
-
super(options) do |format|
|
12
|
-
block.call(format) if block
|
13
|
-
format.html { render active_admin_template('index') }
|
14
|
-
format.csv do
|
15
|
-
headers['Content-Type'] = 'text/csv; charset=utf-8'
|
16
|
-
headers['Content-Disposition'] = %{attachment; filename="#{csv_filename}"}
|
17
|
-
render active_admin_template('index')
|
18
|
-
end
|
19
|
-
end
|
20
|
-
end
|
21
|
-
alias :index! :index
|
22
|
-
|
23
|
-
def show(options={}, &block)
|
24
|
-
super do |format|
|
25
|
-
block.call(format) if block
|
26
|
-
format.html { render active_admin_template('show') }
|
27
|
-
end
|
28
|
-
end
|
29
|
-
alias :show! :show
|
30
|
-
|
31
|
-
def new(options={}, &block)
|
32
|
-
super do |format|
|
33
|
-
block.call(format) if block
|
34
|
-
format.html { render active_admin_template('new') }
|
35
|
-
end
|
36
|
-
end
|
37
|
-
alias :new! :new
|
38
|
-
|
39
|
-
def edit(options={}, &block)
|
40
|
-
super do |format|
|
41
|
-
block.call(format) if block
|
42
|
-
format.html { render active_admin_template('edit') }
|
43
|
-
end
|
44
|
-
end
|
45
|
-
alias :edit! :edit
|
46
|
-
|
47
|
-
def create(options={}, &block)
|
48
|
-
super(options) do |success, failure|
|
49
|
-
block.call(success, failure) if block
|
50
|
-
failure.html { render active_admin_template('new') }
|
51
|
-
end
|
52
|
-
end
|
53
|
-
alias :create! :create
|
54
|
-
|
55
|
-
def update(options={}, &block)
|
56
|
-
super do |success, failure|
|
57
|
-
block.call(success, failure) if block
|
58
|
-
failure.html { render active_admin_template('edit') }
|
59
|
-
end
|
60
|
-
end
|
61
|
-
alias :update! :update
|
62
|
-
|
63
|
-
|
64
|
-
# Make aliases protected
|
65
|
-
protected :index!, :show!, :new!, :create!, :edit!, :update!
|
66
|
-
|
67
|
-
protected
|
68
|
-
|
69
|
-
# Returns the full location to the Active Admin template path
|
70
|
-
def active_admin_template(template)
|
71
|
-
"active_admin/resource/#{template}"
|
72
|
-
end
|
73
|
-
|
74
|
-
# Returns a filename for the csv file using the collection_name
|
75
|
-
# and current date such as 'my-articles-2011-06-24.csv'.
|
76
|
-
def csv_filename
|
77
|
-
"#{resource_collection_name.to_s.gsub('_', '-')}-#{Time.now.strftime("%Y-%m-%d")}.csv"
|
78
|
-
end
|
79
|
-
|
80
|
-
end
|
81
|
-
end
|