activeadmin 1.1.0 → 2.12.0

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

Potentially problematic release.


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

Files changed (580) hide show
  1. checksums.yaml +5 -5
  2. data/CHANGELOG.md +784 -111
  3. data/CODE_OF_CONDUCT.md +64 -12
  4. data/CONTRIBUTING.md +83 -61
  5. data/README.md +73 -19
  6. data/app/assets/javascripts/active_admin/base.js +524 -0
  7. data/app/assets/stylesheets/active_admin/_base.scss +53 -37
  8. data/app/assets/stylesheets/active_admin/_forms.scss +3 -25
  9. data/app/assets/stylesheets/active_admin/_header.scss +40 -8
  10. data/app/assets/stylesheets/active_admin/_mixins.scss +1 -1
  11. data/{vendor → app}/assets/stylesheets/active_admin/_normalize.scss +25 -123
  12. data/app/assets/stylesheets/active_admin/{print.scss → _print.scss} +2 -2
  13. data/app/assets/stylesheets/active_admin/components/_comments.scss +2 -2
  14. data/app/assets/stylesheets/active_admin/components/_date_picker.scss +1 -2
  15. data/app/assets/stylesheets/active_admin/components/_dropdown_menu.scss +0 -1
  16. data/app/assets/stylesheets/active_admin/components/_scopes.scss +3 -0
  17. data/app/assets/stylesheets/active_admin/components/_status_tags.scss +0 -5
  18. data/app/assets/stylesheets/active_admin/components/_tables.scss +1 -2
  19. data/app/assets/stylesheets/active_admin/components/_tabs.scss +1 -1
  20. data/app/assets/stylesheets/active_admin/mixins/_all.scss +8 -8
  21. data/app/assets/stylesheets/active_admin/mixins/_gradients.scss +1 -1
  22. data/app/assets/stylesheets/active_admin/mixins/_variables.scss +17 -0
  23. data/app/assets/stylesheets/active_admin/structure/_main_structure.scss +1 -1
  24. data/app/assets/stylesheets/active_admin/structure/_title_bar.scss +0 -1
  25. data/app/javascript/active_admin/base.js +28 -0
  26. data/app/javascript/active_admin/ext/jquery-ui.js +7 -0
  27. data/app/javascript/active_admin/ext/jquery.js +9 -0
  28. data/app/javascript/active_admin/initializers/batch-actions.js +61 -0
  29. data/app/javascript/active_admin/initializers/checkbox-toggler.js +3 -0
  30. data/app/javascript/active_admin/initializers/datepicker.js +16 -0
  31. data/app/javascript/active_admin/initializers/dropdown-menu.js +9 -0
  32. data/app/javascript/active_admin/initializers/filters.js +10 -0
  33. data/app/javascript/active_admin/initializers/has-many.js +98 -0
  34. data/app/javascript/active_admin/initializers/per-page.js +13 -0
  35. data/app/javascript/active_admin/initializers/table-checkbox-toggler.js +3 -0
  36. data/app/javascript/active_admin/initializers/tabs.js +6 -0
  37. data/app/javascript/active_admin/lib/checkbox-toggler.js +49 -0
  38. data/app/javascript/active_admin/lib/dropdown-menu.js +116 -0
  39. data/app/javascript/active_admin/lib/filters.js +39 -0
  40. data/app/javascript/active_admin/lib/modal-dialog.js +63 -0
  41. data/app/javascript/active_admin/lib/per-page.js +38 -0
  42. data/app/javascript/active_admin/lib/table-checkbox-toggler.js +38 -0
  43. data/app/javascript/active_admin/lib/utils.js +40 -0
  44. data/app/views/active_admin/devise/confirmations/new.html.erb +2 -2
  45. data/app/views/active_admin/devise/mailer/reset_password_instructions.html.erb +1 -1
  46. data/app/views/active_admin/devise/mailer/unlock_instructions.html.erb +2 -2
  47. data/app/views/active_admin/devise/passwords/edit.html.erb +2 -2
  48. data/app/views/active_admin/devise/passwords/new.html.erb +2 -2
  49. data/app/views/active_admin/devise/registrations/new.html.erb +2 -3
  50. data/app/views/active_admin/devise/sessions/new.html.erb +1 -1
  51. data/app/views/active_admin/devise/shared/_error_messages.html.erb +15 -0
  52. data/app/views/active_admin/devise/shared/_links.erb +1 -1
  53. data/app/views/active_admin/devise/unlocks/new.html.erb +2 -2
  54. data/app/views/active_admin/page/index.html.arb +1 -0
  55. data/app/views/active_admin/resource/edit.html.arb +1 -0
  56. data/app/views/active_admin/resource/index.html.arb +1 -0
  57. data/app/views/active_admin/resource/new.html.arb +1 -0
  58. data/app/views/active_admin/resource/show.html.arb +1 -0
  59. data/app/views/kaminari/active_admin_countless/_first_page.html.erb +11 -0
  60. data/app/views/kaminari/active_admin_countless/_gap.html.erb +8 -0
  61. data/app/views/kaminari/active_admin_countless/_next_page.html.erb +11 -0
  62. data/app/views/kaminari/active_admin_countless/_page.html.erb +12 -0
  63. data/app/views/kaminari/active_admin_countless/_paginator.html.erb +24 -0
  64. data/app/views/kaminari/active_admin_countless/_prev_page.html.erb +11 -0
  65. data/app/views/layouts/active_admin.html.arb +1 -0
  66. data/app/views/layouts/active_admin_logged_out.html.erb +17 -7
  67. data/config/locales/ar.yml +9 -8
  68. data/config/locales/az.yml +138 -0
  69. data/config/locales/bg.yml +1 -1
  70. data/config/locales/bs.yml +1 -0
  71. data/config/locales/ca.yml +1 -1
  72. data/config/locales/cs.yml +1 -0
  73. data/config/locales/da.yml +1 -0
  74. data/config/locales/de-CH.yml +1 -0
  75. data/config/locales/de.yml +29 -0
  76. data/config/locales/el.yml +1 -0
  77. data/config/locales/en-CA.yml +4 -3
  78. data/config/locales/en-GB.yml +4 -3
  79. data/config/locales/en.yml +24 -4
  80. data/config/locales/eo.yml +145 -0
  81. data/config/locales/es-MX.yml +3 -1
  82. data/config/locales/es.yml +26 -6
  83. data/config/locales/fa.yml +1 -0
  84. data/config/locales/fi.yml +2 -1
  85. data/config/locales/fr.yml +6 -5
  86. data/config/locales/he.yml +1 -1
  87. data/config/locales/hr.yml +1 -0
  88. data/config/locales/hu.yml +5 -0
  89. data/config/locales/id.yml +1 -0
  90. data/config/locales/it.yml +31 -3
  91. data/config/locales/ja.yml +8 -2
  92. data/config/locales/ko.yml +2 -1
  93. data/config/locales/lt.yml +3 -2
  94. data/config/locales/lv.yml +3 -2
  95. data/config/locales/mk.yml +134 -0
  96. data/config/locales/nb.yml +16 -5
  97. data/config/locales/nl.yml +13 -1
  98. data/config/locales/pl.yml +72 -3
  99. data/config/locales/pt-BR.yml +9 -0
  100. data/config/locales/pt-PT.yml +1 -0
  101. data/config/locales/ro.yml +4 -2
  102. data/config/locales/ru.yml +3 -0
  103. data/config/locales/sk.yml +60 -0
  104. data/config/locales/sv-SE.yml +3 -0
  105. data/config/locales/tr.yml +10 -0
  106. data/config/locales/uk.yml +3 -0
  107. data/config/locales/vi.yml +53 -10
  108. data/config/locales/zh-CN.yml +34 -5
  109. data/config/locales/zh-TW.yml +1 -0
  110. data/docs/.gitignore +1 -0
  111. data/docs/0-installation.md +29 -5
  112. data/docs/1-general-configuration.md +36 -1
  113. data/docs/10-custom-pages.md +14 -0
  114. data/docs/11-decorators.md +16 -5
  115. data/docs/12-arbre-components.md +41 -1
  116. data/docs/13-authorization-adapter.md +41 -22
  117. data/docs/2-resource-customization.md +20 -6
  118. data/docs/3-index-pages/custom-index.md +1 -1
  119. data/docs/3-index-pages/index-as-blog.md +1 -1
  120. data/docs/3-index-pages/index-as-table.md +12 -5
  121. data/docs/3-index-pages.md +18 -1
  122. data/docs/5-forms.md +23 -4
  123. data/docs/6-show-pages.md +12 -0
  124. data/docs/8-custom-actions.md +12 -1
  125. data/docs/9-batch-actions.md +2 -2
  126. data/docs/CNAME +1 -1
  127. data/docs/Gemfile +4 -2
  128. data/docs/Gemfile.lock +283 -0
  129. data/docs/_config.yml +3 -1
  130. data/docs/_includes/toc.html +1 -1
  131. data/docs/_includes/top-menu.html +9 -1
  132. data/docs/documentation.md +2 -2
  133. data/docs/images/tidelift.svg +14 -0
  134. data/docs/index.html +110 -9
  135. data/docs/stylesheets/main.css +55 -2
  136. data/lib/active_admin/abstract_view_factory.rb +14 -51
  137. data/lib/active_admin/application.rb +65 -172
  138. data/lib/active_admin/application_settings.rb +43 -0
  139. data/lib/active_admin/asset_registration.rb +1 -8
  140. data/lib/active_admin/authorization_adapter.rb +4 -3
  141. data/lib/active_admin/base_controller/authorization.rb +18 -18
  142. data/lib/active_admin/base_controller/menu.rb +1 -0
  143. data/lib/active_admin/base_controller.rb +12 -11
  144. data/lib/active_admin/batch_actions/controller.rb +6 -5
  145. data/lib/active_admin/batch_actions/resource_extension.rb +16 -10
  146. data/lib/active_admin/batch_actions/views/batch_action_form.rb +4 -3
  147. data/lib/active_admin/batch_actions/views/batch_action_selector.rb +7 -6
  148. data/lib/active_admin/batch_actions/views/selection_cells.rb +4 -3
  149. data/lib/active_admin/batch_actions.rb +1 -0
  150. data/lib/active_admin/callbacks.rb +2 -1
  151. data/lib/active_admin/cancan_adapter.rb +2 -1
  152. data/lib/active_admin/collection_decorator.rb +32 -0
  153. data/lib/active_admin/component.rb +1 -0
  154. data/lib/active_admin/controller_action.rb +3 -1
  155. data/lib/active_admin/csv_builder.rb +15 -21
  156. data/lib/active_admin/dependency.rb +14 -77
  157. data/lib/active_admin/deprecation.rb +1 -25
  158. data/lib/active_admin/devise.rb +16 -5
  159. data/lib/active_admin/dsl.rb +3 -9
  160. data/lib/active_admin/dynamic_setting.rb +39 -0
  161. data/lib/active_admin/dynamic_settings_node.rb +29 -0
  162. data/lib/active_admin/engine.rb +16 -7
  163. data/lib/active_admin/error.rb +5 -4
  164. data/lib/active_admin/filters/active.rb +2 -1
  165. data/lib/active_admin/filters/active_filter.rb +52 -15
  166. data/lib/active_admin/filters/active_sidebar.rb +8 -30
  167. data/lib/active_admin/filters/dsl.rb +1 -0
  168. data/lib/active_admin/filters/forms.rb +13 -9
  169. data/lib/active_admin/filters/formtastic_addons.rb +3 -7
  170. data/lib/active_admin/filters/resource_extension.rb +30 -5
  171. data/lib/active_admin/filters.rb +8 -7
  172. data/lib/active_admin/form_builder.rb +110 -70
  173. data/lib/active_admin/generators/boilerplate.rb +13 -4
  174. data/lib/active_admin/helpers/collection.rb +2 -0
  175. data/lib/active_admin/helpers/i18n.rb +1 -0
  176. data/lib/active_admin/helpers/optional_display.rb +3 -2
  177. data/lib/active_admin/helpers/routes/url_helpers.rb +1 -0
  178. data/lib/active_admin/helpers/scope_chain.rb +2 -0
  179. data/lib/active_admin/inputs/datepicker_input.rb +10 -2
  180. data/lib/active_admin/inputs/filters/base/search_method_select.rb +7 -6
  181. data/lib/active_admin/inputs/filters/base.rb +2 -1
  182. data/lib/active_admin/inputs/filters/boolean_input.rb +2 -1
  183. data/lib/active_admin/inputs/filters/check_boxes_input.rb +2 -1
  184. data/lib/active_admin/inputs/filters/date_picker_input.rb +1 -0
  185. data/lib/active_admin/inputs/filters/date_range_input.rb +16 -12
  186. data/lib/active_admin/inputs/filters/numeric_input.rb +1 -0
  187. data/lib/active_admin/inputs/filters/select_input.rb +8 -3
  188. data/lib/active_admin/inputs/filters/string_input.rb +1 -0
  189. data/lib/active_admin/inputs/filters/text_input.rb +1 -0
  190. data/lib/active_admin/inputs.rb +1 -0
  191. data/lib/active_admin/localizers/resource_localizer.rb +4 -3
  192. data/lib/active_admin/localizers.rb +2 -1
  193. data/lib/active_admin/menu.rb +9 -11
  194. data/lib/active_admin/menu_collection.rb +1 -0
  195. data/lib/active_admin/menu_item.rb +11 -38
  196. data/lib/active_admin/namespace.rb +32 -19
  197. data/lib/active_admin/namespace_settings.rb +127 -0
  198. data/lib/active_admin/order_clause.rb +4 -3
  199. data/lib/active_admin/orm/active_record/comments/comment.rb +5 -4
  200. data/lib/active_admin/orm/active_record/comments/namespace_helper.rb +1 -0
  201. data/lib/active_admin/orm/active_record/comments/resource_helper.rb +1 -0
  202. data/lib/active_admin/orm/active_record/comments/show_page_helper.rb +1 -0
  203. data/lib/active_admin/orm/active_record/comments/views/active_admin_comments.rb +36 -25
  204. data/lib/active_admin/orm/active_record/comments/views.rb +3 -2
  205. data/lib/active_admin/orm/active_record/comments.rb +35 -23
  206. data/lib/active_admin/orm/active_record.rb +2 -1
  207. data/lib/active_admin/orm/mongoid.rb +1 -0
  208. data/lib/active_admin/page.rb +2 -1
  209. data/lib/active_admin/page_controller.rb +1 -0
  210. data/lib/active_admin/page_dsl.rb +2 -1
  211. data/lib/active_admin/page_presenter.rb +3 -1
  212. data/lib/active_admin/pundit_adapter.rb +61 -12
  213. data/lib/active_admin/resource/action_items.rb +12 -6
  214. data/lib/active_admin/resource/attributes.rb +9 -5
  215. data/lib/active_admin/resource/belongs_to.rb +9 -3
  216. data/lib/active_admin/resource/controllers.rb +2 -1
  217. data/lib/active_admin/resource/includes.rb +1 -0
  218. data/lib/active_admin/resource/menu.rb +6 -5
  219. data/lib/active_admin/resource/model.rb +16 -0
  220. data/lib/active_admin/resource/naming.rb +6 -5
  221. data/lib/active_admin/resource/ordering.rb +1 -0
  222. data/lib/active_admin/resource/page_presenters.rb +1 -0
  223. data/lib/active_admin/resource/pagination.rb +1 -0
  224. data/lib/active_admin/resource/routes.rb +26 -14
  225. data/lib/active_admin/resource/scope_to.rb +8 -7
  226. data/lib/active_admin/resource/scopes.rb +4 -3
  227. data/lib/active_admin/resource/sidebars.rb +3 -2
  228. data/lib/active_admin/resource.rb +37 -22
  229. data/lib/active_admin/resource_collection.rb +3 -2
  230. data/lib/active_admin/resource_controller/action_builder.rb +11 -0
  231. data/lib/active_admin/resource_controller/data_access.rb +35 -5
  232. data/lib/active_admin/resource_controller/decorators.rb +10 -31
  233. data/lib/active_admin/resource_controller/polymorphic_routes.rb +38 -0
  234. data/lib/active_admin/resource_controller/resource_class_methods.rb +3 -0
  235. data/lib/active_admin/resource_controller/scoping.rb +2 -1
  236. data/lib/active_admin/resource_controller/sidebars.rb +1 -0
  237. data/lib/active_admin/resource_controller/streaming.rb +9 -7
  238. data/lib/active_admin/resource_controller.rb +14 -10
  239. data/lib/active_admin/resource_dsl.rb +17 -27
  240. data/lib/active_admin/router.rb +91 -84
  241. data/lib/active_admin/scope.rb +20 -11
  242. data/lib/active_admin/settings_node.rb +20 -0
  243. data/lib/active_admin/sidebar_section.rb +4 -1
  244. data/lib/active_admin/version.rb +2 -1
  245. data/lib/active_admin/view_factory.rb +18 -17
  246. data/lib/active_admin/view_helpers/active_admin_application_helper.rb +1 -0
  247. data/lib/active_admin/view_helpers/auto_link_helper.rb +1 -0
  248. data/lib/active_admin/view_helpers/breadcrumb_helper.rb +6 -5
  249. data/lib/active_admin/view_helpers/display_helper.rb +25 -8
  250. data/lib/active_admin/view_helpers/download_format_links_helper.rb +3 -1
  251. data/lib/active_admin/view_helpers/fields_for.rb +3 -2
  252. data/lib/active_admin/view_helpers/flash_helper.rb +1 -0
  253. data/lib/active_admin/view_helpers/form_helper.rb +1 -0
  254. data/lib/active_admin/view_helpers/method_or_proc_helper.rb +4 -0
  255. data/lib/active_admin/view_helpers/scope_name_helper.rb +1 -0
  256. data/lib/active_admin/view_helpers/sidebar_helper.rb +1 -0
  257. data/lib/active_admin/view_helpers/title_helper.rb +1 -0
  258. data/lib/active_admin/view_helpers/view_factory_helper.rb +1 -0
  259. data/lib/active_admin/view_helpers.rb +2 -1
  260. data/lib/active_admin/views/action_items.rb +1 -0
  261. data/lib/active_admin/views/components/active_admin_form.rb +14 -8
  262. data/lib/active_admin/views/components/active_filters_sidebar_content.rb +59 -0
  263. data/lib/active_admin/views/components/attributes_table.rb +9 -8
  264. data/lib/active_admin/views/components/blank_slate.rb +2 -1
  265. data/lib/active_admin/views/components/columns.rb +1 -0
  266. data/lib/active_admin/views/components/dropdown_menu.rb +7 -9
  267. data/lib/active_admin/views/components/index_list.rb +4 -3
  268. data/lib/active_admin/views/components/menu.rb +33 -0
  269. data/lib/active_admin/views/components/menu_item.rb +59 -0
  270. data/lib/active_admin/views/components/paginated_collection.rb +22 -20
  271. data/lib/active_admin/views/components/panel.rb +2 -1
  272. data/lib/active_admin/views/components/scopes.rb +18 -8
  273. data/lib/active_admin/views/components/sidebar.rb +14 -0
  274. data/lib/active_admin/views/components/sidebar_section.rb +1 -0
  275. data/lib/active_admin/views/components/site_title.rb +7 -7
  276. data/lib/active_admin/views/components/status_tag.rb +14 -26
  277. data/lib/active_admin/views/components/table_for.rb +22 -29
  278. data/lib/active_admin/views/components/tabs.rb +18 -5
  279. data/lib/active_admin/views/components/unsupported_browser.rb +1 -0
  280. data/lib/active_admin/views/footer.rb +6 -8
  281. data/lib/active_admin/views/header.rb +4 -15
  282. data/lib/active_admin/views/index_as_block.rb +1 -0
  283. data/lib/active_admin/views/index_as_blog.rb +3 -2
  284. data/lib/active_admin/views/index_as_grid.rb +27 -26
  285. data/lib/active_admin/views/index_as_table.rb +34 -25
  286. data/lib/active_admin/views/pages/base.rb +44 -60
  287. data/lib/active_admin/views/pages/form.rb +1 -0
  288. data/lib/active_admin/views/pages/index.rb +16 -13
  289. data/lib/active_admin/views/pages/layout.rb +1 -0
  290. data/lib/active_admin/views/pages/page.rb +1 -0
  291. data/lib/active_admin/views/pages/show.rb +1 -0
  292. data/lib/active_admin/views/tabbed_navigation.rb +5 -59
  293. data/lib/active_admin/views/title_bar.rb +2 -1
  294. data/lib/active_admin/views.rb +2 -1
  295. data/lib/active_admin.rb +68 -63
  296. data/lib/activeadmin.rb +2 -1
  297. data/lib/generators/active_admin/assets/assets_generator.rb +3 -2
  298. data/lib/generators/active_admin/assets/templates/active_admin.js +1 -0
  299. data/lib/generators/active_admin/assets/templates/active_admin.scss +2 -2
  300. data/lib/generators/active_admin/devise/devise_generator.rb +6 -5
  301. data/lib/generators/active_admin/install/install_generator.rb +19 -8
  302. data/lib/generators/active_admin/install/templates/active_admin.rb.erb +45 -3
  303. data/lib/generators/active_admin/install/templates/dashboard.rb +3 -3
  304. data/lib/generators/active_admin/install/templates/migrations/create_active_admin_comments.rb.erb +1 -15
  305. data/lib/generators/active_admin/page/page_generator.rb +2 -1
  306. data/lib/generators/active_admin/page/templates/page.rb +1 -0
  307. data/lib/generators/active_admin/resource/resource_generator.rb +5 -4
  308. data/lib/generators/active_admin/resource/templates/admin.rb.erb +40 -37
  309. data/lib/generators/active_admin/webpacker/plugins/jquery.js +7 -0
  310. data/lib/generators/active_admin/webpacker/templates/active_admin.js +5 -0
  311. data/lib/generators/active_admin/webpacker/templates/active_admin.scss +17 -0
  312. data/lib/generators/active_admin/webpacker/templates/print.scss +2 -0
  313. data/lib/generators/active_admin/webpacker/webpacker_generator.rb +27 -0
  314. data/lib/ransack_ext.rb +10 -9
  315. data/vendor/assets/javascripts/jquery-ui/form-reset-mixin.js +80 -0
  316. data/vendor/assets/javascripts/jquery-ui/form.js +22 -0
  317. data/vendor/assets/javascripts/jquery-ui/labels.js +65 -0
  318. data/vendor/assets/javascripts/jquery-ui/widgets/checkboxradio.js +274 -283
  319. metadata +124 -557
  320. data/.github/ISSUE_TEMPLATE.md +0 -20
  321. data/.gitignore +0 -49
  322. data/.mdlrc +0 -1
  323. data/.rubocop.yml +0 -76
  324. data/.simplecov +0 -13
  325. data/.travis.yml +0 -51
  326. data/.yardopts +0 -7
  327. data/Gemfile +0 -58
  328. data/Rakefile +0 -54
  329. data/activeadmin.gemspec +0 -32
  330. data/app/assets/images/active_admin/nested_menu_arrow.gif +0 -0
  331. data/app/assets/images/active_admin/nested_menu_arrow_dark.gif +0 -0
  332. data/app/assets/images/active_admin/orderable.png +0 -0
  333. data/app/assets/javascripts/active_admin/base.js.coffee +0 -13
  334. data/app/assets/javascripts/active_admin/ext/jquery-ui.js.coffee +0 -6
  335. data/app/assets/javascripts/active_admin/ext/jquery.js.coffee +0 -7
  336. data/app/assets/javascripts/active_admin/initializers/batch_actions.js.coffee +0 -11
  337. data/app/assets/javascripts/active_admin/initializers/datepicker.js.coffee +0 -14
  338. data/app/assets/javascripts/active_admin/initializers/filters.js.coffee +0 -26
  339. data/app/assets/javascripts/active_admin/initializers/tabs.js.coffee +0 -7
  340. data/app/assets/javascripts/active_admin/lib/batch_actions.js.coffee +0 -42
  341. data/app/assets/javascripts/active_admin/lib/checkbox-toggler.js.coffee +0 -46
  342. data/app/assets/javascripts/active_admin/lib/dropdown-menu.js.coffee +0 -104
  343. data/app/assets/javascripts/active_admin/lib/flash.js.coffee +0 -19
  344. data/app/assets/javascripts/active_admin/lib/has_many.js.coffee +0 -79
  345. data/app/assets/javascripts/active_admin/lib/modal_dialog.js.coffee +0 -45
  346. data/app/assets/javascripts/active_admin/lib/per_page.js.coffee +0 -46
  347. data/app/assets/javascripts/active_admin/lib/table-checkbox-toggler.js.coffee +0 -22
  348. data/codecov.yml +0 -25
  349. data/config/i18n-tasks.yml +0 -26
  350. data/config/mdl_style.rb +0 -9
  351. data/cucumber.yml +0 -3
  352. data/features/action_item.feature +0 -73
  353. data/features/authorization.feature +0 -64
  354. data/features/authorization_cancan.feature +0 -52
  355. data/features/authorization_pundit.feature +0 -37
  356. data/features/belongs_to.feature +0 -124
  357. data/features/breadcrumb.feature +0 -75
  358. data/features/comments/commenting.feature +0 -178
  359. data/features/comments/viewing_index.feature +0 -19
  360. data/features/create_another.feature +0 -55
  361. data/features/dashboard.feature +0 -16
  362. data/features/decorators.feature +0 -43
  363. data/features/development_reloading.feature +0 -28
  364. data/features/edit_page.feature +0 -116
  365. data/features/favicon.feature +0 -20
  366. data/features/first_boot.feature +0 -16
  367. data/features/footer.feature +0 -28
  368. data/features/global_navigation.feature +0 -29
  369. data/features/i18n.feature +0 -55
  370. data/features/index/batch_actions.feature +0 -218
  371. data/features/index/filters.feature +0 -239
  372. data/features/index/format_as_csv.feature +0 -220
  373. data/features/index/formats.feature +0 -88
  374. data/features/index/index_as_block.feature +0 -15
  375. data/features/index/index_as_blog.feature +0 -69
  376. data/features/index/index_as_grid.feature +0 -45
  377. data/features/index/index_as_table.feature +0 -291
  378. data/features/index/index_blank_slate.feature +0 -83
  379. data/features/index/index_parameters.feature +0 -75
  380. data/features/index/index_scope_to.feature +0 -56
  381. data/features/index/index_scopes.feature +0 -285
  382. data/features/index/page_title.feature +0 -41
  383. data/features/index/pagination.feature +0 -63
  384. data/features/index/switch_index_view.feature +0 -73
  385. data/features/menu.feature +0 -72
  386. data/features/meta_tags.feature +0 -21
  387. data/features/new_page.feature +0 -107
  388. data/features/registering_assets.feature +0 -38
  389. data/features/registering_pages.feature +0 -237
  390. data/features/registering_resources.feature +0 -33
  391. data/features/renamed_resource.feature +0 -30
  392. data/features/root_to.feature +0 -17
  393. data/features/show/attributes_table_title.feature +0 -54
  394. data/features/show/columns.feature +0 -40
  395. data/features/show/default_content.feature +0 -44
  396. data/features/show/page_title.feature +0 -58
  397. data/features/show/tabs.feature +0 -33
  398. data/features/sidebar_sections.feature +0 -210
  399. data/features/site_title.feature +0 -47
  400. data/features/specifying_actions.feature +0 -118
  401. data/features/step_definitions/action_item_steps.rb +0 -7
  402. data/features/step_definitions/action_link_steps.rb +0 -19
  403. data/features/step_definitions/additional_web_steps.rb +0 -81
  404. data/features/step_definitions/asset_steps.rb +0 -15
  405. data/features/step_definitions/attribute_steps.rb +0 -18
  406. data/features/step_definitions/attributes_table_title_steps.rb +0 -11
  407. data/features/step_definitions/batch_action_steps.rb +0 -81
  408. data/features/step_definitions/blog_steps.rb +0 -3
  409. data/features/step_definitions/breadcrumb_steps.rb +0 -3
  410. data/features/step_definitions/column_steps.rb +0 -8
  411. data/features/step_definitions/comment_steps.rb +0 -32
  412. data/features/step_definitions/configuration_steps.rb +0 -100
  413. data/features/step_definitions/dashboard_steps.rb +0 -15
  414. data/features/step_definitions/factory_steps.rb +0 -35
  415. data/features/step_definitions/filter_steps.rb +0 -48
  416. data/features/step_definitions/flash_steps.rb +0 -11
  417. data/features/step_definitions/footer_steps.rb +0 -11
  418. data/features/step_definitions/format_steps.rb +0 -56
  419. data/features/step_definitions/i18n_steps.rb +0 -11
  420. data/features/step_definitions/index_scope_steps.rb +0 -29
  421. data/features/step_definitions/index_views_steps.rb +0 -3
  422. data/features/step_definitions/layout_steps.rb +0 -3
  423. data/features/step_definitions/member_link_steps.rb +0 -7
  424. data/features/step_definitions/menu_steps.rb +0 -11
  425. data/features/step_definitions/meta_tag_steps.rb +0 -3
  426. data/features/step_definitions/pagination_steps.rb +0 -15
  427. data/features/step_definitions/sidebar_steps.rb +0 -11
  428. data/features/step_definitions/site_title_steps.rb +0 -17
  429. data/features/step_definitions/tab_steps.rb +0 -8
  430. data/features/step_definitions/table_steps.rb +0 -116
  431. data/features/step_definitions/user_steps.rb +0 -52
  432. data/features/step_definitions/web_steps.rb +0 -86
  433. data/features/sti_resource.feature +0 -65
  434. data/features/strong_parameters.feature +0 -69
  435. data/features/support/env.rb +0 -122
  436. data/features/support/paths.rb +0 -73
  437. data/features/support/regular_env.rb +0 -7
  438. data/features/support/reload_env.rb +0 -7
  439. data/features/support/selectors.rb +0 -45
  440. data/features/users/logging_in.feature +0 -36
  441. data/features/users/logging_out.feature +0 -13
  442. data/features/users/resetting_password.feature +0 -34
  443. data/gemfiles/rails_42.gemfile +0 -10
  444. data/gemfiles/rails_50.gemfile +0 -10
  445. data/gemfiles/rails_51.gemfile +0 -10
  446. data/lib/active_admin/event.rb +0 -24
  447. data/lib/active_admin/helpers/settings.rb +0 -114
  448. data/lib/active_admin/reloader.rb +0 -25
  449. data/lib/bug_report_templates/active_admin_master.rb +0 -113
  450. data/lib/generators/active_admin/assets/templates/active_admin.js.coffee +0 -1
  451. data/spec/bug_report_templates_spec.rb +0 -26
  452. data/spec/javascripts/coffeescripts/jquery.aa.checkbox-toggler-spec.js.coffee +0 -50
  453. data/spec/javascripts/coffeescripts/jquery.aa.flash.js.coffee +0 -25
  454. data/spec/javascripts/coffeescripts/jquery.aa.table-checkbox-toggler-spec.js.coffee +0 -34
  455. data/spec/javascripts/fixtures/checkboxes.html +0 -9
  456. data/spec/javascripts/fixtures/flashes.html +0 -2
  457. data/spec/javascripts/fixtures/table_checkboxes.html +0 -17
  458. data/spec/javascripts/helpers/SpecHelper.js +0 -3
  459. data/spec/javascripts/support/jasmine.yml +0 -74
  460. data/spec/javascripts/support/jasmine_runner.rb +0 -19
  461. data/spec/rails_helper.rb +0 -59
  462. data/spec/requests/default_namespace_spec.rb +0 -81
  463. data/spec/requests/memory_spec.rb +0 -25
  464. data/spec/requests/stylesheets_spec.rb +0 -18
  465. data/spec/spec_helper.rb +0 -1
  466. data/spec/support/active_admin_integration_spec_helper.rb +0 -73
  467. data/spec/support/active_admin_request_helpers.rb +0 -39
  468. data/spec/support/rails_template.rb +0 -150
  469. data/spec/support/rails_template_with_data.rb +0 -327
  470. data/spec/support/templates/admin/stores.rb +0 -7
  471. data/spec/support/templates/en.yml +0 -8
  472. data/spec/support/templates/manifest.js +0 -3
  473. data/spec/support/templates/policies/active_admin/comment_policy.rb +0 -9
  474. data/spec/support/templates/policies/active_admin/page_policy.rb +0 -18
  475. data/spec/support/templates/policies/admin_user_policy.rb +0 -11
  476. data/spec/support/templates/policies/application_policy.rb +0 -44
  477. data/spec/support/templates/policies/category_policy.rb +0 -7
  478. data/spec/support/templates/policies/post_policy.rb +0 -15
  479. data/spec/support/templates/policies/store_policy.rb +0 -11
  480. data/spec/support/templates/policies/user_policy.rb +0 -11
  481. data/spec/support/templates/post_decorator.rb +0 -10
  482. data/spec/unit/abstract_view_factory_spec.rb +0 -78
  483. data/spec/unit/action_builder_spec.rb +0 -125
  484. data/spec/unit/active_admin_spec.rb +0 -11
  485. data/spec/unit/application_spec.rb +0 -184
  486. data/spec/unit/asset_registration_spec.rb +0 -81
  487. data/spec/unit/authorization/authorization_adapter_spec.rb +0 -61
  488. data/spec/unit/authorization/controller_authorization_spec.rb +0 -43
  489. data/spec/unit/authorization/index_overriding_spec.rb +0 -23
  490. data/spec/unit/auto_link_spec.rb +0 -93
  491. data/spec/unit/batch_actions/resource_spec.rb +0 -84
  492. data/spec/unit/batch_actions/settings_spec.rb +0 -61
  493. data/spec/unit/belongs_to_spec.rb +0 -76
  494. data/spec/unit/cancan_adapter_spec.rb +0 -43
  495. data/spec/unit/comments_spec.rb +0 -176
  496. data/spec/unit/component_spec.rb +0 -18
  497. data/spec/unit/config_shared_examples.rb +0 -59
  498. data/spec/unit/controller_filters_spec.rb +0 -41
  499. data/spec/unit/csv_builder_spec.rb +0 -304
  500. data/spec/unit/dependency_spec.rb +0 -135
  501. data/spec/unit/devise_spec.rb +0 -110
  502. data/spec/unit/dsl_spec.rb +0 -120
  503. data/spec/unit/filters/active_filter_spec.rb +0 -135
  504. data/spec/unit/filters/active_spec.rb +0 -24
  505. data/spec/unit/filters/filter_form_builder_spec.rb +0 -502
  506. data/spec/unit/filters/resource_spec.rb +0 -128
  507. data/spec/unit/form_builder_spec.rb +0 -990
  508. data/spec/unit/generators/install_spec.rb +0 -31
  509. data/spec/unit/helpers/collection_spec.rb +0 -68
  510. data/spec/unit/helpers/scope_chain_spec.rb +0 -35
  511. data/spec/unit/helpers/settings_spec.rb +0 -30
  512. data/spec/unit/i18n_spec.rb +0 -29
  513. data/spec/unit/localizers/resource_localizer_spec.rb +0 -36
  514. data/spec/unit/menu_collection_spec.rb +0 -62
  515. data/spec/unit/menu_item_spec.rb +0 -141
  516. data/spec/unit/menu_spec.rb +0 -71
  517. data/spec/unit/namespace/authorization_spec.rb +0 -27
  518. data/spec/unit/namespace/register_page_spec.rb +0 -99
  519. data/spec/unit/namespace/register_resource_spec.rb +0 -162
  520. data/spec/unit/namespace_spec.rb +0 -124
  521. data/spec/unit/order_clause_spec.rb +0 -81
  522. data/spec/unit/page_controller_spec.rb +0 -5
  523. data/spec/unit/page_spec.rb +0 -128
  524. data/spec/unit/pretty_format_spec.rb +0 -82
  525. data/spec/unit/pundit_adapter_spec.rb +0 -98
  526. data/spec/unit/resource/action_items_spec.rb +0 -69
  527. data/spec/unit/resource/attributes_spec.rb +0 -49
  528. data/spec/unit/resource/includes_spec.rb +0 -21
  529. data/spec/unit/resource/menu_spec.rb +0 -18
  530. data/spec/unit/resource/naming_spec.rb +0 -122
  531. data/spec/unit/resource/ordering_spec.rb +0 -35
  532. data/spec/unit/resource/page_presenters_spec.rb +0 -44
  533. data/spec/unit/resource/pagination_spec.rb +0 -38
  534. data/spec/unit/resource/routes_spec.rb +0 -125
  535. data/spec/unit/resource/scopes_spec.rb +0 -50
  536. data/spec/unit/resource/sidebars_spec.rb +0 -43
  537. data/spec/unit/resource_collection_spec.rb +0 -175
  538. data/spec/unit/resource_controller/data_access_spec.rb +0 -230
  539. data/spec/unit/resource_controller/decorators_spec.rb +0 -94
  540. data/spec/unit/resource_controller/sidebars_spec.rb +0 -37
  541. data/spec/unit/resource_controller_spec.rb +0 -273
  542. data/spec/unit/resource_registration_spec.rb +0 -61
  543. data/spec/unit/resource_spec.rb +0 -320
  544. data/spec/unit/routing_spec.rb +0 -211
  545. data/spec/unit/scope_spec.rb +0 -209
  546. data/spec/unit/settings_spec.rb +0 -117
  547. data/spec/unit/view_factory_spec.rb +0 -19
  548. data/spec/unit/view_helpers/breadcrumbs_spec.rb +0 -252
  549. data/spec/unit/view_helpers/display_helper_spec.rb +0 -195
  550. data/spec/unit/view_helpers/download_format_links_helper_spec.rb +0 -39
  551. data/spec/unit/view_helpers/fields_for_spec.rb +0 -50
  552. data/spec/unit/view_helpers/flash_helper_spec.rb +0 -24
  553. data/spec/unit/view_helpers/form_helper_spec.rb +0 -42
  554. data/spec/unit/view_helpers/method_or_proc_helper_spec.rb +0 -138
  555. data/spec/unit/views/components/attributes_table_spec.rb +0 -271
  556. data/spec/unit/views/components/batch_action_selector_spec.rb +0 -43
  557. data/spec/unit/views/components/blank_slate_spec.rb +0 -27
  558. data/spec/unit/views/components/columns_spec.rb +0 -187
  559. data/spec/unit/views/components/index_list_spec.rb +0 -49
  560. data/spec/unit/views/components/index_table_for_spec.rb +0 -127
  561. data/spec/unit/views/components/paginated_collection_spec.rb +0 -249
  562. data/spec/unit/views/components/panel_spec.rb +0 -58
  563. data/spec/unit/views/components/sidebar_section_spec.rb +0 -68
  564. data/spec/unit/views/components/site_title_spec.rb +0 -76
  565. data/spec/unit/views/components/status_tag_spec.rb +0 -265
  566. data/spec/unit/views/components/table_for_spec.rb +0 -436
  567. data/spec/unit/views/components/tabs_spec.rb +0 -67
  568. data/spec/unit/views/components/unsupported_browser_spec.rb +0 -41
  569. data/spec/unit/views/index_as_blog_spec.rb +0 -76
  570. data/spec/unit/views/pages/form_spec.rb +0 -54
  571. data/spec/unit/views/pages/index_spec.rb +0 -60
  572. data/spec/unit/views/pages/layout_spec.rb +0 -59
  573. data/spec/unit/views/pages/show_spec.rb +0 -32
  574. data/spec/unit/views/tabbed_navigation_spec.rb +0 -158
  575. data/tasks/docs.rake +0 -64
  576. data/tasks/lint.rake +0 -21
  577. data/tasks/local.rake +0 -25
  578. data/tasks/parallel_tests.rake +0 -66
  579. data/tasks/test.rake +0 -29
  580. /data/lib/generators/active_admin/install/templates/{admin_user.rb.erb → admin_users.rb.erb} +0 -0
