activeadmin 1.1.0 → 2.14.0

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 (592) hide show
  1. checksums.yaml +5 -5
  2. data/CHANGELOG.md +871 -111
  3. data/CODE_OF_CONDUCT.md +64 -12
  4. data/CONTRIBUTING.md +84 -63
  5. data/README.md +73 -19
  6. data/app/assets/javascripts/active_admin/base.js +521 -0
  7. data/app/assets/stylesheets/active_admin/_base.scss +53 -37
  8. data/app/assets/stylesheets/active_admin/_forms.scss +4 -26
  9. data/app/assets/stylesheets/active_admin/_header.scss +40 -8
  10. data/app/assets/stylesheets/active_admin/_mixins.scss +1 -1
  11. data/{vendor → app}/assets/stylesheets/active_admin/_normalize.scss +25 -123
  12. data/app/assets/stylesheets/active_admin/{print.scss → _print.scss} +2 -2
  13. data/app/assets/stylesheets/active_admin/components/_comments.scss +2 -2
  14. data/app/assets/stylesheets/active_admin/components/_date_picker.scss +1 -2
  15. data/app/assets/stylesheets/active_admin/components/_dropdown_menu.scss +0 -1
  16. data/app/assets/stylesheets/active_admin/components/_scopes.scss +3 -0
  17. data/app/assets/stylesheets/active_admin/components/_status_tags.scss +0 -5
  18. data/app/assets/stylesheets/active_admin/components/_tables.scss +1 -2
  19. data/app/assets/stylesheets/active_admin/components/_tabs.scss +1 -1
  20. data/app/assets/stylesheets/active_admin/mixins/_all.scss +8 -8
  21. data/app/assets/stylesheets/active_admin/mixins/_gradients.scss +1 -1
  22. data/app/assets/stylesheets/active_admin/mixins/_variables.scss +17 -0
  23. data/app/assets/stylesheets/active_admin/structure/_footer.scss +6 -1
  24. data/app/assets/stylesheets/active_admin/structure/_main_structure.scss +1 -1
  25. data/app/assets/stylesheets/active_admin/structure/_title_bar.scss +0 -1
  26. data/app/javascript/active_admin/base.js +28 -0
  27. data/app/javascript/active_admin/ext/jquery-ui.js +7 -0
  28. data/app/javascript/active_admin/ext/jquery.js +9 -0
  29. data/app/javascript/active_admin/initializers/batch-actions.js +61 -0
  30. data/app/javascript/active_admin/initializers/checkbox-toggler.js +3 -0
  31. data/app/javascript/active_admin/initializers/datepicker.js +16 -0
  32. data/app/javascript/active_admin/initializers/dropdown-menu.js +9 -0
  33. data/app/javascript/active_admin/initializers/filters.js +10 -0
  34. data/app/javascript/active_admin/initializers/has-many.js +98 -0
  35. data/app/javascript/active_admin/initializers/per-page.js +13 -0
  36. data/app/javascript/active_admin/initializers/table-checkbox-toggler.js +3 -0
  37. data/app/javascript/active_admin/initializers/tabs.js +6 -0
  38. data/app/javascript/active_admin/lib/checkbox-toggler.js +49 -0
  39. data/app/javascript/active_admin/lib/dropdown-menu.js +116 -0
  40. data/app/javascript/active_admin/lib/filters.js +39 -0
  41. data/app/javascript/active_admin/lib/modal-dialog.js +63 -0
  42. data/app/javascript/active_admin/lib/per-page.js +38 -0
  43. data/app/javascript/active_admin/lib/table-checkbox-toggler.js +38 -0
  44. data/app/javascript/active_admin/lib/utils.js +40 -0
  45. data/app/views/active_admin/devise/confirmations/new.html.erb +2 -2
  46. data/app/views/active_admin/devise/mailer/reset_password_instructions.html.erb +1 -1
  47. data/app/views/active_admin/devise/mailer/unlock_instructions.html.erb +2 -2
  48. data/app/views/active_admin/devise/passwords/edit.html.erb +2 -2
  49. data/app/views/active_admin/devise/passwords/new.html.erb +2 -2
  50. data/app/views/active_admin/devise/registrations/new.html.erb +2 -3
  51. data/app/views/active_admin/devise/sessions/new.html.erb +1 -1
  52. data/app/views/active_admin/devise/shared/_error_messages.html.erb +15 -0
  53. data/app/views/active_admin/devise/shared/_links.erb +1 -1
  54. data/app/views/active_admin/devise/unlocks/new.html.erb +2 -2
  55. data/app/views/active_admin/page/index.html.arb +1 -0
  56. data/app/views/active_admin/resource/edit.html.arb +1 -0
  57. data/app/views/active_admin/resource/index.html.arb +1 -0
  58. data/app/views/active_admin/resource/new.html.arb +1 -0
  59. data/app/views/active_admin/resource/show.html.arb +1 -0
  60. data/app/views/kaminari/active_admin_countless/_first_page.html.erb +11 -0
  61. data/app/views/kaminari/active_admin_countless/_gap.html.erb +8 -0
  62. data/app/views/kaminari/active_admin_countless/_next_page.html.erb +11 -0
  63. data/app/views/kaminari/active_admin_countless/_page.html.erb +12 -0
  64. data/app/views/kaminari/active_admin_countless/_paginator.html.erb +24 -0
  65. data/app/views/kaminari/active_admin_countless/_prev_page.html.erb +11 -0
  66. data/app/views/layouts/active_admin.html.arb +1 -0
  67. data/app/views/layouts/active_admin_logged_out.html.erb +20 -9
  68. data/config/locales/ar.yml +9 -8
  69. data/config/locales/az.yml +138 -0
  70. data/config/locales/bg.yml +1 -1
  71. data/config/locales/bs.yml +1 -0
  72. data/config/locales/ca.yml +1 -1
  73. data/config/locales/cs.yml +1 -0
  74. data/config/locales/da.yml +1 -0
  75. data/config/locales/de-CH.yml +1 -0
  76. data/config/locales/de.yml +29 -0
  77. data/config/locales/el.yml +1 -0
  78. data/config/locales/en-CA.yml +4 -3
  79. data/config/locales/en-GB.yml +4 -3
  80. data/config/locales/en.yml +24 -4
  81. data/config/locales/eo.yml +145 -0
  82. data/config/locales/es-MX.yml +3 -1
  83. data/config/locales/es.yml +26 -6
  84. data/config/locales/fa.yml +1 -0
  85. data/config/locales/fi.yml +2 -1
  86. data/config/locales/fr.yml +9 -8
  87. data/config/locales/he.yml +1 -1
  88. data/config/locales/hr.yml +1 -0
  89. data/config/locales/hu.yml +5 -0
  90. data/config/locales/id.yml +1 -0
  91. data/config/locales/it.yml +31 -3
  92. data/config/locales/ja.yml +8 -2
  93. data/config/locales/ko.yml +2 -1
  94. data/config/locales/lt.yml +3 -2
  95. data/config/locales/lv.yml +3 -2
  96. data/config/locales/mk.yml +134 -0
  97. data/config/locales/nb.yml +16 -5
  98. data/config/locales/nl.yml +13 -1
  99. data/config/locales/pl.yml +72 -3
  100. data/config/locales/pt-BR.yml +9 -0
  101. data/config/locales/pt-PT.yml +1 -0
  102. data/config/locales/ro.yml +4 -2
  103. data/config/locales/ru.yml +3 -0
  104. data/config/locales/sk.yml +60 -0
  105. data/config/locales/sv-SE.yml +3 -0
  106. data/config/locales/tr.yml +10 -0
  107. data/config/locales/uk.yml +3 -0
  108. data/config/locales/vi.yml +82 -12
  109. data/config/locales/zh-CN.yml +68 -20
  110. data/config/locales/zh-TW.yml +1 -0
  111. data/lib/active_admin/abstract_view_factory.rb +14 -51
  112. data/lib/active_admin/application.rb +65 -172
  113. data/lib/active_admin/application_settings.rb +43 -0
  114. data/lib/active_admin/asset_registration.rb +4 -11
  115. data/lib/active_admin/authorization_adapter.rb +6 -3
  116. data/lib/active_admin/base_controller/authorization.rb +18 -18
  117. data/lib/active_admin/base_controller/menu.rb +1 -0
  118. data/lib/active_admin/base_controller.rb +12 -11
  119. data/lib/active_admin/batch_actions/controller.rb +6 -5
  120. data/lib/active_admin/batch_actions/resource_extension.rb +16 -10
  121. data/lib/active_admin/batch_actions/views/batch_action_form.rb +4 -3
  122. data/lib/active_admin/batch_actions/views/batch_action_selector.rb +7 -6
  123. data/lib/active_admin/batch_actions/views/selection_cells.rb +4 -3
  124. data/lib/active_admin/batch_actions.rb +1 -0
  125. data/lib/active_admin/callbacks.rb +2 -1
  126. data/lib/active_admin/cancan_adapter.rb +2 -1
  127. data/lib/active_admin/collection_decorator.rb +32 -0
  128. data/lib/active_admin/component.rb +1 -0
  129. data/lib/active_admin/controller_action.rb +3 -1
  130. data/lib/active_admin/csv_builder.rb +15 -21
  131. data/lib/active_admin/dependency.rb +12 -79
  132. data/lib/active_admin/deprecation.rb +1 -25
  133. data/lib/active_admin/devise.rb +16 -5
  134. data/lib/active_admin/dsl.rb +3 -9
  135. data/lib/active_admin/dynamic_setting.rb +39 -0
  136. data/lib/active_admin/dynamic_settings_node.rb +29 -0
  137. data/lib/active_admin/engine.rb +16 -7
  138. data/lib/active_admin/error.rb +5 -4
  139. data/lib/active_admin/filters/active.rb +2 -1
  140. data/lib/active_admin/filters/active_filter.rb +52 -15
  141. data/lib/active_admin/filters/active_sidebar.rb +8 -30
  142. data/lib/active_admin/filters/dsl.rb +1 -0
  143. data/lib/active_admin/filters/forms.rb +13 -9
  144. data/lib/active_admin/filters/formtastic_addons.rb +3 -7
  145. data/lib/active_admin/filters/resource_extension.rb +34 -9
  146. data/lib/active_admin/filters.rb +8 -7
  147. data/lib/active_admin/form_builder.rb +110 -70
  148. data/lib/active_admin/generators/boilerplate.rb +13 -4
  149. data/lib/active_admin/helpers/collection.rb +2 -0
  150. data/lib/active_admin/helpers/i18n.rb +1 -0
  151. data/lib/active_admin/helpers/optional_display.rb +3 -2
  152. data/lib/active_admin/helpers/routes/url_helpers.rb +1 -0
  153. data/lib/active_admin/helpers/scope_chain.rb +2 -0
  154. data/lib/active_admin/inputs/datepicker_input.rb +10 -2
  155. data/lib/active_admin/inputs/filters/base/search_method_select.rb +7 -6
  156. data/lib/active_admin/inputs/filters/base.rb +2 -1
  157. data/lib/active_admin/inputs/filters/boolean_input.rb +2 -1
  158. data/lib/active_admin/inputs/filters/check_boxes_input.rb +2 -1
  159. data/lib/active_admin/inputs/filters/date_picker_input.rb +1 -0
  160. data/lib/active_admin/inputs/filters/date_range_input.rb +16 -12
  161. data/lib/active_admin/inputs/filters/numeric_input.rb +1 -0
  162. data/lib/active_admin/inputs/filters/select_input.rb +8 -3
  163. data/lib/active_admin/inputs/filters/string_input.rb +1 -0
  164. data/lib/active_admin/inputs/filters/text_input.rb +1 -0
  165. data/lib/active_admin/inputs.rb +1 -0
  166. data/lib/active_admin/localizers/resource_localizer.rb +4 -3
  167. data/lib/active_admin/localizers.rb +2 -1
  168. data/lib/active_admin/menu.rb +9 -11
  169. data/lib/active_admin/menu_collection.rb +1 -0
  170. data/lib/active_admin/menu_item.rb +11 -38
  171. data/lib/active_admin/namespace.rb +33 -20
  172. data/lib/active_admin/namespace_settings.rb +127 -0
  173. data/lib/active_admin/order_clause.rb +4 -3
  174. data/lib/active_admin/orm/active_record/comments/comment.rb +5 -4
  175. data/lib/active_admin/orm/active_record/comments/namespace_helper.rb +1 -0
  176. data/lib/active_admin/orm/active_record/comments/resource_helper.rb +1 -0
  177. data/lib/active_admin/orm/active_record/comments/show_page_helper.rb +1 -0
  178. data/lib/active_admin/orm/active_record/comments/views/active_admin_comments.rb +36 -25
  179. data/lib/active_admin/orm/active_record/comments/views.rb +3 -2
  180. data/lib/active_admin/orm/active_record/comments.rb +41 -29
  181. data/lib/active_admin/orm/active_record.rb +2 -1
  182. data/lib/active_admin/orm/mongoid.rb +1 -0
  183. data/lib/active_admin/page.rb +2 -1
  184. data/lib/active_admin/page_controller.rb +1 -0
  185. data/lib/active_admin/page_dsl.rb +2 -1
  186. data/lib/active_admin/page_presenter.rb +3 -1
  187. data/lib/active_admin/pundit_adapter.rb +71 -16
  188. data/lib/active_admin/resource/action_items.rb +12 -6
  189. data/lib/active_admin/resource/attributes.rb +9 -5
  190. data/lib/active_admin/resource/belongs_to.rb +9 -3
  191. data/lib/active_admin/resource/controllers.rb +2 -1
  192. data/lib/active_admin/resource/includes.rb +1 -0
  193. data/lib/active_admin/resource/menu.rb +6 -5
  194. data/lib/active_admin/resource/model.rb +16 -0
  195. data/lib/active_admin/resource/naming.rb +6 -5
  196. data/lib/active_admin/resource/ordering.rb +1 -0
  197. data/lib/active_admin/resource/page_presenters.rb +1 -0
  198. data/lib/active_admin/resource/pagination.rb +1 -0
  199. data/lib/active_admin/resource/routes.rb +26 -14
  200. data/lib/active_admin/resource/scope_to.rb +8 -7
  201. data/lib/active_admin/resource/scopes.rb +4 -3
  202. data/lib/active_admin/resource/sidebars.rb +3 -2
  203. data/lib/active_admin/resource.rb +37 -22
  204. data/lib/active_admin/resource_collection.rb +3 -2
  205. data/lib/active_admin/resource_controller/action_builder.rb +11 -0
  206. data/lib/active_admin/resource_controller/data_access.rb +35 -5
  207. data/lib/active_admin/resource_controller/decorators.rb +10 -31
  208. data/lib/active_admin/resource_controller/polymorphic_routes.rb +38 -0
  209. data/lib/active_admin/resource_controller/resource_class_methods.rb +3 -0
  210. data/lib/active_admin/resource_controller/scoping.rb +2 -1
  211. data/lib/active_admin/resource_controller/sidebars.rb +1 -0
  212. data/lib/active_admin/resource_controller/streaming.rb +9 -7
  213. data/lib/active_admin/resource_controller.rb +14 -10
  214. data/lib/active_admin/resource_dsl.rb +17 -27
  215. data/lib/active_admin/router.rb +91 -84
  216. data/lib/active_admin/scope.rb +20 -11
  217. data/lib/active_admin/settings_node.rb +20 -0
  218. data/lib/active_admin/sidebar_section.rb +4 -1
  219. data/lib/active_admin/version.rb +2 -1
  220. data/lib/active_admin/view_factory.rb +18 -17
  221. data/lib/active_admin/view_helpers/active_admin_application_helper.rb +1 -0
  222. data/lib/active_admin/view_helpers/auto_link_helper.rb +2 -1
  223. data/lib/active_admin/view_helpers/breadcrumb_helper.rb +6 -5
  224. data/lib/active_admin/view_helpers/display_helper.rb +25 -8
  225. data/lib/active_admin/view_helpers/download_format_links_helper.rb +3 -1
  226. data/lib/active_admin/view_helpers/fields_for.rb +3 -2
  227. data/lib/active_admin/view_helpers/flash_helper.rb +1 -0
  228. data/lib/active_admin/view_helpers/form_helper.rb +1 -0
  229. data/lib/active_admin/view_helpers/method_or_proc_helper.rb +4 -0
  230. data/lib/active_admin/view_helpers/scope_name_helper.rb +1 -0
  231. data/lib/active_admin/view_helpers/sidebar_helper.rb +1 -0
  232. data/lib/active_admin/view_helpers/title_helper.rb +1 -0
  233. data/lib/active_admin/view_helpers/view_factory_helper.rb +1 -0
  234. data/lib/active_admin/view_helpers.rb +2 -1
  235. data/lib/active_admin/views/action_items.rb +1 -0
  236. data/lib/active_admin/views/components/active_admin_form.rb +14 -8
  237. data/lib/active_admin/views/components/active_filters_sidebar_content.rb +59 -0
  238. data/lib/active_admin/views/components/attributes_table.rb +9 -8
  239. data/lib/active_admin/views/components/blank_slate.rb +2 -1
  240. data/lib/active_admin/views/components/columns.rb +1 -0
  241. data/lib/active_admin/views/components/dropdown_menu.rb +7 -9
  242. data/lib/active_admin/views/components/index_list.rb +4 -3
  243. data/lib/active_admin/views/components/menu.rb +33 -0
  244. data/lib/active_admin/views/components/menu_item.rb +59 -0
  245. data/lib/active_admin/views/components/paginated_collection.rb +22 -20
  246. data/lib/active_admin/views/components/panel.rb +2 -1
  247. data/lib/active_admin/views/components/scopes.rb +18 -8
  248. data/lib/active_admin/views/components/sidebar.rb +14 -0
  249. data/lib/active_admin/views/components/sidebar_section.rb +1 -0
  250. data/lib/active_admin/views/components/site_title.rb +7 -7
  251. data/lib/active_admin/views/components/status_tag.rb +14 -26
  252. data/lib/active_admin/views/components/table_for.rb +22 -29
  253. data/lib/active_admin/views/components/tabs.rb +18 -5
  254. data/lib/active_admin/views/components/unsupported_browser.rb +1 -0
  255. data/lib/active_admin/views/footer.rb +6 -8
  256. data/lib/active_admin/views/header.rb +4 -15
  257. data/lib/active_admin/views/index_as_block.rb +1 -0
  258. data/lib/active_admin/views/index_as_blog.rb +3 -2
  259. data/lib/active_admin/views/index_as_grid.rb +27 -26
  260. data/lib/active_admin/views/index_as_table.rb +34 -25
  261. data/lib/active_admin/views/pages/base.rb +47 -62
  262. data/lib/active_admin/views/pages/form.rb +1 -0
  263. data/lib/active_admin/views/pages/index.rb +16 -13
  264. data/lib/active_admin/views/pages/layout.rb +1 -0
  265. data/lib/active_admin/views/pages/page.rb +1 -0
  266. data/lib/active_admin/views/pages/show.rb +1 -0
  267. data/lib/active_admin/views/tabbed_navigation.rb +5 -59
  268. data/lib/active_admin/views/title_bar.rb +2 -1
  269. data/lib/active_admin/views.rb +2 -1
  270. data/lib/active_admin.rb +68 -63
  271. data/lib/activeadmin.rb +2 -1
  272. data/lib/generators/active_admin/assets/assets_generator.rb +3 -2
  273. data/lib/generators/active_admin/assets/templates/active_admin.js +1 -0
  274. data/lib/generators/active_admin/assets/templates/active_admin.scss +2 -2
  275. data/lib/generators/active_admin/devise/devise_generator.rb +6 -5
  276. data/lib/generators/active_admin/install/install_generator.rb +19 -8
  277. data/lib/generators/active_admin/install/templates/active_admin.rb.erb +62 -3
  278. data/lib/generators/active_admin/install/templates/dashboard.rb +3 -3
  279. data/lib/generators/active_admin/install/templates/migrations/create_active_admin_comments.rb.erb +1 -15
  280. data/lib/generators/active_admin/page/page_generator.rb +2 -1
  281. data/lib/generators/active_admin/page/templates/page.rb +1 -0
  282. data/lib/generators/active_admin/resource/resource_generator.rb +5 -4
  283. data/lib/generators/active_admin/resource/templates/admin.rb.erb +40 -37
  284. data/lib/generators/active_admin/webpacker/plugins/jquery.js +7 -0
  285. data/lib/generators/active_admin/webpacker/templates/active_admin.js +5 -0
  286. data/lib/generators/active_admin/webpacker/templates/active_admin.scss +17 -0
  287. data/lib/generators/active_admin/webpacker/templates/print.scss +2 -0
  288. data/lib/generators/active_admin/webpacker/webpacker_generator.rb +27 -0
  289. data/lib/ransack_ext.rb +10 -9
  290. data/vendor/assets/javascripts/jquery-ui/form-reset-mixin.js +80 -0
  291. data/vendor/assets/javascripts/jquery-ui/form.js +22 -0
  292. data/vendor/assets/javascripts/jquery-ui/labels.js +65 -0
  293. data/vendor/assets/javascripts/jquery-ui/widgets/checkboxradio.js +274 -283
  294. metadata +123 -595
  295. data/.github/ISSUE_TEMPLATE.md +0 -20
  296. data/.gitignore +0 -49
  297. data/.mdlrc +0 -1
  298. data/.rubocop.yml +0 -76
  299. data/.simplecov +0 -13
  300. data/.travis.yml +0 -51
  301. data/.yardopts +0 -7
  302. data/Gemfile +0 -58
  303. data/Rakefile +0 -54
  304. data/activeadmin.gemspec +0 -32
  305. data/app/assets/images/active_admin/nested_menu_arrow.gif +0 -0
  306. data/app/assets/images/active_admin/nested_menu_arrow_dark.gif +0 -0
  307. data/app/assets/images/active_admin/orderable.png +0 -0
  308. data/app/assets/javascripts/active_admin/base.js.coffee +0 -13
  309. data/app/assets/javascripts/active_admin/ext/jquery-ui.js.coffee +0 -6
  310. data/app/assets/javascripts/active_admin/ext/jquery.js.coffee +0 -7
  311. data/app/assets/javascripts/active_admin/initializers/batch_actions.js.coffee +0 -11
  312. data/app/assets/javascripts/active_admin/initializers/datepicker.js.coffee +0 -14
  313. data/app/assets/javascripts/active_admin/initializers/filters.js.coffee +0 -26
  314. data/app/assets/javascripts/active_admin/initializers/tabs.js.coffee +0 -7
  315. data/app/assets/javascripts/active_admin/lib/batch_actions.js.coffee +0 -42
  316. data/app/assets/javascripts/active_admin/lib/checkbox-toggler.js.coffee +0 -46
  317. data/app/assets/javascripts/active_admin/lib/dropdown-menu.js.coffee +0 -104
  318. data/app/assets/javascripts/active_admin/lib/flash.js.coffee +0 -19
  319. data/app/assets/javascripts/active_admin/lib/has_many.js.coffee +0 -79
  320. data/app/assets/javascripts/active_admin/lib/modal_dialog.js.coffee +0 -45
  321. data/app/assets/javascripts/active_admin/lib/per_page.js.coffee +0 -46
  322. data/app/assets/javascripts/active_admin/lib/table-checkbox-toggler.js.coffee +0 -22
  323. data/codecov.yml +0 -25
  324. data/config/i18n-tasks.yml +0 -26
  325. data/config/mdl_style.rb +0 -9
  326. data/cucumber.yml +0 -3
  327. data/docs/0-installation.md +0 -118
  328. data/docs/1-general-configuration.md +0 -189
  329. data/docs/10-custom-pages.md +0 -136
  330. data/docs/11-decorators.md +0 -59
  331. data/docs/12-arbre-components.md +0 -174
  332. data/docs/13-authorization-adapter.md +0 -266
  333. data/docs/14-gotchas.md +0 -138
  334. data/docs/2-resource-customization.md +0 -461
  335. data/docs/3-index-pages/custom-index.md +0 -35
  336. data/docs/3-index-pages/index-as-block.md +0 -19
  337. data/docs/3-index-pages/index-as-blog.md +0 -69
  338. data/docs/3-index-pages/index-as-grid.md +0 -27
  339. data/docs/3-index-pages/index-as-table.md +0 -227
  340. data/docs/3-index-pages.md +0 -311
  341. data/docs/4-csv-format.md +0 -74
  342. data/docs/5-forms.md +0 -218
  343. data/docs/6-show-pages.md +0 -81
  344. data/docs/7-sidebars.md +0 -75
  345. data/docs/8-custom-actions.md +0 -166
  346. data/docs/9-batch-actions.md +0 -237
  347. data/docs/CNAME +0 -1
  348. data/docs/Gemfile +0 -2
  349. data/docs/README.md +0 -24
  350. data/docs/_config.yml +0 -2
  351. data/docs/_includes/footer.html +0 -8
  352. data/docs/_includes/google-analytics.html +0 -16
  353. data/docs/_includes/head.html +0 -7
  354. data/docs/_includes/toc.html +0 -98
  355. data/docs/_includes/top-menu.html +0 -9
  356. data/docs/_layouts/default.html +0 -21
  357. data/docs/documentation.md +0 -60
  358. data/docs/images/activeadmin.png +0 -0
  359. data/docs/images/code-header.png +0 -0
  360. data/docs/images/divider.png +0 -0
  361. data/docs/images/features.png +0 -0
  362. data/docs/index.html +0 -125
  363. data/docs/stylesheets/main.css +0 -1152
  364. data/features/action_item.feature +0 -73
  365. data/features/authorization.feature +0 -64
  366. data/features/authorization_cancan.feature +0 -52
  367. data/features/authorization_pundit.feature +0 -37
  368. data/features/belongs_to.feature +0 -124
  369. data/features/breadcrumb.feature +0 -75
  370. data/features/comments/commenting.feature +0 -178
  371. data/features/comments/viewing_index.feature +0 -19
  372. data/features/create_another.feature +0 -55
  373. data/features/dashboard.feature +0 -16
  374. data/features/decorators.feature +0 -43
  375. data/features/development_reloading.feature +0 -28
  376. data/features/edit_page.feature +0 -116
  377. data/features/favicon.feature +0 -20
  378. data/features/first_boot.feature +0 -16
  379. data/features/footer.feature +0 -28
  380. data/features/global_navigation.feature +0 -29
  381. data/features/i18n.feature +0 -55
  382. data/features/index/batch_actions.feature +0 -218
  383. data/features/index/filters.feature +0 -239
  384. data/features/index/format_as_csv.feature +0 -220
  385. data/features/index/formats.feature +0 -88
  386. data/features/index/index_as_block.feature +0 -15
  387. data/features/index/index_as_blog.feature +0 -69
  388. data/features/index/index_as_grid.feature +0 -45
  389. data/features/index/index_as_table.feature +0 -291
  390. data/features/index/index_blank_slate.feature +0 -83
  391. data/features/index/index_parameters.feature +0 -75
  392. data/features/index/index_scope_to.feature +0 -56
  393. data/features/index/index_scopes.feature +0 -285
  394. data/features/index/page_title.feature +0 -41
  395. data/features/index/pagination.feature +0 -63
  396. data/features/index/switch_index_view.feature +0 -73
  397. data/features/menu.feature +0 -72
  398. data/features/meta_tags.feature +0 -21
  399. data/features/new_page.feature +0 -107
  400. data/features/registering_assets.feature +0 -38
  401. data/features/registering_pages.feature +0 -237
  402. data/features/registering_resources.feature +0 -33
  403. data/features/renamed_resource.feature +0 -30
  404. data/features/root_to.feature +0 -17
  405. data/features/show/attributes_table_title.feature +0 -54
  406. data/features/show/columns.feature +0 -40
  407. data/features/show/default_content.feature +0 -44
  408. data/features/show/page_title.feature +0 -58
  409. data/features/show/tabs.feature +0 -33
  410. data/features/sidebar_sections.feature +0 -210
  411. data/features/site_title.feature +0 -47
  412. data/features/specifying_actions.feature +0 -118
  413. data/features/step_definitions/action_item_steps.rb +0 -7
  414. data/features/step_definitions/action_link_steps.rb +0 -19
  415. data/features/step_definitions/additional_web_steps.rb +0 -81
  416. data/features/step_definitions/asset_steps.rb +0 -15
  417. data/features/step_definitions/attribute_steps.rb +0 -18
  418. data/features/step_definitions/attributes_table_title_steps.rb +0 -11
  419. data/features/step_definitions/batch_action_steps.rb +0 -81
  420. data/features/step_definitions/blog_steps.rb +0 -3
  421. data/features/step_definitions/breadcrumb_steps.rb +0 -3
  422. data/features/step_definitions/column_steps.rb +0 -8
  423. data/features/step_definitions/comment_steps.rb +0 -32
  424. data/features/step_definitions/configuration_steps.rb +0 -100
  425. data/features/step_definitions/dashboard_steps.rb +0 -15
  426. data/features/step_definitions/factory_steps.rb +0 -35
  427. data/features/step_definitions/filter_steps.rb +0 -48
  428. data/features/step_definitions/flash_steps.rb +0 -11
  429. data/features/step_definitions/footer_steps.rb +0 -11
  430. data/features/step_definitions/format_steps.rb +0 -56
  431. data/features/step_definitions/i18n_steps.rb +0 -11
  432. data/features/step_definitions/index_scope_steps.rb +0 -29
  433. data/features/step_definitions/index_views_steps.rb +0 -3
  434. data/features/step_definitions/layout_steps.rb +0 -3
  435. data/features/step_definitions/member_link_steps.rb +0 -7
  436. data/features/step_definitions/menu_steps.rb +0 -11
  437. data/features/step_definitions/meta_tag_steps.rb +0 -3
  438. data/features/step_definitions/pagination_steps.rb +0 -15
  439. data/features/step_definitions/sidebar_steps.rb +0 -11
  440. data/features/step_definitions/site_title_steps.rb +0 -17
  441. data/features/step_definitions/tab_steps.rb +0 -8
  442. data/features/step_definitions/table_steps.rb +0 -116
  443. data/features/step_definitions/user_steps.rb +0 -52
  444. data/features/step_definitions/web_steps.rb +0 -86
  445. data/features/sti_resource.feature +0 -65
  446. data/features/strong_parameters.feature +0 -69
  447. data/features/support/env.rb +0 -122
  448. data/features/support/paths.rb +0 -73
  449. data/features/support/regular_env.rb +0 -7
  450. data/features/support/reload_env.rb +0 -7
  451. data/features/support/selectors.rb +0 -45
  452. data/features/users/logging_in.feature +0 -36
  453. data/features/users/logging_out.feature +0 -13
  454. data/features/users/resetting_password.feature +0 -34
  455. data/gemfiles/rails_42.gemfile +0 -10
  456. data/gemfiles/rails_50.gemfile +0 -10
  457. data/gemfiles/rails_51.gemfile +0 -10
  458. data/lib/active_admin/event.rb +0 -24
  459. data/lib/active_admin/helpers/settings.rb +0 -114
  460. data/lib/active_admin/reloader.rb +0 -25
  461. data/lib/bug_report_templates/active_admin_master.rb +0 -113
  462. data/lib/generators/active_admin/assets/templates/active_admin.js.coffee +0 -1
  463. data/spec/bug_report_templates_spec.rb +0 -26
  464. data/spec/javascripts/coffeescripts/jquery.aa.checkbox-toggler-spec.js.coffee +0 -50
  465. data/spec/javascripts/coffeescripts/jquery.aa.flash.js.coffee +0 -25
  466. data/spec/javascripts/coffeescripts/jquery.aa.table-checkbox-toggler-spec.js.coffee +0 -34
  467. data/spec/javascripts/fixtures/checkboxes.html +0 -9
  468. data/spec/javascripts/fixtures/flashes.html +0 -2
  469. data/spec/javascripts/fixtures/table_checkboxes.html +0 -17
  470. data/spec/javascripts/helpers/SpecHelper.js +0 -3
  471. data/spec/javascripts/support/jasmine.yml +0 -74
  472. data/spec/javascripts/support/jasmine_runner.rb +0 -19
  473. data/spec/rails_helper.rb +0 -59
  474. data/spec/requests/default_namespace_spec.rb +0 -81
  475. data/spec/requests/memory_spec.rb +0 -25
  476. data/spec/requests/stylesheets_spec.rb +0 -18
  477. data/spec/spec_helper.rb +0 -1
  478. data/spec/support/active_admin_integration_spec_helper.rb +0 -73
  479. data/spec/support/active_admin_request_helpers.rb +0 -39
  480. data/spec/support/rails_template.rb +0 -150
  481. data/spec/support/rails_template_with_data.rb +0 -327
  482. data/spec/support/templates/admin/stores.rb +0 -7
  483. data/spec/support/templates/en.yml +0 -8
  484. data/spec/support/templates/manifest.js +0 -3
  485. data/spec/support/templates/policies/active_admin/comment_policy.rb +0 -9
  486. data/spec/support/templates/policies/active_admin/page_policy.rb +0 -18
  487. data/spec/support/templates/policies/admin_user_policy.rb +0 -11
  488. data/spec/support/templates/policies/application_policy.rb +0 -44
  489. data/spec/support/templates/policies/category_policy.rb +0 -7
  490. data/spec/support/templates/policies/post_policy.rb +0 -15
  491. data/spec/support/templates/policies/store_policy.rb +0 -11
  492. data/spec/support/templates/policies/user_policy.rb +0 -11
  493. data/spec/support/templates/post_decorator.rb +0 -10
  494. data/spec/unit/abstract_view_factory_spec.rb +0 -78
  495. data/spec/unit/action_builder_spec.rb +0 -125
  496. data/spec/unit/active_admin_spec.rb +0 -11
  497. data/spec/unit/application_spec.rb +0 -184
  498. data/spec/unit/asset_registration_spec.rb +0 -81
  499. data/spec/unit/authorization/authorization_adapter_spec.rb +0 -61
  500. data/spec/unit/authorization/controller_authorization_spec.rb +0 -43
  501. data/spec/unit/authorization/index_overriding_spec.rb +0 -23
  502. data/spec/unit/auto_link_spec.rb +0 -93
  503. data/spec/unit/batch_actions/resource_spec.rb +0 -84
  504. data/spec/unit/batch_actions/settings_spec.rb +0 -61
  505. data/spec/unit/belongs_to_spec.rb +0 -76
  506. data/spec/unit/cancan_adapter_spec.rb +0 -43
  507. data/spec/unit/comments_spec.rb +0 -176
  508. data/spec/unit/component_spec.rb +0 -18
  509. data/spec/unit/config_shared_examples.rb +0 -59
  510. data/spec/unit/controller_filters_spec.rb +0 -41
  511. data/spec/unit/csv_builder_spec.rb +0 -304
  512. data/spec/unit/dependency_spec.rb +0 -135
  513. data/spec/unit/devise_spec.rb +0 -110
  514. data/spec/unit/dsl_spec.rb +0 -120
  515. data/spec/unit/filters/active_filter_spec.rb +0 -135
  516. data/spec/unit/filters/active_spec.rb +0 -24
  517. data/spec/unit/filters/filter_form_builder_spec.rb +0 -502
  518. data/spec/unit/filters/resource_spec.rb +0 -128
  519. data/spec/unit/form_builder_spec.rb +0 -990
  520. data/spec/unit/generators/install_spec.rb +0 -31
  521. data/spec/unit/helpers/collection_spec.rb +0 -68
  522. data/spec/unit/helpers/scope_chain_spec.rb +0 -35
  523. data/spec/unit/helpers/settings_spec.rb +0 -30
  524. data/spec/unit/i18n_spec.rb +0 -29
  525. data/spec/unit/localizers/resource_localizer_spec.rb +0 -36
  526. data/spec/unit/menu_collection_spec.rb +0 -62
  527. data/spec/unit/menu_item_spec.rb +0 -141
  528. data/spec/unit/menu_spec.rb +0 -71
  529. data/spec/unit/namespace/authorization_spec.rb +0 -27
  530. data/spec/unit/namespace/register_page_spec.rb +0 -99
  531. data/spec/unit/namespace/register_resource_spec.rb +0 -162
  532. data/spec/unit/namespace_spec.rb +0 -124
  533. data/spec/unit/order_clause_spec.rb +0 -81
  534. data/spec/unit/page_controller_spec.rb +0 -5
  535. data/spec/unit/page_spec.rb +0 -128
  536. data/spec/unit/pretty_format_spec.rb +0 -82
  537. data/spec/unit/pundit_adapter_spec.rb +0 -98
  538. data/spec/unit/resource/action_items_spec.rb +0 -69
  539. data/spec/unit/resource/attributes_spec.rb +0 -49
  540. data/spec/unit/resource/includes_spec.rb +0 -21
  541. data/spec/unit/resource/menu_spec.rb +0 -18
  542. data/spec/unit/resource/naming_spec.rb +0 -122
  543. data/spec/unit/resource/ordering_spec.rb +0 -35
  544. data/spec/unit/resource/page_presenters_spec.rb +0 -44
  545. data/spec/unit/resource/pagination_spec.rb +0 -38
  546. data/spec/unit/resource/routes_spec.rb +0 -125
  547. data/spec/unit/resource/scopes_spec.rb +0 -50
  548. data/spec/unit/resource/sidebars_spec.rb +0 -43
  549. data/spec/unit/resource_collection_spec.rb +0 -175
  550. data/spec/unit/resource_controller/data_access_spec.rb +0 -230
  551. data/spec/unit/resource_controller/decorators_spec.rb +0 -94
  552. data/spec/unit/resource_controller/sidebars_spec.rb +0 -37
  553. data/spec/unit/resource_controller_spec.rb +0 -273
  554. data/spec/unit/resource_registration_spec.rb +0 -61
  555. data/spec/unit/resource_spec.rb +0 -320
  556. data/spec/unit/routing_spec.rb +0 -211
  557. data/spec/unit/scope_spec.rb +0 -209
  558. data/spec/unit/settings_spec.rb +0 -117
  559. data/spec/unit/view_factory_spec.rb +0 -19
  560. data/spec/unit/view_helpers/breadcrumbs_spec.rb +0 -252
  561. data/spec/unit/view_helpers/display_helper_spec.rb +0 -195
  562. data/spec/unit/view_helpers/download_format_links_helper_spec.rb +0 -39
  563. data/spec/unit/view_helpers/fields_for_spec.rb +0 -50
  564. data/spec/unit/view_helpers/flash_helper_spec.rb +0 -24
  565. data/spec/unit/view_helpers/form_helper_spec.rb +0 -42
  566. data/spec/unit/view_helpers/method_or_proc_helper_spec.rb +0 -138
  567. data/spec/unit/views/components/attributes_table_spec.rb +0 -271
  568. data/spec/unit/views/components/batch_action_selector_spec.rb +0 -43
  569. data/spec/unit/views/components/blank_slate_spec.rb +0 -27
  570. data/spec/unit/views/components/columns_spec.rb +0 -187
  571. data/spec/unit/views/components/index_list_spec.rb +0 -49
  572. data/spec/unit/views/components/index_table_for_spec.rb +0 -127
  573. data/spec/unit/views/components/paginated_collection_spec.rb +0 -249
  574. data/spec/unit/views/components/panel_spec.rb +0 -58
  575. data/spec/unit/views/components/sidebar_section_spec.rb +0 -68
  576. data/spec/unit/views/components/site_title_spec.rb +0 -76
  577. data/spec/unit/views/components/status_tag_spec.rb +0 -265
  578. data/spec/unit/views/components/table_for_spec.rb +0 -436
  579. data/spec/unit/views/components/tabs_spec.rb +0 -67
  580. data/spec/unit/views/components/unsupported_browser_spec.rb +0 -41
  581. data/spec/unit/views/index_as_blog_spec.rb +0 -76
  582. data/spec/unit/views/pages/form_spec.rb +0 -54
  583. data/spec/unit/views/pages/index_spec.rb +0 -60
  584. data/spec/unit/views/pages/layout_spec.rb +0 -59
  585. data/spec/unit/views/pages/show_spec.rb +0 -32
  586. data/spec/unit/views/tabbed_navigation_spec.rb +0 -158
  587. data/tasks/docs.rake +0 -64
  588. data/tasks/lint.rake +0 -21
  589. data/tasks/local.rake +0 -25
  590. data/tasks/parallel_tests.rake +0 -66
  591. data/tasks/test.rake +0 -29
  592. /data/lib/generators/active_admin/install/templates/{admin_user.rb.erb → admin_users.rb.erb} +0 -0
