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,136 +0,0 @@
1
- Feature: New Page
2
-
3
- Customizing the form to create new resources
4
-
5
- Background:
6
- Given a category named "Music" exists
7
- Given a user named "John Doe" exists
8
- And I am logged in
9
- Given a configuration of:
10
- """
11
- ActiveAdmin.register Post do
12
- permit_params :custom_category_id, :author_id, :title,
13
- :body, :position, :published_date, :starred
14
- end
15
- """
16
- When I am on the index page for posts
17
-
18
- Scenario: Default form with no config
19
- Given I follow "New Post"
20
- When I fill in "Title" with "Hello World"
21
- And I fill in "Body" with "This is the body"
22
- And I select "Music" from "Category"
23
- And I select "John Doe" from "Author"
24
- And I press "Create Post"
25
- Then I should see "Post was successfully created."
26
- And I should see the attribute "Title" with "Hello World"
27
- And I should see the attribute "Body" with "This is the body"
28
- And I should see the attribute "Category" with "Music"
29
- And I should see the attribute "Author" with "John Doe"
30
-
31
- Scenario: Generating a custom form
32
- Given a configuration of:
33
- """
34
- ActiveAdmin.register Post do
35
- permit_params :custom_category_id, :author_id, :title, :body, :published_date, :starred
36
-
37
- form do |f|
38
- f.inputs "Your Post" do
39
- f.input :title
40
- f.input :body
41
- end
42
- f.inputs "Publishing" do
43
- f.input :published_date
44
- end
45
- f.actions
46
- end
47
- end
48
- """
49
- Given I follow "New Post"
50
- Then I should see a fieldset titled "Your Post"
51
- And I should see a fieldset titled "Publishing"
52
- When I fill in "Title" with "Hello World"
53
- And I fill in "Body" with "This is the body"
54
- And I press "Create Post"
55
- Then I should see "Post was successfully created."
56
- And I should see the attribute "Title" with "Hello World"
57
- And I should see the attribute "Body" with "This is the body"
58
-
59
- Scenario: Generating a custom form decorated with virtual attributes
60
- Given a configuration of:
61
- """
62
- ActiveAdmin.register Post do
63
- decorate_with PostDecorator
64
- permit_params :custom_category_id, :author_id, :virtual_title, :body, :published_date, :starred
65
-
66
- form decorate: true do |f|
67
- f.inputs "Your Post" do
68
- f.input :virtual_title
69
- f.input :body
70
- end
71
- f.inputs "Publishing" do
72
- f.input :published_date
73
- end
74
- f.actions
75
- end
76
- end
77
- """
78
- Given I follow "New Post"
79
- Then I should see a fieldset titled "Your Post"
80
- And I should see a fieldset titled "Publishing"
81
- When I fill in "Virtual title" with "Hello World"
82
- And I fill in "Body" with "This is the body"
83
- And I press "Create Post"
84
- Then I should see "Post was successfully created."
85
- And I should see the attribute "Title" with "Hello World"
86
- And I should see the attribute "Body" with "This is the body"
87
-
88
- Scenario: Generating a form from a partial
89
- Given "app/views/admin/posts/_form.html.erb" contains:
90
- """
91
- <% url = @post.new_record? ? admin_posts_path : admin_post_path(@post) %>
92
- <%= active_admin_form_for @post, url: url do |f|
93
- f.inputs :title, :body
94
- f.actions
95
- end %>
96
- """
97
- Given a configuration of:
98
- """
99
- ActiveAdmin.register Post do
100
- permit_params :custom_category_id, :author_id, :title, :body, :published_date, :starred
101
-
102
- form partial: "form"
103
- end
104
- """
105
- Given I follow "New Post"
106
- When I fill in "Title" with "Hello World"
107
- And I fill in "Body" with "This is the body"
108
- And I press "Create Post"
109
- Then I should see "Post was successfully created."
110
- And I should see the attribute "Title" with "Hello World"
111
- And I should see the attribute "Body" with "This is the body"
112
-
113
- Scenario: Displaying fields at runtime
114
- Given a configuration of:
115
- """
116
- ActiveAdmin.register Post do
117
- permit_params :custom_category_id, :author_id, :title, :body, :published_date, :starred
118
-
119
- form do |f|
120
- f.inputs "Your Post" do
121
- if current_admin_user && false
122
- f.input :title
123
- end
124
-
125
- f.input :body
126
- end
127
- f.inputs "Publishing" do
128
- f.input :published_date
129
- end
130
- f.actions
131
- end
132
- end
133
- """
134
- Given I follow "New Post"
135
- Then I should not see "Title"
136
- And I should see "Body"
@@ -1,38 +0,0 @@
1
- Feature: Registering Assets
2
-
3
- Registering CSS and JS files
4
-
5
- Background:
6
- Given a configuration of:
7
- """
8
- ActiveAdmin.register Post
9
- """
10
- And I am logged in
11
-
12
-
13
- Scenario: Viewing default asset files
14
- When I am on the index page for posts
15
- Then I should see the css file "active_admin"
16
- Then I should see the js file "active_admin"
17
-
18
- Scenario: Registering a CSS file
19
- Given a configuration of:
20
- """
21
- ActiveSupport::Deprecation.silence do
22
- ActiveAdmin.application.register_stylesheet "some-random-css.css", media: :print
23
- ActiveAdmin.register Post
24
- end
25
- """
26
- When I am on the index page for posts
27
- Then I should see the css file "some-random-css" of media "print"
28
-
29
- Scenario: Registering a JS file
30
- Given a configuration of:
31
- """
32
- ActiveSupport::Deprecation.silence do
33
- ActiveAdmin.application.register_javascript "some-random-js.js"
34
- ActiveAdmin.register Post
35
- end
36
- """
37
- When I am on the index page for posts
38
- Then I should see the js file "some-random-js"
@@ -1,237 +0,0 @@
1
- Feature: Registering Pages
2
-
3
- Registering pages within Active Admin
4
-
5
- Background:
6
- Given I am logged in
7
-
8
- Scenario: Registering a page
9
- Given a configuration of:
10
- """
11
- ActiveAdmin.register_page "Status" do
12
- content do
13
- "I love chocolate."
14
- end
15
- end
16
- """
17
- When I go to the dashboard
18
- And I follow "Status"
19
- Then I should see the page title "Status"
20
- And I should see the Active Admin layout
21
- And I should see the content "I love chocolate."
22
-
23
- Scenario: Registering a page with a complex name
24
- Given a configuration of:
25
- """
26
- ActiveAdmin.register_page "Chocolate I lØve You!" do
27
- content do
28
- "I love chocolate."
29
- end
30
- end
31
- """
32
- When I go to the dashboard
33
- And I follow "Chocolate I lØve You!"
34
- Then I should see the page title "Chocolate I lØve You!"
35
- And I should see the Active Admin layout
36
- And I should see the content "I love chocolate."
37
-
38
- Scenario: Registering an empty page
39
- Given a configuration of:
40
- """
41
- ActiveAdmin.register_page "Status"
42
- """
43
- When I go to the dashboard
44
- And I follow "Status"
45
- Then I should see the page title "Status"
46
- And I should see the Active Admin layout
47
-
48
- Scenario: Registering a page with a custom title as a string
49
- Given a configuration of:
50
- """
51
- ActiveAdmin.register_page "Status" do
52
- content title: "Custom Page Title" do
53
- "I love chocolate."
54
- end
55
- end
56
- """
57
- When I go to the dashboard
58
- And I follow "Status"
59
- Then I should see the page title "Custom Page Title"
60
-
61
- Scenario: Registering a page with a custom title as a proc
62
- Given a configuration of:
63
- """
64
- ActiveAdmin.register_page "Status" do
65
- content title: proc{ "Custom Page Title from Proc" } do
66
- "I love chocolate."
67
- end
68
- end
69
- """
70
- When I go to the dashboard
71
- And I follow "Status"
72
- Then I should see the page title "Custom Page Title from Proc"
73
-
74
- Scenario: Adding a sidebar section to a page
75
- Given a configuration of:
76
- """
77
- ActiveAdmin.register_page "Status" do
78
- sidebar :help do
79
- "Need help? Email us at help@example.com"
80
- end
81
-
82
- content do
83
- "I love chocolate."
84
- end
85
- end
86
- """
87
- When I go to the dashboard
88
- And I follow "Status"
89
- Then I should see a sidebar titled "Help"
90
-
91
-
92
- Scenario: Adding an action item to a page
93
- Given a configuration of:
94
- """
95
- ActiveAdmin.register_page "Status" do
96
- action_item :visit do
97
- link_to "Visit", "/"
98
- end
99
-
100
- content do
101
- "I love chocolate."
102
- end
103
- end
104
- """
105
- When I go to the dashboard
106
- And I follow "Status"
107
- Then I should see an action item link to "Visit"
108
-
109
- Scenario: Adding a page action to a page with multiple http methods
110
- Given a configuration of:
111
- """
112
- ActiveAdmin.register_page "Status" do
113
- page_action :check, method: [:get, :post] do
114
- redirect_to admin_status_path, notice: "Checked via #{request.method}"
115
- end
116
-
117
- action_item :post_check do
118
- link_to "Post Check", admin_status_check_path, method: :post
119
- end
120
-
121
- action_item :get_check do
122
- link_to "Get Check", admin_status_check_path
123
- end
124
-
125
- content do
126
- "I love chocolate."
127
- end
128
- end
129
- """
130
- When I go to the dashboard
131
- And I follow "Status"
132
- And I follow "Post Check"
133
- Then I should see "Checked via POST"
134
- And I should see the Active Admin layout
135
- When I follow "Get Check"
136
- Then I should see "Checked via GET"
137
- And I should see the Active Admin layout
138
-
139
- Scenario: Adding a page action to a page
140
- Given a configuration of:
141
- """
142
- ActiveAdmin.register_page "Status" do
143
- page_action :check do
144
- redirect_to admin_status_path
145
- end
146
-
147
- content do
148
- ("Chocolate I lØve You!" + link_to("Check", admin_status_check_path)).html_safe
149
- end
150
- end
151
- """
152
- When I go to the dashboard
153
- And I follow "Status"
154
- And I follow "Check"
155
- Then I should see the content "Chocolate I lØve You!"
156
- And I should see the Active Admin layout
157
-
158
- Scenario: Adding a page action to a page with erb view
159
- Given a configuration of:
160
- """
161
- ActiveAdmin.register_page "Status" do
162
- page_action :check do
163
- end
164
-
165
- content do
166
- ("Chocolate I lØve You!" + link_to("Check", admin_status_check_path)).html_safe
167
- end
168
- end
169
- """
170
- Given "app/views/admin/status/check.html.erb" contains:
171
- """
172
- <div>Chocolate lØves You Too!</div>
173
- """
174
- When I go to the dashboard
175
- And I follow "Status"
176
- And I follow "Check"
177
- Then I should see the content "Chocolate lØves You Too!"
178
- And I should see the Active Admin layout
179
-
180
- Scenario: Registering a page with paginated index table for a collection Array
181
- Given a user named "John Doe" exists
182
- Given a configuration of:
183
- """
184
- ActiveAdmin.register_page "Special users" do
185
- content do
186
- collection = Kaminari.paginate_array(User.all).page(params.fetch(:page, 1))
187
-
188
- table_for(collection, class: "index_table") do
189
- column :first_name
190
- column :last_name
191
- end
192
-
193
- paginated_collection(collection, entry_name: "Special users")
194
- end
195
- end
196
- """
197
- When I go to the dashboard
198
- And I follow "Special users"
199
- Then I should see the page title "Special users"
200
- And I should see the Active Admin layout
201
- And I should see 1 user in the table
202
-
203
- Scenario: Displaying parent information from a belongs_to page
204
- Given a configuration of:
205
- """
206
- ActiveAdmin.register Post
207
- ActiveAdmin.register_page "Status" do
208
- belongs_to :post
209
-
210
- content do
211
- "Status page for #{helpers.parent.title}"
212
- end
213
- end
214
- """
215
- And 1 post with the title "Post 1" exists
216
- When I go to the first post custom status page
217
- Then I should see the content "Status page for Post 1"
218
- And I should see a link to "Post 1" in the breadcrumb
219
-
220
- Scenario: Rendering sortable table_for within page
221
- Given a configuration of:
222
- """
223
- ActiveAdmin.register Post
224
- ActiveAdmin.register_page "Last Posts" do
225
- content do
226
- table_for Post.last(2), sortable: true, class: "index_table" do
227
- column :id
228
- column :title
229
- column :author
230
- end
231
- end
232
- end
233
- """
234
- And a post with the title "Hello World" written by "Jane Doe" exists
235
- When I go to the last posts page
236
- Then I should see the page title "Last Posts"
237
- And I should see 1 post in the table
@@ -1,33 +0,0 @@
1
- Feature: Registering Resources
2
-
3
- Registering resources within Active Admin
4
-
5
- Background:
6
- Given I am logged in
7
- And a post with the title "Hello World" exists
8
-
9
- Scenario: Registering a resource with the defaults
10
- Given a configuration of:
11
- """
12
- ActiveAdmin.register Post
13
- """
14
- When I go to the dashboard
15
- Then I should see "Posts"
16
- When I follow "Posts"
17
- Then I should see "Hello World"
18
- When I follow "View"
19
- Then I should see "Hello World"
20
- And I should be in the resource section for Post
21
-
22
- Scenario: Registering a resource with another name
23
- Given a configuration of:
24
- """
25
- ActiveAdmin.register Post, as: "My Post"
26
- """
27
- When I go to the dashboard
28
- Then I should see "My Posts"
29
- When I follow "My Posts"
30
- Then I should see "Hello World"
31
- When I follow "View"
32
- Then I should see "Hello World"
33
- And I should be in the resource section for My Post
@@ -1,30 +0,0 @@
1
- Feature: Renamed Resource
2
-
3
- Strong attributes for resources renamed with as: 'NewName'
4
-
5
- Background:
6
- Given a category named "Music" exists
7
- Given a user named "John Doe" exists
8
- And I am logged in
9
- Given a configuration of:
10
- """
11
- ActiveAdmin.register Blog::Post, as: 'Post' do
12
- permit_params :custom_category_id, :author_id, :title,
13
- :body, :position, :published_date, :starred
14
- end
15
- """
16
- When I am on the index page for posts
17
-
18
- Scenario: Default form with no config
19
- Given I follow "New Post"
20
- When I fill in "Title" with "Hello World"
21
- And I fill in "Body" with "This is the body"
22
- And I select "Music" from "Category"
23
- And I select "John Doe" from "Author"
24
- And I press "Create Post"
25
- Then I should see "Post was successfully created."
26
- And I should see the attribute "Title" with "Hello World"
27
- And I should see the attribute "Body" with "This is the body"
28
- #And I should see the attribute "Category" with "Music"
29
- And I should see the attribute "Author" with "John Doe"
30
-
@@ -1,17 +0,0 @@
1
- Feature: Namespace root
2
-
3
- As a developer
4
- In order to customize the welcome page
5
- I want to set it in the configuration
6
-
7
- Scenario: Default root is the Dashboard
8
- Given I am logged in with capybara
9
- Then I should be on the dashboard
10
-
11
- Scenario: Set root to "stores#index"
12
- Given a configuration of:
13
- """
14
- ActiveAdmin.application.root_to = 'stores#index'
15
- """
16
- Given I am logged in with capybara
17
- Then I should see the page title "Bookstores"
@@ -1,54 +0,0 @@
1
- Feature: Show - Attributes Table Title
2
-
3
- Modifying the title of the panel wrapping the attributes table
4
-
5
- Background:
6
- Given a post with the title "Hello World" written by "Jane Doe" exists
7
-
8
- Scenario: Set a string as the title
9
- Given a show configuration of:
10
- """
11
- ActiveAdmin.register Post do
12
- show do
13
- attributes_table title: "Title From String"
14
- end
15
- end
16
- """
17
- Then I should see the panel title "Title From String"
18
- And I should see the attributes table
19
-
20
- Scenario: Set a method to be called on the resource as the title
21
- Given a show configuration of:
22
- """
23
- ActiveAdmin.register Post do
24
- show do
25
- attributes_table title: :title
26
- end
27
- end
28
- """
29
- Then I should see the panel title "Hello World"
30
- And I should see the attributes table
31
-
32
- Scenario: Set a proc as the title
33
- Given a show configuration of:
34
- """
35
- ActiveAdmin.register Post do
36
- show do
37
- attributes_table title: proc{ |post| "Title: #{post.title}" }
38
- end
39
- end
40
- """
41
- Then I should see the panel title "Title: Hello World"
42
- And I should see the attributes table
43
-
44
- Scenario: Should not accept other keys
45
- Given a show configuration of:
46
- """
47
- ActiveAdmin.register Post do
48
- show do
49
- attributes_table foo: "Title From String"
50
- end
51
- end
52
- """
53
- Then I should not see the panel title "Title From String"
54
- And I should see the attributes table
@@ -1,40 +0,0 @@
1
- Feature: Show - Columns
2
-
3
- Columns in show page
4
-
5
- Background:
6
- Given a post with the title "Hello World" written by "Jane Doe" exists
7
-
8
- Scenario:
9
- Given a show configuration of:
10
- """
11
- ActiveAdmin.register Post do
12
-
13
- show do
14
- columns do
15
- end
16
- end
17
-
18
- end
19
- """
20
- Then I should see a columns container
21
- And I should see 0 column
22
-
23
- Scenario:
24
- Given a show configuration of:
25
- """
26
- ActiveAdmin.register Post do
27
-
28
- show do
29
- columns do
30
- column do
31
- end
32
- column do
33
- end
34
- end
35
- end
36
-
37
- end
38
- """
39
- Then I should see a columns container
40
- And I should see 2 columns
@@ -1,44 +0,0 @@
1
- Feature: Show - Default Content
2
-
3
- Viewing the show page for a resource
4
-
5
- Background:
6
- Given a unstarred post with the title "Hello World" written by "Jane Doe" exists
7
-
8
- Scenario: Viewing the default show page
9
- Given a show configuration of:
10
- """
11
- ActiveAdmin.register Post
12
- """
13
- Then I should see the attribute "Title" with "Hello World"
14
- And I should see the attribute "Body" with "Empty"
15
- And I should see the attribute "Created At" with a nicely formatted datetime
16
- And I should see the attribute "Author" with "Jane Doe"
17
- And I should see the attribute "Starred" with "No"
18
- And I should see an action item button "Delete Post"
19
- And I should see an action item button "Edit Post"
20
-
21
- Scenario: Attributes should link when linked resource is registered
22
- Given a show configuration of:
23
- """
24
- ActiveAdmin.register Post
25
- ActiveAdmin.register User
26
- """
27
- Then I should see the attribute "Author" with "Jane Doe"
28
- And I should see a link to "Jane Doe"
29
-
30
- Scenario: Customizing the attributes table with a set of attributes
31
- Given a show configuration of:
32
- """
33
- ActiveAdmin.register Post do
34
-
35
- show do
36
- attributes_table :title, :body, :created_at, :updated_at
37
- end
38
-
39
- end
40
- """
41
- Then I should see the attribute "Title" with "Hello World"
42
- And I should see the attribute "Body" with "Empty"
43
- And I should see the attribute "Created At" with a nicely formatted datetime
44
- And I should not see the attribute "Author"
@@ -1,58 +0,0 @@
1
- Feature: Show - Page Title
2
-
3
- Modifying the page title on the show screen
4
-
5
- Background:
6
- Given a post with the title "Hello World" written by "Jane Doe" exists
7
-
8
- Scenario: Set a method to be called on the resource as the title
9
- Given a show configuration of:
10
- """
11
- ActiveAdmin.register Post do
12
- show title: :title
13
- end
14
- """
15
- Then I should see the page title "Hello World"
16
-
17
- Scenario: Set a string as the title
18
- Given a show configuration of:
19
- """
20
- ActiveAdmin.register Post do
21
- show title: "Title From String"
22
- end
23
- """
24
- Then I should see the page title "Title From String"
25
-
26
- Scenario: Set a proc as the title
27
- Given a show configuration of:
28
- """
29
- ActiveAdmin.register Post do
30
- show title: proc{|post| "Title: " + post.title }
31
- end
32
- """
33
- Then I should see the page title "Title: Hello World"
34
-
35
- Scenario: Default title
36
- Given a show configuration of:
37
- """
38
- ActiveAdmin.register Post
39
- """
40
- Then I should see the page title "Hello World"
41
-
42
- Scenario: Default title with no display name method candidate
43
- Given a show configuration of:
44
- """
45
- ActiveAdmin.register Tag
46
- """
47
- Then I should see the page title "Tag #"
48
-
49
- Scenario: Set the title in controller
50
- Given a show configuration of:
51
- """
52
- ActiveAdmin.register Post do
53
- controller do
54
- before_action { @page_title = "List of #{resource_class.model_name.plural}" }
55
- end
56
- end
57
- """
58
- Then I should see the page title "List of posts"