activeadmin 1.3.0 → 2.0.0.rc1

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 (423) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +307 -123
  3. data/CODE_OF_CONDUCT.md +64 -12
  4. data/CONTRIBUTING.md +90 -46
  5. data/README.md +66 -19
  6. data/app/assets/javascripts/active_admin/base.es6 +23 -0
  7. data/app/assets/javascripts/active_admin/ext/jquery-ui.es6 +7 -0
  8. data/app/assets/javascripts/active_admin/ext/jquery.es6 +9 -0
  9. data/app/assets/javascripts/active_admin/initializers/datepicker.es6 +16 -0
  10. data/app/assets/javascripts/active_admin/initializers/filters.es6 +45 -0
  11. data/app/assets/javascripts/active_admin/initializers/tabs.es6 +6 -0
  12. data/app/assets/javascripts/active_admin/lib/active_admin.es6 +41 -0
  13. data/app/assets/javascripts/active_admin/lib/batch_actions.es6 +55 -0
  14. data/app/assets/javascripts/active_admin/lib/checkbox-toggler.es6 +49 -0
  15. data/app/assets/javascripts/active_admin/lib/dropdown-menu.es6 +123 -0
  16. data/app/assets/javascripts/active_admin/lib/has_many.es6 +95 -0
  17. data/app/assets/javascripts/active_admin/lib/modal_dialog.es6 +61 -0
  18. data/app/assets/javascripts/active_admin/lib/per_page.es6 +47 -0
  19. data/app/assets/javascripts/active_admin/lib/table-checkbox-toggler.es6 +36 -0
  20. data/app/assets/stylesheets/active_admin/_forms.scss +3 -15
  21. data/app/assets/stylesheets/active_admin/components/_scopes.scss +3 -0
  22. data/app/assets/stylesheets/active_admin/components/_status_tags.scss +0 -5
  23. data/app/assets/stylesheets/active_admin/components/_tabs.scss +1 -1
  24. data/app/assets/stylesheets/active_admin/mixins/_gradients.scss +1 -1
  25. data/app/views/active_admin/devise/confirmations/new.html.erb +2 -2
  26. data/app/views/active_admin/devise/passwords/edit.html.erb +2 -2
  27. data/app/views/active_admin/devise/passwords/new.html.erb +2 -2
  28. data/app/views/active_admin/devise/registrations/new.html.erb +2 -3
  29. data/app/views/active_admin/devise/sessions/new.html.erb +1 -1
  30. data/app/views/active_admin/devise/shared/_error_messages.html.erb +15 -0
  31. data/app/views/active_admin/devise/unlocks/new.html.erb +2 -2
  32. data/app/views/layouts/active_admin_logged_out.html.erb +2 -2
  33. data/config/locales/bg.yml +0 -1
  34. data/config/locales/de.yml +10 -0
  35. data/config/locales/en.yml +19 -1
  36. data/config/locales/es.yml +20 -1
  37. data/config/locales/fi.yml +1 -1
  38. data/config/locales/he.yml +0 -1
  39. data/config/locales/hu.yml +4 -0
  40. data/config/locales/it.yml +4 -0
  41. data/config/locales/lt.yml +2 -2
  42. data/config/locales/nb.yml +15 -5
  43. data/config/locales/nl.yml +11 -0
  44. data/config/locales/pl.yml +71 -3
  45. data/config/locales/ru.yml +2 -0
  46. data/config/locales/tr.yml +9 -0
  47. data/config/locales/uk.yml +2 -0
  48. data/config/locales/zh-CN.yml +33 -5
  49. data/docs/.gitignore +1 -0
  50. data/docs/0-installation.md +2 -2
  51. data/docs/1-general-configuration.md +16 -1
  52. data/docs/10-custom-pages.md +14 -0
  53. data/docs/12-arbre-components.md +28 -1
  54. data/docs/13-authorization-adapter.md +40 -21
  55. data/docs/2-resource-customization.md +8 -3
  56. data/docs/3-index-pages/custom-index.md +1 -1
  57. data/docs/3-index-pages/index-as-blog.md +1 -1
  58. data/docs/3-index-pages/index-as-table.md +5 -5
  59. data/docs/3-index-pages.md +17 -0
  60. data/docs/5-forms.md +16 -2
  61. data/docs/8-custom-actions.md +11 -0
  62. data/docs/CNAME +1 -1
  63. data/docs/Gemfile +2 -0
  64. data/docs/Gemfile.lock +249 -0
  65. data/docs/_config.yml +1 -1
  66. data/docs/_includes/toc.html +1 -1
  67. data/docs/_includes/top-menu.html +9 -1
  68. data/docs/documentation.md +1 -1
  69. data/docs/images/tidelift.svg +14 -0
  70. data/docs/index.html +2 -2
  71. data/docs/stylesheets/main.css +26 -2
  72. data/lib/active_admin/abstract_view_factory.rb +13 -51
  73. data/lib/active_admin/application.rb +49 -155
  74. data/lib/active_admin/application_settings.rb +42 -0
  75. data/lib/active_admin/asset_registration.rb +0 -8
  76. data/lib/active_admin/base_controller/authorization.rb +3 -6
  77. data/lib/active_admin/base_controller.rb +6 -6
  78. data/lib/active_admin/batch_actions/controller.rb +2 -2
  79. data/lib/active_admin/batch_actions/resource_extension.rb +4 -4
  80. data/lib/active_admin/callbacks.rb +1 -1
  81. data/lib/active_admin/csv_builder.rb +1 -1
  82. data/lib/active_admin/dependency.rb +1 -69
  83. data/lib/active_admin/deprecation.rb +0 -25
  84. data/lib/active_admin/dsl.rb +1 -8
  85. data/lib/active_admin/dynamic_setting.rb +38 -0
  86. data/lib/active_admin/dynamic_settings_node.rb +28 -0
  87. data/lib/active_admin/engine.rb +5 -0
  88. data/lib/active_admin/error.rb +1 -1
  89. data/lib/active_admin/filters/active_filter.rb +4 -2
  90. data/lib/active_admin/filters/active_sidebar.rb +5 -1
  91. data/lib/active_admin/filters/forms.rb +7 -4
  92. data/lib/active_admin/filters/formtastic_addons.rb +1 -1
  93. data/lib/active_admin/filters/resource_extension.rb +4 -4
  94. data/lib/active_admin/form_builder.rb +97 -62
  95. data/lib/active_admin/generators/boilerplate.rb +1 -1
  96. data/lib/active_admin/helpers/scope_chain.rb +1 -0
  97. data/lib/active_admin/inputs/datepicker_input.rb +8 -1
  98. data/lib/active_admin/inputs/filters/base/search_method_select.rb +2 -2
  99. data/lib/active_admin/menu.rb +2 -8
  100. data/lib/active_admin/menu_item.rb +4 -32
  101. data/lib/active_admin/namespace.rb +20 -8
  102. data/lib/active_admin/namespace_settings.rb +110 -0
  103. data/lib/active_admin/orm/active_record/comments/comment.rb +2 -2
  104. data/lib/active_admin/orm/active_record/comments/views/active_admin_comments.rb +10 -5
  105. data/lib/active_admin/orm/active_record/comments.rb +15 -4
  106. data/lib/active_admin/page_dsl.rb +1 -1
  107. data/lib/active_admin/pundit_adapter.rb +13 -4
  108. data/lib/active_admin/resource/action_items.rb +7 -2
  109. data/lib/active_admin/resource/attributes.rb +7 -4
  110. data/lib/active_admin/resource/menu.rb +3 -3
  111. data/lib/active_admin/resource/naming.rb +3 -3
  112. data/lib/active_admin/resource/routes.rb +9 -4
  113. data/lib/active_admin/resource/scopes.rb +3 -3
  114. data/lib/active_admin/resource/sidebars.rb +1 -1
  115. data/lib/active_admin/resource.rb +2 -2
  116. data/lib/active_admin/resource_collection.rb +2 -2
  117. data/lib/active_admin/resource_controller/action_builder.rb +10 -0
  118. data/lib/active_admin/resource_controller/decorators.rb +3 -3
  119. data/lib/active_admin/resource_controller/resource_class_methods.rb +2 -0
  120. data/lib/active_admin/resource_controller/scoping.rb +1 -1
  121. data/lib/active_admin/resource_dsl.rb +5 -3
  122. data/lib/active_admin/router.rb +89 -84
  123. data/lib/active_admin/scope.rb +9 -5
  124. data/lib/active_admin/settings_node.rb +19 -0
  125. data/lib/active_admin/version.rb +1 -1
  126. data/lib/active_admin/view_helpers/display_helper.rb +10 -2
  127. data/lib/active_admin/view_helpers/download_format_links_helper.rb +1 -0
  128. data/lib/active_admin/view_helpers/method_or_proc_helper.rb +3 -0
  129. data/lib/active_admin/view_helpers.rb +1 -1
  130. data/lib/active_admin/views/components/active_admin_form.rb +9 -4
  131. data/lib/active_admin/views/components/attributes_table.rb +3 -3
  132. data/lib/active_admin/views/components/menu.rb +32 -0
  133. data/lib/active_admin/views/components/menu_item.rb +58 -0
  134. data/lib/active_admin/views/components/paginated_collection.rb +1 -1
  135. data/lib/active_admin/views/components/scopes.rb +11 -4
  136. data/lib/active_admin/views/components/sidebar.rb +13 -0
  137. data/lib/active_admin/views/components/sidebar_section.rb +0 -3
  138. data/lib/active_admin/views/components/site_title.rb +5 -6
  139. data/lib/active_admin/views/components/status_tag.rb +1 -18
  140. data/lib/active_admin/views/components/table_for.rb +3 -12
  141. data/lib/active_admin/views/components/tabs.rb +15 -3
  142. data/lib/active_admin/views/footer.rb +3 -7
  143. data/lib/active_admin/views/header.rb +3 -15
  144. data/lib/active_admin/views/index_as_blog.rb +1 -1
  145. data/lib/active_admin/views/index_as_grid.rb +25 -25
  146. data/lib/active_admin/views/index_as_table.rb +11 -10
  147. data/lib/active_admin/views/pages/base.rb +30 -53
  148. data/lib/active_admin/views/tabbed_navigation.rb +4 -59
  149. data/lib/active_admin/views.rb +1 -1
  150. data/lib/active_admin.rb +9 -4
  151. data/lib/generators/active_admin/assets/assets_generator.rb +2 -2
  152. data/lib/generators/active_admin/assets/templates/active_admin.js +1 -0
  153. data/lib/generators/active_admin/install/install_generator.rb +6 -2
  154. data/lib/generators/active_admin/install/templates/active_admin.rb.erb +20 -1
  155. data/lib/generators/active_admin/install/templates/dashboard.rb +2 -3
  156. data/lib/generators/active_admin/install/templates/migrations/create_active_admin_comments.rb.erb +1 -15
  157. data/lib/generators/active_admin/page/page_generator.rb +1 -1
  158. data/lib/generators/active_admin/resource/resource_generator.rb +1 -1
  159. data/lib/ransack_ext.rb +3 -3
  160. data/vendor/assets/javascripts/jquery-ui/form-reset-mixin.js +80 -0
  161. data/vendor/assets/javascripts/jquery-ui/form.js +22 -0
  162. data/vendor/assets/javascripts/jquery-ui/labels.js +65 -0
  163. data/vendor/assets/javascripts/jquery-ui/widgets/checkboxradio.js +274 -283
  164. metadata +120 -523
  165. data/.github/ISSUE_TEMPLATE.md +0 -20
  166. data/.gitignore +0 -49
  167. data/.mdlrc +0 -1
  168. data/.rubocop.yml +0 -76
  169. data/.simplecov +0 -13
  170. data/.travis.yml +0 -51
  171. data/.yardopts +0 -7
  172. data/Gemfile +0 -58
  173. data/Rakefile +0 -54
  174. data/activeadmin.gemspec +0 -32
  175. data/app/assets/javascripts/active_admin/base.js.coffee +0 -13
  176. data/app/assets/javascripts/active_admin/ext/jquery-ui.js.coffee +0 -6
  177. data/app/assets/javascripts/active_admin/ext/jquery.js.coffee +0 -7
  178. data/app/assets/javascripts/active_admin/initializers/batch_actions.js.coffee +0 -11
  179. data/app/assets/javascripts/active_admin/initializers/datepicker.js.coffee +0 -14
  180. data/app/assets/javascripts/active_admin/initializers/filters.js.coffee +0 -26
  181. data/app/assets/javascripts/active_admin/initializers/tabs.js.coffee +0 -7
  182. data/app/assets/javascripts/active_admin/lib/batch_actions.js.coffee +0 -42
  183. data/app/assets/javascripts/active_admin/lib/checkbox-toggler.js.coffee +0 -46
  184. data/app/assets/javascripts/active_admin/lib/dropdown-menu.js.coffee +0 -104
  185. data/app/assets/javascripts/active_admin/lib/flash.js.coffee +0 -19
  186. data/app/assets/javascripts/active_admin/lib/has_many.js.coffee +0 -79
  187. data/app/assets/javascripts/active_admin/lib/modal_dialog.js.coffee +0 -45
  188. data/app/assets/javascripts/active_admin/lib/per_page.js.coffee +0 -46
  189. data/app/assets/javascripts/active_admin/lib/table-checkbox-toggler.js.coffee +0 -22
  190. data/codecov.yml +0 -25
  191. data/config/i18n-tasks.yml +0 -26
  192. data/config/mdl_style.rb +0 -9
  193. data/cucumber.yml +0 -3
  194. data/features/action_item.feature +0 -73
  195. data/features/authorization.feature +0 -64
  196. data/features/authorization_cancan.feature +0 -52
  197. data/features/authorization_pundit.feature +0 -37
  198. data/features/belongs_to.feature +0 -124
  199. data/features/breadcrumb.feature +0 -75
  200. data/features/comments/commenting.feature +0 -178
  201. data/features/comments/viewing_index.feature +0 -19
  202. data/features/create_another.feature +0 -55
  203. data/features/dashboard.feature +0 -16
  204. data/features/decorators.feature +0 -43
  205. data/features/development_reloading.feature +0 -28
  206. data/features/edit_page.feature +0 -116
  207. data/features/favicon.feature +0 -20
  208. data/features/first_boot.feature +0 -16
  209. data/features/footer.feature +0 -28
  210. data/features/global_navigation.feature +0 -29
  211. data/features/i18n.feature +0 -55
  212. data/features/index/batch_actions.feature +0 -218
  213. data/features/index/filters.feature +0 -250
  214. data/features/index/format_as_csv.feature +0 -220
  215. data/features/index/formats.feature +0 -88
  216. data/features/index/index_as_block.feature +0 -15
  217. data/features/index/index_as_blog.feature +0 -69
  218. data/features/index/index_as_grid.feature +0 -45
  219. data/features/index/index_as_table.feature +0 -291
  220. data/features/index/index_blank_slate.feature +0 -83
  221. data/features/index/index_parameters.feature +0 -75
  222. data/features/index/index_scope_to.feature +0 -56
  223. data/features/index/index_scopes.feature +0 -285
  224. data/features/index/page_title.feature +0 -41
  225. data/features/index/pagination.feature +0 -63
  226. data/features/index/switch_index_view.feature +0 -73
  227. data/features/menu.feature +0 -72
  228. data/features/meta_tags.feature +0 -21
  229. data/features/new_page.feature +0 -136
  230. data/features/registering_assets.feature +0 -38
  231. data/features/registering_pages.feature +0 -237
  232. data/features/registering_resources.feature +0 -33
  233. data/features/renamed_resource.feature +0 -30
  234. data/features/root_to.feature +0 -17
  235. data/features/show/attributes_table_title.feature +0 -54
  236. data/features/show/columns.feature +0 -40
  237. data/features/show/default_content.feature +0 -44
  238. data/features/show/page_title.feature +0 -58
  239. data/features/show/tabs.feature +0 -33
  240. data/features/sidebar_sections.feature +0 -210
  241. data/features/site_title.feature +0 -47
  242. data/features/specifying_actions.feature +0 -118
  243. data/features/step_definitions/action_item_steps.rb +0 -7
  244. data/features/step_definitions/action_link_steps.rb +0 -19
  245. data/features/step_definitions/additional_web_steps.rb +0 -81
  246. data/features/step_definitions/asset_steps.rb +0 -15
  247. data/features/step_definitions/attribute_steps.rb +0 -18
  248. data/features/step_definitions/attributes_table_title_steps.rb +0 -11
  249. data/features/step_definitions/batch_action_steps.rb +0 -81
  250. data/features/step_definitions/blog_steps.rb +0 -3
  251. data/features/step_definitions/breadcrumb_steps.rb +0 -3
  252. data/features/step_definitions/column_steps.rb +0 -8
  253. data/features/step_definitions/comment_steps.rb +0 -32
  254. data/features/step_definitions/configuration_steps.rb +0 -100
  255. data/features/step_definitions/dashboard_steps.rb +0 -15
  256. data/features/step_definitions/factory_steps.rb +0 -35
  257. data/features/step_definitions/filter_steps.rb +0 -47
  258. data/features/step_definitions/flash_steps.rb +0 -11
  259. data/features/step_definitions/footer_steps.rb +0 -11
  260. data/features/step_definitions/format_steps.rb +0 -56
  261. data/features/step_definitions/i18n_steps.rb +0 -11
  262. data/features/step_definitions/index_scope_steps.rb +0 -29
  263. data/features/step_definitions/index_views_steps.rb +0 -3
  264. data/features/step_definitions/layout_steps.rb +0 -3
  265. data/features/step_definitions/member_link_steps.rb +0 -7
  266. data/features/step_definitions/menu_steps.rb +0 -11
  267. data/features/step_definitions/meta_tag_steps.rb +0 -3
  268. data/features/step_definitions/pagination_steps.rb +0 -15
  269. data/features/step_definitions/sidebar_steps.rb +0 -11
  270. data/features/step_definitions/site_title_steps.rb +0 -17
  271. data/features/step_definitions/tab_steps.rb +0 -8
  272. data/features/step_definitions/table_steps.rb +0 -116
  273. data/features/step_definitions/user_steps.rb +0 -52
  274. data/features/step_definitions/web_steps.rb +0 -86
  275. data/features/sti_resource.feature +0 -65
  276. data/features/strong_parameters.feature +0 -69
  277. data/features/support/env.rb +0 -122
  278. data/features/support/paths.rb +0 -73
  279. data/features/support/regular_env.rb +0 -7
  280. data/features/support/reload_env.rb +0 -7
  281. data/features/support/selectors.rb +0 -45
  282. data/features/users/logging_in.feature +0 -36
  283. data/features/users/logging_out.feature +0 -13
  284. data/features/users/resetting_password.feature +0 -34
  285. data/gemfiles/rails_42.gemfile +0 -10
  286. data/gemfiles/rails_50.gemfile +0 -10
  287. data/gemfiles/rails_51.gemfile +0 -10
  288. data/gemfiles/rails_52.gemfile +0 -11
  289. data/lib/active_admin/event.rb +0 -24
  290. data/lib/active_admin/helpers/output_safety_helper.rb +0 -35
  291. data/lib/active_admin/helpers/settings.rb +0 -114
  292. data/lib/bug_report_templates/active_admin_master.rb +0 -112
  293. data/lib/generators/active_admin/assets/templates/active_admin.js.coffee +0 -1
  294. data/spec/bug_report_templates_spec.rb +0 -26
  295. data/spec/javascripts/coffeescripts/jquery.aa.checkbox-toggler-spec.js.coffee +0 -50
  296. data/spec/javascripts/coffeescripts/jquery.aa.flash.js.coffee +0 -25
  297. data/spec/javascripts/coffeescripts/jquery.aa.table-checkbox-toggler-spec.js.coffee +0 -34
  298. data/spec/javascripts/fixtures/checkboxes.html +0 -9
  299. data/spec/javascripts/fixtures/flashes.html +0 -2
  300. data/spec/javascripts/fixtures/table_checkboxes.html +0 -17
  301. data/spec/javascripts/helpers/SpecHelper.js +0 -3
  302. data/spec/javascripts/support/jasmine.yml +0 -74
  303. data/spec/javascripts/support/jasmine_runner.rb +0 -19
  304. data/spec/rails_helper.rb +0 -59
  305. data/spec/requests/default_namespace_spec.rb +0 -81
  306. data/spec/requests/memory_spec.rb +0 -25
  307. data/spec/requests/stylesheets_spec.rb +0 -18
  308. data/spec/spec_helper.rb +0 -1
  309. data/spec/support/active_admin_integration_spec_helper.rb +0 -73
  310. data/spec/support/active_admin_request_helpers.rb +0 -39
  311. data/spec/support/rails_template.rb +0 -153
  312. data/spec/support/rails_template_with_data.rb +0 -327
  313. data/spec/support/templates/admin/stores.rb +0 -7
  314. data/spec/support/templates/en.yml +0 -8
  315. data/spec/support/templates/manifest.js +0 -3
  316. data/spec/support/templates/policies/active_admin/comment_policy.rb +0 -9
  317. data/spec/support/templates/policies/active_admin/page_policy.rb +0 -18
  318. data/spec/support/templates/policies/admin_user_policy.rb +0 -11
  319. data/spec/support/templates/policies/application_policy.rb +0 -44
  320. data/spec/support/templates/policies/category_policy.rb +0 -7
  321. data/spec/support/templates/policies/post_policy.rb +0 -15
  322. data/spec/support/templates/policies/store_policy.rb +0 -11
  323. data/spec/support/templates/policies/user_policy.rb +0 -11
  324. data/spec/support/templates/post_decorator.rb +0 -24
  325. data/spec/unit/abstract_view_factory_spec.rb +0 -78
  326. data/spec/unit/action_builder_spec.rb +0 -158
  327. data/spec/unit/active_admin_spec.rb +0 -11
  328. data/spec/unit/application_spec.rb +0 -184
  329. data/spec/unit/asset_registration_spec.rb +0 -81
  330. data/spec/unit/authorization/authorization_adapter_spec.rb +0 -61
  331. data/spec/unit/authorization/controller_authorization_spec.rb +0 -43
  332. data/spec/unit/authorization/index_overriding_spec.rb +0 -23
  333. data/spec/unit/auto_link_spec.rb +0 -93
  334. data/spec/unit/batch_actions/resource_spec.rb +0 -84
  335. data/spec/unit/batch_actions/settings_spec.rb +0 -61
  336. data/spec/unit/belongs_to_spec.rb +0 -76
  337. data/spec/unit/cancan_adapter_spec.rb +0 -43
  338. data/spec/unit/comments_spec.rb +0 -176
  339. data/spec/unit/component_spec.rb +0 -18
  340. data/spec/unit/config_shared_examples.rb +0 -59
  341. data/spec/unit/controller_filters_spec.rb +0 -41
  342. data/spec/unit/csv_builder_spec.rb +0 -313
  343. data/spec/unit/dependency_spec.rb +0 -135
  344. data/spec/unit/devise_spec.rb +0 -110
  345. data/spec/unit/dsl_spec.rb +0 -120
  346. data/spec/unit/filters/active_filter_spec.rb +0 -189
  347. data/spec/unit/filters/active_spec.rb +0 -24
  348. data/spec/unit/filters/filter_form_builder_spec.rb +0 -524
  349. data/spec/unit/filters/resource_spec.rb +0 -128
  350. data/spec/unit/form_builder_spec.rb +0 -990
  351. data/spec/unit/generators/install_spec.rb +0 -31
  352. data/spec/unit/helpers/collection_spec.rb +0 -68
  353. data/spec/unit/helpers/output_safety_helper_spec.rb +0 -79
  354. data/spec/unit/helpers/scope_chain_spec.rb +0 -35
  355. data/spec/unit/helpers/settings_spec.rb +0 -30
  356. data/spec/unit/i18n_spec.rb +0 -29
  357. data/spec/unit/localizers/resource_localizer_spec.rb +0 -36
  358. data/spec/unit/menu_collection_spec.rb +0 -62
  359. data/spec/unit/menu_item_spec.rb +0 -141
  360. data/spec/unit/menu_spec.rb +0 -71
  361. data/spec/unit/namespace/authorization_spec.rb +0 -27
  362. data/spec/unit/namespace/register_page_spec.rb +0 -99
  363. data/spec/unit/namespace/register_resource_spec.rb +0 -162
  364. data/spec/unit/namespace_spec.rb +0 -124
  365. data/spec/unit/order_clause_spec.rb +0 -81
  366. data/spec/unit/page_controller_spec.rb +0 -5
  367. data/spec/unit/page_spec.rb +0 -128
  368. data/spec/unit/pretty_format_spec.rb +0 -82
  369. data/spec/unit/pundit_adapter_spec.rb +0 -98
  370. data/spec/unit/resource/action_items_spec.rb +0 -69
  371. data/spec/unit/resource/attributes_spec.rb +0 -49
  372. data/spec/unit/resource/includes_spec.rb +0 -21
  373. data/spec/unit/resource/menu_spec.rb +0 -18
  374. data/spec/unit/resource/naming_spec.rb +0 -122
  375. data/spec/unit/resource/ordering_spec.rb +0 -35
  376. data/spec/unit/resource/page_presenters_spec.rb +0 -44
  377. data/spec/unit/resource/pagination_spec.rb +0 -38
  378. data/spec/unit/resource/routes_spec.rb +0 -125
  379. data/spec/unit/resource/scopes_spec.rb +0 -50
  380. data/spec/unit/resource/sidebars_spec.rb +0 -43
  381. data/spec/unit/resource_collection_spec.rb +0 -175
  382. data/spec/unit/resource_controller/data_access_spec.rb +0 -234
  383. data/spec/unit/resource_controller/decorators_spec.rb +0 -94
  384. data/spec/unit/resource_controller/sidebars_spec.rb +0 -37
  385. data/spec/unit/resource_controller_spec.rb +0 -273
  386. data/spec/unit/resource_registration_spec.rb +0 -61
  387. data/spec/unit/resource_spec.rb +0 -320
  388. data/spec/unit/routing_spec.rb +0 -211
  389. data/spec/unit/scope_spec.rb +0 -209
  390. data/spec/unit/settings_spec.rb +0 -117
  391. data/spec/unit/view_factory_spec.rb +0 -19
  392. data/spec/unit/view_helpers/breadcrumbs_spec.rb +0 -253
  393. data/spec/unit/view_helpers/display_helper_spec.rb +0 -203
  394. data/spec/unit/view_helpers/download_format_links_helper_spec.rb +0 -39
  395. data/spec/unit/view_helpers/fields_for_spec.rb +0 -50
  396. data/spec/unit/view_helpers/flash_helper_spec.rb +0 -24
  397. data/spec/unit/view_helpers/form_helper_spec.rb +0 -42
  398. data/spec/unit/view_helpers/method_or_proc_helper_spec.rb +0 -138
  399. data/spec/unit/views/components/attributes_table_spec.rb +0 -271
  400. data/spec/unit/views/components/batch_action_selector_spec.rb +0 -43
  401. data/spec/unit/views/components/blank_slate_spec.rb +0 -27
  402. data/spec/unit/views/components/columns_spec.rb +0 -187
  403. data/spec/unit/views/components/index_list_spec.rb +0 -49
  404. data/spec/unit/views/components/index_table_for_spec.rb +0 -127
  405. data/spec/unit/views/components/paginated_collection_spec.rb +0 -249
  406. data/spec/unit/views/components/panel_spec.rb +0 -58
  407. data/spec/unit/views/components/sidebar_section_spec.rb +0 -68
  408. data/spec/unit/views/components/site_title_spec.rb +0 -76
  409. data/spec/unit/views/components/status_tag_spec.rb +0 -265
  410. data/spec/unit/views/components/table_for_spec.rb +0 -436
  411. data/spec/unit/views/components/tabs_spec.rb +0 -67
  412. data/spec/unit/views/components/unsupported_browser_spec.rb +0 -41
  413. data/spec/unit/views/index_as_blog_spec.rb +0 -76
  414. data/spec/unit/views/pages/form_spec.rb +0 -54
  415. data/spec/unit/views/pages/index_spec.rb +0 -60
  416. data/spec/unit/views/pages/layout_spec.rb +0 -59
  417. data/spec/unit/views/pages/show_spec.rb +0 -32
  418. data/spec/unit/views/tabbed_navigation_spec.rb +0 -158
  419. data/tasks/docs.rake +0 -64
  420. data/tasks/lint.rake +0 -21
  421. data/tasks/local.rake +0 -25
  422. data/tasks/parallel_tests.rake +0 -66
  423. data/tasks/test.rake +0 -29
