yousty-activeadmin 1.0.4.pre → 1.0.5.pre

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 (467) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +261 -211
  3. data/CONTRIBUTING.md +73 -39
  4. data/Gemfile +38 -20
  5. data/Guardfile +1 -0
  6. data/LICENSE +1 -1
  7. data/README.md +48 -24
  8. data/Rakefile +12 -4
  9. data/activeadmin.gemspec +21 -26
  10. data/app/assets/javascripts/active_admin/application.js.coffee +34 -5
  11. data/app/assets/javascripts/active_admin/base.js.coffee +11 -2
  12. data/app/assets/javascripts/active_admin/ext/jquery-ui.js.coffee +6 -0
  13. data/app/assets/javascripts/active_admin/ext/jquery.js.coffee +7 -0
  14. data/app/assets/javascripts/active_admin/lib/batch_actions.js.coffee +39 -0
  15. data/app/assets/javascripts/active_admin/lib/checkbox-toggler.js.coffee +3 -4
  16. data/app/assets/javascripts/active_admin/lib/dropdown-menu.js.coffee +51 -55
  17. data/app/assets/javascripts/active_admin/lib/flash.js.coffee +19 -0
  18. data/app/assets/javascripts/active_admin/lib/has_many.js.coffee +79 -0
  19. data/app/assets/javascripts/active_admin/lib/modal_dialog.js.coffee +37 -0
  20. data/app/assets/javascripts/active_admin/lib/per_page.js.coffee +27 -0
  21. data/app/assets/javascripts/active_admin/lib/popover.js.coffee +29 -58
  22. data/app/assets/javascripts/active_admin/lib/table-checkbox-toggler.js.coffee +2 -3
  23. data/app/assets/stylesheets/active_admin/{_base.css.scss → _base.scss} +3 -0
  24. data/app/assets/stylesheets/active_admin/{_forms.css.scss → _forms.scss} +51 -15
  25. data/app/assets/stylesheets/active_admin/{_header.css.scss → _header.scss} +9 -5
  26. data/app/assets/stylesheets/active_admin/{_mixins.css.scss → _mixins.scss} +0 -0
  27. data/app/assets/stylesheets/active_admin/{_typography.css.scss → _typography.scss} +0 -0
  28. data/app/assets/stylesheets/active_admin/components/_batch_actions.scss +11 -0
  29. data/app/assets/stylesheets/active_admin/components/_buttons.scss +1 -1
  30. data/app/assets/stylesheets/active_admin/components/{_comments.css.scss → _comments.scss} +0 -0
  31. data/app/assets/stylesheets/active_admin/components/{_date_picker.css.scss → _date_picker.scss} +40 -12
  32. data/app/assets/stylesheets/active_admin/components/_dropdown_menu.scss +3 -1
  33. data/app/assets/stylesheets/active_admin/components/_flash_messages.scss +37 -0
  34. data/app/assets/stylesheets/active_admin/components/_modal_dialog.scss +34 -0
  35. data/app/assets/stylesheets/active_admin/components/_pagination.scss +10 -0
  36. data/app/assets/stylesheets/active_admin/components/{_popovers.css.scss → _popovers.scss} +0 -0
  37. data/app/assets/stylesheets/active_admin/components/_status_tags.scss +4 -0
  38. data/app/assets/stylesheets/active_admin/components/_table_tools.scss +67 -0
  39. data/app/assets/stylesheets/active_admin/components/{_tables.css.scss → _tables.scss} +1 -0
  40. data/app/assets/stylesheets/active_admin/components/_tabs.scss +65 -0
  41. data/app/assets/stylesheets/active_admin/components/_unsupported_browser.scss +16 -0
  42. data/app/assets/stylesheets/active_admin/mixins/{_all.css.scss → _all.scss} +0 -0
  43. data/app/assets/stylesheets/active_admin/mixins/{_buttons.css.scss → _buttons.scss} +0 -0
  44. data/app/assets/stylesheets/active_admin/mixins/{_gradients.css.scss → _gradients.scss} +1 -1
  45. data/app/assets/stylesheets/active_admin/mixins/{_icons.css.scss → _icons.scss} +1 -2
  46. data/app/assets/stylesheets/active_admin/mixins/{_reset.css.scss → _reset.scss} +0 -0
  47. data/app/assets/stylesheets/active_admin/mixins/{_rounded.css.scss → _rounded.scss} +0 -0
  48. data/app/assets/stylesheets/active_admin/mixins/{_sections.css.scss → _sections.scss} +7 -1
  49. data/app/assets/stylesheets/active_admin/mixins/{_shadows.css.scss → _shadows.scss} +0 -0
  50. data/app/assets/stylesheets/active_admin/mixins/{_variables.css.scss → _variables.scss} +10 -8
  51. data/app/assets/stylesheets/active_admin/{print.css.scss → print.scss} +4 -0
  52. data/app/assets/stylesheets/active_admin/structure/_title_bar.scss +10 -7
  53. data/app/views/active_admin/devise/confirmations/new.html.erb +15 -0
  54. data/app/views/active_admin/devise/mailer/reset_password_instructions.html.erb +1 -1
  55. data/app/views/active_admin/devise/mailer/unlock_instructions.html.erb +1 -1
  56. data/app/views/active_admin/devise/passwords/edit.html.erb +9 -10
  57. data/app/views/active_admin/devise/passwords/new.html.erb +5 -4
  58. data/app/views/active_admin/devise/registrations/new.html.erb +22 -0
  59. data/app/views/active_admin/devise/sessions/new.html.erb +8 -8
  60. data/app/views/active_admin/devise/shared/_links.erb +1 -1
  61. data/app/views/active_admin/devise/unlocks/new.html.erb +5 -4
  62. data/app/views/layouts/active_admin_logged_out.html.erb +3 -5
  63. data/config/locales/ar.yml +120 -0
  64. data/config/locales/bg.yml +26 -6
  65. data/config/locales/bs.yml +122 -0
  66. data/config/locales/ca.yml +10 -1
  67. data/config/locales/cs.yml +7 -2
  68. data/config/locales/da.yml +7 -3
  69. data/config/locales/de-CH.yml +14 -31
  70. data/config/locales/de.yml +33 -33
  71. data/config/locales/el.yml +127 -0
  72. data/config/locales/en-GB.yml +11 -4
  73. data/config/locales/en.yml +21 -4
  74. data/config/locales/{es_MX.yml → es-MX.yml} +14 -24
  75. data/config/locales/es.yml +32 -25
  76. data/config/locales/fa.yml +120 -0
  77. data/config/locales/fi.yml +9 -5
  78. data/config/locales/fr.yml +28 -12
  79. data/config/locales/he.yml +7 -3
  80. data/config/locales/hr.yml +42 -11
  81. data/config/locales/hu.yml +10 -3
  82. data/config/locales/it.yml +31 -3
  83. data/config/locales/ja.yml +17 -4
  84. data/config/locales/ko.yml +7 -1
  85. data/config/locales/lt.yml +42 -11
  86. data/config/locales/lv.yml +7 -3
  87. data/config/locales/{no-NB.yml → nb.yml} +46 -15
  88. data/config/locales/nl.yml +36 -5
  89. data/config/locales/pl.yml +13 -8
  90. data/config/locales/pt-BR.yml +36 -5
  91. data/config/locales/pt-PT.yml +8 -4
  92. data/config/locales/ro.yml +7 -3
  93. data/config/locales/ru.yml +26 -5
  94. data/config/locales/sv-SE.yml +9 -5
  95. data/config/locales/tr.yml +10 -3
  96. data/config/locales/uk.yml +36 -12
  97. data/config/locales/vi.yml +7 -3
  98. data/config/locales/zh-CN.yml +26 -10
  99. data/config/locales/zh-TW.yml +19 -13
  100. data/docs/0-installation.md +14 -6
  101. data/docs/1-general-configuration.md +8 -5
  102. data/docs/10-custom-pages.md +68 -70
  103. data/docs/11-decorators.md +48 -59
  104. data/docs/12-arbre-components.md +79 -73
  105. data/docs/13-authorization-adapter.md +128 -107
  106. data/docs/14-gotchas.md +90 -0
  107. data/docs/2-resource-customization.md +82 -15
  108. data/docs/3-index-pages.md +71 -12
  109. data/docs/3-index-pages/custom-index.md +31 -0
  110. data/docs/3-index-pages/index-as-table.md +45 -2
  111. data/docs/4-csv-format.md +1 -1
  112. data/docs/5-forms.md +78 -29
  113. data/docs/6-show-pages.md +31 -3
  114. data/docs/7-sidebars.md +46 -25
  115. data/docs/8-custom-actions.md +98 -77
  116. data/docs/9-batch-actions.md +211 -133
  117. data/docs/README.md +24 -0
  118. data/features/action_item.feature +3 -3
  119. data/features/authorization_pundit.feature +37 -0
  120. data/features/belongs_to.feature +3 -0
  121. data/features/breadcrumb.feature +48 -0
  122. data/features/comments/commenting.feature +44 -13
  123. data/features/development_reloading.feature +3 -4
  124. data/features/edit_page.feature +9 -19
  125. data/features/favicon.feature +3 -3
  126. data/features/i18n.feature +5 -0
  127. data/features/index/batch_actions.feature +41 -0
  128. data/features/index/filters.feature +23 -0
  129. data/features/index/format_as_csv.feature +90 -4
  130. data/features/index/index_as_blog.feature +4 -4
  131. data/features/index/index_as_table.feature +102 -6
  132. data/features/index/index_blank_slate.feature +22 -0
  133. data/features/index/index_scope_to.feature +16 -16
  134. data/features/index/page_title.feature +11 -0
  135. data/features/index/pagination.feature +1 -1
  136. data/features/index/switch_index_view.feature +14 -14
  137. data/features/new_page.feature +10 -20
  138. data/features/registering_pages.feature +1 -1
  139. data/features/renamed_resource.feature +32 -0
  140. data/features/show/page_title.feature +11 -0
  141. data/features/show/tabs.feature +27 -0
  142. data/features/sidebar_sections.feature +12 -0
  143. data/features/specifying_actions.feature +3 -3
  144. data/features/step_definitions/action_item_steps.rb +2 -2
  145. data/features/step_definitions/action_link_steps.rb +14 -1
  146. data/features/step_definitions/additional_web_steps.rb +17 -18
  147. data/features/step_definitions/asset_steps.rb +3 -3
  148. data/features/step_definitions/attribute_steps.rb +8 -3
  149. data/features/step_definitions/batch_action_steps.rb +26 -9
  150. data/features/step_definitions/blog_steps.rb +3 -0
  151. data/features/step_definitions/breadcrumb_steps.rb +1 -1
  152. data/features/step_definitions/comment_steps.rb +1 -1
  153. data/features/step_definitions/configuration_steps.rb +1 -1
  154. data/features/step_definitions/dashboard_steps.rb +2 -2
  155. data/features/step_definitions/factory_steps.rb +6 -6
  156. data/features/step_definitions/filter_steps.rb +25 -3
  157. data/features/step_definitions/flash_steps.rb +3 -3
  158. data/features/step_definitions/format_steps.rb +17 -10
  159. data/features/step_definitions/index_scope_steps.rb +5 -5
  160. data/features/step_definitions/layout_steps.rb +1 -1
  161. data/features/step_definitions/member_link_steps.rb +2 -2
  162. data/features/step_definitions/menu_steps.rb +3 -3
  163. data/features/step_definitions/pagination_steps.rb +2 -3
  164. data/features/step_definitions/sidebar_steps.rb +8 -3
  165. data/features/step_definitions/site_title_steps.rb +6 -4
  166. data/features/step_definitions/symbol_leak_steps.rb +1 -1
  167. data/features/step_definitions/tab_steps.rb +5 -0
  168. data/features/step_definitions/table_steps.rb +4 -4
  169. data/features/step_definitions/user_steps.rb +15 -9
  170. data/features/step_definitions/web_steps.rb +10 -11
  171. data/features/sti_resource.feature +2 -10
  172. data/features/strong_parameters.feature +73 -0
  173. data/features/support/env.rb +35 -2
  174. data/features/support/paths.rb +2 -2
  175. data/features/support/selectors.rb +1 -1
  176. data/features/users/resetting_password.feature +7 -7
  177. data/lib/active_admin.rb +18 -13
  178. data/lib/active_admin/abstract_view_factory.rb +7 -17
  179. data/lib/active_admin/application.rb +50 -25
  180. data/lib/active_admin/asset_registration.rb +2 -2
  181. data/lib/active_admin/authorization_adapter.rb +2 -2
  182. data/lib/active_admin/base_controller.rb +2 -3
  183. data/lib/active_admin/base_controller/authorization.rb +13 -31
  184. data/lib/active_admin/batch_actions.rb +1 -1
  185. data/lib/active_admin/batch_actions/controller.rb +13 -7
  186. data/lib/active_admin/batch_actions/resource_extension.rb +43 -17
  187. data/lib/active_admin/batch_actions/views/batch_action_form.rb +7 -4
  188. data/lib/active_admin/batch_actions/views/batch_action_popover.rb +3 -3
  189. data/lib/active_admin/batch_actions/views/batch_action_selector.rb +8 -17
  190. data/lib/active_admin/batch_actions/views/selection_cells.rb +4 -4
  191. data/lib/active_admin/callbacks.rb +25 -24
  192. data/lib/active_admin/cancan_adapter.rb +7 -11
  193. data/lib/active_admin/csv_builder.rb +92 -15
  194. data/lib/active_admin/dependency.rb +93 -0
  195. data/lib/active_admin/deprecation.rb +6 -7
  196. data/lib/active_admin/devise.rb +26 -14
  197. data/lib/active_admin/dsl.rb +18 -11
  198. data/lib/active_admin/engine.rb +7 -2
  199. data/lib/active_admin/error.rb +59 -0
  200. data/lib/active_admin/filters/dsl.rb +2 -2
  201. data/lib/active_admin/filters/forms.rb +19 -30
  202. data/lib/active_admin/filters/formtastic_addons.rb +20 -11
  203. data/lib/active_admin/filters/resource_extension.rb +16 -9
  204. data/lib/active_admin/form_builder.rb +94 -105
  205. data/lib/active_admin/helpers/collection.rb +7 -13
  206. data/lib/active_admin/helpers/i18n.rb +7 -0
  207. data/lib/active_admin/helpers/optional_display.rb +5 -5
  208. data/lib/active_admin/helpers/scope_chain.rb +1 -1
  209. data/lib/active_admin/helpers/settings.rb +16 -9
  210. data/lib/active_admin/iconic.rb +17 -15
  211. data/lib/active_admin/iconic/icons.rb +136 -136
  212. data/lib/active_admin/inputs.rb +11 -7
  213. data/lib/active_admin/inputs/datepicker_input.rb +1 -1
  214. data/lib/active_admin/inputs/filters/base.rb +42 -0
  215. data/lib/active_admin/inputs/filters/base/search_method_select.rb +75 -0
  216. data/lib/active_admin/inputs/filters/boolean_input.rb +24 -0
  217. data/lib/active_admin/inputs/filters/check_boxes_input.rb +50 -0
  218. data/lib/active_admin/inputs/filters/date_range_input.rb +36 -0
  219. data/lib/active_admin/inputs/filters/numeric_input.rb +12 -0
  220. data/lib/active_admin/inputs/filters/select_input.rb +54 -0
  221. data/lib/active_admin/inputs/filters/string_input.rb +26 -0
  222. data/lib/active_admin/menu.rb +3 -3
  223. data/lib/active_admin/menu_collection.rb +1 -4
  224. data/lib/active_admin/namespace.rb +52 -29
  225. data/lib/active_admin/order_clause.rb +26 -0
  226. data/lib/active_admin/orm/active_record.rb +2 -0
  227. data/lib/active_admin/orm/active_record/comments.rb +48 -51
  228. data/lib/active_admin/orm/active_record/comments/comment.rb +16 -10
  229. data/lib/active_admin/orm/active_record/comments/namespace_helper.rb +1 -1
  230. data/lib/active_admin/orm/active_record/comments/resource_helper.rb +1 -1
  231. data/lib/active_admin/orm/active_record/comments/views/active_admin_comments.rb +15 -13
  232. data/lib/active_admin/page.rb +5 -1
  233. data/lib/active_admin/page_dsl.rb +1 -1
  234. data/lib/active_admin/page_presenter.rb +2 -2
  235. data/lib/active_admin/pundit_adapter.rb +68 -0
  236. data/lib/active_admin/resource.rb +12 -3
  237. data/lib/active_admin/resource/action_items.rb +15 -8
  238. data/lib/active_admin/resource/belongs_to.rb +7 -3
  239. data/lib/active_admin/resource/controllers.rb +1 -0
  240. data/lib/active_admin/resource/includes.rb +12 -0
  241. data/lib/active_admin/resource/menu.rb +5 -5
  242. data/lib/active_admin/resource/naming.rb +25 -47
  243. data/lib/active_admin/resource/page_presenters.rb +1 -1
  244. data/lib/active_admin/resource/routes.rb +26 -10
  245. data/lib/active_admin/resource/scope_to.rb +7 -7
  246. data/lib/active_admin/resource/sidebars.rb +1 -0
  247. data/lib/active_admin/resource_collection.rb +44 -16
  248. data/lib/active_admin/resource_controller.rb +6 -5
  249. data/lib/active_admin/resource_controller/data_access.rb +87 -82
  250. data/lib/active_admin/resource_controller/decorators.rb +91 -9
  251. data/lib/active_admin/resource_controller/streaming.rb +37 -0
  252. data/lib/active_admin/resource_dsl.rb +54 -10
  253. data/lib/active_admin/router.rb +7 -7
  254. data/lib/active_admin/scope.rb +6 -6
  255. data/lib/active_admin/sidebar_section.rb +10 -2
  256. data/lib/active_admin/version.rb +1 -1
  257. data/lib/active_admin/view_factory.rb +17 -16
  258. data/lib/active_admin/view_helpers.rb +0 -1
  259. data/lib/active_admin/view_helpers/auto_link_helper.rb +23 -12
  260. data/lib/active_admin/view_helpers/breadcrumb_helper.rb +13 -6
  261. data/lib/active_admin/view_helpers/display_helper.rb +30 -17
  262. data/lib/active_admin/view_helpers/download_format_links_helper.rb +21 -24
  263. data/lib/active_admin/view_helpers/fields_for.rb +2 -2
  264. data/lib/active_admin/view_helpers/flash_helper.rb +4 -3
  265. data/lib/active_admin/view_helpers/form_helper.rb +5 -9
  266. data/lib/active_admin/view_helpers/method_or_proc_helper.rb +6 -6
  267. data/lib/active_admin/views/action_items.rb +2 -2
  268. data/lib/active_admin/views/components/action_list_popover.rb +1 -1
  269. data/lib/active_admin/views/components/active_admin_form.rb +123 -0
  270. data/lib/active_admin/views/components/attributes_table.rb +22 -13
  271. data/lib/active_admin/views/components/blank_slate.rb +1 -1
  272. data/lib/active_admin/views/components/columns.rb +13 -7
  273. data/lib/active_admin/views/components/dropdown_menu.rb +6 -6
  274. data/lib/active_admin/views/components/index_list.rb +7 -7
  275. data/lib/active_admin/views/components/paginated_collection.rb +33 -17
  276. data/lib/active_admin/views/components/panel.rb +8 -2
  277. data/lib/active_admin/views/components/popover.rb +1 -1
  278. data/lib/active_admin/views/components/scopes.rb +1 -1
  279. data/lib/active_admin/views/components/sidebar_section.rb +3 -2
  280. data/lib/active_admin/views/components/site_title.rb +2 -2
  281. data/lib/active_admin/views/components/status_tag.rb +34 -11
  282. data/lib/active_admin/views/components/table_for.rb +67 -22
  283. data/lib/active_admin/views/components/tabs.rb +28 -0
  284. data/lib/active_admin/views/components/unsupported_browser.rb +11 -0
  285. data/lib/active_admin/views/footer.rb +3 -3
  286. data/lib/active_admin/views/header.rb +3 -3
  287. data/lib/active_admin/views/index_as_blog.rb +6 -6
  288. data/lib/active_admin/views/index_as_grid.rb +2 -2
  289. data/lib/active_admin/views/index_as_table.rb +127 -40
  290. data/lib/active_admin/views/pages/base.rb +22 -18
  291. data/lib/active_admin/views/pages/form.rb +16 -6
  292. data/lib/active_admin/views/pages/index.rb +36 -20
  293. data/lib/active_admin/views/pages/layout.rb +1 -1
  294. data/lib/active_admin/views/pages/show.rb +4 -4
  295. data/lib/active_admin/views/tabbed_navigation.rb +7 -3
  296. data/lib/active_admin/views/title_bar.rb +10 -8
  297. data/lib/generators/active_admin/assets/assets_generator.rb +1 -3
  298. data/lib/generators/active_admin/devise/devise_generator.rb +20 -28
  299. data/lib/generators/active_admin/install/install_generator.rb +8 -9
  300. data/lib/generators/active_admin/install/templates/active_admin.rb.erb +20 -22
  301. data/lib/generators/active_admin/install/templates/admin_user.rb.erb +12 -9
  302. data/lib/generators/active_admin/install/templates/dashboard.rb +4 -4
  303. data/lib/generators/active_admin/install/templates/migrations/create_active_admin_comments.rb +3 -3
  304. data/lib/generators/active_admin/page/USAGE +8 -0
  305. data/lib/generators/active_admin/page/page_generator.rb +12 -0
  306. data/lib/generators/active_admin/page/templates/page.rb +5 -0
  307. data/lib/generators/active_admin/resource/resource_generator.rb +2 -4
  308. data/lib/generators/active_admin/resource/templates/admin.rb +15 -0
  309. data/lib/ransack_ext.rb +4 -4
  310. data/script/local +2 -2
  311. data/script/travis_cache +107 -0
  312. data/spec/javascripts/coffeescripts/jquery.aa.flash.js.coffee +25 -0
  313. data/spec/javascripts/fixtures/flashes.html +2 -0
  314. data/spec/rails_helper.rb +154 -0
  315. data/spec/{integration → requests}/default_namespace_spec.rb +6 -6
  316. data/spec/{integration → requests}/javascript_spec.rb +5 -5
  317. data/spec/requests/memory_spec.rb +23 -0
  318. data/spec/requests/stylesheets_spec.rb +18 -0
  319. data/spec/spec_helper.rb +12 -170
  320. data/spec/support/detect_rails_version.rb +31 -39
  321. data/spec/support/rails_template.rb +61 -34
  322. data/spec/support/rails_template_with_data.rb +14 -14
  323. data/spec/support/templates/admin/stores.rb +3 -5
  324. data/spec/support/templates/policies/active_admin/comment_policy.rb +9 -0
  325. data/spec/support/templates/policies/active_admin/page_policy.rb +18 -0
  326. data/spec/support/templates/policies/admin_user_policy.rb +11 -0
  327. data/spec/support/templates/policies/application_policy.rb +45 -0
  328. data/spec/support/templates/policies/category_policy.rb +7 -0
  329. data/spec/support/templates/policies/post_policy.rb +15 -0
  330. data/spec/support/templates/policies/store_policy.rb +11 -0
  331. data/spec/support/templates/policies/user_policy.rb +11 -0
  332. data/spec/support/templates/post_decorator.rb +4 -46
  333. data/spec/unit/abstract_view_factory_spec.rb +11 -11
  334. data/spec/unit/action_builder_spec.rb +24 -18
  335. data/spec/unit/active_admin_spec.rb +2 -2
  336. data/spec/unit/application_spec.rb +30 -31
  337. data/spec/unit/asset_registration_spec.rb +11 -11
  338. data/spec/unit/authorization/authorization_adapter_spec.rb +7 -7
  339. data/spec/unit/authorization/controller_authorization_spec.rb +11 -11
  340. data/spec/unit/authorization/index_overriding_spec.rb +22 -0
  341. data/spec/unit/auto_link_spec.rb +42 -5
  342. data/spec/unit/batch_actions/resource_spec.rb +15 -14
  343. data/spec/unit/batch_actions/settings_spec.rb +18 -18
  344. data/spec/unit/belongs_to_spec.rb +26 -17
  345. data/spec/unit/cancan_adapter_spec.rb +4 -4
  346. data/spec/unit/comments_spec.rb +99 -39
  347. data/spec/unit/component_spec.rb +3 -3
  348. data/spec/unit/config_shared_examples.rb +8 -8
  349. data/spec/unit/controller_filters_spec.rb +26 -14
  350. data/spec/unit/csv_builder_spec.rb +152 -24
  351. data/spec/unit/dependency_spec.rb +135 -0
  352. data/spec/unit/devise_spec.rb +17 -37
  353. data/spec/unit/dsl_spec.rb +70 -9
  354. data/spec/unit/event_spec.rb +9 -9
  355. data/spec/unit/filters/filter_form_builder_spec.rb +167 -157
  356. data/spec/unit/filters/resource_spec.rb +35 -33
  357. data/spec/unit/form_builder_spec.rb +383 -145
  358. data/spec/unit/generators/install_spec.rb +5 -5
  359. data/spec/unit/helpers/collection_spec.rb +18 -18
  360. data/spec/unit/helpers/scope_chain_spec.rb +5 -5
  361. data/spec/unit/helpers/settings_spec.rb +4 -4
  362. data/spec/unit/i18n_spec.rb +12 -0
  363. data/spec/unit/menu_collection_spec.rb +14 -14
  364. data/spec/unit/menu_item_spec.rb +42 -42
  365. data/spec/unit/menu_spec.rb +20 -20
  366. data/spec/unit/namespace/authorization_spec.rb +5 -5
  367. data/spec/unit/namespace/register_page_spec.rb +9 -9
  368. data/spec/unit/namespace/register_resource_spec.rb +26 -28
  369. data/spec/unit/namespace_spec.rb +20 -20
  370. data/spec/unit/order_clause_spec.rb +81 -0
  371. data/spec/unit/page_controller_spec.rb +1 -1
  372. data/spec/unit/page_spec.rb +18 -12
  373. data/spec/unit/pretty_format_spec.rb +42 -14
  374. data/spec/unit/pundit_adapter_spec.rb +98 -0
  375. data/spec/unit/resource/action_items_spec.rb +13 -10
  376. data/spec/unit/resource/includes_spec.rb +21 -0
  377. data/spec/unit/resource/menu_spec.rb +1 -1
  378. data/spec/unit/resource/naming_spec.rb +23 -23
  379. data/spec/unit/resource/page_presenters_spec.rb +8 -8
  380. data/spec/unit/resource/pagination_spec.rb +6 -6
  381. data/spec/unit/resource/routes_spec.rb +10 -10
  382. data/spec/unit/resource/scopes_spec.rb +14 -7
  383. data/spec/unit/resource/sidebars_spec.rb +6 -6
  384. data/spec/unit/resource_collection_spec.rb +66 -68
  385. data/spec/unit/resource_controller/data_access_spec.rb +39 -21
  386. data/spec/unit/resource_controller/decorators_spec.rb +83 -0
  387. data/spec/unit/resource_controller/sidebars_spec.rb +7 -8
  388. data/spec/unit/resource_controller_spec.rb +66 -62
  389. data/spec/unit/resource_registration_spec.rb +12 -12
  390. data/spec/unit/resource_spec.rb +75 -40
  391. data/spec/unit/routing_spec.rb +39 -31
  392. data/spec/unit/scope_spec.rb +112 -30
  393. data/spec/unit/settings_spec.rb +51 -21
  394. data/spec/unit/view_factory_spec.rb +2 -2
  395. data/spec/unit/view_helpers/breadcrumbs_spec.rb +137 -69
  396. data/spec/unit/view_helpers/display_name_spec.rb +49 -21
  397. data/spec/unit/view_helpers/download_format_links_helper_spec.rb +5 -5
  398. data/spec/unit/view_helpers/fields_for_spec.rb +18 -18
  399. data/spec/unit/view_helpers/flash_helper_spec.rb +25 -0
  400. data/spec/unit/view_helpers/form_helper_spec.rb +9 -22
  401. data/spec/unit/view_helpers/method_or_proc_helper_spec.rb +59 -21
  402. data/spec/unit/views/components/action_list_popover_spec.rb +16 -6
  403. data/spec/unit/views/components/attributes_table_spec.rb +94 -52
  404. data/spec/unit/views/components/batch_action_popover_spec.rb +20 -6
  405. data/spec/unit/views/components/blank_slate_spec.rb +14 -4
  406. data/spec/unit/views/components/columns_spec.rb +52 -22
  407. data/spec/unit/views/components/index_list_spec.rb +11 -8
  408. data/spec/unit/views/components/index_table_for_spec.rb +46 -0
  409. data/spec/unit/views/components/paginated_collection_spec.rb +68 -59
  410. data/spec/unit/views/components/panel_spec.rb +32 -21
  411. data/spec/unit/views/components/popover_spec.rb +7 -7
  412. data/spec/unit/views/components/sidebar_section_spec.rb +18 -8
  413. data/spec/unit/views/components/site_title_spec.rb +8 -8
  414. data/spec/unit/views/components/status_tag_spec.rb +178 -38
  415. data/spec/unit/views/components/table_for_spec.rb +227 -44
  416. data/spec/unit/views/components/tabs_spec.rb +39 -0
  417. data/spec/unit/views/components/unsupported_browser_spec.rb +47 -0
  418. data/spec/unit/views/pages/form_spec.rb +17 -10
  419. data/spec/unit/views/pages/index_spec.rb +60 -0
  420. data/spec/unit/views/pages/layout_spec.rb +17 -21
  421. data/spec/unit/views/pages/show_spec.rb +16 -3
  422. data/spec/unit/views/tabbed_navigation_spec.rb +61 -52
  423. data/tasks/docs.rake +1 -1
  424. data/tasks/parallel_tests.rake +8 -2
  425. data/tasks/test.rake +8 -4
  426. data/tasks/yard.rake +7 -5
  427. metadata +180 -101
  428. data/app/assets/images/active_admin/admin_notes_icon.png +0 -0
  429. data/app/assets/images/active_admin/datepicker/datepicker-header-bg.png +0 -0
  430. data/app/assets/images/active_admin/datepicker/datepicker-next-link-icon.png +0 -0
  431. data/app/assets/images/active_admin/datepicker/datepicker-nipple.png +0 -0
  432. data/app/assets/images/active_admin/datepicker/datepicker-prev-link-icon.png +0 -0
  433. data/app/assets/images/active_admin/index_list_icons/block_icon.svg +0 -10
  434. data/app/assets/images/active_admin/index_list_icons/blog_icon.svg +0 -4
  435. data/app/assets/images/active_admin/index_list_icons/grid_icon.svg +0 -13
  436. data/app/assets/images/active_admin/index_list_icons/table_icon.svg +0 -3
  437. data/app/assets/images/active_admin/loading.gif +0 -0
  438. data/app/assets/javascripts/active_admin/components/application.js.coffee +0 -23
  439. data/app/assets/javascripts/active_admin/components/batch_actions.js.coffee +0 -26
  440. data/app/assets/javascripts/active_admin/components/has_many.js.coffee +0 -41
  441. data/app/assets/stylesheets/active_admin/components/_batch_actions.css.scss +0 -11
  442. data/app/assets/stylesheets/active_admin/components/_flash_messages.css.scss +0 -39
  443. data/app/assets/stylesheets/active_admin/components/_table_tools.css.scss +0 -95
  444. data/app/views/active_admin/dashboard/index.html.arb +0 -1
  445. data/app/views/active_admin/resource/index.csv.erb +0 -17
  446. data/docs/3-index-pages/create-an-index.md +0 -29
  447. data/lib/active_admin/inputs/filter_base.rb +0 -33
  448. data/lib/active_admin/inputs/filter_base/search_method_select.rb +0 -73
  449. data/lib/active_admin/inputs/filter_boolean_input.rb +0 -32
  450. data/lib/active_admin/inputs/filter_check_boxes_input.rb +0 -51
  451. data/lib/active_admin/inputs/filter_date_range_input.rb +0 -34
  452. data/lib/active_admin/inputs/filter_numeric_input.rb +0 -10
  453. data/lib/active_admin/inputs/filter_select_input.rb +0 -61
  454. data/lib/active_admin/inputs/filter_string_input.rb +0 -24
  455. data/lib/active_admin/view_helpers/assigns_with_indifferent_access_helper.rb +0 -7
  456. data/spec/integration/memory_spec.rb +0 -29
  457. data/spec/integration/stylesheets_spec.rb +0 -41
  458. data/spec/javascripts/compiled/jquery.aa.checkbox-toggler-spec.js +0 -60
  459. data/spec/javascripts/compiled/jquery.aa.popover-spec.js +0 -106
  460. data/spec/javascripts/compiled/jquery.aa.table-checkbox-toggler-spec.js +0 -37
  461. data/spec/javascripts/helpers/vendor/jasmine-fixture-0.0.5.js +0 -108
  462. data/spec/javascripts/helpers/vendor/jasmine-jquery.js +0 -288
  463. data/spec/javascripts/helpers/vendor/sinon-1.2.0.js +0 -2915
  464. data/spec/javascripts/support/jquery-ui-1.8.16.custom.min.js +0 -34
  465. data/spec/javascripts/support/jquery.min.js +0 -4
  466. data/spec/spec_helper_without_rails.rb +0 -16
  467. data/tasks/js.rake +0 -32
