activeadmin 0.6.6 → 1.0.0.pre1

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of activeadmin might be problematic. Click here for more details.

Files changed (512) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +11 -8
  3. data/.hound.yml +11 -0
  4. data/.travis.yml +36 -10
  5. data/.yardopts +2 -1
  6. data/CHANGELOG.md +118 -67
  7. data/CONTRIBUTING.md +96 -73
  8. data/Gemfile +35 -35
  9. data/Guardfile +1 -0
  10. data/LICENSE +1 -1
  11. data/README.md +98 -0
  12. data/Rakefile +12 -4
  13. data/activeadmin.gemspec +21 -24
  14. data/app/assets/javascripts/active_admin/application.js.coffee +32 -0
  15. data/app/assets/javascripts/active_admin/base.js.coffee +14 -0
  16. data/app/assets/javascripts/active_admin/ext/jquery-ui.js.coffee +6 -0
  17. data/app/assets/javascripts/active_admin/ext/jquery.js.coffee +7 -0
  18. data/app/assets/javascripts/active_admin/lib/batch_actions.js.coffee +39 -0
  19. data/app/assets/javascripts/active_admin/{components/jquery.aa.checkbox-toggler.js.coffee → lib/checkbox-toggler.js.coffee} +3 -4
  20. data/app/assets/javascripts/active_admin/lib/dropdown-menu.js.coffee +101 -0
  21. data/app/assets/javascripts/active_admin/lib/flash.js.coffee +19 -0
  22. data/app/assets/javascripts/active_admin/lib/has_many.js.coffee +79 -0
  23. data/app/assets/javascripts/active_admin/lib/modal_dialog.js.coffee +37 -0
  24. data/app/assets/javascripts/active_admin/lib/per_page.js.coffee +27 -0
  25. data/app/assets/javascripts/active_admin/lib/popover.js.coffee +68 -0
  26. data/app/assets/javascripts/active_admin/{components/jquery.aa.table-checkbox-toggler.js.coffee → lib/table-checkbox-toggler.js.coffee} +2 -3
  27. data/app/assets/stylesheets/active_admin/{_base.css.scss → _base.scss} +3 -0
  28. data/app/assets/stylesheets/active_admin/{_forms.css.scss → _forms.scss} +61 -17
  29. data/app/assets/stylesheets/active_admin/{_header.css.scss → _header.scss} +9 -5
  30. data/app/assets/stylesheets/active_admin/{_mixins.css.scss → _mixins.scss} +0 -0
  31. data/app/assets/stylesheets/active_admin/{_typography.css.scss → _typography.scss} +0 -0
  32. data/app/assets/stylesheets/active_admin/components/_batch_actions.scss +11 -0
  33. data/app/assets/stylesheets/active_admin/components/_blank_slates.scss +0 -1
  34. data/app/assets/stylesheets/active_admin/components/_buttons.scss +1 -1
  35. data/app/assets/stylesheets/active_admin/components/{_comments.css.scss → _comments.scss} +0 -0
  36. data/app/assets/stylesheets/active_admin/components/{_date_picker.css.scss → _date_picker.scss} +40 -14
  37. data/app/assets/stylesheets/active_admin/components/_dropdown_menu.scss +5 -4
  38. data/app/assets/stylesheets/active_admin/components/_flash_messages.scss +37 -0
  39. data/app/assets/stylesheets/active_admin/components/_modal_dialog.scss +34 -0
  40. data/app/assets/stylesheets/active_admin/components/_pagination.scss +10 -0
  41. data/app/assets/stylesheets/active_admin/components/{_popovers.css.scss → _popovers.scss} +2 -3
  42. data/app/assets/stylesheets/active_admin/components/_status_tags.scss +4 -0
  43. data/app/assets/stylesheets/active_admin/components/_table_tools.scss +67 -0
  44. data/app/assets/stylesheets/active_admin/components/{_tables.css.scss → _tables.scss} +4 -2
  45. data/app/assets/stylesheets/active_admin/components/_tabs.scss +65 -0
  46. data/app/assets/stylesheets/active_admin/components/_unsupported_browser.scss +16 -0
  47. data/app/assets/stylesheets/active_admin/mixins/{_all.css.scss → _all.scss} +0 -0
  48. data/app/assets/stylesheets/active_admin/mixins/{_buttons.css.scss → _buttons.scss} +0 -1
  49. data/app/assets/stylesheets/active_admin/mixins/_gradients.scss +28 -0
  50. data/app/assets/stylesheets/active_admin/mixins/{_icons.css.scss → _icons.scss} +1 -2
  51. data/app/assets/stylesheets/active_admin/mixins/{_reset.css.scss → _reset.scss} +0 -0
  52. data/app/assets/stylesheets/active_admin/mixins/_rounded.scss +22 -0
  53. data/app/assets/stylesheets/active_admin/mixins/{_sections.css.scss → _sections.scss} +8 -2
  54. data/app/assets/stylesheets/active_admin/mixins/{_shadows.css.scss → _shadows.scss} +0 -7
  55. data/app/assets/stylesheets/active_admin/mixins/_utilities.scss +0 -9
  56. data/app/assets/stylesheets/active_admin/mixins/{_variables.css.scss → _variables.scss} +10 -8
  57. data/app/assets/stylesheets/active_admin/{print.css.scss → print.scss} +4 -0
  58. data/app/assets/stylesheets/active_admin/structure/_main_structure.scss +5 -2
  59. data/app/assets/stylesheets/active_admin/structure/_title_bar.scss +11 -9
  60. data/app/views/active_admin/devise/confirmations/new.html.erb +15 -0
  61. data/app/views/active_admin/devise/mailer/reset_password_instructions.html.erb +1 -1
  62. data/app/views/active_admin/devise/mailer/unlock_instructions.html.erb +1 -1
  63. data/app/views/active_admin/devise/passwords/edit.html.erb +9 -10
  64. data/app/views/active_admin/devise/passwords/new.html.erb +5 -4
  65. data/app/views/active_admin/devise/registrations/new.html.erb +22 -0
  66. data/app/views/active_admin/devise/sessions/new.html.erb +9 -7
  67. data/app/views/active_admin/devise/shared/_links.erb +1 -1
  68. data/app/views/active_admin/devise/unlocks/new.html.erb +5 -4
  69. data/app/views/layouts/active_admin_logged_out.html.erb +3 -5
  70. data/config/locales/ar.yml +120 -0
  71. data/config/locales/bg.yml +26 -6
  72. data/config/locales/bs.yml +122 -0
  73. data/config/locales/ca.yml +10 -1
  74. data/config/locales/cs.yml +7 -2
  75. data/config/locales/da.yml +7 -3
  76. data/config/locales/de-CH.yml +14 -31
  77. data/config/locales/de.yml +33 -33
  78. data/config/locales/el.yml +28 -2
  79. data/config/locales/en-GB.yml +12 -4
  80. data/config/locales/en.yml +29 -3
  81. data/config/locales/{es_MX.yml → es-MX.yml} +9 -24
  82. data/config/locales/es.yml +32 -25
  83. data/config/locales/fa.yml +120 -0
  84. data/config/locales/fi.yml +113 -0
  85. data/config/locales/fr.yml +21 -11
  86. data/config/locales/he.yml +7 -3
  87. data/config/locales/hr.yml +42 -11
  88. data/config/locales/hu.yml +10 -3
  89. data/config/locales/it.yml +31 -3
  90. data/config/locales/ja.yml +8 -3
  91. data/config/locales/ko.yml +7 -1
  92. data/config/locales/lt.yml +42 -11
  93. data/config/locales/lv.yml +7 -3
  94. data/config/locales/{no-NB.yml → nb.yml} +46 -15
  95. data/config/locales/nl.yml +36 -5
  96. data/config/locales/pl.yml +13 -8
  97. data/config/locales/pt-BR.yml +37 -5
  98. data/config/locales/pt-PT.yml +8 -4
  99. data/config/locales/ro.yml +7 -3
  100. data/config/locales/ru.yml +26 -5
  101. data/config/locales/sv-SE.yml +9 -5
  102. data/config/locales/tr.yml +10 -3
  103. data/config/locales/uk.yml +36 -12
  104. data/config/locales/vi.yml +7 -3
  105. data/config/locales/zh-CN.yml +26 -10
  106. data/config/locales/zh-TW.yml +19 -13
  107. data/docs/0-installation.md +65 -29
  108. data/docs/1-general-configuration.md +92 -81
  109. data/docs/10-custom-pages.md +68 -68
  110. data/docs/11-decorators.md +48 -59
  111. data/docs/12-arbre-components.md +80 -74
  112. data/docs/13-authorization-adapter.md +128 -107
  113. data/docs/14-gotchas.md +92 -0
  114. data/docs/2-resource-customization.md +293 -178
  115. data/docs/3-index-pages.md +160 -86
  116. data/docs/3-index-pages/custom-index.md +31 -0
  117. data/docs/3-index-pages/index-as-block.md +14 -9
  118. data/docs/3-index-pages/index-as-blog.md +41 -31
  119. data/docs/3-index-pages/index-as-grid.md +16 -8
  120. data/docs/3-index-pages/index-as-table.md +129 -52
  121. data/docs/4-csv-format.md +31 -24
  122. data/docs/5-forms.md +133 -56
  123. data/docs/6-show-pages.md +89 -27
  124. data/docs/7-sidebars.md +48 -27
  125. data/docs/8-custom-actions.md +98 -77
  126. data/docs/9-batch-actions.md +210 -146
  127. data/docs/README.md +24 -0
  128. data/features/action_item.feature +3 -3
  129. data/features/authorization_pundit.feature +37 -0
  130. data/features/breadcrumb.feature +48 -0
  131. data/features/comments/commenting.feature +56 -13
  132. data/features/development_reloading.feature +17 -30
  133. data/features/edit_page.feature +12 -1
  134. data/features/favicon.feature +3 -3
  135. data/features/i18n.feature +5 -4
  136. data/features/index/batch_actions.feature +41 -0
  137. data/features/index/filters.feature +67 -0
  138. data/features/index/format_as_csv.feature +90 -4
  139. data/features/index/formats.feature +27 -0
  140. data/features/index/index_as_blog.feature +4 -4
  141. data/features/index/index_as_table.feature +102 -6
  142. data/features/index/index_blank_slate.feature +22 -0
  143. data/features/index/index_scope_to.feature +16 -16
  144. data/features/index/page_title.feature +11 -0
  145. data/features/index/pagination.feature +1 -1
  146. data/features/index/switch_index_view.feature +14 -14
  147. data/features/new_page.feature +13 -2
  148. data/features/registering_pages.feature +1 -1
  149. data/features/renamed_resource.feature +32 -0
  150. data/features/show/page_title.feature +11 -0
  151. data/features/show/tabs.feature +27 -0
  152. data/features/sidebar_sections.feature +12 -0
  153. data/features/site_title.feature +2 -2
  154. data/features/specifying_actions.feature +3 -3
  155. data/features/step_definitions/action_item_steps.rb +2 -2
  156. data/features/step_definitions/action_link_steps.rb +14 -1
  157. data/features/step_definitions/additional_web_steps.rb +19 -20
  158. data/features/step_definitions/asset_steps.rb +3 -3
  159. data/features/step_definitions/attribute_steps.rb +8 -3
  160. data/features/step_definitions/batch_action_steps.rb +26 -9
  161. data/features/step_definitions/blog_steps.rb +3 -0
  162. data/features/step_definitions/breadcrumb_steps.rb +1 -1
  163. data/features/step_definitions/comment_steps.rb +1 -1
  164. data/features/step_definitions/configuration_steps.rb +9 -2
  165. data/features/step_definitions/dashboard_steps.rb +2 -2
  166. data/features/step_definitions/factory_steps.rb +9 -8
  167. data/features/step_definitions/filter_steps.rb +25 -3
  168. data/features/step_definitions/flash_steps.rb +3 -3
  169. data/features/step_definitions/format_steps.rb +18 -18
  170. data/features/step_definitions/index_scope_steps.rb +5 -5
  171. data/features/step_definitions/layout_steps.rb +1 -1
  172. data/features/step_definitions/member_link_steps.rb +2 -2
  173. data/features/step_definitions/menu_steps.rb +3 -3
  174. data/features/step_definitions/pagination_steps.rb +2 -3
  175. data/features/step_definitions/sidebar_steps.rb +8 -3
  176. data/features/step_definitions/site_title_steps.rb +6 -4
  177. data/features/step_definitions/symbol_leak_steps.rb +3 -0
  178. data/features/step_definitions/tab_steps.rb +5 -0
  179. data/features/step_definitions/table_steps.rb +4 -4
  180. data/features/step_definitions/user_steps.rb +10 -7
  181. data/features/step_definitions/web_steps.rb +14 -11
  182. data/features/sti_resource.feature +6 -2
  183. data/features/strong_parameters.feature +73 -0
  184. data/features/support/env.rb +34 -9
  185. data/features/support/paths.rb +14 -6
  186. data/features/support/selectors.rb +1 -1
  187. data/features/symbol_leak.feature +35 -0
  188. data/features/users/resetting_password.feature +5 -6
  189. data/lib/active_admin.rb +26 -25
  190. data/lib/active_admin/abstract_view_factory.rb +7 -17
  191. data/lib/active_admin/application.rb +72 -59
  192. data/lib/active_admin/asset_registration.rb +2 -2
  193. data/lib/active_admin/authorization_adapter.rb +2 -2
  194. data/lib/active_admin/base_controller.rb +2 -3
  195. data/lib/active_admin/base_controller/authorization.rb +13 -31
  196. data/lib/active_admin/batch_actions.rb +1 -1
  197. data/lib/active_admin/batch_actions/controller.rb +24 -8
  198. data/lib/active_admin/batch_actions/resource_extension.rb +47 -18
  199. data/lib/active_admin/batch_actions/views/batch_action_form.rb +7 -4
  200. data/lib/active_admin/batch_actions/views/batch_action_popover.rb +3 -3
  201. data/lib/active_admin/batch_actions/views/batch_action_selector.rb +8 -17
  202. data/lib/active_admin/batch_actions/views/selection_cells.rb +4 -4
  203. data/lib/active_admin/callbacks.rb +25 -24
  204. data/lib/active_admin/cancan_adapter.rb +7 -11
  205. data/lib/active_admin/csv_builder.rb +92 -15
  206. data/lib/active_admin/dependency.rb +93 -0
  207. data/lib/active_admin/deprecation.rb +6 -7
  208. data/lib/active_admin/devise.rb +28 -18
  209. data/lib/active_admin/dsl.rb +18 -11
  210. data/lib/active_admin/engine.rb +10 -8
  211. data/lib/active_admin/error.rb +62 -0
  212. data/lib/active_admin/filters/dsl.rb +2 -2
  213. data/lib/active_admin/filters/forms.rb +17 -27
  214. data/lib/active_admin/filters/formtastic_addons.rb +49 -15
  215. data/lib/active_admin/filters/resource_extension.rb +43 -34
  216. data/lib/active_admin/form_builder.rb +93 -154
  217. data/lib/active_admin/helpers/collection.rb +7 -13
  218. data/lib/active_admin/helpers/i18n.rb +7 -0
  219. data/lib/active_admin/helpers/optional_display.rb +5 -5
  220. data/lib/active_admin/helpers/routes/url_helpers.rb +15 -0
  221. data/lib/active_admin/helpers/scope_chain.rb +1 -1
  222. data/lib/active_admin/helpers/settings.rb +16 -9
  223. data/lib/active_admin/iconic.rb +17 -15
  224. data/lib/active_admin/iconic/icons.rb +136 -136
  225. data/lib/active_admin/inputs.rb +11 -7
  226. data/lib/active_admin/inputs/datepicker_input.rb +12 -3
  227. data/lib/active_admin/inputs/filters/base.rb +42 -0
  228. data/lib/active_admin/inputs/filters/base/search_method_select.rb +75 -0
  229. data/lib/active_admin/inputs/filters/boolean_input.rb +24 -0
  230. data/lib/active_admin/inputs/filters/check_boxes_input.rb +50 -0
  231. data/lib/active_admin/inputs/filters/date_range_input.rb +36 -0
  232. data/lib/active_admin/inputs/filters/numeric_input.rb +12 -0
  233. data/lib/active_admin/inputs/filters/select_input.rb +54 -0
  234. data/lib/active_admin/inputs/filters/string_input.rb +26 -0
  235. data/lib/active_admin/menu.rb +6 -4
  236. data/lib/active_admin/menu_collection.rb +1 -4
  237. data/lib/active_admin/namespace.rb +55 -29
  238. data/lib/active_admin/order_clause.rb +26 -0
  239. data/lib/active_admin/orm/active_record.rb +5 -0
  240. data/lib/active_admin/orm/active_record/comments.rb +81 -0
  241. data/lib/active_admin/orm/active_record/comments/comment.rb +45 -0
  242. data/lib/active_admin/{comments → orm/active_record/comments}/namespace_helper.rb +2 -2
  243. data/lib/active_admin/{comments → orm/active_record/comments}/resource_helper.rb +1 -1
  244. data/lib/active_admin/{comments → orm/active_record/comments}/show_page_helper.rb +0 -0
  245. data/lib/active_admin/orm/active_record/comments/views.rb +2 -0
  246. data/lib/active_admin/{comments → orm/active_record/comments}/views/active_admin_comments.rb +16 -14
  247. data/lib/active_admin/orm/mongoid.rb +1 -0
  248. data/lib/active_admin/orm/mongoid/.gitkeep +0 -0
  249. data/lib/active_admin/page.rb +7 -3
  250. data/lib/active_admin/page_dsl.rb +1 -1
  251. data/lib/active_admin/page_presenter.rb +2 -2
  252. data/lib/active_admin/pundit_adapter.rb +68 -0
  253. data/lib/active_admin/resource.rb +16 -17
  254. data/lib/active_admin/resource/action_items.rb +23 -18
  255. data/lib/active_admin/resource/belongs_to.rb +7 -3
  256. data/lib/active_admin/resource/controllers.rb +1 -0
  257. data/lib/active_admin/resource/includes.rb +12 -0
  258. data/lib/active_admin/resource/menu.rb +5 -5
  259. data/lib/active_admin/resource/naming.rb +27 -43
  260. data/lib/active_admin/resource/page_presenters.rb +1 -1
  261. data/lib/active_admin/resource/routes.rb +27 -11
  262. data/lib/active_admin/resource/scope_to.rb +7 -7
  263. data/lib/active_admin/resource/sidebars.rb +1 -0
  264. data/lib/active_admin/resource_controller.rb +6 -7
  265. data/lib/active_admin/resource_controller/data_access.rb +101 -93
  266. data/lib/active_admin/resource_controller/decorators.rb +91 -9
  267. data/lib/active_admin/resource_controller/streaming.rb +37 -0
  268. data/lib/active_admin/resource_dsl.rb +53 -10
  269. data/lib/active_admin/router.rb +7 -7
  270. data/lib/active_admin/scope.rb +6 -6
  271. data/lib/active_admin/sidebar_section.rb +10 -2
  272. data/lib/active_admin/version.rb +1 -1
  273. data/lib/active_admin/view_factory.rb +17 -17
  274. data/lib/active_admin/view_helpers.rb +0 -1
  275. data/lib/active_admin/view_helpers/auto_link_helper.rb +23 -12
  276. data/lib/active_admin/view_helpers/breadcrumb_helper.rb +4 -3
  277. data/lib/active_admin/view_helpers/display_helper.rb +30 -15
  278. data/lib/active_admin/view_helpers/download_format_links_helper.rb +21 -25
  279. data/lib/active_admin/view_helpers/fields_for.rb +4 -4
  280. data/lib/active_admin/view_helpers/flash_helper.rb +4 -3
  281. data/lib/active_admin/view_helpers/form_helper.rb +5 -9
  282. data/lib/active_admin/view_helpers/method_or_proc_helper.rb +6 -6
  283. data/lib/active_admin/views/action_items.rb +2 -2
  284. data/lib/active_admin/views/components/action_list_popover.rb +1 -1
  285. data/lib/active_admin/views/components/active_admin_form.rb +123 -0
  286. data/lib/active_admin/views/components/attributes_table.rb +63 -21
  287. data/lib/active_admin/views/components/blank_slate.rb +1 -1
  288. data/lib/active_admin/views/components/columns.rb +13 -7
  289. data/lib/active_admin/views/components/dropdown_menu.rb +6 -6
  290. data/lib/active_admin/views/components/index_list.rb +7 -7
  291. data/lib/active_admin/views/components/paginated_collection.rb +38 -20
  292. data/lib/active_admin/views/components/panel.rb +8 -2
  293. data/lib/active_admin/views/components/popover.rb +1 -1
  294. data/lib/active_admin/views/components/scopes.rb +5 -4
  295. data/lib/active_admin/views/components/sidebar_section.rb +3 -2
  296. data/lib/active_admin/views/components/site_title.rb +2 -2
  297. data/lib/active_admin/views/components/status_tag.rb +34 -11
  298. data/lib/active_admin/views/components/table_for.rb +90 -45
  299. data/lib/active_admin/views/components/tabs.rb +28 -0
  300. data/lib/active_admin/views/components/unsupported_browser.rb +11 -0
  301. data/lib/active_admin/views/footer.rb +3 -3
  302. data/lib/active_admin/views/header.rb +3 -3
  303. data/lib/active_admin/views/index_as_block.rb +10 -10
  304. data/lib/active_admin/views/index_as_blog.rb +45 -39
  305. data/lib/active_admin/views/index_as_grid.rb +14 -10
  306. data/lib/active_admin/views/index_as_table.rb +242 -129
  307. data/lib/active_admin/views/pages/base.rb +22 -18
  308. data/lib/active_admin/views/pages/form.rb +21 -11
  309. data/lib/active_admin/views/pages/index.rb +40 -35
  310. data/lib/active_admin/views/pages/layout.rb +1 -1
  311. data/lib/active_admin/views/pages/show.rb +4 -4
  312. data/lib/active_admin/views/tabbed_navigation.rb +7 -3
  313. data/lib/active_admin/views/title_bar.rb +10 -8
  314. data/lib/generators/active_admin/assets/assets_generator.rb +3 -28
  315. data/lib/generators/active_admin/assets/templates/{3.1/active_admin.css.scss → active_admin.css.scss} +0 -0
  316. data/lib/generators/active_admin/assets/templates/active_admin.js.coffee +1 -0
  317. data/lib/generators/active_admin/devise/devise_generator.rb +24 -26
  318. data/lib/generators/active_admin/install/install_generator.rb +8 -9
  319. data/lib/generators/active_admin/install/templates/active_admin.rb.erb +28 -26
  320. data/lib/generators/active_admin/install/templates/admin_user.rb.erb +12 -2
  321. data/lib/generators/active_admin/install/templates/dashboard.rb +4 -4
  322. data/lib/generators/active_admin/install/templates/migrations/create_active_admin_comments.rb +3 -3
  323. data/lib/generators/active_admin/page/USAGE +8 -0
  324. data/lib/generators/active_admin/page/page_generator.rb +12 -0
  325. data/lib/generators/active_admin/page/templates/page.rb +5 -0
  326. data/lib/generators/active_admin/resource/resource_generator.rb +3 -5
  327. data/lib/generators/active_admin/resource/templates/admin.rb +15 -0
  328. data/lib/ransack_ext.rb +12 -0
  329. data/script/local +2 -2
  330. data/script/travis_cache +107 -0
  331. data/spec/javascripts/coffeescripts/jquery.aa.flash.js.coffee +25 -0
  332. data/spec/javascripts/fixtures/flashes.html +2 -0
  333. data/spec/rails_helper.rb +154 -0
  334. data/spec/{integration → requests}/default_namespace_spec.rb +6 -6
  335. data/spec/{integration → requests}/javascript_spec.rb +5 -5
  336. data/spec/requests/memory_spec.rb +23 -0
  337. data/spec/requests/stylesheets_spec.rb +18 -0
  338. data/spec/spec_helper.rb +12 -173
  339. data/spec/support/detect_rails_version.rb +9 -17
  340. data/spec/support/rails_template.rb +64 -35
  341. data/spec/support/rails_template_with_data.rb +14 -14
  342. data/spec/support/templates/admin/stores.rb +5 -1
  343. data/spec/support/templates/policies/active_admin/comment_policy.rb +9 -0
  344. data/spec/support/templates/policies/active_admin/page_policy.rb +18 -0
  345. data/spec/support/templates/policies/admin_user_policy.rb +11 -0
  346. data/spec/support/templates/policies/application_policy.rb +45 -0
  347. data/spec/support/templates/policies/category_policy.rb +7 -0
  348. data/spec/support/templates/policies/post_policy.rb +15 -0
  349. data/spec/support/templates/policies/store_policy.rb +11 -0
  350. data/spec/support/templates/policies/user_policy.rb +11 -0
  351. data/spec/support/templates/post_decorator.rb +4 -46
  352. data/spec/unit/abstract_view_factory_spec.rb +16 -16
  353. data/spec/unit/action_builder_spec.rb +24 -18
  354. data/spec/unit/active_admin_spec.rb +2 -2
  355. data/spec/unit/application_spec.rb +33 -34
  356. data/spec/unit/asset_registration_spec.rb +25 -29
  357. data/spec/unit/authorization/authorization_adapter_spec.rb +10 -10
  358. data/spec/unit/authorization/controller_authorization_spec.rb +11 -11
  359. data/spec/unit/authorization/index_overriding_spec.rb +22 -0
  360. data/spec/unit/auto_link_spec.rb +43 -13
  361. data/spec/unit/batch_actions/resource_spec.rb +15 -14
  362. data/spec/unit/batch_actions/settings_spec.rb +18 -18
  363. data/spec/unit/belongs_to_spec.rb +28 -19
  364. data/spec/unit/cancan_adapter_spec.rb +8 -8
  365. data/spec/unit/comments_spec.rb +99 -39
  366. data/spec/unit/component_spec.rb +3 -3
  367. data/spec/unit/config_shared_examples.rb +10 -10
  368. data/spec/unit/controller_filters_spec.rb +23 -16
  369. data/spec/unit/csv_builder_spec.rb +165 -24
  370. data/spec/unit/dependency_spec.rb +135 -0
  371. data/spec/unit/devise_spec.rb +17 -37
  372. data/spec/unit/dsl_spec.rb +70 -9
  373. data/spec/unit/event_spec.rb +11 -11
  374. data/spec/unit/filters/filter_form_builder_spec.rb +207 -148
  375. data/spec/unit/filters/resource_spec.rb +60 -26
  376. data/spec/unit/form_builder_spec.rb +419 -145
  377. data/spec/unit/generators/install_spec.rb +23 -0
  378. data/spec/unit/helpers/collection_spec.rb +18 -18
  379. data/spec/unit/helpers/scope_chain_spec.rb +6 -6
  380. data/spec/unit/helpers/settings_spec.rb +4 -4
  381. data/spec/unit/i18n_spec.rb +12 -0
  382. data/spec/unit/menu_collection_spec.rb +14 -14
  383. data/spec/unit/menu_item_spec.rb +42 -42
  384. data/spec/unit/menu_spec.rb +20 -20
  385. data/spec/unit/namespace/authorization_spec.rb +8 -8
  386. data/spec/unit/namespace/register_page_spec.rb +11 -11
  387. data/spec/unit/namespace/register_resource_spec.rb +28 -30
  388. data/spec/unit/namespace_spec.rb +20 -20
  389. data/spec/unit/order_clause_spec.rb +81 -0
  390. data/spec/unit/page_controller_spec.rb +1 -1
  391. data/spec/unit/page_spec.rb +18 -12
  392. data/spec/unit/pretty_format_spec.rb +42 -14
  393. data/spec/unit/pundit_adapter_spec.rb +98 -0
  394. data/spec/unit/resource/action_items_spec.rb +15 -12
  395. data/spec/unit/resource/includes_spec.rb +21 -0
  396. data/spec/unit/resource/menu_spec.rb +1 -1
  397. data/spec/unit/resource/naming_spec.rb +35 -21
  398. data/spec/unit/resource/page_presenters_spec.rb +8 -8
  399. data/spec/unit/resource/pagination_spec.rb +6 -6
  400. data/spec/unit/resource/routes_spec.rb +10 -10
  401. data/spec/unit/resource/scopes_spec.rb +14 -7
  402. data/spec/unit/resource/sidebars_spec.rb +6 -6
  403. data/spec/unit/resource_collection_spec.rb +31 -38
  404. data/spec/unit/resource_controller/data_access_spec.rb +96 -30
  405. data/spec/unit/resource_controller/decorators_spec.rb +83 -0
  406. data/spec/unit/resource_controller/sidebars_spec.rb +7 -8
  407. data/spec/unit/resource_controller_spec.rb +73 -70
  408. data/spec/unit/resource_registration_spec.rb +12 -12
  409. data/spec/unit/resource_spec.rb +77 -42
  410. data/spec/unit/routing_spec.rb +39 -31
  411. data/spec/unit/scope_spec.rb +112 -30
  412. data/spec/unit/settings_spec.rb +51 -21
  413. data/spec/unit/view_factory_spec.rb +2 -3
  414. data/spec/unit/view_helpers/breadcrumbs_spec.rb +71 -60
  415. data/spec/unit/view_helpers/display_name_spec.rb +49 -21
  416. data/spec/unit/view_helpers/download_format_links_helper_spec.rb +5 -5
  417. data/spec/unit/view_helpers/fields_for_spec.rb +18 -18
  418. data/spec/unit/view_helpers/flash_helper_spec.rb +25 -0
  419. data/spec/unit/view_helpers/form_helper_spec.rb +10 -23
  420. data/spec/unit/view_helpers/method_or_proc_helper_spec.rb +64 -22
  421. data/spec/unit/views/components/action_list_popover_spec.rb +16 -6
  422. data/spec/unit/views/components/attributes_table_spec.rb +171 -30
  423. data/spec/unit/views/components/batch_action_popover_spec.rb +20 -6
  424. data/spec/unit/views/components/blank_slate_spec.rb +14 -4
  425. data/spec/unit/views/components/columns_spec.rb +52 -22
  426. data/spec/unit/views/components/index_list_spec.rb +11 -8
  427. data/spec/unit/views/components/index_table_for_spec.rb +46 -0
  428. data/spec/unit/views/components/paginated_collection_spec.rb +79 -90
  429. data/spec/unit/views/components/panel_spec.rb +32 -21
  430. data/spec/unit/views/components/popover_spec.rb +7 -7
  431. data/spec/unit/views/components/sidebar_section_spec.rb +18 -8
  432. data/spec/unit/views/components/site_title_spec.rb +26 -26
  433. data/spec/unit/views/components/status_tag_spec.rb +178 -38
  434. data/spec/unit/views/components/table_for_spec.rb +237 -35
  435. data/spec/unit/views/components/tabs_spec.rb +39 -0
  436. data/spec/unit/views/components/unsupported_browser_spec.rb +47 -0
  437. data/spec/unit/views/pages/form_spec.rb +17 -10
  438. data/spec/unit/views/pages/index_spec.rb +60 -0
  439. data/spec/unit/views/pages/layout_spec.rb +17 -21
  440. data/spec/unit/views/pages/show_spec.rb +18 -6
  441. data/spec/unit/views/tabbed_navigation_spec.rb +61 -52
  442. data/tasks/docs.rake +9 -11
  443. data/tasks/parallel_tests.rake +8 -2
  444. data/tasks/test.rake +13 -9
  445. data/tasks/yard.rake +7 -4
  446. metadata +219 -163
  447. data/.document +0 -5
  448. data/README.rdoc +0 -88
  449. data/app/assets/images/active_admin/admin_notes_icon.png +0 -0
  450. data/app/assets/images/active_admin/datepicker/datepicker-header-bg.png +0 -0
  451. data/app/assets/images/active_admin/datepicker/datepicker-next-link-icon.png +0 -0
  452. data/app/assets/images/active_admin/datepicker/datepicker-nipple.png +0 -0
  453. data/app/assets/images/active_admin/datepicker/datepicker-prev-link-icon.png +0 -0
  454. data/app/assets/images/active_admin/index_list_icons/block_icon.svg +0 -10
  455. data/app/assets/images/active_admin/index_list_icons/blog_icon.svg +0 -4
  456. data/app/assets/images/active_admin/index_list_icons/grid_icon.svg +0 -13
  457. data/app/assets/images/active_admin/index_list_icons/table_icon.svg +0 -3
  458. data/app/assets/images/active_admin/loading.gif +0 -0
  459. data/app/assets/javascripts/active_admin/application.js +0 -3
  460. data/app/assets/javascripts/active_admin/base.js +0 -5
  461. data/app/assets/javascripts/active_admin/components/jquery.aa.dropdown-menu.js.coffee +0 -105
  462. data/app/assets/javascripts/active_admin/components/jquery.aa.popover.js.coffee +0 -97
  463. data/app/assets/javascripts/active_admin/lib/namespace.js.coffee +0 -4
  464. data/app/assets/javascripts/active_admin/pages/application.js.coffee +0 -21
  465. data/app/assets/javascripts/active_admin/pages/batch_actions.js.coffee +0 -26
  466. data/app/assets/stylesheets/active_admin/components/_batch_actions.css.scss +0 -11
  467. data/app/assets/stylesheets/active_admin/components/_flash_messages.css.scss +0 -41
  468. data/app/assets/stylesheets/active_admin/components/_table_tools.css.scss +0 -95
  469. data/app/assets/stylesheets/active_admin/mixins/_gradients.css.scss +0 -38
  470. data/app/assets/stylesheets/active_admin/mixins/_rounded.css.scss +0 -43
  471. data/app/views/active_admin/dashboard/index.html.arb +0 -1
  472. data/app/views/active_admin/resource/index.csv.erb +0 -23
  473. data/docs/3-index-pages/create-an-index.md +0 -29
  474. data/lib/active_admin/comments.rb +0 -83
  475. data/lib/active_admin/comments/comment.rb +0 -42
  476. data/lib/active_admin/comments/views.rb +0 -2
  477. data/lib/active_admin/dependency_checker.rb +0 -46
  478. data/lib/active_admin/inputs/filter_base.rb +0 -33
  479. data/lib/active_admin/inputs/filter_base/search_method_select.rb +0 -73
  480. data/lib/active_admin/inputs/filter_boolean_input.rb +0 -36
  481. data/lib/active_admin/inputs/filter_check_boxes_input.rb +0 -40
  482. data/lib/active_admin/inputs/filter_date_range_input.rb +0 -34
  483. data/lib/active_admin/inputs/filter_numeric_input.rb +0 -10
  484. data/lib/active_admin/inputs/filter_select_input.rb +0 -49
  485. data/lib/active_admin/inputs/filter_string_input.rb +0 -24
  486. data/lib/active_admin/reloader.rb +0 -130
  487. data/lib/active_admin/resource_controller/actions.rb +0 -81
  488. data/lib/active_admin/sass/active_admin.scss +0 -3
  489. data/lib/active_admin/sass/css_loader.rb +0 -16
  490. data/lib/active_admin/sass/helpers.rb +0 -45
  491. data/lib/active_admin/view_helpers/assigns_with_indifferent_access_helper.rb +0 -7
  492. data/lib/active_admin/views/dashboard_section_renderer.rb +0 -19
  493. data/lib/active_admin/views/pages/dashboard.rb +0 -62
  494. data/lib/generators/active_admin/assets/templates/3.0/active_admin.js +0 -1
  495. data/lib/generators/active_admin/assets/templates/3.1/active_admin.js +0 -1
  496. data/lib/meta_search_ext.rb +0 -10
  497. data/spec/integration/memory_spec.rb +0 -29
  498. data/spec/integration/stylesheets_spec.rb +0 -41
  499. data/spec/javascripts/compiled/jquery.aa.checkbox-toggler-spec.js +0 -60
  500. data/spec/javascripts/compiled/jquery.aa.popover-spec.js +0 -106
  501. data/spec/javascripts/compiled/jquery.aa.table-checkbox-toggler-spec.js +0 -37
  502. data/spec/javascripts/helpers/vendor/jasmine-fixture-0.0.5.js +0 -108
  503. data/spec/javascripts/helpers/vendor/jasmine-jquery.js +0 -288
  504. data/spec/javascripts/helpers/vendor/sinon-1.2.0.js +0 -2915
  505. data/spec/javascripts/support/jquery-ui-1.8.16.custom.min.js +0 -34
  506. data/spec/javascripts/support/jquery.min.js +0 -4
  507. data/spec/spec_helper_without_rails.rb +0 -11
  508. data/spec/unit/generators/install_rails_3_1_spec.rb +0 -16
  509. data/spec/unit/rails_spec.rb +0 -43
  510. data/spec/unit/reloader_spec.rb +0 -124
  511. data/spec/unit/sass/helpers_spec.rb +0 -47
  512. data/tasks/js.rake +0 -32
