activeadmin 1.0.0.pre1 → 2.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (595) hide show
  1. checksums.yaml +5 -5
  2. data/CHANGELOG.md +587 -939
  3. data/CODE_OF_CONDUCT.md +74 -0
  4. data/CONTRIBUTING.md +110 -59
  5. data/LICENSE +0 -5
  6. data/README.md +80 -61
  7. data/app/assets/javascripts/active_admin/base.js +517 -0
  8. data/app/assets/stylesheets/active_admin/_base.scss +31 -34
  9. data/app/assets/stylesheets/active_admin/_forms.scss +33 -35
  10. data/app/assets/stylesheets/active_admin/_header.scss +40 -8
  11. data/app/assets/stylesheets/active_admin/_mixins.scss +1 -1
  12. data/app/assets/stylesheets/active_admin/_normalize.scss +447 -0
  13. data/app/assets/stylesheets/active_admin/components/_batch_actions.scss +0 -5
  14. data/app/assets/stylesheets/active_admin/components/_buttons.scss +0 -5
  15. data/app/assets/stylesheets/active_admin/components/_comments.scss +2 -2
  16. data/app/assets/stylesheets/active_admin/components/_pagination.scss +11 -0
  17. data/app/assets/stylesheets/active_admin/components/_scopes.scss +3 -0
  18. data/app/assets/stylesheets/active_admin/components/_status_tags.scss +0 -4
  19. data/app/assets/stylesheets/active_admin/components/_tables.scss +5 -3
  20. data/app/assets/stylesheets/active_admin/components/_tabs.scss +1 -1
  21. data/app/assets/stylesheets/active_admin/mixins/_all.scss +8 -11
  22. data/app/assets/stylesheets/active_admin/mixins/_gradients.scss +1 -1
  23. data/app/assets/stylesheets/active_admin/mixins/_sections.scss +0 -1
  24. data/app/assets/stylesheets/active_admin/mixins/_typography.scss +1 -1
  25. data/app/assets/stylesheets/active_admin/mixins/_variables.scss +9 -1
  26. data/app/assets/stylesheets/active_admin/print.scss +3 -4
  27. data/app/assets/stylesheets/active_admin/structure/_main_structure.scss +1 -1
  28. data/app/assets/stylesheets/active_admin/structure/_title_bar.scss +0 -5
  29. data/app/javascript/active_admin/base.js +28 -0
  30. data/app/javascript/active_admin/ext/jquery-ui.js +7 -0
  31. data/app/javascript/active_admin/ext/jquery.js +9 -0
  32. data/app/javascript/active_admin/initializers/batch-actions.js +61 -0
  33. data/app/javascript/active_admin/initializers/checkbox-toggler.js +3 -0
  34. data/app/javascript/active_admin/initializers/datepicker.js +16 -0
  35. data/app/javascript/active_admin/initializers/dropdown-menu.js +9 -0
  36. data/app/javascript/active_admin/initializers/filters.js +10 -0
  37. data/app/javascript/active_admin/initializers/has-many.js +95 -0
  38. data/app/javascript/active_admin/initializers/per-page.js +13 -0
  39. data/app/javascript/active_admin/initializers/table-checkbox-toggler.js +3 -0
  40. data/app/javascript/active_admin/initializers/tabs.js +6 -0
  41. data/app/javascript/active_admin/lib/checkbox-toggler.js +49 -0
  42. data/app/javascript/active_admin/lib/dropdown-menu.js +116 -0
  43. data/app/javascript/active_admin/lib/filters.js +39 -0
  44. data/app/javascript/active_admin/lib/modal-dialog.js +63 -0
  45. data/app/javascript/active_admin/lib/per-page.js +38 -0
  46. data/app/javascript/active_admin/lib/table-checkbox-toggler.js +38 -0
  47. data/app/javascript/active_admin/lib/utils.js +40 -0
  48. data/app/views/active_admin/devise/confirmations/new.html.erb +2 -2
  49. data/app/views/active_admin/devise/mailer/reset_password_instructions.html.erb +1 -1
  50. data/app/views/active_admin/devise/mailer/unlock_instructions.html.erb +2 -2
  51. data/app/views/active_admin/devise/passwords/edit.html.erb +2 -2
  52. data/app/views/active_admin/devise/passwords/new.html.erb +2 -2
  53. data/app/views/active_admin/devise/registrations/new.html.erb +3 -4
  54. data/app/views/active_admin/devise/sessions/new.html.erb +2 -2
  55. data/app/views/active_admin/devise/shared/_error_messages.html.erb +15 -0
  56. data/app/views/active_admin/devise/shared/_links.erb +12 -6
  57. data/app/views/active_admin/devise/unlocks/new.html.erb +2 -2
  58. data/app/views/kaminari/active_admin/_first_page.html.erb +11 -0
  59. data/app/views/kaminari/active_admin/_gap.html.erb +8 -0
  60. data/app/views/kaminari/active_admin/_last_page.html.erb +11 -0
  61. data/app/views/kaminari/active_admin/_next_page.html.erb +11 -0
  62. data/app/views/kaminari/active_admin/_page.html.erb +12 -0
  63. data/app/views/kaminari/active_admin/_paginator.html.erb +25 -0
  64. data/app/views/kaminari/active_admin/_prev_page.html.erb +11 -0
  65. data/app/views/kaminari/active_admin_countless/_first_page.html.erb +11 -0
  66. data/app/views/kaminari/active_admin_countless/_gap.html.erb +8 -0
  67. data/app/views/kaminari/active_admin_countless/_next_page.html.erb +11 -0
  68. data/app/views/kaminari/active_admin_countless/_page.html.erb +12 -0
  69. data/app/views/kaminari/active_admin_countless/_paginator.html.erb +24 -0
  70. data/app/views/kaminari/active_admin_countless/_prev_page.html.erb +11 -0
  71. data/app/views/layouts/active_admin_logged_out.html.erb +21 -7
  72. data/config/locales/ar.yml +62 -47
  73. data/config/locales/az.yml +138 -0
  74. data/config/locales/bg.yml +1 -3
  75. data/config/locales/bs.yml +1 -2
  76. data/config/locales/ca.yml +2 -4
  77. data/config/locales/cs.yml +1 -2
  78. data/config/locales/da.yml +45 -14
  79. data/config/locales/de-CH.yml +4 -3
  80. data/config/locales/de.yml +46 -3
  81. data/config/locales/el.yml +3 -4
  82. data/config/locales/en-CA.yml +139 -0
  83. data/config/locales/en-GB.yml +46 -5
  84. data/config/locales/en.yml +44 -9
  85. data/config/locales/eo.yml +145 -0
  86. data/config/locales/es-MX.yml +9 -6
  87. data/config/locales/es.yml +63 -14
  88. data/config/locales/fa.yml +1 -2
  89. data/config/locales/fi.yml +2 -3
  90. data/config/locales/fr.yml +36 -8
  91. data/config/locales/he.yml +53 -7
  92. data/config/locales/hr.yml +1 -2
  93. data/config/locales/hu.yml +6 -3
  94. data/config/locales/id.yml +135 -0
  95. data/config/locales/it.yml +49 -4
  96. data/config/locales/ja.yml +31 -7
  97. data/config/locales/ko.yml +66 -36
  98. data/config/locales/lt.yml +27 -6
  99. data/config/locales/lv.yml +3 -4
  100. data/config/locales/mk.yml +134 -0
  101. data/config/locales/nb.yml +22 -8
  102. data/config/locales/nl.yml +26 -3
  103. data/config/locales/pl.yml +75 -5
  104. data/config/locales/pt-BR.yml +24 -2
  105. data/config/locales/pt-PT.yml +1 -2
  106. data/config/locales/ro.yml +1 -2
  107. data/config/locales/ru.yml +21 -4
  108. data/config/locales/sk.yml +168 -0
  109. data/config/locales/sv-SE.yml +50 -8
  110. data/config/locales/tr.yml +92 -45
  111. data/config/locales/uk.yml +30 -16
  112. data/config/locales/vi.yml +53 -12
  113. data/config/locales/zh-CN.yml +44 -7
  114. data/config/locales/zh-TW.yml +42 -3
  115. data/docs/.gitignore +1 -0
  116. data/docs/0-installation.md +68 -18
  117. data/docs/1-general-configuration.md +88 -4
  118. data/docs/10-custom-pages.md +56 -2
  119. data/docs/11-decorators.md +20 -5
  120. data/docs/12-arbre-components.md +75 -11
  121. data/docs/13-authorization-adapter.md +73 -36
  122. data/docs/14-gotchas.md +64 -18
  123. data/docs/2-resource-customization.md +91 -23
  124. data/docs/3-index-pages/custom-index.md +5 -1
  125. data/docs/3-index-pages/index-as-block.md +3 -5
  126. data/docs/3-index-pages/index-as-blog.md +4 -6
  127. data/docs/3-index-pages/index-as-grid.md +3 -5
  128. data/docs/3-index-pages/index-as-table.md +46 -9
  129. data/docs/3-index-pages.md +73 -10
  130. data/docs/4-csv-format.md +35 -0
  131. data/docs/5-forms.md +96 -18
  132. data/docs/6-show-pages.md +13 -25
  133. data/docs/7-sidebars.md +13 -1
  134. data/docs/8-custom-actions.md +18 -1
  135. data/docs/9-batch-actions.md +9 -5
  136. data/docs/CNAME +1 -0
  137. data/docs/Gemfile +3 -0
  138. data/docs/Gemfile.lock +259 -0
  139. data/docs/_config.yml +4 -0
  140. data/docs/_includes/footer.html +8 -0
  141. data/docs/_includes/google-analytics.html +16 -0
  142. data/docs/_includes/head.html +7 -0
  143. data/docs/_includes/toc.html +98 -0
  144. data/docs/_includes/top-menu.html +17 -0
  145. data/docs/_layouts/default.html +21 -0
  146. data/docs/documentation.md +60 -0
  147. data/docs/images/activeadmin.png +0 -0
  148. data/docs/images/code-header.png +0 -0
  149. data/docs/images/divider.png +0 -0
  150. data/docs/images/features.png +0 -0
  151. data/docs/images/tidelift.svg +14 -0
  152. data/docs/index.html +226 -0
  153. data/docs/stylesheets/main.css +1205 -0
  154. data/lib/active_admin/abstract_view_factory.rb +13 -51
  155. data/lib/active_admin/application.rb +105 -138
  156. data/lib/active_admin/application_settings.rb +42 -0
  157. data/lib/active_admin/authorization_adapter.rb +4 -7
  158. data/lib/active_admin/base_controller/authorization.rb +16 -21
  159. data/lib/active_admin/base_controller/menu.rb +10 -10
  160. data/lib/active_admin/base_controller.rb +15 -11
  161. data/lib/active_admin/batch_actions/controller.rb +6 -7
  162. data/lib/active_admin/batch_actions/resource_extension.rb +15 -15
  163. data/lib/active_admin/batch_actions/views/batch_action_form.rb +4 -4
  164. data/lib/active_admin/batch_actions/views/batch_action_selector.rb +8 -7
  165. data/lib/active_admin/batch_actions/views/selection_cells.rb +7 -6
  166. data/lib/active_admin/batch_actions.rb +0 -1
  167. data/lib/active_admin/callbacks.rb +2 -2
  168. data/lib/active_admin/cancan_adapter.rb +1 -1
  169. data/lib/active_admin/collection_decorator.rb +31 -0
  170. data/lib/active_admin/controller_action.rb +2 -1
  171. data/lib/active_admin/csv_builder.rb +30 -20
  172. data/lib/active_admin/dependency.rb +36 -29
  173. data/lib/active_admin/deprecation.rb +0 -25
  174. data/lib/active_admin/devise.rb +9 -9
  175. data/lib/active_admin/dsl.rb +5 -18
  176. data/lib/active_admin/dynamic_setting.rb +38 -0
  177. data/lib/active_admin/dynamic_settings_node.rb +28 -0
  178. data/lib/active_admin/engine.rb +14 -7
  179. data/lib/active_admin/error.rb +6 -6
  180. data/lib/active_admin/filters/active.rb +29 -0
  181. data/lib/active_admin/filters/active_filter.rb +123 -0
  182. data/lib/active_admin/filters/active_sidebar.rb +54 -0
  183. data/lib/active_admin/filters/forms.rb +17 -10
  184. data/lib/active_admin/filters/formtastic_addons.rb +2 -7
  185. data/lib/active_admin/filters/resource_extension.rb +50 -14
  186. data/lib/active_admin/filters.rb +7 -5
  187. data/lib/active_admin/form_builder.rb +112 -67
  188. data/lib/active_admin/generators/boilerplate.rb +53 -0
  189. data/lib/active_admin/helpers/collection.rb +2 -0
  190. data/lib/active_admin/helpers/optional_display.rb +2 -2
  191. data/lib/active_admin/helpers/routes/url_helpers.rb +1 -1
  192. data/lib/active_admin/helpers/scope_chain.rb +1 -0
  193. data/lib/active_admin/inputs/datepicker_input.rb +13 -6
  194. data/lib/active_admin/inputs/filters/base/search_method_select.rb +9 -9
  195. data/lib/active_admin/inputs/filters/base.rb +3 -1
  196. data/lib/active_admin/inputs/filters/boolean_input.rb +1 -1
  197. data/lib/active_admin/inputs/filters/check_boxes_input.rb +1 -1
  198. data/lib/active_admin/inputs/filters/date_picker_input.rb +13 -0
  199. data/lib/active_admin/inputs/filters/date_range_input.rb +25 -9
  200. data/lib/active_admin/inputs/filters/select_input.rb +8 -4
  201. data/lib/active_admin/inputs/filters/text_input.rb +25 -0
  202. data/lib/active_admin/inputs.rb +2 -0
  203. data/lib/active_admin/localizers/resource_localizer.rb +35 -0
  204. data/lib/active_admin/localizers.rb +11 -0
  205. data/lib/active_admin/menu.rb +13 -15
  206. data/lib/active_admin/menu_collection.rb +0 -2
  207. data/lib/active_admin/menu_item.rb +10 -38
  208. data/lib/active_admin/namespace.rb +51 -32
  209. data/lib/active_admin/namespace_settings.rb +126 -0
  210. data/lib/active_admin/order_clause.rb +30 -8
  211. data/lib/active_admin/orm/active_record/comments/comment.rb +6 -20
  212. data/lib/active_admin/orm/active_record/comments/views/active_admin_comments.rb +44 -21
  213. data/lib/active_admin/orm/active_record/comments/views.rb +2 -2
  214. data/lib/active_admin/orm/active_record/comments.rb +49 -29
  215. data/lib/active_admin/orm/active_record.rb +1 -1
  216. data/lib/active_admin/page.rb +24 -5
  217. data/lib/active_admin/page_controller.rb +2 -2
  218. data/lib/active_admin/page_dsl.rb +5 -1
  219. data/lib/active_admin/page_presenter.rb +2 -1
  220. data/lib/active_admin/pundit_adapter.rb +22 -9
  221. data/lib/active_admin/resource/action_items.rb +34 -12
  222. data/lib/active_admin/resource/attributes.rb +47 -0
  223. data/lib/active_admin/resource/belongs_to.rb +17 -4
  224. data/lib/active_admin/resource/controllers.rb +1 -1
  225. data/lib/active_admin/resource/menu.rb +9 -6
  226. data/lib/active_admin/resource/model.rb +15 -0
  227. data/lib/active_admin/resource/naming.rb +5 -5
  228. data/lib/active_admin/resource/ordering.rb +11 -0
  229. data/lib/active_admin/resource/page_presenters.rb +1 -1
  230. data/lib/active_admin/resource/pagination.rb +4 -0
  231. data/lib/active_admin/resource/routes.rb +56 -26
  232. data/lib/active_admin/resource/scope_to.rb +7 -7
  233. data/lib/active_admin/resource/scopes.rb +5 -3
  234. data/lib/active_admin/resource/sidebars.rb +2 -2
  235. data/lib/active_admin/resource.rb +80 -22
  236. data/lib/active_admin/resource_collection.rb +5 -3
  237. data/lib/active_admin/resource_controller/action_builder.rb +10 -0
  238. data/lib/active_admin/resource_controller/data_access.rb +56 -43
  239. data/lib/active_admin/resource_controller/decorators.rb +9 -31
  240. data/lib/active_admin/resource_controller/polymorphic_routes.rb +37 -0
  241. data/lib/active_admin/resource_controller/resource_class_methods.rb +2 -0
  242. data/lib/active_admin/resource_controller/scoping.rb +1 -1
  243. data/lib/active_admin/resource_controller/streaming.rb +12 -5
  244. data/lib/active_admin/resource_controller.rb +26 -10
  245. data/lib/active_admin/resource_dsl.rb +67 -21
  246. data/lib/active_admin/router.rb +90 -82
  247. data/lib/active_admin/scope.rb +21 -14
  248. data/lib/active_admin/settings_node.rb +19 -0
  249. data/lib/active_admin/sidebar_section.rb +6 -12
  250. data/lib/active_admin/version.rb +1 -1
  251. data/lib/active_admin/view_factory.rb +17 -18
  252. data/lib/active_admin/view_helpers/auto_link_helper.rb +2 -2
  253. data/lib/active_admin/view_helpers/breadcrumb_helper.rb +5 -5
  254. data/lib/active_admin/view_helpers/display_helper.rb +51 -9
  255. data/lib/active_admin/view_helpers/download_format_links_helper.rb +14 -1
  256. data/lib/active_admin/view_helpers/fields_for.rb +4 -4
  257. data/lib/active_admin/view_helpers/form_helper.rb +2 -2
  258. data/lib/active_admin/view_helpers/method_or_proc_helper.rb +11 -4
  259. data/lib/active_admin/view_helpers/scope_name_helper.rb +16 -0
  260. data/lib/active_admin/view_helpers.rb +2 -2
  261. data/lib/active_admin/views/action_items.rb +1 -1
  262. data/lib/active_admin/views/components/active_admin_form.rb +45 -13
  263. data/lib/active_admin/views/components/attributes_table.rb +11 -29
  264. data/lib/active_admin/views/components/blank_slate.rb +1 -1
  265. data/lib/active_admin/views/components/columns.rb +12 -7
  266. data/lib/active_admin/views/components/dropdown_menu.rb +11 -13
  267. data/lib/active_admin/views/components/index_list.rb +6 -5
  268. data/lib/active_admin/views/components/menu.rb +32 -0
  269. data/lib/active_admin/views/components/menu_item.rb +58 -0
  270. data/lib/active_admin/views/components/paginated_collection.rb +52 -33
  271. data/lib/active_admin/views/components/panel.rb +2 -4
  272. data/lib/active_admin/views/components/scopes.rb +20 -12
  273. data/lib/active_admin/views/components/sidebar.rb +13 -0
  274. data/lib/active_admin/views/components/sidebar_section.rb +6 -1
  275. data/lib/active_admin/views/components/site_title.rb +6 -7
  276. data/lib/active_admin/views/components/status_tag.rb +19 -23
  277. data/lib/active_admin/views/components/table_for.rb +31 -57
  278. data/lib/active_admin/views/components/tabs.rb +17 -5
  279. data/lib/active_admin/views/footer.rb +15 -4
  280. data/lib/active_admin/views/header.rb +3 -16
  281. data/lib/active_admin/views/index_as_blog.rb +3 -4
  282. data/lib/active_admin/views/index_as_grid.rb +28 -28
  283. data/lib/active_admin/views/index_as_table.rb +76 -28
  284. data/lib/active_admin/views/pages/base.rb +45 -58
  285. data/lib/active_admin/views/pages/form.rb +5 -2
  286. data/lib/active_admin/views/pages/index.rb +15 -13
  287. data/lib/active_admin/views/pages/layout.rb +1 -1
  288. data/lib/active_admin/views/pages/show.rb +9 -3
  289. data/lib/active_admin/views/tabbed_navigation.rb +4 -59
  290. data/lib/active_admin/views/title_bar.rb +6 -6
  291. data/lib/active_admin/views.rb +1 -1
  292. data/lib/active_admin.rb +69 -67
  293. data/lib/activeadmin.rb +1 -1
  294. data/lib/generators/active_admin/assets/assets_generator.rb +3 -3
  295. data/lib/generators/active_admin/assets/templates/active_admin.js +1 -0
  296. data/lib/generators/active_admin/assets/templates/{active_admin.css.scss → active_admin.scss} +3 -3
  297. data/lib/generators/active_admin/devise/devise_generator.rb +17 -26
  298. data/lib/generators/active_admin/install/install_generator.rb +18 -8
  299. data/lib/generators/active_admin/install/templates/active_admin.rb.erb +107 -5
  300. data/lib/generators/active_admin/install/templates/{admin_user.rb.erb → admin_users.rb.erb} +1 -3
  301. data/lib/generators/active_admin/install/templates/dashboard.rb +2 -3
  302. data/lib/generators/active_admin/install/templates/migrations/{create_active_admin_comments.rb → create_active_admin_comments.rb.erb} +2 -5
  303. data/lib/generators/active_admin/page/page_generator.rb +1 -1
  304. data/lib/generators/active_admin/page/templates/page.rb +1 -1
  305. data/lib/generators/active_admin/resource/resource_generator.rb +8 -2
  306. data/lib/generators/active_admin/resource/templates/admin.rb.erb +46 -0
  307. data/lib/generators/active_admin/webpacker/plugins/jquery.js +7 -0
  308. data/lib/generators/active_admin/webpacker/templates/active_admin.js +5 -0
  309. data/lib/generators/active_admin/webpacker/templates/active_admin.scss +17 -0
  310. data/lib/generators/active_admin/webpacker/templates/print.scss +2 -0
  311. data/lib/generators/active_admin/webpacker/webpacker_generator.rb +26 -0
  312. data/lib/ransack_ext.rb +11 -3
  313. data/vendor/assets/javascripts/jquery-ui/data.js +41 -0
  314. data/vendor/assets/javascripts/jquery-ui/disable-selection.js +48 -0
  315. data/vendor/assets/javascripts/jquery-ui/escape-selector.js +23 -0
  316. data/vendor/assets/javascripts/jquery-ui/focusable.js +86 -0
  317. data/vendor/assets/javascripts/jquery-ui/form-reset-mixin.js +80 -0
  318. data/vendor/assets/javascripts/jquery-ui/form.js +22 -0
  319. data/vendor/assets/javascripts/jquery-ui/ie.js +17 -0
  320. data/vendor/assets/javascripts/jquery-ui/keycode.js +47 -0
  321. data/vendor/assets/javascripts/jquery-ui/labels.js +65 -0
  322. data/vendor/assets/javascripts/jquery-ui/plugin.js +46 -0
  323. data/vendor/assets/javascripts/jquery-ui/position.js +500 -0
  324. data/vendor/assets/javascripts/jquery-ui/safe-active-element.js +42 -0
  325. data/vendor/assets/javascripts/jquery-ui/safe-blur.js +23 -0
  326. data/vendor/assets/javascripts/jquery-ui/scroll-parent.js +47 -0
  327. data/vendor/assets/javascripts/jquery-ui/tabbable.js +38 -0
  328. data/vendor/assets/javascripts/jquery-ui/unique-id.js +51 -0
  329. data/vendor/assets/javascripts/jquery-ui/version.js +17 -0
  330. data/vendor/assets/javascripts/jquery-ui/widget.js +735 -0
  331. data/vendor/assets/javascripts/jquery-ui/widgets/button.js +391 -0
  332. data/vendor/assets/javascripts/jquery-ui/widgets/checkboxradio.js +291 -0
  333. data/vendor/assets/javascripts/jquery-ui/widgets/controlgroup.js +300 -0
  334. data/vendor/assets/javascripts/jquery-ui/widgets/datepicker.js +2123 -0
  335. data/vendor/assets/javascripts/jquery-ui/widgets/dialog.js +954 -0
  336. data/vendor/assets/javascripts/jquery-ui/widgets/draggable.js +1259 -0
  337. data/vendor/assets/javascripts/jquery-ui/widgets/mouse.js +230 -0
  338. data/vendor/assets/javascripts/jquery-ui/widgets/resizable.js +1207 -0
  339. data/vendor/assets/javascripts/jquery-ui/widgets/sortable.js +1561 -0
  340. data/vendor/assets/javascripts/jquery-ui/widgets/tabs.js +931 -0
  341. metadata +182 -553
  342. data/.gitignore +0 -49
  343. data/.hound.yml +0 -11
  344. data/.travis.yml +0 -42
  345. data/.yardopts +0 -8
  346. data/Gemfile +0 -54
  347. data/Guardfile +0 -8
  348. data/Rakefile +0 -33
  349. data/activeadmin.gemspec +0 -28
  350. data/app/assets/images/active_admin/datepicker/datepicker-input-icon.png +0 -0
  351. data/app/assets/images/active_admin/nested_menu_arrow.gif +0 -0
  352. data/app/assets/images/active_admin/nested_menu_arrow_dark.gif +0 -0
  353. data/app/assets/images/active_admin/orderable.png +0 -0
  354. data/app/assets/javascripts/active_admin/application.js.coffee +0 -32
  355. data/app/assets/javascripts/active_admin/base.js.coffee +0 -14
  356. data/app/assets/javascripts/active_admin/ext/jquery-ui.js.coffee +0 -6
  357. data/app/assets/javascripts/active_admin/ext/jquery.js.coffee +0 -7
  358. data/app/assets/javascripts/active_admin/lib/batch_actions.js.coffee +0 -39
  359. data/app/assets/javascripts/active_admin/lib/checkbox-toggler.js.coffee +0 -36
  360. data/app/assets/javascripts/active_admin/lib/dropdown-menu.js.coffee +0 -101
  361. data/app/assets/javascripts/active_admin/lib/flash.js.coffee +0 -19
  362. data/app/assets/javascripts/active_admin/lib/has_many.js.coffee +0 -79
  363. data/app/assets/javascripts/active_admin/lib/modal_dialog.js.coffee +0 -37
  364. data/app/assets/javascripts/active_admin/lib/per_page.js.coffee +0 -27
  365. data/app/assets/javascripts/active_admin/lib/popover.js.coffee +0 -68
  366. data/app/assets/javascripts/active_admin/lib/table-checkbox-toggler.js.coffee +0 -24
  367. data/app/assets/stylesheets/active_admin/components/_popovers.scss +0 -122
  368. data/app/assets/stylesheets/active_admin/mixins/_icons.scss +0 -20
  369. data/app/assets/stylesheets/active_admin/mixins/_reset.scss +0 -165
  370. data/cucumber.yml +0 -3
  371. data/features/action_item.feature +0 -73
  372. data/features/authorization.feature +0 -64
  373. data/features/authorization_cancan.feature +0 -52
  374. data/features/authorization_pundit.feature +0 -37
  375. data/features/belongs_to.feature +0 -66
  376. data/features/breadcrumb.feature +0 -75
  377. data/features/comments/commenting.feature +0 -171
  378. data/features/comments/viewing_index.feature +0 -19
  379. data/features/dashboard.feature +0 -16
  380. data/features/decorators.feature +0 -41
  381. data/features/development_reloading.feature +0 -30
  382. data/features/edit_page.feature +0 -117
  383. data/features/favicon.feature +0 -20
  384. data/features/first_boot.feature +0 -16
  385. data/features/global_navigation.feature +0 -29
  386. data/features/i18n.feature +0 -43
  387. data/features/index/batch_actions.feature +0 -164
  388. data/features/index/filters.feature +0 -161
  389. data/features/index/format_as_csv.feature +0 -203
  390. data/features/index/formats.feature +0 -66
  391. data/features/index/index_as_block.feature +0 -15
  392. data/features/index/index_as_blog.feature +0 -69
  393. data/features/index/index_as_grid.feature +0 -45
  394. data/features/index/index_as_table.feature +0 -291
  395. data/features/index/index_blank_slate.feature +0 -83
  396. data/features/index/index_parameters.feature +0 -75
  397. data/features/index/index_scope_to.feature +0 -56
  398. data/features/index/index_scopes.feature +0 -251
  399. data/features/index/page_title.feature +0 -41
  400. data/features/index/pagination.feature +0 -59
  401. data/features/index/switch_index_view.feature +0 -73
  402. data/features/menu.feature +0 -53
  403. data/features/new_page.feature +0 -109
  404. data/features/registering_assets.feature +0 -35
  405. data/features/registering_pages.feature +0 -148
  406. data/features/registering_resources.feature +0 -33
  407. data/features/renamed_resource.feature +0 -32
  408. data/features/root_to.feature +0 -17
  409. data/features/show/default_content.feature +0 -43
  410. data/features/show/page_title.feature +0 -58
  411. data/features/show/tabs.feature +0 -27
  412. data/features/sidebar_sections.feature +0 -210
  413. data/features/site_title.feature +0 -47
  414. data/features/specifying_actions.feature +0 -93
  415. data/features/step_definitions/action_item_steps.rb +0 -7
  416. data/features/step_definitions/action_link_steps.rb +0 -20
  417. data/features/step_definitions/additional_web_steps.rb +0 -81
  418. data/features/step_definitions/asset_steps.rb +0 -15
  419. data/features/step_definitions/attribute_steps.rb +0 -18
  420. data/features/step_definitions/batch_action_steps.rb +0 -72
  421. data/features/step_definitions/blog_steps.rb +0 -3
  422. data/features/step_definitions/breadcrumb_steps.rb +0 -3
  423. data/features/step_definitions/comment_steps.rb +0 -12
  424. data/features/step_definitions/configuration_steps.rb +0 -100
  425. data/features/step_definitions/dashboard_steps.rb +0 -15
  426. data/features/step_definitions/factory_steps.rb +0 -34
  427. data/features/step_definitions/filter_steps.rb +0 -39
  428. data/features/step_definitions/flash_steps.rb +0 -11
  429. data/features/step_definitions/format_steps.rb +0 -52
  430. data/features/step_definitions/i18n_steps.rb +0 -3
  431. data/features/step_definitions/index_scope_steps.rb +0 -21
  432. data/features/step_definitions/index_views_steps.rb +0 -3
  433. data/features/step_definitions/layout_steps.rb +0 -3
  434. data/features/step_definitions/member_link_steps.rb +0 -7
  435. data/features/step_definitions/menu_steps.rb +0 -11
  436. data/features/step_definitions/pagination_steps.rb +0 -7
  437. data/features/step_definitions/sidebar_steps.rb +0 -13
  438. data/features/step_definitions/site_title_steps.rb +0 -17
  439. data/features/step_definitions/symbol_leak_steps.rb +0 -3
  440. data/features/step_definitions/tab_steps.rb +0 -8
  441. data/features/step_definitions/table_steps.rb +0 -119
  442. data/features/step_definitions/user_steps.rb +0 -45
  443. data/features/step_definitions/web_steps.rb +0 -85
  444. data/features/sti_resource.feature +0 -65
  445. data/features/strong_parameters.feature +0 -73
  446. data/features/support/env.rb +0 -145
  447. data/features/support/paths.rb +0 -71
  448. data/features/support/selectors.rb +0 -45
  449. data/features/symbol_leak.feature +0 -35
  450. data/features/users/logging_in.feature +0 -34
  451. data/features/users/logging_out.feature +0 -13
  452. data/features/users/resetting_password.feature +0 -34
  453. data/lib/active_admin/batch_actions/views/batch_action_popover.rb +0 -28
  454. data/lib/active_admin/event.rb +0 -33
  455. data/lib/active_admin/helpers/settings.rb +0 -115
  456. data/lib/active_admin/iconic/icons.rb +0 -142
  457. data/lib/active_admin/iconic.rb +0 -53
  458. data/lib/active_admin/view_helpers/icon_helper.rb +0 -12
  459. data/lib/active_admin/views/components/action_list_popover.rb +0 -29
  460. data/lib/active_admin/views/components/popover.rb +0 -27
  461. data/lib/generators/active_admin/assets/templates/active_admin.js.coffee +0 -1
  462. data/lib/generators/active_admin/resource/templates/admin.rb +0 -18
  463. data/script/local +0 -44
  464. data/script/travis_cache +0 -107
  465. data/script/use_rails +0 -53
  466. data/spec/javascripts/coffeescripts/jquery.aa.checkbox-toggler-spec.js.coffee +0 -50
  467. data/spec/javascripts/coffeescripts/jquery.aa.flash.js.coffee +0 -25
  468. data/spec/javascripts/coffeescripts/jquery.aa.popover-spec.js.coffee +0 -82
  469. data/spec/javascripts/coffeescripts/jquery.aa.table-checkbox-toggler-spec.js.coffee +0 -34
  470. data/spec/javascripts/fixtures/checkboxes.html +0 -9
  471. data/spec/javascripts/fixtures/flashes.html +0 -2
  472. data/spec/javascripts/fixtures/table_checkboxes.html +0 -17
  473. data/spec/javascripts/helpers/SpecHelper.js +0 -3
  474. data/spec/javascripts/support/jasmine.yml +0 -74
  475. data/spec/javascripts/support/jasmine_config.rb +0 -23
  476. data/spec/javascripts/support/jasmine_runner.rb +0 -32
  477. data/spec/rails_helper.rb +0 -154
  478. data/spec/requests/default_namespace_spec.rb +0 -61
  479. data/spec/requests/javascript_spec.rb +0 -20
  480. data/spec/requests/memory_spec.rb +0 -23
  481. data/spec/requests/stylesheets_spec.rb +0 -18
  482. data/spec/spec_helper.rb +0 -17
  483. data/spec/support/deferred_garbage_collection.rb +0 -19
  484. data/spec/support/detect_rails_version.rb +0 -34
  485. data/spec/support/integration_example_group.rb +0 -31
  486. data/spec/support/jslint.yml +0 -80
  487. data/spec/support/rails_template.rb +0 -138
  488. data/spec/support/rails_template_with_data.rb +0 -59
  489. data/spec/support/templates/admin/stores.rb +0 -9
  490. data/spec/support/templates/cucumber.rb +0 -24
  491. data/spec/support/templates/cucumber_with_reloading.rb +0 -5
  492. data/spec/support/templates/en.yml +0 -8
  493. data/spec/support/templates/policies/active_admin/comment_policy.rb +0 -9
  494. data/spec/support/templates/policies/active_admin/page_policy.rb +0 -18
  495. data/spec/support/templates/policies/admin_user_policy.rb +0 -11
  496. data/spec/support/templates/policies/application_policy.rb +0 -45
  497. data/spec/support/templates/policies/category_policy.rb +0 -7
  498. data/spec/support/templates/policies/post_policy.rb +0 -15
  499. data/spec/support/templates/policies/store_policy.rb +0 -11
  500. data/spec/support/templates/policies/user_policy.rb +0 -11
  501. data/spec/support/templates/post_decorator.rb +0 -11
  502. data/spec/unit/abstract_view_factory_spec.rb +0 -79
  503. data/spec/unit/action_builder_spec.rb +0 -132
  504. data/spec/unit/active_admin_spec.rb +0 -11
  505. data/spec/unit/application_spec.rb +0 -140
  506. data/spec/unit/asset_registration_spec.rb +0 -52
  507. data/spec/unit/authorization/authorization_adapter_spec.rb +0 -61
  508. data/spec/unit/authorization/controller_authorization_spec.rb +0 -39
  509. data/spec/unit/authorization/index_overriding_spec.rb +0 -22
  510. data/spec/unit/auto_link_spec.rb +0 -69
  511. data/spec/unit/batch_actions/resource_spec.rb +0 -92
  512. data/spec/unit/batch_actions/settings_spec.rb +0 -61
  513. data/spec/unit/belongs_to_spec.rb +0 -51
  514. data/spec/unit/cancan_adapter_spec.rb +0 -43
  515. data/spec/unit/comments_spec.rb +0 -166
  516. data/spec/unit/component_spec.rb +0 -18
  517. data/spec/unit/config_shared_examples.rb +0 -59
  518. data/spec/unit/controller_filters_spec.rb +0 -44
  519. data/spec/unit/csv_builder_spec.rb +0 -244
  520. data/spec/unit/dependency_spec.rb +0 -135
  521. data/spec/unit/devise_spec.rb +0 -96
  522. data/spec/unit/dsl_spec.rb +0 -122
  523. data/spec/unit/event_spec.rb +0 -47
  524. data/spec/unit/filters/filter_form_builder_spec.rb +0 -433
  525. data/spec/unit/filters/resource_spec.rb +0 -121
  526. data/spec/unit/form_builder_spec.rb +0 -752
  527. data/spec/unit/generators/install_spec.rb +0 -23
  528. data/spec/unit/helpers/collection_spec.rb +0 -65
  529. data/spec/unit/helpers/scope_chain_spec.rb +0 -36
  530. data/spec/unit/helpers/settings_spec.rb +0 -30
  531. data/spec/unit/i18n_spec.rb +0 -12
  532. data/spec/unit/menu_collection_spec.rb +0 -62
  533. data/spec/unit/menu_item_spec.rb +0 -143
  534. data/spec/unit/menu_spec.rb +0 -71
  535. data/spec/unit/namespace/authorization_spec.rb +0 -27
  536. data/spec/unit/namespace/register_page_spec.rb +0 -74
  537. data/spec/unit/namespace/register_resource_spec.rb +0 -161
  538. data/spec/unit/namespace_spec.rb +0 -103
  539. data/spec/unit/order_clause_spec.rb +0 -81
  540. data/spec/unit/page_controller_spec.rb +0 -5
  541. data/spec/unit/page_spec.rb +0 -78
  542. data/spec/unit/pretty_format_spec.rb +0 -63
  543. data/spec/unit/pundit_adapter_spec.rb +0 -98
  544. data/spec/unit/resource/action_items_spec.rb +0 -65
  545. data/spec/unit/resource/includes_spec.rb +0 -21
  546. data/spec/unit/resource/menu_spec.rb +0 -18
  547. data/spec/unit/resource/naming_spec.rb +0 -122
  548. data/spec/unit/resource/page_presenters_spec.rb +0 -44
  549. data/spec/unit/resource/pagination_spec.rb +0 -38
  550. data/spec/unit/resource/routes_spec.rb +0 -73
  551. data/spec/unit/resource/scopes_spec.rb +0 -50
  552. data/spec/unit/resource/sidebars_spec.rb +0 -43
  553. data/spec/unit/resource_collection_spec.rb +0 -158
  554. data/spec/unit/resource_controller/data_access_spec.rb +0 -140
  555. data/spec/unit/resource_controller/decorators_spec.rb +0 -83
  556. data/spec/unit/resource_controller/sidebars_spec.rb +0 -45
  557. data/spec/unit/resource_controller_spec.rb +0 -269
  558. data/spec/unit/resource_registration_spec.rb +0 -56
  559. data/spec/unit/resource_spec.rb +0 -278
  560. data/spec/unit/routing_spec.rb +0 -180
  561. data/spec/unit/scope_spec.rb +0 -190
  562. data/spec/unit/settings_spec.rb +0 -118
  563. data/spec/unit/view_factory_spec.rb +0 -21
  564. data/spec/unit/view_helpers/breadcrumbs_spec.rb +0 -217
  565. data/spec/unit/view_helpers/display_name_spec.rb +0 -69
  566. data/spec/unit/view_helpers/download_format_links_helper_spec.rb +0 -39
  567. data/spec/unit/view_helpers/fields_for_spec.rb +0 -50
  568. data/spec/unit/view_helpers/flash_helper_spec.rb +0 -25
  569. data/spec/unit/view_helpers/form_helper_spec.rb +0 -43
  570. data/spec/unit/view_helpers/method_or_proc_helper_spec.rb +0 -139
  571. data/spec/unit/views/components/action_list_popover_spec.rb +0 -40
  572. data/spec/unit/views/components/attributes_table_spec.rb +0 -272
  573. data/spec/unit/views/components/batch_action_popover_spec.rb +0 -47
  574. data/spec/unit/views/components/blank_slate_spec.rb +0 -27
  575. data/spec/unit/views/components/columns_spec.rb +0 -172
  576. data/spec/unit/views/components/index_list_spec.rb +0 -35
  577. data/spec/unit/views/components/index_table_for_spec.rb +0 -46
  578. data/spec/unit/views/components/paginated_collection_spec.rb +0 -236
  579. data/spec/unit/views/components/panel_spec.rb +0 -62
  580. data/spec/unit/views/components/popover_spec.rb +0 -33
  581. data/spec/unit/views/components/sidebar_section_spec.rb +0 -47
  582. data/spec/unit/views/components/site_title_spec.rb +0 -78
  583. data/spec/unit/views/components/status_tag_spec.rb +0 -235
  584. data/spec/unit/views/components/table_for_spec.rb +0 -384
  585. data/spec/unit/views/components/tabs_spec.rb +0 -39
  586. data/spec/unit/views/components/unsupported_browser_spec.rb +0 -47
  587. data/spec/unit/views/pages/form_spec.rb +0 -42
  588. data/spec/unit/views/pages/index_spec.rb +0 -60
  589. data/spec/unit/views/pages/layout_spec.rb +0 -59
  590. data/spec/unit/views/pages/show_spec.rb +0 -33
  591. data/spec/unit/views/tabbed_navigation_spec.rb +0 -158
  592. data/tasks/docs.rake +0 -37
  593. data/tasks/parallel_tests.rake +0 -66
  594. data/tasks/test.rake +0 -83
  595. data/tasks/yard.rake +0 -9
