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,107 @@
1
+ require 'spec_helper'
2
+
3
+ describe "RailsAdmin Config DSL Navigation Section" do
4
+
5
+ subject { page }
6
+
7
+ describe "order of items" do
8
+
9
+ it "should be alphabetical by default" do
10
+ visit dashboard_path
11
+ ["Balls", "Basic pages", "Comments", "Divisions", "Drafts", "Fans", "Leagues", "Players", "Teams", "Unscoped pages", "Users"].each_with_index do |content, i|
12
+ find(:xpath, "//ul[@id='nav']/li[#{i + 2}]").should have_content(content)
13
+ end
14
+ end
15
+
16
+ it "should be ordered by weight and alphabetical order" do
17
+ RailsAdmin.config do |config|
18
+ config.model Team do
19
+ weight -1
20
+ end
21
+ end
22
+ visit dashboard_path
23
+ ["Teams", "Balls", "Basic pages", "Comments", "Divisions", "Drafts", "Fans", "Leagues", "Players", "Unscoped pages", "Users"].each_with_index do |content, i|
24
+ find(:xpath, "//ul[@id='nav']/li[#{i + 2}]").should have_content(content)
25
+ end
26
+ end
27
+
28
+ it "should nest menu items with parent" do
29
+ RailsAdmin.config do |config|
30
+ config.model Comment do
31
+ parent Cms::BasicPage
32
+ end
33
+ end
34
+ visit dashboard_path
35
+ ["Balls", "Basic pages", "Divisions", "Drafts", "Fans", "Leagues", "Players", "Teams", "Unscoped pages", "Users"].each_with_index do |content, i|
36
+ find(:xpath, "//ul[@id='nav']/li[#{i + 2}]").should have_content(content)
37
+ end
38
+ ["Basic pages", "Comments"].each_with_index do |content, i|
39
+ find(:xpath, "//ul[@id='nav']/li[contains(@class, 'more')]/ul/li[#{i + 1}]").should have_content(content)
40
+ end
41
+ end
42
+
43
+ it "should override parent label with navigation_label" do
44
+ RailsAdmin.config do |config|
45
+ config.model Comment do
46
+ parent Cms::BasicPage
47
+ end
48
+ config.model Cms::BasicPage do
49
+ navigation_label "CMS related"
50
+ end
51
+ end
52
+ visit dashboard_path
53
+ ["Balls", "CMS related", "Divisions", "Drafts", "Fans", "Leagues", "Players", "Teams", "Unscoped pages", "Users"].each_with_index do |content, i|
54
+ find(:xpath, "//ul[@id='nav']/li[#{i + 2}]").should have_content(content)
55
+ end
56
+ ["Basic pages", "Comments"].each_with_index do |content, i|
57
+ find(:xpath, "//ul[@id='nav']/li[contains(@class, 'more')]/ul/li[#{i + 1}]").should have_content(content)
58
+ end
59
+ end
60
+
61
+ it "should order navigation_label item according to parent weight" do
62
+ RailsAdmin.config do |config|
63
+ config.model Comment do
64
+ parent Cms::BasicPage
65
+ end
66
+ config.model Cms::BasicPage do
67
+ navigation_label "CMS related"
68
+ weight 1
69
+ end
70
+ end
71
+ visit dashboard_path
72
+ ["Balls", "Divisions", "Drafts", "Fans", "Leagues", "Players", "Teams", "Unscoped pages", "Users", "CMS related"].each_with_index do |content, i|
73
+ find(:xpath, "//ul[@id='nav']/li[#{i + 2}]").should have_content(content)
74
+ end
75
+ end
76
+ end
77
+
78
+ describe "label for a model" do
79
+
80
+ it "should be visible and sane by default" do
81
+ visit dashboard_path
82
+ within("#nav") do
83
+ should have_selector("li a", :text => "Fan")
84
+ end
85
+ end
86
+
87
+ it "should be editable" do
88
+ RailsAdmin.config Fan do
89
+ label_plural "Fan tests"
90
+ end
91
+ visit dashboard_path
92
+ within("#nav") do
93
+ should have_selector("li a", :text => "Fan tests")
94
+ end
95
+ end
96
+
97
+ it "should be hideable" do
98
+ RailsAdmin.config Fan do
99
+ hide
100
+ end
101
+ visit dashboard_path
102
+ within("#nav") do
103
+ should have_no_selector("li a", :text => "Fan")
104
+ end
105
+ end
106
+ end
107
+ end
@@ -0,0 +1,180 @@
1
+ require 'spec_helper'
2
+
3
+ describe "RailsAdmin Config DSL" do
4
+
5
+ subject { page }
6
+
7
+ describe "excluded models" do
8
+ excluded_models = [Division, Draft, Fan]
9
+
10
+ before(:each) do
11
+ RailsAdmin::Config.excluded_models = excluded_models
12
+ end
13
+
14
+ it "should be hidden from navigation" do
15
+ # Make query in team's edit view to make sure loading
16
+ # the related division model config will not mess the navigation
17
+ visit new_path(:model_name => "team")
18
+ within("#nav") do
19
+ excluded_models.each do |model|
20
+ should have_no_selector("li a", :text => model.to_s)
21
+ end
22
+ end
23
+ end
24
+
25
+ it "should raise NotFound for the list view" do
26
+ visit index_path(:model_name => "fan")
27
+ page.driver.status_code.should eql(404)
28
+ end
29
+
30
+ it "should raise NotFound for the create view" do
31
+ visit new_path(:model_name => "fan")
32
+ page.driver.status_code.should eql(404)
33
+ end
34
+
35
+ it "should be hidden from other models relations in the edit view" do
36
+ visit new_path(:model_name => "team")
37
+ should_not have_selector("#team_division")
38
+ should_not have_selector("input#team_fans")
39
+ end
40
+
41
+ it "should raise NoMethodError when an unknown method is called" do
42
+ begin
43
+ RailsAdmin::Config.model Team do
44
+ method_that_doesnt_exist
45
+ fail "calling an unknown method should have failed"
46
+ end
47
+ rescue NoMethodError
48
+ # this is what we want to happen
49
+ end
50
+ end
51
+ end
52
+
53
+ describe "model store does not exist" do
54
+ before(:each) { drop_all_tables }
55
+ after(:all) { migrate_database }
56
+
57
+ it "should not raise an error when the model tables do not exists" do
58
+ config_setup = lambda do
59
+ RailsAdmin.config Team do
60
+ edit do
61
+ field :name
62
+ end
63
+ end
64
+ end
65
+
66
+ config_setup.should_not raise_error
67
+ end
68
+ end
69
+
70
+ describe "object_label_method" do
71
+ it 'should be configurable' do
72
+ RailsAdmin.config League do
73
+ object_label_method { :custom_name }
74
+ end
75
+
76
+ @league = FactoryGirl.create :league
77
+
78
+ RailsAdmin.config('League').with(:object => @league).object_label.should == "League '#{@league.name}'"
79
+ end
80
+ end
81
+
82
+ describe "compact_show_view" do
83
+
84
+ it 'should hide empty fields in show view by default' do
85
+ @player = FactoryGirl.create :player
86
+ visit show_path(:model_name => "league", :id => @player.id)
87
+ should_not have_css("#player_born_on")
88
+ end
89
+
90
+
91
+ it 'should be disactivable' do
92
+ RailsAdmin.config do |c|
93
+ c.compact_show_view = false
94
+ end
95
+
96
+ @player = FactoryGirl.create :player
97
+ visit show_path(:model_name => "player", :id => @player.id)
98
+ should have_css(".born_on_field")
99
+ end
100
+ end
101
+
102
+ describe "searchable and sortable" do
103
+ it 'should be false if column is virtual, true otherwise' do
104
+ RailsAdmin.config League do
105
+ field :virtual_column
106
+ field :name
107
+ end
108
+ @league = FactoryGirl.create :league
109
+ RailsAdmin.config('League').export.fields.find{ |f| f.name == :virtual_column }.sortable.should == false
110
+ RailsAdmin.config('League').export.fields.find{ |f| f.name == :virtual_column }.searchable.should == false
111
+ RailsAdmin.config('League').export.fields.find{ |f| f.name == :name }.sortable.should == true
112
+ RailsAdmin.config('League').export.fields.find{ |f| f.name == :name }.searchable.should == true
113
+ end
114
+ end
115
+
116
+ describe "virtual?" do
117
+ it 'should be true if column has no properties, false otherwise' do
118
+ RailsAdmin.config League do
119
+ field :virtual_column
120
+ field :name
121
+ end
122
+ @league = FactoryGirl.create :league
123
+ RailsAdmin.config('League').export.fields.find{ |f| f.name == :virtual_column }.virtual?.should == true
124
+ RailsAdmin.config('League').export.fields.find{ |f| f.name == :name }.virtual?.should == false
125
+ end
126
+ end
127
+
128
+ describe "search operator" do
129
+ let(:abstract_model) { RailsAdmin::AbstractModel.new('player') }
130
+ let(:model_config) { RailsAdmin.config(abstract_model) }
131
+ let(:queryable_fields) { model_config.list.fields.select(&:queryable?) }
132
+
133
+ context "when no search operator is specified for the field" do
134
+ it "uses 'default' search operator" do
135
+ queryable_fields.should have_at_least(1).field
136
+ queryable_fields.first.search_operator.should == RailsAdmin::Config.default_search_operator
137
+ end
138
+
139
+ it "uses config.default_search_operator if set" do
140
+ RailsAdmin.config do |config|
141
+ config.default_search_operator = 'starts_with'
142
+ end
143
+ queryable_fields.should have_at_least(1).field
144
+ queryable_fields.first.search_operator.should == RailsAdmin::Config.default_search_operator
145
+ end
146
+ end
147
+
148
+ context "when search operator is specified for the field" do
149
+ it "uses specified search operator" do
150
+ RailsAdmin.config Player do
151
+ list do
152
+ fields do
153
+ search_operator "starts_with"
154
+ end
155
+ end
156
+ end
157
+ queryable_fields.should have_at_least(1).field
158
+ queryable_fields.first.search_operator.should == "starts_with"
159
+ end
160
+
161
+ it "uses specified search operator even if config.default_search_operator set" do
162
+ RailsAdmin.config do |config|
163
+ config.default_search_operator = 'starts_with'
164
+
165
+ config.model Player do
166
+ list do
167
+ fields do
168
+ search_operator "ends_with"
169
+ end
170
+ end
171
+ end
172
+ end
173
+ queryable_fields.should have_at_least(1).field
174
+ queryable_fields.first.search_operator.should == "ends_with"
175
+ end
176
+ end
177
+ end
178
+
179
+
180
+ end
@@ -0,0 +1,275 @@
1
+ require 'spec_helper'
2
+
3
+ describe "RailsAdmin Config DSL Show Section" do
4
+ subject { page }
5
+ let(:team) { FactoryGirl.create :team }
6
+
7
+ def do_request
8
+ # tests were done with compact_show_view being false
9
+ RailsAdmin.config do |c|
10
+ c.compact_show_view = false
11
+ end
12
+
13
+ visit show_path(:model_name => "team", :id => team.id)
14
+ end
15
+
16
+ describe "field groupings" do
17
+ it "should be hideable" do
18
+ RailsAdmin.config Team do
19
+ show do
20
+ group :default do
21
+ hide
22
+ end
23
+ end
24
+ end
25
+
26
+ do_request
27
+
28
+ should_not have_selector("h4", :text => "Basic info")
29
+
30
+ %w[division name logo_url manager
31
+ ballpark mascot founded wins
32
+ losses win_percentage revenue
33
+ ].each do |field|
34
+ should_not have_selector(".#{field}_field")
35
+ end
36
+ end
37
+
38
+ it "should hide association groupings by the name of the association" do
39
+ RailsAdmin.config Team do
40
+ show do
41
+ group :players do
42
+ hide
43
+ end
44
+ end
45
+ end
46
+
47
+ do_request
48
+
49
+ should_not have_selector("h4", :text => "Players")
50
+ end
51
+
52
+ it "should be renameable" do
53
+ RailsAdmin.config Team do
54
+ show do
55
+ group :default do
56
+ label "Renamed group"
57
+ end
58
+ end
59
+ end
60
+
61
+ do_request
62
+
63
+ should have_selector("h4", :text => "Renamed group")
64
+ end
65
+
66
+ it "should have accessor for its fields" do
67
+ RailsAdmin.config Team do
68
+ show do
69
+ group :default do
70
+ field :name
71
+ field :logo_url
72
+ end
73
+ group :belongs_to_associations do
74
+ label "Belong's to associations"
75
+ field :division
76
+ end
77
+ end
78
+ end
79
+
80
+ do_request
81
+
82
+ should have_selector("h4", :text => "Basic info")
83
+ should have_selector("h4", :text => "Belong's to associations")
84
+
85
+ should have_selector(".name_field")
86
+ should have_selector(".logo_url_field")
87
+ should have_selector(".division_field")
88
+ end
89
+
90
+ it "should have accessor for its fields by type" do
91
+ RailsAdmin.config Team do
92
+ show do
93
+ group :default do
94
+ field :name
95
+ field :logo_url
96
+ end
97
+ group :other do
98
+ field :division
99
+ field :manager
100
+ field :ballpark
101
+ fields_of_type :string do
102
+ label { "#{label} (STRING)" }
103
+ end
104
+ end
105
+ end
106
+ end
107
+
108
+ do_request
109
+
110
+ should have_selector(".label", :text => "Name")
111
+ should have_selector(".label", :text => "Logo url")
112
+ should have_selector(".label", :text => "Division")
113
+ should have_selector(".label", :text => "Manager (STRING)")
114
+ should have_selector(".label", :text => "Ballpark (STRING)")
115
+ end
116
+ end
117
+
118
+ describe "items' fields" do
119
+
120
+ it "should show all by default" do
121
+ do_request
122
+
123
+ %w[division name logo_url manager
124
+ ballpark mascot founded wins
125
+ losses win_percentage revenue players fans
126
+ ].each do |field|
127
+ should have_selector(".#{field}_field")
128
+ end
129
+ end
130
+
131
+ it "should only show the defined fields and appear in order defined" do
132
+ RailsAdmin.config Team do
133
+ show do
134
+ field :manager
135
+ field :division
136
+ field :name
137
+ end
138
+ end
139
+
140
+ do_request
141
+
142
+ should have_selector(".manager_field")
143
+ should have_selector(".division_field")
144
+ should have_selector(".name_field")
145
+ end
146
+
147
+
148
+ it "should delegates the label option to the ActiveModel API" do
149
+ RailsAdmin.config Team do
150
+ show do
151
+ field :manager
152
+ field :fans
153
+ end
154
+ end
155
+
156
+ do_request
157
+
158
+ should have_selector(".label", :text => "Team Manager")
159
+ should have_selector(".label", :text => "Some Fans")
160
+ end
161
+
162
+ it "should be renameable" do
163
+ RailsAdmin.config Team do
164
+ show do
165
+ field :manager do
166
+ label "Renamed field"
167
+ end
168
+ field :division
169
+ field :name
170
+ end
171
+ end
172
+
173
+ do_request
174
+
175
+ should have_selector(".label", :text => "Renamed field")
176
+ should have_selector(".label", :text => "Division")
177
+ should have_selector(".label", :text => "Name")
178
+ end
179
+
180
+ it "should be renameable by type" do
181
+ RailsAdmin.config Team do
182
+ show do
183
+ fields_of_type :string do
184
+ label { "#{label} (STRING)" }
185
+ end
186
+ end
187
+ end
188
+
189
+ do_request
190
+
191
+ ["Division", "Name (STRING)", "Logo url (STRING)", "Manager (STRING)",
192
+ "Ballpark (STRING)", "Mascot (STRING)", "Founded", "Wins", "Losses",
193
+ "Win percentage", "Revenue", "Players", "Fans"
194
+ ].each do |text|
195
+ should have_selector(".label", :text => text)
196
+ end
197
+ end
198
+
199
+ it "should be globally renameable by type" do
200
+ RailsAdmin::Config.models do
201
+ show do
202
+ fields_of_type :string do
203
+ label { "#{label} (STRING)" }
204
+ end
205
+ end
206
+ end
207
+
208
+ do_request
209
+
210
+ ["Division", "Name (STRING)", "Logo url (STRING)", "Manager (STRING)",
211
+ "Ballpark (STRING)", "Mascot (STRING)", "Founded", "Wins", "Losses",
212
+ "Win percentage", "Revenue", "Players", "Fans"
213
+ ].each do |text|
214
+ should have_selector(".label", :text => text)
215
+ end
216
+ end
217
+
218
+ it "should be hideable" do
219
+ RailsAdmin.config Team do
220
+ show do
221
+ field :manager do
222
+ hide
223
+ end
224
+ field :division
225
+ field :name
226
+ end
227
+ end
228
+
229
+ do_request
230
+
231
+ should have_selector(".division_field")
232
+ should have_selector(".name_field")
233
+ end
234
+
235
+ it "should be hideable by type" do
236
+ RailsAdmin.config Team do
237
+ show do
238
+ fields_of_type :string do
239
+ hide
240
+ end
241
+ end
242
+ end
243
+
244
+ do_request
245
+
246
+ %w[Name Logo\ url Manager Ballpark Mascot].each do |text|
247
+ should_not have_selector(".label", :text => text)
248
+ end
249
+
250
+ %w[Division Founded Wins Losses Win\ percentage Revenue Players Fans].each do |text|
251
+ should have_selector(".label", :text => text)
252
+ end
253
+ end
254
+
255
+ it "should be globally hideable by type" do
256
+ RailsAdmin::Config.models do
257
+ show do
258
+ fields_of_type :string do
259
+ hide
260
+ end
261
+ end
262
+ end
263
+
264
+ do_request
265
+
266
+ %w[Name Logo\ url Manager Ballpark Mascot].each do |text|
267
+ should_not have_selector(".label", :text => text)
268
+ end
269
+
270
+ %w[Division Founded Wins Losses Win\ percentage Revenue Players Fans].each do |text|
271
+ should have_selector(".label", :text => text)
272
+ end
273
+ end
274
+ end
275
+ end