@@ -1,178 +0,0 @@
1
- Feature: Commenting
2
-
3
- As a user
4
- In order to document changes and have a discussion
5
- I want to store and view comments on a resource
6
-
7
- Background:
8
- Given a post with the title "Hello World" written by "Jane Doe" exists
9
-
10
- Scenario: View a resource with no comments
11
- Given a show configuration of:
12
- """
13
- ActiveAdmin.register Post
14
- """
15
- Then I should see "Comments (0)"
16
- And I should see "No comments yet."
17
-
18
- Scenario: Create a new comment
19
- Given a show configuration of:
20
- """
21
- ActiveAdmin.register Post
22
- """
23
- When I add a comment "Hello from Comment"
24
- Then I should see a flash with "Comment was successfully created"
25
- And I should be in the resource section for posts
26
- And I should see "Comments (1)"
27
- And I should see "Hello from Comment"
28
- And I should see a comment by "admin@example.com"
29
-
30
- Scenario: View resource with comments turned off
31
- Given a show configuration of:
32
- """
33
- ActiveAdmin.register Post do
34
- config.comments = false
35
- end
36
- """
37
- Then I should not see the element "div.comments.panel"
38
-
39
- Scenario: View a resource in a namespace that doesn't have comments
40
- Given a configuration of:
41
- """
42
- ActiveAdmin.application.namespace(:new_namespace).comments = false
43
- ActiveAdmin.register Post, namespace: :new_namespace
44
- ActiveAdmin.register AdminUser, namespace: :new_namespace
45
- """
46
- Given I am logged in
47
- When I am on the index page for posts in the new_namespace namespace
48
- And I follow "View"
49
- Then I should not see "Comments"
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
-
65
- Scenario: Creating a comment in one namespace does not create it in another
66
- Given a show configuration of:
67
- """
68
- ActiveAdmin.register Post
69
- ActiveAdmin.register Post, namespace: :public
70
- ActiveAdmin.register AdminUser, namespace: :public
71
- """
72
- When I add a comment "Hello world in admin namespace"
73
- Then I should see "Hello world in admin namespace"
74
-
75
- When I am on the index page for posts in the public namespace
76
- And I follow "View"
77
- Then I should not see "Hello world in admin namespace"
78
- And I should see "Comments (0)"
79
-
80
- When I add a comment "Hello world in public namespace"
81
- Then I should see "Hello world in public namespace"
82
- When I am on the index page for posts in the admin namespace
83
- And I follow "View"
84
- Then I should not see "Hello world in public namespace"
85
- And I should see "Comments (1)"
86
-
87
- Scenario: Creating a comment on an aliased resource
88
- Given a configuration of:
89
- """
90
- ActiveAdmin.register Post, as: "Article"
91
- """
92
- Given I am logged in
93
- When I am on the index page for articles
94
- And I follow "View"
95
- When I add a comment "Hello from Comment"
96
- Then I should see a flash with "Comment was successfully created"
97
- And I should be in the resource section for articles
98
-
99
- Scenario: Create an empty comment
100
- Given a show configuration of:
101
- """
102
- ActiveAdmin.register Post
103
- """
104
- When I add a comment ""
105
- Then I should see a flash with "Comment wasn't saved, text was empty."
106
- And I should see "Comments (0)"
107
-
108
- Scenario: Viewing all comments for a namespace
109
- Given a show configuration of:
110
- """
111
- ActiveAdmin.register Post
112
- """
113
- When I add a comment "Hello from Comment"
114
- When I am on the index page for comments
115
- Then I should see a table header with "Body"
116
- And I should see "Hello from Comment"
117
-
118
- Scenario: Commenting on a STI superclass
119
- Given a configuration of:
120
- """
121
- ActiveAdmin.register User
122
- """
123
- Given I am logged in
124
- And a publisher named "Pragmatic Publishers" exists
125
- When I am on the index page for users
126
- And I follow "View"
127
- When I add a comment "Hello World"
128
- Then I should see a flash with "Comment was successfully created"
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"
147
-
148
- Scenario: Commenting on an aliased resource with an existing non-aliased config
149
- Given a configuration of:
150
- """
151
- ActiveAdmin.register Post
152
- ActiveAdmin.register Post, as: 'Foo'
153
- """
154
- Given I am logged in
155
- When I am on the index page for foos
156
- And I follow "View"
157
- When I add a comment "Bar"
158
- Then I should be in the resource section for foos
159
-
160
- Scenario: View comments
161
- Given 70 comments added by admin with an email "admin@example.com"
162
- And a show configuration of:
163
- """
164
- ActiveAdmin.register Post
165
- """
166
- Then I should see "Comments (70)"
167
- And I should see "Displaying comments 1 - 25 of 70 in total"
168
- And I should see 25 comments
169
- And I should see pagination with 3 pages
170
- And I should see the pagination "Next" link
171
- Then I follow "2"
172
- And I should see "Displaying comments 26 - 50 of 70 in total"
173
- And I should see 25 comments
174
- And I should see the pagination "Next" link
175
- Then I follow "Next"
176
- And I should see 20 comments
177
- And I should see "Displaying comments 51 - 70 of 70 in total"
178
- And I should not see the pagination "Next" link
@@ -1,19 +0,0 @@
1
- Feature: Viewing Index of Comments
2
-
3
- Background:
4
- Given a post with the title "Hello World" written by "Jane Doe" exists
5
- Given a show configuration of:
6
- """
7
- ActiveAdmin.register Post
8
- """
9
-
10
- Scenario: Viewing all commments for a namespace
11
- When I add a comment "Hello from Comment"
12
- When I am on the index page for comments
13
- Then I should see a table header with "Body"
14
- And I should see a table header with "Resource"
15
- And I should see a table header with "Author"
16
- And I should see "Hello from Comment"
17
- And I should see a link to "Hello World"
18
- And I should see "admin@example.com"
19
- And I should not see an action item button "New Comment"
@@ -1,55 +0,0 @@
1
- Feature: Create Another checkbox
2
-
3
- Background:
4
- Given I am logged in
5
-
6
- Scenario: On a new page
7
- Given a configuration of:
8
- """
9
- ActiveAdmin.register Post do
10
- config.create_another = true
11
-
12
- permit_params :custom_category_id, :author_id, :title,
13
- :body, :position, :published_date, :starred
14
- end
15
- """
16
- Then I am on the index page for posts
17
- And I follow "New Post"
18
- When I fill in "Title" with "Hello World"
19
- And I fill in "Body" with "This is the body"
20
- And the "Create another Post" checkbox should not be checked
21
- And I check "Create another"
22
- And I press "Create Post"
23
- Then I should see "Post was successfully created."
24
- And I should see "New Post"
25
- And the "Create another" checkbox should be checked
26
- When I fill in "Title" with "Another Hello World"
27
- And I fill in "Body" with "This is the another body"
28
- And I uncheck "Create another"
29
- And I press "Create Post"
30
- Then I should see "Post was successfully created."
31
- And I should see the attribute "Title" with "Another Hello World"
32
- And I should see the attribute "Body" with "This is the another body"
33
-
34
- Scenario: Application config of false and a resource config of true
35
- Given a configuration of:
36
- """
37
- ActiveAdmin.application.create_another = false
38
- ActiveAdmin.register Post do
39
- config.create_another = true
40
- end
41
- """
42
- When I am on the new post page
43
- Then I should see the element ".create_another"
44
- Then the "Create another Post" checkbox should not be checked
45
-
46
- Scenario: Application config of true and a resource config of false
47
- Given a configuration of:
48
- """
49
- ActiveAdmin.application.create_another = true
50
- ActiveAdmin.register Post do
51
- config.create_another = false
52
- end
53
- """
54
- When I am on the new post page
55
- Then I should not see the element ".create_another"
@@ -1,16 +0,0 @@
1
- Feature: Dashboard
2
-
3
- Scenario: With default configuration
4
- Given a configuration of:
5
- """
6
- ActiveAdmin.register_page "Dashboard" do
7
- content do
8
- para "Hello world from the dashboard page"
9
- end
10
- end
11
- """
12
- Given I am logged in
13
- When I go to the dashboard
14
- Then I should see the Active Admin layout
15
- And I should not see the default welcome message
16
- And I should see "Hello world from the dashboard page"
@@ -1,43 +0,0 @@
1
- Feature: Decorators
2
-
3
- Using decorators for index and show sections
4
-
5
- Background:
6
- Given a user named "John Doe" exists
7
- Given a post with the title "A very unique post" exists
8
- And I am logged in
9
-
10
- Scenario: Index page with decorator
11
- Given a configuration of:
12
- """
13
- ActiveAdmin.register Post do
14
- decorate_with PostDecorator
15
-
16
- index do
17
- column(:id)
18
- column(:title)
19
- column(:decorator_method)
20
- column(:starred)
21
- end
22
- end
23
- """
24
- When I am on the index page for posts
25
- Then I should see "A method only available on the decorator"
26
- And I should see "A very unique post"
27
- And I should see "No"
28
-
29
- Scenario: Show page with decorator
30
- Given a configuration of:
31
- """
32
- ActiveAdmin.register Post do
33
- decorate_with PostDecorator
34
-
35
- show do
36
- attributes_table :title, :decorator_method
37
- end
38
- end
39
- """
40
- When I am on the index page for posts
41
- And I follow "View"
42
- And I should see the attribute "Decorator Method" with "A method only available on the decorator"
43
- And I should see the attribute "Title" with "A very unique post"
@@ -1,28 +0,0 @@
1
- Feature: Development Reloading
2
-
3
- In order to quickly develop applications
4
- As a developer
5
- I want the application to reload itself in development
6
-
7
- @requires-reloading
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:
13
- """
14
- ActiveAdmin.register Post do
15
- permit_params :custom_category_id, :author_id, :title,
16
- :body, :position, :published_date, :starred
17
- end
18
- """
19
- When I am logged in with capybara
20
- Then I should see a menu item for "Posts"
21
-
22
- When I create a new post with the title "A"
23
- Then I should see a successful create flash
24
-
25
- When I add "validates_presence_of :title" to the "post" model
26
- And I create a new post with the title ""
27
- Then I should not see a successful create flash
28
- And I should see a validation error "can't be blank"
@@ -1,116 +0,0 @@
1
- Feature: Edit Page
2
-
3
- Customizing the form to edit resources
4
-
5
- Background:
6
- Given a category named "Music" exists
7
- And a user named "John Doe" exists
8
- And a post with the title "Hello World" written by "John Doe" exists
9
- And I am logged in
10
- Given a configuration of:
11
- """
12
- ActiveAdmin.register Post do
13
- permit_params :custom_category_id, :author_id, :title,
14
- :body, :position, :published_date, :starred
15
- end
16
- """
17
- When I am on the index page for posts
18
-
19
- Scenario: Default form with no config
20
- Given I follow "Edit"
21
- Then the "Title" field should contain "Hello World"
22
- And the "Body" field should contain ""
23
- And the "Category" field should contain ""
24
- And the "Author" field should contain the option "John Doe"
25
- When I fill in "Title" with "Hello World from update"
26
- And I should not see the element "Create another"
27
- When I press "Update Post"
28
- Then I should see "Post was successfully updated."
29
- And I should see the attribute "Title" with "Hello World from update"
30
- And I should see the attribute "Author" with "John Doe"
31
-
32
- Scenario: Generating a custom form
33
- Given a configuration of:
34
- """
35
- ActiveAdmin.register Post do
36
- permit_params :category, :author, :title, :body, :published_date, :starred
37
-
38
- form do |f|
39
- f.inputs "Your Post" do
40
- f.input :title
41
- f.input :body
42
- end
43
- f.inputs "Publishing" do
44
- f.input :published_date
45
- end
46
- f.actions
47
- end
48
- end
49
- """
50
- Given I follow "Edit"
51
- Then I should see a fieldset titled "Your Post"
52
- And I should see a fieldset titled "Publishing"
53
- And the "Title" field should contain "Hello World"
54
- And the "Body" field should contain ""
55
- When I fill in "Title" with "Hello World from update"
56
- When I press "Update Post"
57
- Then I should see "Post was successfully updated."
58
- And I should see the attribute "Title" with "Hello World from update"
59
- And I should see the attribute "Author" with "John Doe"
60
-
61
- Scenario: Generating a custom form with :html set, visiting the new page first (bug probing issue #109)
62
- Given a configuration of:
63
- """
64
- ActiveAdmin.register Post do
65
- permit_params :category, :author, :title, :body, :published_date, :starred
66
-
67
- form html: {} do |f|
68
- f.inputs "Your Post" do
69
- f.input :title
70
- f.input :body
71
- end
72
- f.inputs "Publishing" do
73
- f.input :published_date
74
- end
75
- f.actions
76
- end
77
- end
78
- """
79
- Given I follow "New"
80
- Then I follow "Posts"
81
- Then I follow "Edit"
82
- Then I should see a fieldset titled "Your Post"
83
- And I should see a fieldset titled "Publishing"
84
- And the "Title" field should contain "Hello World"
85
- And the "Body" field should contain ""
86
- When I fill in "Title" with "Hello World from update"
87
- When I press "Update Post"
88
- Then I should see "Post was successfully updated."
89
- And I should see the attribute "Title" with "Hello World from update"
90
- And I should see the attribute "Author" with "John Doe"
91
-
92
- Scenario: Generating a form from a partial
93
- Given "app/views/admin/posts/_form.html.erb" contains:
94
- """
95
- <% url = @post.new_record? ? admin_posts_path : admin_post_path(@post) %>
96
- <%= active_admin_form_for @post, url: url do |f|
97
- f.inputs :title, :body
98
- f.actions
99
- end %>
100
- """
101
- Given a configuration of:
102
- """
103
- ActiveAdmin.register Post do
104
- permit_params :category, :author, :title, :body, :published_date, :starred
105
-
106
- form partial: "form"
107
- end
108
- """
109
- Given I follow "Edit"
110
- Then the "Title" field should contain "Hello World"
111
- And the "Body" field should contain ""
112
- When I fill in "Title" with "Hello World from update"
113
- When I press "Update Post"
114
- Then I should see "Post was successfully updated."
115
- And I should see the attribute "Title" with "Hello World from update"
116
- And I should see the attribute "Author" with "John Doe"
@@ -1,20 +0,0 @@
1
- Feature: Favicon
2
-
3
- Configuring a Favicon file
4
-
5
- Background:
6
- Given a configuration of:
7
- """
8
- ActiveAdmin.register Post
9
- ActiveAdmin.application.favicon = "a/favicon.ico"
10
- """
11
-
12
- Scenario: Logged out views show Favicon
13
- Given I am logged out
14
- When I am on the login page
15
- Then I should see the favicon "favicon"
16
-
17
- Scenario: Logged in views show Favicon
18
- Given I am logged in
19
- When I am on the dashboard
20
- Then I should see the favicon "favicon"
@@ -1,16 +0,0 @@
1
- Feature: First Boot
2
-
3
- As a developer
4
- In order to ensure I have a great first experience
5
- I want Active Admin to just work on install
6
-
7
- Scenario: Visiting /admin and logging in with no configurations
8
- Given a configuration of:
9
- """
10
- """
11
- And an admin user "admin@example.com" exists
12
- When I go to the dashboard
13
- When I fill in "Email" with "admin@example.com"
14
- And I fill in "Password" with "password"
15
- And I press "Login"
16
- Then I should be on the the dashboard
@@ -1,28 +0,0 @@
1
- Feature: Site title
2
-
3
- As a developer
4
- In order to customize the site footer
5
- I want to set it in the configuration
6
-
7
- Background:
8
- Given I am logged in
9
-
10
- Scenario: No footer is set in the configuration (default)
11
- When I am on the dashboard
12
- And I should see the default footer
13
-
14
- Scenario: Set the footer in the configuration
15
- Given a configuration of:
16
- """
17
- ActiveAdmin.application.footer = "MyApp Revision 123"
18
- """
19
- When I am on the dashboard
20
- And I should see the footer "MyApp Revision 123"
21
-
22
- Scenario: Set the footer to a proc
23
- Given a configuration of:
24
- """
25
- ActiveAdmin.application.footer = proc { "Enjoy MyApp Revision 123, #{controller.current_admin_user.try(:email)}!" }
26
- """
27
- When I am on the dashboard
28
- And I should see the footer "Enjoy MyApp Revision 123, admin@example.com!"
@@ -1,29 +0,0 @@
1
- Feature: Global Navigation
2
-
3
- Background:
4
- Given a configuration of:
5
- """
6
- ActiveAdmin.register Post
7
- """
8
- Given I am logged in
9
- And 10 posts exist
10
-
11
- Scenario: Viewing the current section in the global navigation
12
- Given I am on the index page for posts
13
- Then the "Posts" tab should be selected
14
-
15
- Scenario: Viewing the current section in the global navigation when on new page
16
- Given I am on the index page for posts
17
- And I follow "New Post"
18
- Then the "Posts" tab should be selected
19
-
20
- Scenario: Viewing the current section in the global navigation when on show page
21
- Given I am on the index page for posts
22
- And I follow "View"
23
- Then the "Posts" tab should be selected
24
-
25
- Scenario: Viewing the current section in the global navigation when on edit page
26
- Given I am on the index page for posts
27
- And I follow "View"
28
- And I follow "Edit Post"
29
- Then the "Posts" tab should be selected
@@ -1,55 +0,0 @@
1
- @locale_manipulation
2
- Feature: Internationalization
3
-
4
- ActiveAdmin should use the translations provided by the host app.
5
-
6
- Scenario: Store's model name was translated to "Bookstore"
7
- Given I am logged in
8
- And a store named "Hello words" exists
9
- When I go to the dashboard
10
- Then I should see "Bookstores"
11
-
12
- When I follow "Bookstores"
13
- Then I should see the page title "Bookstores"
14
- Then I should see "Hello words"
15
-
16
- When I follow "View"
17
- Then I should see "Bookstore Details"
18
- And I should see "Hello words"
19
- And I should see a link to "Delete Bookstore"
20
-
21
- When I follow "Edit Bookstore"
22
- Then I should see "Edit Bookstore"
23
-
24
- When I press "Update Bookstore"
25
- Then I should see a flash with "Bookstore was successfully updated."
26
-
27
- Scenario: Switching language at runtime
28
- Given I am logged in
29
- When I set my locale to "fr"
30
- And I go to the dashboard
31
- Then I should see "Store"
32
- Then I should see "Déconnexion"
33
-
34
- When I set my locale to "en"
35
- And I go to the dashboard
36
- Then I should see "Bookstore"
37
- Then I should see "Logout"
38
-
39
- Scenario: Overriding translations
40
- Given I am logged in
41
- And a store named "Hello words" exists
42
- When I go to the dashboard
43
- When I follow "Bookstores"
44
- Then I should see "Download this:"
45
-
46
- Scenario: Overriding resource details table title
47
- Given a configuration of:
48
- """
49
- ActiveAdmin.register Post
50
- """
51
- And String "Post detailed information" corresponds to "resources.post.details"
52
- And I am logged in
53
- And a post exists
54
- When I go to the last post's show page
55
- Then I should see "Post detailed information"