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,18 +0,0 @@
1
- require 'rails_helper'
2
-
3
- RSpec.describe "Stylesheets", type: :request do
4
-
5
- require "sprockets"
6
-
7
- let(:css) do
8
- assets = Rails.application.assets
9
- assets.find_asset("active_admin.css")
10
- end
11
- it "should successfully render the scss stylesheets using sprockets" do
12
- expect(css).to_not eq nil
13
- end
14
- it "should not have any syntax errors" do
15
- expect(css.to_s).to_not include("Syntax error:")
16
- end
17
-
18
- end
data/spec/spec_helper.rb DELETED
@@ -1 +0,0 @@
1
- require 'simplecov' if ENV["COVERAGE"] == "true"
@@ -1,73 +0,0 @@
1
- module ActiveAdminIntegrationSpecHelper
2
- extend self
3
-
4
- def load_defaults!
5
- ActiveAdmin.unload!
6
- ActiveAdmin.load!
7
- ActiveAdmin.register(Category)
8
- ActiveAdmin.register(User)
9
- ActiveAdmin.register(Post){ belongs_to :user, optional: true }
10
- reload_menus!
11
- end
12
-
13
- def reload_menus!
14
- ActiveAdmin.application.namespaces.each{|n| n.reset_menu! }
15
- end
16
-
17
- # Sometimes we need to reload the routes within
18
- # the application to test them out
19
- def reload_routes!
20
- Rails.application.reload_routes!
21
- end
22
-
23
- # Helper method to load resources and ensure that Active Admin is
24
- # setup with the new configurations.
25
- #
26
- # Eg:
27
- # load_resources do
28
- # ActiveAdmin.register(Post)
29
- # end
30
- #
31
- def load_resources
32
- ActiveAdmin.unload!
33
- yield
34
- reload_menus!
35
- reload_routes!
36
- end
37
-
38
- def arbre(assigns = {}, helpers = mock_action_view, &block)
39
- Arbre::Context.new(assigns, helpers, &block)
40
- end
41
-
42
- def render_arbre_component(assigns = {}, helpers = mock_action_view, &block)
43
- arbre(assigns, helpers, &block).children.first
44
- end
45
-
46
- # Returns a fake action view instance to use with our renderers
47
- def mock_action_view(assigns = {})
48
- controller = ActionView::TestCase::TestController.new
49
- #this line needed because of rails bug https://github.com/rails/rails/commit/d8e98897b5703ac49bf0764da71a06d64ecda9b0
50
- controller.params = ActionController::Parameters.new
51
- MockActionView.new(ActionController::Base.view_paths, assigns, controller)
52
- end
53
- alias_method :action_view, :mock_action_view
54
-
55
- # A mock action view to test view helpers
56
- class MockActionView < ::ActionView::Base
57
- include ActiveAdmin::ViewHelpers
58
- include Rails.application.routes.url_helpers
59
- end
60
-
61
- def with_translation(translation)
62
- # If no translations have been loaded, any later calls to `I18n.t` will
63
- # cause the full translation hash to be loaded, possibly overwritting what
64
- # we've loaded via `store_translations`. We use this hack to prevent that.
65
- # TODO: Might not be necessary anymore once
66
- # https://github.com/svenfuchs/i18n/pull/353 lands.
67
- I18n.backend.send(:init_translations)
68
- I18n.backend.store_translations I18n.locale, translation
69
- yield
70
- ensure
71
- I18n.backend.reload!
72
- end
73
- end
@@ -1,39 +0,0 @@
1
- require "action_dispatch"
2
- require "capybara/rails"
3
- require "capybara/dsl"
4
-
5
- module ActiveAdminRequestHelpers
6
- extend ActiveSupport::Concern
7
-
8
- include ActionDispatch::Integration::Runner
9
- include RSpec::Rails::TestUnitAssertionAdapter
10
- include ActionDispatch::Assertions
11
- include Capybara::DSL
12
- include RSpec::Matchers
13
-
14
- def app
15
- ::Rails.application
16
- end
17
-
18
- def last_response
19
- page
20
- end
21
-
22
- included do
23
- before do
24
- @router = ::Rails.application.routes
25
- end
26
- end
27
-
28
- def with_temp_application(application)
29
- original_application = ActiveAdmin.application
30
- ActiveAdmin.application = application
31
- load_defaults!
32
- reload_routes!
33
-
34
- yield
35
-
36
- ensure
37
- ActiveAdmin.application = original_application
38
- end
39
- end
@@ -1,153 +0,0 @@
1
- # Rails template to build the sample app for specs
2
-
3
- copy_file File.expand_path('../templates/manifest.js', __FILE__), 'app/assets/config/manifest.js', force: true
4
-
5
- create_file 'app/assets/stylesheets/some-random-css.css'
6
- create_file 'app/assets/javascripts/some-random-js.js'
7
- create_file 'app/assets/images/a/favicon.ico'
8
-
9
- generate :model, 'post title:string body:text published_date:date author_id:integer ' +
10
- 'position:integer custom_category_id:integer starred:boolean foo_id:integer'
11
- create_file 'app/models/post.rb', <<-RUBY.strip_heredoc, force: true
12
- class Post < ActiveRecord::Base
13
- belongs_to :category, foreign_key: :custom_category_id
14
- belongs_to :author, class_name: 'User'
15
- has_many :taggings
16
- accepts_nested_attributes_for :author
17
- accepts_nested_attributes_for :taggings, allow_destroy: true
18
-
19
- ransacker :custom_title_searcher do |parent|
20
- parent.table[:title]
21
- end
22
-
23
- ransacker :custom_created_at_searcher do |parent|
24
- parent.table[:created_at]
25
- end
26
-
27
- ransacker :custom_searcher_numeric, type: :numeric do
28
- # nothing to see here
29
- end
30
-
31
- end
32
- RUBY
33
- copy_file File.expand_path('../templates/post_decorator.rb', __FILE__), 'app/models/post_decorator.rb'
34
-
35
- generate :model, 'blog/post title:string body:text published_date:date author_id:integer ' +
36
- 'position:integer custom_category_id:integer starred:boolean foo_id:integer'
37
- create_file 'app/models/blog/post.rb', <<-RUBY.strip_heredoc, force: true
38
- class Blog::Post < ActiveRecord::Base
39
- belongs_to :category, foreign_key: :custom_category_id
40
- belongs_to :author, class_name: 'User'
41
- has_many :taggings
42
- accepts_nested_attributes_for :author
43
- accepts_nested_attributes_for :taggings, allow_destroy: true
44
-
45
- end
46
- RUBY
47
-
48
- generate :model, 'profile user_id:integer bio:text'
49
-
50
- generate :model, 'user type:string first_name:string last_name:string username:string age:integer'
51
- create_file 'app/models/user.rb', <<-RUBY.strip_heredoc, force: true
52
- class User < ActiveRecord::Base
53
- class VIP < self
54
- end
55
- has_many :posts, foreign_key: 'author_id'
56
- has_one :profile
57
- accepts_nested_attributes_for :profile, allow_destroy: true
58
- accepts_nested_attributes_for :posts, allow_destroy: true
59
-
60
- ransacker :age_in_five_years, type: :numeric, formatter: proc { |v| v.to_i - 5 } do |parent|
61
- parent.table[:age]
62
- end
63
-
64
- def display_name
65
- "\#{first_name} \#{last_name}"
66
- end
67
- end
68
- RUBY
69
-
70
- create_file 'app/models/profile.rb', <<-RUBY.strip_heredoc, force: true
71
- class Profile < ActiveRecord::Base
72
- belongs_to :user
73
- end
74
- RUBY
75
-
76
- generate :model, 'publisher --migration=false --parent=User'
77
-
78
- generate :model, 'category name:string description:text'
79
- create_file 'app/models/category.rb', <<-RUBY.strip_heredoc, force: true
80
- class Category < ActiveRecord::Base
81
- has_many :posts, foreign_key: :custom_category_id
82
- has_many :authors, through: :posts
83
- accepts_nested_attributes_for :posts
84
- end
85
- RUBY
86
-
87
- generate :model, 'store name:string'
88
-
89
- generate :model, 'tag name:string'
90
- create_file 'app/models/tag.rb', <<-RUBY.strip_heredoc, force: true
91
- class Tag < ActiveRecord::Base
92
- end
93
- RUBY
94
-
95
- generate :model, 'tagging post_id:integer tag_id:integer position:integer'
96
- create_file 'app/models/tagging.rb', <<-RUBY.strip_heredoc, force: true
97
- class Tagging < ActiveRecord::Base
98
- belongs_to :post
99
- belongs_to :tag
100
-
101
- delegate :name, to: :tag, prefix: true
102
- end
103
- RUBY
104
-
105
- gsub_file 'config/environments/test.rb', / config.cache_classes = true/, <<-RUBY
106
-
107
- config.cache_classes = !ENV['CLASS_RELOADING']
108
- config.action_mailer.default_url_options = {host: 'example.com'}
109
- config.assets.precompile += %w( some-random-css.css some-random-js.js a/favicon.ico )
110
-
111
- config.active_record.maintain_test_schema = false
112
-
113
- if Rails::VERSION::MAJOR >= 5
114
- config.active_record.belongs_to_required_by_default = false
115
- end
116
-
117
- RUBY
118
-
119
- # Add our local Active Admin to the application
120
- gem 'activeadmin', path: '../..'
121
- gem 'devise'
122
-
123
- run 'bundle install'
124
-
125
- # Setup Active Admin
126
- generate 'active_admin:install'
127
-
128
- # Force strong parameters to raise exceptions
129
- inject_into_file 'config/application.rb', <<-RUBY, after: 'class Application < Rails::Application'
130
-
131
- config.action_controller.action_on_unpermitted_parameters = :raise
132
-
133
- RUBY
134
-
135
- # Add some translations
136
- append_file 'config/locales/en.yml', File.read(File.expand_path('../templates/en.yml', __FILE__))
137
-
138
- # Add predefined admin resources
139
- directory File.expand_path('../templates/admin', __FILE__), 'app/admin'
140
-
141
- # Add predefined policies
142
- directory File.expand_path('../templates/policies', __FILE__), 'app/policies'
143
-
144
- if ENV['RAILS_ENV'] != 'test'
145
- inject_into_file 'config/routes.rb', "\n root to: redirect('admin')", after: /.*routes.draw do/
146
- end
147
-
148
- rake "db:drop db:create db:migrate", env: 'development'
149
- rake "db:drop db:create db:migrate", env: 'test'
150
-
151
- if ENV['INSTALL_PARALLEL']
152
- inject_into_file 'config/database.yml', "<%= ENV['TEST_ENV_NUMBER'] %>", after: 'test.sqlite3'
153
- end
@@ -1,327 +0,0 @@
1
- apply File.expand_path("../rails_template.rb", __FILE__)
2
-
3
- inject_into_file 'config/initializers/active_admin.rb', <<-RUBY, after: "ActiveAdmin.setup do |config|\n"
4
-
5
- config.comments_menu = { parent: 'Administrative' }
6
- RUBY
7
-
8
- inject_into_file 'app/admin/admin_users.rb', <<-RUBY, after: "ActiveAdmin.register AdminUser do\n"
9
-
10
- menu parent: "Administrative", priority: 1
11
- RUBY
12
-
13
- generate :'active_admin:page', 'KitchenSink'
14
-
15
- gsub_file 'app/admin/kitchen_sink.rb', /^ *content.*?end/m, <<-RUBY
16
-
17
- sidebar "Sample Sidebar" do
18
- para "Sidebars can also be used on custom pages."
19
- para do
20
- a "Active Admin", href: "https://github.com/activeadmin/activeadmin"
21
- text_node "is a Ruby on Rails framework for"
22
- em "creating elegant backends"
23
- text_node "for"
24
- strong "website administration."
25
- end
26
- para do
27
- abbr "HTML", title: "HyperText Markup Language"
28
- text_node "is the most basic building block of the Web."
29
- end
30
- end
31
-
32
- content do
33
- columns do
34
- column do
35
- panel "Panel title" do
36
- h1 "This is an h1"
37
- h2 "This is an h2"
38
- h3 "This is an h3"
39
- end
40
- end
41
- column do
42
- table_for User.all do
43
- column :id
44
- column :display_name
45
- column :username
46
- column :age
47
- column :updated_at
48
- end
49
- end
50
- end
51
-
52
- tabs do
53
- tab :first do
54
- ul do
55
- li "List item"
56
- li "Another list item"
57
- li "Last item"
58
- end
59
- ol do
60
- li "First list item"
61
- li "Second list item"
62
- li "Third list item"
63
- end
64
- end
65
- tab :second do
66
- para "A popular quote."
67
- blockquote do
68
- text_node "&ldqou;Be yourself; everyone else is already taken.&rdqou;".html_safe
69
- cite "― Oscar Wilde"
70
- end
71
- end
72
- tab :third do
73
- para "Third tab content."
74
- end
75
- end
76
- end
77
- RUBY
78
-
79
- %w{Post User Category Tag}.each do |type|
80
- generate :'active_admin:resource', type
81
- end
82
-
83
- inject_into_file 'app/admin/categories.rb', <<-RUBY, after: "ActiveAdmin.register Category do\n"
84
-
85
- config.create_another = true
86
-
87
- permit_params [:name, :description]
88
- RUBY
89
-
90
- inject_into_file 'app/admin/users.rb', <<-RUBY, after: "ActiveAdmin.register User do\n"
91
-
92
- config.create_another = true
93
-
94
- permit_params [:first_name, :last_name, :username, :age]
95
-
96
- index as: :grid do |user|
97
- div for: user do
98
- resource_selection_cell user
99
- h2 link_to(user.display_name, admin_user_path(user)), style: 'margin-bottom: 0'
100
- para do
101
- strong user.username, style: 'text-transform: uppercase; font-size: 10px;'
102
- br
103
- em user.age
104
- text_node 'years old'
105
- end
106
- end
107
- end
108
-
109
- show do
110
- attributes_table do
111
- row :id
112
- row :first_name
113
- row :last_name
114
- row :username
115
- row :age
116
- row :created_at
117
- row :updated_at
118
- end
119
-
120
- panel 'Posts' do
121
- table_for(user.posts.includes(:category).order(:updated_at).limit(10)) do
122
- column :id do |post|
123
- link_to post.id, admin_post_path(post)
124
- end
125
- column :title
126
- column :published_date
127
- column :category
128
- column :created_at
129
- column :updated_at
130
- end
131
- para do
132
- link_to "View all posts", admin_posts_path('q[author_id_eq]' => user.id)
133
- end
134
- end
135
- end
136
- RUBY
137
-
138
- inject_into_file 'app/admin/posts.rb', <<-'RUBY', after: "ActiveAdmin.register Post do\n"
139
-
140
- permit_params :custom_category_id, :author_id, :title, :body, :published_date, :position, :starred, taggings_attributes: [ :id, :tag_id, :name, :position, :_destroy ]
141
-
142
- includes :author, :category, :taggings
143
-
144
- scope :all, default: true
145
-
146
- scope :drafts do |posts|
147
- posts.where(["published_date IS NULL"])
148
- end
149
-
150
- scope :scheduled do |posts|
151
- posts.where(["posts.published_date IS NOT NULL AND posts.published_date > ?", Time.now.utc])
152
- end
153
-
154
- scope :published do |posts|
155
- posts.where(["posts.published_date IS NOT NULL AND posts.published_date < ?", Time.now.utc])
156
- end
157
-
158
- scope :my_posts do |posts|
159
- posts.where(author_id: current_admin_user.id)
160
- end
161
-
162
- batch_action :set_starred, form: { starred: :checkbox } do |ids, inputs|
163
- Post.where(id: ids).update_all(starred: inputs['starred'].present?)
164
- redirect_to collection_path, notice: "The posts have been updated."
165
- end
166
-
167
- index do
168
- selectable_column
169
- id_column
170
- column :title
171
- column :published_date
172
- column :author
173
- column :category
174
- column :starred
175
- column :position
176
- column :created_at
177
- column :updated_at
178
- end
179
-
180
- sidebar :author, only: :show do
181
- attributes_table_for post.author do
182
- row :id do |author|
183
- link_to author.id, admin_user_path(author)
184
- end
185
- row :first_name
186
- row :last_name
187
- row :username
188
- row :age
189
- end
190
- end
191
-
192
- member_action :toggle_starred, method: :put do
193
- resource.update(starred: !resource.starred)
194
- redirect_to resource_path, notice: "Post updated."
195
- end
196
-
197
- action_item :toggle_starred, only: :show do
198
- link_to 'Toggle Starred', toggle_starred_admin_post_path(post), method: :put
199
- end
200
-
201
- show do |post|
202
- attributes_table do
203
- row :id
204
- row :title
205
- row :published_date
206
- row :author
207
- row :body
208
- row :category
209
- row :starred
210
- row :position
211
- row :created_at
212
- row :updated_at
213
- end
214
-
215
- columns do
216
- column do
217
- panel 'Tags' do
218
- table_for(post.taggings.order(:position)) do
219
- column :id do |tagging|
220
- link_to tagging.tag_id, admin_tag_path(tagging.tag)
221
- end
222
- column :tag, &:tag_name
223
- column :position
224
- column :updated_at
225
- end
226
- end
227
- end
228
- column do
229
- panel 'Category' do
230
- attributes_table_for post.category do
231
- row :id do |category|
232
- link_to category.id, admin_category_path(category)
233
- end
234
- row :description
235
- end
236
- end
237
- end
238
- end
239
- end
240
-
241
- form do |f|
242
- columns do
243
- column do
244
- f.inputs 'Details' do
245
- f.input :title
246
- f.input :author
247
- f.input :published_date,
248
- hint: f.object.persisted? && "Created at #{f.object.created_at}"
249
- f.input :custom_category_id
250
- f.input :category
251
- f.input :position
252
- f.input :starred
253
- end
254
- end
255
- column do
256
- f.inputs 'Content' do
257
- f.input :body
258
- end
259
- end
260
- end
261
- f.inputs "Tags" do
262
- f.has_many :taggings, sortable: :position do |t|
263
- t.input :tag
264
- t.input :_destroy, as: :boolean
265
- end
266
- end
267
- para "Press cancel to return to the list without saving."
268
- f.actions
269
- end
270
- RUBY
271
-
272
- inject_into_file 'app/admin/tags.rb', <<-RUBY, after: "ActiveAdmin.register Tag do\n"
273
-
274
- config.create_another = true
275
-
276
- permit_params [:name]
277
-
278
- index do
279
- selectable_column
280
- id_column
281
- column :name
282
- column :created_at
283
- actions dropdown: true do |tag|
284
- item "Preview", admin_tag_path(tag)
285
- end
286
- end
287
-
288
- RUBY
289
-
290
- append_file "db/seeds.rb", "\n\n" + <<-RUBY.strip_heredoc
291
- users = ["Jimi Hendrix", "Jimmy Page", "Yngwie Malmsteen", "Eric Clapton", "Kirk Hammett"].collect do |name|
292
- first, last = name.split(" ")
293
- User.create! first_name: first,
294
- last_name: last,
295
- username: [first,last].join('-').downcase,
296
- age: rand(80)
297
- end
298
-
299
- categories = ["Rock", "Pop Rock", "Alt-Country", "Blues", "Dub-Step"].collect do |name|
300
- Category.create! name: name
301
- end
302
-
303
- published_at_values = [Time.now.utc - 5.days, Time.now.utc - 1.day, nil, Time.now.utc + 3.days]
304
-
305
- 1_000.times do |i|
306
- user = users[i % users.size]
307
- cat = categories[i % categories.size]
308
- published = published_at_values[i % published_at_values.size]
309
- Post.create title: "Blog Post \#{i}",
310
- body: "Blog post \#{i} is written by \#{user.username} about \#{cat.name}",
311
- category: cat,
312
- published_date: published,
313
- author: user,
314
- starred: true
315
- end
316
-
317
- 800.times do |i|
318
- ActiveAdmin::Comment.create!(
319
- namespace: :admin,
320
- author: AdminUser.first,
321
- body: "Test comment #{i}",
322
- resource: categories.sample,
323
- )
324
- end
325
- RUBY
326
-
327
- rake 'db:seed'
@@ -1,7 +0,0 @@
1
- ActiveAdmin.register Store do
2
-
3
- permit_params :name
4
-
5
- index pagination_total: false
6
-
7
- end
@@ -1,8 +0,0 @@
1
- # Sample translations used to test ActiveAdmin's I18n integration.
2
- activerecord:
3
- models:
4
- store:
5
- one: Bookstore
6
- other: Bookstores
7
- active_admin:
8
- download: "Download this:"
@@ -1,3 +0,0 @@
1
- //= link_tree ../images
2
- //= link_directory ../javascripts .js
3
- //= link_directory ../stylesheets .css
@@ -1,9 +0,0 @@
1
- module ActiveAdmin
2
- class CommentPolicy < ApplicationPolicy
3
- class Scope < Struct.new(:user, :scope)
4
- def resolve
5
- scope
6
- end
7
- end
8
- end
9
- end
@@ -1,18 +0,0 @@
1
- module ActiveAdmin
2
- class PagePolicy < ApplicationPolicy
3
- class Scope < Struct.new(:user, :scope)
4
- def resolve
5
- scope
6
- end
7
- end
8
-
9
- def show?
10
- case record.name
11
- when "Dashboard"
12
- true
13
- else
14
- false
15
- end
16
- end
17
- end
18
- end
@@ -1,11 +0,0 @@
1
- class AdminUserPolicy < ApplicationPolicy
2
- class Scope < Struct.new(:user, :scope)
3
- def resolve
4
- scope
5
- end
6
- end
7
-
8
- def destroy?
9
- record != user
10
- end
11
- end