activeadmin 1.2.1 → 2.13.1

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 (581) hide show
  1. checksums.yaml +5 -5
  2. data/CHANGELOG.md +769 -132
  3. data/CODE_OF_CONDUCT.md +64 -12
  4. data/CONTRIBUTING.md +83 -61
  5. data/README.md +73 -19
  6. data/app/assets/javascripts/active_admin/base.js +524 -0
  7. data/app/assets/stylesheets/active_admin/_base.scss +53 -37
  8. data/app/assets/stylesheets/active_admin/_forms.scss +3 -25
  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/_main_structure.scss +1 -1
  24. data/app/assets/stylesheets/active_admin/structure/_title_bar.scss +0 -1
  25. data/app/javascript/active_admin/base.js +28 -0
  26. data/app/javascript/active_admin/ext/jquery-ui.js +7 -0
  27. data/app/javascript/active_admin/ext/jquery.js +9 -0
  28. data/app/javascript/active_admin/initializers/batch-actions.js +61 -0
  29. data/app/javascript/active_admin/initializers/checkbox-toggler.js +3 -0
  30. data/app/javascript/active_admin/initializers/datepicker.js +16 -0
  31. data/app/javascript/active_admin/initializers/dropdown-menu.js +9 -0
  32. data/app/javascript/active_admin/initializers/filters.js +10 -0
  33. data/app/javascript/active_admin/initializers/has-many.js +98 -0
  34. data/app/javascript/active_admin/initializers/per-page.js +13 -0
  35. data/app/javascript/active_admin/initializers/table-checkbox-toggler.js +3 -0
  36. data/app/javascript/active_admin/initializers/tabs.js +6 -0
  37. data/app/javascript/active_admin/lib/checkbox-toggler.js +49 -0
  38. data/app/javascript/active_admin/lib/dropdown-menu.js +116 -0
  39. data/app/javascript/active_admin/lib/filters.js +39 -0
  40. data/app/javascript/active_admin/lib/modal-dialog.js +63 -0
  41. data/app/javascript/active_admin/lib/per-page.js +38 -0
  42. data/app/javascript/active_admin/lib/table-checkbox-toggler.js +38 -0
  43. data/app/javascript/active_admin/lib/utils.js +40 -0
  44. data/app/views/active_admin/devise/confirmations/new.html.erb +2 -2
  45. data/app/views/active_admin/devise/mailer/reset_password_instructions.html.erb +1 -1
  46. data/app/views/active_admin/devise/mailer/unlock_instructions.html.erb +2 -2
  47. data/app/views/active_admin/devise/passwords/edit.html.erb +2 -2
  48. data/app/views/active_admin/devise/passwords/new.html.erb +2 -2
  49. data/app/views/active_admin/devise/registrations/new.html.erb +2 -3
  50. data/app/views/active_admin/devise/sessions/new.html.erb +1 -1
  51. data/app/views/active_admin/devise/shared/_error_messages.html.erb +15 -0
  52. data/app/views/active_admin/devise/shared/_links.erb +1 -1
  53. data/app/views/active_admin/devise/unlocks/new.html.erb +2 -2
  54. data/app/views/active_admin/page/index.html.arb +1 -0
  55. data/app/views/active_admin/resource/edit.html.arb +1 -0
  56. data/app/views/active_admin/resource/index.html.arb +1 -0
  57. data/app/views/active_admin/resource/new.html.arb +1 -0
  58. data/app/views/active_admin/resource/show.html.arb +1 -0
  59. data/app/views/kaminari/active_admin_countless/_first_page.html.erb +11 -0
  60. data/app/views/kaminari/active_admin_countless/_gap.html.erb +8 -0
  61. data/app/views/kaminari/active_admin_countless/_next_page.html.erb +11 -0
  62. data/app/views/kaminari/active_admin_countless/_page.html.erb +12 -0
  63. data/app/views/kaminari/active_admin_countless/_paginator.html.erb +24 -0
  64. data/app/views/kaminari/active_admin_countless/_prev_page.html.erb +11 -0
  65. data/app/views/layouts/active_admin.html.arb +1 -0
  66. data/app/views/layouts/active_admin_logged_out.html.erb +17 -7
  67. data/config/locales/ar.yml +9 -8
  68. data/config/locales/az.yml +138 -0
  69. data/config/locales/bg.yml +1 -1
  70. data/config/locales/bs.yml +1 -0
  71. data/config/locales/ca.yml +1 -1
  72. data/config/locales/cs.yml +1 -0
  73. data/config/locales/da.yml +1 -0
  74. data/config/locales/de-CH.yml +1 -0
  75. data/config/locales/de.yml +29 -0
  76. data/config/locales/el.yml +1 -0
  77. data/config/locales/en-CA.yml +4 -3
  78. data/config/locales/en-GB.yml +4 -3
  79. data/config/locales/en.yml +23 -4
  80. data/config/locales/eo.yml +1 -0
  81. data/config/locales/es-MX.yml +3 -1
  82. data/config/locales/es.yml +26 -6
  83. data/config/locales/fa.yml +1 -0
  84. data/config/locales/fi.yml +2 -1
  85. data/config/locales/fr.yml +6 -5
  86. data/config/locales/he.yml +1 -1
  87. data/config/locales/hr.yml +1 -0
  88. data/config/locales/hu.yml +5 -0
  89. data/config/locales/id.yml +1 -0
  90. data/config/locales/it.yml +23 -0
  91. data/config/locales/ja.yml +4 -3
  92. data/config/locales/ko.yml +2 -1
  93. data/config/locales/lt.yml +3 -2
  94. data/config/locales/lv.yml +3 -2
  95. data/config/locales/mk.yml +134 -0
  96. data/config/locales/nb.yml +16 -5
  97. data/config/locales/nl.yml +13 -1
  98. data/config/locales/pl.yml +72 -3
  99. data/config/locales/pt-BR.yml +1 -0
  100. data/config/locales/pt-PT.yml +1 -0
  101. data/config/locales/ro.yml +4 -2
  102. data/config/locales/ru.yml +3 -0
  103. data/config/locales/sk.yml +60 -0
  104. data/config/locales/sv-SE.yml +1 -0
  105. data/config/locales/tr.yml +10 -0
  106. data/config/locales/uk.yml +3 -0
  107. data/config/locales/vi.yml +7 -5
  108. data/config/locales/zh-CN.yml +34 -5
  109. data/config/locales/zh-TW.yml +1 -0
  110. data/docs/.gitignore +1 -0
  111. data/docs/0-installation.md +29 -5
  112. data/docs/1-general-configuration.md +36 -1
  113. data/docs/10-custom-pages.md +14 -0
  114. data/docs/11-decorators.md +16 -5
  115. data/docs/12-arbre-components.md +41 -1
  116. data/docs/13-authorization-adapter.md +41 -22
  117. data/docs/2-resource-customization.md +19 -5
  118. data/docs/3-index-pages/custom-index.md +1 -1
  119. data/docs/3-index-pages/index-as-blog.md +1 -1
  120. data/docs/3-index-pages/index-as-table.md +12 -5
  121. data/docs/3-index-pages.md +18 -1
  122. data/docs/5-forms.md +25 -5
  123. data/docs/6-show-pages.md +12 -0
  124. data/docs/8-custom-actions.md +12 -1
  125. data/docs/9-batch-actions.md +2 -2
  126. data/docs/CNAME +1 -1
  127. data/docs/Gemfile +4 -2
  128. data/docs/Gemfile.lock +283 -0
  129. data/docs/_config.yml +3 -1
  130. data/docs/_includes/toc.html +1 -1
  131. data/docs/_includes/top-menu.html +9 -1
  132. data/docs/documentation.md +2 -2
  133. data/docs/images/tidelift.svg +14 -0
  134. data/docs/index.html +110 -9
  135. data/docs/stylesheets/main.css +55 -2
  136. data/lib/active_admin/abstract_view_factory.rb +14 -51
  137. data/lib/active_admin/application.rb +65 -172
  138. data/lib/active_admin/application_settings.rb +43 -0
  139. data/lib/active_admin/asset_registration.rb +1 -8
  140. data/lib/active_admin/authorization_adapter.rb +4 -3
  141. data/lib/active_admin/base_controller/authorization.rb +18 -18
  142. data/lib/active_admin/base_controller/menu.rb +1 -0
  143. data/lib/active_admin/base_controller.rb +12 -11
  144. data/lib/active_admin/batch_actions/controller.rb +6 -5
  145. data/lib/active_admin/batch_actions/resource_extension.rb +16 -10
  146. data/lib/active_admin/batch_actions/views/batch_action_form.rb +4 -3
  147. data/lib/active_admin/batch_actions/views/batch_action_selector.rb +7 -6
  148. data/lib/active_admin/batch_actions/views/selection_cells.rb +4 -3
  149. data/lib/active_admin/batch_actions.rb +1 -0
  150. data/lib/active_admin/callbacks.rb +2 -1
  151. data/lib/active_admin/cancan_adapter.rb +2 -1
  152. data/lib/active_admin/collection_decorator.rb +32 -0
  153. data/lib/active_admin/component.rb +1 -0
  154. data/lib/active_admin/controller_action.rb +3 -1
  155. data/lib/active_admin/csv_builder.rb +15 -23
  156. data/lib/active_admin/dependency.rb +14 -77
  157. data/lib/active_admin/deprecation.rb +1 -25
  158. data/lib/active_admin/devise.rb +16 -5
  159. data/lib/active_admin/dsl.rb +3 -9
  160. data/lib/active_admin/dynamic_setting.rb +39 -0
  161. data/lib/active_admin/dynamic_settings_node.rb +29 -0
  162. data/lib/active_admin/engine.rb +16 -7
  163. data/lib/active_admin/error.rb +5 -4
  164. data/lib/active_admin/filters/active.rb +2 -1
  165. data/lib/active_admin/filters/active_filter.rb +12 -11
  166. data/lib/active_admin/filters/active_sidebar.rb +8 -30
  167. data/lib/active_admin/filters/dsl.rb +1 -0
  168. data/lib/active_admin/filters/forms.rb +13 -9
  169. data/lib/active_admin/filters/formtastic_addons.rb +3 -7
  170. data/lib/active_admin/filters/resource_extension.rb +30 -5
  171. data/lib/active_admin/filters.rb +8 -7
  172. data/lib/active_admin/form_builder.rb +110 -70
  173. data/lib/active_admin/generators/boilerplate.rb +13 -4
  174. data/lib/active_admin/helpers/collection.rb +2 -0
  175. data/lib/active_admin/helpers/i18n.rb +1 -0
  176. data/lib/active_admin/helpers/optional_display.rb +3 -2
  177. data/lib/active_admin/helpers/routes/url_helpers.rb +1 -0
  178. data/lib/active_admin/helpers/scope_chain.rb +2 -0
  179. data/lib/active_admin/inputs/datepicker_input.rb +10 -2
  180. data/lib/active_admin/inputs/filters/base/search_method_select.rb +7 -6
  181. data/lib/active_admin/inputs/filters/base.rb +2 -1
  182. data/lib/active_admin/inputs/filters/boolean_input.rb +2 -1
  183. data/lib/active_admin/inputs/filters/check_boxes_input.rb +2 -1
  184. data/lib/active_admin/inputs/filters/date_picker_input.rb +1 -0
  185. data/lib/active_admin/inputs/filters/date_range_input.rb +16 -12
  186. data/lib/active_admin/inputs/filters/numeric_input.rb +1 -0
  187. data/lib/active_admin/inputs/filters/select_input.rb +3 -2
  188. data/lib/active_admin/inputs/filters/string_input.rb +1 -0
  189. data/lib/active_admin/inputs/filters/text_input.rb +1 -0
  190. data/lib/active_admin/inputs.rb +1 -0
  191. data/lib/active_admin/localizers/resource_localizer.rb +4 -3
  192. data/lib/active_admin/localizers.rb +2 -1
  193. data/lib/active_admin/menu.rb +9 -11
  194. data/lib/active_admin/menu_collection.rb +1 -0
  195. data/lib/active_admin/menu_item.rb +11 -38
  196. data/lib/active_admin/namespace.rb +33 -20
  197. data/lib/active_admin/namespace_settings.rb +127 -0
  198. data/lib/active_admin/order_clause.rb +4 -3
  199. data/lib/active_admin/orm/active_record/comments/comment.rb +5 -4
  200. data/lib/active_admin/orm/active_record/comments/namespace_helper.rb +1 -0
  201. data/lib/active_admin/orm/active_record/comments/resource_helper.rb +1 -0
  202. data/lib/active_admin/orm/active_record/comments/show_page_helper.rb +1 -0
  203. data/lib/active_admin/orm/active_record/comments/views/active_admin_comments.rb +30 -24
  204. data/lib/active_admin/orm/active_record/comments/views.rb +3 -2
  205. data/lib/active_admin/orm/active_record/comments.rb +35 -23
  206. data/lib/active_admin/orm/active_record.rb +2 -1
  207. data/lib/active_admin/orm/mongoid.rb +1 -0
  208. data/lib/active_admin/page.rb +2 -1
  209. data/lib/active_admin/page_controller.rb +1 -0
  210. data/lib/active_admin/page_dsl.rb +2 -1
  211. data/lib/active_admin/page_presenter.rb +3 -1
  212. data/lib/active_admin/pundit_adapter.rb +73 -16
  213. data/lib/active_admin/resource/action_items.rb +12 -6
  214. data/lib/active_admin/resource/attributes.rb +9 -5
  215. data/lib/active_admin/resource/belongs_to.rb +9 -3
  216. data/lib/active_admin/resource/controllers.rb +2 -1
  217. data/lib/active_admin/resource/includes.rb +1 -0
  218. data/lib/active_admin/resource/menu.rb +6 -5
  219. data/lib/active_admin/resource/model.rb +16 -0
  220. data/lib/active_admin/resource/naming.rb +6 -5
  221. data/lib/active_admin/resource/ordering.rb +1 -0
  222. data/lib/active_admin/resource/page_presenters.rb +1 -0
  223. data/lib/active_admin/resource/pagination.rb +1 -0
  224. data/lib/active_admin/resource/routes.rb +26 -14
  225. data/lib/active_admin/resource/scope_to.rb +8 -7
  226. data/lib/active_admin/resource/scopes.rb +4 -3
  227. data/lib/active_admin/resource/sidebars.rb +3 -2
  228. data/lib/active_admin/resource.rb +37 -22
  229. data/lib/active_admin/resource_collection.rb +3 -2
  230. data/lib/active_admin/resource_controller/action_builder.rb +11 -0
  231. data/lib/active_admin/resource_controller/data_access.rb +31 -5
  232. data/lib/active_admin/resource_controller/decorators.rb +10 -31
  233. data/lib/active_admin/resource_controller/polymorphic_routes.rb +38 -0
  234. data/lib/active_admin/resource_controller/resource_class_methods.rb +3 -0
  235. data/lib/active_admin/resource_controller/scoping.rb +2 -1
  236. data/lib/active_admin/resource_controller/sidebars.rb +1 -0
  237. data/lib/active_admin/resource_controller/streaming.rb +9 -7
  238. data/lib/active_admin/resource_controller.rb +14 -10
  239. data/lib/active_admin/resource_dsl.rb +16 -28
  240. data/lib/active_admin/router.rb +91 -84
  241. data/lib/active_admin/scope.rb +20 -11
  242. data/lib/active_admin/settings_node.rb +20 -0
  243. data/lib/active_admin/sidebar_section.rb +4 -1
  244. data/lib/active_admin/version.rb +2 -1
  245. data/lib/active_admin/view_factory.rb +18 -17
  246. data/lib/active_admin/view_helpers/active_admin_application_helper.rb +1 -0
  247. data/lib/active_admin/view_helpers/auto_link_helper.rb +1 -0
  248. data/lib/active_admin/view_helpers/breadcrumb_helper.rb +6 -5
  249. data/lib/active_admin/view_helpers/display_helper.rb +25 -8
  250. data/lib/active_admin/view_helpers/download_format_links_helper.rb +3 -1
  251. data/lib/active_admin/view_helpers/fields_for.rb +3 -2
  252. data/lib/active_admin/view_helpers/flash_helper.rb +1 -0
  253. data/lib/active_admin/view_helpers/form_helper.rb +1 -0
  254. data/lib/active_admin/view_helpers/method_or_proc_helper.rb +4 -0
  255. data/lib/active_admin/view_helpers/scope_name_helper.rb +1 -0
  256. data/lib/active_admin/view_helpers/sidebar_helper.rb +1 -0
  257. data/lib/active_admin/view_helpers/title_helper.rb +1 -0
  258. data/lib/active_admin/view_helpers/view_factory_helper.rb +1 -0
  259. data/lib/active_admin/view_helpers.rb +2 -1
  260. data/lib/active_admin/views/action_items.rb +1 -0
  261. data/lib/active_admin/views/components/active_admin_form.rb +14 -8
  262. data/lib/active_admin/views/components/active_filters_sidebar_content.rb +59 -0
  263. data/lib/active_admin/views/components/attributes_table.rb +9 -8
  264. data/lib/active_admin/views/components/blank_slate.rb +2 -1
  265. data/lib/active_admin/views/components/columns.rb +1 -0
  266. data/lib/active_admin/views/components/dropdown_menu.rb +7 -9
  267. data/lib/active_admin/views/components/index_list.rb +4 -3
  268. data/lib/active_admin/views/components/menu.rb +33 -0
  269. data/lib/active_admin/views/components/menu_item.rb +59 -0
  270. data/lib/active_admin/views/components/paginated_collection.rb +22 -20
  271. data/lib/active_admin/views/components/panel.rb +2 -1
  272. data/lib/active_admin/views/components/scopes.rb +18 -8
  273. data/lib/active_admin/views/components/sidebar.rb +14 -0
  274. data/lib/active_admin/views/components/sidebar_section.rb +1 -3
  275. data/lib/active_admin/views/components/site_title.rb +7 -7
  276. data/lib/active_admin/views/components/status_tag.rb +14 -26
  277. data/lib/active_admin/views/components/table_for.rb +22 -29
  278. data/lib/active_admin/views/components/tabs.rb +18 -5
  279. data/lib/active_admin/views/components/unsupported_browser.rb +1 -0
  280. data/lib/active_admin/views/footer.rb +6 -8
  281. data/lib/active_admin/views/header.rb +4 -15
  282. data/lib/active_admin/views/index_as_block.rb +1 -0
  283. data/lib/active_admin/views/index_as_blog.rb +3 -2
  284. data/lib/active_admin/views/index_as_grid.rb +27 -26
  285. data/lib/active_admin/views/index_as_table.rb +34 -25
  286. data/lib/active_admin/views/pages/base.rb +44 -60
  287. data/lib/active_admin/views/pages/form.rb +1 -0
  288. data/lib/active_admin/views/pages/index.rb +16 -13
  289. data/lib/active_admin/views/pages/layout.rb +1 -0
  290. data/lib/active_admin/views/pages/page.rb +1 -0
  291. data/lib/active_admin/views/pages/show.rb +1 -0
  292. data/lib/active_admin/views/tabbed_navigation.rb +5 -59
  293. data/lib/active_admin/views/title_bar.rb +2 -1
  294. data/lib/active_admin/views.rb +2 -1
  295. data/lib/active_admin.rb +68 -63
  296. data/lib/activeadmin.rb +2 -1
  297. data/lib/generators/active_admin/assets/assets_generator.rb +3 -2
  298. data/lib/generators/active_admin/assets/templates/active_admin.js +1 -0
  299. data/lib/generators/active_admin/assets/templates/active_admin.scss +2 -2
  300. data/lib/generators/active_admin/devise/devise_generator.rb +6 -5
  301. data/lib/generators/active_admin/install/install_generator.rb +19 -8
  302. data/lib/generators/active_admin/install/templates/active_admin.rb.erb +45 -3
  303. data/lib/generators/active_admin/install/templates/dashboard.rb +3 -3
  304. data/lib/generators/active_admin/install/templates/migrations/create_active_admin_comments.rb.erb +1 -15
  305. data/lib/generators/active_admin/page/page_generator.rb +2 -1
  306. data/lib/generators/active_admin/page/templates/page.rb +1 -0
  307. data/lib/generators/active_admin/resource/resource_generator.rb +4 -3
  308. data/lib/generators/active_admin/resource/templates/admin.rb.erb +40 -37
  309. data/lib/generators/active_admin/webpacker/plugins/jquery.js +7 -0
  310. data/lib/generators/active_admin/webpacker/templates/active_admin.js +5 -0
  311. data/lib/generators/active_admin/webpacker/templates/active_admin.scss +17 -0
  312. data/lib/generators/active_admin/webpacker/templates/print.scss +2 -0
  313. data/lib/generators/active_admin/webpacker/webpacker_generator.rb +27 -0
  314. data/lib/ransack_ext.rb +10 -9
  315. data/vendor/assets/javascripts/jquery-ui/form-reset-mixin.js +80 -0
  316. data/vendor/assets/javascripts/jquery-ui/form.js +22 -0
  317. data/vendor/assets/javascripts/jquery-ui/labels.js +65 -0
  318. data/vendor/assets/javascripts/jquery-ui/widgets/checkboxradio.js +274 -283
  319. metadata +122 -559
  320. data/.github/ISSUE_TEMPLATE.md +0 -20
  321. data/.gitignore +0 -49
  322. data/.mdlrc +0 -1
  323. data/.rubocop.yml +0 -76
  324. data/.simplecov +0 -13
  325. data/.travis.yml +0 -49
  326. data/.yardopts +0 -7
  327. data/Gemfile +0 -58
  328. data/Rakefile +0 -54
  329. data/activeadmin.gemspec +0 -32
  330. data/app/assets/images/active_admin/nested_menu_arrow.gif +0 -0
  331. data/app/assets/images/active_admin/nested_menu_arrow_dark.gif +0 -0
  332. data/app/assets/images/active_admin/orderable.png +0 -0
  333. data/app/assets/javascripts/active_admin/base.js.coffee +0 -13
  334. data/app/assets/javascripts/active_admin/ext/jquery-ui.js.coffee +0 -6
  335. data/app/assets/javascripts/active_admin/ext/jquery.js.coffee +0 -7
  336. data/app/assets/javascripts/active_admin/initializers/batch_actions.js.coffee +0 -11
  337. data/app/assets/javascripts/active_admin/initializers/datepicker.js.coffee +0 -14
  338. data/app/assets/javascripts/active_admin/initializers/filters.js.coffee +0 -26
  339. data/app/assets/javascripts/active_admin/initializers/tabs.js.coffee +0 -7
  340. data/app/assets/javascripts/active_admin/lib/batch_actions.js.coffee +0 -42
  341. data/app/assets/javascripts/active_admin/lib/checkbox-toggler.js.coffee +0 -46
  342. data/app/assets/javascripts/active_admin/lib/dropdown-menu.js.coffee +0 -104
  343. data/app/assets/javascripts/active_admin/lib/flash.js.coffee +0 -19
  344. data/app/assets/javascripts/active_admin/lib/has_many.js.coffee +0 -79
  345. data/app/assets/javascripts/active_admin/lib/modal_dialog.js.coffee +0 -45
  346. data/app/assets/javascripts/active_admin/lib/per_page.js.coffee +0 -46
  347. data/app/assets/javascripts/active_admin/lib/table-checkbox-toggler.js.coffee +0 -22
  348. data/codecov.yml +0 -25
  349. data/config/i18n-tasks.yml +0 -26
  350. data/config/mdl_style.rb +0 -9
  351. data/cucumber.yml +0 -3
  352. data/features/action_item.feature +0 -73
  353. data/features/authorization.feature +0 -64
  354. data/features/authorization_cancan.feature +0 -52
  355. data/features/authorization_pundit.feature +0 -37
  356. data/features/belongs_to.feature +0 -124
  357. data/features/breadcrumb.feature +0 -75
  358. data/features/comments/commenting.feature +0 -178
  359. data/features/comments/viewing_index.feature +0 -19
  360. data/features/create_another.feature +0 -55
  361. data/features/dashboard.feature +0 -16
  362. data/features/decorators.feature +0 -43
  363. data/features/development_reloading.feature +0 -28
  364. data/features/edit_page.feature +0 -116
  365. data/features/favicon.feature +0 -20
  366. data/features/first_boot.feature +0 -16
  367. data/features/footer.feature +0 -28
  368. data/features/global_navigation.feature +0 -29
  369. data/features/i18n.feature +0 -55
  370. data/features/index/batch_actions.feature +0 -218
  371. data/features/index/filters.feature +0 -250
  372. data/features/index/format_as_csv.feature +0 -220
  373. data/features/index/formats.feature +0 -88
  374. data/features/index/index_as_block.feature +0 -15
  375. data/features/index/index_as_blog.feature +0 -69
  376. data/features/index/index_as_grid.feature +0 -45
  377. data/features/index/index_as_table.feature +0 -291
  378. data/features/index/index_blank_slate.feature +0 -83
  379. data/features/index/index_parameters.feature +0 -75
  380. data/features/index/index_scope_to.feature +0 -56
  381. data/features/index/index_scopes.feature +0 -285
  382. data/features/index/page_title.feature +0 -41
  383. data/features/index/pagination.feature +0 -63
  384. data/features/index/switch_index_view.feature +0 -73
  385. data/features/menu.feature +0 -72
  386. data/features/meta_tags.feature +0 -21
  387. data/features/new_page.feature +0 -136
  388. data/features/registering_assets.feature +0 -38
  389. data/features/registering_pages.feature +0 -237
  390. data/features/registering_resources.feature +0 -33
  391. data/features/renamed_resource.feature +0 -30
  392. data/features/root_to.feature +0 -17
  393. data/features/show/attributes_table_title.feature +0 -54
  394. data/features/show/columns.feature +0 -40
  395. data/features/show/default_content.feature +0 -44
  396. data/features/show/page_title.feature +0 -58
  397. data/features/show/tabs.feature +0 -33
  398. data/features/sidebar_sections.feature +0 -210
  399. data/features/site_title.feature +0 -47
  400. data/features/specifying_actions.feature +0 -118
  401. data/features/step_definitions/action_item_steps.rb +0 -7
  402. data/features/step_definitions/action_link_steps.rb +0 -19
  403. data/features/step_definitions/additional_web_steps.rb +0 -81
  404. data/features/step_definitions/asset_steps.rb +0 -15
  405. data/features/step_definitions/attribute_steps.rb +0 -18
  406. data/features/step_definitions/attributes_table_title_steps.rb +0 -11
  407. data/features/step_definitions/batch_action_steps.rb +0 -81
  408. data/features/step_definitions/blog_steps.rb +0 -3
  409. data/features/step_definitions/breadcrumb_steps.rb +0 -3
  410. data/features/step_definitions/column_steps.rb +0 -8
  411. data/features/step_definitions/comment_steps.rb +0 -32
  412. data/features/step_definitions/configuration_steps.rb +0 -100
  413. data/features/step_definitions/dashboard_steps.rb +0 -15
  414. data/features/step_definitions/factory_steps.rb +0 -35
  415. data/features/step_definitions/filter_steps.rb +0 -47
  416. data/features/step_definitions/flash_steps.rb +0 -11
  417. data/features/step_definitions/footer_steps.rb +0 -11
  418. data/features/step_definitions/format_steps.rb +0 -56
  419. data/features/step_definitions/i18n_steps.rb +0 -11
  420. data/features/step_definitions/index_scope_steps.rb +0 -29
  421. data/features/step_definitions/index_views_steps.rb +0 -3
  422. data/features/step_definitions/layout_steps.rb +0 -3
  423. data/features/step_definitions/member_link_steps.rb +0 -7
  424. data/features/step_definitions/menu_steps.rb +0 -11
  425. data/features/step_definitions/meta_tag_steps.rb +0 -3
  426. data/features/step_definitions/pagination_steps.rb +0 -15
  427. data/features/step_definitions/sidebar_steps.rb +0 -11
  428. data/features/step_definitions/site_title_steps.rb +0 -17
  429. data/features/step_definitions/tab_steps.rb +0 -8
  430. data/features/step_definitions/table_steps.rb +0 -116
  431. data/features/step_definitions/user_steps.rb +0 -52
  432. data/features/step_definitions/web_steps.rb +0 -86
  433. data/features/sti_resource.feature +0 -65
  434. data/features/strong_parameters.feature +0 -69
  435. data/features/support/env.rb +0 -122
  436. data/features/support/paths.rb +0 -73
  437. data/features/support/regular_env.rb +0 -7
  438. data/features/support/reload_env.rb +0 -7
  439. data/features/support/selectors.rb +0 -45
  440. data/features/users/logging_in.feature +0 -36
  441. data/features/users/logging_out.feature +0 -13
  442. data/features/users/resetting_password.feature +0 -34
  443. data/gemfiles/rails_42.gemfile +0 -10
  444. data/gemfiles/rails_50.gemfile +0 -10
  445. data/gemfiles/rails_51.gemfile +0 -10
  446. data/lib/active_admin/event.rb +0 -24
  447. data/lib/active_admin/helpers/output_safety_helper.rb +0 -35
  448. data/lib/active_admin/helpers/settings.rb +0 -114
  449. data/lib/active_admin/reloader.rb +0 -25
  450. data/lib/bug_report_templates/active_admin_master.rb +0 -112
  451. data/lib/generators/active_admin/assets/templates/active_admin.js.coffee +0 -1
  452. data/spec/bug_report_templates_spec.rb +0 -26
  453. data/spec/javascripts/coffeescripts/jquery.aa.checkbox-toggler-spec.js.coffee +0 -50
  454. data/spec/javascripts/coffeescripts/jquery.aa.flash.js.coffee +0 -25
  455. data/spec/javascripts/coffeescripts/jquery.aa.table-checkbox-toggler-spec.js.coffee +0 -34
  456. data/spec/javascripts/fixtures/checkboxes.html +0 -9
  457. data/spec/javascripts/fixtures/flashes.html +0 -2
  458. data/spec/javascripts/fixtures/table_checkboxes.html +0 -17
  459. data/spec/javascripts/helpers/SpecHelper.js +0 -3
  460. data/spec/javascripts/support/jasmine.yml +0 -74
  461. data/spec/javascripts/support/jasmine_runner.rb +0 -19
  462. data/spec/rails_helper.rb +0 -59
  463. data/spec/requests/default_namespace_spec.rb +0 -81
  464. data/spec/requests/memory_spec.rb +0 -25
  465. data/spec/requests/stylesheets_spec.rb +0 -18
  466. data/spec/spec_helper.rb +0 -1
  467. data/spec/support/active_admin_integration_spec_helper.rb +0 -73
  468. data/spec/support/active_admin_request_helpers.rb +0 -39
  469. data/spec/support/rails_template.rb +0 -153
  470. data/spec/support/rails_template_with_data.rb +0 -327
  471. data/spec/support/templates/admin/stores.rb +0 -7
  472. data/spec/support/templates/en.yml +0 -8
  473. data/spec/support/templates/manifest.js +0 -3
  474. data/spec/support/templates/policies/active_admin/comment_policy.rb +0 -9
  475. data/spec/support/templates/policies/active_admin/page_policy.rb +0 -18
  476. data/spec/support/templates/policies/admin_user_policy.rb +0 -11
  477. data/spec/support/templates/policies/application_policy.rb +0 -44
  478. data/spec/support/templates/policies/category_policy.rb +0 -7
  479. data/spec/support/templates/policies/post_policy.rb +0 -15
  480. data/spec/support/templates/policies/store_policy.rb +0 -11
  481. data/spec/support/templates/policies/user_policy.rb +0 -11
  482. data/spec/support/templates/post_decorator.rb +0 -24
  483. data/spec/unit/abstract_view_factory_spec.rb +0 -78
  484. data/spec/unit/action_builder_spec.rb +0 -158
  485. data/spec/unit/active_admin_spec.rb +0 -11
  486. data/spec/unit/application_spec.rb +0 -184
  487. data/spec/unit/asset_registration_spec.rb +0 -81
  488. data/spec/unit/authorization/authorization_adapter_spec.rb +0 -61
  489. data/spec/unit/authorization/controller_authorization_spec.rb +0 -43
  490. data/spec/unit/authorization/index_overriding_spec.rb +0 -23
  491. data/spec/unit/auto_link_spec.rb +0 -93
  492. data/spec/unit/batch_actions/resource_spec.rb +0 -84
  493. data/spec/unit/batch_actions/settings_spec.rb +0 -61
  494. data/spec/unit/belongs_to_spec.rb +0 -76
  495. data/spec/unit/cancan_adapter_spec.rb +0 -43
  496. data/spec/unit/comments_spec.rb +0 -176
  497. data/spec/unit/component_spec.rb +0 -18
  498. data/spec/unit/config_shared_examples.rb +0 -59
  499. data/spec/unit/controller_filters_spec.rb +0 -41
  500. data/spec/unit/csv_builder_spec.rb +0 -313
  501. data/spec/unit/dependency_spec.rb +0 -135
  502. data/spec/unit/devise_spec.rb +0 -110
  503. data/spec/unit/dsl_spec.rb +0 -120
  504. data/spec/unit/filters/active_filter_spec.rb +0 -189
  505. data/spec/unit/filters/active_spec.rb +0 -24
  506. data/spec/unit/filters/filter_form_builder_spec.rb +0 -524
  507. data/spec/unit/filters/resource_spec.rb +0 -128
  508. data/spec/unit/form_builder_spec.rb +0 -990
  509. data/spec/unit/generators/install_spec.rb +0 -31
  510. data/spec/unit/helpers/collection_spec.rb +0 -68
  511. data/spec/unit/helpers/output_safety_helper_spec.rb +0 -79
  512. data/spec/unit/helpers/scope_chain_spec.rb +0 -35
  513. data/spec/unit/helpers/settings_spec.rb +0 -30
  514. data/spec/unit/i18n_spec.rb +0 -29
  515. data/spec/unit/localizers/resource_localizer_spec.rb +0 -36
  516. data/spec/unit/menu_collection_spec.rb +0 -62
  517. data/spec/unit/menu_item_spec.rb +0 -141
  518. data/spec/unit/menu_spec.rb +0 -71
  519. data/spec/unit/namespace/authorization_spec.rb +0 -27
  520. data/spec/unit/namespace/register_page_spec.rb +0 -99
  521. data/spec/unit/namespace/register_resource_spec.rb +0 -162
  522. data/spec/unit/namespace_spec.rb +0 -124
  523. data/spec/unit/order_clause_spec.rb +0 -81
  524. data/spec/unit/page_controller_spec.rb +0 -5
  525. data/spec/unit/page_spec.rb +0 -128
  526. data/spec/unit/pretty_format_spec.rb +0 -82
  527. data/spec/unit/pundit_adapter_spec.rb +0 -98
  528. data/spec/unit/resource/action_items_spec.rb +0 -69
  529. data/spec/unit/resource/attributes_spec.rb +0 -49
  530. data/spec/unit/resource/includes_spec.rb +0 -21
  531. data/spec/unit/resource/menu_spec.rb +0 -18
  532. data/spec/unit/resource/naming_spec.rb +0 -122
  533. data/spec/unit/resource/ordering_spec.rb +0 -35
  534. data/spec/unit/resource/page_presenters_spec.rb +0 -44
  535. data/spec/unit/resource/pagination_spec.rb +0 -38
  536. data/spec/unit/resource/routes_spec.rb +0 -125
  537. data/spec/unit/resource/scopes_spec.rb +0 -50
  538. data/spec/unit/resource/sidebars_spec.rb +0 -43
  539. data/spec/unit/resource_collection_spec.rb +0 -175
  540. data/spec/unit/resource_controller/data_access_spec.rb +0 -234
  541. data/spec/unit/resource_controller/decorators_spec.rb +0 -94
  542. data/spec/unit/resource_controller/sidebars_spec.rb +0 -37
  543. data/spec/unit/resource_controller_spec.rb +0 -273
  544. data/spec/unit/resource_registration_spec.rb +0 -61
  545. data/spec/unit/resource_spec.rb +0 -320
  546. data/spec/unit/routing_spec.rb +0 -211
  547. data/spec/unit/scope_spec.rb +0 -209
  548. data/spec/unit/settings_spec.rb +0 -117
  549. data/spec/unit/view_factory_spec.rb +0 -19
  550. data/spec/unit/view_helpers/breadcrumbs_spec.rb +0 -253
  551. data/spec/unit/view_helpers/display_helper_spec.rb +0 -203
  552. data/spec/unit/view_helpers/download_format_links_helper_spec.rb +0 -39
  553. data/spec/unit/view_helpers/fields_for_spec.rb +0 -50
  554. data/spec/unit/view_helpers/flash_helper_spec.rb +0 -24
  555. data/spec/unit/view_helpers/form_helper_spec.rb +0 -42
  556. data/spec/unit/view_helpers/method_or_proc_helper_spec.rb +0 -138
  557. data/spec/unit/views/components/attributes_table_spec.rb +0 -271
  558. data/spec/unit/views/components/batch_action_selector_spec.rb +0 -43
  559. data/spec/unit/views/components/blank_slate_spec.rb +0 -27
  560. data/spec/unit/views/components/columns_spec.rb +0 -187
  561. data/spec/unit/views/components/index_list_spec.rb +0 -49
  562. data/spec/unit/views/components/index_table_for_spec.rb +0 -127
  563. data/spec/unit/views/components/paginated_collection_spec.rb +0 -249
  564. data/spec/unit/views/components/panel_spec.rb +0 -58
  565. data/spec/unit/views/components/sidebar_section_spec.rb +0 -68
  566. data/spec/unit/views/components/site_title_spec.rb +0 -76
  567. data/spec/unit/views/components/status_tag_spec.rb +0 -265
  568. data/spec/unit/views/components/table_for_spec.rb +0 -436
  569. data/spec/unit/views/components/tabs_spec.rb +0 -67
  570. data/spec/unit/views/components/unsupported_browser_spec.rb +0 -41
  571. data/spec/unit/views/index_as_blog_spec.rb +0 -76
  572. data/spec/unit/views/pages/form_spec.rb +0 -54
  573. data/spec/unit/views/pages/index_spec.rb +0 -60
  574. data/spec/unit/views/pages/layout_spec.rb +0 -59
  575. data/spec/unit/views/pages/show_spec.rb +0 -32
  576. data/spec/unit/views/tabbed_navigation_spec.rb +0 -158
  577. data/tasks/docs.rake +0 -64
  578. data/tasks/lint.rake +0 -21
  579. data/tasks/local.rake +0 -25
  580. data/tasks/parallel_tests.rake +0 -66
  581. data/tasks/test.rake +0 -29