@@ -0,0 +1 @@
1
+ #= require active_admin/base
@@ -1,19 +1,28 @@
1
+ require "active_admin/error"
2
+
1
3
  module ActiveAdmin
2
4
  module Generators
3
- class Error < Rails::Generators::Error
4
- end
5
-
6
5
  class DeviseGenerator < Rails::Generators::NamedBase
7
6
  desc "Creates an admin user and uses Devise for authentication"
8
- argument :name, :type => :string, :default => "AdminUser"
7
+ argument :name, type: :string, default: "AdminUser"
9
8
 
10
- class_option :registerable, :type => :boolean, :default => false,
11
- :desc => "Should the generated resource be registerable?"
9
+ class_option :registerable, type: :boolean, default: false,
10
+ desc: "Should the generated resource be registerable?"
12
11
 
13
12
  RESERVED_NAMES = [:active_admin_user]
14
13
 
14
+ class_option :default_user, :type => :boolean, :default => true,
15
+ :desc => "Should a default user be created inside the migration?"
16
+
15
17
  def install_devise
18
+ begin
19
+ Dependency.devise! Dependency::DEVISE
20
+ rescue DependencyError => e
21
+ raise ActiveAdmin::GeneratorError, "#{e.message} If you don't want to use devise, run the generator with --skip-users."
22
+ end
23
+
16
24
  require 'devise'