@@ -5,7 +5,7 @@ module ActiveAdmin
5
5
  class Form < Base
6
6
 
7
7
  def title
8
- assigns[:page_title] || I18n.t("active_admin.#{params[:action]}_model",
8
+ assigns[:page_title] || I18n.t("active_admin.#{normalized_action}_model",
9
9
  model: active_admin_config.resource_label)
10
10
  end
11
11
 
@@ -19,9 +19,7 @@ module ActiveAdmin
19
19
  if options[:partial]
20
20
  render options[:partial]
21
21
  else
22
- active_admin_form_for resource, options do |f|
23
- instance_exec f, &form_presenter.block
24
- end
22
+ active_admin_form_for resource, options, &form_presenter.block
25
23
  end
26
24
  end
27
25
 
@@ -29,8 +27,8 @@ module ActiveAdmin
29
27
 
30
28
  def default_form_options
31
29
  {
32
- :url => default_form_path,
33
- :as => active_admin_config.resource_name.singular
30
+ url: default_form_path,
31
+ as: active_admin_config.param_key
34
32
  }
35
33
  end
36
34
 
@@ -40,10 +38,22 @@ module ActiveAdmin
40
38
 
41
39
  def default_form_config
42
40
  ActiveAdmin::PagePresenter.new do |f|
41
+ f.semantic_errors # show errors on :base by default
43
42
  f.inputs
44
43
  f.actions
45
44
  end
46
45
  end
46
+
47
+ def normalized_action
48
+ case params[:action]
49
+ when "create"
50
+ "new"
51
+ when "update"
52
+ "edit"
53
+ else
54
+ params[:action]
55
+ end
56
+ end
47
57
  end
48
58
 
49
59
  end
@@ -7,11 +7,10 @@ module ActiveAdmin
7
7
  class Index < Base
8
8
 
9
9
  def title
10
- case config[:title]
11
- when Proc then controller.instance_eval(&config[:title])
12
- when String then config[:title]
10
+ if Proc === config[:title]
11
+ controller.instance_exec &config[:title]
13
12
  else
14
- active_admin_config.plural_resource_label
13
+ config[:title] || assigns[:page_title] || active_admin_config.plural_resource_label
15
14
  end
16
15
  end
17
16
 
@@ -61,7 +60,7 @@ module ActiveAdmin
61
60
  include ::ActiveAdmin::ViewHelpers::DownloadFormatLinksHelper
62
61
 
63
62
  def build_table_tools
64
- div :class => "table_tools" do
63
+ div class: "table_tools" do
65
64
  build_batch_actions_selector
66
65
  build_scopes
67
66
  build_index_list
@@ -83,7 +82,7 @@ module ActiveAdmin
83
82
  def build_scopes
84
83
  if active_admin_config.scopes.any?
85
84
  scope_options = {
86
- :scope_count => config[:scope_count].nil? ? true : config[:scope_count]
85
+ scope_count: config.fetch(:scope_count, true)
87
86
  }
88
87
 
89
88
  scopes_renderer active_admin_config.scopes, scope_options
@@ -111,37 +110,54 @@ module ActiveAdmin
111
110
  end
112
111
 
113
112
  def render_blank_slate
114
- blank_slate_content = I18n.t("active_admin.blank_slate.content", :resource_name => active_admin_config.plural_resource_label)
113
+ blank_slate_content = I18n.t("active_admin.blank_slate.content", resource_name: active_admin_config.plural_resource_label)
115
114
  if controller.action_methods.include?('new') && authorized?(ActiveAdmin::Auth::CREATE, active_admin_config.resource_class)
116
- blank_slate_content += " " + link_to(I18n.t("active_admin.blank_slate.link"), new_resource_path)
115
+ blank_slate_content = [blank_slate_content, blank_slate_link].compact.join(" ")
117
116
  end
118
117
  insert_tag(view_factory.blank_slate, blank_slate_content)
119
118
  end
120
119
 
121
120
  def render_empty_results
122
- empty_results_content = I18n.t("active_admin.pagination.empty", :model => active_admin_config.plural_resource_label)
121
+ empty_results_content = I18n.t("active_admin.pagination.empty", model: active_admin_config.plural_resource_label)
123
122
  insert_tag(view_factory.blank_slate, empty_results_content)
124
123
  end
125
124
 
126
125
  def render_index
127
126
  renderer_class = find_index_renderer_class(config[:as])
128
- paginator = config[:paginator].nil? ? true : config[:paginator]
129
- download_links = config[:download_links].nil? ? active_admin_config.namespace.download_links : config[:download_links]
130
- pagination_total = config[:pagination_total].nil? ? true : config[:pagination_total]
131
-
132
- paginated_collection(collection, :entry_name => active_admin_config.resource_label,
133
- :entries_name => active_admin_config.plural_resource_label(:count => collection_size),
134
- :download_links => download_links,
135
- :paginator => paginator,
136
- :pagination_total => pagination_total) do
137
- div :class => 'index_content' do
127
+ paginator = config.fetch(:paginator, true)
128
+ download_links = config.fetch(:download_links, active_admin_config.namespace.download_links)
129
+ pagination_total = config.fetch(:pagination_total, true)
130
+ per_page = config.fetch(:per_page, active_admin_config.per_page)
131
+
132
+ paginated_collection(collection, entry_name: active_admin_config.resource_label,
133
+ entries_name: active_admin_config.plural_resource_label(count: collection_size),
134
+ download_links: download_links,
135
+ paginator: paginator,
136
+ per_page: per_page,
137
+ pagination_total: pagination_total) do
138
+ div class: 'index_content' do
138
139
  insert_tag(renderer_class, config, collection)
139
140
  end
140
141
  end
141
142
  end
142
143
 
144
+ private
145
+
146
+ def blank_slate_link
147
+ if config.options.has_key?(:blank_slate_link)
148
+ blank_slate_link = config.options[:blank_slate_link]
149
+ if blank_slate_link.is_a?(Proc)
150
+ instance_exec(&blank_slate_link)
151
+ end
152
+ else
153
+ default_blank_slate_link
154
+ end
155
+ end
156
+
157
+ def default_blank_slate_link
158
+ link_to(I18n.t("active_admin.blank_slate.link"), new_resource_path)
159
+ end
143
160
  end
144
161
  end
145
162
  end
146
163
  end
147
-
@@ -7,7 +7,7 @@ module ActiveAdmin
7
7
  class Layout < Base
8
8
 
9
9
  def title
10
- assigns[:page_title] || I18n.t("active_admin.#{params[:action]}", :default => params[:action].to_s.titleize)
10
+ assigns[:page_title] || I18n.t("active_admin.#{params[:action]}", default: params[:action].to_s.titleize)
11
11
  end
12
12
 
13
13
  # Render the content_for(:layout) into the main content area
@@ -11,7 +11,7 @@ module ActiveAdmin
11
11
  if config[:title]
12
12
  render_or_call_method_or_proc_on(resource, config[:title])
13
13
  else
14
- default_title
14
+ assigns[:page_title] || default_title
15
15
  end
16
16
  end
17
17
 
@@ -25,7 +25,7 @@ module ActiveAdmin
25
25
  end
26
26
 
27
27
  def attributes_table(*args, &block)
28
- panel(I18n.t('active_admin.details', :model => active_admin_config.resource_label)) do
28
+ panel(I18n.t('active_admin.details', model: active_admin_config.resource_label)) do
29
29
  attributes_table_for resource, *args, &block
30
30
  end
31
31
  end
@@ -43,8 +43,8 @@ module ActiveAdmin
43
43
  end
44
44
 
45
45
  module DefaultMainContent
46
- def default_main_content
47
- attributes_table *default_attribute_table_rows
46
+ def default_main_content(&block)
47
+ attributes_table(*default_attribute_table_rows, &block)
48
48
  end
49
49
 
50
50
  def default_attribute_table_rows
@@ -40,10 +40,14 @@ module ActiveAdmin
40
40
  end
41
41
 
42
42
  def build_menu_item(item)
43
- li :id => item.id do |li|
43
+ li id: item.id do |li|
44
44
  li.add_class "current" if item.current? assigns[:current_tab]
45
45
 
46
- text_node link_to item.label(self), item.url(self), item.html_options
46
+ if url = item.url(self)
47
+ text_node link_to item.label(self), url, item.html_options
48
+ else
49
+ span item.label(self), item.html_options
50
+ end
47
51
 
48
52
  if children = item.items(self).presence
49
53
  li.add_class "has_nested"
@@ -55,7 +59,7 @@ module ActiveAdmin
55
59
  end
56
60
 
57
61
  def default_options
58
- { :id => "tabs" }
62
+ { id: "tabs" }
59
63
  end
60
64
  end
61
65
  end
@@ -3,7 +3,7 @@ module ActiveAdmin
3
3
  class TitleBar < Component
4
4
 
5
5
  def build(title, action_items)
6
- super(:id => "title_bar")
6
+ super(id: "title_bar")
7
7
  @title = title
8
8
  @action_items = action_items
9
9
  build_titlebar_left
@@ -13,35 +13,37 @@ module ActiveAdmin
13
13
  private
14
14
 
15
15
  def build_titlebar_left
16
- div :id => "titlebar_left" do
16
+ div id: "titlebar_left" do
17
17
  build_breadcrumb
18
18
  build_title_tag
19
19
  end
20
20
  end
21
21
 
22
22
  def build_titlebar_right
23
- div :id => "titlebar_right" do
23
+ div id: "titlebar_right" do
24
24
  build_action_items
25
25
  end
26
26
  end
27
27
 
28
28
  def build_breadcrumb(separator = "/")
29
- links = if active_admin_config && active_admin_config.breadcrumb.present?
29
+ breadcrumb_config = active_admin_config && active_admin_config.breadcrumb
30
+
31
+ links = if breadcrumb_config.is_a?(Proc)
30
32
  instance_exec(controller, &active_admin_config.breadcrumb)
31
- else
33
+ elsif breadcrumb_config.present?
32
34
  breadcrumb_links
33
35
  end
34
36
  return unless links.present? && links.is_a?(::Array)
35
- span :class => "breadcrumb" do
37
+ span class: "breadcrumb" do
36
38
  links.each do |link|
37
39
  text_node link
38
- span(separator, :class => "breadcrumb_sep")
40
+ span(separator, class: "breadcrumb_sep")
39
41
  end
40
42
  end
41
43
  end
42
44
 
43
45
  def build_title_tag
44
- h2(@title, :id => 'page_title')
46
+ h2(@title, id: 'page_title')
45
47
  end
46
48
 
47
49
  def build_action_items
@@ -2,9 +2,7 @@ module ActiveAdmin
2
2
  module Generators
3
3
  class AssetsGenerator < Rails::Generators::Base
4
4
 
5
- def self.source_root
6
- @_active_admin_source_root ||= File.expand_path("../templates", __FILE__)
7
- end
5
+ source_root File.expand_path("../templates", __FILE__)
8
6
 
9
7
  def install_assets
10
8
  template 'active_admin.js.coffee', 'app/assets/javascripts/active_admin.js.coffee'
@@ -5,15 +5,25 @@ module ActiveAdmin
5
5
 
6
6
  class DeviseGenerator < Rails::Generators::NamedBase
7
7
  desc "Creates an admin user and uses Devise for authentication"
8
- argument :name, :type => :string, :default => "AdminUser"
8
+ argument :name, type: :string, default: "AdminUser"
9
9
 
10
- class_option :registerable, :type => :boolean, :default => false,
11
- :desc => "Should the generated resource be registerable?"
10
+ class_option :registerable, type: :boolean, default: false,
11
+ desc: "Should the generated resource be registerable?"
12
12
 
13
13
  RESERVED_NAMES = [:active_admin_user]
14
14
 
15
+ class_option :default_user, :type => :boolean, :default => true,
16
+ :desc => "Should a default user be created inside the migration?"
17
+
15
18
  def install_devise
19
+ begin
20
+ Dependency.devise! Dependency::DEVISE
21
+ rescue DependencyError => e
22
+ raise Error, "#{e.message} If you don't want to use devise, run the generator with --skip-users."
23
+ end
24
+
16
25
  require 'devise'
26
+
17
27
  if File.exists?(File.join(destination_root, "config", "initializers", "devise.rb"))
18
28
  log :generate, "No need to install devise, already done."
19
29
  else
@@ -36,26 +46,6 @@ module ActiveAdmin
36
46
  end
37
47
  end
38
48
 
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
- def add_attr_accessible_if_needed
53
- unless Rails::VERSION::MAJOR > 3 && !defined? ProtectedAttributes
54
- model_file = File.join(destination_root, "app", "models", "#{file_path}.rb")
55
- inject_into_file model_file, " attr_accessible :email, :password, :password_confirmation, :remember_me\n", before: /end\n*\z/
56
- end
57
- end
58
-
59
49
  def set_namespace_for_path
60
50
  routes_file = File.join(destination_root, "config", "routes.rb")
61
51
  gsub_file routes_file, /devise_for :#{plural_table_name}$/, "devise_for :#{plural_table_name}, ActiveAdmin::Devise.config"
@@ -64,18 +54,20 @@ module ActiveAdmin
64
54
  def add_default_user_to_migration
65
55
  # Don't assume that we have a migration!
66
56
  devise_migration_file = Dir["db/migrate/*_devise_create_#{table_name}.rb"].first
67
- return if devise_migration_file.nil?
57
+ return if devise_migration_file.nil? || !options[:default_user]
68
58
 
69
59
  devise_migration_content = File.read(devise_migration_file)
70
60
 
61
+ create_user_code = "#{class_name}.create!(email: 'admin@example.com', password: 'password', password_confirmation: 'password')"
62
+
71
63
  if devise_migration_content["def change"]
72
64
  inject_into_file devise_migration_file,
73
- "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 ",
74
- :before => "def change"
65
+ "def migrate(direction)\n super\n # Create a default user\n #{create_user_code} if direction == :up\n end\n\n ",
66
+ before: "def change"
75
67
  elsif devise_migration_content[/def (self.)?up/]
76
68
  inject_into_file devise_migration_file,
77
- "# Create a default user\n #{class_name}.create!(:email => 'admin@example.com', :password => 'password', :password_confirmation => 'password')\n\n ",
78
- :before => "add_index :#{table_name}, :email"
69
+ "# Create a default user\n #{create_user_code}\n\n ",
70
+ before: "add_index :#{table_name}, :email"
79
71
  else
80
72
  puts devise_migration_content
81
73
  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
@@ -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,10 +85,9 @@ 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.
88
+ # (within the application controller) to return the currently logged in user.
85
89
  config.current_user_method = :current_<%= @underscored_user_name %>
86
90
 
87
-
88
91
  # == Logging Out
89
92
  #
90
93
  # Active Admin displays a logout link on each screen. These
@@ -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
145
  # config.favicon = '/assets/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,
@@ -215,7 +216,6 @@ ActiveAdmin.setup do |config|
215
216
  #
216
217
  # end
217
218
 
218
-
219
219
  # == Pagination
220
220
  #
221
221
  # Pagination is enabled by default for all resources.
@@ -223,13 +223,11 @@ ActiveAdmin.setup do |config|
223
223
  #
224
224
  # config.default_per_page = 30
225
225
 
226
-
227
226
  # == Filters
228
227
  #
229
- # 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
230
229
  # hand side with a filter for each attribute of the registered model.
231
230
  # You can enable or disable them for all resources here.
232
231
  #
233
232
  # config.filters = true
234
-
235
233
  end