@@ -1,68 +0,0 @@
1
- class ActiveAdmin.Popover
2
-
3
- constructor: (@options, @element) ->
4
- @$element = $(@element)
5
-
6
- defaults = {
7
- fadeInDuration: 20,
8
- fadeOutDuration: 100,
9
- autoOpen: true,
10
- pageWrapperElement: "#wrapper",
11
- onClickActionItemCallback: null
12
- }
13
-
14
- @options = $.extend defaults, options
15
- @isOpen = false
16
-
17
- unless (@$popover = $ @$element.attr 'href').length
18
- @$popover = @$element.next '.popover'
19
-
20
- @_buildPopover()
21
- @_bind()
22
-
23
- open: ->
24
- @isOpen = true
25
- @$popover.fadeIn @options.fadeInDuration
26
- @_positionPopover()
27
- @_positionNipple()
28
- @
29
-
30
- close: ->
31
- @isOpen = false
32
- @$popover.fadeOut this.options.fadeOutDuration
33
- @
34
-
35
- destroy: ->
36
- @$element.removeData 'popover'
37
- @$element.unbind()
38
- @$element = null
39
- @
40
-
41
- # Private
42
-
43
- _buildPopover: ->
44
- @$nipple = $('<div class="popover_nipple"></div>')
45
- @$popover.prepend @$nipple
46
- @$popover.hide()
47
- @$popover.addClass 'popover'
48
-
49
-
50
- _bind: ->
51
- $(@options.pageWrapperElement).click =>
52
- @close() if @isOpen
53
-
54
- if @options.autoOpen
55
- @$element.click (e)=>
56
- e.stopPropagation()
57
- if @isOpen then @close() else @open()
58
-
59
- _positionPopover: ->
60
- button_center = @$element.offset().left + @$element.outerWidth() / 2
61
- popover_center = @$popover.outerWidth() / 2
62
- @$popover.css 'left', button_center - popover_center
63
-
64
- _positionNipple: ->
65
- @$popover.css 'top', @$element.offset().top + @$element.outerHeight() + 10
66
- @$nipple.css 'left', @$popover.outerWidth() / 2 - @$nipple.outerWidth() / 2
67
-
68
- $.widget.bridge 'popover', ActiveAdmin.Popover
@@ -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,122 +0,0 @@
1
- .popover {
2
- display: inline-block;
3
- position: absolute;
4
- background-color: white;
5
- padding: 2px;
6
- box-shadow: rgba(0,0,0,0.4) 0 1px 3px, lighten($primary-color, 15%) 0px 1px 0px 0px inset;
7
- background-color: $primary-color;
8
- @include gradient(lighten($primary-color, 4%), darken($primary-color, 5%));
9
- border: solid 1px darken($primary-color, 10%);
10
- border-top-color: darken($primary-color, 4%);
11
- border-bottom-color: darken($primary-color, 17%);
12
-
13
- border-radius: 4px;
14
-
15
- .popover_nipple{
16
-
17
- // The nipple's border
18
- content: "";
19
- position: absolute;
20
- top: -6px;
21
- display: block;
22
- width: 0;
23
- height: 0;
24
- border-width: 0 6px 6px;
25
- border-style: solid;
26
- border-color: darken($primary-color, 4%) transparent;
27
- z-index: 100;
28
-
29
- // The nipple's inner shadow
30
-
31
- &:before {
32
- content: ' ';
33
- position: absolute;
34
- width: 0;
35
- height: 0;
36
- border-width: 0 5px 5px;
37
- border-style: solid;
38
- border-color: lighten($primary-color, 15%) transparent;
39
- left: -5px;
40
- top: 1px;
41
- }
42
-
43
- // The nipple's background color
44
-
45
- &:after {
46
- content: ' ';
47
- position: absolute;
48
- width: 0;
49
- height: 0;
50
- border-width: 0 5px 5px;
51
- border-style: solid;
52
- border-color: lighten($primary-color, 4%) transparent;
53
- left: -5px;
54
- top: 2px;
55
- }
56
- }
57
-
58
- .popover_contents {
59
- display: block;
60
- background-color: #FFF;
61
- border: solid 1px darken($primary-color, 10%);
62
- box-shadow: lighten($primary-color, 5%) 0px 1px 0px 0px;
63
- border-radius: 3px;
64
- margin: 0;
65
- overflow: hidden;
66
- padding: 8px;
67
- }
68
-
69
- }
70
-
71
- //-------------------------------------- Popover with action list
72
-
73
- .popover {
74
- ul.popover_contents {
75
- list-style-type: none;
76
- padding: 0;
77
-
78
- li {
79
- display: block;
80
- border-bottom: solid 1px #ebebeb;
81
- box-sizing: border-box;
82
-
83
- a {
84
- display: block;
85
- box-sizing: padding-box;
86
- font-size: 0.95em;
87
- font-weight: bold;
88
- padding: 7px 16px 5px;
89
- text-decoration: none;
90
- text-align: center;
91
-
92
- &:hover {
93
- @include highlight-gradient;
94
- @include text-shadow(#5a83aa);
95
- color: #FFF;
96
- }
97
-
98
- &:active {
99
- @include reverse-highlight-gradient;
100
- color: #FFF;
101
- }
102
-
103
- }
104
-
105
- &:first-child {
106
- a {
107
- border-top-left-radius: 2px;
108
- border-top-right-radius: 2px;
109
- }
110
-
111
- }
112
-
113
- &:last-child {
114
- a {
115
- border-bottom-left-radius: 2px;
116
- border-bottom-right-radius: 2px;
117
- }
118
- border: none;
119
- }
120
- }
121
- }
122
- }
@@ -1,20 +0,0 @@
1
- span.icon { vertical-align: middle; display: inline-block; }
2
- span.icon svg { vertical-align: baseline; }
3
-
4
-
5
- @mixin icon-color ($color) {
6
- span.icon svg {
7
- path, polygon, rect, circle { fill: $color; }
8
- }
9
- }
10
-
11
- @mixin icon-size ($size) {
12
- span.icon { width: $size; height: $size; }
13
- }
14
-
15
- @mixin icon($color, $size) {
16
- @include icon-color($color);
17
- @include icon-size($size);
18
- }
19
-
20
- @include icon-size(0.8em);
@@ -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: RAILS_ENV=cucumber_with_reloading --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