activeadmin-orac 1.0.0.pre4

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 (529) hide show
  1. checksums.yaml +15 -0
  2. data/.gitignore +49 -0
  3. data/.hound.yml +14 -0
  4. data/.travis.yml +40 -0
  5. data/.yardopts +8 -0
  6. data/CHANGELOG.md +120 -0
  7. data/CODE_OF_CONDUCT.md +22 -0
  8. data/CONTRIBUTING.md +144 -0
  9. data/Gemfile +78 -0
  10. data/Guardfile +8 -0
  11. data/LICENSE +20 -0
  12. data/README.md +102 -0
  13. data/Rakefile +33 -0
  14. data/activeadmin.gemspec +31 -0
  15. data/app/assets/images/active_admin/datepicker/datepicker-input-icon.png +0 -0
  16. data/app/assets/images/active_admin/nested_menu_arrow.gif +0 -0
  17. data/app/assets/images/active_admin/nested_menu_arrow_dark.gif +0 -0
  18. data/app/assets/images/active_admin/orderable.png +0 -0
  19. data/app/assets/javascripts/active_admin/base.js.coffee +9 -0
  20. data/app/assets/javascripts/active_admin/ext/jquery-ui.js.coffee +6 -0
  21. data/app/assets/javascripts/active_admin/ext/jquery.js.coffee +7 -0
  22. data/app/assets/javascripts/active_admin/initializers/batch_actions.js.coffee +7 -0
  23. data/app/assets/javascripts/active_admin/initializers/datepicker.js.coffee +10 -0
  24. data/app/assets/javascripts/active_admin/initializers/filters.js.coffee +22 -0
  25. data/app/assets/javascripts/active_admin/initializers/tabs.js.coffee +3 -0
  26. data/app/assets/javascripts/active_admin/jquery_ui.js.erb +11 -0
  27. data/app/assets/javascripts/active_admin/lib/batch_actions.js.coffee +39 -0
  28. data/app/assets/javascripts/active_admin/lib/checkbox-toggler.js.coffee +44 -0
  29. data/app/assets/javascripts/active_admin/lib/dropdown-menu.js.coffee +101 -0
  30. data/app/assets/javascripts/active_admin/lib/flash.js.coffee +19 -0
  31. data/app/assets/javascripts/active_admin/lib/has_many.js.coffee +79 -0
  32. data/app/assets/javascripts/active_admin/lib/modal_dialog.js.coffee +45 -0
  33. data/app/assets/javascripts/active_admin/lib/per_page.js.coffee +42 -0
  34. data/app/assets/javascripts/active_admin/lib/table-checkbox-toggler.js.coffee +24 -0
  35. data/app/assets/stylesheets/active_admin/_base.scss +41 -0
  36. data/app/assets/stylesheets/active_admin/_forms.scss +333 -0
  37. data/app/assets/stylesheets/active_admin/_header.scss +156 -0
  38. data/app/assets/stylesheets/active_admin/_mixins.scss +1 -0
  39. data/app/assets/stylesheets/active_admin/_typography.scss +100 -0
  40. data/app/assets/stylesheets/active_admin/components/_batch_actions.scss +11 -0
  41. data/app/assets/stylesheets/active_admin/components/_blank_slates.scss +30 -0
  42. data/app/assets/stylesheets/active_admin/components/_breadcrumbs.scss +20 -0
  43. data/app/assets/stylesheets/active_admin/components/_buttons.scss +6 -0
  44. data/app/assets/stylesheets/active_admin/components/_columns.scss +3 -0
  45. data/app/assets/stylesheets/active_admin/components/_comments.scss +41 -0
  46. data/app/assets/stylesheets/active_admin/components/_date_picker.scss +149 -0
  47. data/app/assets/stylesheets/active_admin/components/_dropdown_menu.scss +152 -0
  48. data/app/assets/stylesheets/active_admin/components/_flash_messages.scss +37 -0
  49. data/app/assets/stylesheets/active_admin/components/_grid.scss +9 -0
  50. data/app/assets/stylesheets/active_admin/components/_index_list.scss +12 -0
  51. data/app/assets/stylesheets/active_admin/components/_links.scss +5 -0
  52. data/app/assets/stylesheets/active_admin/components/_modal_dialog.scss +34 -0
  53. data/app/assets/stylesheets/active_admin/components/_pagination.scss +44 -0
  54. data/app/assets/stylesheets/active_admin/components/_panels.scss +6 -0
  55. data/app/assets/stylesheets/active_admin/components/_scopes.scss +10 -0
  56. data/app/assets/stylesheets/active_admin/components/_status_tags.scss +16 -0
  57. data/app/assets/stylesheets/active_admin/components/_table_tools.scss +67 -0
  58. data/app/assets/stylesheets/active_admin/components/_tables.scss +110 -0
  59. data/app/assets/stylesheets/active_admin/components/_tabs.scss +65 -0
  60. data/app/assets/stylesheets/active_admin/components/_unsupported_browser.scss +16 -0
  61. data/app/assets/stylesheets/active_admin/mixins/_all.scss +10 -0
  62. data/app/assets/stylesheets/active_admin/mixins/_buttons.scss +65 -0
  63. data/app/assets/stylesheets/active_admin/mixins/_gradients.scss +28 -0
  64. data/app/assets/stylesheets/active_admin/mixins/_reset.scss +165 -0
  65. data/app/assets/stylesheets/active_admin/mixins/_rounded.scss +22 -0
  66. data/app/assets/stylesheets/active_admin/mixins/_sections.scss +41 -0
  67. data/app/assets/stylesheets/active_admin/mixins/_shadows.scss +15 -0
  68. data/app/assets/stylesheets/active_admin/mixins/_typography.scss +3 -0
  69. data/app/assets/stylesheets/active_admin/mixins/_utilities.scss +17 -0
  70. data/app/assets/stylesheets/active_admin/mixins/_variables.scss +34 -0
  71. data/app/assets/stylesheets/active_admin/pages/_logged_out.scss +44 -0
  72. data/app/assets/stylesheets/active_admin/print.scss +288 -0
  73. data/app/assets/stylesheets/active_admin/structure/_footer.scss +14 -0
  74. data/app/assets/stylesheets/active_admin/structure/_main_structure.scss +29 -0
  75. data/app/assets/stylesheets/active_admin/structure/_title_bar.scss +41 -0
  76. data/app/views/active_admin/devise/confirmations/new.html.erb +15 -0
  77. data/app/views/active_admin/devise/mailer/reset_password_instructions.html.erb +8 -0
  78. data/app/views/active_admin/devise/mailer/unlock_instructions.html.erb +7 -0
  79. data/app/views/active_admin/devise/passwords/edit.html.erb +18 -0
  80. data/app/views/active_admin/devise/passwords/new.html.erb +15 -0
  81. data/app/views/active_admin/devise/registrations/new.html.erb +22 -0
  82. data/app/views/active_admin/devise/sessions/new.html.erb +20 -0
  83. data/app/views/active_admin/devise/shared/_links.erb +27 -0
  84. data/app/views/active_admin/devise/unlocks/new.html.erb +15 -0
  85. data/app/views/active_admin/page/index.html.arb +1 -0
  86. data/app/views/active_admin/resource/edit.html.arb +1 -0
  87. data/app/views/active_admin/resource/index.html.arb +1 -0
  88. data/app/views/active_admin/resource/new.html.arb +1 -0
  89. data/app/views/active_admin/resource/show.html.arb +1 -0
  90. data/app/views/layouts/active_admin.html.arb +1 -0
  91. data/app/views/layouts/active_admin_logged_out.html.erb +39 -0
  92. data/config/locales/ar.yml +136 -0
  93. data/config/locales/bg.yml +121 -0
  94. data/config/locales/bs.yml +122 -0
  95. data/config/locales/ca.yml +107 -0
  96. data/config/locales/cs.yml +110 -0
  97. data/config/locales/da.yml +106 -0
  98. data/config/locales/de-CH.yml +102 -0
  99. data/config/locales/de.yml +135 -0
  100. data/config/locales/el.yml +127 -0
  101. data/config/locales/en-GB.yml +98 -0
  102. data/config/locales/en.yml +136 -0
  103. data/config/locales/es-MX.yml +94 -0
  104. data/config/locales/es.yml +136 -0
  105. data/config/locales/fa.yml +120 -0
  106. data/config/locales/fi.yml +113 -0
  107. data/config/locales/fr.yml +119 -0
  108. data/config/locales/he.yml +95 -0
  109. data/config/locales/hr.yml +124 -0
  110. data/config/locales/hu.yml +99 -0
  111. data/config/locales/id.yml +136 -0
  112. data/config/locales/it.yml +136 -0
  113. data/config/locales/ja.yml +136 -0
  114. data/config/locales/ko.yml +121 -0
  115. data/config/locales/lt.yml +121 -0
  116. data/config/locales/lv.yml +93 -0
  117. data/config/locales/nb.yml +121 -0
  118. data/config/locales/nl.yml +134 -0
  119. data/config/locales/pl.yml +98 -0
  120. data/config/locales/pt-BR.yml +136 -0
  121. data/config/locales/pt-PT.yml +93 -0
  122. data/config/locales/ro.yml +97 -0
  123. data/config/locales/ru.yml +140 -0
  124. data/config/locales/sv-SE.yml +134 -0
  125. data/config/locales/tr.yml +136 -0
  126. data/config/locales/uk.yml +137 -0
  127. data/config/locales/vi.yml +94 -0
  128. data/config/locales/zh-CN.yml +112 -0
  129. data/config/locales/zh-TW.yml +136 -0
  130. data/cucumber.yml +3 -0
  131. data/docs/0-installation.md +112 -0
  132. data/docs/1-general-configuration.md +171 -0
  133. data/docs/10-custom-pages.md +106 -0
  134. data/docs/11-decorators.md +55 -0
  135. data/docs/12-arbre-components.md +150 -0
  136. data/docs/13-authorization-adapter.md +248 -0
  137. data/docs/14-gotchas.md +116 -0
  138. data/docs/2-resource-customization.md +422 -0
  139. data/docs/3-index-pages.md +272 -0
  140. data/docs/3-index-pages/custom-index.md +31 -0
  141. data/docs/3-index-pages/index-as-block.md +21 -0
  142. data/docs/3-index-pages/index-as-blog.md +71 -0
  143. data/docs/3-index-pages/index-as-grid.md +29 -0
  144. data/docs/3-index-pages/index-as-table.md +213 -0
  145. data/docs/4-csv-format.md +58 -0
  146. data/docs/5-forms.md +172 -0
  147. data/docs/6-show-pages.md +105 -0
  148. data/docs/7-sidebars.md +71 -0
  149. data/docs/8-custom-actions.md +160 -0
  150. data/docs/9-batch-actions.md +233 -0
  151. data/docs/README.md +24 -0
  152. data/features/action_item.feature +73 -0
  153. data/features/authorization.feature +64 -0
  154. data/features/authorization_cancan.feature +52 -0
  155. data/features/authorization_pundit.feature +37 -0
  156. data/features/belongs_to.feature +66 -0
  157. data/features/breadcrumb.feature +75 -0
  158. data/features/comments/commenting.feature +171 -0
  159. data/features/comments/viewing_index.feature +19 -0
  160. data/features/dashboard.feature +16 -0
  161. data/features/decorators.feature +43 -0
  162. data/features/development_reloading.feature +30 -0
  163. data/features/edit_page.feature +117 -0
  164. data/features/favicon.feature +20 -0
  165. data/features/first_boot.feature +16 -0
  166. data/features/global_navigation.feature +29 -0
  167. data/features/i18n.feature +43 -0
  168. data/features/index/batch_actions.feature +196 -0
  169. data/features/index/filters.feature +161 -0
  170. data/features/index/format_as_csv.feature +203 -0
  171. data/features/index/formats.feature +66 -0
  172. data/features/index/index_as_block.feature +15 -0
  173. data/features/index/index_as_blog.feature +69 -0
  174. data/features/index/index_as_grid.feature +45 -0
  175. data/features/index/index_as_table.feature +291 -0
  176. data/features/index/index_blank_slate.feature +83 -0
  177. data/features/index/index_parameters.feature +75 -0
  178. data/features/index/index_scope_to.feature +56 -0
  179. data/features/index/index_scopes.feature +251 -0
  180. data/features/index/page_title.feature +42 -0
  181. data/features/index/pagination.feature +63 -0
  182. data/features/index/switch_index_view.feature +73 -0
  183. data/features/menu.feature +53 -0
  184. data/features/meta_tags.feature +21 -0
  185. data/features/new_page.feature +109 -0
  186. data/features/registering_assets.feature +34 -0
  187. data/features/registering_pages.feature +148 -0
  188. data/features/registering_resources.feature +33 -0
  189. data/features/renamed_resource.feature +32 -0
  190. data/features/root_to.feature +17 -0
  191. data/features/show/columns.feature +40 -0
  192. data/features/show/default_content.feature +44 -0
  193. data/features/show/page_title.feature +59 -0
  194. data/features/show/tabs.feature +27 -0
  195. data/features/sidebar_sections.feature +210 -0
  196. data/features/site_title.feature +47 -0
  197. data/features/specifying_actions.feature +93 -0
  198. data/features/step_definitions/action_item_steps.rb +7 -0
  199. data/features/step_definitions/action_link_steps.rb +20 -0
  200. data/features/step_definitions/additional_web_steps.rb +81 -0
  201. data/features/step_definitions/asset_steps.rb +15 -0
  202. data/features/step_definitions/attribute_steps.rb +18 -0
  203. data/features/step_definitions/batch_action_steps.rb +81 -0
  204. data/features/step_definitions/blog_steps.rb +3 -0
  205. data/features/step_definitions/breadcrumb_steps.rb +3 -0
  206. data/features/step_definitions/column_steps.rb +8 -0
  207. data/features/step_definitions/comment_steps.rb +12 -0
  208. data/features/step_definitions/configuration_steps.rb +100 -0
  209. data/features/step_definitions/dashboard_steps.rb +15 -0
  210. data/features/step_definitions/factory_steps.rb +35 -0
  211. data/features/step_definitions/filter_steps.rb +39 -0
  212. data/features/step_definitions/flash_steps.rb +11 -0
  213. data/features/step_definitions/format_steps.rb +52 -0
  214. data/features/step_definitions/i18n_steps.rb +3 -0
  215. data/features/step_definitions/index_scope_steps.rb +21 -0
  216. data/features/step_definitions/index_views_steps.rb +3 -0
  217. data/features/step_definitions/layout_steps.rb +3 -0
  218. data/features/step_definitions/member_link_steps.rb +7 -0
  219. data/features/step_definitions/menu_steps.rb +11 -0
  220. data/features/step_definitions/meta_tag_steps.rb +3 -0
  221. data/features/step_definitions/pagination_steps.rb +15 -0
  222. data/features/step_definitions/sidebar_steps.rb +13 -0
  223. data/features/step_definitions/site_title_steps.rb +17 -0
  224. data/features/step_definitions/symbol_leak_steps.rb +3 -0
  225. data/features/step_definitions/tab_steps.rb +8 -0
  226. data/features/step_definitions/table_steps.rb +116 -0
  227. data/features/step_definitions/user_steps.rb +52 -0
  228. data/features/step_definitions/web_steps.rb +85 -0
  229. data/features/sti_resource.feature +65 -0
  230. data/features/strong_parameters.feature +73 -0
  231. data/features/support/env.rb +162 -0
  232. data/features/support/paths.rb +71 -0
  233. data/features/support/selectors.rb +45 -0
  234. data/features/symbol_leak.feature +35 -0
  235. data/features/users/logging_in.feature +36 -0
  236. data/features/users/logging_out.feature +13 -0
  237. data/features/users/resetting_password.feature +34 -0
  238. data/lib/active_admin.rb +130 -0
  239. data/lib/active_admin/abstract_view_factory.rb +85 -0
  240. data/lib/active_admin/application.rb +324 -0
  241. data/lib/active_admin/asset_registration.rb +29 -0
  242. data/lib/active_admin/authorization_adapter.rb +132 -0
  243. data/lib/active_admin/base_controller.rb +87 -0
  244. data/lib/active_admin/base_controller/authorization.rb +130 -0
  245. data/lib/active_admin/base_controller/menu.rb +38 -0
  246. data/lib/active_admin/batch_actions.rb +16 -0
  247. data/lib/active_admin/batch_actions/controller.rb +40 -0
  248. data/lib/active_admin/batch_actions/resource_extension.rb +159 -0
  249. data/lib/active_admin/batch_actions/views/batch_action_form.rb +38 -0
  250. data/lib/active_admin/batch_actions/views/batch_action_selector.rb +58 -0
  251. data/lib/active_admin/batch_actions/views/selection_cells.rb +37 -0
  252. data/lib/active_admin/callbacks.rb +88 -0
  253. data/lib/active_admin/cancan_adapter.rb +36 -0
  254. data/lib/active_admin/component.rb +5 -0
  255. data/lib/active_admin/controller_action.rb +12 -0
  256. data/lib/active_admin/csv_builder.rb +129 -0
  257. data/lib/active_admin/dependency.rb +168 -0
  258. data/lib/active_admin/deprecation.rb +35 -0
  259. data/lib/active_admin/devise.rb +80 -0
  260. data/lib/active_admin/dsl.rb +173 -0
  261. data/lib/active_admin/engine.rb +16 -0
  262. data/lib/active_admin/error.rb +62 -0
  263. data/lib/active_admin/event.rb +24 -0
  264. data/lib/active_admin/filters.rb +9 -0
  265. data/lib/active_admin/filters/active.rb +30 -0
  266. data/lib/active_admin/filters/dsl.rb +21 -0
  267. data/lib/active_admin/filters/forms.rb +83 -0
  268. data/lib/active_admin/filters/formtastic_addons.rb +79 -0
  269. data/lib/active_admin/filters/humanized.rb +68 -0
  270. data/lib/active_admin/filters/resource_extension.rb +194 -0
  271. data/lib/active_admin/form_builder.rb +145 -0
  272. data/lib/active_admin/generators/boilerplate.rb +45 -0
  273. data/lib/active_admin/helpers/collection.rb +17 -0
  274. data/lib/active_admin/helpers/i18n.rb +7 -0
  275. data/lib/active_admin/helpers/optional_display.rb +38 -0
  276. data/lib/active_admin/helpers/routes/url_helpers.rb +15 -0
  277. data/lib/active_admin/helpers/scope_chain.rb +23 -0
  278. data/lib/active_admin/helpers/settings.rb +115 -0
  279. data/lib/active_admin/inputs.rb +20 -0
  280. data/lib/active_admin/inputs/datepicker_input.rb +20 -0
  281. data/lib/active_admin/inputs/filters/base.rb +44 -0
  282. data/lib/active_admin/inputs/filters/base/search_method_select.rb +75 -0
  283. data/lib/active_admin/inputs/filters/boolean_input.rb +24 -0
  284. data/lib/active_admin/inputs/filters/check_boxes_input.rb +50 -0
  285. data/lib/active_admin/inputs/filters/date_picker_input.rb +13 -0
  286. data/lib/active_admin/inputs/filters/date_range_input.rb +36 -0
  287. data/lib/active_admin/inputs/filters/numeric_input.rb +12 -0
  288. data/lib/active_admin/inputs/filters/select_input.rb +55 -0
  289. data/lib/active_admin/inputs/filters/string_input.rb +26 -0
  290. data/lib/active_admin/menu.rb +108 -0
  291. data/lib/active_admin/menu_collection.rb +93 -0
  292. data/lib/active_admin/menu_item.rb +97 -0
  293. data/lib/active_admin/namespace.rb +247 -0
  294. data/lib/active_admin/order_clause.rb +26 -0
  295. data/lib/active_admin/orm/active_record.rb +5 -0
  296. data/lib/active_admin/orm/active_record/comments.rb +95 -0
  297. data/lib/active_admin/orm/active_record/comments/comment.rb +45 -0
  298. data/lib/active_admin/orm/active_record/comments/namespace_helper.rb +14 -0
  299. data/lib/active_admin/orm/active_record/comments/resource_helper.rb +17 -0
  300. data/lib/active_admin/orm/active_record/comments/show_page_helper.rb +23 -0
  301. data/lib/active_admin/orm/active_record/comments/views.rb +2 -0
  302. data/lib/active_admin/orm/active_record/comments/views/active_admin_comments.rb +88 -0
  303. data/lib/active_admin/orm/mongoid.rb +1 -0
  304. data/lib/active_admin/orm/mongoid/.gitkeep +0 -0
  305. data/lib/active_admin/page.rb +92 -0
  306. data/lib/active_admin/page_controller.rb +33 -0
  307. data/lib/active_admin/page_dsl.rb +28 -0
  308. data/lib/active_admin/page_presenter.rb +32 -0
  309. data/lib/active_admin/pundit_adapter.rb +68 -0
  310. data/lib/active_admin/reloader.rb +25 -0
  311. data/lib/active_admin/resource.rb +168 -0
  312. data/lib/active_admin/resource/action_items.rb +108 -0
  313. data/lib/active_admin/resource/belongs_to.rb +44 -0
  314. data/lib/active_admin/resource/controllers.rb +19 -0
  315. data/lib/active_admin/resource/includes.rb +12 -0
  316. data/lib/active_admin/resource/menu.rb +64 -0
  317. data/lib/active_admin/resource/naming.rb +62 -0
  318. data/lib/active_admin/resource/page_presenters.rb +82 -0
  319. data/lib/active_admin/resource/pagination.rb +23 -0
  320. data/lib/active_admin/resource/routes.rb +115 -0
  321. data/lib/active_admin/resource/scope_to.rb +74 -0
  322. data/lib/active_admin/resource/scopes.rb +50 -0
  323. data/lib/active_admin/resource/sidebars.rb +28 -0
  324. data/lib/active_admin/resource_collection.rb +72 -0
  325. data/lib/active_admin/resource_controller.rb +51 -0
  326. data/lib/active_admin/resource_controller/action_builder.rb +21 -0
  327. data/lib/active_admin/resource_controller/data_access.rb +317 -0
  328. data/lib/active_admin/resource_controller/decorators.rb +102 -0
  329. data/lib/active_admin/resource_controller/resource_class_methods.rb +24 -0
  330. data/lib/active_admin/resource_controller/scoping.rb +31 -0
  331. data/lib/active_admin/resource_controller/sidebars.rb +18 -0
  332. data/lib/active_admin/resource_controller/streaming.rb +43 -0
  333. data/lib/active_admin/resource_dsl.rb +190 -0
  334. data/lib/active_admin/router.rb +106 -0
  335. data/lib/active_admin/scope.rb +56 -0
  336. data/lib/active_admin/sidebar_section.rb +37 -0
  337. data/lib/active_admin/version.rb +3 -0
  338. data/lib/active_admin/view_factory.rb +27 -0
  339. data/lib/active_admin/view_helpers.rb +19 -0
  340. data/lib/active_admin/view_helpers/active_admin_application_helper.rb +12 -0
  341. data/lib/active_admin/view_helpers/auto_link_helper.rb +45 -0
  342. data/lib/active_admin/view_helpers/breadcrumb_helper.rb +33 -0
  343. data/lib/active_admin/view_helpers/display_helper.rb +97 -0
  344. data/lib/active_admin/view_helpers/download_format_links_helper.rb +46 -0
  345. data/lib/active_admin/view_helpers/fields_for.rb +51 -0
  346. data/lib/active_admin/view_helpers/flash_helper.rb +14 -0
  347. data/lib/active_admin/view_helpers/form_helper.rb +20 -0
  348. data/lib/active_admin/view_helpers/method_or_proc_helper.rb +97 -0
  349. data/lib/active_admin/view_helpers/sidebar_helper.rb +15 -0
  350. data/lib/active_admin/view_helpers/title_helper.rb +11 -0
  351. data/lib/active_admin/view_helpers/view_factory_helper.rb +11 -0
  352. data/lib/active_admin/views.rb +8 -0
  353. data/lib/active_admin/views/action_items.rb +17 -0
  354. data/lib/active_admin/views/components/active_admin_form.rb +124 -0
  355. data/lib/active_admin/views/components/attributes_table.rb +94 -0
  356. data/lib/active_admin/views/components/blank_slate.rb +17 -0
  357. data/lib/active_admin/views/components/columns.rb +161 -0
  358. data/lib/active_admin/views/components/dropdown_menu.rb +71 -0
  359. data/lib/active_admin/views/components/index_list.rb +68 -0
  360. data/lib/active_admin/views/components/paginated_collection.rb +163 -0
  361. data/lib/active_admin/views/components/panel.rb +38 -0
  362. data/lib/active_admin/views/components/scopes.rb +66 -0
  363. data/lib/active_admin/views/components/sidebar_section.rb +34 -0
  364. data/lib/active_admin/views/components/site_title.rb +55 -0
  365. data/lib/active_admin/views/components/status_tag.rb +80 -0
  366. data/lib/active_admin/views/components/table_for.rb +218 -0
  367. data/lib/active_admin/views/components/tabs.rb +28 -0
  368. data/lib/active_admin/views/components/unsupported_browser.rb +11 -0
  369. data/lib/active_admin/views/footer.rb +20 -0
  370. data/lib/active_admin/views/header.rb +32 -0
  371. data/lib/active_admin/views/index_as_block.rb +36 -0
  372. data/lib/active_admin/views/index_as_blog.rb +156 -0
  373. data/lib/active_admin/views/index_as_grid.rb +80 -0
  374. data/lib/active_admin/views/index_as_table.rb +373 -0
  375. data/lib/active_admin/views/pages/base.rb +147 -0
  376. data/lib/active_admin/views/pages/form.rb +65 -0
  377. data/lib/active_admin/views/pages/index.rb +163 -0
  378. data/lib/active_admin/views/pages/layout.rb +26 -0
  379. data/lib/active_admin/views/pages/page.rb +30 -0
  380. data/lib/active_admin/views/pages/show.rb +59 -0
  381. data/lib/active_admin/views/tabbed_navigation.rb +66 -0
  382. data/lib/active_admin/views/title_bar.rb +55 -0
  383. data/lib/activeadmin.rb +1 -0
  384. data/lib/generators/active_admin/assets/assets_generator.rb +14 -0
  385. data/lib/generators/active_admin/assets/templates/active_admin.js.coffee +1 -0
  386. data/lib/generators/active_admin/assets/templates/active_admin.scss +17 -0
  387. data/lib/generators/active_admin/devise/devise_generator.rb +65 -0
  388. data/lib/generators/active_admin/install/install_generator.rb +45 -0
  389. data/lib/generators/active_admin/install/templates/active_admin.rb.erb +272 -0
  390. data/lib/generators/active_admin/install/templates/admin_user.rb.erb +30 -0
  391. data/lib/generators/active_admin/install/templates/dashboard.rb +33 -0
  392. data/lib/generators/active_admin/install/templates/migrations/create_active_admin_comments.rb +19 -0
  393. data/lib/generators/active_admin/page/USAGE +8 -0
  394. data/lib/generators/active_admin/page/page_generator.rb +12 -0
  395. data/lib/generators/active_admin/page/templates/page.rb +5 -0
  396. data/lib/generators/active_admin/resource/resource_generator.rb +20 -0
  397. data/lib/generators/active_admin/resource/templates/admin.rb +45 -0
  398. data/lib/ransack_ext.rb +20 -0
  399. data/script/local +53 -0
  400. data/script/travis_cache +107 -0
  401. data/script/use_rails +53 -0
  402. data/spec/javascripts/coffeescripts/jquery.aa.checkbox-toggler-spec.js.coffee +50 -0
  403. data/spec/javascripts/coffeescripts/jquery.aa.flash.js.coffee +25 -0
  404. data/spec/javascripts/coffeescripts/jquery.aa.table-checkbox-toggler-spec.js.coffee +34 -0
  405. data/spec/javascripts/fixtures/checkboxes.html +9 -0
  406. data/spec/javascripts/fixtures/flashes.html +2 -0
  407. data/spec/javascripts/fixtures/table_checkboxes.html +17 -0
  408. data/spec/javascripts/helpers/SpecHelper.js +3 -0
  409. data/spec/javascripts/support/jasmine.yml +74 -0
  410. data/spec/javascripts/support/jasmine_config.rb +23 -0
  411. data/spec/javascripts/support/jasmine_runner.rb +32 -0
  412. data/spec/rails_helper.rb +161 -0
  413. data/spec/requests/default_namespace_spec.rb +61 -0
  414. data/spec/requests/javascript_spec.rb +22 -0
  415. data/spec/requests/memory_spec.rb +21 -0
  416. data/spec/requests/stylesheets_spec.rb +18 -0
  417. data/spec/spec_helper.rb +17 -0
  418. data/spec/support/active_admin_request_helpers.rb +27 -0
  419. data/spec/support/deferred_garbage_collection.rb +19 -0
  420. data/spec/support/detect_rails_version.rb +34 -0
  421. data/spec/support/jslint.yml +80 -0
  422. data/spec/support/rails_template.rb +162 -0
  423. data/spec/support/rails_template_with_data.rb +74 -0
  424. data/spec/support/templates/admin/stores.rb +9 -0
  425. data/spec/support/templates/en.yml +8 -0
  426. data/spec/support/templates/manifest.js +3 -0
  427. data/spec/support/templates/policies/active_admin/comment_policy.rb +9 -0
  428. data/spec/support/templates/policies/active_admin/page_policy.rb +18 -0
  429. data/spec/support/templates/policies/admin_user_policy.rb +11 -0
  430. data/spec/support/templates/policies/application_policy.rb +45 -0
  431. data/spec/support/templates/policies/category_policy.rb +7 -0
  432. data/spec/support/templates/policies/post_policy.rb +15 -0
  433. data/spec/support/templates/policies/store_policy.rb +11 -0
  434. data/spec/support/templates/policies/user_policy.rb +11 -0
  435. data/spec/support/templates/post_decorator.rb +11 -0
  436. data/spec/unit/abstract_view_factory_spec.rb +79 -0
  437. data/spec/unit/action_builder_spec.rb +134 -0
  438. data/spec/unit/active_admin_spec.rb +11 -0
  439. data/spec/unit/application_spec.rb +165 -0
  440. data/spec/unit/asset_registration_spec.rb +52 -0
  441. data/spec/unit/authorization/authorization_adapter_spec.rb +61 -0
  442. data/spec/unit/authorization/controller_authorization_spec.rb +39 -0
  443. data/spec/unit/authorization/index_overriding_spec.rb +23 -0
  444. data/spec/unit/auto_link_spec.rb +69 -0
  445. data/spec/unit/batch_actions/resource_spec.rb +97 -0
  446. data/spec/unit/batch_actions/settings_spec.rb +61 -0
  447. data/spec/unit/belongs_to_spec.rb +65 -0
  448. data/spec/unit/cancan_adapter_spec.rb +43 -0
  449. data/spec/unit/comments_spec.rb +188 -0
  450. data/spec/unit/component_spec.rb +18 -0
  451. data/spec/unit/config_shared_examples.rb +59 -0
  452. data/spec/unit/controller_filters_spec.rb +41 -0
  453. data/spec/unit/csv_builder_spec.rb +303 -0
  454. data/spec/unit/dependency_spec.rb +135 -0
  455. data/spec/unit/devise_spec.rb +96 -0
  456. data/spec/unit/dsl_spec.rb +122 -0
  457. data/spec/unit/filters/filter_form_builder_spec.rb +434 -0
  458. data/spec/unit/filters/humanized_spec.rb +64 -0
  459. data/spec/unit/filters/resource_spec.rb +128 -0
  460. data/spec/unit/form_builder_spec.rb +932 -0
  461. data/spec/unit/generators/install_spec.rb +24 -0
  462. data/spec/unit/helpers/collection_spec.rb +65 -0
  463. data/spec/unit/helpers/scope_chain_spec.rb +36 -0
  464. data/spec/unit/helpers/settings_spec.rb +30 -0
  465. data/spec/unit/i18n_spec.rb +12 -0
  466. data/spec/unit/menu_collection_spec.rb +62 -0
  467. data/spec/unit/menu_item_spec.rb +143 -0
  468. data/spec/unit/menu_spec.rb +71 -0
  469. data/spec/unit/namespace/authorization_spec.rb +27 -0
  470. data/spec/unit/namespace/register_page_spec.rb +73 -0
  471. data/spec/unit/namespace/register_resource_spec.rb +160 -0
  472. data/spec/unit/namespace_spec.rb +103 -0
  473. data/spec/unit/order_clause_spec.rb +81 -0
  474. data/spec/unit/page_controller_spec.rb +5 -0
  475. data/spec/unit/page_spec.rb +78 -0
  476. data/spec/unit/pretty_format_spec.rb +77 -0
  477. data/spec/unit/pundit_adapter_spec.rb +98 -0
  478. data/spec/unit/resource/action_items_spec.rb +65 -0
  479. data/spec/unit/resource/includes_spec.rb +21 -0
  480. data/spec/unit/resource/menu_spec.rb +18 -0
  481. data/spec/unit/resource/naming_spec.rb +122 -0
  482. data/spec/unit/resource/page_presenters_spec.rb +44 -0
  483. data/spec/unit/resource/pagination_spec.rb +38 -0
  484. data/spec/unit/resource/routes_spec.rb +77 -0
  485. data/spec/unit/resource/scopes_spec.rb +50 -0
  486. data/spec/unit/resource/sidebars_spec.rb +43 -0
  487. data/spec/unit/resource_collection_spec.rb +175 -0
  488. data/spec/unit/resource_controller/data_access_spec.rb +140 -0
  489. data/spec/unit/resource_controller/decorators_spec.rb +94 -0
  490. data/spec/unit/resource_controller/sidebars_spec.rb +38 -0
  491. data/spec/unit/resource_controller_spec.rb +269 -0
  492. data/spec/unit/resource_registration_spec.rb +56 -0
  493. data/spec/unit/resource_spec.rb +337 -0
  494. data/spec/unit/routing_spec.rb +185 -0
  495. data/spec/unit/scope_spec.rb +185 -0
  496. data/spec/unit/settings_spec.rb +118 -0
  497. data/spec/unit/view_factory_spec.rb +19 -0
  498. data/spec/unit/view_helpers/breadcrumbs_spec.rb +217 -0
  499. data/spec/unit/view_helpers/display_helper_spec.rb +165 -0
  500. data/spec/unit/view_helpers/download_format_links_helper_spec.rb +39 -0
  501. data/spec/unit/view_helpers/fields_for_spec.rb +50 -0
  502. data/spec/unit/view_helpers/flash_helper_spec.rb +25 -0
  503. data/spec/unit/view_helpers/form_helper_spec.rb +43 -0
  504. data/spec/unit/view_helpers/method_or_proc_helper_spec.rb +139 -0
  505. data/spec/unit/views/components/attributes_table_spec.rb +272 -0
  506. data/spec/unit/views/components/batch_action_selector_spec.rb +43 -0
  507. data/spec/unit/views/components/blank_slate_spec.rb +27 -0
  508. data/spec/unit/views/components/columns_spec.rb +189 -0
  509. data/spec/unit/views/components/index_list_spec.rb +35 -0
  510. data/spec/unit/views/components/index_table_for_spec.rb +127 -0
  511. data/spec/unit/views/components/paginated_collection_spec.rb +249 -0
  512. data/spec/unit/views/components/panel_spec.rb +58 -0
  513. data/spec/unit/views/components/sidebar_section_spec.rb +68 -0
  514. data/spec/unit/views/components/site_title_spec.rb +78 -0
  515. data/spec/unit/views/components/status_tag_spec.rb +249 -0
  516. data/spec/unit/views/components/table_for_spec.rb +434 -0
  517. data/spec/unit/views/components/tabs_spec.rb +39 -0
  518. data/spec/unit/views/components/unsupported_browser_spec.rb +41 -0
  519. data/spec/unit/views/index_as_blog_spec.rb +76 -0
  520. data/spec/unit/views/pages/form_spec.rb +51 -0
  521. data/spec/unit/views/pages/index_spec.rb +60 -0
  522. data/spec/unit/views/pages/layout_spec.rb +59 -0
  523. data/spec/unit/views/pages/show_spec.rb +33 -0
  524. data/spec/unit/views/tabbed_navigation_spec.rb +158 -0
  525. data/tasks/docs.rake +37 -0
  526. data/tasks/parallel_tests.rake +66 -0
  527. data/tasks/test.rake +91 -0
  528. data/tasks/yard.rake +9 -0
  529. metadata +974 -0