@@ -31,6 +31,8 @@ uk:
31
31
  ends_with: "Закінчується"
32
32
  greater_than: "більше"
33
33
  less_than: "менше"
34
+ from: "від"
35
+ to: "до"
34
36
  search_status:
35
37
  headline: "Статус пошуку:"
36
38
  current_scope: "Область:"
@@ -39,6 +41,7 @@ uk:
39
41
  status_tag:
40
42
  "yes": "Так"
41
43
  "no": "Ні"
44
+ "unset": "Ні"
42
45
  main_content: "Створіть %{model}#main_content для відображення вмісту."
43
46
  logout: "Вийти"
44
47
  powered_by: "Powered by %{active_admin} %{version}"
@@ -1,22 +1,23 @@
1
1
  vi:
2
2
  active_admin:
3
- dashboard: Dashboard
3
+ dashboard: Bảng điều khiển
4
4
  dashboard_welcome:
5
- welcome: "Chào mừng bạn đến với Active Admin. Đây là trang Dashboard mặc định."
6
- call_to_action: "Để thêm phần phần cho trang Dashboar hãy chỉnh sửa 'app/admin/dashboard.rb'"
5
+ welcome: "Chào mừng bạn đến với Active Admin. Đây là trang điều khiển mặc định."
6
+ call_to_action: "Để thêm thành phần cho trang điều khiển hãy chỉnh sửa 'app/admin/dashboard.rb'"
7
7
  view: "Xem"