@@ -1,79 +0,0 @@
1
- $ ->
2
- # Provides a before-removal hook:
3
- # $ ->
4
- # # This is a good place to tear down JS plugins to prevent memory leaks.
5
- # $(document).on 'has_many_remove:before', '.has_many_container', (e, fieldset, container)->
6
- # fieldset.find('.select2').select2 'destroy'
7
- #
8
- # # If you need to do anything after removing the items you can use the
9
- # has_many_remove:after hook
10
- # $(document).on 'has_many_remove:after', '.has_many_container', (e, fieldset, container)->
11
- # list_item_count = container.find('.has_many_fields').length
12
- # alert("There are now #{list_item_count} items in the list")
13
- #
14
- $(document).on 'click', 'a.button.has_many_remove', (e)->
15
- e.preventDefault()
16
- parent = $(@).closest '.has_many_container'
17
- to_remove = $(@).closest 'fieldset'
18
- recompute_positions parent
19
-
20
- parent.trigger 'has_many_remove:before', [to_remove, parent]
21
- to_remove.remove()
22
- parent.trigger 'has_many_remove:after', [to_remove, parent]
23
-
24
- # Provides before and after creation hooks:
25
- # $ ->
26
- # # The before hook allows you to prevent the creation of new records.
27
- # $(document).on 'has_many_add:before', '.has_many_container', (e, container)->
28
- # if $(@).children('fieldset').length >= 3
29
- # alert "you've reached the maximum number of items"
30
- # e.preventDefault()
31
- #
32
- # # The after hook is a good place to initialize JS plugins and the like.
33
- # $(document).on 'has_many_add:after', '.has_many_container', (e, fieldset, container)->
34
- # fieldset.find('select').chosen()
35
- #
36
- $(document).on 'click', 'a.button.has_many_add', (e)->
37
- e.preventDefault()
38
- parent = $(@).closest '.has_many_container'
39
- parent.trigger before_add = $.Event('has_many_add:before'), [parent]
40
-
41
- unless before_add.isDefaultPrevented()
42
- index = parent.data('has_many_index') || parent.children('fieldset').length - 1
43
- parent.data has_many_index: ++index
44
-
45
- regex = new RegExp $(@).data('placeholder'), 'g'
46
- html = $(@).data('html').replace regex, index
47
-
48
- fieldset = $(html).insertBefore(@)
49
- recompute_positions parent
50
- parent.trigger 'has_many_add:after', [fieldset, parent]
51
-
52
- $(document).on 'change','.has_many_container[data-sortable] :input[name$="[_destroy]"]', ->
53
- recompute_positions $(@).closest '.has_many'
54
-
55
- init_sortable()
56
- $(document).on 'has_many_add:after', '.has_many_container', init_sortable
57
-
58
-
59
- init_sortable = ->
60
- elems = $('.has_many_container[data-sortable]:not(.ui-sortable)')
61
- elems.sortable \
62
- items: '> fieldset',
63
- handle: '> ol > .handle',
64
- stop: recompute_positions
65
- elems.each recompute_positions
66
-
67
- recompute_positions = (parent)->
68
- parent = if parent instanceof jQuery then parent else $(@)
69
- input_name = parent.data 'sortable'
70
- position = parseInt(parent.data('sortable-start') || 0, 10)
71
-
72
- parent.children('fieldset').each ->
73
- # We ignore nested inputs, so when defining your has_many, be sure to keep
74
- # your sortable input at the root of the has_many block.
75
- destroy_input = $(@).find "> ol > .input > :input[name$='[_destroy]']"
76
- sortable_input = $(@).find "> ol > .input > :input[name$='[#{input_name}]']"
77
-
78
- if sortable_input.length
79
- sortable_input.val if destroy_input.is ':checked' then '' else position++
@@ -1,45 +0,0 @@
1
- ActiveAdmin.modal_dialog = (message, inputs, callback)->
2
- html = """<form id="dialog_confirm" title="#{message}"><ul>"""
3
- for name, type of inputs
4
- if /^(datepicker|checkbox|text|number)$/.test type
5
- wrapper = 'input'
6
- else if type is 'textarea'
7
- wrapper = 'textarea'
8
- else if $.isArray type
9
- [wrapper, elem, opts, type] = ['select', 'option', type, '']
10
- else
11
- throw new Error "Unsupported input type: {#{name}: #{type}}"
12
-
13
- klass = if type is 'datepicker' then type else ''
14
- html += """<li>
15
- <label>#{name.charAt(0).toUpperCase() + name.slice(1)}</label>
16
- <#{wrapper} name="#{name}" class="#{klass}" type="#{type}">""" +
17
- (if opts then (
18
- for v in opts
19
- $elem = $("<#{elem}/>")
20
- if $.isArray v
21
- $elem.text(v[0]).val(v[1])
22
- else
23
- $elem.text(v)
24
- $elem.wrap('<div>').parent().html()
25
- ).join '' else '') +
26
- "</#{wrapper}>" +
27
- "</li>"
28
- [wrapper, elem, opts, type, klass] = [] # unset any temporary variables
29
-
30
- html += "</ul></form>"
31
-
32
- form = $(html).appendTo('body')
33
- $('body').trigger 'modal_dialog:before_open', [form]
34
-
35
- form.dialog
36
- modal: true
37
- open: (event, ui) ->
38
- $('body').trigger 'modal_dialog:after_open', [form]
39
- dialogClass: 'active_admin_dialog'
40
- buttons:
41
- OK: ->
42
- callback $(@).serializeObject()
43
- $(@).dialog('close')
44
- Cancel: ->
45
- $(@).dialog('close').remove()
@@ -1,46 +0,0 @@
1
- class ActiveAdmin.PerPage
2
- constructor: (@options, @element)->
3
- @$element = $(@element)
4
- @_init()
5
- @_bind()
6
-
7
- _init: ->
8
- @$params = @_queryParams()
9
-
10
- _bind: ->
11
- @$element.change =>
12
- @$params['per_page'] = @$element.val()
13
- delete @$params['page']
14
- if typeof Turbolinks != 'undefined'
15
- Turbolinks.visit(window.location.href.split('?')[0] + '?' + $.param(@$params))
16
- else
17
- location.search = $.param(@$params)
18
-
19
- _queryParams: ->
20
- query = window.location.search.substring(1)
21
- params = {}
22
- re = /([^&=]+)=([^&]*)/g
23
- while m = re.exec(query)
24
- params[@_decode(m[1])] = @_decode(m[2])
25
- params
26
-
27
- _decode: (value) ->
28
- #replace "+" before decodeURIComponent
29
- decodeURIComponent(value.replace(/\+/g, '%20'))
30
-
31
- option: (key, value) ->
32
- if $.isPlainObject(key)
33
- @options = $.extend(true, @options, key)
34
- else if key?
35
- @options[key]
36
- else
37
- @options[key] = value
38
-
39
- $.widget.bridge 'perPage', ActiveAdmin.PerPage
40
-
41
- onDOMReady = ->
42
- $('.pagination_per_page select').perPage()
43
-
44
- $(document).
45
- ready(onDOMReady).
46
- on 'page:load turbolinks:load', onDOMReady
@@ -1,22 +0,0 @@
1
- class ActiveAdmin.TableCheckboxToggler extends ActiveAdmin.CheckboxToggler
2
- _init: ->
3
- super
4
-
5
- _bind: ->
6
- super
7
-
8
- @$container.find('tbody td').click (e)=>
9
- @_didClickCell(e.target) if e.target.type isnt 'checkbox'
10
-
11
- _didChangeCheckbox: (checkbox) ->
12
- super
13
-
14
- $(checkbox).parents('tr').toggleClass 'selected', checkbox.checked
15
-
16
- _didChangeToggleAllCheckbox: ->
17
- @$container.find('tbody tr').toggleClass 'selected', super
18
-
19
- _didClickCell: (cell) ->
20
- $(cell).parent('tr').find(':checkbox').click()
21
-
22
- $.widget.bridge 'tableCheckboxToggler', ActiveAdmin.TableCheckboxToggler
data/codecov.yml DELETED
@@ -1,25 +0,0 @@
1
- ---
2
-
3
- codecov:
4
- notify:
5
- require_ci_to_pass: true
6
-
7
- comment: off
8
-
9
- coverage:
10
- precision: 2
11
-
12
- range:
13
- - 70.0
14
- - 100.0
15
-
16
- round: down
17
-
18
- status:
19
- changes: false
20
-
21
- patch: true
22
-
23
- project:
24
- default:
25
- threshold: 1%
@@ -1,26 +0,0 @@
1
- ---
2
-
3
- # The "main" locale
4
- base_locale: en
5
-
6
- # Read and write translations
7
- data:
8
- yaml:
9
- write:
10
- # Do not wrap lines at 80 characters
11
- line_width: -1
12
-
13
- # Find translate calls
14
- search:
15
- # Paths or `File.find` patterns to search in
16
- paths:
17
- - app
18
- - lib
19
-
20
- # Files or `File.fnmatch` patterns to exclude from search
21
- exclude:
22
- - app/assets/images
23
- - lib/bug_report_templates/tmp
24
-
25
- # Guess usages such as t("categories.#{category}.title")
26
- strict: false
data/config/mdl_style.rb DELETED
@@ -1,9 +0,0 @@
1
- all
2
-
3
- exclude_rule "first-header-h1"
4
-
5
- exclude_rule "line-length"
6
-
7
- rule "no-trailing-punctuation", punctuation: ".,;:!"
8
-
9
- exclude_rule "first-line-h1"
data/cucumber.yml DELETED
@@ -1,3 +0,0 @@
1
- default: --format 'progress' --require features/support/regular_env.rb features --tags ~@requires-reloading --tags ~@wip
2
- wip: --format 'progress' --require features/support/env.rb features --tags @wip:3 --wip features
3
- class-reloading: CLASS_RELOADING=true --format 'progress' --require features/support/reload_env.rb features --tags @requires-reloading
@@ -1,73 +0,0 @@
1
- Feature: Action Item
2
-
3
- Creating and Configuring action items
4
-
5
- Background:
6
- Given I am logged in
7
- And a post with the title "Hello World" exists
8
-
9
- Scenario: Create an member action
10
- Given a configuration of:
11
- """
12
- ActiveAdmin.register Post do
13
- action_item :embiggen do
14
- link_to "Embiggen", '/'
15
- end
16
- end
17
- """
18
- When I am on the index page for posts
19
- Then I should not see a member link to "Embiggen"
20
-
21
- When I follow "View"
22
- Then I should see an action item link to "Embiggen"
23
-
24
- When I follow "Edit Post"
25
- Then I should see an action item link to "Embiggen"
26
-
27
- When I am on the index page for posts
28
- When I follow "New Post"
29
- Then I should see an action item link to "Embiggen"
30
-
31
- Scenario: Create an member action with if clause that returns true
32
- Given a configuration of:
33
- """
34
- ActiveAdmin.register Post do
35
- action_item :embiggen, if: proc{ !current_active_admin_user.nil? } do
36
- link_to "Embiggen", '/'
37
- end
38
- end
39
- """
40
- When I am on the index page for posts
41
- Then I should not see a member link to "Embiggen"
42
-
43
- When I follow "View"
44
- Then I should see an action item link to "Embiggen"
45
-
46
- When I follow "Edit Post"
47
- Then I should see an action item link to "Embiggen"
48
-
49
- When I am on the index page for posts
50
- When I follow "New Post"
51
- Then I should see an action item link to "Embiggen"
52
-
53
- Scenario: Create an member action with if clause that returns false
54
- Given a configuration of:
55
- """
56
- ActiveAdmin.register Post do
57
- action_item :embiggen, if: proc{ current_active_admin_user.nil? } do
58
- link_to "Embiggen", '/'
59
- end
60
- end
61
- """
62
- When I am on the index page for posts
63
- Then I should not see a member link to "Embiggen"
64
-
65
- When I follow "View"
66
- Then I should not see an action item link to "Embiggen"
67
-
68
- When I follow "Edit Post"
69
- Then I should not see an action item link to "Embiggen"
70
-
71
- When I am on the index page for posts
72
- When I follow "New Post"
73
- Then I should not see an action item link to "Embiggen"
@@ -1,64 +0,0 @@
1
- Feature: Authorizing Access
2
-
3
- Ensure that access denied exceptions are managed
4
-
5
- Background:
6
- Given I am logged in
7
- And 1 post exists
8
- And a configuration of:
9
- """
10
- class OnlyAuthorsAuthorization < ActiveAdmin::AuthorizationAdapter
11
-
12
- def authorized?(action, subject = nil)
13
- case subject
14
-
15
- when normalized(Post)
16
- case action
17
- when ActiveAdmin::Auth::UPDATE, ActiveAdmin::Auth::DESTROY
18
- false
19
- else
20
- true
21
- end
22
-
23
- when ActiveAdmin::Page
24
- if subject.name == "No Access"
25
- false
26
- else
27
- true
28
- end
29
-
30
- else
31
- false
32
- end
33
- end
34
-
35
- end
36
-
37
- ActiveAdmin.application.namespace(:admin).authorization_adapter = OnlyAuthorsAuthorization
38
-
39
- ActiveAdmin.register Post do
40
- end
41
-
42
- ActiveAdmin.register_page "No Access" do
43
- end
44
- """
45
- And I am on the index page for posts
46
-
47
- @allow-rescue
48
- Scenario: Attempt to access a resource I am not authorized to see
49
- When I go to the last post's edit page
50
- Then I should see "You are not authorized to perform this action"
51
-
52
- Scenario: Viewing the default action items
53
- When I follow "View"
54
- Then I should not see an action item link to "Edit"
55
-
56
- @allow-rescue
57
- Scenario: Attempting to visit a Page without authorization
58
- When I go to the admin no access page
59
- Then I should see "You are not authorized to perform this action"
60
-
61
- @allow-rescue
62
- Scenario: Viewing a page with authorization
63
- When I go to the admin dashboard page
64
- Then I should see "Dashboard"
@@ -1,52 +0,0 @@
1
- Feature: Authorizing Access using CanCan
2
-
3
- Background:
4
- Given I am logged in
5
- And 1 post exists
6
- And a configuration of:
7
- """
8
- require 'cancan'
9
-
10
- class ::Ability
11
- include ::CanCan::Ability
12
-
13
- def initialize(user)
14
- # Manage Posts
15
- can [:edit, :destroy], Post, author_id: user.id
16
- can :read, Post
17
-
18
- # View Pages
19
- can :read, ActiveAdmin::Page, name: "Dashboard"
20
- cannot :read, ActiveAdmin::Page, name: "No Access"
21
- end
22
-
23
- end
24
-
25
- ActiveAdmin.application.namespace(:admin).authorization_adapter = ActiveAdmin::CanCanAdapter
26
-
27
- ActiveAdmin.register Post do
28
- end
29
-
30
- ActiveAdmin.register_page "No Access" do
31
- end
32
- """
33
- And I am on the index page for posts
34
-
35
- @allow-rescue
36
- Scenario: Attempt to access a resource I am not authorized to see
37
- When I go to the last post's edit page
38
- Then I should see "You are not authorized to perform this action"
39
-
40
- Scenario: Viewing the default action items
41
- When I follow "View"
42
- Then I should not see an action item link to "Edit"
43
-
44
- @allow-rescue
45
- Scenario: Attempting to visit a Page without authorization
46
- When I go to the admin no access page
47
- Then I should see "You are not authorized to perform this action"
48
-
49
- @allow-rescue
50
- Scenario: Viewing a page with authorization
51
- When I go to the admin dashboard page
52
- Then I should see "Dashboard"
@@ -1,37 +0,0 @@
1
- Feature: Authorizing Access using Pundit
2
-
3
- Background:
4
- Given I am logged in
5
- And 1 post exists
6
- And a configuration of:
7
- """
8
- require 'pundit'
9
-
10
- ActiveAdmin.application.namespace(:admin).authorization_adapter = ActiveAdmin::PunditAdapter
11
-
12
- ActiveAdmin.register Post do
13
- end
14
-
15
- ActiveAdmin.register_page "No Access" do
16
- end
17
- """
18
- And I am on the index page for posts
19
-
20
- @allow-rescue
21
- Scenario: Attempt to access a resource I am not authorized to see
22
- When I go to the last post's edit page
23
- Then I should see "You are not authorized to perform this action"
24
-
25
- Scenario: Viewing the default action items
26
- When I follow "View"
27
- Then I should not see an action item link to "Edit"
28
-
29
- @allow-rescue
30
- Scenario: Attempting to visit a Page without authorization
31
- When I go to the admin no access page
32
- Then I should see "You are not authorized to perform this action"
33
-
34
- @allow-rescue
35
- Scenario: Viewing a page with authorization
36
- When I go to the admin dashboard page
37
- Then I should see "Dashboard"
@@ -1,124 +0,0 @@
1
- Feature: Belongs To
2
-
3
- A resource belongs to another resource
4
-
5
- Background:
6
- Given I am logged in
7
- And a post with the title "Hello World" written by "John Doe" exists
8
- And a post with the title "Hello World" written by "Jane Doe" exists
9
-
10
- Scenario: Viewing the child resource index page
11
- Given a configuration of:
12
- """
13
- ActiveAdmin.register User
14
- ActiveAdmin.register Post do
15
- belongs_to :user
16
- end
17
- """
18
- When I go to the last author's posts
19
- Then the "Users" tab should be selected
20
- And I should not see a menu item for "Posts"
21
- And I should see "Displaying 1 Post"
22
- And I should see a link to "Users" in the breadcrumb
23
- And I should see a link to "Jane Doe" in the breadcrumb
24
-
25
- Scenario: Updating a child resource page
26
- Given a configuration of:
27
- """
28
- ActiveAdmin.register User
29
- ActiveAdmin.register Post do
30
- belongs_to :user
31
- permit_params :title, :body, :published_date
32
-
33
- form do |f|
34
- f.inputs "Your Post" do
35
- f.input :title
36
- f.input :body
37
- end
38
- f.inputs "Publishing" do
39
- f.input :published_date
40
- end
41
- f.actions
42
- end
43
- end
44
- """
45
- When I go to the last author's last post page
46
- Then I follow "Edit Post"
47
- Then I should see the element "form[action='/admin/users/2/posts/2']"
48
- Then I should see a link to "Hello World" in the breadcrumb
49
-
50
- When I press "Update Post"
51
- Then I should see "Post was successfully updated."
52
-
53
- Scenario: Creating a child resource page
54
- Given a configuration of:
55
- """
56
- ActiveAdmin.register User
57
- ActiveAdmin.register Post do
58
- belongs_to :user
59
- permit_params :title, :body, :published_date
60
-
61
- form do |f|
62
- f.inputs "Your Post" do
63
- f.input :title
64
- f.input :body
65
- end
66
- f.inputs "Publishing" do
67
- f.input :published_date
68
- end
69
- f.actions
70
- end
71
- end
72
- """
73
- When I go to the last author's posts
74
- Then I follow "New Post"
75
- Then I should see the element "form[action='/admin/users/2/posts']"
76
- Then I fill in "Title" with "Hello World"
77
- Then I fill in "Body" with "This is the body"
78
-
79
- When I press "Create Post"
80
- Then I should see "Post was successfully created."
81
- And I should see the attribute "Title" with "Hello World"
82
- And I should see the attribute "Body" with "This is the body"
83
- And I should see the attribute "Author" with "Jane Doe"
84
-
85
- Scenario: Viewing a child resource page
86
- Given a configuration of:
87
- """
88
- ActiveAdmin.register User
89
- ActiveAdmin.register Post do
90
- belongs_to :user
91
- end
92
- """
93
- When I go to the last author's posts
94
- And I follow "View"
95
- Then I should be on the last author's last post page
96
- And the "Users" tab should be selected
97
-
98
- Scenario: When the belongs to is optional
99
- Given a configuration of:
100
- """
101
- ActiveAdmin.register User
102
- ActiveAdmin.register Post do
103
- belongs_to :user, optional: true
104
- end
105
- """
106
- When I go to the last author's posts
107
- Then the "Users" tab should be selected
108
- And I should see a menu item for "Posts"
109
-
110
- When I follow "Posts"
111
- Then the "Posts" tab should be selected
112
-
113
- Scenario: Displaying belongs to resources in main menu
114
- Given a configuration of:
115
- """
116
- ActiveAdmin.register User
117
- ActiveAdmin.register Post do
118
- belongs_to :user
119
- navigation_menu :user
120
- end
121
- """
122
- When I go to the last author's posts
123
- And I follow "View"
124
- Then the "Posts" tab should be selected
@@ -1,75 +0,0 @@
1
- Feature: Breadcrumb
2
-
3
- Background:
4
- Given I am logged in
5
-
6
- Scenario: Default breadcrumb links
7
- Given a configuration of:
8
- """
9
- ActiveAdmin.register Post do
10
- end
11
- """
12
- When I am on the new post page
13
- Then I should see a link to "Post" in the breadcrumb
14
-
15
- Scenario: Rewritten breadcrumb links
16
- Given a configuration of:
17
- """
18
- ActiveAdmin.register Post do
19
- breadcrumb do
20
- [
21
- link_to('test', '/admin/test/url')
22
- ]
23
- end
24
- end
25
- """
26
- When I am on the new post page
27
- Then I should see a link to "test" in the breadcrumb
28
-
29
- Scenario: No Breadcrumbs configuration
30
- Given a configuration of:
31
- """
32
- ActiveAdmin.application.breadcrumb = false
33
- ActiveAdmin.register Post do
34
- end
35
- """
36
- When I am on the new post page
37
- Then I should see "Post"
38
- And I should not see the element ".breadcrumb"
39
-
40
- Scenario: Application config of false and a resource config of true
41
- Given a configuration of:
42
- """
43
- ActiveAdmin.application.breadcrumb = false
44
- ActiveAdmin.register Post do
45
- config.breadcrumb = true
46
- end
47
- """
48
- When I am on the new post page
49
- Then I should see a link to "Post" in the breadcrumb
50
-
51
- Scenario: Application config of false and rewritten breadcrumb links
52
- Given a configuration of:
53
- """
54
- ActiveAdmin.application.breadcrumb = false
55
- ActiveAdmin.register Post do
56
- breadcrumb do
57
- [
58
- link_to('test', '/admin/test/url')
59
- ]
60
- end
61
- end
62
- """
63
- When I am on the new post page
64
- Then I should see a link to "test" in the breadcrumb
65
-
66
- Scenario: Application config of true and a resource config of false
67
- Given a configuration of:
68
- """
69
- ActiveAdmin.application.breadcrumb = true
70
- ActiveAdmin.register Post do
71
- config.breadcrumb = false
72
- end
73
- """
74
- When I am on the new post page
75
- Then I should not see the element ".breadcrumb"