25
+
17
26
  if File.exists?(File.join(destination_root, "config", "initializers", "devise.rb"))
18
27
  log :generate, "No need to install devise, already done."
19
28
  else
@@ -24,7 +33,7 @@ module ActiveAdmin
24
33
 
25
34
  def create_admin_user
26
35
  if RESERVED_NAMES.include?(name.underscore)
27
- raise Error, "The name #{name} is reserved by Active Admin"
36
+ raise ActiveAdmin::GeneratorError, "The name #{name} is reserved by Active Admin"
28
37
  end
29
38
  invoke "devise", [name]
30
39
  end
@@ -36,39 +45,28 @@ module ActiveAdmin
36
45
  end
37
46
  end
38
47
 
39
- # This fixes a bug in the 3.0.0 release of Devise. For more info:
40
- # https://github.com/plataformatec/devise/issues/2515
41
- def add_attr_accessible_if_missing
42
- require 'devise/version'
43
- if ::Devise::VERSION == '3.0.0'
44
- if Rails::VERSION::MAJOR == 3 && !defined?(ActionController::StrongParameters)
45
- model = File.join(destination_root, "app", "models", "#{file_path}.rb")
46
- inject_into_file model, "\n attr_accessible :email, :password, :password_confirmation, :remember_me\n",
47
- :before => /end\s*\z/
48
- end
49
- end
50
- end
51
-
52
48
  def set_namespace_for_path
