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,114 @@
1
+ zh-CN:
2
+ home:
3
+ name: "主页"
4
+ views:
5
+ pagination:
6
+ previous: "« Prev"
7
+ next: "Next »"
8
+ truncate: "…"
9
+ admin:
10
+ dashboard:
11
+ pagename: "网站管理"
12
+ name: "首页"
13
+ model_name: "模型名称"
14
+ last_used: "最后使用"
15
+ records: "记录"
16
+ modify: "修改"
17
+ add_new: "添加"
18
+ show: "查看"
19
+ ago: "以前"
20
+ navigation: "导航"
21
+ history:
22
+ name: "历史"
23
+ page_name: "%{name}的历史"
24
+ no_activity: "非激活"
25
+ show:
26
+ show_in_app: "在app中显示"
27
+ page_name: "%{name}的详细内容"
28
+ no_file_found: "没有找到文件"
29
+ credentials:
30
+ log_out: "登出"
31
+ index:
32
+ edit_action: "编辑"
33
+ delete_action: "删除"
34
+ select_action: "选择"
35
+ export_action: "导出当前页面"
36
+ show_action: "显示"
37
+ export_selected: "导出选择记录"
38
+ delete_selected: "删除已选择的"
39
+ add_new: "添加"
40
+ search: "搜索"
41
+ select: "%{name}编辑"
42
+ show_all: "查看全部"
43
+ add_filter: "添加filter"
44
+ new:
45
+ basic_info: "基本信息"
46
+ required: "必须"
47
+ optional: "可选"
48
+ one_char: "限一个字符"
49
+ many_chars: "多个字符"
50
+ chosen: "选择%{name}"
51
+ select_choice: "选择并点击"
52
+ chose_all: "选择全部"
53
+ clear_all: "取消全部"
54
+ up: "上移"
55
+ down: "下移"
56
+ save: "保存"
57
+ save_and_add_another: "保存并添加新的"
58
+ save_and_edit: "保存并再编辑"
59
+ cancel: "取消"
60
+ edit:
61
+ add_new_associated_model_name: "添加新的%{name}"
62
+ delete:
63
+ all_of_the_following_related_items_will_be_deleted: "? 所有下面相关的内容将被删除:"
64
+ are_you_sure_you_want_to_delete_the_object: "你确定要删除 %{model_name}吗"
65
+ confirmation: "是的,我确定"
66
+ delete_confirmation: "确认删除"
67
+ bulk_delete: "下面的对象将被删除,并可能会删除和它们依赖的对象:"
68
+ export:
69
+ confirmation: "导出为 %{name}"
70
+ select: "选择需要导出的字段"
71
+ fields_from: "来自字段 %{name}"
72
+ fields_from_associated: "来自相关字段 %{name}"
73
+ display: "显示 %{name}: %{type}"
74
+ options_for: "%{name}的选项"
75
+ empty_value_for_associated_objects: "<empty>"
76
+ csv:
77
+ header_for_root_methods: "%{name}" # 'model' is available
78
+ header_for_association_methods: "%{name} [%{association}]"
79
+ encoding_to: "编码到"
80
+ encoding_to_help: "选择输出编码。输入空讲保留目前的输入编码: (%{name})"
81
+ skip_header: "没有头信息"
82
+ skip_header_help: "不要输出头信息(无字段描述)"
83
+ default_col_sep: ","
84
+ col_sep: "栏目分隔"
85
+ col_sep_help: "默认选空('%{value}')" # value is default_col_sep
86
+ flash:
87
+ successful: "%{name} %{action}成功"
88
+ error: "%{name} %{action}失败"
89
+ noaction: "没作任何动作"
90
+ actions:
91
+ create: "创建"
92
+ created: "已创建"
93
+ update: "更新"
94
+ updated: "已更新"
95
+ delete: "删除"
96
+ deleted: "已删除"
97
+ export: "导出"
98
+ exported: "已导出"
99
+ breadcrumbs:
100
+ delete: "删除"
101
+ for_object: "历史"
102
+ show: "显示"
103
+ edit: "编辑"
104
+ export: "导出"
105
+ bulk_destroy: "删除"
106
+ new: "新建"
107
+ for_model: "历史"
108
+ index: "列表"
109
+ dashboard: "首页"
110
+ datetime:
111
+ distance_in_words:
112
+ x_days: "%{count}天"
113
+ x_hours: "%{count}小时"
114
+ x_minutes: "%{count}分钟"
@@ -0,0 +1,107 @@
1
+ zh_cn:
2
+ home:
3
+ name: "主页"
4
+ views:
5
+ pagination:
6
+ previous: "&laquo; Prev"
7
+ next: "Next &raquo;"
8
+ truncate: "…"
9
+ admin:
10
+ dashboard:
11
+ pagename: "网站管理"
12
+ name: "Dashboard"
13
+ model_name: "模型名称"
14
+ last_used: "最后使用"
15
+ records: "记录"
16
+ modify: "修改"
17
+ add_new: "添加"
18
+ show: "查看"
19
+ ago: "以前"
20
+ history:
21
+ name: "历史"
22
+ page_name: "%{name}的历史"
23
+ no_activity: "非激活"
24
+ credentials:
25
+ log_out: "登出"
26
+ index:
27
+ edit_action: "编辑"
28
+ delete_action: "删除"
29
+ select_action: "选择"
30
+ delete_selected: "删除已选择的"
31
+ export_action: "导出当前页面"
32
+ export_selected: "导出选择记录"
33
+ add_new: "添加"
34
+ search: "搜索"
35
+ select: "%{name}编辑"
36
+ show_all: "查看全部"
37
+ add_filter: "Add filter"
38
+ new:
39
+ basic_info: "基本信息"
40
+ required: "必须"
41
+ optional: "可选"
42
+ one_char: "限一个字符"
43
+ many_chars: "多个字符"
44
+ chosen: "选择%{name}"
45
+ select_choice: "选择并点击"
46
+ chose_all: "选择全部"
47
+ clear_all: "取消全部"
48
+ save: "保存"
49
+ save_and_add_another: "保存并添加新的"
50
+ save_and_edit: "保存并再编辑"
51
+ cancel: "取消"
52
+ up: "上移"
53
+ down: "下移"
54
+ edit:
55
+ add_new_associated_model_name: "添加新的%{name}"
56
+ delete:
57
+ all_of_the_following_related_items_will_be_deleted: "? All of the following related items will be deleted:"
58
+ are_you_sure_you_want_to_delete_the_object: "Are you sure you want to delete the %{model_name}"
59
+ confirmation: "是的,我确定"
60
+ delete_confirmation: "Delete confirmation"
61
+ bulk_delete: "The following objects will be deleted, which may delete or orphan some of their related dependencies:"
62
+ export:
63
+ confirmation: "Export to %{name}"
64
+ select: "选择需要导出的字段"
65
+ fields_from: "Fields from %{name}"
66
+ fields_from_associated: "Fields from associated %{name}"
67
+ display: "Display %{name}: %{type}"
68
+ options_for: "Options for %{name}"
69
+ empty_value_for_associated_objects: "<empty>"
70
+ csv:
71
+ header_for_root_methods: "%{name}" # 'model' is available
72
+ header_for_association_methods: "%{name} [%{association}]"
73
+ encoding_to: "Encode to"
74
+ encoding_to_help: "Choose output encoding. Leave empty to let current input encoding untouched: (%{name})"
75
+ skip_header: "No header"
76
+ skip_header_help: "Do not output a header (no fields description)"
77
+ default_col_sep: ","
78
+ col_sep: "Column separator"
79
+ col_sep_help: "Leave blank for default ('%{value}')" # value is default_col_sep
80
+ flash:
81
+ successful: "%{name} %{action}成功"
82
+ error: "%{name} %{action}失败"
83
+ noaction: "没作任何动作"
84
+ actions:
85
+ create: "创建"
86
+ created: "已创建"
87
+ update: "更新"
88
+ updated: "已更新"
89
+ delete: "删除"
90
+ deleted: "已删除"
91
+ export: "导出"
92
+ exported: "已导出"
93
+ breadcrumbs:
94
+ delete: "delete"
95
+ for_object: "history"
96
+ edit: "edit"
97
+ export: "export"
98
+ bulk_destroy: "delete"
99
+ new: "new"
100
+ for_model: "history"
101
+ index: "list"
102
+ dashboard: "dashboard"
103
+ datetime:
104
+ distance_in_words:
105
+ x_days: "%{count}天"
106
+ x_hours: "%{count}小时"
107
+ x_minutes: "%{count}分钟"
@@ -0,0 +1,28 @@
1
+ RailsAdmin::Engine.routes.draw do
2
+ scope "history", :as => "history" do
3
+ controller "history" do
4
+ match "/:model_name", :to => :for_model, :as => "model"
5
+ match "/:model_name/:id", :to => :for_object, :as => "object"
6
+ end
7
+ end
8
+
9
+ controller "main" do
10
+ match "/", :to => :dashboard, :as => "dashboard"
11
+ scope ":model_name" do
12
+ match "/", :to => :index, :as => "index", :via => [:get, :post]
13
+ match "/export", :to => :export, :as => "export"
14
+ get "/new", :to => :new, :as => "new"
15
+ post "/new", :to => :create, :as => "create"
16
+ post "/bulk_action", :to => :bulk_action, :as => "bulk_action"
17
+ post "/bulk_destroy", :to => :bulk_destroy, :as => "bulk_destroy"
18
+ scope ":id" do
19
+ get "/", :to => :show, :as => "show"
20
+ get "/edit", :to => :edit, :as => "edit"
21
+ put "/edit", :to => :update, :as => "update"
22
+ get "/delete", :to => :delete, :as => "delete"
23
+ delete "/delete", :to => :destroy, :as => "destroy"
24
+ end
25
+ end
26
+ end
27
+ end
28
+
@@ -0,0 +1,83 @@
1
+ require 'rails/generators'
2
+ require File.expand_path('../utils', __FILE__)
3
+
4
+ # http://guides.rubyonrails.org/generators.html
5
+ # http://rdoc.info/github/wycats/thor/master/Thor/Actions.html
6
+ # keep generator idempotent, thanks
7
+
8
+ module RailsAdmin
9
+ class InstallGenerator < Rails::Generators::Base
10
+ source_root File.expand_path("../templates", __FILE__)
11
+ include Rails::Generators::Migration
12
+ include Generators::Utils::InstanceMethods
13
+ extend Generators::Utils::ClassMethods
14
+
15
+ argument :_model_name, :type => :string, :required => false, :desc => "Devise user model name"
16
+ argument :_namespace, :type => :string, :required => false, :desc => "RailsAdmin url namespace"
17
+ desc "RailsAdmin installation generator"
18
+
19
+ def install
20
+ routes = File.open(Rails.root.join("config/routes.rb")).try :read
21
+ initializer = (File.open(Rails.root.join("config/initializers/rails_admin.rb")) rescue nil).try :read
22
+
23
+ display "Hello, RailsAdmin installer will help you sets things up!", :blue
24
+ display "I need to work with Devise, let's look at a few things first:"
25
+ display "Checking for a current installation of devise..."
26
+ unless defined?(Devise)
27
+ display "Adding devise gem to your Gemfile:"
28
+ gem 'devise'
29
+ else
30
+ display "Found it!"
31
+ end
32
+ unless File.exists?(Rails.root.join("config/initializers/devise.rb"))
33
+ display "Looks like you don't have devise installed! We'll install it for you:"
34
+ generate "devise:install"
35
+ else
36
+ display "Looks like you've already installed it, good!"
37
+ end
38
+
39
+ unless routes.index("devise_for")
40
+ model_name = ask_for("What would you like the user model to be called?", "user", _model_name)
41
+ display "Now setting up devise with user model name '#{model_name}':"
42
+ generate "devise", model_name
43
+ else
44
+ display "And you already set it up, good! We just need to know about your user model name..."
45
+ guess = routes.match(/devise_for :(\w+)/)[1].try(:singularize)
46
+ display("We found '#{guess}' (should be one of 'user', 'admin', etc.)")
47
+ model_name = ask_for("Correct Devise model name if needed.", guess, _model_name)
48
+ unless guess == model_name
49
+ display "Now setting up devise with user model name '#{model_name}':"
50
+ generate "devise", model_name
51
+ else
52
+ display "Ok, Devise looks already set up with user model name '#{model_name}':"
53
+ end
54
+ end
55
+ display "Now you'll need an initializer..."
56
+ @model_name = model_name
57
+ unless initializer
58
+ template "initializer.erb", "config/initializers/rails_admin.rb"
59
+ else
60
+ display "You already have a config file. You're updating, heh? I'm generating a new 'rails_admin.rb.example' that you can review."
61
+ template "initializer.erb", "config/initializers/rails_admin.rb.example"
62
+ config_tag = initializer.match(/RailsAdmin\.config.+\|(.+)\|/)[1] rescue nil
63
+ if config_tag
64
+ if initializer.index(::Regexp.new("#{config_tag}\.current_user_method.?\{.+?\}"))
65
+ display "current_user_method found and updated with 'current_#{model_name}'", :green
66
+ gsub_file Rails.root.join("config/initializers/rails_admin.rb"), ::Regexp.new("#{config_tag}\.current_user_method.?\{.+?\}"), "#{config_tag}.current_user_method { current_#{model_name} }"
67
+ else
68
+ display "current_user_method not found. Added one with 'current_#{model_name}'!", :yellow
69
+ insert_into_file Rails.root.join("config/initializers/rails_admin.rb"), "\n\n #{config_tag}.current_user_method { current_#{model_name} } #auto-generated", :after => /^RailsAdmin\.config.+$/
70
+ end
71
+ else
72
+ display "Couldn't parse your config file: current_user_method couldn't be updated", :red
73
+ end
74
+ end
75
+ display "Adding a migration..."
76
+ migration_template 'migration.rb', 'db/migrate/create_rails_admin_histories_table.rb' rescue display $!.message
77
+ namespace = ask_for("Where do you want to mount rails_admin?", "admin", _namespace)
78
+ gsub_file "config/routes.rb", /mount RailsAdmin::Engine => \'\/.+\', :as => \'rails_admin\'/, ''
79
+ route("mount RailsAdmin::Engine => '/#{namespace}', :as => 'rails_admin'")
80
+ display "Job's done: migrate, start your server and visit '/#{namespace}'!", :blue
81
+ end
82
+ end
83
+ end
@@ -0,0 +1,18 @@
1
+ class DropRailsAdminHistoriesTable < ActiveRecord::Migration
2
+ def self.up
3
+ drop_table :rails_admin_histories
4
+ end
5
+
6
+ def self.down
7
+ create_table :rails_admin_histories do |t|
8
+ t.text :message # title, name, or object_id
9
+ t.string :username
10
+ t.integer :item
11
+ t.string :table
12
+ t.integer :month, :limit => 2
13
+ t.integer :year, :limit => 5
14
+ t.timestamps
15
+ end
16
+ add_index(:rails_admin_histories, [:item, :table, :month, :year], :name => 'index_rails_admin_histories' )
17
+ end
18
+ end
@@ -0,0 +1,150 @@
1
+ # RailsAdmin config file. Generated on <%= DateTime.now.to_s(:long) %>
2
+ # See github.com/sferik/rails_admin for more informations
3
+
4
+ RailsAdmin.config do |config|
5
+
6
+ config.current_user_method { current_<%= @model_name %> } # auto-generated
7
+
8
+ # Set the admin name here (optional second array element will appear in a beautiful RailsAdmin red ©)
9
+ config.main_app_name = ['<%= Rails.application.engine_name.titleize.chomp(' Application') %>', 'Admin']
10
+ # or for a dynamic name:
11
+ # config.main_app_name = Proc.new { |controller| [Rails.application.engine_name.titleize, controller.params['action'].titleize] }
12
+
13
+ # ==> Authentication (before_filter)
14
+ # This is run inside the controller instance so you can setup any authentication you need to.
15
+ # By default, the authentication will run via warden if available.
16
+ # and will run on the default user scope.
17
+ # If you use devise, this will authenticate the same as authenticate_user!
18
+ # Example Devise admin
19
+ # RailsAdmin.config do |config|
20
+ # config.authenticate_with do
21
+ # authenticate_admin!
22
+ # end
23
+ # end
24
+ # Example Custom Warden
25
+ # RailsAdmin.config do |config|
26
+ # config.authenticate_with do
27
+ # warden.authenticate! :scope => :paranoid
28
+ # end
29
+ # end
30
+
31
+ # ==> Authorization
32
+ # Use cancan https://github.com/ryanb/cancan for authorization:
33
+ # config.authorize_with :cancan
34
+
35
+ # Or use simple custom authorization rule:
36
+ # config.authorize_with do
37
+ # redirect_to root_path unless warden.user.is_admin?
38
+ # end
39
+
40
+ # Use a specific role for ActiveModel's :attr_acessible :attr_protected
41
+ # Default is :default
42
+ # config.attr_accessible_role { :default }
43
+ # _current_user is accessible in the block if you need to make it user specific:
44
+ # config.attr_accessible_role { _current_user.role.to_sym }
45
+
46
+ # ==> Global show view settings
47
+ # Display empty fields in show views
48
+ # config.compact_show_view = false
49
+
50
+ # ==> Global list view settings
51
+ # Number of default rows per-page:
52
+ # config.default_items_per_page = 20
53
+
54
+ # ==> Included models
55
+ # Add all excluded models here:
56
+ # config.excluded_models = [<%= RailsAdmin::AbstractModel.all_models.map(&:name).join(', ') %>]
57
+
58
+ # Add models here if you want to go 'whitelist mode':
59
+ # config.included_models = [<%= RailsAdmin::AbstractModel.all_models.map(&:name).join(', ') %>]
60
+
61
+ # Application wide tried label methods for models' instances
62
+ # config.label_methods << :description # Default is [:name, :title]
63
+
64
+ # ==> Global models configuration
65
+ # config.models do
66
+ # # Configuration here will affect all included models in all scopes, handle with care!
67
+ #
68
+ # list do
69
+ # # Configuration here will affect all included models in list sections (same for show, export, edit, update, create)
70
+ #
71
+ # fields :name, :other_name do
72
+ # # Configuration here will affect all fields named [:name, :other_name], in the list section, for all included models
73
+ # end
74
+ #
75
+ # fields_of_type :date do
76
+ # # Configuration here will affect all date fields, in the list section, for all included models. See README for a comprehensive type list.
77
+ # end
78
+ # end
79
+ # end
80
+ #
81
+ # ==> Model specific configuration
82
+ # Keep in mind that *all* configuration blocks are optional.
83
+ # RailsAdmin will try his best to provide the best defaults for each section, for each field!
84
+ # Try to override as few things as possible, in the most generic way. Try to avoid setting labels for models and attributes, use ActiveRecord I18n API instead.
85
+ # Less code is better code!
86
+ # config.model MyModel do
87
+ # # Here goes your cross-section field configuration for ModelName.
88
+ # object_label_method :name # Name of the method called for pretty printing an *instance* of ModelName
89
+ # label 'My model' # Name of ModelName (smartly defaults to ActiveRecord's I18n API)
90
+ # label_plural 'My models' # Same, plural
91
+ # weight -1 # Navigation priority. Bigger is higher.
92
+ # parent OtherModel # Set parent model for navigation. MyModel will be nested below. OtherModel will be on first position of the dropdown
93
+ # navigation_label # Sets dropdown entry's name in navigation. Only for parents!
94
+ # # Section specific configuration:
95
+ # list do
96
+ # filters [:id, :name] # Array of field names which filters should be shown by default in the table header
97
+ # items_per_page 100 # Override default_items_per_page
98
+ # sort_by :id # Sort column (default is primary key)
99
+ # sort_reverse true # Sort direction (default is true for primary key, last created first)
100
+ # # Here goes the fields configuration for the list view
101
+ # end
102
+ # show do
103
+ # # Here goes the fields configuration for the show view
104
+ # end
105
+ # export do
106
+ # # Here goes the fields configuration for the export view (CSV, yaml, XML)
107
+ # end
108
+ # edit do
109
+ # # Here goes the fields configuration for the edit view (for create and update view)
110
+ # end
111
+ # create do
112
+ # # Here goes the fields configuration for the create view, overriding edit section settings
113
+ # end
114
+ # update do
115
+ # # Here goes the fields configuration for the update view, overriding edit section settings
116
+ # end
117
+ # end
118
+
119
+ # Your model's configuration, to help you get started:
120
+
121
+ # All fields marked as 'hidden' won't be shown anywhere in the rails_admin unless you mark them as visible.
122
+ # There can be different reasons for that:
123
+ # - belongs_to _id and _type (polymorphic) columns are hidden in favor of their associations
124
+ # - associations are hidden if they have no matchable model found (model not included or non-existant)
125
+ # - they are part of a bigger plan in a plugin (Devise/Paperclip) and hidden by contract
126
+ # Some fields may be hidden depending on the section, if they aren't deemed suitable for display or edition on that section
127
+ # - non-editable columns (:id, :created_at, ..) in edit sections
128
+ # - has_many/has_one associations in list section (hidden by default for performance reasons)
129
+ # Fields may also be marked as read_only (and thus not editable) if they are not mass-assignable by current_user
130
+
131
+ <% RailsAdmin::AbstractModel.all.map do |abstract_model| -%>
132
+ # config.model <%= abstract_model.model.model_name %> do
133
+ # # Found associations:
134
+ <%= RailsAdmin.config(abstract_model).export.fields.select{|f| f.association?}.map do |field|
135
+ %{ # field #{field.name.inspect}, #{field.type.inspect}#{" # Hidden" unless field.visible?} }
136
+ end.join("\n") -%>
137
+ # # Found columns:
138
+ <%= RailsAdmin.config(abstract_model).export.fields.select{|f| !f.association?}.map do |field|
139
+ %{ # field #{field.name.inspect}, #{field.type.inspect}#{" # Hidden" unless field.visible?} }
140
+ end.join("\n") -%>
141
+ # # Sections:
142
+ # list do; end
143
+ # export do; end
144
+ # show do; end
145
+ # edit do; end
146
+ # create do; end
147
+ # update do; end
148
+ # end
149
+ <%- end -%>
150
+ end