@@ -1,210 +0,0 @@
1
- Feature: Sidebar Sections
2
-
3
- Creating and Configuring sidebar sections
4
-
5
- Background:
6
- Given I am logged in
7
- And a post with the title "Hello World" exists
8
-
9
- Scenario: Create a sidebar for all actions
10
- Given a configuration of:
11
- """
12
- ActiveAdmin.register Post do
13
- sidebar :help do
14
- "Need help? Email us at help@example.com"
15
- end
16
- end
17
- """
18
- When I am on the index page for posts
19
- Then I should see a sidebar titled "Help"
20
- Then I should see "Need help" within the "Help" sidebar
21
-
22
- When I follow "View"
23
- Then I should see a sidebar titled "Help"
24
-
25
- When I follow "Edit Post"
26
- Then I should see a sidebar titled "Help"
27
-
28
- When I am on the index page for posts
29
- When I follow "New Post"
30
- Then I should see a sidebar titled "Help"
31
-
32
-
33
- Scenario: Create a sidebar for only one action
34
- Given a configuration of:
35
- """
36
- ActiveAdmin.register Post do
37
- sidebar :help, only: :index do
38
- "Need help? Email us at help@example.com"
39
- end
40
- end
41
- """
42
- When I am on the index page for posts
43
- Then I should see a sidebar titled "Help"
44
- Then I should see "Need help" within the "Help" sidebar
45
-
46
- When I follow "View"
47
- Then I should not see a sidebar titled "Help"
48
-
49
- When I follow "Edit Post"
50
- Then I should not see a sidebar titled "Help"
51
-
52
- When I am on the index page for posts
53
- When I follow "New Post"
54
- Then I should not see a sidebar titled "Help"
55
-
56
-
57
- Scenario: Create a sidebar for all except one action
58
- Given a configuration of:
59
- """
60
- ActiveAdmin.register Post do
61
- sidebar :help, except: :index do
62
- "Need help? Email us at help@example.com"
63
- end
64
- end
65
- """
66
- When I am on the index page for posts
67
- Then I should not see a sidebar titled "Help"
68
-
69
- When I follow "View"
70
- Then I should see a sidebar titled "Help"
71
-
72
- When I follow "Edit Post"
73
- Then I should see a sidebar titled "Help"
74
-
75
- When I am on the index page for posts
76
- When I follow "New Post"
77
- Then I should see a sidebar titled "Help"
78
-
79
- Scenario: Create a sidebar for only one action with if clause that returns false
80
- Given a configuration of:
81
- """
82
- ActiveAdmin.register Post do
83
- sidebar :help, only: :index, if: proc{ current_active_admin_user.nil? } do
84
- "Need help? Email us at help@example.com"
85
- end
86
- end
87
- """
88
- When I am on the index page for posts
89
- Then I should not see a sidebar titled "Help"
90
-
91
- When I follow "View"
92
- Then I should not see a sidebar titled "Help"
93
-
94
- When I follow "Edit Post"
95
- Then I should not see a sidebar titled "Help"
96
-
97
- When I am on the index page for posts
98
- When I follow "New Post"
99
- Then I should not see a sidebar titled "Help"
100
-
101
- Scenario: Create a sidebar for only one action with if clause with method symbol
102
- Given a configuration of:
103
- """
104
- module SidebarHelper
105
- def can_sidebar?; false; end
106
- end
107
- ActiveAdmin.register Post do
108
- controller { helper SidebarHelper }
109
- sidebar :help, only: :index, if: :can_sidebar? do
110
- "Need help? Email us at help@example.com"
111
- end
112
- end
113
- """
114
- When I am on the index page for posts
115
- Then I should not see a sidebar titled "Help"
116
-
117
- When I follow "View"
118
- Then I should not see a sidebar titled "Help"
119
-
120
- When I follow "Edit Post"
121
- Then I should not see a sidebar titled "Help"
122
-
123
- When I am on the index page for posts
124
- When I follow "New Post"
125
- Then I should not see a sidebar titled "Help"
126
-
127
- Scenario: Create a sidebar for only one action with if clause that returns true
128
- Given a configuration of:
129
- """
130
- ActiveAdmin.register Post do
131
- sidebar :help, only: :show, if: proc{ !current_active_admin_user.nil? } do
132
- "Need help? Email us at help@example.com"
133
- end
134
- end
135
- """
136
- When I am on the index page for posts
137
- Then I should not see a sidebar titled "Help"
138
-
139
- When I follow "View"
140
- Then I should see a sidebar titled "Help"
141
- Then I should see "Need help" within the "Help" sidebar
142
-
143
- When I follow "Edit Post"
144
- Then I should not see a sidebar titled "Help"
145
-
146
- When I am on the index page for posts
147
- When I follow "New Post"
148
- Then I should not see a sidebar titled "Help"
149
-
150
- Scenario: Create a sidebar with deep content
151
- Given a configuration of:
152
- """
153
- ActiveAdmin.register Post do
154
- sidebar :help do
155
- ul do
156
- li "First List First Item"
157
- li "First List Second Item"
158
- end
159
- ul do
160
- li "Second List First Item"
161
- li "Second List Second Item"
162
- end
163
- end
164
- end
165
- """
166
- When I am on the index page for posts
167
- Then I should see a sidebar titled "Help"
168
- And I should see "First List First Item" within the "Help" sidebar
169
- And I should see "Second List Second Item" within the "Help" sidebar
170
-
171
- Scenario: Rendering sidebar by default without a block or partial name
172
- Given "app/views/admin/posts/_help_sidebar.html.erb" contains:
173
- """
174
- <p>Hello World from a partial</p>
175
- """
176
- Given a configuration of:
177
- """
178
- ActiveAdmin.register Post do
179
- sidebar :help
180
- end
181
- """
182
- When I am on the index page for posts
183
- Then I should see "Hello World from a partial" within the "Help" sidebar
184
-
185
- Scenario: Rendering a partial as the sidebar content
186
- Given "app/views/admin/posts/_custom_help_partial.html.erb" contains:
187
- """
188
- <p>Hello World from a custom partial</p>
189
- """
190
- Given a configuration of:
191
- """
192
- ActiveAdmin.register Post do
193
- sidebar :help, partial: "custom_help_partial"
194
- end
195
- """
196
- When I am on the index page for posts
197
- Then I should see "Hello World from a custom partial" within the "Help" sidebar
198
-
199
-
200
- Scenario: Position sidebar at the top using priority option
201
- Given a configuration of:
202
- """
203
- ActiveAdmin.register Post do
204
- sidebar :help, priority: 0 do
205
- "Need help? Email us at help@example.com"
206
- end
207
- end
208
- """
209
- When I am on the index page for posts
210
- Then I should see a sidebar titled "Help" above sidebar titled "Filters"
@@ -1,47 +0,0 @@
1
- Feature: Site title
2
-
3
- As a developer
4
- In order to customize the site title
5
- I want to set it in the configuration
6
-
7
- Background:
8
- Given I am logged in
9
-
10
- Scenario: Set the site title and site title link
11
- Given a configuration of:
12
- """
13
- ActiveAdmin.application.site_title = "My Great Site"
14
- ActiveAdmin.application.site_title_link = "/admin"
15
- """
16
- When I am on the dashboard
17
- And I should see the site title "My Great Site"
18
- When I follow "My Great Site"
19
- Then I should see the site title "My Great Site"
20
-
21
- Scenario: Set the site title image
22
- Given a configuration of:
23
- """
24
- ActiveAdmin.application.site_title_image = "http://railscasts.com/assets/episodes/stills/284-active-admin.png?1316476106"
25
- """
26
- When I am on the dashboard
27
- And I should not see the site title "My Great Site"
28
- And I should see the site title image "http://railscasts.com/assets/episodes/stills/284-active-admin.png?1316476106"
29
-
30
- Scenario: Set the site title image with link
31
- Given a configuration of:
32
- """
33
- ActiveAdmin.application.site_title_link = "http://www.google.com"
34
- ActiveAdmin.application.site_title_image = "http://railscasts.com/assets/episodes/stills/284-active-admin.png?1316476106"
35
- """
36
- When I am on the dashboard
37
- And I should see the site title image "http://railscasts.com/assets/episodes/stills/284-active-admin.png?1316476106"
38
- And I should see the site title image linked to "http://www.google.com"
39
-
40
- Scenario: Set the site title to a proc
41
- Given a configuration of:
42
- """
43
- ActiveAdmin.application.site_title_image = nil # Configuration is not reset between scenarios
44
- ActiveAdmin.application.site_title = proc { "Hello #{controller.current_admin_user.try(:email) || 'you!'}" }
45
- """
46
- When I am on the dashboard
47
- And I should see the site title "Hello admin@example.com"
@@ -1,118 +0,0 @@
1
- Feature: Specifying Actions
2
-
3
- Specifying which actions to allow on my resource
4
-
5
- Scenario: Only creating the index action
6
- Given a configuration of:
7
- """
8
- ActiveAdmin.register Post do
9
- actions :index
10
- index do
11
- column do |post|
12
- link_to "View", "/admin/posts/1"
13
- end
14
- end
15
- end
16
- """
17
- And I am logged in
18
- And a post with the title "Hello World" exists
19
- When I am on the index page for posts
20
- Then an "ActionController::RoutingError" exception should be raised when I follow "View"
21
-
22
- Scenario: Specify a custom collection action with template
23
- Given a configuration of:
24
- """
25
- ActiveAdmin.register Post do
26
- action_item(:import, only: :index) do
27
- link_to('Import Posts', import_admin_posts_path)
28
- end
29
-
30
- collection_action :import
31
- end
32
- """
33
- Given "app/views/admin/posts/import.html.arb" contains:
34
- """
35
- para "We are currently working on this feature..."
36
- """
37
- And I am logged in
38
- When I am on the index page for posts
39
- And I follow "Import"
40
- Then I should see "We are currently working on this feature"
41
-
42
- Scenario: Specify a custom member action with template
43
- Given a configuration of:
44
- """
45
- ActiveAdmin.register Post do
46
- action_item(:review, only: :show) do
47
- link_to('Review', review_admin_post_path)
48
- end
49
-
50
- member_action :review do
51
- @post = Post.find(params[:id])
52
- end
53
- end
54
- """
55
- Given "app/views/admin/posts/review.html.erb" contains:
56
- """
57
- <h1>Review: <%= @post.title %></h1>
58
- """
59
- And I am logged in
60
- And a post with the title "Hello World" exists
61
- When I am on the index page for posts
62
- And I follow "View"
63
- And I follow "Review"
64
- Then I should see "Review: Hello World"
65
- And I should see the page title "Review"
66
- And I should see the Active Admin layout
67
-
68
- Scenario: Specify a custom member action with template using arb
69
- Given a configuration of:
70
- """
71
- ActiveAdmin.register Post do
72
- action_item(:review, only: :show) do
73
- link_to('Review', review_admin_post_path)
74
- end
75
-
76
- member_action :review do
77
- @post = Post.find(params[:id])
78
- end
79
- end
80
- """
81
- Given "app/views/admin/posts/review.html.arb" contains:
82
- """
83
- h1 "Review: #{post.title}"
84
- """
85
- And I am logged in
86
- And a post with the title "Hello World" exists
87
- When I am on the index page for posts
88
- And I follow "View"
89
- And I follow "Review"
90
- Then I should see "Review: Hello World"
91
- And I should see the page title "Review"
92
- And I should see the Active Admin layout
93
-
94
- Scenario: Specify a custom member action with multiple http methods
95
- Given a configuration of:
96
- """
97
- ActiveAdmin.register Post do
98
- action_item(:get_check, only: :show) do
99
- link_to('Get Check', check_admin_post_path)
100
- end
101
-
102
- action_item(:post_check, only: :show) do
103
- link_to('Post Check', check_admin_post_path, method: :post)
104
- end
105
-
106
- member_action :check, method: [:get, :post] do
107
- redirect_to admin_post_path(resource), notice: "Checked via #{request.method}"
108
- end
109
- end
110
- """
111
- And I am logged in
112
- And a post with the title "Hello World" exists
113
- When I am on the index page for posts
114
- And I follow "View"
115
- And I follow "Get Check"
116
- Then I should see "Checked via GET"
117
- When I follow "Post Check"
118
- Then I should see "Checked via POST"
@@ -1,7 +0,0 @@
1
- Then /^I should see an action item link to "([^"]*)"$/ do |link|
2
- expect(page).to have_css('.action_item a', text: link)
3
- end
4
-
5
- Then /^I should not see an action item link to "([^"]*)"$/ do |link|
6
- expect(page).to_not have_css('.action_item a', text: link)
7
- end
@@ -1,19 +0,0 @@
1
- Then /^I should see a member link to "([^"]*)"$/ do |name|
2
- expect(page).to have_css('a.member_link', text: name)
3
- end
4
-
5
- Then /^I should not see a member link to "([^"]*)"$/ do |name|
6
- %{Then I should not see "#{name}" within "a.member_link"}
7
- end
8
-
9
- Then /^I should see the actions column with the class "([^"]*)" and the title "([^"]*)"$/ do |klass, title|
10
- expect(page).to have_css "th#{'.'+klass}", text: title
11
- end
12
-
13
- Then /^I should see a dropdown menu item to "([^"]*)"$/ do |name|
14
- expect(page).to have_css('ul.dropdown_menu_list li a', text: name)
15
- end
16
-
17
- Then /^I should not see a dropdown menu item to "([^"]*)"$/ do |name|
18
- %{Then I should not see "#{name}" within "ul.dropdown_menu_list li a"}
19
- end
@@ -1,81 +0,0 @@
1
- Then /^I should see a table header with "([^"]*)"$/ do |content|
2
- expect(page).to have_xpath '//th', text: content
3
- end
4
-
5
- Then /^I should not see a table header with "([^"]*)"$/ do |content|
6
- expect(page).to_not have_xpath '//th', text: content
7
- end
8
-
9
- Then /^I should see a sortable table header with "([^"]*)"$/ do |content|
10
- expect(page).to have_css 'th.sortable', text: content
11
- end
12
-
13
- Then /^I should not see a sortable table header with "([^"]*)"$/ do |content|
14
- expect(page).to_not have_css 'th.sortable', text: content
15
- end
16
-
17
- Then /^I should not see a sortable table header$/ do
18
- step %{I should not see "th.sortable"}
19
- end
20
-
21
- Then /^the table "([^"]*)" should have (\d+) rows/ do |selector, count|
22
- trs = page.find(selector).all :css, 'tr'
23
- expect(trs.size).to eq count.to_i
24
- end
25
-
26
- Then /^the table "([^"]*)" should have (\d+) columns/ do |selector, count|
27
- tds = page.find(selector).find('tr:first').all :css, 'td'
28
- expect(tds.size).to eq count.to_i
29
- end
30
-
31
- Then /^there should be (\d+) "([^"]*)" tags$/ do |count, tag|
32
- expect(page.all(:css, tag).size).to eq count.to_i
33
- end
34
-
35
- Then /^I should see a link to "([^"]*)"$/ do |link|
36
- expect(page).to have_xpath '//a', text: link
37
- end
38
-
39
- Then /^an "([^"]*)" exception should be raised when I follow "([^"]*)"$/ do |error, link|
40
- expect {
41
- step "I follow \"#{link}\""
42
- }.to raise_error(error.constantize)
43
- end
44
-
45
- Then /^I should be in the resource section for (.+)$/ do |resource_name|
46
- expect(current_url).to include resource_name.tr(' ', '').underscore.pluralize
47
- end
48
-
49
- Then /^I should wait and see "([^"]*)"(?: within "([^"]*)")?$/ do |text, selector|
50
- sleep 1
51
- step 'show me the page'
52
- selector ||= "*"
53
- locate(:xpath, "//#{selector}[text()='#{text}']")
54
- end
55
-
56
- Then /^I should see the page title "([^"]*)"$/ do |title|
57
- within('h2#page_title') do
58
- expect(page).to have_content title
59
- end
60
- end
61
-
62
- Then /^I should see a fieldset titled "([^"]*)"$/ do |title|
63
- expect(page).to have_css 'fieldset legend', text: title
64
- end
65
-
66
- Then /^the "([^"]*)" field should contain the option "([^"]*)"$/ do |field, option|
67
- field = find_field(field)
68
- expect(field).to have_css 'option', text: option
69
- end
70
-
71
- Then /^I should see the content "([^"]*)"$/ do |content|
72
- expect(page).to have_css '#active_admin_content', text: content
73
- end
74
-
75
- Then /^I should see a validation error "([^"]*)"$/ do |error_message|
76
- expect(page).to have_css '.inline-errors', text: error_message
77
- end
78
-
79
- Then /^I should see a table with id "([^"]*)"$/ do |dom_id|
80
- page.find("table##{dom_id}")
81
- end
@@ -1,15 +0,0 @@
1
- Then /^I should see the css file "([^"]*)"$/ do |path|
2
- step %{I should see the css file "#{path}" of media "screen"}
3
- end
4
-
5
- Then /^I should see the css file "([^"]*)" of media "([^"]*)"$/ do |path, media|
6
- expect(page).to have_xpath("//link[contains(@href, '#{path}') and contains(@media, '#{media}')]", visible: false)
7
- end
8
-
9
- Then /^I should see the js file "([^"]*)"$/ do |path|
10
- expect(page).to have_xpath("//script[contains(@src, '#{path}')]", visible: false)
11
- end
12
-
13
- Then /^I should see the favicon "([^"]*)"$/ do |path|
14
- expect(page).to have_xpath("//link[contains(@href, '#{path}')]", visible: false)
15
- end
@@ -1,18 +0,0 @@
1
- Then /^I should see the attribute "([^"]*)" with "([^"]*)"$/ do |title, value|
2
- elems = all ".attributes_table th:contains('#{title}') ~ td:contains('#{value}')"
3
- expect(elems.first).to_not eq(nil), "attribute missing"
4
- end
5
-
6
- Then /^I should see the attribute "([^"]*)" with a nicely formatted datetime$/ do |title|
7
- text = all(".attributes_table th:contains('#{title}') ~ td").first.text
8
- expect(text).to match /\w+ \d{1,2}, \d{4} \d{2}:\d{2}/
9
- end
10
-
11
- Then /^the attribute "([^"]*)" should be empty$/ do |title|
12
- elems = all ".attributes_table th:contains('#{title}') ~ td > span.empty"
13
- expect(elems.first).to_not eq(nil), 'attribute not empty'
14
- end
15
-
16
- Then /^I should not see the attribute "([^"]*)"$/ do |title|
17
- expect(page).to_not have_css '.attributes_table th', text: title
18
- end
@@ -1,11 +0,0 @@
1
- Then /^I should see the panel title "([^"]*)"$/ do |title|
2
- expect(page).to have_css '.panel > h3', text: title
3
- end
4
-
5
- Then /^I should not see the panel title "([^"]*)"$/ do |title|
6
- expect(page).to_not have_css '.panel > h3', text: title
7
- end
8
-
9
- Then /^I should see the attributes table$/ do
10
- expect(page).to have_css '.panel .attributes_table'
11
- end
@@ -1,81 +0,0 @@
1
- Then /^I (should|should not) be asked to confirm "([^"]*)" for "([^"]*)"$/ do |maybe, confirmation, title|
2
- selector = "#batch_actions_popover a.batch_action:contains('#{title}')"
3
- selector << "[data-confirm='#{confirmation}']" if maybe == 'should'
4
-
5
- verb = maybe == 'should' ? :to : :to_not
6
- expect(page).send verb, have_css(selector)
7
- end
8
-
9
- Then /^I (should|should not) see the batch action :([^\s]*) "([^"]*)"$/ do |maybe, sym, title|
10
- selector = ".batch_actions_selector a.batch_action"
11
- selector << "[href='#'][data-action='#{sym}']" if maybe == 'should'
12
-
13
- verb = maybe == 'should' ? :to : :to_not
14
- expect(page).send verb, have_css(selector, text: title)
15
- end
16
-
17
- Then /^the (\d+)(?:st|nd|rd|th) batch action should be "([^"]*)"$/ do |index, title|
18
- batch_action = page.all('.batch_actions_selector a.batch_action')[index.to_i - 1]
19
- expect(batch_action.text).to match title
20
- end
21
-
22
- When /^I check the (\d+)(?:st|nd|rd|th) record$/ do |index|
23
- page.all("table.index_table input[type=checkbox]")[index.to_i].set true
24
- end
25
-
26
- When /^I toggle the collection selection$/ do
27
- page.find("#collection_selection_toggle_all").click
28
- end
29
-
30
- Then /^I should see that the batch action button is disabled$/ do
31
- expect(page).to have_css ".batch_actions_selector .dropdown_menu_button.disabled"
32
- end
33
-
34
- Then /^I (should|should not) see the batch action (button|selector)$/ do |maybe, type|
35
- selector = "div.table_tools .batch_actions_selector"
36
- selector << ' .dropdown_menu_button' if maybe == 'should' && type == 'button'
37
-
38
- verb = maybe == 'should' ? :to : :to_not
39
- expect(page).send verb, have_css(selector)
40
- end
41
-
42
- Then /^I should see the batch action popover exists$/ do
43
- expect(page).to have_css '.batch_actions_selector'
44
- end
45
-
46
- Given /^I submit the batch action form with "([^"]*)"$/ do |action|
47
- page.find("#batch_action", visible: false).set action
48
- form = page.find "#collection_selection"
49
- params = page.all("#main_content input", visible: false).each_with_object({}) do |input, obj|
50
- key, value = input['name'], input['value']
51
- if key == 'collection_selection[]'
52
- (obj[key] ||= []).push value if input.checked?
53
- else
54
- obj[key] = value
55
- end
56
- end
57
- page.driver.submit form['method'], form['action'], params
58
- end
59
-
60
- When /^I click "(.*?)" and accept confirmation$/ do |link|
61
- # Use this implementation instead if poltergeist ever implements it
62
- # page.driver.accept_modal(:confirm) { click_link(link) }
63
-
64
- click_link(link)
65
- expect(page).to have_content("Are you sure you want to delete these posts?")
66
- click_button("OK")
67
- end
68
-
69
- Then /^I should not see checkboxes in the table$/ do
70
- expect(page).to_not have_css '.paginated_collection table input[type=checkbox]'
71
- end
72
-
73
- Then /^I should be show a input with name "([^"]*)" and type "([^"]*)"$/ do |name, type|
74
- selector = ".batch_actions_selector a.batch_action:first"
75
- expect(page.find(selector)["data-inputs"]).to eq "{\"#{name}\":\"#{type}\"}"
76
- end
77
-
78
- Then /^I should be show a select with name "([^"]*)" with the values "([^"]*)"$/ do |name, values|
79
- selector = ".batch_actions_selector a.batch_action:first"
80
- expect(JSON[page.find(selector)["data-inputs"]]).to eq Hash[name, values.split(', ')]
81
- end
@@ -1,3 +0,0 @@
1
- Then /^I should see a blog header "([^"]*)"$/ do |header_text|
2
- expect(page).to have_css 'h3', text: header_text
3
- end
@@ -1,3 +0,0 @@
1
- Then /^I should see a link to "([^"]*)" in the breadcrumb$/ do |text|
2
- expect(page).to have_css '.breadcrumb > a', text: text
3
- end
@@ -1,8 +0,0 @@
1
- Then /^I should see a columns container$/ do
2
- expect(page).to have_css '.columns'
3
- end
4
-
5
- Then /^I should see (a|\d+) columns?$/ do |count|
6
- count = count == 'a' ? 1 : count.to_i
7
- expect(page).to have_css '.column', count: count
8
- end
@@ -1,32 +0,0 @@
1
- Then /^I should see a comment by "([^"]*)"$/ do |name|
2
- step %{I should see "#{name}" within ".active_admin_comment_author"}
3
- end
4
-
5
- When /^I add a comment "([^"]*)"$/ do |comment|
6
- step %{I fill in "active_admin_comment_body" with "#{comment}"}
7
- step %{I press "Add Comment"}
8
- end
9
-
10
- Given /^a tag with the name "([^"]*)" exists$/ do |tag_name|
11
- Tag.create(name: tag_name)
12
- end
13
-
14
- Given /^(a|\d+) comments added by admin with an email "([^"]+)"?$/ do |number, email|
15
- number = number == 'a' ? 1 : number.to_i
16
- admin_user = ensure_user_created(email)
17
-
18
- comment_text = 'Comment %i'
19
-
20
- number.times do |i|
21
- ActiveAdmin::Comment.create!(namespace: 'admin',
22
- body: comment_text % i,
23
- resource_type: Post.to_s,
24
- resource_id: Post.first.id,
25
- author_type: admin_user.class.to_s,
26
- author_id: admin_user.id)
27
- end
28
- end
29
-
30
- Then /^I should see (\d+) comments?$/ do |number|
31
- expect(page).to have_selector('div.active_admin_comment', count: number.to_i)
32
- end