activeadmin 2.9.0 → 3.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (278) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +284 -1
  3. data/CONTRIBUTING.md +4 -12
  4. data/README.md +2 -2
  5. data/app/assets/javascripts/active_admin/base.js +13 -9
  6. data/app/assets/stylesheets/active_admin/_base.scss +53 -37
  7. data/app/assets/stylesheets/active_admin/_forms.scss +1 -11
  8. data/app/assets/stylesheets/active_admin/_normalize.scss +25 -123
  9. data/app/assets/stylesheets/active_admin/components/_date_picker.scss +1 -2
  10. data/app/assets/stylesheets/active_admin/components/_dropdown_menu.scss +0 -1
  11. data/app/assets/stylesheets/active_admin/mixins/_variables.scss +9 -0
  12. data/app/assets/stylesheets/active_admin/structure/_footer.scss +6 -1
  13. data/app/assets/stylesheets/active_admin/structure/_title_bar.scss +0 -1
  14. data/app/javascript/active_admin/initializers/has-many.js +4 -1
  15. data/app/views/active_admin/devise/shared/_links.erb +1 -1
  16. data/app/views/active_admin/page/index.html.arb +1 -0
  17. data/app/views/active_admin/resource/edit.html.arb +1 -0
  18. data/app/views/active_admin/resource/index.html.arb +1 -0
  19. data/app/views/active_admin/resource/new.html.arb +1 -0
  20. data/app/views/active_admin/resource/show.html.arb +1 -0
  21. data/app/views/layouts/active_admin.html.arb +1 -0
  22. data/app/views/layouts/active_admin_logged_out.html.erb +5 -4
  23. data/config/locales/ar.yml +0 -7
  24. data/config/locales/az.yml +0 -7
  25. data/config/locales/bg.yml +0 -7
  26. data/config/locales/bs.yml +0 -7
  27. data/config/locales/ca.yml +0 -7
  28. data/config/locales/cs.yml +0 -7
  29. data/config/locales/da.yml +0 -7
  30. data/config/locales/de-CH.yml +0 -7
  31. data/config/locales/de.yml +0 -8
  32. data/config/locales/el.yml +0 -7
  33. data/config/locales/en-CA.yml +0 -7
  34. data/config/locales/en-GB.yml +0 -7
  35. data/config/locales/en.yml +0 -8
  36. data/config/locales/eo.yml +0 -8
  37. data/config/locales/es-MX.yml +0 -7
  38. data/config/locales/es.yml +0 -8
  39. data/config/locales/fa.yml +0 -7
  40. data/config/locales/fi.yml +0 -7
  41. data/config/locales/fr.yml +3 -11
  42. data/config/locales/he.yml +0 -9
  43. data/config/locales/hr.yml +0 -7
  44. data/config/locales/hu.yml +0 -8
  45. data/config/locales/id.yml +0 -7
  46. data/config/locales/it.yml +0 -8
  47. data/config/locales/ja.yml +0 -8
  48. data/config/locales/ko.yml +1 -8
  49. data/config/locales/lt.yml +0 -8
  50. data/config/locales/lv.yml +0 -7
  51. data/config/locales/mk.yml +0 -8
  52. data/config/locales/nb.yml +0 -8
  53. data/config/locales/nl.yml +1 -9
  54. data/config/locales/pl.yml +0 -8
  55. data/config/locales/pt-BR.yml +0 -8
  56. data/config/locales/pt-PT.yml +0 -7
  57. data/config/locales/ro.yml +3 -9
  58. data/config/locales/ru.yml +0 -6
  59. data/config/locales/sk.yml +0 -8
  60. data/config/locales/sv-SE.yml +58 -39
  61. data/config/locales/tr.yml +0 -11
  62. data/config/locales/uk.yml +0 -6
  63. data/config/locales/vi.yml +34 -15
  64. data/config/locales/zh-CN.yml +34 -23
  65. data/config/locales/zh-TW.yml +0 -7
  66. data/lib/active_admin/abstract_view_factory.rb +1 -0
  67. data/lib/active_admin/application.rb +10 -10
  68. data/lib/active_admin/application_settings.rb +1 -0
  69. data/lib/active_admin/asset_registration.rb +4 -3
  70. data/lib/active_admin/authorization_adapter.rb +3 -0
  71. data/lib/active_admin/base_controller/authorization.rb +4 -3
  72. data/lib/active_admin/base_controller/menu.rb +1 -0
  73. data/lib/active_admin/base_controller.rb +2 -1
  74. data/lib/active_admin/batch_actions/controller.rb +1 -0
  75. data/lib/active_admin/batch_actions/resource_extension.rb +1 -0
  76. data/lib/active_admin/batch_actions/views/batch_action_form.rb +1 -0
  77. data/lib/active_admin/batch_actions/views/batch_action_selector.rb +1 -0
  78. data/lib/active_admin/batch_actions/views/selection_cells.rb +1 -0
  79. data/lib/active_admin/batch_actions.rb +1 -0
  80. data/lib/active_admin/callbacks.rb +1 -0
  81. data/lib/active_admin/cancan_adapter.rb +1 -0
  82. data/lib/active_admin/collection_decorator.rb +1 -0
  83. data/lib/active_admin/component.rb +1 -0
  84. data/lib/active_admin/controller_action.rb +1 -0
  85. data/lib/active_admin/csv_builder.rb +24 -16
  86. data/lib/active_admin/dependency.rb +1 -4
  87. data/lib/active_admin/devise.rb +11 -0
  88. data/lib/active_admin/dsl.rb +1 -0
  89. data/lib/active_admin/dynamic_setting.rb +1 -0
  90. data/lib/active_admin/dynamic_settings_node.rb +1 -0
  91. data/lib/active_admin/engine.rb +8 -2
  92. data/lib/active_admin/error.rb +1 -0
  93. data/lib/active_admin/filters/active.rb +1 -0
  94. data/lib/active_admin/filters/active_filter.rb +2 -1
  95. data/lib/active_admin/filters/active_sidebar.rb +2 -28
  96. data/lib/active_admin/filters/dsl.rb +1 -0
  97. data/lib/active_admin/filters/forms.rb +3 -2
  98. data/lib/active_admin/filters/formtastic_addons.rb +2 -1
  99. data/lib/active_admin/filters/resource_extension.rb +5 -4
  100. data/lib/active_admin/filters.rb +1 -0
  101. data/lib/active_admin/form_builder.rb +1 -0
  102. data/lib/active_admin/generators/boilerplate.rb +1 -0
  103. data/lib/active_admin/helpers/collection.rb +2 -0
  104. data/lib/active_admin/helpers/i18n.rb +1 -0
  105. data/lib/active_admin/helpers/optional_display.rb +1 -0
  106. data/lib/active_admin/helpers/routes/url_helpers.rb +1 -0
  107. data/lib/active_admin/helpers/scope_chain.rb +1 -0
  108. data/lib/active_admin/inputs/datepicker_input.rb +1 -0
  109. data/lib/active_admin/inputs/filters/base/search_method_select.rb +3 -2
  110. data/lib/active_admin/inputs/filters/base.rb +1 -0
  111. data/lib/active_admin/inputs/filters/boolean_input.rb +1 -0
  112. data/lib/active_admin/inputs/filters/check_boxes_input.rb +1 -0
  113. data/lib/active_admin/inputs/filters/date_picker_input.rb +1 -0
  114. data/lib/active_admin/inputs/filters/date_range_input.rb +3 -2
  115. data/lib/active_admin/inputs/filters/numeric_input.rb +2 -1
  116. data/lib/active_admin/inputs/filters/select_input.rb +3 -0
  117. data/lib/active_admin/inputs/filters/string_input.rb +2 -1
  118. data/lib/active_admin/inputs/filters/text_input.rb +1 -0
  119. data/lib/active_admin/inputs.rb +1 -0
  120. data/lib/active_admin/localizers/resource_localizer.rb +1 -0
  121. data/lib/active_admin/localizers.rb +1 -0
  122. data/lib/active_admin/menu.rb +2 -0
  123. data/lib/active_admin/menu_collection.rb +1 -0
  124. data/lib/active_admin/menu_item.rb +1 -0
  125. data/lib/active_admin/namespace.rb +4 -3
  126. data/lib/active_admin/namespace_settings.rb +2 -1
  127. data/lib/active_admin/order_clause.rb +1 -0
  128. data/lib/active_admin/orm/active_record/comments/comment.rb +9 -0
  129. data/lib/active_admin/orm/active_record/comments/namespace_helper.rb +1 -0
  130. data/lib/active_admin/orm/active_record/comments/resource_helper.rb +1 -0
  131. data/lib/active_admin/orm/active_record/comments/show_page_helper.rb +1 -0
  132. data/lib/active_admin/orm/active_record/comments/views/active_admin_comments.rb +2 -1
  133. data/lib/active_admin/orm/active_record/comments/views.rb +1 -0
  134. data/lib/active_admin/orm/active_record/comments.rb +9 -8
  135. data/lib/active_admin/orm/active_record.rb +1 -0
  136. data/lib/active_admin/orm/mongoid.rb +1 -0
  137. data/lib/active_admin/page.rb +1 -0
  138. data/lib/active_admin/page_controller.rb +1 -0
  139. data/lib/active_admin/page_dsl.rb +1 -0
  140. data/lib/active_admin/page_presenter.rb +1 -0
  141. data/lib/active_admin/pundit_adapter.rb +55 -13
  142. data/lib/active_admin/resource/action_items.rb +3 -2
  143. data/lib/active_admin/resource/attributes.rb +1 -0
  144. data/lib/active_admin/resource/belongs_to.rb +1 -0
  145. data/lib/active_admin/resource/controllers.rb +1 -0
  146. data/lib/active_admin/resource/includes.rb +1 -0
  147. data/lib/active_admin/resource/menu.rb +1 -0
  148. data/lib/active_admin/resource/model.rb +1 -0
  149. data/lib/active_admin/resource/naming.rb +1 -0
  150. data/lib/active_admin/resource/ordering.rb +1 -0
  151. data/lib/active_admin/resource/page_presenters.rb +1 -0
  152. data/lib/active_admin/resource/pagination.rb +1 -0
  153. data/lib/active_admin/resource/routes.rb +1 -0
  154. data/lib/active_admin/resource/scope_to.rb +1 -0
  155. data/lib/active_admin/resource/scopes.rb +1 -0
  156. data/lib/active_admin/resource/sidebars.rb +1 -0
  157. data/lib/active_admin/resource.rb +3 -2
  158. data/lib/active_admin/resource_collection.rb +1 -0
  159. data/lib/active_admin/resource_controller/action_builder.rb +1 -0
  160. data/lib/active_admin/resource_controller/data_access.rb +30 -4
  161. data/lib/active_admin/resource_controller/decorators.rb +1 -0
  162. data/lib/active_admin/resource_controller/polymorphic_routes.rb +1 -0
  163. data/lib/active_admin/resource_controller/resource_class_methods.rb +1 -0
  164. data/lib/active_admin/resource_controller/scoping.rb +1 -0
  165. data/lib/active_admin/resource_controller/sidebars.rb +1 -0
  166. data/lib/active_admin/resource_controller/streaming.rb +3 -2
  167. data/lib/active_admin/resource_controller.rb +1 -0
  168. data/lib/active_admin/resource_dsl.rb +7 -21
  169. data/lib/active_admin/router.rb +1 -0
  170. data/lib/active_admin/scope.rb +1 -0
  171. data/lib/active_admin/settings_node.rb +1 -0
  172. data/lib/active_admin/sidebar_section.rb +1 -0
  173. data/lib/active_admin/version.rb +2 -1
  174. data/lib/active_admin/view_factory.rb +1 -0
  175. data/lib/active_admin/view_helpers/active_admin_application_helper.rb +1 -0
  176. data/lib/active_admin/view_helpers/auto_link_helper.rb +2 -1
  177. data/lib/active_admin/view_helpers/breadcrumb_helper.rb +1 -0
  178. data/lib/active_admin/view_helpers/display_helper.rb +19 -4
  179. data/lib/active_admin/view_helpers/download_format_links_helper.rb +1 -0
  180. data/lib/active_admin/view_helpers/fields_for.rb +1 -0
  181. data/lib/active_admin/view_helpers/flash_helper.rb +1 -0
  182. data/lib/active_admin/view_helpers/form_helper.rb +1 -0
  183. data/lib/active_admin/view_helpers/method_or_proc_helper.rb +1 -0
  184. data/lib/active_admin/view_helpers/scope_name_helper.rb +1 -0
  185. data/lib/active_admin/view_helpers/sidebar_helper.rb +1 -0
  186. data/lib/active_admin/view_helpers/title_helper.rb +1 -0
  187. data/lib/active_admin/view_helpers/view_factory_helper.rb +1 -0
  188. data/lib/active_admin/view_helpers.rb +1 -0
  189. data/lib/active_admin/views/action_items.rb +1 -0
  190. data/lib/active_admin/views/components/active_admin_form.rb +2 -5
  191. data/lib/active_admin/views/components/active_filters_sidebar_content.rb +59 -0
  192. data/lib/active_admin/views/components/attributes_table.rb +1 -0
  193. data/lib/active_admin/views/components/blank_slate.rb +1 -0
  194. data/lib/active_admin/views/components/columns.rb +1 -0
  195. data/lib/active_admin/views/components/dropdown_menu.rb +3 -5
  196. data/lib/active_admin/views/components/index_list.rb +1 -0
  197. data/lib/active_admin/views/components/menu.rb +1 -0
  198. data/lib/active_admin/views/components/menu_item.rb +1 -0
  199. data/lib/active_admin/views/components/paginated_collection.rb +1 -0
  200. data/lib/active_admin/views/components/panel.rb +1 -0
  201. data/lib/active_admin/views/components/scopes.rb +1 -0
  202. data/lib/active_admin/views/components/sidebar.rb +1 -0
  203. data/lib/active_admin/views/components/sidebar_section.rb +1 -0
  204. data/lib/active_admin/views/components/site_title.rb +1 -0
  205. data/lib/active_admin/views/components/status_tag.rb +1 -0
  206. data/lib/active_admin/views/components/table_for.rb +1 -0
  207. data/lib/active_admin/views/components/tabs.rb +1 -0
  208. data/lib/active_admin/views/components/unsupported_browser.rb +1 -0
  209. data/lib/active_admin/views/footer.rb +1 -0
  210. data/lib/active_admin/views/header.rb +1 -0
  211. data/lib/active_admin/views/index_as_block.rb +1 -0
  212. data/lib/active_admin/views/index_as_blog.rb +1 -0
  213. data/lib/active_admin/views/index_as_grid.rb +1 -0
  214. data/lib/active_admin/views/index_as_table.rb +2 -5
  215. data/lib/active_admin/views/pages/base.rb +8 -4
  216. data/lib/active_admin/views/pages/form.rb +1 -0
  217. data/lib/active_admin/views/pages/index.rb +2 -1
  218. data/lib/active_admin/views/pages/layout.rb +1 -0
  219. data/lib/active_admin/views/pages/page.rb +1 -0
  220. data/lib/active_admin/views/pages/show.rb +2 -7
  221. data/lib/active_admin/views/tabbed_navigation.rb +1 -0
  222. data/lib/active_admin/views/title_bar.rb +1 -0
  223. data/lib/active_admin/views.rb +1 -0
  224. data/lib/active_admin.rb +6 -3
  225. data/lib/activeadmin.rb +1 -0
  226. data/lib/generators/active_admin/assets/assets_generator.rb +1 -0
  227. data/lib/generators/active_admin/devise/devise_generator.rb +1 -0
  228. data/lib/generators/active_admin/install/install_generator.rb +1 -0
  229. data/lib/generators/active_admin/install/templates/active_admin.rb.erb +18 -1
  230. data/lib/generators/active_admin/install/templates/dashboard.rb +1 -0
  231. data/lib/generators/active_admin/page/page_generator.rb +1 -0
  232. data/lib/generators/active_admin/page/templates/page.rb +1 -0
  233. data/lib/generators/active_admin/resource/resource_generator.rb +1 -0
  234. data/lib/generators/active_admin/webpacker/webpacker_generator.rb +1 -0
  235. metadata +26 -83
  236. data/docs/.gitignore +0 -1
  237. data/docs/0-installation.md +0 -142
  238. data/docs/1-general-configuration.md +0 -224
  239. data/docs/10-custom-pages.md +0 -150
  240. data/docs/11-decorators.md +0 -70
  241. data/docs/12-arbre-components.md +0 -214
  242. data/docs/13-authorization-adapter.md +0 -285
  243. data/docs/14-gotchas.md +0 -138
  244. data/docs/2-resource-customization.md +0 -475
  245. data/docs/3-index-pages/custom-index.md +0 -35
  246. data/docs/3-index-pages/index-as-block.md +0 -19
  247. data/docs/3-index-pages/index-as-blog.md +0 -69
  248. data/docs/3-index-pages/index-as-grid.md +0 -27
  249. data/docs/3-index-pages/index-as-table.md +0 -234
  250. data/docs/3-index-pages.md +0 -328
  251. data/docs/4-csv-format.md +0 -74
  252. data/docs/5-forms.md +0 -237
  253. data/docs/6-show-pages.md +0 -93
  254. data/docs/7-sidebars.md +0 -75
  255. data/docs/8-custom-actions.md +0 -177
  256. data/docs/9-batch-actions.md +0 -237
  257. data/docs/CNAME +0 -1
  258. data/docs/Gemfile +0 -3
  259. data/docs/Gemfile.lock +0 -259
  260. data/docs/README.md +0 -24
  261. data/docs/_config.yml +0 -4
  262. data/docs/_includes/footer.html +0 -8
  263. data/docs/_includes/google-analytics.html +0 -16
  264. data/docs/_includes/head.html +0 -7
  265. data/docs/_includes/toc.html +0 -98
  266. data/docs/_includes/top-menu.html +0 -17
  267. data/docs/_layouts/default.html +0 -21
  268. data/docs/documentation.md +0 -60
  269. data/docs/images/activeadmin.png +0 -0
  270. data/docs/images/code-header.png +0 -0
  271. data/docs/images/divider.png +0 -0
  272. data/docs/images/features.png +0 -0
  273. data/docs/images/tidelift.svg +0 -14
  274. data/docs/index.html +0 -226
  275. data/docs/stylesheets/main.css +0 -1205
  276. data/lib/active_admin/deprecation.rb +0 -10
  277. data/lib/ransack_ext.rb +0 -20
  278. /data/app/assets/stylesheets/active_admin/{print.scss → _print.scss} +0 -0