53
49
  routes_file = File.join(destination_root, "config", "routes.rb")
54
- gsub_file routes_file, /devise_for :#{plural_table_name}/, "devise_for :#{plural_table_name}, ActiveAdmin::Devise.config"
50
+ gsub_file routes_file, /devise_for :#{plural_table_name}$/, "devise_for :#{plural_table_name}, ActiveAdmin::Devise.config"
55
51
  end
56
52
 
57
53
  def add_default_user_to_migration
58
54
  # Don't assume that we have a migration!
59
55
  devise_migration_file = Dir["db/migrate/*_devise_create_#{table_name}.rb"].first
60
- return if devise_migration_file.nil?
56
+ return if devise_migration_file.nil? || !options[:default_user]
61
57
 
62
58
  devise_migration_content = File.read(devise_migration_file)
63
59
 
60
+ create_user_code = "#{class_name}.create!(email: 'admin@example.com', password: 'password', password_confirmation: 'password')"
61
+
64
62
  if devise_migration_content["def change"]
65
63
  inject_into_file devise_migration_file,
66
- "def migrate(direction)\n super\n # Create a default user\n #{class_name}.create!(:email => 'admin@example.com', :password => 'password', :password_confirmation => 'password') if direction == :up\n end\n\n ",
67
- :before => "def change"
64
+ "def migrate(direction)\n super\n # Create a default user\n #{create_user_code} if direction == :up\n end\n\n ",
65
+ before: "def change"
68
66
  elsif devise_migration_content[/def (self.)?up/]