8
8
  edit: "Chỉnh sửa"
9
9
  delete: "Xóa"
10
- delete_confirmation: "Bạn có chắc chắn rằng mình muốn xóa cái này?"
10
+ delete_confirmation: "Bạn có chắc chắn rằng mình muốn xóa không?"
11
11
  new_model: "Tạo mới %{model}"
12
12
  edit_model: "Chỉnh sửa %{model}"
13
13
  delete_model: "Xóa %{model}"
14
+ create_another: "Tạo thêm %{model}"
14
15
  details: "%{model} Chi tiết"
15
16
  cancel: "Hủy"
16
17
  empty: "Trống"
17
18
  previous: "Trước"
18
- next: "Tiếp"
19
- download: "Download:"
19
+ next: "Sau"
20
+ download: "Tải về:"
20
21
  has_many_new: "Thêm mới %{model}"
21
22
  has_many_delete: "Xóa"
22
23
  has_many_remove: "Hủy bỏ"
@@ -25,26 +26,38 @@ vi:
25
26
  filter: "Lọc"
26
27
  clear: "Xóa dữ liệu lọc"
27
28
  predicates:
28
- contains: "Thông tin"
29
+ contains: " chứa"
29
30
  equals: "Bằng"
30
31
  starts_with: "Bắt đầu với"
