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,24 @@
1
+ # ActiveAdmin Documentation
2
+
3
+ ## Content
4
+
5
+ - [Installation](0-installation.md)
6
+ - [General Configuration](1-general-configuration.md)
7
+ - [Resource Customization](2-resource-customization.md)
8
+ - [Index Pages](3-index-pages.md)
9
+ - [Custom Index](3-index-pages/custom-index.md)
10
+ - [Index as Table](3-index-pages/index-as-table.md)
11
+ - [Index as Grid](3-index-pages/index-as-grid.md)
12
+ - [Index as Blocks](3-index-pages/index-as-block.md)
13
+ - [Index as Blog](3-index-pages/index-as-blog.md)
14
+ - [Csv Format](4-csv-format.md)
15
+ - [Forms](5-forms.md)
16
+ - [Show Pages](6-show-pages.md)
17
+ - [Sidebars](7-sidebars.md)
18
+ - [Custom Actions](8-custom-actions.md)
19
+ - [Batch Actions](9-batch-actions.md)
20
+ - [Custom Pages](10-custom-pages.md)
21
+ - [Decorators](11-decorators.md)
22
+ - [Arbre Components](12-arbre-components.md)
23
+ - [Authorization Adapter](13-authorization-adapter.md)
24
+ - [Gotchas](14-gotchas.md)
@@ -10,7 +10,7 @@ Feature: Action Item
10
10
  Given a configuration of:
11
11
  """
12
12
  ActiveAdmin.register Post do
13
- action_item do
13
+ action_item :embiggen do
14
14
  link_to "Embiggen", '/'
15
15
  end
16
16
  end
@@ -32,7 +32,7 @@ Feature: Action Item
32
32
  Given a configuration of:
33
33
  """
34
34
  ActiveAdmin.register Post do
35
- action_item :if => proc{ !current_active_admin_user.nil? } do
35
+ action_item :embiggen, :if => proc{ !current_active_admin_user.nil? } do
36
36
  link_to "Embiggen", '/'
37
37
  end
38
38
  end
@@ -54,7 +54,7 @@ Feature: Action Item
54
54
  Given a configuration of:
55
55
  """
56
56
  ActiveAdmin.register Post do
57
- action_item :if => proc{ current_active_admin_user.nil? } do
57
+ action_item :embiggen, :if => proc{ current_active_admin_user.nil? } do
58
58
  link_to "Embiggen", '/'
59
59
  end
60
60
  end
@@ -0,0 +1,37 @@
1
+ Feature: Authorizing Access using Pundit
2
+
3
+ Background:
4
+ Given I am logged in
5
+ And 1 post exists
6
+ And a configuration of:
7
+ """
8
+ require 'pundit'
9
+
10
+ ActiveAdmin.application.namespace(:admin).authorization_adapter = ActiveAdmin::PunditAdapter
11
+
12
+ ActiveAdmin.register Post do
13
+ end
14
+
15
+ ActiveAdmin.register_page "No Access" do
16
+ end
17
+ """
18
+ And I am on the index page for posts
19
+
20
+ @allow-rescue
21
+ Scenario: Attempt to access a resource I am not authorized to see
22
+ When I go to the last post's edit page
23
+ Then I should see "You are not authorized to perform this action"
24
+
25
+ Scenario: Viewing the default action items
26
+ When I follow "View"
27
+ Then I should not see an action item link to "Edit"
28
+
29
+ @allow-rescue
30
+ Scenario: Attempting to visit a Page without authorization
31
+ When I go to the admin no access page
32
+ Then I should see "You are not authorized to perform this action"
33
+
34
+ @allow-rescue
35
+ Scenario: Viewing a page with authorization
36
+ When I go to the admin dashboard page
37
+ Then I should see "Dashboard"
@@ -25,3 +25,51 @@ Feature: Breadcrumb
25
25
  """
26
26
  When I am on the new post page
27
27
  Then I should see a link to "test" in the breadcrumb