69
67
  inject_into_file devise_migration_file,
70
- "# Create a default user\n #{class_name}.create!(:email => 'admin@example.com', :password => 'password', :password_confirmation => 'password')\n\n ",
71
- :before => "add_index :#{table_name}, :email"
68
+ "# Create a default user\n #{create_user_code}\n\n ",
69
+ before: "add_index :#{table_name}, :email"
72
70
  else
73
71
  puts devise_migration_content
74
72
  raise "Failed to add default admin user to migration."
@@ -4,16 +4,15 @@ module ActiveAdmin
4
4
  module Generators
5
5
  class InstallGenerator < ActiveRecord::Generators::Base
6
6
  desc "Installs Active Admin and generates the necessary migrations"
7
- argument :name, :type => :string, :default => "AdminUser"
7
+ argument :name, type: :string, default: "AdminUser"
8
8
 
9
- hook_for :users, :default => "devise", :desc => "Admin user generator to run. Skip with --skip-users"
9
+ hook_for :users, default: "devise", desc: "Admin user generator to run. Skip with --skip-users"
10
10
 
11
- def self.source_root
12
- @_active_admin_source_root ||= File.expand_path("../templates", __FILE__)
13
- end
11
+ source_root File.expand_path("../templates", __FILE__)
14
12
 