31
- ends_with: "Kết thúc với việc"
32
+ ends_with: "Kết thúc bởi"
32
33
  greater_than: "Lớn hơn"
33
34
  less_than: "Nhỏ hơn"
35
+ gteq_datetime: "Lớn hơn hoặc bằng"
36
+ lteq_datetime: "Nhỏ hơn hoặc bằng"
37
+ from: "Từ"
38
+ to: "Đến"
39
+ search_status:
40
+ headline: "Danh sách tìm kiếm:"
41
+ current_scope: "Phạm vi:"
42
+ current_filters: "Bộ lộc hiện tại:"
43
+ no_current_filters: "Không có"
34
44
  status_tag:
35
45
  "yes": "Có"
36
46
  "no": "Không Có"
47
+ "unset": "Không Có"
37
48
  main_content: "Xin bổ sung %{model}#main_content để hiển thị nội dung."
38
49
  logout: "Đăng xuất"
39
50
  powered_by: "Powered by %{active_admin} %{version}"
40
51
  sidebars:
41
52
  filters: "Bộ Lọc"
53
+ search_status: "Trạng thái tìm kiếm"
42
54
  pagination:
43
55
  empty: "Không có %{model} nào được tìm thấy"
44
56
  one: "Đang hiển thị <b>1</b> %{model}"
