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