15
- def copy_initializer
13
+ def copy_initializer
16
14
  @underscored_user_name = name.underscore
15
+ @use_authentication_method = options[:users].present?
17
16
  template 'active_admin.rb.erb', 'config/initializers/active_admin.rb'
18
17
  end
19
18
 
@@ -27,10 +26,10 @@ module ActiveAdmin
27
26
  end
28
27
 
29
28
  def setup_routes
30
- if ARGV.include? "--skip-users"
29
+ if options[:users] # Ensure Active Admin routes occur after Devise routes so that Devise has higher priority
30
+ inject_into_file "config/routes.rb", "\n ActiveAdmin.routes(self)", after: /devise_for .*, ActiveAdmin::Devise\.config/
31
+ else
31
32
  route "ActiveAdmin.routes(self)"
32
- else # Ensure Active Admin routes occur after Devise routes so that Devise has higher priority
33
- inject_into_file "config/routes.rb", "\n ActiveAdmin.routes(self)", :after => /devise_for.*/
34
33
  end
35
34
  end
36
35
 
@@ -1,5 +1,4 @@
1
1
  ActiveAdmin.setup do |config|
2
-
3
2
  # == Site Title
4
3
  #
5
4
  # Set the title that is displayed on the main layout
@@ -15,9 +14,9 @@ ActiveAdmin.setup do |config|
15
14
  # Set an optional image to be displayed for the header