45
57
  one_page: "Đang hiển thị <b>tất cả %{n}</b> %{model}"
46
58
  multiple: "Đang hiển thị %{model} <b>%{from}&nbsp;-&nbsp;%{to}</b> of <b>%{total}</b> trong tất cả."
47
59
  multiple_without_total: "Đang hiển thị %{model} <b>%{from}&nbsp;-&nbsp;%{to}</b>."
60
+ per_page: "Mỗi trang: "
48
61
  entry:
49
62
  one: "entry"
50
63
  other: "entries"
@@ -66,15 +79,33 @@ vi:
66
79
  labels:
67
80
  destroy: "Xóa"
68
81
  comments:
82
+ created_at: "Đã tạo"
83
+ resource_type: "Resource Type"
69
84
  body: "Nội dung"
70
85
  author: "Tác giả"
71
86
  add: "Thêm bình luận"
72
- resource: "Tài nguyên"
87
+ delete: "Xoá bình luận"
88
+ delete_confirmation: "Bạn có chắc chắn muốn xóa những bình luận này?"
89
+ resource: "Resource"
73
90
  no_comments_yet: "Chưa có bình luận."
91
+ author_missing: "Vô danh"
74
92
  title_content: "Bình luận (%{count})"
75
93
  errors:
76
94
  empty_text: "Lời bình luận chưa được lưu, vì nội dung còn trống."
