activeadmin 1.0.0.pre4 → 2.4.0

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of activeadmin might be problematic. Click here for more details.

Files changed (542) hide show
  1. checksums.yaml +5 -5
  2. data/CHANGELOG.md +529 -52
  3. data/CODE_OF_CONDUCT.md +64 -12
  4. data/CONTRIBUTING.md +129 -58
  5. data/README.md +80 -79
  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 +59 -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/_base.scss +2 -2
  21. data/app/assets/stylesheets/active_admin/_forms.scss +19 -26
  22. data/app/assets/stylesheets/active_admin/components/_batch_actions.scss +0 -5
  23. data/app/assets/stylesheets/active_admin/components/_pagination.scss +11 -0
  24. data/app/assets/stylesheets/active_admin/components/_scopes.scss +3 -0
  25. data/app/assets/stylesheets/active_admin/components/_status_tags.scss +0 -4
  26. data/app/assets/stylesheets/active_admin/components/_tables.scss +4 -1
  27. data/app/assets/stylesheets/active_admin/components/_tabs.scss +1 -1
  28. data/app/assets/stylesheets/active_admin/mixins/_all.scss +0 -2
  29. data/app/assets/stylesheets/active_admin/mixins/_gradients.scss +1 -1
  30. data/app/assets/stylesheets/active_admin/print.scss +2 -3
  31. data/app/views/active_admin/devise/confirmations/new.html.erb +2 -2
  32. data/app/views/active_admin/devise/passwords/edit.html.erb +2 -2
  33. data/app/views/active_admin/devise/passwords/new.html.erb +2 -2
  34. data/app/views/active_admin/devise/registrations/new.html.erb +3 -4
  35. data/app/views/active_admin/devise/sessions/new.html.erb +2 -2
  36. data/app/views/active_admin/devise/shared/_error_messages.html.erb +15 -0
  37. data/app/views/active_admin/devise/shared/_links.erb +12 -6
  38. data/app/views/active_admin/devise/unlocks/new.html.erb +2 -2
  39. data/app/views/kaminari/active_admin/_first_page.html.erb +11 -0
  40. data/app/views/kaminari/active_admin/_gap.html.erb +8 -0
  41. data/app/views/kaminari/active_admin/_last_page.html.erb +11 -0
  42. data/app/views/kaminari/active_admin/_next_page.html.erb +11 -0
  43. data/app/views/kaminari/active_admin/_page.html.erb +12 -0
  44. data/app/views/kaminari/active_admin/_paginator.html.erb +25 -0
  45. data/app/views/kaminari/active_admin/_prev_page.html.erb +11 -0
  46. data/app/views/kaminari/active_admin_countless/_first_page.html.erb +11 -0
  47. data/app/views/kaminari/active_admin_countless/_gap.html.erb +8 -0
  48. data/app/views/kaminari/active_admin_countless/_next_page.html.erb +11 -0
  49. data/app/views/kaminari/active_admin_countless/_page.html.erb +12 -0
  50. data/app/views/kaminari/active_admin_countless/_paginator.html.erb +24 -0
  51. data/app/views/kaminari/active_admin_countless/_prev_page.html.erb +11 -0
  52. data/app/views/layouts/active_admin_logged_out.html.erb +2 -2
  53. data/config/locales/ar.yml +4 -5
  54. data/config/locales/bg.yml +1 -3
  55. data/config/locales/bs.yml +1 -2
  56. data/config/locales/ca.yml +2 -4
  57. data/config/locales/cs.yml +1 -2
  58. data/config/locales/da.yml +45 -14
  59. data/config/locales/de-CH.yml +2 -3
  60. data/config/locales/de.yml +30 -3
  61. data/config/locales/el.yml +3 -4
  62. data/config/locales/en-CA.yml +139 -0
  63. data/config/locales/en-GB.yml +44 -3
  64. data/config/locales/en.yml +31 -5
  65. data/config/locales/eo.yml +145 -0
  66. data/config/locales/es-MX.yml +5 -3
  67. data/config/locales/es.yml +32 -6
  68. data/config/locales/fa.yml +1 -2
  69. data/config/locales/fi.yml +2 -3
  70. data/config/locales/fr.yml +27 -5
  71. data/config/locales/he.yml +53 -7
  72. data/config/locales/hr.yml +1 -2
  73. data/config/locales/hu.yml +5 -2
  74. data/config/locales/id.yml +2 -3
  75. data/config/locales/it.yml +15 -7
  76. data/config/locales/ja.yml +8 -3
  77. data/config/locales/ko.yml +1 -2
  78. data/config/locales/lt.yml +27 -6
  79. data/config/locales/lv.yml +1 -2
  80. data/config/locales/mk.yml +134 -0
  81. data/config/locales/nb.yml +16 -7
  82. data/config/locales/nl.yml +13 -3
  83. data/config/locales/pl.yml +75 -5
  84. data/config/locales/pt-BR.yml +10 -3
  85. data/config/locales/pt-PT.yml +1 -2
  86. data/config/locales/ro.yml +1 -2
  87. data/config/locales/ru.yml +5 -3
  88. data/config/locales/sk.yml +168 -0
  89. data/config/locales/sv-SE.yml +4 -3
  90. data/config/locales/tr.yml +10 -2
  91. data/config/locales/uk.yml +4 -3
  92. data/config/locales/vi.yml +48 -8
  93. data/config/locales/zh-CN.yml +38 -7
  94. data/config/locales/zh-TW.yml +2 -3
  95. data/docs/.gitignore +1 -0
  96. data/docs/0-installation.md +19 -13
  97. data/docs/1-general-configuration.md +37 -4
  98. data/docs/10-custom-pages.md +47 -3
  99. data/docs/11-decorators.md +4 -0
  100. data/docs/12-arbre-components.md +73 -9
  101. data/docs/13-authorization-adapter.md +72 -35
  102. data/docs/14-gotchas.md +57 -19
  103. data/docs/2-resource-customization.md +64 -20
  104. data/docs/3-index-pages/custom-index.md +5 -1
  105. data/docs/3-index-pages/index-as-block.md +3 -5
  106. data/docs/3-index-pages/index-as-blog.md +4 -6
  107. data/docs/3-index-pages/index-as-grid.md +3 -5
  108. data/docs/3-index-pages/index-as-table.md +33 -12
  109. data/docs/3-index-pages.md +65 -9
  110. data/docs/4-csv-format.md +16 -0
  111. data/docs/5-forms.md +78 -17
  112. data/docs/6-show-pages.md +5 -29
  113. data/docs/7-sidebars.md +5 -1
  114. data/docs/8-custom-actions.md +18 -1
  115. data/docs/9-batch-actions.md +8 -4
  116. data/docs/CNAME +1 -0
  117. data/docs/Gemfile +3 -0
  118. data/docs/Gemfile.lock +248 -0
  119. data/docs/_config.yml +4 -0
  120. data/docs/_includes/footer.html +8 -0
  121. data/docs/_includes/google-analytics.html +16 -0
  122. data/docs/_includes/head.html +7 -0
  123. data/docs/_includes/toc.html +98 -0
  124. data/docs/_includes/top-menu.html +17 -0
  125. data/docs/_layouts/default.html +21 -0
  126. data/docs/documentation.md +60 -0
  127. data/docs/images/activeadmin.png +0 -0
  128. data/docs/images/code-header.png +0 -0
  129. data/docs/images/divider.png +0 -0
  130. data/docs/images/features.png +0 -0
  131. data/docs/images/tidelift.svg +14 -0
  132. data/docs/index.html +226 -0
  133. data/docs/stylesheets/main.css +1205 -0
  134. data/lib/active_admin/abstract_view_factory.rb +13 -51
  135. data/lib/active_admin/application.rb +50 -140
  136. data/lib/active_admin/application_settings.rb +42 -0
  137. data/lib/active_admin/authorization_adapter.rb +0 -3
  138. data/lib/active_admin/base_controller/authorization.rb +4 -7
  139. data/lib/active_admin/base_controller/menu.rb +10 -14
  140. data/lib/active_admin/base_controller.rb +8 -14
  141. data/lib/active_admin/batch_actions/controller.rb +3 -3
  142. data/lib/active_admin/batch_actions/resource_extension.rb +9 -13
  143. data/lib/active_admin/batch_actions/views/batch_action_form.rb +1 -1
  144. data/lib/active_admin/batch_actions/views/batch_action_selector.rb +1 -1
  145. data/lib/active_admin/batch_actions/views/selection_cells.rb +6 -5
  146. data/lib/active_admin/callbacks.rb +1 -1
  147. data/lib/active_admin/controller_action.rb +2 -1
  148. data/lib/active_admin/csv_builder.rb +15 -12
  149. data/lib/active_admin/dependency.rb +8 -76
  150. data/lib/active_admin/deprecation.rb +0 -25
  151. data/lib/active_admin/devise.rb +3 -3
  152. data/lib/active_admin/dsl.rb +3 -16
  153. data/lib/active_admin/dynamic_setting.rb +38 -0
  154. data/lib/active_admin/dynamic_settings_node.rb +28 -0
  155. data/lib/active_admin/engine.rb +5 -0
  156. data/lib/active_admin/error.rb +5 -3
  157. data/lib/active_admin/filters/active.rb +13 -14
  158. data/lib/active_admin/filters/active_filter.rb +124 -0
  159. data/lib/active_admin/filters/active_sidebar.rb +54 -0
  160. data/lib/active_admin/filters/forms.rb +6 -4
  161. data/lib/active_admin/filters/formtastic_addons.rb +2 -2
  162. data/lib/active_admin/filters/resource_extension.rb +28 -43
  163. data/lib/active_admin/filters.rb +2 -0
  164. data/lib/active_admin/form_builder.rb +100 -59
  165. data/lib/active_admin/generators/boilerplate.rb +12 -4
  166. data/lib/active_admin/helpers/collection.rb +2 -0
  167. data/lib/active_admin/helpers/scope_chain.rb +1 -0
  168. data/lib/active_admin/inputs/datepicker_input.rb +12 -5
  169. data/lib/active_admin/inputs/filters/base/search_method_select.rb +2 -2
  170. data/lib/active_admin/inputs/filters/date_range_input.rb +21 -8
  171. data/lib/active_admin/inputs/filters/select_input.rb +6 -3
  172. data/lib/active_admin/inputs/filters/text_input.rb +25 -0
  173. data/lib/active_admin/inputs.rb +1 -0
  174. data/lib/active_admin/localizers/resource_localizer.rb +35 -0
  175. data/lib/active_admin/localizers.rb +11 -0
  176. data/lib/active_admin/menu.rb +6 -12
  177. data/lib/active_admin/menu_collection.rb +0 -2
  178. data/lib/active_admin/menu_item.rb +4 -32
  179. data/lib/active_admin/namespace.rb +36 -17
  180. data/lib/active_admin/namespace_settings.rb +123 -0
  181. data/lib/active_admin/order_clause.rb +30 -8
  182. data/lib/active_admin/orm/active_record/comments/comment.rb +3 -17
  183. data/lib/active_admin/orm/active_record/comments/views/active_admin_comments.rb +19 -7
  184. data/lib/active_admin/orm/active_record/comments.rb +17 -11
  185. data/lib/active_admin/page.rb +23 -4
  186. data/lib/active_admin/page_controller.rb +2 -6
  187. data/lib/active_admin/page_dsl.rb +5 -1
  188. data/lib/active_admin/page_presenter.rb +2 -1
  189. data/lib/active_admin/pundit_adapter.rb +18 -5
  190. data/lib/active_admin/resource/action_items.rb +17 -5
  191. data/lib/active_admin/resource/attributes.rb +47 -0
  192. data/lib/active_admin/resource/belongs_to.rb +10 -1
  193. data/lib/active_admin/resource/menu.rb +7 -4
  194. data/lib/active_admin/resource/model.rb +15 -0
  195. data/lib/active_admin/resource/naming.rb +3 -3
  196. data/lib/active_admin/resource/ordering.rb +11 -0
  197. data/lib/active_admin/resource/page_presenters.rb +1 -1
  198. data/lib/active_admin/resource/routes.rb +52 -20
  199. data/lib/active_admin/resource/scopes.rb +5 -3
  200. data/lib/active_admin/resource/sidebars.rb +1 -1
  201. data/lib/active_admin/resource.rb +59 -7
  202. data/lib/active_admin/resource_collection.rb +2 -2
  203. data/lib/active_admin/resource_controller/action_builder.rb +10 -0
  204. data/lib/active_admin/resource_controller/data_access.rb +32 -27
  205. data/lib/active_admin/resource_controller/decorators.rb +5 -5
  206. data/lib/active_admin/resource_controller/polymorphic_routes.rb +36 -0
  207. data/lib/active_admin/resource_controller/resource_class_methods.rb +2 -0
  208. data/lib/active_admin/resource_controller/scoping.rb +1 -1
  209. data/lib/active_admin/resource_controller.rb +15 -0
  210. data/lib/active_admin/resource_dsl.rb +58 -24
  211. data/lib/active_admin/router.rb +90 -82
  212. data/lib/active_admin/scope.rb +20 -12
  213. data/lib/active_admin/settings_node.rb +19 -0
  214. data/lib/active_admin/sidebar_section.rb +3 -1
  215. data/lib/active_admin/version.rb +1 -1
  216. data/lib/active_admin/view_helpers/auto_link_helper.rb +2 -2
  217. data/lib/active_admin/view_helpers/breadcrumb_helper.rb +2 -2
  218. data/lib/active_admin/view_helpers/display_helper.rb +28 -16
  219. data/lib/active_admin/view_helpers/download_format_links_helper.rb +13 -0
  220. data/lib/active_admin/view_helpers/fields_for.rb +1 -2
  221. data/lib/active_admin/view_helpers/form_helper.rb +2 -2
  222. data/lib/active_admin/view_helpers/method_or_proc_helper.rb +8 -1
  223. data/lib/active_admin/view_helpers/scope_name_helper.rb +16 -0
  224. data/lib/active_admin/view_helpers.rb +2 -1
  225. data/lib/active_admin/views/action_items.rb +1 -1
  226. data/lib/active_admin/views/components/active_admin_form.rb +43 -11
  227. data/lib/active_admin/views/components/attributes_table.rb +4 -4
  228. data/lib/active_admin/views/components/columns.rb +3 -3
  229. data/lib/active_admin/views/components/dropdown_menu.rb +4 -4
  230. data/lib/active_admin/views/components/index_list.rb +4 -3
  231. data/lib/active_admin/views/components/menu.rb +32 -0
  232. data/lib/active_admin/views/components/menu_item.rb +58 -0
  233. data/lib/active_admin/views/components/paginated_collection.rb +7 -11
  234. data/lib/active_admin/views/components/scopes.rb +14 -8
  235. data/lib/active_admin/views/components/sidebar.rb +13 -0
  236. data/lib/active_admin/views/components/site_title.rb +5 -6
  237. data/lib/active_admin/views/components/status_tag.rb +11 -16
  238. data/lib/active_admin/views/components/table_for.rb +7 -16
  239. data/lib/active_admin/views/components/tabs.rb +15 -3
  240. data/lib/active_admin/views/footer.rb +14 -4
  241. data/lib/active_admin/views/header.rb +3 -16
  242. data/lib/active_admin/views/index_as_blog.rb +2 -3
  243. data/lib/active_admin/views/index_as_grid.rb +25 -25
  244. data/lib/active_admin/views/index_as_table.rb +39 -13
  245. data/lib/active_admin/views/pages/base.rb +36 -57
  246. data/lib/active_admin/views/pages/form.rb +2 -3
  247. data/lib/active_admin/views/pages/layout.rb +1 -1
  248. data/lib/active_admin/views/pages/show.rb +8 -2
  249. data/lib/active_admin/views/tabbed_navigation.rb +4 -59
  250. data/lib/active_admin/views/title_bar.rb +4 -4
  251. data/lib/active_admin/views.rb +1 -1
  252. data/lib/active_admin.rb +11 -7
  253. data/lib/generators/active_admin/assets/assets_generator.rb +2 -2
  254. data/lib/generators/active_admin/assets/templates/active_admin.js +1 -0
  255. data/lib/generators/active_admin/devise/devise_generator.rb +8 -5
  256. data/lib/generators/active_admin/install/install_generator.rb +7 -3
  257. data/lib/generators/active_admin/install/templates/active_admin.rb.erb +60 -4
  258. data/lib/generators/active_admin/install/templates/{admin_user.rb.erb → admin_users.rb.erb} +1 -3
  259. data/lib/generators/active_admin/install/templates/dashboard.rb +2 -3
  260. data/lib/generators/active_admin/install/templates/migrations/{create_active_admin_comments.rb → create_active_admin_comments.rb.erb} +2 -5
  261. data/lib/generators/active_admin/page/page_generator.rb +1 -1
  262. data/lib/generators/active_admin/resource/resource_generator.rb +2 -2
  263. data/lib/generators/active_admin/resource/templates/admin.rb.erb +46 -0
  264. data/lib/ransack_ext.rb +5 -5
  265. data/vendor/assets/javascripts/jquery-ui/data.js +41 -0
  266. data/vendor/assets/javascripts/jquery-ui/disable-selection.js +48 -0
  267. data/vendor/assets/javascripts/jquery-ui/escape-selector.js +23 -0
  268. data/vendor/assets/javascripts/jquery-ui/focusable.js +86 -0
  269. data/vendor/assets/javascripts/jquery-ui/form-reset-mixin.js +80 -0
  270. data/vendor/assets/javascripts/jquery-ui/form.js +22 -0
  271. data/vendor/assets/javascripts/jquery-ui/ie.js +17 -0
  272. data/vendor/assets/javascripts/jquery-ui/keycode.js +47 -0
  273. data/vendor/assets/javascripts/jquery-ui/labels.js +65 -0
  274. data/vendor/assets/javascripts/jquery-ui/plugin.js +46 -0
  275. data/vendor/assets/javascripts/jquery-ui/position.js +500 -0
  276. data/vendor/assets/javascripts/jquery-ui/safe-active-element.js +42 -0
  277. data/vendor/assets/javascripts/jquery-ui/safe-blur.js +23 -0
  278. data/vendor/assets/javascripts/jquery-ui/scroll-parent.js +47 -0
  279. data/vendor/assets/javascripts/jquery-ui/tabbable.js +38 -0
  280. data/vendor/assets/javascripts/jquery-ui/unique-id.js +51 -0
  281. data/vendor/assets/javascripts/jquery-ui/version.js +17 -0
  282. data/vendor/assets/javascripts/jquery-ui/widget.js +735 -0
  283. data/vendor/assets/javascripts/jquery-ui/widgets/button.js +391 -0
  284. data/vendor/assets/javascripts/jquery-ui/widgets/checkboxradio.js +291 -0
  285. data/vendor/assets/javascripts/jquery-ui/widgets/controlgroup.js +300 -0
  286. data/vendor/assets/javascripts/jquery-ui/widgets/datepicker.js +2123 -0
  287. data/vendor/assets/javascripts/jquery-ui/widgets/dialog.js +954 -0
  288. data/vendor/assets/javascripts/jquery-ui/widgets/draggable.js +1259 -0
  289. data/vendor/assets/javascripts/jquery-ui/widgets/mouse.js +230 -0
  290. data/vendor/assets/javascripts/jquery-ui/widgets/resizable.js +1207 -0
  291. data/vendor/assets/javascripts/jquery-ui/widgets/sortable.js +1561 -0
  292. data/vendor/assets/javascripts/jquery-ui/widgets/tabs.js +931 -0
  293. data/vendor/assets/stylesheets/active_admin/_normalize.scss +447 -0
  294. metadata +190 -539
  295. data/.gitignore +0 -49
  296. data/.hound.yml +0 -14
  297. data/.travis.yml +0 -46
  298. data/.yardopts +0 -8
  299. data/Gemfile +0 -75
  300. data/Guardfile +0 -8
  301. data/Rakefile +0 -33
  302. data/activeadmin.gemspec +0 -31
  303. data/app/assets/images/active_admin/datepicker/datepicker-input-icon.png +0 -0
  304. data/app/assets/javascripts/active_admin/base.js.coffee +0 -9
  305. data/app/assets/javascripts/active_admin/ext/jquery-ui.js.coffee +0 -6
  306. data/app/assets/javascripts/active_admin/ext/jquery.js.coffee +0 -7
  307. data/app/assets/javascripts/active_admin/initializers/batch_actions.js.coffee +0 -7
  308. data/app/assets/javascripts/active_admin/initializers/datepicker.js.coffee +0 -10
  309. data/app/assets/javascripts/active_admin/initializers/filters.js.coffee +0 -15
  310. data/app/assets/javascripts/active_admin/initializers/tabs.js.coffee +0 -3
  311. data/app/assets/javascripts/active_admin/jquery_ui.js.erb +0 -11
  312. data/app/assets/javascripts/active_admin/lib/batch_actions.js.coffee +0 -39
  313. data/app/assets/javascripts/active_admin/lib/checkbox-toggler.js.coffee +0 -36
  314. data/app/assets/javascripts/active_admin/lib/dropdown-menu.js.coffee +0 -101
  315. data/app/assets/javascripts/active_admin/lib/flash.js.coffee +0 -19
  316. data/app/assets/javascripts/active_admin/lib/has_many.js.coffee +0 -79
  317. data/app/assets/javascripts/active_admin/lib/modal_dialog.js.coffee +0 -45
  318. data/app/assets/javascripts/active_admin/lib/per_page.js.coffee +0 -31
  319. data/app/assets/javascripts/active_admin/lib/table-checkbox-toggler.js.coffee +0 -24
  320. data/app/assets/stylesheets/active_admin/mixins/_reset.scss +0 -165
  321. data/cucumber.yml +0 -3
  322. data/features/action_item.feature +0 -73
  323. data/features/authorization.feature +0 -64
  324. data/features/authorization_cancan.feature +0 -52
  325. data/features/authorization_pundit.feature +0 -37
  326. data/features/belongs_to.feature +0 -66
  327. data/features/breadcrumb.feature +0 -75
  328. data/features/comments/commenting.feature +0 -171
  329. data/features/comments/viewing_index.feature +0 -19
  330. data/features/dashboard.feature +0 -16
  331. data/features/decorators.feature +0 -43
  332. data/features/development_reloading.feature +0 -30
  333. data/features/edit_page.feature +0 -117
  334. data/features/favicon.feature +0 -20
  335. data/features/first_boot.feature +0 -16
  336. data/features/global_navigation.feature +0 -29
  337. data/features/i18n.feature +0 -43
  338. data/features/index/batch_actions.feature +0 -196
  339. data/features/index/filters.feature +0 -161
  340. data/features/index/format_as_csv.feature +0 -203
  341. data/features/index/formats.feature +0 -66
  342. data/features/index/index_as_block.feature +0 -15
  343. data/features/index/index_as_blog.feature +0 -69
  344. data/features/index/index_as_grid.feature +0 -45
  345. data/features/index/index_as_table.feature +0 -291
  346. data/features/index/index_blank_slate.feature +0 -83
  347. data/features/index/index_parameters.feature +0 -75
  348. data/features/index/index_scope_to.feature +0 -56
  349. data/features/index/index_scopes.feature +0 -251
  350. data/features/index/page_title.feature +0 -42
  351. data/features/index/pagination.feature +0 -63
  352. data/features/index/switch_index_view.feature +0 -73
  353. data/features/menu.feature +0 -53
  354. data/features/meta_tags.feature +0 -21
  355. data/features/new_page.feature +0 -109
  356. data/features/registering_assets.feature +0 -34
  357. data/features/registering_pages.feature +0 -148
  358. data/features/registering_resources.feature +0 -33
  359. data/features/renamed_resource.feature +0 -32
  360. data/features/root_to.feature +0 -17
  361. data/features/show/columns.feature +0 -40
  362. data/features/show/default_content.feature +0 -44
  363. data/features/show/page_title.feature +0 -59
  364. data/features/show/tabs.feature +0 -27
  365. data/features/sidebar_sections.feature +0 -210
  366. data/features/site_title.feature +0 -47
  367. data/features/specifying_actions.feature +0 -93
  368. data/features/step_definitions/action_item_steps.rb +0 -7
  369. data/features/step_definitions/action_link_steps.rb +0 -20
  370. data/features/step_definitions/additional_web_steps.rb +0 -81
  371. data/features/step_definitions/asset_steps.rb +0 -15
  372. data/features/step_definitions/attribute_steps.rb +0 -18
  373. data/features/step_definitions/batch_action_steps.rb +0 -81
  374. data/features/step_definitions/blog_steps.rb +0 -3
  375. data/features/step_definitions/breadcrumb_steps.rb +0 -3
  376. data/features/step_definitions/column_steps.rb +0 -8
  377. data/features/step_definitions/comment_steps.rb +0 -12
  378. data/features/step_definitions/configuration_steps.rb +0 -100
  379. data/features/step_definitions/dashboard_steps.rb +0 -15
  380. data/features/step_definitions/factory_steps.rb +0 -35
  381. data/features/step_definitions/filter_steps.rb +0 -39
  382. data/features/step_definitions/flash_steps.rb +0 -11
  383. data/features/step_definitions/format_steps.rb +0 -52
  384. data/features/step_definitions/i18n_steps.rb +0 -3
  385. data/features/step_definitions/index_scope_steps.rb +0 -21
  386. data/features/step_definitions/index_views_steps.rb +0 -3
  387. data/features/step_definitions/layout_steps.rb +0 -3
  388. data/features/step_definitions/member_link_steps.rb +0 -7
  389. data/features/step_definitions/menu_steps.rb +0 -11
  390. data/features/step_definitions/meta_tag_steps.rb +0 -3
  391. data/features/step_definitions/pagination_steps.rb +0 -15
  392. data/features/step_definitions/sidebar_steps.rb +0 -13
  393. data/features/step_definitions/site_title_steps.rb +0 -17
  394. data/features/step_definitions/symbol_leak_steps.rb +0 -3
  395. data/features/step_definitions/tab_steps.rb +0 -8
  396. data/features/step_definitions/table_steps.rb +0 -120
  397. data/features/step_definitions/user_steps.rb +0 -45
  398. data/features/step_definitions/web_steps.rb +0 -85
  399. data/features/sti_resource.feature +0 -65
  400. data/features/strong_parameters.feature +0 -73
  401. data/features/support/env.rb +0 -162
  402. data/features/support/paths.rb +0 -71
  403. data/features/support/selectors.rb +0 -45
  404. data/features/symbol_leak.feature +0 -35
  405. data/features/users/logging_in.feature +0 -34
  406. data/features/users/logging_out.feature +0 -13
  407. data/features/users/resetting_password.feature +0 -34
  408. data/lib/active_admin/event.rb +0 -24
  409. data/lib/active_admin/filters/humanized.rb +0 -68
  410. data/lib/active_admin/helpers/settings.rb +0 -115
  411. data/lib/active_admin/reloader.rb +0 -25
  412. data/lib/generators/active_admin/assets/templates/active_admin.js.coffee +0 -1
  413. data/lib/generators/active_admin/resource/templates/admin.rb +0 -45
  414. data/script/local +0 -53
  415. data/script/travis_cache +0 -107
  416. data/script/use_rails +0 -53
  417. data/spec/javascripts/coffeescripts/jquery.aa.checkbox-toggler-spec.js.coffee +0 -50
  418. data/spec/javascripts/coffeescripts/jquery.aa.flash.js.coffee +0 -25
  419. data/spec/javascripts/coffeescripts/jquery.aa.table-checkbox-toggler-spec.js.coffee +0 -34
  420. data/spec/javascripts/fixtures/checkboxes.html +0 -9
  421. data/spec/javascripts/fixtures/flashes.html +0 -2
  422. data/spec/javascripts/fixtures/table_checkboxes.html +0 -17
  423. data/spec/javascripts/helpers/SpecHelper.js +0 -3
  424. data/spec/javascripts/support/jasmine.yml +0 -74
  425. data/spec/javascripts/support/jasmine_config.rb +0 -23
  426. data/spec/javascripts/support/jasmine_runner.rb +0 -32
  427. data/spec/rails_helper.rb +0 -169
  428. data/spec/requests/default_namespace_spec.rb +0 -61
  429. data/spec/requests/javascript_spec.rb +0 -22
  430. data/spec/requests/memory_spec.rb +0 -21
  431. data/spec/requests/stylesheets_spec.rb +0 -18
  432. data/spec/spec_helper.rb +0 -17
  433. data/spec/support/active_admin_request_helpers.rb +0 -27
  434. data/spec/support/deferred_garbage_collection.rb +0 -19
  435. data/spec/support/detect_rails_version.rb +0 -34
  436. data/spec/support/jslint.yml +0 -80
  437. data/spec/support/rails_template.rb +0 -158
  438. data/spec/support/rails_template_with_data.rb +0 -55
  439. data/spec/support/templates/admin/stores.rb +0 -9
  440. data/spec/support/templates/en.yml +0 -8
  441. data/spec/support/templates/policies/active_admin/comment_policy.rb +0 -9
  442. data/spec/support/templates/policies/active_admin/page_policy.rb +0 -18
  443. data/spec/support/templates/policies/admin_user_policy.rb +0 -11
  444. data/spec/support/templates/policies/application_policy.rb +0 -45
  445. data/spec/support/templates/policies/category_policy.rb +0 -7
  446. data/spec/support/templates/policies/post_policy.rb +0 -15
  447. data/spec/support/templates/policies/store_policy.rb +0 -11
  448. data/spec/support/templates/policies/user_policy.rb +0 -11
  449. data/spec/support/templates/post_decorator.rb +0 -11
  450. data/spec/unit/abstract_view_factory_spec.rb +0 -79
  451. data/spec/unit/action_builder_spec.rb +0 -134
  452. data/spec/unit/active_admin_spec.rb +0 -11
  453. data/spec/unit/application_spec.rb +0 -165
  454. data/spec/unit/asset_registration_spec.rb +0 -52
  455. data/spec/unit/authorization/authorization_adapter_spec.rb +0 -61
  456. data/spec/unit/authorization/controller_authorization_spec.rb +0 -39
  457. data/spec/unit/authorization/index_overriding_spec.rb +0 -23
  458. data/spec/unit/auto_link_spec.rb +0 -69
  459. data/spec/unit/batch_actions/resource_spec.rb +0 -97
  460. data/spec/unit/batch_actions/settings_spec.rb +0 -61
  461. data/spec/unit/belongs_to_spec.rb +0 -65
  462. data/spec/unit/cancan_adapter_spec.rb +0 -43
  463. data/spec/unit/comments_spec.rb +0 -188
  464. data/spec/unit/component_spec.rb +0 -18
  465. data/spec/unit/config_shared_examples.rb +0 -59
  466. data/spec/unit/controller_filters_spec.rb +0 -41
  467. data/spec/unit/csv_builder_spec.rb +0 -303
  468. data/spec/unit/dependency_spec.rb +0 -135
  469. data/spec/unit/devise_spec.rb +0 -96
  470. data/spec/unit/dsl_spec.rb +0 -122
  471. data/spec/unit/filters/filter_form_builder_spec.rb +0 -434
  472. data/spec/unit/filters/humanized_spec.rb +0 -56
  473. data/spec/unit/filters/resource_spec.rb +0 -128
  474. data/spec/unit/form_builder_spec.rb +0 -815
  475. data/spec/unit/generators/install_spec.rb +0 -24
  476. data/spec/unit/helpers/collection_spec.rb +0 -65
  477. data/spec/unit/helpers/scope_chain_spec.rb +0 -36
  478. data/spec/unit/helpers/settings_spec.rb +0 -30
  479. data/spec/unit/i18n_spec.rb +0 -12
  480. data/spec/unit/menu_collection_spec.rb +0 -62
  481. data/spec/unit/menu_item_spec.rb +0 -143
  482. data/spec/unit/menu_spec.rb +0 -71
  483. data/spec/unit/namespace/authorization_spec.rb +0 -27
  484. data/spec/unit/namespace/register_page_spec.rb +0 -73
  485. data/spec/unit/namespace/register_resource_spec.rb +0 -160
  486. data/spec/unit/namespace_spec.rb +0 -103
  487. data/spec/unit/order_clause_spec.rb +0 -81
  488. data/spec/unit/page_controller_spec.rb +0 -5
  489. data/spec/unit/page_spec.rb +0 -78
  490. data/spec/unit/pretty_format_spec.rb +0 -77
  491. data/spec/unit/pundit_adapter_spec.rb +0 -98
  492. data/spec/unit/resource/action_items_spec.rb +0 -65
  493. data/spec/unit/resource/includes_spec.rb +0 -21
  494. data/spec/unit/resource/menu_spec.rb +0 -18
  495. data/spec/unit/resource/naming_spec.rb +0 -122
  496. data/spec/unit/resource/page_presenters_spec.rb +0 -44
  497. data/spec/unit/resource/pagination_spec.rb +0 -38
  498. data/spec/unit/resource/routes_spec.rb +0 -77
  499. data/spec/unit/resource/scopes_spec.rb +0 -50
  500. data/spec/unit/resource/sidebars_spec.rb +0 -43
  501. data/spec/unit/resource_collection_spec.rb +0 -175
  502. data/spec/unit/resource_controller/data_access_spec.rb +0 -140
  503. data/spec/unit/resource_controller/decorators_spec.rb +0 -94
  504. data/spec/unit/resource_controller/sidebars_spec.rb +0 -38
  505. data/spec/unit/resource_controller_spec.rb +0 -269
  506. data/spec/unit/resource_registration_spec.rb +0 -56
  507. data/spec/unit/resource_spec.rb +0 -331
  508. data/spec/unit/routing_spec.rb +0 -185
  509. data/spec/unit/scope_spec.rb +0 -185
  510. data/spec/unit/settings_spec.rb +0 -118
  511. data/spec/unit/view_factory_spec.rb +0 -19
  512. data/spec/unit/view_helpers/breadcrumbs_spec.rb +0 -217
  513. data/spec/unit/view_helpers/display_helper_spec.rb +0 -165
  514. data/spec/unit/view_helpers/download_format_links_helper_spec.rb +0 -39
  515. data/spec/unit/view_helpers/fields_for_spec.rb +0 -50
  516. data/spec/unit/view_helpers/flash_helper_spec.rb +0 -25
  517. data/spec/unit/view_helpers/form_helper_spec.rb +0 -43
  518. data/spec/unit/view_helpers/method_or_proc_helper_spec.rb +0 -139
  519. data/spec/unit/views/components/attributes_table_spec.rb +0 -272
  520. data/spec/unit/views/components/batch_action_selector_spec.rb +0 -43
  521. data/spec/unit/views/components/blank_slate_spec.rb +0 -27
  522. data/spec/unit/views/components/columns_spec.rb +0 -189
  523. data/spec/unit/views/components/index_list_spec.rb +0 -35
  524. data/spec/unit/views/components/index_table_for_spec.rb +0 -127
  525. data/spec/unit/views/components/paginated_collection_spec.rb +0 -249
  526. data/spec/unit/views/components/panel_spec.rb +0 -58
  527. data/spec/unit/views/components/sidebar_section_spec.rb +0 -68
  528. data/spec/unit/views/components/site_title_spec.rb +0 -78
  529. data/spec/unit/views/components/status_tag_spec.rb +0 -249
  530. data/spec/unit/views/components/table_for_spec.rb +0 -434
  531. data/spec/unit/views/components/tabs_spec.rb +0 -39
  532. data/spec/unit/views/components/unsupported_browser_spec.rb +0 -41
  533. data/spec/unit/views/index_as_blog_spec.rb +0 -76
  534. data/spec/unit/views/pages/form_spec.rb +0 -51
  535. data/spec/unit/views/pages/index_spec.rb +0 -60
  536. data/spec/unit/views/pages/layout_spec.rb +0 -59
  537. data/spec/unit/views/pages/show_spec.rb +0 -33
  538. data/spec/unit/views/tabbed_navigation_spec.rb +0 -158
  539. data/tasks/docs.rake +0 -37
  540. data/tasks/parallel_tests.rake +0 -66
  541. data/tasks/test.rake +0 -91
  542. data/tasks/yard.rake +0 -9