16
15
  # instead of a string (overrides :site_title)
17
16
  #
18
- # Note: Recommended image height is 21px to properly fit in the header
17
+ # Note: Aim for an image that's 21px high so it fits in the header.
19
18
  #
20
- # config.site_title_image = "/images/logo.png"
19
+ # config.site_title_image = "logo.png"
21
20
 
22
21
  # == Default Namespace
23
22
  #
@@ -54,8 +53,8 @@ ActiveAdmin.setup do |config|
54
53
  # ensure that there is a currently logged in admin user.
55
54
  #
56
55
  # This setting changes the method which Active Admin calls
57
- # within the controller.
58
- config.authentication_method = :authenticate_<%= @underscored_user_name %>!
56
+ # within the application controller.
57
+ <% unless @use_authentication_method %># <% end %>config.authentication_method = :authenticate_<%= @underscored_user_name %>!
59
58
 
60
59
  # == User Authorization
61
60
  #
@@ -65,6 +64,11 @@ ActiveAdmin.setup do |config|
65
64
  # CanCanAdapter or make your own. Please refer to documentation.
66
65
  # config.authorization_adapter = ActiveAdmin::CanCanAdapter
67
66
 
67
+ # In case you prefer Pundit over other solutions you can here pass
68
+ # the name of default policy class. This policy will be used in every
69
+ # case when Pundit is unable to find suitable policy.
70
+ # config.pundit_default_policy = "MyDefaultPunditPolicy"
71
+
68
72
  # You can customize your CanCan Ability class name here.
69
73
  # config.cancan_ability_class = "Ability"
70
74
 
@@ -81,9 +85,8 @@ ActiveAdmin.setup do |config|
81
85
  # user performing them.
82
86
  #
83
87
  # This setting changes the method which Active Admin calls
84
- # to return the currently logged in user.
85
- config.current_user_method = :current_<%= @underscored_user_name %>
86
-
88
+ # (within the application controller) to return the currently logged in user.
89
+ <% unless @use_authentication_method %># <% end %>config.current_user_method = :current_<%= @underscored_user_name %>
87
90
 
88
91
  # == Logging Out
89
92
  #
@@ -103,7 +106,6 @@ ActiveAdmin.setup do |config|
103
106
  # Default:
104
107
  # config.logout_link_method = :get
105
108
 
106
-
107
109
  # == Root
108
110
  #
109
111
  # Set the action to call for the root path. You can set different
@@ -112,13 +114,12 @@ ActiveAdmin.setup do |config|
112
114
  # Default:
113
115
  # config.root_to = 'dashboard#index'
114
116
 
115
-
116
117
  # == Admin Comments
117
118
  #
118
119
  # This allows your users to comment on any resource registered with Active Admin.
119
120
  #
120
121
  # You can completely disable comments:
121
- # config.allow_comments = false
122
+ # config.comments = false
122
123
  #
123
124
  # You can disable the menu item for the comments index page:
124
125
  # config.show_comments_in_menu = false
@@ -126,26 +127,29 @@ ActiveAdmin.setup do |config|
126
127
  # You can change the name under which comments are registered:
127
128
  # config.comments_registration_name = 'AdminComment'
128
129
 
129
-
130
130
  # == Batch Actions
131
131
  #
132
132
  # Enable and disable Batch Actions
133
133
  #
134
134
  config.batch_actions = true
135
135
 
136
-
137
136
  # == Controller Filters
138
137
  #
139
138
  # You can add before, after and around filters to all of your
140
139
  # Active Admin resources and pages from here.
141
140
  #
142
141
  # config.before_filter :do_something_awesome
143
-
144
-
142
+
145
143
  # == Setting a Favicon
146
144
  #
147
- # config.favicon = '/assets/favicon.ico'
145
+ # config.favicon = 'favicon.ico'
148
146
 
147
+ # == Removing Breadcrumbs
148
+ #
149
+ # Breadcrumbs are enabled by default. You can customize them for individual
150
+ # resources or you can disable them globally from here.
151
+ #
152
+ # config.breadcrumb = false
149
153
 
150
154
  # == Register Stylesheets & Javascripts
151
155
  #
@@ -157,20 +161,18 @@ ActiveAdmin.setup do |config|
157
161
  # config.register_stylesheet 'my_stylesheet.css'
158
162
  #
159
163
  # You can provide an options hash for more control, which is passed along to stylesheet_link_tag():
160
- # config.register_stylesheet 'my_print_stylesheet.css', :media => :print
164
+ # config.register_stylesheet 'my_print_stylesheet.css', media: :print
161
165
  #
162
166
  # To load a javascript file:
163
167
  # config.register_javascript 'my_javascript.js'
164
168
 
165
-
166
169
  # == CSV options
167
170
  #
168
171
  # Set the CSV builder separator
169
- # config.csv_options = { :col_sep => ';' }
172
+ # config.csv_options = { col_sep: ';' }
170
173
  #
171
174
  # Force the use of quotes
172
- # config.csv_options = { :force_quotes => true }
173
-
175
+ # config.csv_options = { force_quotes: true }
174
176
 
175
177
  # == Menu System
176
178
  #
@@ -193,7 +195,6 @@ ActiveAdmin.setup do |config|
193
195
  # end
194
196
  # end
195
197
 
196
-
197
198
  # == Download Links
198
199
  #
199
200
  # You can disable download links on resource listing pages,
@@ -209,9 +210,12 @@ ActiveAdmin.setup do |config|
209
210
  # # Only show XML & PDF options
210
211
  # admin.download_links = [:xml, :pdf]
211
212
  #