77
95
  devise:
96
+ username:
97
+ title: "Tên người dùng"
98
+ email:
99
+ title: "Email"
100
+ subdomain:
101
+ title: "Tên miền phụ"
102
+ password:
103
+ title: "Mật khẩu"
104
+ password_confirmation:
105
+ title: "Mật khẩu xác nhận"
106
+ sign_up:
107
+ title: "Đăng ký"
108
+ submit: "Đăng ký"
78
109
  login:
79
110
  title: "Đăng nhập"
80
111
  remember_me: "Ghi nhớ tôi"
@@ -85,8 +116,20 @@ vi:
85
116
  change_password:
86
117
  title: "Thay đổi mật khẩu của bạn"
87
118
  submit: "Thay đổi mật khẩu của tôi"
119
+ unlock:
120
+ title: "Gởi lại hướng dẫn mở khoá"
121
+ submit: "Gởi lại hướng dẫn mở khoá"
122
+ resend_confirmation_instructions:
123
+ title: "Gởi lại hướng dẫn xác nhận"
124
+ submit: "Gởi lại hướng dẫn xác nhận"
88
125
  links:
89
126
  sign_in: "Đăng nhập"
90
127
  forgot_your_password: "Quên mật khẩu của bạn?"
91
128
  sign_in_with_omniauth_provider: "Đăng nhập với %{provider}"
92
-
129
+ access_denied:
130
+ message: "Bạn không có quyền thực hiện tính năng này"
131
+ index_list:
132
+ table: "Bảng"
133
+ block: "Danh sách"
134
+ grid: "Lưới"
135
+ blog: "Blog"
@@ -8,12 +8,13 @@
8
8
  edit: "编辑"
9
9
  delete: "删除"
10
10
  delete_confirmation: "确定删除?"
11
+ create_another: "新建另一个%{model}"
11
12
  new_model: "新建%{model}"
12
13
  edit_model: "编辑%{model}"
13
14
  delete_model: "删除%{model}"
14
15
  details: "%{model}详情"
15
16
  cancel: "取消"
16
- empty: "清空"
17
+ empty: "未定义"
17
18
  previous: "上一个"
18
19
  next: "下一个"
19
20
  download: "下载:"
@@ -31,14 +32,19 @@
31
32
  ends_with: "完与"
32
33
  greater_than: "大于"
33
34
  less_than: "小于"
35
+ gteq_datetime: "大于等于"
36
+ lteq_datetime: "小于等于"
37
+ from: "起"
38
+ to: "止"
34
39
  search_status:
35
40
  headline: "搜索条件:"
36
41
  current_scope: "搜索范围:"
37
42
  current_filters: "过滤条件:"
38
43
  no_current_filters: "无"
39
44
  status_tag:
40
- "yes": "是的"
41
- "no": ""
45
+ "yes": ""
46
+ "no": ""
47
+ "unset": "否"
42
48
  main_content: "请执行 %{model}#main_content 来显示内容."
43
49
  logout: "退出"
44
50
  powered_by: "Powered by %{active_admin} %{version}"
@@ -51,6 +57,7 @@
51
57
  one_page: "显示 <b>所有 %{n}</b> %{model}"
52
58
  multiple: "显示所有 <b>%{total}</b> %{model}中的<b>%{from}&nbsp;-&nbsp;%{to}</b> 条"
53
59
  multiple_without_total: "%{model}中的<b>%{from}&nbsp;-&nbsp;%{to}</b> 条"
60
+ per_page: "每页:"
54
61
  entry:
55
62
  one: "条目"
56
63
  other: "条目"
@@ -63,7 +70,7 @@
63
70
  batch_actions:
64
71
  button_label: "批处理"