28
+
29
+ Scenario: No Breadcrumbs configuration
30
+ Given a configuration of:
31
+ """
32
+ ActiveAdmin.application.breadcrumb = false
33
+ ActiveAdmin.register Post do
34
+ end
35
+ """
36
+ When I am on the new post page
37
+ Then I should see "Post"
38
+ And I should not see the element ".breadcrumb"
39
+
40
+ Scenario: Application config of false and a resource config of true
41
+ Given a configuration of:
42
+ """
43
+ ActiveAdmin.application.breadcrumb = false
44
+ ActiveAdmin.register Post do
45
+ config.breadcrumb = true
46
+ end
47
+ """
48
+ When I am on the new post page
49
+ Then I should see a link to "Post" in the breadcrumb
50
+
51
+ Scenario: Application config of false and rewritten breadcrumb links
52
+ Given a configuration of:
53
+ """
54
+ ActiveAdmin.application.breadcrumb = false
55
+ ActiveAdmin.register Post do
56
+ breadcrumb do
57
+ [
58
+ link_to('test', '/admin/test/url')
59
+ ]
60
+ end
61
+ end
62
+ """
63
+ When I am on the new post page
64
+ Then I should see a link to "test" in the breadcrumb
65
+
66
+ Scenario: Application config of true and a resource config of false
67
+ Given a configuration of:
68
+ """
69
+ ActiveAdmin.application.breadcrumb = true
70
+ ActiveAdmin.register Post do
71
+ config.breadcrumb = false
72
+ end
73
+ """
74
+ When I am on the new post page
75
+ Then I should not see the element ".breadcrumb"
@@ -39,7 +39,7 @@ Feature: Commenting
39
39
  Scenario: View a resource in a namespace that doesn't have comments
40
40
  Given a configuration of:
41
41
  """
42
- ActiveAdmin.application.namespace(:new_namespace).allow_comments = false
42
+ ActiveAdmin.application.namespace(:new_namespace).comments = false
43
43
  ActiveAdmin.register Post, :namespace => :new_namespace
44
44
  ActiveAdmin.register AdminUser, :namespace => :new_namespace
45
45
  """
@@ -48,6 +48,20 @@ Feature: Commenting
48
48
  And I follow "View"
49
49
  Then I should not see "Comments"
50
50
 
51
+ Scenario: Enable comments on per-resource basis
52
+ Given a configuration of:
53
+ """
54
+ ActiveAdmin.application.namespace(:new_namespace).comments = false
55
+ ActiveAdmin.register Post, :namespace => :new_namespace do
56
+ config.comments = true
57
+ end
58
+ ActiveAdmin.register AdminUser, :namespace => :new_namespace
59
+ """
60
+ Given I am logged in
61
+ When I am on the index page for posts in the new_namespace namespace
62
+ And I follow "View"
63
+ Then I should see "Comments"
64
+
51
65
  Scenario: Creating a comment in one namespace does not create it in another
52
66
  Given a show configuration of:
53
67
  """
@@ -101,7 +115,7 @@ Feature: Commenting
101
115
  Then I should see a table header with "Body"
102
116
  And I should see "Hello from Comment"
103
117
 
104
- Scenario: Commenting on a STI subclass
118
+ Scenario: Commenting on a STI superclass
105
119
  Given a configuration of:
106
120
  """
107
121
  ActiveAdmin.register User
@@ -113,16 +127,45 @@ Feature: Commenting
113
127
  When I add a comment "Hello World"
114
128
  Then I should see a flash with "Comment was successfully created"
115
129
  And I should be in the resource section for users
130
+ When I am on the index page for comments
131
+ Then I should see the content "User"
132
+ And I should see "Hello World"
133
+
134
+ Scenario: Commenting on a STI subclass
135
+ Given a configuration of:
136
+ """
137
+ ActiveAdmin.register Publisher
138
+ """
139
+ Given I am logged in
140
+ And a publisher named "Pragmatic Publishers" exists
141
+ When I am on the index page for publishers
142
+ And I follow "View"
143
+ When I add a comment "Hello World"
144
+ Then I should see a flash with "Comment was successfully created"
145
+ And I should be in the resource section for publishers
146
+ And I should see "Hello World"
116
147
 