213
+ # # Enable/disable the links based on block
214
+ # # (for example, with cancan)
215
+ # admin.download_links = proc { can?(:view_download_links) }
216
+ #
212
217
  # end
213
218
 
214
-
215
219
  # == Pagination
216
220
  #
217
221
  # Pagination is enabled by default for all resources.
@@ -219,13 +223,11 @@ ActiveAdmin.setup do |config|
219
223
  #
220
224
  # config.default_per_page = 30
221
225
 
222
-
223
226
  # == Filters
224
227
  #
225
- # By default the index screen includes a Filters sidebar on the right
228
+ # By default the index screen includes a "Filters" sidebar on the right
226
229
  # hand side with a filter for each attribute of the registered model.
227
230
  # You can enable or disable them for all resources here.
228
231
  #
229
232
  # config.filters = true
230
-
231
233
  end
@@ -1,13 +1,22 @@
1
1
  ActiveAdmin.register <%= @user_class %> do
2
+ <% unless Rails::VERSION::MAJOR < 4 -%>
3
+ permit_params :email, :password, :password_confirmation
4
+
5
+ <% end -%>
2
6
  index do
7
+ selectable_column
8
+ id_column
3
9
  column :email
4
10
  column :current_sign_in_at
5
- column :last_sign_in_at
6
11
  column :sign_in_count
7
- default_actions
12
+ column :created_at
13
+ actions
8
14
  end
9
15
 
10
16
  filter :email
17
+ filter :current_sign_in_at
18
+ filter :sign_in_count
19
+ filter :created_at
11
20
 
12
21
  form do |f|
13
22
  f.inputs "Admin Details" do
@@ -17,4 +26,5 @@ ActiveAdmin.register <%= @user_class %> do
17
26
  end
18
27
  f.actions
19
28
  end
29
+
20
30
  end
@@ -1,10 +1,10 @@
1
1
  ActiveAdmin.register_page "Dashboard" do
2
2
 
3
- menu :priority => 1, :label => proc{ I18n.t("active_admin.dashboard") }
3
+ menu priority: 1, label: proc{ I18n.t("active_admin.dashboard") }
4
4
 
5
- content :title => proc{ I18n.t("active_admin.dashboard") } do
6
- div :class => "blank_slate_container", :id => "dashboard_default_message" do
7
- span :class => "blank_slate" do
5
+ content title: proc{ I18n.t("active_admin.dashboard") } do
6
+ div class: "blank_slate_container", id: "dashboard_default_message" do
7
+ span class: "blank_slate" do
8
8
  span I18n.t("active_admin.dashboard_welcome.welcome")
9
9
  small I18n.t("active_admin.dashboard_welcome.call_to_action")
10
10
  end
@@ -3,9 +3,9 @@ class CreateActiveAdminComments < ActiveRecord::Migration
3
3
  create_table :active_admin_comments do |t|
4
4
  t.string :namespace
5
5
  t.text :body
6
- t.string :resource_id, :null => false
7
- t.string :resource_type, :null => false
8
- t.references :author, :polymorphic => true
6
+ t.string :resource_id, null: false
7
+ t.string :resource_type, null: false
8
+ t.references :author, polymorphic: true
9
9
  t.timestamps
10
10
  end
11
11
  add_index :active_admin_comments, [:namespace]
@@ -0,0 +1,8 @@
1
+ Description:
2
+ Registers pages with Active Admin
3
+
4
+ Example:
5
+ rails generate active_admin:page Thing
6
+
7
+ This will create:
8
+ app/admin/thing.rb
@@ -0,0 +1,12 @@
1
+ module ActiveAdmin
2
+ module Generators
3
+ class PageGenerator < Rails::Generators::NamedBase
4
+ source_root File.expand_path('../templates', __FILE__)
5
+
6
+ def generate_config_file
7
+ template "page.rb", "app/admin/#{file_path.tr('/', '_')}.rb"
8
+ end
9
+
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,5 @@
1
+ ActiveAdmin.register_page <%= class_name %> do
2
+ content do
3
+ # your content
4
+ end
5
+ end
@@ -1,14 +1,12 @@
1
1
  module ActiveAdmin
2
2
  module Generators
3
3
  class ResourceGenerator < Rails::Generators::NamedBase
4
- desc "Installs ActiveAdmin in a rails 3 application"
4
+ desc "Registers resources with Active Admin"
5
5
 
6
- def self.source_root
7
- @_active_admin_source_root ||= File.expand_path("../templates", __FILE__)
8
- end
6
+ source_root File.expand_path("../templates", __FILE__)
9
7
 
10
8
  def generate_config_file
11
- template "admin.rb", "app/admin/#{file_path.gsub('/', '_')}.rb"
9
+ template "admin.rb", "app/admin/#{file_path.tr('/', '_')}.rb"
12
10
  end
13
11
 
14
12
  end
@@ -1,3 +1,18 @@
1
1
  ActiveAdmin.register <%= class_name %> do
2
2
 
3
+ <% if Rails::VERSION::MAJOR == 4 || defined?(ActionController::StrongParameters) %>
4
+ # See permitted parameters documentation:
5
+ # https://github.com/activeadmin/activeadmin/blob/master/docs/2-resource-customization.md#setting-up-strong-parameters
6
+ #
7
+ # permit_params :list, :of, :attributes, :on, :model
8
+ #
9
+ # or
10
+ #
11
+ # permit_params do
12
+ # permitted = [:permitted, :attributes]
13
+ # permitted << :other if resource.something?
14
+ # permitted
15
+ # end
16
+ <% end %>
17
+
3
18
  end
@@ -0,0 +1,12 @@
1
+ # This sets up aliases for old Metasearch query methods so they behave
2
+ # identically to the versions given in Ransack.
3
+ #
4
+ Ransack.configure do |config|
5
+ {'contains'=>'cont', 'starts_with'=>'start', 'ends_with'=>'end'}.each do |old,current|
6
+ config.add_predicate old, Ransack::Constants::DERIVED_PREDICATES.detect{ |q, _| q == current }[1]
7
+ end
8
+
9
+ {'equals'=>'eq', 'greater_than'=>'gt', 'less_than'=>'lt'}.each do |old,current|
10
+ config.add_predicate old, arel_predicate: current
11
+ end
12
+ end
@@ -19,7 +19,7 @@ Examples:
19
19
  end
20
20
 
21
21
  # Set up some variables
22
- rails_version = detect_rails_version || '3.0.0'
22
+ rails_version = detect_rails_version!
23
23
 
24
24
  test_app_dir = ".test-rails-apps"
25
25
  test_app_path = "#{test_app_dir}/test-rails-app-#{rails_version}"
@@ -29,7 +29,7 @@ system "mkdir #{test_app_dir}" unless File.exists?(test_app_dir)
29
29
 
30
30
  # Create the sample rails app if it doesn't already exist
31
31
  unless File.exists? test_app_path
32
- system "RAILS='#{rails_version}' bundle exec rails new #{test_app_path} -m spec/support/rails_template_with_data.rb"
32
+ system "RAILS='#{rails_version}' bundle exec rails new #{test_app_path} -m spec/support/rails_template_with_data.rb --skip-bundle"
33
33
  end
34
34
 
35
35
  # Link this rails app