65
72
  default_confirmation: "你确定你要这样做?"
66
- delete_confirmation: "你确定要删除所有%{plural_model}?"
73
+ delete_confirmation: "你确定要删除这些%{plural_model}?"
67
74
  succesfully_destroyed:
68
75
  one: "成功删除 1 %{model}"
69
76
  other: "成功删除 %{count} %{plural_model}"
@@ -72,11 +79,17 @@
72
79
  labels:
73
80
  destroy: "删除"
74
81
  comments:
82
+ created_at: "创建于"
83
+ resource_type: "资源类型"
84
+ author_type: "作者类型"
75
85
  body: "内容"
76
86
  author: "作者"
77
87
  add: "添加评论"
88
+ delete: "删除评论"
89
+ delete_confirmation: "你确定删除这些评论?"
78
90
  resource: "资源"
79
91
  no_comments_yet: "暂时没有评论"
92
+ author_missing: "匿名"
80
93
  title_content: "(%{count})条评论"
81
94
  errors:
82
95
  empty_text: "评论保存失败,内空不能为空."
@@ -89,6 +102,11 @@
89
102
  title: "子域"
90
103
  password:
91
104
  title: "密码"
105
+ password_confirmation:
106
+ title: "确认密码"
107
+ sign_up:
108
+ title: "注册"
109
+ submit: "注册"
92
110
  login:
93
111
  title: "登录"
94
112
  remember_me: "记住我"
@@ -96,6 +114,9 @@
96
114
  reset_password:
97
115
  title: "忘记了密码?"
98
116
  submit: "重置我的密码"
117
+ change_password:
118
+ title: "修改密码"
119
+ submit: "修改密码"
99
120
  unlock:
100
121
  title: "重新发送送解锁命令"
101
122
  submit: "重新发送送解锁命令"
@@ -103,12 +124,20 @@
103
124
  title: " 重新发送确认指示"
104
125
  submit: " 重新发送确认指示"
105
126
  links:
127
+ sign_up: "注册"
106
128
  sign_in: "登录"
107
129
  forgot_your_password: "忘记了密码?"
108
- sign_in_with_omniauth_provider: "登入%{provider}"
130
+ sign_in_with_omniauth_provider: "通过%{provider}登录"
131
+ resend_unlock_instructions: "重发解锁邮件"
132
+ resend_confirmation_instructions: "重发确认邮件"
109
133
  unsupported_browser:
110
134
  headline: "很抱歉,ActiveAdmin 已不再支持 Internet Explorer 8 以下版本的浏览器。"
111
135
  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>。"
112
136
  turn_off_compatibility_view: "如果您使用的是 IE 9 或更新的版本,请确认<a href=\"https://support.microsoft.com/zh-cn/help/17472/windows-internet-explorer-11-fix-site-display-problems-compatibility-view\">已关闭“兼容性视图”</a>。"
113
137
  access_denied:
114
138
  message: "您无权处理此操作"
139
+ index_list:
140
+ table: "表格"
141
+ block: "列表"
142
+ grid: "网格"
143
+ blog: "博客"
@@ -39,6 +39,7 @@
39
39
  status_tag:
40
40
  "yes": "是"
41
41
  "no": "否"
42
+ "unset": "否"
42
43
  main_content: "請實作 %{model}#main_content 以顯示內容。"
43
44
  logout: "登出"
44
45
  powered_by: "Powered by %{active_admin} %{version}"
data/docs/.gitignore ADDED
@@ -0,0 +1 @@
1
+ _site/
@@ -11,7 +11,7 @@ gem 'activeadmin'
11
11
 
12
12
  # Plus integrations with:
13
13
  gem 'devise'
14
- gem 'cancan' # or cancancan
14
+ gem 'cancancan'
15
15
  gem 'draper'
16
16
  gem 'pundit'
17
17
  ```
@@ -29,7 +29,7 @@ After installing the gem, you need to run the generator. Here are your options:
29
29
  rails g active_admin:install --skip-users
30
30
  ```
31
31
 
32
- * If you want to use an existing user class, provide it as an argument:
32
+ * If you want to customize the name of the generated user class, or if you want to use an existing user class, provide the class name as an argument:
33
33
 
34
34
  ```sh
35
35
  rails g active_admin:install User
@@ -44,15 +44,15 @@ After installing the gem, you need to run the generator. Here are your options:
44
44
  The generator adds these core files, among others:
45
45
 
46
46
  * `app/admin/dashboard.rb`
47
- * `app/assets/javascripts/active_admin.js.coffee`
47
+ * `app/assets/javascripts/active_admin.js`
48
48
  * `app/assets/stylesheets/active_admin.scss`
49
49
  * `config/initializers/active_admin.rb`
50
50
 
51
51
  Now, migrate and seed your database before starting the server:
52
52
 
53
53
  ```sh
54
- rake db:migrate
55
- rake db:seed
54
+ rails db:migrate
55
+ rails db:seed
56
56
  rails server
57
57
  ```
58
58
 
@@ -112,6 +112,30 @@ Draper::CollectionDecorator.send :delegate, :per_page_kaminari
112
112
 
113
113
  If you're getting the error `wrong number of arguments (6 for 4..5)`, [read #2703].
114
114
 
115
+ ## webpacker
116
+
117
+ 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
+
115
139
  [CHANGELOG]: https://github.com/activeadmin/activeadmin/blob/master/CHANGELOG.md
116
140
  [dashboard.rb]: https://github.com/activeadmin/activeadmin/blob/master/lib/generators/active_admin/install/templates/dashboard.rb
117
141
  [active_admin.rb]: https://github.com/activeadmin/activeadmin/blob/master/lib/generators/active_admin/install/templates/active_admin.rb.erb
@@ -46,13 +46,22 @@ config.site_title_image = ->(context) { context.current_user.company.logo_url }
46
46
 
47
47
  ## Internationalization (I18n)
48
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
+
49
55
  To translate Active Admin to a new language or customize an existing
50
56
  translation, you can copy
51
57
  [config/locales/en.yml](https://github.com/activeadmin/activeadmin/blob/master/config/locales/en.yml)
52
58
  to your application's `config/locales` folder and update it. We welcome
53
59
  new/updated translations, so feel free to
54
60
  [contribute](https://github.com/activeadmin/activeadmin/blob/master/CONTRIBUTING.md)!
55
- To translate third party gems like devise, use for example devise-i18n.
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.
56
65
 
57
66
  ## Localize Format For Dates and Times
58
67
 
@@ -97,6 +106,26 @@ ActiveAdmin.setup do |config|
97
106
  end
98
107
  ```
99
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
+
100
129
  Each setting available in the Active Admin setup block is configurable on a per
101
130
  namespace basis.
102
131
 
@@ -160,6 +189,12 @@ You can customize the comment menu:
160
189
  config.comments_menu = { parent: 'Admin', priority: 1 }
161
190
  ```
162
191
 
192
+ Remember to indicate where to place the comments and form with:
193
+
194
+ ```ruby
195
+ active_admin_comments
196
+ ```
197
+
163
198
  ## Utility Navigation
164
199
 
165
200
  The "utility navigation" shown at the top right normally shows the current user
@@ -134,3 +134,17 @@ end
134
134
  ```
135
135
 