117
148
  Scenario: Commenting on a class with string id
118
- Given a tag with the name "coolness" exists
119
- Given a configuration of:
120
- """
121
- ActiveAdmin.register Tag
122
- """
123
- Given I am logged in
124
- When I am on the index page for tags
125
- And I follow "View"
126
- When I add a comment "Tag Comment"
127
- Then I should see a flash with "Comment was successfully created"
128
- And I should be in the resource section for tags
149
+ Given a tag with the name "coolness" exists
150
+ Given a configuration of:
151
+ """
152
+ ActiveAdmin.register Tag
153
+ """
154
+ Given I am logged in
155
+ When I am on the index page for tags
156
+ And I follow "View"
157
+ When I add a comment "Tag Comment"
158
+ Then I should see a flash with "Comment was successfully created"
159
+ And I should be in the resource section for tags
160
+
161
+ Scenario: Commenting on an aliased resource with an existing non-aliased config
162
+ Given a configuration of:
163
+ """
164
+ ActiveAdmin.register Post
165
+ ActiveAdmin.register Post, as: 'Foo'
166
+ """
167
+ Given I am logged in
168
+ When I am on the index page for foos
169
+ And I follow "View"
170
+ When I add a comment "Bar"
171
+ Then I should be in the resource section for foos
@@ -5,39 +5,26 @@ Feature: Development Reloading
5
5
  I want the application to reload itself in development
6
6
 
7
7
  @requires-reloading
8
- Scenario: Reloading an updated model that a resource points to
9
- Given "app/admin/posts.rb" contains:
8
+ Scenario: Registering a resource that was not previously registered
9
+ When I am logged in with capybara
10
+ Then I should not see a menu item for "Posts"
11
+
12
+ When "app/admin/posts.rb" contains:
10
13
  """
11
- ActiveAdmin.register Post
14
+ ActiveAdmin.register Post do
15
+ if Rails::VERSION::MAJOR == 4
16
+ permit_params :custom_category_id, :author_id, :title,
17
+ :body, :position, :published_at, :starred
18
+ end
19
+ end
12
20
  """
13
- And I am logged in with capybara
14
- And I create a new post with the title ""
21
+ When I am logged in with capybara
22
+ Then I should see a menu item for "Posts"
23
+
24
+ When I create a new post with the title "A"
15
25
  Then I should see a successful create flash
16
- Given I add "validates_presence_of :title" to the "post" model
26
+
27
+ When I add "validates_presence_of :title" to the "post" model
17
28
  And I create a new post with the title ""
18
29
  Then I should not see a successful create flash
19
30
  And I should see a validation error "can't be blank"
20
-
21
-
22
- # TODO: Create a scenario that reloads one of the active admin
23
- # configuration files.
24
- #
25
- # @requires-reloading
26
- # Scenario: Reloading an updated model that a resource points to
27
- # Given "app/admin/posts.rb" contains:
28
- # """
29
- # ActiveAdmin.register Post
30
- # ActiveAdmin.register User
31
- # """
32
- # And I am logged in
33
- # Then I should see a menu item for "Posts"
34
-
35
- # Given "app/admin/posts.rb" contains:
36
- # """
37
- # ActiveAdmin.register Post, :as => "Blog"
38
- # ActiveAdmin.register User
39
- # """
40
- # When I follow "Users"
41
- # Then show me the page
42
- # Then I should see a menu item for "Blogs"
43
- # Then I should not see a menu item for "Posts"
@@ -9,7 +9,12 @@ Feature: Edit Page
9
9
  And I am logged in
10
10
  Given a configuration of:
11
11
  """
12
- ActiveAdmin.register Post
12
+ ActiveAdmin.register Post do
13
+ if Rails::VERSION::MAJOR == 4
14
+ permit_params :custom_category_id, :author_id, :title,
15
+ :body, :position, :published_at, :starred
16
+ end
17
+ end
13
18
  """