@@ -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)$/.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,31 +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
- location.search = $.param(@$params)
15
-
16
- _queryParams: ->
17
- query = window.location.search.substring(1)
18
- params = {}
19
- re = /([^&=]+)=([^&]*)/g
20
- while m = re.exec(query)
21
- params[@_decode(m[1])] = @_decode(m[2])
22
- params
23
-
24
- _decode: (value) ->
25
- #replace "+" before decodeURIComponent
26
- decodeURIComponent(value.replace(/\+/g, '%20'))
27
-
28
- $.widget.bridge 'perPage', ActiveAdmin.PerPage
29
-
30
- $ ->
31
- $('.pagination_per_page select').perPage()
@@ -1,24 +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
- $row = $(checkbox).parents 'tr'
15
-
16
- if checkbox.checked
17
- $row.addClass 'selected'
18
- else
19
- $row.removeClass 'selected'
20
-
21
- _didClickCell: (cell) ->
22
- $(cell).parent('tr').find(':checkbox').click()
23
-
24
- $.widget.bridge 'tableCheckboxToggler', ActiveAdmin.TableCheckboxToggler
@@ -1,165 +0,0 @@
1
- // FROM The Compass Framework (compass-style.org)
2
- //
3
- // Copyright (c) 2009 Christopher M. Eppstein
4
- //
5
- // Permission is hereby granted, free of charge, to any person obtaining a copy of
6
- // this software and associated documentation files (the "Software"), to deal in
7
- // the Software without restriction, including without limitation the rights to
8
- // use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
9
- // the Software, and to permit persons to whom the Software is furnished to do so,
10
- // subject to the following conditions:
11
- //
12
- // The above copyright notice and this permission notice shall be included in all
13
- // copies or substantial portions of the Software. No attribution is required by
14
- // products that make use of this software.
15
- //
16
- // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17
- // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
18
- // FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
19
- // COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
20
- // IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
21
- // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22
- //
23
- // Except as contained in this notice, the name(s) of the above copyright holders
24
- // shall not be used in advertising or otherwise to promote the sale, use or other
25
- // dealings in this Software without prior written authorization.
26
- //
27
- // Contributors to this project agree to grant all rights to the copyright holder
28
- // of the primary product. Attribution is maintained in the source control history
29
- // of the product.
30
- //
31
- // Based on [Eric Meyer's reset](http://meyerweb.com/eric/thoughts/2007/05/01/reset-reloaded/)
32
- // Global reset rules.
33
- // For more specific resets, use the reset mixins provided below
34
- //
35
- // *Please Note*: tables still need `cellspacing="0"` in the markup.
36
- @mixin global-reset {
37
- html, body, div, span, applet, object, iframe,
38
- h1, h2, h3, h4, h5, h6, p, blockquote, pre,
39
- a, abbr, acronym, address, big, cite, code,
40
- del, dfn, em, font, img, ins, kbd, q, s, samp,
41
- small, strike, strong, sub, sup, tt, var,
42
- dl, dt, dd, ol, ul, li,
43
- fieldset, form, label, legend,
44
- table, caption, tbody, tfoot, thead, tr, th, td {
45
- @include reset-box-model;
46
- @include reset-font; }
47
- body {
48
- @include reset-body; }
49
- ol, ul {
50
- @include reset-list-style; }
51
- table {
52
- @include reset-table; }
53
- caption, th, td {
54
- @include reset-table-cell; }
55
- q, blockquote {
56
- @include reset-quotation; }
57
- a img {
58
- @include reset-image-anchor-border; } }
59
-
60
- // Reset all elements within some selector scope. To reset the selector itself,
61
- // mixin the appropriate reset mixin for that element type as well. This could be
62
- // useful if you want to style a part of your page in a dramatically different way.
63
- //
64
- // *Please Note*: tables still need `cellspacing="0"` in the markup.
65
- @mixin nested-reset {
66
- div, span, object, iframe, h1, h2, h3, h4, h5, h6, p,
67
- pre, a, abbr, acronym, address, code, del, dfn, em, img,
68
- dl, dt, dd, ol, ul, li, fieldset, form, label, legend, caption, tbody, tfoot, thead, tr {
69
- @include reset-box-model;
70
- @include reset-font; }
71
- table {
72
- @include reset-table; }
73
- caption, th, td {
74
- @include reset-table-cell; }
75
- q, blockquote {
76
- @include reset-quotation; }
77
- a img {
78
- @include reset-image-anchor-border; } }
79
-
80
- // Reset the box model measurements.
81
- @mixin reset-box-model {
82
- margin: 0;
83
- padding: 0;
84
- border: 0;
85
- outline: 0; }
86
-
87
- // Reset the font and vertical alignment.
88
- @mixin reset-font {
89
- font: {
90
- weight: inherit;
91
- style: inherit;
92
- size: 100%;
93
- family: inherit; };
94
- vertical-align: baseline; }
95
-
96
- // Resets the outline when focus.
97
- // For accessibility you need to apply some styling in its place.
98
- @mixin reset-focus {
99
- outline: 0; }
100
-
101
- // Reset a body element.
102
- @mixin reset-body {
103
- line-height: 1;
104
- color: black;
105
- background: white; }
106
-
107
- // Reset the list style of an element.
108
- @mixin reset-list-style {
109
- list-style: none; }
110
-
111
- // Reset a table
112
- @mixin reset-table {
113
- border-collapse: separate;
114
- border-spacing: 0;
115
- vertical-align: middle; }
116
-
117
- // Reset a table cell (`th`, `td`)
118
- @mixin reset-table-cell {
119
- text-align: left;
120
- font-weight: normal;
121
- vertical-align: middle; }
122
-
123
- // Reset a quotation (`q`, `blockquote`)
124
- @mixin reset-quotation {
125
- quotes: "" "";
126
- &:before, &:after {
127
- content: ""; } }
128
-
129
- // Resets the border.
130
- @mixin reset-image-anchor-border {
131
- border: none; }
132
-
133
- // Unrecognized elements are displayed inline.
134
- // This reset provides a basic reset for html5 elements
135
- // so they are rendered correctly in browsers that don't recognize them
136
- // and reset in browsers that have default styles for them.
137
- @mixin reset-html5 {
138
- article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary {
139
- @include reset-box-model;
140
- display: block; } }
141
-
142
- // Resets the display of inline and block elements to their default display
143
- // according to their tag type. Elements that have a default display that varies across
144
- // versions of html or browser are not handled here, but this covers the 90% use case.
145
- // Usage Example:
146
- //
147
- // // Turn off the display for both of these classes
148
- // .unregistered-only, .registered-only
149
- // display: none
150
- // // Now turn only one of them back on depending on some other context.
151
- // body.registered
152
- // +reset-display(".registered-only")
153
- // body.unregistered
154
- // +reset-display(".unregistered-only")
155
- @mixin reset-display($selector: "", $important: false) {
156
- #{append-selector(elements-of-type("inline"), $selector)} {
157
- @if $important {
158
- display: inline !important; }
159
- @else {
160
- display: inline; } }
161
- #{append-selector(elements-of-type("block"), $selector)} {
162
- @if $important {
163
- display: block !important; }
164
- @else {
165
- display: block; } } }
data/cucumber.yml DELETED
@@ -1,3 +0,0 @@
1
- default: --format 'progress' --require features/support/env.rb --require features/step_definitions features --tags ~@requires-reloading --tags ~@wip
2
- wip: --format 'progress' --require features/support/env.rb --require features/step_definitions features --tags @wip:3 --wip features
3
- class-reloading: CLASS_RELOADING=true --format 'progress' --require features/support/env.rb --require features/step_definitions 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,66 +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 "Posts" tab should be selected
20
- And I should not see a menu item for "Users"
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
- When I follow "Edit"
25
- Then I should see a link to "Hello World" in the breadcrumb
26
-
27
- Scenario: Viewing a child resource page
28
- Given a configuration of:
29
- """
30
- ActiveAdmin.register User
31
- ActiveAdmin.register Post do
32
- belongs_to :user
33
- end
34
- """
35
- When I go to the last author's posts
36
- And I follow "View"
37
- Then I should be on the last author's last post page
38
- And the "Posts" tab should be selected
39
-
40
- Scenario: When the belongs to is optional
41
- Given a configuration of:
42
- """
43
- ActiveAdmin.register User
44
- ActiveAdmin.register Post do
45
- belongs_to :user, :optional => true
46
- end
47
- """
48
- When I go to the last author's posts
49
- Then the "Users" tab should be selected
50
- And I should see a menu item for "Posts"
51
-
52
- When I follow "Posts"
53
- Then the "Posts" tab should be selected
54
-
55
- Scenario: Displaying belongs to resources in main menu
56
- Given a configuration of:
57
- """
58
- ActiveAdmin.register User
59
- ActiveAdmin.register Post do
60
- belongs_to :user
61
- navigation_menu :user
62
- end
63
- """
64
- When I go to the last author's posts
65
- And I follow "View"
66
- 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"