136
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
@@ -8,11 +8,6 @@ Active Admin allows you to use the decorator pattern to provide view-specific
8
8
  versions of a resource. [Draper](https://github.com/drapergem/draper) is
9
9
  recommended but not required.
10
10
 
11
- To use decorator support without Draper, your decorator must support a variety
12
- of collection methods to support pagination, filtering, etc. See
13
- [this github issue discussion](https://github.com/activeadmin/activeadmin/issues/3600)
14
- and [this gem](https://github.com/kiote/activeadmin-poro-decorator) for more details.
15
-
16
11
  ## Example usage
17
12
 
18
13
  ```ruby
@@ -42,6 +37,22 @@ ActiveAdmin.register Post do
42
37
  end
43
38
  ```
44
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
+
45
56
  ## Forms
46
57
 
47
58
  By default, ActiveAdmin does *not* decorate the resource used to render forms.
@@ -115,6 +115,21 @@ end
115
115
  In the above example, the first column will not grow larger than 200px and will
116
116
  not shrink less than 100px.
117
117
 
118
+ ### Custom Column Class
119
+
120
+ Pass the `:class` option to the column method to set a custom class.
121
+
122
+ ```ruby
123
+ columns do
124
+ column class: "important" do
125
+ span "Column # 1"
126
+ end
127
+ column do
128
+ span "Column # 2"
129
+ end
130
+ end
131
+ ```
132
+
118
133
  ## Table For
119
134
 
120
135
  Table For provides the ability to create tables like those present
@@ -130,10 +145,22 @@ table_for order.payments do
130
145
  end
131
146
  ```
132
147
 
133
- the `column` method can take a title as its first argument and data
148
+ The `column` method can take a title as its first argument and data
134
149
  (`:your_method`) as its second (or first if no title provided). Column also
135
150
  takes a block.
136
151
 
152
+ ### Internationalization
153
+
154
+ To customize the internationalization for the component, specify a resource to
155
+ use for translations via the `i18n` named parameter. This is only necessary for
156
+ non-`ActiveRecord::Relation` collections:
157
+
158
+ ```ruby
159
+ table_for payments, i18n: Payment do
160
+ # ...
161
+ end
162
+ ```
163
+
137
164
  ## Status tag
138
165
 
139
166
  Status tags provide convenient syntactic sugar for styling items that have
@@ -150,6 +177,19 @@ status_tag 'active', class: 'important', id: 'status_123', label: 'on'
150
177
  # => <span class='status_tag active important' id='status_123'>on</span>
151
178
  ```
152
179
 
180
+ When providing a `true` or `false` value, the `status_tag` will display "Yes"
181
+ or "No". This can be configured through the `"en.active_admin.status_tag"`
182
+ locale.
183
+
184
+ ```ruby
185
+ status_tag true
186
+ # => <span class='status_tag yes'>Yes</span>
187
+ ```
188
+
189
+ In the case that a boolean field is `nil`, it will display "No" as a default.
190
+ But using the `"en.active_admin.status_tag.unset"` locale key, it can be
191
+ configured to display something else.
192
+
153
193
  ## Tabs
154
194
 
155
195
  The Tabs component is helpful for saving page real estate. The first tab will be
@@ -10,8 +10,8 @@ taken. By default, '#authorized?' returns true.
10
10
 
11
11
  ## Setting up your own AuthorizationAdapter
12
12
 
13
- Setting up your own `AuthorizationAdapter` is easy! The following example shows
14
- how to set up and tie your authorization adapter class to Active Admin:
13
+ The following example shows how to set up and tie your authorization
14
+ adapter class to Active Admin:
15
15
 
16
16
  ```ruby
17
17
  # app/models/only_authors_authorization.rb
@@ -41,6 +41,9 @@ application's `config/initializers/active_admin.rb` and add/modify the line:
41
41
  config.authorization_adapter = "OnlyAuthorsAuthorization"
42
42
  ```
43
43
 
44
+ Now, whenever a controller action is performed, the `OnlyAuthorsAuthorization`'s
45
+ `#authorized?` method will be called.
46
+
44
47
  Authorization adapters can be configured per ActiveAdmin namespace as well, for
45
48
  example:
46
49
 
@@ -55,9 +58,6 @@ ActiveAdmin.setup do |config|
55
58
  end
56
59
  ```
57
60
 
58
- Now, whenever a controller action is performed, the `OnlyAuthorsAuthorization`'s
59
- `#authorized?` method will be called.
60
-
61
61
  ## Getting Access to the Current User
62
62
 
63
63
  From within your authorization adapter, you can call the `#user` method to
@@ -136,7 +136,7 @@ Each of these actions is available as a constant. Eg: `:read` is available as
136
136
  Active Admin provides a helper method to check if the current user is
137
137
  authorized to perform an action on a subject.
138
138
 
139
- Simply use the `#authorized?(action, subject)` method to check.
139
+ Use the `#authorized?(action, subject)` method to check.
140
140
 
141
141
  ```ruby
142
142
  ActiveAdmin.register Post do
@@ -180,10 +180,9 @@ end
180
180
 
181
181
  Sub-classing `ActiveAdmin::AuthorizationAdapter` is fairly low level. Many times
182
182
  it's nicer to have a simpler DSL for managing authorization. Active Admin
183
- provides an adapter out of the box for [CanCan](https://github.com/ryanb/cancan)
184
- and [CanCanCan](https://github.com/CanCanCommunity/cancancan).
183
+ provides an adapter out of the box for [CanCanCan](https://github.com/CanCanCommunity/cancancan).
185
184
 
186
- To use the CanCan adapter, simply update the configuration in the Active Admin
185
+ To use the CanCan adapter, update the configuration in the Active Admin
187
186
  initializer:
188
187
 
189
188
  ```ruby
@@ -221,7 +220,7 @@ changed from the initializer:
221
220
  config.cancan_ability_class = "MyCustomAbility"
222
221
  ```
223
222
 
224
- Now you can simply use CanCan or CanCanCan the way that you would expect and
223
+ Now you can simply use CanCanCan the way that you would expect and
225
224
  Active Admin will use it for authorization:
226
225
 
227
226
  ```ruby
@@ -233,34 +232,54 @@ class Ability
233
232
  can :manage, Post
234
233
  can :read, User
235
234
  can :manage, User, id: user.id
236
- can :read, ActiveAdmin::Page, name: "Dashboard", namespace_name: :admin
235
+ can :read, ActiveAdmin::Page, name: "Dashboard", namespace_name: "admin"
237
236
  end
238
237
 
239
238
  end
240
239
  ```
241
240
 
242
241
  To view more details about the API's, visit project pages of
243
- [CanCan](https://github.com/ryanb/cancan) and
244
242
  [CanCanCan](https://github.com/CanCanCommunity/cancancan).
245
243
 
246
244
  ## Using the Pundit Adapter
247
245
 
248
- Active Admin provides an adapter out of the box also for
249
- [Pundit](https://github.com/elabs/pundit).
246
+ Active Admin also provides an adapter out of the box for
247
+ [Pundit](https://github.com/varvet/pundit).
250
248
 
251
- To use the Pundit adapter, simply update the configuration in the Active Admin
249
+ To use the Pundit adapter, update the configuration in the Active Admin
252
250
  initializer:
253
251
 
254
252
  ```ruby
255
253
  config.authorization_adapter = ActiveAdmin::PunditAdapter
256
254
  ```
257
255
 
258
- You can simply use Pundit the way that you would expect and Active Admin will
259
- use it for authorization. Check Pundit's documentation to [set up Pundit in your
260
- application](https://github.com/elabs/pundit#installation). If you want to use
261
- batch actions just ensure that `destroy_all?` method is defined in your policy
262
- class. You can use this [template
256
+ Once that's done, Active Admin will pick up your Pundit policies, and use
257
+ them for authorization. For more information about setting up Pundit, see
258
+ [their documentation](https://github.com/varvet/pundit#installation).
259
+
260
+ Pundit also has [verify_authorized and/or verify_policy_scoped
261
+ methods](https://github.com/varvet/pundit#ensuring-policies-and-scopes-are-used)
262
+ to enforce usage of `authorized` and `policy_scope`. This conflicts with Active
263
+ Admin's authorization architecture, so if you're using those features, you'll
264
+ want to disable them for Active Admin's controllers:
265
+
266
+ ```ruby
267
+ class ApplicationController < ActionController::Base
268
+ include Pundit
269
+ after_action :verify_authorized, except: :index, unless: :active_admin_controller?
270
+ after_action :verify_policy_scoped, only: :index, unless: :active_admin_controller?
271
+
272
+ def active_admin_controller?
273
+ is_a?(ActiveAdmin::BaseController)
274
+ end
275
+ end
276
+ ```
277
+
278
+ If you want to use batch actions, ensure that `destroy_all?` method is defined
279
+ in your policy class. You can use this [template
263
280
  policy](https://github.com/activeadmin/activeadmin/blob/master/spec/support/templates/policies/application_policy.rb)
264
- in your application instead of default one generated by Pundit's `rails g
265
- pundit:install` command.
281
+ in your application instead of default one generated by Pundit's
282
+ `rails g pundit:install` command.
266
283
 
284
+ In addition, there are [example policies](https://github.com/activeadmin/activeadmin/tree/master/spec/support/templates/policies/active_admin)
285
+ for restricting access to ActiveAdmin's pages and comments.