14
19
  When I am on the index page for posts
15
20
 
@@ -29,6 +34,8 @@ Feature: Edit Page
29
34
  Given a configuration of:
30
35
  """
31
36
  ActiveAdmin.register Post do
37
+ permit_params :category, :author, :title, :body, :published_at, :starred if Rails::VERSION::MAJOR == 4
38
+
32
39
  form do |f|
33
40
  f.inputs "Your Post" do
34
41
  f.input :title
@@ -56,6 +63,8 @@ Feature: Edit Page
56
63
  Given a configuration of:
57
64
  """
58
65
  ActiveAdmin.register Post do
66
+ permit_params :category, :author, :title, :body, :published_at, :starred if Rails::VERSION::MAJOR == 4
67
+
59
68
  form :html => {} do |f|
60
69
  f.inputs "Your Post" do
61
70
  f.input :title
@@ -93,6 +102,8 @@ Feature: Edit Page
93
102
  Given a configuration of:
94
103
  """
95
104
  ActiveAdmin.register Post do
105
+ permit_params :category, :author, :title, :body, :published_at, :starred if Rails::VERSION::MAJOR == 4
106
+
96
107
  form :partial => "form"
97
108
  end
98
109
  """
@@ -1,7 +1,7 @@
1
1
  Feature: Favicon
2
-
2
+
3
3
  Configuring a Favicon file
4
-
4
+
5
5
  Background:
6
6
  Given a configuration of:
7
7
  """
@@ -13,7 +13,7 @@ Feature: Favicon
13
13
  Given I am logged out
14
14
  When I am on the login page
15
15
  Then I should see the favicon "a/favicon.ico"
16
-
16
+
17
17
  Scenario: Logged in views show Favicon
18
18
  Given I am logged in
19
19
  When I am on the dashboard
@@ -7,23 +7,24 @@ Feature: Internationalization
7
7
  And a store named "Hello words" exists
8
8
  When I go to the dashboard
9
9
  Then I should see "Bookstores"
10
+
10
11
  When I follow "Bookstores"
12
+ Then I should see the page title "Bookstores"
11
13
  Then I should see "Hello words"
14
+
12
15
  When I follow "View"
13
16
  Then I should see "Bookstore Details"
14
17
  And I should see "Hello words"
15
18
  And I should see a link to "Delete Bookstore"
19
+
16
20
  When I follow "Edit Bookstore"
17
21
  Then I should see "Edit Bookstore"
22
+
18
23
  When I press "Update Bookstore"
19
24
  Then I should see a flash with "Bookstore was successfully updated."
20
25
 
21
26
  Scenario: Switching language at runtime
22
27
  Given I am logged in
23
- And a configuration of:
24
- """
25
- ActiveAdmin.register Store
26
- """
27
28
  When I set my locale to "fr"
28
29
  And I go to the dashboard
29
30
  Then I should see "Store"
@@ -121,3 +121,44 @@ Feature: Batch Actions
121
121
  Then I should see the batch action :very_complex_and_time_consuming "Very Complex and Time Consuming Selected"
122
122
  And I should see the batch action :passing_a_symbol "Passing A Symbol Selected"
123
123
 
124
+ Scenario: Use a Form with text
125
+ Given 10 posts exist
126
+ And an index configuration of:
127
+ """
128
+ ActiveAdmin.register Post do
129
+ batch_action :destroy, false
130
+ batch_action(:action_with_form, form: { name: :text }) {}
131
+ end
132
+ """
133
+
134
+ When I check the 1st record
135
+ And I follow "Batch Actions"
136
+ Then I should be show a input with name "name" and type "text"
137
+
138
+ Scenario: Use a Form with select
139
+ Given 10 posts exist
140
+ And an index configuration of:
141
+ """
142
+ ActiveAdmin.register Post do
143
+ batch_action :destroy, false
144
+ batch_action(:action_with_form, form: { type: ["a", "b"] }) {}
145
+ end
146
+ """
147
+
148
+ When I check the 1st record
149
+ And I follow "Batch Actions"
150
+ Then I should be show a select with name "type" with the values "a, b"
151
+
152
+ Scenario: Use a Form with select values from proc
153
+ Given 10 posts exist
154
+ And an index configuration of:
155
+ """
156
+ ActiveAdmin.register Post do
157
+ batch_action :destroy, false
158
+ batch_action(:action_with_form, form: ->{ {type: ["a", "b"]} }) {}
159
+ end
160
+ """
161
+
162
+ When I check the 1st record
163
+ And I follow "Batch Actions"
164
+ Then I should be show a select with name "type" with the values "a, b"
@@ -92,3 +92,70 @@ Feature: Index Filtering
92
92
  """