@@ -1,142 +0,0 @@
1
- ---
2
- redirect_from: /docs/0-installation.html
3
- ---
4
-
5
- # Installation
6
-
7
- Active Admin is a Ruby Gem.
8
-
9
- ```ruby
10
- gem 'activeadmin'
11
-
12
- # Plus integrations with:
13
- gem 'devise'
14
- gem 'cancancan'
15
- gem 'draper'
16
- gem 'pundit'
17
- ```
18
-
19
- More accurately, it's a [Rails Engine](http://guides.rubyonrails.org/engines.html)
20
- that can be injected into your existing Ruby on Rails application.
21
-
22
- ## Setting up Active Admin
23
-
24
- After installing the gem, you need to run the generator. Here are your options:
25
-
26
- * If you don't want to use Devise, run it with `--skip-users`:
27
-
28
- ```sh
29
- rails g active_admin:install --skip-users
30
- ```
31
-
32
- * If you want to use an existing user class, provide it as an argument:
33
-
34
- ```sh
35
- rails g active_admin:install User
36
- ```
37
-
38
- * Otherwise, with no arguments we will create an `AdminUser` class to use with Devise:
39
-
40
- ```sh
41
- rails g active_admin:install
42
- ```
43
-
44
- The generator adds these core files, among others:
45
-
46
- * `app/admin/dashboard.rb`
47
- * `app/assets/javascripts/active_admin.js`
48
- * `app/assets/stylesheets/active_admin.scss`
49
- * `config/initializers/active_admin.rb`
50
-
51
- Now, migrate and seed your database before starting the server:
52
-
53
- ```sh
54
- rails db:migrate
55
- rails db:seed
56
- rails server
57
- ```
58
-
59
- Visit `http://localhost:3000/admin` and log in as the default user:
60
-
61
- * __User__: admin@example.com
62
- * __Password__: password
63
-
64
- Voila! You're on your brand new Active Admin dashboard.
65
-
66
- To register an existing model with Active Admin:
67
-
68
- ```sh
69
- rails generate active_admin:resource MyModel
70
- ```
71
-
72
- This creates a file at `app/admin/my_model.rb` to set up the UI; refresh your
73
- browser to see it.
74
-
75
- # Upgrading
76
-
77
- When upgrading to a new version, it's a good idea to check the [CHANGELOG].
78
-
79
- To update the JS & CSS assets:
80
-
81
- ```sh
82
- rails generate active_admin:assets
83
- ```
84
-
85
- You should also sync these files with their counterparts in the AA source code:
86
-
87
- * app/admin/dashboard.rb [~>][dashboard.rb]
88
- * config/initializers/active_admin.rb [~>][active_admin.rb]
89
-
90
- # Gem compatibility
91
-
92
- ## will_paginate
93
-
94
- If you use `will_paginate` in your app, you need to configure an initializer for
95
- Kaminari to avoid conflicts.
96
-
97
- ```ruby
98
- # config/initializers/kaminari.rb
99
- Kaminari.configure do |config|
100
- config.page_method_name = :per_page_kaminari
101
- end
102
- ```
103
-
104
- If you are also using [Draper](https://github.com/drapergem/draper), you may
105
- want to make sure `per_page_kaminari` is delegated correctly:
106
-
107
- ```ruby
108
- Draper::CollectionDecorator.send :delegate, :per_page_kaminari
109
- ```
110
-
111
- ## simple_form
112
-
113
- If you're getting the error `wrong number of arguments (6 for 4..5)`, [read #2703].
114
-
115
- ## webpacker
116
-
117
- For new apps starting with Rails 6.0, Webpacker has become the default asset generator. You can **opt-in to using Webpacker for ActiveAdmin assets** as well by updating your configuration to turn on the `use_webpacker` option, either at installation time or manually.
118
-
119
- * at active_admin installation:
120
-
121
- ```sh
122
- rails g active_admin:install --use_webpacker
123
- ```
124
-
125
- * manually:
126
-
127
- ```ruby
128
- ActiveAdmin.setup do |config|
129
- config.use_webpacker = true
130
- end
131
- ```
132
-
133
- And run the generator to get default Active Admin assets:
134
-
135
- ```sh
136
- rails g active_admin:webpacker
137
- ```
138
-
139
- [CHANGELOG]: https://github.com/activeadmin/activeadmin/blob/master/CHANGELOG.md
140
- [dashboard.rb]: https://github.com/activeadmin/activeadmin/blob/master/lib/generators/active_admin/install/templates/dashboard.rb
141
- [active_admin.rb]: https://github.com/activeadmin/activeadmin/blob/master/lib/generators/active_admin/install/templates/active_admin.rb.erb
142
- [read #2703]: https://github.com/activeadmin/activeadmin/issues/2703#issuecomment-38140864
@@ -1,224 +0,0 @@
1
- ---
2
- redirect_from: /docs/1-general-configuration.html
3
- ---
4
-
5
- # General Configuration
6
-
7
- You can configure Active Admin settings in `config/initializers/active_admin.rb`.
8
- Here are a few common configurations:
9
-
10
- ## Authentication
11
-
12
- Active Admin requires two settings to authenticate and use the current user
13
- within your application.
14
-
15
- + the method controllers used to force authentication
16
-
17
- ```ruby
18
- config.authentication_method = :authenticate_admin_user!
19
- ```
20
-
21
- + the method used to access the current user
22
-
23
- ```ruby
24
- config.current_user_method = :current_admin_user
25
- ```
26
-
27
- Both of these settings can be set to false to turn off authentication.
28
-
29
- ```ruby
30
- config.authentication_method = false
31
- config.current_user_method = false
32
- ```
33
-
34
- ## Site Title Options
35
-
36
- Every page has what's called the site title on the left side of the menu bar.
37
- If you want, you can customize it.
38
-
39
- ```ruby
40
- config.site_title = "My Admin Site"
41
- config.site_title_link = "/"
42
- config.site_title_image = "site_image.png"
43
- config.site_title_image = "http://www.google.com/images/logos/google_logo_41.png"
44
- config.site_title_image = ->(context) { context.current_user.company.logo_url }
45
- ```
46
-
47
- ## Internationalization (I18n)
48
-
49
- Active Admin comes with translations for a lot of
50
- [locales](https://github.com/activeadmin/activeadmin/blob/master/config/locales/).
51
- Active Admin does not provide the translations for the kaminari gem it uses for pagination,
52
- to get these you can use the
53
- [kaminari-i18n](https://github.com/tigrish/kaminari-i18n) gem.
54
-
55
- To translate Active Admin to a new language or customize an existing
56
- translation, you can copy
57
- [config/locales/en.yml](https://github.com/activeadmin/activeadmin/blob/master/config/locales/en.yml)
58
- to your application's `config/locales` folder and update it. We welcome
59
- new/updated translations, so feel free to
60
- [contribute](https://github.com/activeadmin/activeadmin/blob/master/CONTRIBUTING.md)!
61
-
62
- When using [devise](https://github.com/plataformatec/devise) for authentication,
63
- you can use the [devise-i18n](https://github.com/tigrish/devise-i18n)
64
- gem to get the devise translations for other locales.
65
-
66
- ## Localize Format For Dates and Times
67
-
68
- Active Admin sets `:long` as default localize format for dates and times.
69
- If you want, you can customize it.
70
-
71
- ```ruby
72
- config.localize_format = :short
73
- ```
74
-
75
- ## Namespaces
76
-
77
- When registering resources in Active Admin, they are loaded into a namespace.
78
- The default namespace is "admin".
79
-
80
- ```ruby
81
- # app/admin/posts.rb
82
- ActiveAdmin.register Post do
83
- # ...
84
- end
85
- ```
86
-
87
- The Post resource will be loaded into the "admin" namespace and will be
88
- available at `/admin/posts`. Each namespace holds on to its own settings that
89
- inherit from the application's configuration.
90
-
91
- For example, if you have two namespaces (`:admin` and `:super_admin`) and want to
92
- have different site title's for each, you can use the `config.namespace(name)`
93
- block within the initializer file to configure them individually.
94
-
95
- ```ruby
96
- ActiveAdmin.setup do |config|
97
- config.site_title = "My Default Site Title"
98
-
99
- config.namespace :admin do |admin|
100
- admin.site_title = "Admin Site"
101
- end
102
-
103
- config.namespace :super_admin do |super_admin|
104
- super_admin.site_title = "Super Admin Site"
105
- end
106
- end
107
- ```
108
-
109
- If you are creating a multi-tenant application you may want to have multiple namespaces mounted to the same path. We can do this using the `route_options` settings on the namespace
110
-
111
- ```ruby
112
- config.namespace :site_1 do |admin|
113
- admin.route_options = { path: :admin, constraints: ->(request){ request.domain == "site1.com" } }
114
- end
115
-
116
- config.namespace :site_2 do |admin|
117
- admin.route_options = { path: :admin, constraints: ->(request){ request.domain == "site2.com" } }
118
- end
119
- ```
120
-
121
- If you would like to mount the namespace to a subdomain instead of path we can use the `route_options` for this as well
122
-
123
- ```ruby
124
- config.namespace :admin do |admin|
125
- admin.route_options = { path: '', subdomain: 'admin' }
126
- end
127
- ```
128
-
129
- Each setting available in the Active Admin setup block is configurable on a per
130
- namespace basis.
131
-
132
- ## Load paths
133
-
134
- By default Active Admin files go inside `app/admin/`. You can change this
135
- directory in the initializer file:
136
-
137
- ```ruby
138
- ActiveAdmin.setup do |config|
139
- config.load_paths = [File.join(Rails.root, "app", "ui")]
140
- end
141
- ```
142
-
143
- ## Comments
144
-
145
- By default Active Admin includes comments on resources. Sometimes, this is
146
- undesired. To disable comments:
147
-
148
- ```ruby
149
- # For the entire application:
150
- ActiveAdmin.setup do |config|
151
- config.comments = false
152
- end
153
-
154
- # For a namespace:
155
- ActiveAdmin.setup do |config|
156
- config.namespace :admin do |admin|
157
- admin.comments = false
158
- end
159
- end
160
-
161
- # For a given resource:
162
- ActiveAdmin.register Post do
163
- config.comments = false
164
- end
165
- ```
166
-
167
- You can change the name under which comments are registered:
168
-
169
- ```ruby
170
- config.comments_registration_name = 'AdminComment'
171
- ```
172
-
173
- You can change the order for the comments and you can change the column to be
174
- used for ordering:
175
-
176
- ```ruby
177
- config.comments_order = 'created_at ASC'
178
- ```
179
-
180
- You can disable the menu item for the comments index page:
181
-
182
- ```ruby
183
- config.comments_menu = false
184
- ```
185
-
186
- You can customize the comment menu:
187
-
188
- ```ruby
189
- config.comments_menu = { parent: 'Admin', priority: 1 }
190
- ```
191
-
192
- Remember to indicate where to place the comments and form with:
193
-
194
- ```ruby
195
- active_admin_comments
196
- ```
197
-
198
- ## Utility Navigation
199
-
200
- The "utility navigation" shown at the top right normally shows the current user
201
- and a link to log out. However, the utility navigation is just like any other
202
- menu in the system; you can provide your own menu to be rendered in its place.
203
-
204
- ```ruby
205
- ActiveAdmin.setup do |config|
206
- config.namespace :admin do |admin|
207
- admin.build_menu :utility_navigation do |menu|
208
- menu.add label: "ActiveAdmin.info", url: "http://www.activeadmin.info",
209
- html_options: { target: :blank }
210
- admin.add_current_user_to_menu menu
211
- admin.add_logout_button_to_menu menu
212
- end
213
- end
214
- end
215
- ```
216
-
217
- ## Footer Customization
218
-
219
- By default, Active Admin displays a "Powered by ActiveAdmin" message on every
220
- page. You can override this message and show domain-specific messaging:
221
-
222
- ```ruby
223
- config.footer = "MyApp Revision v1.3"
224
- ```
@@ -1,150 +0,0 @@
1
- ---
2
- redirect_from: /docs/10-custom-pages.html
3
- ---
4
-
5
- # Custom Pages
6
-
7
- If you have data you want on a standalone page that isn't tied to a resource,
8
- custom pages provide you with a familiar syntax and feature set:
9
-
10
- * a menu item
11
- * sidebars
12
- * action items
13
- * page actions
14
-
15
- ## Create a new Page
16
-
17
- Creating a page is as simple as calling `register_page`:
18
-
19
- ```ruby
20
- # app/admin/calendar.rb
21
- ActiveAdmin.register_page "Calendar" do
22
- content do
23
- para "Hello World"
24
- end
25
- end
26
- ```
27
-
28
- Anything rendered within `content` will be the main content on the page.
29
- Partials behave exactly the same way as they do for resources:
30
-
31
- ```ruby
32
- # app/admin/calendar.rb
33
- ActiveAdmin.register_page "Calendar" do
34
- content do
35
- render partial: 'calendar'
36
- end
37
- end
38
-
39
- # app/views/admin/calendar/_calendar.html.arb
40
- table do
41
- thead do
42
- tr do
43
- %w[Sunday Monday Tuesday Wednesday Thursday Friday Saturday].each &method(:th)
44
- end
45
- end
46
- tbody do
47
- # ...
48
- end
49
- end
50
- ```
51
-
52
- ## Customize the Menu
53
-
54
- See the [Menu](2-resource-customization.md#customize-the-menu) documentation.
55
-
56
- ## Customize the breadcrumbs
57
-
58
- ```ruby
59
- ActiveAdmin.register_page "Calendar" do
60
- breadcrumb do
61
- ['admin', 'calendar']
62
- end
63
- end
64
- ```
65
-
66
- ## Customize the Namespace
67
-
68
- We use the `admin` namespace by default, but you can use anything:
69
-
70
- ```ruby
71
- # Available at /today/calendar
72
- ActiveAdmin.register_page "Calendar", namespace: :today
73
-
74
- # Available at /calendar
75
- ActiveAdmin.register_page "Calendar", namespace: false
76
- ```
77
-
78
- ## Belongs To
79
-
80
- To nest the page within another resource, you can use the `belongs_to` method:
81
-
82
- ```ruby
83
- ActiveAdmin.register Project
84
- ActiveAdmin.register_page "Status" do
85
- belongs_to :project
86
- end
87
- ```
88
-
89
- See also the [Belongs To](2-resource-customization.md#belongs-to) documentation
90
- and examples.
91
-
92
- ## Add a Sidebar
93
-
94
- See the [Sidebars](7-sidebars.md) documentation.
95
-
96
- ## Add an Action Item
97
-
98
- Just like other resources, you can add action items. The difference here being that
99
- `:only` and `:except` don't apply because there's only one page it could apply to.
100
-
101
- ```ruby
102
- action_item :view_site do
103
- link_to "View Site", "/"
104
- end
105
- ```
106
-
107
- ## Add a Page Action
108
-
109
- Page actions are custom controller actions (which mirror the resource DSL for
110
- the same feature).
111
-
112
- ```ruby
113
- page_action :add_event, method: :post do
114
- # ...
115
- redirect_to admin_calendar_path, notice: "Your event was added"
116
- end
117
-
118
- action_item :add do
119
- link_to "Add Event", admin_calendar_add_event_path, method: :post
120
- end
121
- ```
122
-
123
- This defines the route `/admin/calendar/add_event` which can handle HTTP POST requests.
124
-
125
- Clicking on the action item will reload page and display the message "Your event
126
- was added"
127
-
128
- Page actions can handle multiple HTTP verbs.
129
-
130
- ```ruby
131
- page_action :add_event, method: [:get, :post] do
132
- # ...
133
- end
134
- ```
135
-
136
- See also the [Custom Actions](8-custom-actions.md#http-verbs) example.
137
-
138
- ## Use custom column as id
139
-
140
- You can use custom parameter instead of id
141
-
142
- ```ruby
143
- ActiveAdmin.register User do
144
- controller do
145
- defaults :finder => :find_by_name
146
- end
147
- end
148
- ```
149
-
150
- This defines the resource route as `/admin/users/john` if user name is john
@@ -1,70 +0,0 @@
1
- ---
2
- redirect_from: /docs/11-decorators.html
3
- ---
4
-
5
- # Decorators
6
-
7
- Active Admin allows you to use the decorator pattern to provide view-specific
8
- versions of a resource. [Draper](https://github.com/drapergem/draper) is
9
- recommended but not required.
10
-
11
- ## Example usage
12
-
13
- ```ruby
14
- # app/models/post.rb
15
- class Post < ActiveRecord::Base
16
- # has title, content, and image_url
17
- end
18
-
19
- # app/decorators/post_decorator.rb
20
- class PostDecorator < Draper::Decorator
21
- delegate_all
22
-
23
- def image
24
- h.image_tag model.image_url
25
- end
26
- end
27
-
28
- # app/admin/post.rb
29
- ActiveAdmin.register Post do
30
- decorate_with PostDecorator
31
-
32
- index do
33
- column :title
34
- column :image
35
- actions
36
- end
37
- end
38
- ```
39
-
40
- You can pass any decorator class as an argument to `decorate_with`
41
- as long as it accepts the record to be decorated as a parameter in
42
- the initializer, and responds to all the necessary methods.
43
-
44
- ```ruby
45
- # app/decorators/post_decorator.rb
46
- class PostDecorator
47
- attr_reader :post
48
- delegate_missing_to :post
49
-
50
- def initialize(post)
51
- @post = post
52
- end
53
- end
54
- ```
55
-
56
- ## Forms
57
-
58
- By default, ActiveAdmin does *not* decorate the resource used to render forms.
59
- If you need ActiveAdmin to decorate the forms, you can pass `decorate: true` to the
60
- form block.
61
-
62
- ```ruby
63
- ActiveAdmin.register Post do
64
- decorate_with PostDecorator
65
-
66
- form decorate: true do |f|
67
- # ...
68
- end
69
- end
70
- ```