@@ -0,0 +1,136 @@
1
+ "zh-TW":
2
+ active_admin:
3
+ dashboard: 儀表板
4
+ dashboard_welcome:
5
+ welcome: "歡迎來到 Active Admin,這是預設的儀表板頁面。"
6
+ call_to_action: "要新增儀表板內容,請查看 'app/admin/dashboard.rb'"
7
+ view: "檢視"
8
+ edit: "編輯"
9
+ delete: "刪除"
10
+ delete_confirmation: "你確定要刪除嗎?"
11
+ new_model: "新增 %{model}"
12
+ edit_model: "編輯 %{model}"
13
+ delete_model: "刪除 %{model}"
14
+ details: "%{model} 明細"
15
+ cancel: "取消"
16
+ empty: "空的"
17
+ previous: "前一個"
18
+ next: "下一個"
19
+ download: "下載:"
20
+ has_many_new: "增加新的 %{model}"
21
+ has_many_delete: "刪除"
22
+ has_many_remove: "清除"
23
+ filters:
24
+ buttons:
25
+ filter: "篩選"
26
+ clear: "清除篩選條件"
27
+ predicates:
28
+ contains: "包含"
29
+ equals: "等於"
30
+ starts_with: "開頭為"
31
+ ends_with: "結尾為"
32
+ greater_than: "大於"
33
+ less_than: "小於"
34
+ search_status:
35
+ headline: "搜尋條件:"
36
+ current_scope: "子集:"
37
+ current_filters: "目前篩選條件:"
38
+ no_current_filters: "無"
39
+ status_tag:
40
+ "yes": "是"
41
+ "no": "否"
42
+ main_content: "請實作 %{model}#main_content 以顯示內容。"
43
+ logout: "登出"
44
+ powered_by: "Powered by %{active_admin} %{version}"
45
+ sidebars:
46
+ filters: "篩選條件"
47
+ search_status: "搜尋條件"
48
+ pagination:
49
+ empty: "找不到 %{model} "
50
+ one: "顯示 <b>1</b> %{model}"
51
+ one_page: "顯示 <b>全部 %{n}</b> %{model}"
52
+ multiple: "總計 <b>%{total}</b> 顯示 %{model} 中<b>%{from}&nbsp;-&nbsp;%{to}</b> 筆"
53
+ multiple_without_total: "顯示 %{model} 中<b>%{from}&nbsp;-&nbsp;%{to}</b> 筆"
54
+ entry:
55
+ one: "筆"
56
+ other: "筆"
57
+ any: "任何"
58
+ blank_slate:
59
+ content: "尚無 %{resource_name}"
60
+ link: "建立一筆"
61
+ dropdown_actions:
62
+ button_label: "操作"
63
+ batch_actions:
64
+ button_label: "批次作業"
65
+ default_confirmation: "你確定你要這樣做?"
66
+ delete_confirmation: "你確定要刪除這些 %{plural_model} 嗎?"
67
+ succesfully_destroyed:
68
+ one: "成功刪除 1 %{model}"
69
+ other: "成功刪除 %{count} %{plural_model}"
70
+ selection_toggle_explanation: "(切換選取)"
71
+ link: "建立一個"
72
+ action_label: "%{title} 已選取"
73
+ labels:
74
+ destroy: "刪除"
75
+ comments:
76
+ created_at: "建立"
77
+ resource_type: "資源種類"
78
+ author_type: "作者身份"
79
+ body: "內文"
80
+ author: "作者"
81
+ title: "評論"
82
+ add: "新增評論"
83
+ delete: "刪除評論"
84
+ delete_confirmation: "你確定要刪除這些評論嗎?"
85
+ resource: "資源"
86
+ no_comments_yet: "尚無評論"
87
+ author_missing: "匿名"
88
+ title_content: "(%{count}) 則評論"
89
+ errors:
90
+ empty_text: "評論儲存失敗,不允許空白的內容。"
91
+ devise:
92
+ username:
93
+ title: "帳號"
94
+ email:
95
+ title: "電子郵件信箱"
96
+ subdomain:
97
+ title: "子網域"
98
+ password:
99
+ title: "密碼"
100
+ sign_up:
101
+ title: "註冊"
102
+ submit: "註冊"
103
+ login:
104
+ title: "登入"
105
+ remember_me: "記住我"
106
+ submit: "登入"
107
+ reset_password:
108
+ title: "忘記密碼?"
109
+ submit: "重置密碼"
110
+ change_password:
111
+ title: "更改你的密碼"
112
+ submit: "更改我的密碼"
113
+ unlock:
114
+ title: "重新發送解鎖指示"
115
+ submit: "重新發送解鎖指示"
116
+ resend_confirmation_instructions:
117
+ title: '重新發送確認信'
118
+ submit: '重新發送確認信'
119
+ links:
120
+ sign_up: "註冊"
121
+ sign_in: "登入"
122
+ forgot_your_password: "忘記密碼?"
123
+ sign_in_with_omniauth_provider: "使用 %{provider} 登入"
124
+ resend_unlock_instructions: "重新發送解鎖指示"
125
+ resend_confirmation_instructions: "重新發送確認信"
126
+ unsupported_browser:
127
+ headline: "很抱歉,ActiveAdmin 已不再支援 Internet Explorer 8 以下版本的瀏覽器。"
128
+ recommendation: "建議您升級到最新版本的<a href=\"http://windows.microsoft.com/ie\">Internet Explorer</a>,<a href=\"https://chrome.google.com/\">Google Chrome</a>,或是 <a href=\"https://mozilla.org/firefox/\">Firefox</a>。"
129
+ turn_off_compatibility_view: "若您是使用 IE 9 或更新的版本,請確認<a href=\"http://windows.microsoft.com/zh-TW/windows7/webpages-look-incorrect-in-Internet-Explorer\">「相容性檢視」是關閉的</a>。"
130
+ access_denied:
131
+ message: "您沒有權限執行此項操作"
132
+ index_list:
133
+ table: "表格"
134
+ block: "清單"
135
+ grid: "格狀"
136
+ blog: "部落格"
@@ -0,0 +1,3 @@
1
+ default: --format 'progress' --require features/support/env.rb --require features/step_definitions features --tags ~@requires-reloading --tags ~@wip
2
+ wip: --format 'progress' --require features/support/env.rb --require features/step_definitions features --tags @wip:3 --wip features
3
+ class-reloading: CLASS_RELOADING=true --format 'progress' --require features/support/env.rb --require features/step_definitions features --tags @requires-reloading
@@ -0,0 +1,112 @@
1
+ # Installation
2
+
3
+ Active Admin is a Ruby Gem.
4
+
5
+ ```ruby
6
+ gem 'activeadmin'
7
+
8
+ # Plus integrations with:
9
+ gem 'devise'
10
+ gem 'cancan' # or cancancan
11
+ gem 'draper'
12
+ gem 'pundit'
13
+ ```
14
+
15
+ More accurately, it's a [Rails Engine](http://guides.rubyonrails.org/engines.html)
16
+ that can be injected into your existing Ruby on Rails application.
17
+
18
+ ## Setting up Active Admin
19
+
20
+ After installing the gem, you need to run the generator. Here are your options:
21
+
22
+ - If you don't want to use Devise, run it with `--skip-users`:
23
+ ```sh
24
+ rails g active_admin:install --skip-users
25
+ ```
26
+
27
+ - If you want to use an existing user class, provide it as an argument:
28
+ ```sh
29
+ rails g active_admin:install User
30
+ ```
31
+
32
+ - Otherwise, with no arguments we will create an `AdminUser` class to use with Devise:
33
+ ```sh
34
+ rails g active_admin:install
35
+ ```
36
+
37
+ The generator adds these core files, among others:
38
+
39
+ ```
40
+ app/admin/dashboard.rb
41
+ app/assets/javascripts/active_admin.js.coffee
42
+ app/assets/stylesheets/active_admin.scss
43
+ config/initializers/active_admin.rb
44
+ ```
45
+
46
+ Now, migrate and seed your database before starting the server:
47
+
48
+ ```sh
49
+ rake db:migrate
50
+ rake db:seed
51
+ rails server
52
+ ```
53
+
54
+ Visit `http://localhost:3000/admin` and log in as the default user:
55
+
56
+ * __User__: admin@example.com
57
+ * __Password__: password
58
+
59
+ Voila! You're on your brand new Active Admin dashboard.
60
+
61
+ To register an existing model with Active Admin:
62
+
63
+ ```sh
64
+ rails generate active_admin:resource MyModel
65
+ ```
66
+
67
+ This creates a file at `app/admin/my_model.rb` to set up the UI; refresh your browser to see it.
68
+
69
+ # Upgrading
70
+
71
+ When upgrading to a new version, it's a good idea to check the [CHANGELOG].
72
+
73
+ To update the JS & CSS assets:
74
+
75
+ ```sh
76
+ rails generate active_admin:assets
77
+ ```
78
+
79
+ You should also sync these files with their counterparts in the AA source code:
80
+
81
+ * app/admin/dashboard.rb [~>][dashboard.rb]
82
+ * config/initializers/active_admin.rb [~>][active_admin.rb]
83
+
84
+ # Gem compatibility
85
+
86
+ ## will_paginate
87
+
88
+ If you use `will_paginate` in your app, you need to configure an initializer for
89
+ Kaminari to avoid conflicts.
90
+
91
+ ```ruby
92
+ # config/initializers/kaminari.rb
93
+ Kaminari.configure do |config|
94
+ config.page_method_name = :per_page_kaminari
95
+ end
96
+ ```
97
+
98
+ If you are also using [Draper](https://github.com/drapergem/draper), you may want to
99
+ make sure `per_page_kaminari` is delegated correctly:
100
+
101
+ ```ruby
102
+ Draper::CollectionDecorator.send :delegate, :per_page_kaminari
103
+ ```
104
+
105
+ ## simple_form
106
+
107
+ If you're getting the error `wrong number of arguments (6 for 4..5)`, [read #2703].
108
+
109
+ [CHANGELOG]: https://github.com/activeadmin/activeadmin/blob/master/CHANGELOG.md
110
+ [dashboard.rb]: https://github.com/activeadmin/activeadmin/blob/master/lib/generators/active_admin/install/templates/dashboard.rb
111
+ [active_admin.rb]: https://github.com/activeadmin/activeadmin/blob/master/lib/generators/active_admin/install/templates/active_admin.rb.erb
112
+ [read #2703]: https://github.com/activeadmin/activeadmin/issues/2703#issuecomment-38140864
@@ -0,0 +1,171 @@
1
+ # General Configuration
2
+
3
+ You can configure Active Admin settings in `config/initializers/active_admin.rb`.
4
+ Here are a few common configurations:
5
+
6
+ ## Authentication
7
+
8
+ Active Admin requires two settings to authenticate and use the current user
9
+ within your application.
10
+
11
+ + the method controllers used to force authentication
12
+
13
+ ```ruby
14
+ config.authentication_method = :authenticate_admin_user!
15
+ ```
16
+
17
+ + the method used to access the current user
18
+
19
+ ```ruby
20
+ config.current_user_method = :current_admin_user
21
+ ```
22
+
23
+ Both of these settings can be set to false to turn off authentication.
24
+
25
+ ```ruby
26
+ config.authentication_method = false
27
+ config.current_user_method = false
28
+ ```
29
+
30
+ ## Site Title Options
31
+
32
+ Every page has what's called the site title on the left side of the menu bar.
33
+ If you want, you can customize it.
34
+
35
+ ```ruby
36
+ config.site_title = "My Admin Site"
37
+ config.site_title_link = "/"
38
+ config.site_title_image = "site_image.png"
39
+ config.site_title_image = "http://www.google.com/images/logos/google_logo_41.png"
40
+ config.site_title_image = ->(context) { context.current_user.company.logo_url }
41
+ ```
42
+
43
+ ## Internationalization (I18n)
44
+
45
+ To translate Active Admin to a new language or customize an existing translation, you can copy
46
+ [config/locales/en.yml](https://github.com/activeadmin/activeadmin/blob/master/config/locales/en.yml)
47
+ to your application's `config/locales` folder and update it. We welcome new/updated translations,
48
+ so feel free to [contribute](https://github.com/activeadmin/activeadmin/blob/master/CONTRIBUTING.md)!
49
+ To translate third party gems like devise, use for example devise-i18n.
50
+
51
+ ## Localize Format For Dates and Times
52
+
53
+ Active Admin sets `:long` as default localize format for dates and times.
54
+ If you want, you can customize it.
55
+
56
+ ```ruby
57
+ config.localize_format = :short
58
+ ```
59
+
60
+ ## Namespaces
61
+
62
+ When registering resources in Active Admin, they are loaded into a namespace.
63
+ The default namespace is "admin".
64
+
65
+ ```ruby
66
+ # app/admin/posts.rb
67
+ ActiveAdmin.register Post do
68
+ # ...
69
+ end
70
+ ```
71
+
72
+ The Post resource will be loaded into the "admin" namespace and will be
73
+ available at `/admin/posts`. Each namespace holds on to its own settings that
74
+ inherit from the application's configuration.
75
+
76
+ For example, if you have two namespaces (`:admin` and `:super_admin`) and want to
77
+ have different site title's for each, you can use the `config.namespace(name)`
78
+ block within the initializer file to configure them individually.
79
+
80
+ ```ruby
81
+ ActiveAdmin.setup do |config|
82
+ config.site_title = "My Default Site Title"
83
+
84
+ config.namespace :admin do |admin|
85
+ admin.site_title = "Admin Site"
86
+ end
87
+
88
+ config.namespace :super_admin do |super_admin|
89
+ super_admin.site_title = "Super Admin Site"
90
+ end
91
+ end
92
+ ```
93
+
94
+ Each setting available in the Active Admin setup block is configurable on a per
95
+ namespace basis.
96
+
97
+ ## Load paths
98
+
99
+ By default Active Admin files go inside `app/admin/`. You can change this
100
+ directory in the initializer file:
101
+
102
+ ```ruby
103
+ ActiveAdmin.setup do |config|
104
+ config.load_paths = [File.join(Rails.root, "app", "ui")]
105
+ end
106
+ ```
107
+
108
+ ## Comments
109
+
110
+ By default Active Admin includes comments on resources. Sometimes, this is
111
+ undesired. To disable comments:
112
+
113
+ ```ruby
114
+ # For the entire application:
115
+ ActiveAdmin.setup do |config|
116
+ config.comments = false
117
+ end
118
+
119
+ # For a namespace:
120
+ ActiveAdmin.setup do |config|
121
+ config.namespace :admin do |admin|
122
+ admin.comments = false
123
+ end
124
+ end
125
+
126
+ # For a given resource:
127
+ ActiveAdmin.register Post do
128
+ config.comments = false
129
+ end
130
+ ```
131
+
132
+ You can change the name under which comments are registered:
133
+
134
+ ```ruby
135
+ config.comments_registration_name = 'AdminComment'
136
+ ```
137
+
138
+ You can change the order for the comments and you can change the column to be
139
+ used for ordering:
140
+ ```ruby
141
+ config.comments_order = 'created_at ASC'
142
+ ```
143
+
144
+ You can disable the menu item for the comments index page:
145
+ ```ruby
146
+ config.comments_menu = false
147
+ ```
148
+
149
+ You can customize the comment menu:
150
+ ```ruby
151
+ config.comments_menu = { parent: 'Admin', priority: 1 }
152
+ ```
153
+
154
+ ## Utility Navigation
155
+
156
+ The "utility navigation" shown at the top right normally shows the current user
157
+ and a link to log out. However, the utility navigation is just like any other
158
+ menu in the system; you can provide your own menu to be rendered in its place.
159
+
160
+ ```ruby
161
+ ActiveAdmin.setup do |config|
162
+ config.namespace :admin do |admin|
163
+ admin.build_menu :utility_navigation do |menu|
164
+ menu.add label: "ActiveAdmin.info", url: "http://www.activeadmin.info",
165
+ html_options: { target: :blank }
166
+ admin.add_current_user_to_menu menu
167
+ admin.add_logout_button_to_menu menu
168
+ end
169
+ end
170
+ end
171
+ ```
@@ -0,0 +1,106 @@
1
+ # Custom Pages
2
+
3
+ If you have data you want on a standalone page that isn't tied to a resource,
4
+ custom pages provide you with a familiar syntax and feature set:
5
+
6
+ * a menu item
7
+ * sidebars
8
+ * action items
9
+ * page actions
10
+
11
+ ## Create a new Page
12
+
13
+ Creating a page is as simple as calling `register_page`:
14
+
15
+ ```ruby
16
+ # app/admin/calendar.rb
17
+ ActiveAdmin.register_page "Calendar" do
18
+ content do
19
+ para "Hello World"
20
+ end
21
+ end
22
+ ```
23
+
24
+ Anything rendered within `content` will be the main content on the page.
25
+ Partials behave exactly the same way as they do for resources:
26
+
27
+ ```ruby
28
+ # app/admin/calendar.rb
29
+ ActiveAdmin.register_page "Calendar" do
30
+ content do
31
+ render partial: 'calendar'
32
+ end
33
+ end
34
+
35
+ # app/views/admin/calendar/_calendar.html.arb
36
+ table do
37
+ thead do
38
+ tr do
39
+ %w[Sunday Monday Tuesday Wednesday Thursday Friday Saturday].each &method(:th)
40
+ end
41
+ end
42
+ tbody do
43
+ # ...
44
+ end
45
+ end
46
+ ```
47
+
48
+ ## Customize the Menu
49
+
50
+ See the [Menu](2-resource-customization.md#customize-the-menu) documentation.
51
+
52
+ ## Customize the breadcrumbs
53
+
54
+ ```ruby
55
+ ActiveAdmin.register_page "Calendar" do
56
+ breadcrumb do
57
+ ['admin', 'calendar']
58
+ end
59
+ end
60
+ ```
61
+
62
+ ## Customize the Namespace
63
+
64
+ We use the `admin` namespace by default, but you can use anything:
65
+
66
+ ```ruby
67
+ # Available at /today/calendar
68
+ ActiveAdmin.register_page "Calendar", namespace: :today
69
+
70
+ # Available at /calendar
71
+ ActiveAdmin.register_page "Calendar", namespace: false
72
+ ```
73
+
74
+ ## Add a Sidebar
75
+
76
+ See the [Sidebars](7-sidebars.md) documentation.
77
+
78
+ ## Add an Action Item
79
+
80
+ Just like other resources, you can add action items. The difference here being that
81
+ `:only` and `:except` don't apply because there's only one page it could apply to.
82
+
83
+ ```ruby
84
+ action_item :view_site do
85
+ link_to "View Site", "/"
86
+ end
87
+ ```
88
+
89
+ ## Add a Page Action
90
+
91
+ Page actions are custom controller actions (which mirror the resource DSL for the same feature).
92
+
93
+ ```ruby
94
+ page_action :add_event, method: :post do
95
+ # ...
96
+ redirect_to admin_calendar_path, notice: "Your event was added"
97
+ end
98
+
99
+ action_item :add do
100
+ link_to "Add Event", admin_calendar_add_event_path, method: :post
101
+ end
102
+ ```
103
+
104
+ This defines the route `/admin/calendar/add_event` which can handle HTTP POST requests.
105
+
106
+ Clicking on the action item will reload page and display the message "Your event was added"