93
93
  Then I should not see a sidebar titled "Filters"
94
94
 
95
+ Scenario: Select - Filtering categories with posts written by Jane Doe
96
+ Given a category named "Mystery" exists
97
+ And 1 post with the title "Hello World" written by "Jane Doe" in category "Non-Fiction" exists
98
+ And an index configuration of:
99
+ """
100
+ ActiveAdmin.register Category
101
+ """
102
+ When I select "Jane Doe" from "Authors"
103
+ And I press "Filter"
104
+ Then I should see 1 categories in the table
105
+ And I should see "Non-Fiction" within ".index_table"
106
+ And I should not see "Mystery" within ".index_table"
107
+
108
+ @javascript
109
+ Scenario: Clearing filter preserves custom parameters
110
+ Given a category named "Mystery" exists
111
+ And 1 post with the title "Hello World" written by "Jane Doe" in category "Non-Fiction" exists
112
+ And 1 post with the title "Lorem Ipsum" written by "Joe Smith" in category "Mystery" exists
113
+ And an index configuration of:
114
+ """
115
+ ActiveAdmin.register Category
116
+ ActiveAdmin.application.favicon = false
117
+ """
118
+ Then I should see "Displaying all 2 Categories"
119
+ When I add parameter "scope" with value "all" to the URL
120
+ And I add parameter "foo" with value "bar" to the URL
121
+ And I select "Hello World" from "Posts"
122
+ And I press "Filter"
123
+ Then I should see "Non-Fiction"
124
+ And I should not see "Mystery"
125
+ When I click "Clear Filters"
126
+ Then I should see "Non-Fiction"
127
+ And I should see "Mystery"
128
+ And I should have parameter "foo" with value "bar"
129
+ And I should have parameter "scope" with value "all"
130
+
131
+ Scenario: Checkboxes - Filtering categories via posts written by anyone
132
+ Given a category named "Mystery" exists
133
+ And a post with the title "Hello World" written by "Jane Doe" in category "Non-Fiction" exists
134
+ And an index configuration of:
135
+ """
136
+ ActiveAdmin.register Category do
137
+ filter :authors, :as => :check_boxes
138
+ end
139
+ """
140
+ When I press "Filter"
141
+ Then I should see 2 posts in the table
142
+ And I should see "Mystery" within ".index_table"
143
+ And I should see "Non-Fiction" within ".index_table"
144
+ And the "Jane Doe" checkbox should not be checked
145
+
146
+ Scenario: Checkboxes - Filtering categories via posts written by Jane Doe
147
+ Given a category named "Mystery" exists
148
+ And a post with the title "Hello World" written by "Jane Doe" in category "Non-Fiction" exists
149
+ And an index configuration of:
150
+ """
151
+ ActiveAdmin.register Category do
152
+ filter :authors, :as => :check_boxes
153
+ end
154
+ """
155
+ When I check "Jane Doe"
156
+ And I press "Filter"
157
+ Then I should see 1 categories in the table
158
+ And I should see "Non-Fiction" within ".index_table"
159
+ And the "Jane Doe" checkbox should be checked
160
+
161
+