drewda_rails_admin 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.
- data/Gemfile +53 -0
- data/LICENSE.md +20 -0
- data/README.md +160 -0
- data/Rakefile +19 -0
- data/app/assets/images/rails_admin/aristo/images/bg_fallback.png +0 -0
- data/app/assets/images/rails_admin/aristo/images/icon_sprite.png +0 -0
- data/app/assets/images/rails_admin/aristo/images/progress_bar.gif +0 -0
- data/app/assets/images/rails_admin/aristo/images/slider_handles.png +0 -0
- data/app/assets/images/rails_admin/aristo/images/ui-icons_222222_256x240.png +0 -0
- data/app/assets/images/rails_admin/aristo/images/ui-icons_454545_256x240.png +0 -0
- data/app/assets/images/rails_admin/bullet_black.png +0 -0
- data/app/assets/images/rails_admin/bullet_white.png +0 -0
- data/app/assets/images/rails_admin/calendar.png +0 -0
- data/app/assets/images/rails_admin/clock.png +0 -0
- data/app/assets/images/rails_admin/colorpicker/colorpicker_background.png +0 -0
- data/app/assets/images/rails_admin/colorpicker/colorpicker_hex.png +0 -0
- data/app/assets/images/rails_admin/colorpicker/colorpicker_hsb_b.png +0 -0
- data/app/assets/images/rails_admin/colorpicker/colorpicker_hsb_h.png +0 -0
- data/app/assets/images/rails_admin/colorpicker/colorpicker_hsb_s.png +0 -0
- data/app/assets/images/rails_admin/colorpicker/colorpicker_indic.gif +0 -0
- data/app/assets/images/rails_admin/colorpicker/colorpicker_overlay.png +0 -0
- data/app/assets/images/rails_admin/colorpicker/colorpicker_rgb_b.png +0 -0
- data/app/assets/images/rails_admin/colorpicker/colorpicker_rgb_g.png +0 -0
- data/app/assets/images/rails_admin/colorpicker/colorpicker_rgb_r.png +0 -0
- data/app/assets/images/rails_admin/colorpicker/colorpicker_select.gif +0 -0
- data/app/assets/images/rails_admin/colorpicker/colorpicker_submit.png +0 -0
- data/app/assets/images/rails_admin/colorpicker/custom_background.png +0 -0
- data/app/assets/images/rails_admin/colorpicker/custom_hex.png +0 -0
- data/app/assets/images/rails_admin/colorpicker/custom_hsb_b.png +0 -0
- data/app/assets/images/rails_admin/colorpicker/custom_hsb_h.png +0 -0
- data/app/assets/images/rails_admin/colorpicker/custom_hsb_s.png +0 -0
- data/app/assets/images/rails_admin/colorpicker/custom_indic.gif +0 -0
- data/app/assets/images/rails_admin/colorpicker/custom_rgb_b.png +0 -0
- data/app/assets/images/rails_admin/colorpicker/custom_rgb_g.png +0 -0
- data/app/assets/images/rails_admin/colorpicker/custom_rgb_r.png +0 -0
- data/app/assets/images/rails_admin/colorpicker/custom_submit.png +0 -0
- data/app/assets/images/rails_admin/colorpicker/select.png +0 -0
- data/app/assets/images/rails_admin/colorpicker/select2.png +0 -0
- data/app/assets/images/rails_admin/colorpicker/slider.png +0 -0
- data/app/assets/images/rails_admin/logo.png +0 -0
- data/app/assets/images/rails_admin/magnifier.png +0 -0
- data/app/assets/images/rails_admin/multiselect/icon_sprite.png +0 -0
- data/app/assets/images/rails_admin/multiselect/ui-icon-circle-triangle-n-dark.png +0 -0
- data/app/assets/images/rails_admin/multiselect/ui-icon-circle-triangle-n-light.png +0 -0
- data/app/assets/images/rails_admin/multiselect/ui-icon-circle-triangle-s-dark.png +0 -0
- data/app/assets/images/rails_admin/multiselect/ui-icon-circle-triangle-s-light.png +0 -0
- data/app/assets/javascripts/rails_admin/custom/ui.js +12 -0
- data/app/assets/javascripts/rails_admin/jquery.colorpicker.js +484 -0
- data/app/assets/javascripts/rails_admin/jquery.pjax.js +431 -0
- data/app/assets/javascripts/rails_admin/jquery.ui.timepicker.js +1371 -0
- data/app/assets/javascripts/rails_admin/ra.datetimepicker.js +67 -0
- data/app/assets/javascripts/rails_admin/ra.filter-box.js +129 -0
- data/app/assets/javascripts/rails_admin/ra.filtering-multiselect.js +280 -0
- data/app/assets/javascripts/rails_admin/ra.filtering-select.js +181 -0
- data/app/assets/javascripts/rails_admin/ra.nested-form-hooks.coffee +40 -0
- data/app/assets/javascripts/rails_admin/ra.remote-form.js +150 -0
- data/app/assets/javascripts/rails_admin/rails_admin.js.erb +25 -0
- data/app/assets/javascripts/rails_admin/themes/default/ui.js +12 -0
- data/app/assets/javascripts/rails_admin/ui.js.coffee +61 -0
- data/app/assets/stylesheets/rails_admin/aristo/images/bg_fallback.png +0 -0
- data/app/assets/stylesheets/rails_admin/aristo/images/icon_sprite.png +0 -0
- data/app/assets/stylesheets/rails_admin/aristo/images/progress_bar.gif +0 -0
- data/app/assets/stylesheets/rails_admin/aristo/images/slider_handles.png +0 -0
- data/app/assets/stylesheets/rails_admin/aristo/images/ui-icons_222222_256x240.png +0 -0
- data/app/assets/stylesheets/rails_admin/aristo/images/ui-icons_454545_256x240.png +0 -0
- data/app/assets/stylesheets/rails_admin/aristo/jquery-ui-1.8.7.custom.css.scss +733 -0
- data/app/assets/stylesheets/rails_admin/base/README +2 -0
- data/app/assets/stylesheets/rails_admin/base/mixins.css.scss +1 -0
- data/app/assets/stylesheets/rails_admin/base/theming.css.scss +263 -0
- data/app/assets/stylesheets/rails_admin/base/variables.css.scss +1 -0
- data/app/assets/stylesheets/rails_admin/custom/mixins.css.scss +12 -0
- data/app/assets/stylesheets/rails_admin/custom/theming.css.scss +13 -0
- data/app/assets/stylesheets/rails_admin/custom/variables.css.scss +15 -0
- data/app/assets/stylesheets/rails_admin/imports.css.scss.erb +76 -0
- data/app/assets/stylesheets/rails_admin/jquery.colorpicker.css.scss +180 -0
- data/app/assets/stylesheets/rails_admin/jquery.ui.timepicker.css.scss +69 -0
- data/app/assets/stylesheets/rails_admin/ra.calendar-additions.css.scss +25 -0
- data/app/assets/stylesheets/rails_admin/ra.filtering-multiselect.css.scss +85 -0
- data/app/assets/stylesheets/rails_admin/rails_admin.css +4 -0
- data/app/assets/stylesheets/rails_admin/themes/default/mixins.css.scss +8 -0
- data/app/assets/stylesheets/rails_admin/themes/default/theming.css.scss +11 -0
- data/app/assets/stylesheets/rails_admin/themes/default/variables.css.scss +12 -0
- data/app/controllers/rails_admin/application_controller.rb +82 -0
- data/app/controllers/rails_admin/main_controller.rb +151 -0
- data/app/helpers/rails_admin/application_helper.rb +123 -0
- data/app/helpers/rails_admin/form_builder.rb +104 -0
- data/app/helpers/rails_admin/main_helper.rb +36 -0
- data/app/views/kaminari/twitter-bootstrap/_gap.html.haml +2 -0
- data/app/views/kaminari/twitter-bootstrap/_next_page.html.haml +4 -0
- data/app/views/kaminari/twitter-bootstrap/_page.html.haml +4 -0
- data/app/views/kaminari/twitter-bootstrap/_paginator.html.haml +10 -0
- data/app/views/kaminari/twitter-bootstrap/_prev_page.html.haml +4 -0
- data/app/views/layouts/rails_admin/_secondary_navigation.html.haml +12 -0
- data/app/views/layouts/rails_admin/application.html.haml +39 -0
- data/app/views/rails_admin/main/_dashboard_history.html.haml +10 -0
- data/app/views/rails_admin/main/_delete_notice.html.haml +18 -0
- data/app/views/rails_admin/main/_form_colorpicker.html.haml +24 -0
- data/app/views/rails_admin/main/_form_datetime.html.haml +4 -0
- data/app/views/rails_admin/main/_form_enumeration.html.haml +4 -0
- data/app/views/rails_admin/main/_form_field.html.haml +1 -0
- data/app/views/rails_admin/main/_form_file_upload.html.haml +18 -0
- data/app/views/rails_admin/main/_form_filtering_multiselect.html.haml +59 -0
- data/app/views/rails_admin/main/_form_filtering_select.html.haml +47 -0
- data/app/views/rails_admin/main/_form_nested_many.html.haml +41 -0
- data/app/views/rails_admin/main/_form_nested_one.html.haml +35 -0
- data/app/views/rails_admin/main/_form_polymorphic_association.html.haml +34 -0
- data/app/views/rails_admin/main/_form_text.html.haml +9 -0
- data/app/views/rails_admin/main/_submit_buttons.html.haml +15 -0
- data/app/views/rails_admin/main/bulk_delete.html.haml +11 -0
- data/app/views/rails_admin/main/dashboard.html.haml +31 -0
- data/app/views/rails_admin/main/delete.html.haml +18 -0
- data/app/views/rails_admin/main/edit.html.haml +2 -0
- data/app/views/rails_admin/main/export.html.haml +75 -0
- data/app/views/rails_admin/main/history.html.haml +42 -0
- data/app/views/rails_admin/main/index.html.haml +140 -0
- data/app/views/rails_admin/main/new.html.haml +2 -0
- data/app/views/rails_admin/main/show.html.haml +14 -0
- data/config/initializers/active_record_extensions.rb +19 -0
- data/config/initializers/devise_patch.rb +9 -0
- data/config/initializers/haml.rb +2 -0
- data/config/initializers/mongoid_extensions.rb +4 -0
- data/config/locales/fr.yml +24 -0
- data/config/locales/rails_admin.en.yml +130 -0
- data/config/routes.rb +12 -0
- data/lib/generators/rails_admin/install_generator.rb +84 -0
- data/lib/generators/rails_admin/templates/drop.rb +18 -0
- data/lib/generators/rails_admin/templates/initializer.erb +101 -0
- data/lib/generators/rails_admin/templates/migration.rb +18 -0
- data/lib/generators/rails_admin/uninstall_generator.rb +22 -0
- data/lib/generators/rails_admin/utils.rb +30 -0
- data/lib/rails_admin.rb +34 -0
- data/lib/rails_admin/abstract_model.rb +110 -0
- data/lib/rails_admin/adapters/active_record.rb +247 -0
- data/lib/rails_admin/adapters/active_record/abstract_object.rb +32 -0
- data/lib/rails_admin/adapters/mongoid.rb +333 -0
- data/lib/rails_admin/adapters/mongoid/abstract_object.rb +32 -0
- data/lib/rails_admin/adapters/mongoid/extension.rb +27 -0
- data/lib/rails_admin/config.rb +322 -0
- data/lib/rails_admin/config/actions.rb +121 -0
- data/lib/rails_admin/config/actions/base.rb +117 -0
- data/lib/rails_admin/config/actions/bulk_delete.rb +55 -0
- data/lib/rails_admin/config/actions/dashboard.rb +44 -0
- data/lib/rails_admin/config/actions/delete.rb +53 -0
- data/lib/rails_admin/config/actions/edit.rb +60 -0
- data/lib/rails_admin/config/actions/export.rb +40 -0
- data/lib/rails_admin/config/actions/history_index.rb +38 -0
- data/lib/rails_admin/config/actions/history_show.rb +38 -0
- data/lib/rails_admin/config/actions/index.rb +85 -0
- data/lib/rails_admin/config/actions/new.rb +64 -0
- data/lib/rails_admin/config/actions/show.rb +32 -0
- data/lib/rails_admin/config/actions/show_in_app.rb +28 -0
- data/lib/rails_admin/config/configurable.rb +92 -0
- data/lib/rails_admin/config/fields.rb +88 -0
- data/lib/rails_admin/config/fields/association.rb +108 -0
- data/lib/rails_admin/config/fields/base.rb +281 -0
- data/lib/rails_admin/config/fields/factories/belongs_to_association.rb +29 -0
- data/lib/rails_admin/config/fields/factories/carrierwave.rb +31 -0
- data/lib/rails_admin/config/fields/factories/devise.rb +27 -0
- data/lib/rails_admin/config/fields/factories/dragonfly.rb +27 -0
- data/lib/rails_admin/config/fields/factories/enum.rb +11 -0
- data/lib/rails_admin/config/fields/factories/paperclip.rb +26 -0
- data/lib/rails_admin/config/fields/factories/password.rb +17 -0
- data/lib/rails_admin/config/fields/factories/serialized.rb +17 -0
- data/lib/rails_admin/config/fields/group.rb +78 -0
- data/lib/rails_admin/config/fields/types.rb +27 -0
- data/lib/rails_admin/config/fields/types/all.rb +26 -0
- data/lib/rails_admin/config/fields/types/belongs_to_association.rb +41 -0
- data/lib/rails_admin/config/fields/types/boolean.rb +31 -0
- data/lib/rails_admin/config/fields/types/bson_object_id.rb +42 -0
- data/lib/rails_admin/config/fields/types/carrierwave.rb +31 -0
- data/lib/rails_admin/config/fields/types/color.rb +37 -0
- data/lib/rails_admin/config/fields/types/date.rb +24 -0
- data/lib/rails_admin/config/fields/types/datetime.rb +165 -0
- data/lib/rails_admin/config/fields/types/decimal.rb +14 -0
- data/lib/rails_admin/config/fields/types/dragonfly.rb +41 -0
- data/lib/rails_admin/config/fields/types/enum.rb +35 -0
- data/lib/rails_admin/config/fields/types/file_upload.rb +61 -0
- data/lib/rails_admin/config/fields/types/float.rb +14 -0
- data/lib/rails_admin/config/fields/types/has_and_belongs_to_many_association.rb +14 -0
- data/lib/rails_admin/config/fields/types/has_many_association.rb +32 -0
- data/lib/rails_admin/config/fields/types/has_one_association.rb +39 -0
- data/lib/rails_admin/config/fields/types/hidden.rb +21 -0
- data/lib/rails_admin/config/fields/types/integer.rb +22 -0
- data/lib/rails_admin/config/fields/types/mongoid_type.rb +25 -0
- data/lib/rails_admin/config/fields/types/paperclip.rb +28 -0
- data/lib/rails_admin/config/fields/types/password.rb +39 -0
- data/lib/rails_admin/config/fields/types/polymorphic_association.rb +76 -0
- data/lib/rails_admin/config/fields/types/serialized.rb +22 -0
- data/lib/rails_admin/config/fields/types/string.rb +41 -0
- data/lib/rails_admin/config/fields/types/text.rb +36 -0
- data/lib/rails_admin/config/fields/types/time.rb +36 -0
- data/lib/rails_admin/config/fields/types/timestamp.rb +18 -0
- data/lib/rails_admin/config/groupable.rb +18 -0
- data/lib/rails_admin/config/has_fields.rb +135 -0
- data/lib/rails_admin/config/has_groups.rb +23 -0
- data/lib/rails_admin/config/hideable.rb +28 -0
- data/lib/rails_admin/config/model.rb +88 -0
- data/lib/rails_admin/config/proxyable.rb +12 -0
- data/lib/rails_admin/config/proxyable/proxy.rb +43 -0
- data/lib/rails_admin/config/sections.rb +38 -0
- data/lib/rails_admin/config/sections/base.rb +29 -0
- data/lib/rails_admin/config/sections/create.rb +11 -0
- data/lib/rails_admin/config/sections/edit.rb +11 -0
- data/lib/rails_admin/config/sections/export.rb +11 -0
- data/lib/rails_admin/config/sections/list.rb +27 -0
- data/lib/rails_admin/config/sections/nested.rb +10 -0
- data/lib/rails_admin/config/sections/show.rb +10 -0
- data/lib/rails_admin/config/sections/update.rb +10 -0
- data/lib/rails_admin/engine.rb +22 -0
- data/lib/rails_admin/extension.rb +29 -0
- data/lib/rails_admin/extensions/cancan.rb +5 -0
- data/lib/rails_admin/extensions/cancan/authorization_adapter.rb +59 -0
- data/lib/rails_admin/extensions/history.rb +5 -0
- data/lib/rails_admin/extensions/history/auditing_adapter.rb +37 -0
- data/lib/rails_admin/extensions/history/history.rb +69 -0
- data/lib/rails_admin/extensions/paper_trail.rb +5 -0
- data/lib/rails_admin/extensions/paper_trail/auditing_adapter.rb +92 -0
- data/lib/rails_admin/i18n_support.rb +43 -0
- data/lib/rails_admin/support/core_extensions.rb +44 -0
- data/lib/rails_admin/support/csv_converter.rb +109 -0
- data/lib/rails_admin/version.rb +6 -0
- data/lib/tasks/prepare_ci_env.rake +27 -0
- data/lib/tasks/rails_admin.rake +18 -0
- data/spec/ci.sh +2 -0
- data/spec/controllers/application_controller_spec.rb +30 -0
- data/spec/controllers/main_controller_spec.rb +180 -0
- data/spec/database_helpers.rb +15 -0
- data/spec/dummy_app/Gemfile +58 -0
- data/spec/dummy_app/Rakefile +7 -0
- data/spec/dummy_app/app/assets/images/rails.png +0 -0
- data/spec/dummy_app/app/assets/javascripts/application.js +15 -0
- data/spec/dummy_app/app/assets/stylesheets/application.css +13 -0
- data/spec/dummy_app/app/controllers/application_controller.rb +3 -0
- data/spec/dummy_app/app/controllers/players_controller.rb +5 -0
- data/spec/dummy_app/app/helpers/application_helper.rb +2 -0
- data/spec/dummy_app/app/locales/models.en.yml +16 -0
- data/spec/dummy_app/app/models/abstract.rb +5 -0
- data/spec/dummy_app/app/models/article.rb +9 -0
- data/spec/dummy_app/app/models/author.rb +6 -0
- data/spec/dummy_app/app/models/ball.rb +8 -0
- data/spec/dummy_app/app/models/category.rb +3 -0
- data/spec/dummy_app/app/models/cms.rb +5 -0
- data/spec/dummy_app/app/models/cms/basic_page.rb +7 -0
- data/spec/dummy_app/app/models/cms/unscoped_page.rb +3 -0
- data/spec/dummy_app/app/models/comment.rb +3 -0
- data/spec/dummy_app/app/models/division.rb +12 -0
- data/spec/dummy_app/app/models/draft.rb +11 -0
- data/spec/dummy_app/app/models/fan.rb +5 -0
- data/spec/dummy_app/app/models/field_test.rb +20 -0
- data/spec/dummy_app/app/models/hardball.rb +2 -0
- data/spec/dummy_app/app/models/league.rb +10 -0
- data/spec/dummy_app/app/models/mongoid_field_test.rb +22 -0
- data/spec/dummy_app/app/models/nested_field_test.rb +6 -0
- data/spec/dummy_app/app/models/player.rb +23 -0
- data/spec/dummy_app/app/models/rel_test.rb +6 -0
- data/spec/dummy_app/app/models/tag.rb +7 -0
- data/spec/dummy_app/app/models/team.rb +25 -0
- data/spec/dummy_app/app/models/user.rb +21 -0
- data/spec/dummy_app/app/uploaders/carrierwave_uploader.rb +53 -0
- data/spec/dummy_app/app/views/layouts/application.html.erb +14 -0
- data/spec/dummy_app/app/views/players/show.html.haml +1 -0
- data/spec/dummy_app/config.ru +4 -0
- data/spec/dummy_app/config/application.rb +62 -0
- data/spec/dummy_app/config/boot.rb +6 -0
- data/spec/dummy_app/config/database.yml +25 -0
- data/spec/dummy_app/config/environment.rb +5 -0
- data/spec/dummy_app/config/environments/development.rb +37 -0
- data/spec/dummy_app/config/environments/production.rb +67 -0
- data/spec/dummy_app/config/environments/test.rb +37 -0
- data/spec/dummy_app/config/initializers/backtrace_silencers.rb +7 -0
- data/spec/dummy_app/config/initializers/devise.rb +148 -0
- data/spec/dummy_app/config/initializers/inflections.rb +15 -0
- data/spec/dummy_app/config/initializers/mime_types.rb +5 -0
- data/spec/dummy_app/config/initializers/rails_admin.rb +11 -0
- data/spec/dummy_app/config/initializers/secret_token.rb +7 -0
- data/spec/dummy_app/config/initializers/session_store.rb +8 -0
- data/spec/dummy_app/config/initializers/wrap_parameters.rb +14 -0
- data/spec/dummy_app/config/mongoid.yml +17 -0
- data/spec/dummy_app/config/routes.rb +10 -0
- data/spec/dummy_app/db/migrate/00000000000001_create_divisions_migration.rb +13 -0
- data/spec/dummy_app/db/migrate/00000000000002_create_drafts_migration.rb +19 -0
- data/spec/dummy_app/db/migrate/00000000000003_create_leagues_migration.rb +12 -0
- data/spec/dummy_app/db/migrate/00000000000004_create_players_migration.rb +20 -0
- data/spec/dummy_app/db/migrate/00000000000005_create_teams_migration.rb +22 -0
- data/spec/dummy_app/db/migrate/00000000000006_devise_create_users.rb +49 -0
- data/spec/dummy_app/db/migrate/00000000000007_create_histories_table.rb +16 -0
- data/spec/dummy_app/db/migrate/00000000000008_create_fans_migration.rb +12 -0
- data/spec/dummy_app/db/migrate/00000000000009_create_fans_teams_migration.rb +11 -0
- data/spec/dummy_app/db/migrate/00000000000010_add_revenue_to_team_migration.rb +9 -0
- data/spec/dummy_app/db/migrate/00000000000011_add_suspended_to_player_migration.rb +9 -0
- data/spec/dummy_app/db/migrate/00000000000012_add_avatar_columns_to_user.rb +16 -0
- data/spec/dummy_app/db/migrate/00000000000013_add_roles_to_user.rb +9 -0
- data/spec/dummy_app/db/migrate/00000000000014_add_color_to_team_migration.rb +9 -0
- data/spec/dummy_app/db/migrate/20101223222233_create_rel_tests.rb +15 -0
- data/spec/dummy_app/db/migrate/20110103205808_create_comments.rb +15 -0
- data/spec/dummy_app/db/migrate/20110123042530_rename_histories_to_rails_admin_histories.rb +9 -0
- data/spec/dummy_app/db/migrate/20110224184303_create_field_tests.rb +22 -0
- data/spec/dummy_app/db/migrate/20110328193014_create_cms_basic_pages.rb +14 -0
- data/spec/dummy_app/db/migrate/20110329183136_remove_league_id_from_teams.rb +9 -0
- data/spec/dummy_app/db/migrate/20110607152842_add_format_to_field_test.rb +9 -0
- data/spec/dummy_app/db/migrate/20110714095433_create_balls.rb +12 -0
- data/spec/dummy_app/db/migrate/20110831090841_add_protected_field_and_restricted_field_to_field_tests.rb +6 -0
- data/spec/dummy_app/db/migrate/20110901131551_change_division_primary_key.rb +19 -0
- data/spec/dummy_app/db/migrate/20110901142530_rename_league_id_foreign_key_on_divisions.rb +5 -0
- data/spec/dummy_app/db/migrate/20110901150912_set_primary_key_not_null_for_divisions.rb +21 -0
- data/spec/dummy_app/db/migrate/20110901154834_change_length_for_rails_admin_histories.rb +9 -0
- data/spec/dummy_app/db/migrate/20111103174459_create_unscoped_pages.rb +9 -0
- data/spec/dummy_app/db/migrate/20111108143642_add_dragonfly_and_carrierwave_to_field_tests.rb +7 -0
- data/spec/dummy_app/db/migrate/20111115041025_add_type_to_balls.rb +5 -0
- data/spec/dummy_app/db/migrate/20111123092549_create_nested_field_tests.rb +10 -0
- data/spec/dummy_app/db/migrate/20111130075338_add_dragonfly_asset_name_to_field_tests.rb +5 -0
- data/spec/dummy_app/db/migrate/20111215083258_create_foo_bars.rb +8 -0
- data/spec/dummy_app/db/migrate/20120117151733_add_custom_field_to_teams.rb +5 -0
- data/spec/dummy_app/db/migrate/20120118122004_add_categories.rb +7 -0
- data/spec/dummy_app/db/seeds.rb +18 -0
- data/spec/dummy_app/doc/README_FOR_APP +2 -0
- data/spec/dummy_app/public/404.html +26 -0
- data/spec/dummy_app/public/422.html +26 -0
- data/spec/dummy_app/public/500.html +25 -0
- data/spec/dummy_app/public/favicon.ico +0 -0
- data/spec/dummy_app/public/robots.txt +5 -0
- data/spec/dummy_app/public/system/dragonfly/development/2011/11/24/10_36_27_888_Pensive_Parakeet.jpg +0 -0
- data/spec/dummy_app/public/system/dragonfly/development/2011/11/24/10_36_27_888_Pensive_Parakeet.jpg.meta +1 -0
- data/spec/dummy_app/public/system/dragonfly/development/2011/11/30/08_54_39_906_Costa_Rican_Frog.jpg +0 -0
- data/spec/dummy_app/public/system/dragonfly/development/2011/11/30/08_54_39_906_Costa_Rican_Frog.jpg.meta +1 -0
- data/spec/dummy_app/public/system/paperclip_assets/1/original/Boston City Flow.jpg +0 -0
- data/spec/dummy_app/public/system/paperclip_assets/1/thumb/Boston City Flow.jpg +0 -0
- data/spec/dummy_app/public/system/paperclip_assets/3/original/Costa Rican Frog.jpg +0 -0
- data/spec/dummy_app/public/system/paperclip_assets/3/thumb/Costa Rican Frog.jpg +0 -0
- data/spec/dummy_app/public/system/paperclip_assets/6/original/liste-electorale.pdf +0 -0
- data/spec/dummy_app/public/system/paperclip_assets/6/thumb/liste-electorale.pdf +148 -0
- data/spec/dummy_app/public/uploads/field_test/carrierwave_asset/3/Boston_City_Flow.jpg +0 -0
- data/spec/dummy_app/public/uploads/field_test/carrierwave_asset/3/thumb_Boston_City_Flow.jpg +0 -0
- data/spec/dummy_app/public/uploads/field_test/carrierwave_asset/4/Costa_Rican_Frog.jpg +0 -0
- data/spec/dummy_app/public/uploads/field_test/carrierwave_asset/4/thumb_Costa_Rican_Frog.jpg +0 -0
- data/spec/dummy_app/public/uploads/field_test/carrierwave_asset/6/Pensive_Parakeet.jpg +0 -0
- data/spec/dummy_app/public/uploads/field_test/carrierwave_asset/6/thumb_Pensive_Parakeet.jpg +0 -0
- data/spec/dummy_app/script/rails +6 -0
- data/spec/factories.rb +89 -0
- data/spec/helpers/application_helper_spec.rb +277 -0
- data/spec/integration/authorization/cancan_spec.rb +349 -0
- data/spec/integration/basic/bulk_action/rails_admin_basic_bulk_action_spec.rb +25 -0
- data/spec/integration/basic/bulk_destroy/rails_admin_basic_bulk_destroy_spec.rb +44 -0
- data/spec/integration/basic/create/rails_admin_basic_create_spec.rb +154 -0
- data/spec/integration/basic/create/rails_admin_namespaced_model_create_spec.rb +23 -0
- data/spec/integration/basic/delete/rails_admin_basic_delete_spec.rb +27 -0
- data/spec/integration/basic/destroy/rails_admin_basic_destroy_spec.rb +56 -0
- data/spec/integration/basic/edit/rails_admin_basic_edit_spec.rb +109 -0
- data/spec/integration/basic/export/rails_admin_basic_export_spec.rb +87 -0
- data/spec/integration/basic/list/rails_admin_basic_list_spec.rb +392 -0
- data/spec/integration/basic/new/rails_admin_basic_new_spec.rb +74 -0
- data/spec/integration/basic/new/rails_admin_namespaced_model_new_spec.rb +31 -0
- data/spec/integration/basic/show/rails_admin_basic_show_spec.rb +91 -0
- data/spec/integration/basic/update/rails_admin_basic_update_spec.rb +219 -0
- data/spec/integration/config/edit/rails_admin_config_edit_spec.rb +954 -0
- data/spec/integration/config/list/rails_admin_config_list_spec.rb +509 -0
- data/spec/integration/config/show/rails_admin_config_show_spec.rb +302 -0
- data/spec/integration/history/rails_admin_history_spec.rb +66 -0
- data/spec/integration/rails_admin_spec.rb +113 -0
- data/spec/integration/relation_spec.rb +26 -0
- data/spec/spec_helper.rb +86 -0
- data/spec/support/tableless.rb +27 -0
- data/spec/unit/adapters/active_record/abstract_object_spec.rb +131 -0
- data/spec/unit/adapters/active_record_spec.rb +373 -0
- data/spec/unit/adapters/mongoid/abstract_object_spec.rb +30 -0
- data/spec/unit/adapters/mongoid_spec.rb +581 -0
- data/spec/unit/config/actions_spec.rb +181 -0
- data/spec/unit/config/fields/base_spec.rb +300 -0
- data/spec/unit/config/model_spec.rb +75 -0
- data/spec/unit/config/sections_spec.rb +123 -0
- data/spec/unit/config_spec.rb +273 -0
- metadata +823 -0
|
@@ -0,0 +1,509 @@
|
|
|
1
|
+
require 'spec_helper'
|
|
2
|
+
|
|
3
|
+
describe "RailsAdmin Config DSL List Section" do
|
|
4
|
+
|
|
5
|
+
subject { page }
|
|
6
|
+
|
|
7
|
+
describe "css hooks" do
|
|
8
|
+
it "should be present" do
|
|
9
|
+
FactoryGirl.create :team
|
|
10
|
+
visit index_path(:model_name => "team")
|
|
11
|
+
should have_selector("th.header.string_type.name_field")
|
|
12
|
+
should have_selector("td.string_type.name_field")
|
|
13
|
+
end
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
describe "number of items per page" do
|
|
18
|
+
|
|
19
|
+
before(:each) do
|
|
20
|
+
2.times.each do
|
|
21
|
+
FactoryGirl.create :league
|
|
22
|
+
FactoryGirl.create :player
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
it "should be configurable" do
|
|
27
|
+
RailsAdmin::Config.models do
|
|
28
|
+
list do
|
|
29
|
+
items_per_page 1
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
visit index_path(:model_name => "league")
|
|
33
|
+
should have_selector("tbody tr", :count => 1)
|
|
34
|
+
visit index_path(:model_name => "player")
|
|
35
|
+
should have_selector("tbody tr", :count => 1)
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
it "should be configurable per model" do
|
|
39
|
+
RailsAdmin.config League do
|
|
40
|
+
list do
|
|
41
|
+
items_per_page 1
|
|
42
|
+
end
|
|
43
|
+
end
|
|
44
|
+
visit index_path(:model_name => "league")
|
|
45
|
+
should have_selector("tbody tr", :count => 1)
|
|
46
|
+
visit index_path(:model_name => "player")
|
|
47
|
+
should have_selector("tbody tr", :count => 2)
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
it "should be globally configurable and overrideable per model" do
|
|
51
|
+
RailsAdmin::Config.models do
|
|
52
|
+
list do
|
|
53
|
+
items_per_page 20
|
|
54
|
+
end
|
|
55
|
+
end
|
|
56
|
+
RailsAdmin.config League do
|
|
57
|
+
list do
|
|
58
|
+
items_per_page 1
|
|
59
|
+
end
|
|
60
|
+
end
|
|
61
|
+
visit index_path(:model_name => "league")
|
|
62
|
+
should have_selector("tbody tr", :count => 1)
|
|
63
|
+
visit index_path(:model_name => "player")
|
|
64
|
+
should have_selector("tbody tr", :count => 2)
|
|
65
|
+
end
|
|
66
|
+
end
|
|
67
|
+
|
|
68
|
+
describe "items' fields" do
|
|
69
|
+
|
|
70
|
+
it "should show all by default" do
|
|
71
|
+
visit index_path(:model_name => "fan")
|
|
72
|
+
find("th:nth-child(2)").should have_content("Id")
|
|
73
|
+
find("th:nth-child(3)").should have_content("Created at")
|
|
74
|
+
find("th:nth-child(4)").should have_content("Updated at")
|
|
75
|
+
find("th:nth-child(5)").should have_content("His Name")
|
|
76
|
+
end
|
|
77
|
+
|
|
78
|
+
it "should hide some fields on demand with a block" do
|
|
79
|
+
RailsAdmin.config Fan do
|
|
80
|
+
list do
|
|
81
|
+
exclude_fields_if do
|
|
82
|
+
type == :datetime
|
|
83
|
+
end
|
|
84
|
+
end
|
|
85
|
+
end
|
|
86
|
+
visit index_path(:model_name => "fan")
|
|
87
|
+
find("th:nth-child(2)").should have_content("Id")
|
|
88
|
+
find("th:nth-child(3)").should have_content("His Name")
|
|
89
|
+
end
|
|
90
|
+
|
|
91
|
+
it "should hide some fields on demand with fields list" do
|
|
92
|
+
RailsAdmin.config Fan do
|
|
93
|
+
list do
|
|
94
|
+
exclude_fields :created_at, :updated_at
|
|
95
|
+
end
|
|
96
|
+
end
|
|
97
|
+
visit index_path(:model_name => "fan")
|
|
98
|
+
find("th:nth-child(2)").should have_content("Id")
|
|
99
|
+
find("th:nth-child(3)").should have_content("His Name")
|
|
100
|
+
end
|
|
101
|
+
|
|
102
|
+
it "should add some fields on demand with a block" do
|
|
103
|
+
RailsAdmin.config Fan do
|
|
104
|
+
list do
|
|
105
|
+
include_fields_if do
|
|
106
|
+
type != :datetime
|
|
107
|
+
end
|
|
108
|
+
end
|
|
109
|
+
end
|
|
110
|
+
visit index_path(:model_name => "fan")
|
|
111
|
+
find("th:nth-child(2)").should have_content("Id")
|
|
112
|
+
find("th:nth-child(3)").should have_content("His Name")
|
|
113
|
+
end
|
|
114
|
+
|
|
115
|
+
it "should show some fields on demand with fields list, respect ordering and configure them" do
|
|
116
|
+
RailsAdmin.config Fan do
|
|
117
|
+
list do
|
|
118
|
+
fields :name, :id do
|
|
119
|
+
label do
|
|
120
|
+
"Modified #{label}"
|
|
121
|
+
end
|
|
122
|
+
end
|
|
123
|
+
end
|
|
124
|
+
end
|
|
125
|
+
visit index_path(:model_name => "fan")
|
|
126
|
+
|
|
127
|
+
find("th:nth-child(2)").should have_content("Modified His Name")
|
|
128
|
+
find("th:nth-child(3)").should have_content("Modified Id")
|
|
129
|
+
end
|
|
130
|
+
|
|
131
|
+
it "should show all fields if asked" do
|
|
132
|
+
RailsAdmin.config Fan do
|
|
133
|
+
list do
|
|
134
|
+
include_all_fields
|
|
135
|
+
field :id
|
|
136
|
+
field :name
|
|
137
|
+
end
|
|
138
|
+
end
|
|
139
|
+
visit index_path(:model_name => "fan")
|
|
140
|
+
|
|
141
|
+
find("th:nth-child(2)").should have_content("Id")
|
|
142
|
+
find("th:nth-child(3)").should have_content("Created at")
|
|
143
|
+
find("th:nth-child(4)").should have_content("Updated at")
|
|
144
|
+
find("th:nth-child(5)").should have_content("His Name")
|
|
145
|
+
end
|
|
146
|
+
|
|
147
|
+
it "should appear in order defined" do
|
|
148
|
+
RailsAdmin.config Fan do
|
|
149
|
+
list do
|
|
150
|
+
field :updated_at
|
|
151
|
+
field :name
|
|
152
|
+
field :id
|
|
153
|
+
field :created_at
|
|
154
|
+
end
|
|
155
|
+
end
|
|
156
|
+
visit index_path(:model_name => "fan")
|
|
157
|
+
|
|
158
|
+
find("th:nth-child(2)").should have_content("Updated at")
|
|
159
|
+
find("th:nth-child(3)").should have_content("His Name")
|
|
160
|
+
find("th:nth-child(4)").should have_content("Id")
|
|
161
|
+
find("th:nth-child(5)").should have_content("Created at")
|
|
162
|
+
end
|
|
163
|
+
|
|
164
|
+
it "should only list the defined fields if some fields are defined" do
|
|
165
|
+
RailsAdmin.config Fan do
|
|
166
|
+
list do
|
|
167
|
+
field :id
|
|
168
|
+
field :name
|
|
169
|
+
end
|
|
170
|
+
end
|
|
171
|
+
visit index_path(:model_name => "fan")
|
|
172
|
+
find("th:nth-child(2)").should have_content("Id")
|
|
173
|
+
find("th:nth-child(3)").should have_content("His Name")
|
|
174
|
+
should have_no_selector("th:nth-child(4).header")
|
|
175
|
+
end
|
|
176
|
+
|
|
177
|
+
it "should delegate the label option to the ActiveModel API" do
|
|
178
|
+
RailsAdmin.config Fan do
|
|
179
|
+
list do
|
|
180
|
+
field :name
|
|
181
|
+
end
|
|
182
|
+
end
|
|
183
|
+
visit index_path(:model_name => "fan")
|
|
184
|
+
find("th:nth-child(2)").should have_content("His Name")
|
|
185
|
+
end
|
|
186
|
+
|
|
187
|
+
it "should be renameable" do
|
|
188
|
+
RailsAdmin.config Fan do
|
|
189
|
+
list do
|
|
190
|
+
field :id do
|
|
191
|
+
label "Identifier"
|
|
192
|
+
end
|
|
193
|
+
field :name
|
|
194
|
+
end
|
|
195
|
+
end
|
|
196
|
+
visit index_path(:model_name => "fan")
|
|
197
|
+
find("th:nth-child(2)").should have_content("Identifier")
|
|
198
|
+
find("th:nth-child(3)").should have_content("His Name")
|
|
199
|
+
end
|
|
200
|
+
|
|
201
|
+
it "should be renameable by type" do
|
|
202
|
+
RailsAdmin.config Fan do
|
|
203
|
+
list do
|
|
204
|
+
fields_of_type :datetime do
|
|
205
|
+
label { "#{label} (datetime)" }
|
|
206
|
+
end
|
|
207
|
+
end
|
|
208
|
+
end
|
|
209
|
+
visit index_path(:model_name => "fan")
|
|
210
|
+
find("th:nth-child(2)").should have_content("Id")
|
|
211
|
+
find("th:nth-child(3)").should have_content("Created at (datetime)")
|
|
212
|
+
find("th:nth-child(4)").should have_content("Updated at (datetime)")
|
|
213
|
+
find("th:nth-child(5)").should have_content("His Name")
|
|
214
|
+
end
|
|
215
|
+
|
|
216
|
+
it "should be globally renameable by type" do
|
|
217
|
+
RailsAdmin::Config.models do
|
|
218
|
+
list do
|
|
219
|
+
fields_of_type :datetime do
|
|
220
|
+
label { "#{label} (datetime)" }
|
|
221
|
+
end
|
|
222
|
+
end
|
|
223
|
+
end
|
|
224
|
+
visit index_path(:model_name => "fan")
|
|
225
|
+
find("th:nth-child(2)").should have_content("Id")
|
|
226
|
+
find("th:nth-child(3)").should have_content("Created at (datetime)")
|
|
227
|
+
find("th:nth-child(4)").should have_content("Updated at (datetime)")
|
|
228
|
+
find("th:nth-child(5)").should have_content("His Name")
|
|
229
|
+
end
|
|
230
|
+
|
|
231
|
+
it "should be sortable by default" do
|
|
232
|
+
visit index_path(:model_name => "fan")
|
|
233
|
+
should have_selector("th:nth-child(2).header")
|
|
234
|
+
should have_selector("th:nth-child(3).header")
|
|
235
|
+
should have_selector("th:nth-child(4).header")
|
|
236
|
+
should have_selector("th:nth-child(5).header")
|
|
237
|
+
end
|
|
238
|
+
|
|
239
|
+
it "should have option to disable sortability" do
|
|
240
|
+
RailsAdmin.config Fan do
|
|
241
|
+
list do
|
|
242
|
+
field :id do
|
|
243
|
+
sortable false
|
|
244
|
+
end
|
|
245
|
+
field :name
|
|
246
|
+
end
|
|
247
|
+
end
|
|
248
|
+
visit index_path(:model_name => "fan")
|
|
249
|
+
should have_no_selector("th:nth-child(2).header")
|
|
250
|
+
should have_selector("th:nth-child(3).header")
|
|
251
|
+
end
|
|
252
|
+
|
|
253
|
+
it "should have option to disable sortability by type" do
|
|
254
|
+
RailsAdmin.config Fan do
|
|
255
|
+
list do
|
|
256
|
+
fields_of_type :datetime do
|
|
257
|
+
sortable false
|
|
258
|
+
end
|
|
259
|
+
field :id
|
|
260
|
+
field :name
|
|
261
|
+
field :created_at
|
|
262
|
+
field :updated_at
|
|
263
|
+
end
|
|
264
|
+
end
|
|
265
|
+
visit index_path(:model_name => "fan")
|
|
266
|
+
should have_selector("th:nth-child(2).header")
|
|
267
|
+
should have_selector("th:nth-child(3).header")
|
|
268
|
+
should have_no_selector("th:nth-child(4).header")
|
|
269
|
+
should have_no_selector("th:nth-child(5).header")
|
|
270
|
+
end
|
|
271
|
+
|
|
272
|
+
it "should have option to disable sortability by type globally" do
|
|
273
|
+
RailsAdmin::Config.models do
|
|
274
|
+
list do
|
|
275
|
+
fields_of_type :datetime do
|
|
276
|
+
sortable false
|
|
277
|
+
end
|
|
278
|
+
field :id
|
|
279
|
+
field :name
|
|
280
|
+
field :created_at
|
|
281
|
+
field :updated_at
|
|
282
|
+
end
|
|
283
|
+
end
|
|
284
|
+
visit index_path(:model_name => "fan")
|
|
285
|
+
should have_selector("th:nth-child(2).header")
|
|
286
|
+
should have_selector("th:nth-child(3).header")
|
|
287
|
+
should have_no_selector("th:nth-child(4).header")
|
|
288
|
+
should have_no_selector("th:nth-child(5).header")
|
|
289
|
+
end
|
|
290
|
+
|
|
291
|
+
it "should have option to hide fields by type" do
|
|
292
|
+
RailsAdmin.config Fan do
|
|
293
|
+
list do
|
|
294
|
+
fields_of_type :datetime do
|
|
295
|
+
hide
|
|
296
|
+
end
|
|
297
|
+
end
|
|
298
|
+
end
|
|
299
|
+
visit index_path(:model_name => "fan")
|
|
300
|
+
should have_selector("th:nth-child(2)", :text => "Id")
|
|
301
|
+
should have_selector("th:nth-child(3)", :text => "His Name")
|
|
302
|
+
should have_no_selector("th:nth-child(4)", :text => "Created at")
|
|
303
|
+
should have_no_selector("th:nth-child(5)", :text => "Updated at")
|
|
304
|
+
end
|
|
305
|
+
|
|
306
|
+
it "should have option to hide fields by type globally" do
|
|
307
|
+
RailsAdmin::Config.models do
|
|
308
|
+
list do
|
|
309
|
+
fields_of_type :datetime do
|
|
310
|
+
hide
|
|
311
|
+
end
|
|
312
|
+
end
|
|
313
|
+
end
|
|
314
|
+
visit index_path(:model_name => "fan")
|
|
315
|
+
should have_selector("th:nth-child(2)", :text => "Id")
|
|
316
|
+
should have_selector("th:nth-child(3)", :text => "His Name")
|
|
317
|
+
should have_no_selector("th:nth-child(4)", :text => "Created at")
|
|
318
|
+
should have_no_selector("th:nth-child(5)", :text => "Updated at")
|
|
319
|
+
end
|
|
320
|
+
|
|
321
|
+
it "should have option to customize column width" do
|
|
322
|
+
RailsAdmin.config Fan do
|
|
323
|
+
list do
|
|
324
|
+
field :id do
|
|
325
|
+
column_width 200
|
|
326
|
+
end
|
|
327
|
+
field :name
|
|
328
|
+
field :created_at
|
|
329
|
+
field :updated_at
|
|
330
|
+
end
|
|
331
|
+
end
|
|
332
|
+
@fans = 2.times.map { FactoryGirl.create :fan }
|
|
333
|
+
visit index_path(:model_name => "fan")
|
|
334
|
+
find('style').should have_content('#list th.id_field')
|
|
335
|
+
find('style').should have_content('#list td.id_field')
|
|
336
|
+
end
|
|
337
|
+
|
|
338
|
+
it "should have option to customize output formatting" do
|
|
339
|
+
RailsAdmin.config Fan do
|
|
340
|
+
list do
|
|
341
|
+
field :id
|
|
342
|
+
field :name do
|
|
343
|
+
formatted_value do
|
|
344
|
+
value.to_s.upcase
|
|
345
|
+
end
|
|
346
|
+
end
|
|
347
|
+
field :created_at
|
|
348
|
+
field :updated_at
|
|
349
|
+
end
|
|
350
|
+
end
|
|
351
|
+
@fans = 2.times.map { FactoryGirl.create :fan }
|
|
352
|
+
visit index_path(:model_name => "fan")
|
|
353
|
+
find('tbody tr:nth-child(1) td:nth-child(3)').should have_content(@fans[1].name.upcase)
|
|
354
|
+
find('tbody tr:nth-child(2) td:nth-child(3)').should have_content(@fans[0].name.upcase)
|
|
355
|
+
end
|
|
356
|
+
|
|
357
|
+
it "should have a simple option to customize output formatting of date fields" do
|
|
358
|
+
RailsAdmin.config Fan do
|
|
359
|
+
list do
|
|
360
|
+
field :id
|
|
361
|
+
field :name
|
|
362
|
+
field :created_at do
|
|
363
|
+
date_format :short
|
|
364
|
+
end
|
|
365
|
+
field :updated_at
|
|
366
|
+
end
|
|
367
|
+
end
|
|
368
|
+
@fans = 2.times.map { FactoryGirl.create :fan }
|
|
369
|
+
visit index_path(:model_name => "fan")
|
|
370
|
+
should have_selector("tbody tr:nth-child(1) td:nth-child(4)", :text => /\d{2} \w{3} \d{1,2}:\d{1,2}/)
|
|
371
|
+
end
|
|
372
|
+
|
|
373
|
+
it "should have option to customize output formatting of date fields" do
|
|
374
|
+
RailsAdmin.config Fan do
|
|
375
|
+
list do
|
|
376
|
+
field :id
|
|
377
|
+
field :name
|
|
378
|
+
field :created_at do
|
|
379
|
+
strftime_format "%Y-%m-%d"
|
|
380
|
+
end
|
|
381
|
+
field :updated_at
|
|
382
|
+
end
|
|
383
|
+
end
|
|
384
|
+
@fans = 2.times.map { FactoryGirl.create :fan }
|
|
385
|
+
visit index_path(:model_name => "fan")
|
|
386
|
+
should have_selector("tbody tr:nth-child(1) td:nth-child(4)", :text => /\d{4}-\d{2}-\d{2}/)
|
|
387
|
+
end
|
|
388
|
+
|
|
389
|
+
it "should allow addition of virtual fields (object methods)" do
|
|
390
|
+
RailsAdmin.config Team do
|
|
391
|
+
list do
|
|
392
|
+
field :id
|
|
393
|
+
field :name
|
|
394
|
+
field :player_names_truncated
|
|
395
|
+
end
|
|
396
|
+
end
|
|
397
|
+
@team = FactoryGirl.create :team
|
|
398
|
+
@players = 2.times.map { FactoryGirl.create :player, :team => @team }
|
|
399
|
+
visit index_path(:model_name => "team")
|
|
400
|
+
find('tbody tr:nth-child(1) td:nth-child(4)').should have_content(@players.collect(&:name).join(", "))
|
|
401
|
+
end
|
|
402
|
+
end
|
|
403
|
+
|
|
404
|
+
# sort_by and sort_reverse options
|
|
405
|
+
describe "default sorting" do
|
|
406
|
+
before(:each) do
|
|
407
|
+
RailsAdmin.config(Player){ list { field :name } }
|
|
408
|
+
end
|
|
409
|
+
|
|
410
|
+
let(:today){ Date.today }
|
|
411
|
+
let(:players) do
|
|
412
|
+
[{ :name => "Jackie Robinson", :created_at => today, :team_id => rand(99999), :number => 42 },
|
|
413
|
+
{ :name => "Deibinson Romero", :created_at => (today - 2.days), :team_id => rand(99999), :number => 13 },
|
|
414
|
+
{ :name => "Sandy Koufax", :created_at => (today - 1.days), :team_id => rand(99999), :number => 32 }]
|
|
415
|
+
end
|
|
416
|
+
let(:leagues) do
|
|
417
|
+
[{ :name => 'American', :created_at => (today - 1.day) },
|
|
418
|
+
{ :name => 'Florida State', :created_at => (today - 2.days)},
|
|
419
|
+
{ :name => 'National', :created_at => today }]
|
|
420
|
+
end
|
|
421
|
+
let(:player_names_by_date){ players.sort_by{|p| p[:created_at]}.map{|p| p[:name]} }
|
|
422
|
+
let(:league_names_by_date){ leagues.sort_by{|l| l[:created_at]}.map{|l| l[:name]} }
|
|
423
|
+
|
|
424
|
+
before(:each) { @players = Player.create(players) }
|
|
425
|
+
|
|
426
|
+
context "should be configurable" do
|
|
427
|
+
it "globaly" do
|
|
428
|
+
RailsAdmin.config do |config|
|
|
429
|
+
config.models do
|
|
430
|
+
list do
|
|
431
|
+
sort_by :created_at
|
|
432
|
+
sort_reverse true
|
|
433
|
+
end
|
|
434
|
+
end
|
|
435
|
+
end
|
|
436
|
+
visit index_path(:model_name => "player")
|
|
437
|
+
player_names_by_date.reverse.each_with_index do |name, i|
|
|
438
|
+
find("tbody tr:nth-child(#{i + 1})").should have_content(name)
|
|
439
|
+
end
|
|
440
|
+
end
|
|
441
|
+
|
|
442
|
+
it "per model" do
|
|
443
|
+
RailsAdmin.config Player do
|
|
444
|
+
list do
|
|
445
|
+
sort_by :created_at
|
|
446
|
+
sort_reverse true
|
|
447
|
+
end
|
|
448
|
+
end
|
|
449
|
+
visit index_path(:model_name => "player")
|
|
450
|
+
player_names_by_date.reverse.each_with_index do |name, i|
|
|
451
|
+
find("tbody tr:nth-child(#{i + 1})").should have_content(name)
|
|
452
|
+
end
|
|
453
|
+
end
|
|
454
|
+
|
|
455
|
+
it "globaly and overrideable per model" do
|
|
456
|
+
League.create(leagues)
|
|
457
|
+
|
|
458
|
+
RailsAdmin::Config.models do
|
|
459
|
+
list do
|
|
460
|
+
sort_by :created_at
|
|
461
|
+
sort_reverse true
|
|
462
|
+
end
|
|
463
|
+
end
|
|
464
|
+
|
|
465
|
+
RailsAdmin.config Player do
|
|
466
|
+
list do
|
|
467
|
+
sort_by :id
|
|
468
|
+
sort_reverse true
|
|
469
|
+
end
|
|
470
|
+
end
|
|
471
|
+
|
|
472
|
+
visit index_path(:model_name => "league")
|
|
473
|
+
league_names_by_date.reverse.each_with_index do |name, i|
|
|
474
|
+
find("tbody tr:nth-child(#{i + 1})").should have_content(name)
|
|
475
|
+
end
|
|
476
|
+
|
|
477
|
+
visit index_path(:model_name => "player")
|
|
478
|
+
@players.sort_by{|p| p[:id]}.map{|p| p[:name]}.reverse.each_with_index do |name, i|
|
|
479
|
+
find("tbody tr:nth-child(#{i + 1})").should have_content(name)
|
|
480
|
+
end
|
|
481
|
+
end
|
|
482
|
+
end
|
|
483
|
+
|
|
484
|
+
it "should have reverse direction by default" do
|
|
485
|
+
RailsAdmin.config Player do
|
|
486
|
+
list do
|
|
487
|
+
sort_by :created_at
|
|
488
|
+
end
|
|
489
|
+
end
|
|
490
|
+
visit index_path(:model_name => "player")
|
|
491
|
+
player_names_by_date.reverse.each_with_index do |name, i|
|
|
492
|
+
find("tbody tr:nth-child(#{i + 1})").should have_content(name)
|
|
493
|
+
end
|
|
494
|
+
end
|
|
495
|
+
|
|
496
|
+
it "should allow change default direction" do
|
|
497
|
+
RailsAdmin.config Player do
|
|
498
|
+
list do
|
|
499
|
+
sort_by :created_at
|
|
500
|
+
sort_reverse false
|
|
501
|
+
end
|
|
502
|
+
end
|
|
503
|
+
visit index_path(:model_name => "player")
|
|
504
|
+
player_names_by_date.each_with_index do |name, i|
|
|
505
|
+
find("tbody tr:nth-child(#{i + 1})").should have_content(name)
|
|
506
|
+
end
|
|
507
|
+
end
|
|
508
|
+
end
|
|
509
|
+
end
|