activeadmin 1.3.1 → 1.4.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 (333) hide show
  1. checksums.yaml +4 -4
  2. data/.circleci/config.yml +467 -0
  3. data/.gitignore +2 -5
  4. data/.rspec +1 -0
  5. data/.rspec_parallel +2 -0
  6. data/.rubocop.yml +25 -7
  7. data/.simplecov +4 -6
  8. data/CHANGELOG.md +175 -83
  9. data/CODE_OF_CONDUCT.md +64 -12
  10. data/CONTRIBUTING.md +77 -40
  11. data/Gemfile +7 -55
  12. data/Gemfile.common +53 -0
  13. data/Gemfile.lock +431 -0
  14. data/README.md +39 -18
  15. data/Rakefile +1 -32
  16. data/app/assets/stylesheets/active_admin/_forms.scss +1 -1
  17. data/app/assets/stylesheets/active_admin/components/_scopes.scss +3 -0
  18. data/app/views/active_admin/devise/confirmations/new.html.erb +1 -1
  19. data/app/views/active_admin/devise/passwords/edit.html.erb +1 -1
  20. data/app/views/active_admin/devise/passwords/new.html.erb +1 -1
  21. data/app/views/active_admin/devise/registrations/new.html.erb +1 -1
  22. data/app/views/active_admin/devise/sessions/new.html.erb +1 -1
  23. data/app/views/active_admin/devise/unlocks/new.html.erb +1 -1
  24. data/app/views/layouts/active_admin_logged_out.html.erb +1 -1
  25. data/bin/install_chromedriver.sh +17 -0
  26. data/config/locales/de.yml +10 -0
  27. data/config/locales/en.yml +19 -1
  28. data/config/locales/es.yml +20 -1
  29. data/config/locales/fi.yml +1 -1
  30. data/config/locales/it.yml +4 -0
  31. data/config/locales/nb.yml +15 -5
  32. data/config/locales/nl.yml +11 -0
  33. data/config/locales/pl.yml +71 -3
  34. data/config/locales/ru.yml +2 -0
  35. data/config/locales/tr.yml +9 -0
  36. data/config/locales/zh-CN.yml +33 -5
  37. data/config/mdl_style.rb +2 -0
  38. data/cucumber.yml +7 -3
  39. data/docs/.gitignore +1 -0
  40. data/docs/1-general-configuration.md +16 -1
  41. data/docs/10-custom-pages.md +14 -0
  42. data/docs/12-arbre-components.md +28 -1
  43. data/docs/13-authorization-adapter.md +36 -17
  44. data/docs/2-resource-customization.md +8 -3
  45. data/docs/3-index-pages.md +17 -0
  46. data/docs/3-index-pages/custom-index.md +1 -1
  47. data/docs/3-index-pages/index-as-blog.md +1 -1
  48. data/docs/3-index-pages/index-as-table.md +5 -5
  49. data/docs/5-forms.md +16 -2
  50. data/docs/8-custom-actions.md +11 -0
  51. data/docs/Gemfile +2 -0
  52. data/docs/Gemfile.lock +249 -0
  53. data/docs/_config.yml +1 -1
  54. data/docs/_includes/toc.html +1 -1
  55. data/docs/_includes/top-menu.html +9 -1
  56. data/docs/documentation.md +1 -1
  57. data/docs/images/tidelift.svg +14 -0
  58. data/docs/stylesheets/main.css +26 -2
  59. data/gemfiles/rails_42.gemfile +2 -2
  60. data/gemfiles/rails_42.gemfile.lock +410 -0
  61. data/gemfiles/rails_50.gemfile +2 -2
  62. data/gemfiles/rails_50.gemfile.lock +424 -0
  63. data/gemfiles/rails_51.gemfile +2 -2
  64. data/gemfiles/rails_51.gemfile.lock +423 -0
  65. data/lib/active_admin/abstract_view_factory.rb +13 -51
  66. data/lib/active_admin/application.rb +42 -142
  67. data/lib/active_admin/application_settings.rb +39 -0
  68. data/lib/active_admin/base_controller/authorization.rb +1 -2
  69. data/lib/active_admin/batch_actions/controller.rb +1 -1
  70. data/lib/active_admin/dependency.rb +8 -0
  71. data/lib/active_admin/deprecation.rb +0 -25
  72. data/lib/active_admin/dynamic_setting.rb +38 -0
  73. data/lib/active_admin/dynamic_settings_node.rb +28 -0
  74. data/lib/active_admin/engine.rb +5 -0
  75. data/lib/active_admin/filters/active_filter.rb +1 -1
  76. data/lib/active_admin/filters/resource_extension.rb +1 -1
  77. data/lib/active_admin/form_builder.rb +95 -60
  78. data/lib/active_admin/inputs/datepicker_input.rb +7 -0
  79. data/lib/active_admin/menu.rb +2 -8
  80. data/lib/active_admin/menu_item.rb +3 -31
  81. data/lib/active_admin/namespace.rb +18 -6
  82. data/lib/active_admin/namespace_settings.rb +107 -0
  83. data/lib/active_admin/orm/active_record/comments.rb +11 -0
  84. data/lib/active_admin/orm/active_record/comments/comment.rb +1 -1
  85. data/lib/active_admin/resource/action_items.rb +6 -1
  86. data/lib/active_admin/resource_controller/decorators.rb +3 -3
  87. data/lib/active_admin/resource_controller/scoping.rb +1 -1
  88. data/lib/active_admin/router.rb +89 -84
  89. data/lib/active_admin/scope.rb +5 -1
  90. data/lib/active_admin/settings_node.rb +19 -0
  91. data/lib/active_admin/version.rb +1 -1
  92. data/lib/active_admin/views/components/active_admin_form.rb +2 -3
  93. data/lib/active_admin/views/components/menu.rb +32 -0
  94. data/lib/active_admin/views/components/menu_item.rb +58 -0
  95. data/lib/active_admin/views/components/scopes.rb +11 -4
  96. data/lib/active_admin/views/components/sidebar.rb +13 -0
  97. data/lib/active_admin/views/components/site_title.rb +5 -6
  98. data/lib/active_admin/views/components/table_for.rb +1 -10
  99. data/lib/active_admin/views/components/tabs.rb +4 -1
  100. data/lib/active_admin/views/footer.rb +2 -6
  101. data/lib/active_admin/views/header.rb +3 -15
  102. data/lib/active_admin/views/index_as_blog.rb +1 -1
  103. data/lib/active_admin/views/index_as_grid.rb +25 -25
  104. data/lib/active_admin/views/index_as_table.rb +6 -6
  105. data/lib/active_admin/views/pages/base.rb +27 -53
  106. data/lib/active_admin/views/tabbed_navigation.rb +4 -59
  107. data/lib/bug_report_templates/active_admin_master.rb +2 -3
  108. data/tasks/application_generator.rb +48 -0
  109. data/tasks/gemfiles.rake +8 -0
  110. data/tasks/lint.rake +96 -7
  111. data/tasks/local.rake +10 -8
  112. data/tasks/test.rake +30 -16
  113. metadata +26 -440
  114. data/.travis.yml +0 -51
  115. data/features/action_item.feature +0 -73
  116. data/features/authorization.feature +0 -64
  117. data/features/authorization_cancan.feature +0 -52
  118. data/features/authorization_pundit.feature +0 -37
  119. data/features/belongs_to.feature +0 -124
  120. data/features/breadcrumb.feature +0 -75
  121. data/features/comments/commenting.feature +0 -178
  122. data/features/comments/viewing_index.feature +0 -19
  123. data/features/create_another.feature +0 -55
  124. data/features/dashboard.feature +0 -16
  125. data/features/decorators.feature +0 -43
  126. data/features/development_reloading.feature +0 -28
  127. data/features/edit_page.feature +0 -116
  128. data/features/favicon.feature +0 -20
  129. data/features/first_boot.feature +0 -16
  130. data/features/footer.feature +0 -28
  131. data/features/global_navigation.feature +0 -29
  132. data/features/i18n.feature +0 -55
  133. data/features/index/batch_actions.feature +0 -218
  134. data/features/index/filters.feature +0 -250
  135. data/features/index/format_as_csv.feature +0 -220
  136. data/features/index/formats.feature +0 -88
  137. data/features/index/index_as_block.feature +0 -15
  138. data/features/index/index_as_blog.feature +0 -69
  139. data/features/index/index_as_grid.feature +0 -45
  140. data/features/index/index_as_table.feature +0 -291
  141. data/features/index/index_blank_slate.feature +0 -83
  142. data/features/index/index_parameters.feature +0 -75
  143. data/features/index/index_scope_to.feature +0 -56
  144. data/features/index/index_scopes.feature +0 -285
  145. data/features/index/page_title.feature +0 -41
  146. data/features/index/pagination.feature +0 -63
  147. data/features/index/switch_index_view.feature +0 -73
  148. data/features/menu.feature +0 -72
  149. data/features/meta_tags.feature +0 -21
  150. data/features/new_page.feature +0 -136
  151. data/features/registering_assets.feature +0 -38
  152. data/features/registering_pages.feature +0 -237
  153. data/features/registering_resources.feature +0 -33
  154. data/features/renamed_resource.feature +0 -30
  155. data/features/root_to.feature +0 -17
  156. data/features/show/attributes_table_title.feature +0 -54
  157. data/features/show/columns.feature +0 -40
  158. data/features/show/default_content.feature +0 -44
  159. data/features/show/page_title.feature +0 -58
  160. data/features/show/tabs.feature +0 -33
  161. data/features/sidebar_sections.feature +0 -210
  162. data/features/site_title.feature +0 -47
  163. data/features/specifying_actions.feature +0 -118
  164. data/features/step_definitions/action_item_steps.rb +0 -7
  165. data/features/step_definitions/action_link_steps.rb +0 -19
  166. data/features/step_definitions/additional_web_steps.rb +0 -81
  167. data/features/step_definitions/asset_steps.rb +0 -15
  168. data/features/step_definitions/attribute_steps.rb +0 -18
  169. data/features/step_definitions/attributes_table_title_steps.rb +0 -11
  170. data/features/step_definitions/batch_action_steps.rb +0 -81
  171. data/features/step_definitions/blog_steps.rb +0 -3
  172. data/features/step_definitions/breadcrumb_steps.rb +0 -3
  173. data/features/step_definitions/column_steps.rb +0 -8
  174. data/features/step_definitions/comment_steps.rb +0 -32
  175. data/features/step_definitions/configuration_steps.rb +0 -100
  176. data/features/step_definitions/dashboard_steps.rb +0 -15
  177. data/features/step_definitions/factory_steps.rb +0 -35
  178. data/features/step_definitions/filter_steps.rb +0 -47
  179. data/features/step_definitions/flash_steps.rb +0 -11
  180. data/features/step_definitions/footer_steps.rb +0 -11
  181. data/features/step_definitions/format_steps.rb +0 -56
  182. data/features/step_definitions/i18n_steps.rb +0 -11
  183. data/features/step_definitions/index_scope_steps.rb +0 -29
  184. data/features/step_definitions/index_views_steps.rb +0 -3
  185. data/features/step_definitions/layout_steps.rb +0 -3
  186. data/features/step_definitions/member_link_steps.rb +0 -7
  187. data/features/step_definitions/menu_steps.rb +0 -11
  188. data/features/step_definitions/meta_tag_steps.rb +0 -3
  189. data/features/step_definitions/pagination_steps.rb +0 -15
  190. data/features/step_definitions/sidebar_steps.rb +0 -11
  191. data/features/step_definitions/site_title_steps.rb +0 -17
  192. data/features/step_definitions/tab_steps.rb +0 -8
  193. data/features/step_definitions/table_steps.rb +0 -116
  194. data/features/step_definitions/user_steps.rb +0 -52
  195. data/features/step_definitions/web_steps.rb +0 -86
  196. data/features/sti_resource.feature +0 -65
  197. data/features/strong_parameters.feature +0 -69
  198. data/features/support/env.rb +0 -122
  199. data/features/support/paths.rb +0 -73
  200. data/features/support/regular_env.rb +0 -7
  201. data/features/support/reload_env.rb +0 -7
  202. data/features/support/selectors.rb +0 -45
  203. data/features/users/logging_in.feature +0 -36
  204. data/features/users/logging_out.feature +0 -13
  205. data/features/users/resetting_password.feature +0 -34
  206. data/gemfiles/rails_52.gemfile +0 -11
  207. data/lib/active_admin/helpers/settings.rb +0 -114
  208. data/spec/bug_report_templates_spec.rb +0 -26
  209. data/spec/javascripts/coffeescripts/jquery.aa.checkbox-toggler-spec.js.coffee +0 -50
  210. data/spec/javascripts/coffeescripts/jquery.aa.flash.js.coffee +0 -25
  211. data/spec/javascripts/coffeescripts/jquery.aa.table-checkbox-toggler-spec.js.coffee +0 -34
  212. data/spec/javascripts/fixtures/checkboxes.html +0 -9
  213. data/spec/javascripts/fixtures/flashes.html +0 -2
  214. data/spec/javascripts/fixtures/table_checkboxes.html +0 -17
  215. data/spec/javascripts/helpers/SpecHelper.js +0 -3
  216. data/spec/javascripts/support/jasmine.yml +0 -74
  217. data/spec/javascripts/support/jasmine_runner.rb +0 -19
  218. data/spec/rails_helper.rb +0 -59
  219. data/spec/requests/default_namespace_spec.rb +0 -81
  220. data/spec/requests/memory_spec.rb +0 -25
  221. data/spec/requests/stylesheets_spec.rb +0 -18
  222. data/spec/spec_helper.rb +0 -1
  223. data/spec/support/active_admin_integration_spec_helper.rb +0 -73
  224. data/spec/support/active_admin_request_helpers.rb +0 -39
  225. data/spec/support/rails_template.rb +0 -153
  226. data/spec/support/rails_template_with_data.rb +0 -327
  227. data/spec/support/templates/admin/stores.rb +0 -7
  228. data/spec/support/templates/en.yml +0 -8
  229. data/spec/support/templates/manifest.js +0 -3
  230. data/spec/support/templates/policies/active_admin/comment_policy.rb +0 -9
  231. data/spec/support/templates/policies/active_admin/page_policy.rb +0 -18
  232. data/spec/support/templates/policies/admin_user_policy.rb +0 -11
  233. data/spec/support/templates/policies/application_policy.rb +0 -44
  234. data/spec/support/templates/policies/category_policy.rb +0 -7
  235. data/spec/support/templates/policies/post_policy.rb +0 -15
  236. data/spec/support/templates/policies/store_policy.rb +0 -11
  237. data/spec/support/templates/policies/user_policy.rb +0 -11
  238. data/spec/support/templates/post_decorator.rb +0 -24
  239. data/spec/unit/abstract_view_factory_spec.rb +0 -78
  240. data/spec/unit/action_builder_spec.rb +0 -158
  241. data/spec/unit/active_admin_spec.rb +0 -11
  242. data/spec/unit/application_spec.rb +0 -184
  243. data/spec/unit/asset_registration_spec.rb +0 -81
  244. data/spec/unit/authorization/authorization_adapter_spec.rb +0 -61
  245. data/spec/unit/authorization/controller_authorization_spec.rb +0 -43
  246. data/spec/unit/authorization/index_overriding_spec.rb +0 -23
  247. data/spec/unit/auto_link_spec.rb +0 -93
  248. data/spec/unit/batch_actions/resource_spec.rb +0 -84
  249. data/spec/unit/batch_actions/settings_spec.rb +0 -61
  250. data/spec/unit/belongs_to_spec.rb +0 -76
  251. data/spec/unit/cancan_adapter_spec.rb +0 -43
  252. data/spec/unit/comments_spec.rb +0 -176
  253. data/spec/unit/component_spec.rb +0 -18
  254. data/spec/unit/config_shared_examples.rb +0 -59
  255. data/spec/unit/controller_filters_spec.rb +0 -41
  256. data/spec/unit/csv_builder_spec.rb +0 -313
  257. data/spec/unit/dependency_spec.rb +0 -135
  258. data/spec/unit/devise_spec.rb +0 -110
  259. data/spec/unit/dsl_spec.rb +0 -120
  260. data/spec/unit/filters/active_filter_spec.rb +0 -189
  261. data/spec/unit/filters/active_spec.rb +0 -24
  262. data/spec/unit/filters/filter_form_builder_spec.rb +0 -524
  263. data/spec/unit/filters/resource_spec.rb +0 -128
  264. data/spec/unit/form_builder_spec.rb +0 -990
  265. data/spec/unit/generators/install_spec.rb +0 -31
  266. data/spec/unit/helpers/collection_spec.rb +0 -68
  267. data/spec/unit/helpers/output_safety_helper_spec.rb +0 -79
  268. data/spec/unit/helpers/scope_chain_spec.rb +0 -35
  269. data/spec/unit/helpers/settings_spec.rb +0 -30
  270. data/spec/unit/i18n_spec.rb +0 -29
  271. data/spec/unit/localizers/resource_localizer_spec.rb +0 -36
  272. data/spec/unit/menu_collection_spec.rb +0 -62
  273. data/spec/unit/menu_item_spec.rb +0 -141
  274. data/spec/unit/menu_spec.rb +0 -71
  275. data/spec/unit/namespace/authorization_spec.rb +0 -27
  276. data/spec/unit/namespace/register_page_spec.rb +0 -99
  277. data/spec/unit/namespace/register_resource_spec.rb +0 -162
  278. data/spec/unit/namespace_spec.rb +0 -124
  279. data/spec/unit/order_clause_spec.rb +0 -81
  280. data/spec/unit/page_controller_spec.rb +0 -5
  281. data/spec/unit/page_spec.rb +0 -128
  282. data/spec/unit/pretty_format_spec.rb +0 -82
  283. data/spec/unit/pundit_adapter_spec.rb +0 -98
  284. data/spec/unit/resource/action_items_spec.rb +0 -69
  285. data/spec/unit/resource/attributes_spec.rb +0 -49
  286. data/spec/unit/resource/includes_spec.rb +0 -21
  287. data/spec/unit/resource/menu_spec.rb +0 -18
  288. data/spec/unit/resource/naming_spec.rb +0 -122
  289. data/spec/unit/resource/ordering_spec.rb +0 -35
  290. data/spec/unit/resource/page_presenters_spec.rb +0 -44
  291. data/spec/unit/resource/pagination_spec.rb +0 -38
  292. data/spec/unit/resource/routes_spec.rb +0 -125
  293. data/spec/unit/resource/scopes_spec.rb +0 -50
  294. data/spec/unit/resource/sidebars_spec.rb +0 -43
  295. data/spec/unit/resource_collection_spec.rb +0 -175
  296. data/spec/unit/resource_controller/data_access_spec.rb +0 -234
  297. data/spec/unit/resource_controller/decorators_spec.rb +0 -94
  298. data/spec/unit/resource_controller/sidebars_spec.rb +0 -37
  299. data/spec/unit/resource_controller_spec.rb +0 -273
  300. data/spec/unit/resource_registration_spec.rb +0 -61
  301. data/spec/unit/resource_spec.rb +0 -320
  302. data/spec/unit/routing_spec.rb +0 -211
  303. data/spec/unit/scope_spec.rb +0 -209
  304. data/spec/unit/settings_spec.rb +0 -117
  305. data/spec/unit/view_factory_spec.rb +0 -19
  306. data/spec/unit/view_helpers/breadcrumbs_spec.rb +0 -253
  307. data/spec/unit/view_helpers/display_helper_spec.rb +0 -203
  308. data/spec/unit/view_helpers/download_format_links_helper_spec.rb +0 -39
  309. data/spec/unit/view_helpers/fields_for_spec.rb +0 -50
  310. data/spec/unit/view_helpers/flash_helper_spec.rb +0 -24
  311. data/spec/unit/view_helpers/form_helper_spec.rb +0 -42
  312. data/spec/unit/view_helpers/method_or_proc_helper_spec.rb +0 -138
  313. data/spec/unit/views/components/attributes_table_spec.rb +0 -271
  314. data/spec/unit/views/components/batch_action_selector_spec.rb +0 -43
  315. data/spec/unit/views/components/blank_slate_spec.rb +0 -27
  316. data/spec/unit/views/components/columns_spec.rb +0 -187
  317. data/spec/unit/views/components/index_list_spec.rb +0 -49
  318. data/spec/unit/views/components/index_table_for_spec.rb +0 -127
  319. data/spec/unit/views/components/paginated_collection_spec.rb +0 -249
  320. data/spec/unit/views/components/panel_spec.rb +0 -58
  321. data/spec/unit/views/components/sidebar_section_spec.rb +0 -68
  322. data/spec/unit/views/components/site_title_spec.rb +0 -76
  323. data/spec/unit/views/components/status_tag_spec.rb +0 -265
  324. data/spec/unit/views/components/table_for_spec.rb +0 -436
  325. data/spec/unit/views/components/tabs_spec.rb +0 -67
  326. data/spec/unit/views/components/unsupported_browser_spec.rb +0 -41
  327. data/spec/unit/views/index_as_blog_spec.rb +0 -76
  328. data/spec/unit/views/pages/form_spec.rb +0 -54
  329. data/spec/unit/views/pages/index_spec.rb +0 -60
  330. data/spec/unit/views/pages/layout_spec.rb +0 -59
  331. data/spec/unit/views/pages/show_spec.rb +0 -32
  332. data/spec/unit/views/tabbed_navigation_spec.rb +0 -158
  333. data/tasks/parallel_tests.rake +0 -66
data/README.md CHANGED
@@ -1,30 +1,29 @@
1
1
  # Active Admin
2
2
 
3
- [Active Admin](https://www.activeadmin.info) is a Ruby on Rails framework for creating elegant backends for website administration.
3
+ [Active Admin](https://activeadmin.info) is a Ruby on Rails framework for
4
+ creating elegant backends for website administration.
4
5
 
5
- [![Version ](http://img.shields.io/gem/v/activeadmin.svg) ](https://rubygems.org/gems/activeadmin)
6
- [![Travis CI ](http://img.shields.io/travis/activeadmin/activeadmin/master.svg) ](https://travis-ci.org/activeadmin/activeadmin)
7
- [![Quality ](http://img.shields.io/codeclimate/github/activeadmin/activeadmin.svg) ](https://codeclimate.com/github/activeadmin/activeadmin)
8
- [![Coverage ](https://codecov.io/gh/activeadmin/activeadmin/branch/master/graph/badge.svg)](https://codecov.io/gh/activeadmin/activeadmin)
9
- [![Inch CI ](http://inch-ci.org/github/activeadmin/activeadmin.svg?branch=master) ](http://inch-ci.org/github/activeadmin/activeadmin)
10
- [![Gratipay Team ](https://img.shields.io/gratipay/team/Active-Admin.svg)](https://gratipay.com/Active-Admin/)
6
+ [![Version ][rubygems_badge]][rubygems]
7
+ [![Circle CI ][circle_badge]][circle]
8
+ [![Coverage ][codecov_badge]][codecov]
9
+ [![Tidelift ][tidelift_badge]][tidelift]
10
+ [![Inch CI ][inch_badge]][inch]
11
11
 
12
12
  ## Goals
13
13
 
14
- 1. Enable developers to quickly create good-looking administration interfaces.
15
- 2. Build a DSL for developers and an interface for businesses.
16
- 3. Ensure that developers can easily customize every nook and cranny.
14
+ * Enable developers to quickly create good-looking administration interfaces.
15
+ * Build a DSL for developers and an interface for businesses.
16
+ * Ensure that developers can easily customize every nook and cranny.
17
17
 
18
18
  ## Getting started
19
19
 
20
- * Check out [the docs](http://activeadmin.info/0-installation.html)!
21
- * Try the [live demo](http://demo.activeadmin.info/admin)
22
- * The [wiki](https://github.com/activeadmin/activeadmin/wiki) includes links to tutorials, articles and sample projects.
20
+ * Check out [the docs][docs].
21
+ * Try the [live demo][demo].
22
+ * The [wiki] includes links to tutorials, articles and sample projects.
23
23
 
24
24
  ## Need help?
25
25
 
26
- Please use [StackOverflow](http://stackoverflow.com/questions/tagged/activeadmin) for
27
- help requests and how-to questions.
26
+ Please use [StackOverflow][stackoverflow] for help requests and how-to questions.
28
27
 
29
28
  Please open GitHub issues for bugs and enhancements only, not general help requests.
30
29
  Please search previous issues (and Google and StackOverflow) before creating a new issue.
@@ -33,14 +32,16 @@ Google Groups, IRC #activeadmin and Gitter are not actively monitored.
33
32
 
34
33
  ## Want to contribute?
35
34
 
36
- The [contributing guide](https://github.com/activeadmin/activeadmin/blob/master/CONTRIBUTING.md)
35
+ The [contributing guide][contributing]
37
36
  is a good place to start. If you have questions, feel free to ask.
38
37
 
39
38
  ## Want to support us?
40
39
 
41
- You can support us with a weekly tip via [Gratipay](https://gratipay.com).
40
+ Subscribe to [Tidelift][tidelift] to support Active Admin and get licensing assurances and timely security notifications.
42
41
 
43
- [![Support via Gratipay](https://cdn.rawgit.com/gratipay/gratipay-badge/2.1.3/dist/gratipay.png)](https://gratipay.com/Active-Admin)
42
+ You can support us with a weekly tip via [Liberapay][liberapay.com].
43
+
44
+ [![Support via Liberapay][liberapay_button]][liberapay_donate]
44
45
 
45
46
  ## Dependencies
46
47
 
@@ -61,3 +62,23 @@ Tool | Description
61
62
  [Inherited Resources]: https://github.com/activeadmin/inherited_resources
62
63
  [Kaminari]: https://github.com/kaminari/kaminari
63
64
  [Ransack]: https://github.com/activerecord-hackery/ransack
65
+
66
+ [rubygems_badge]: http://img.shields.io/gem/v/activeadmin.svg
67
+ [rubygems]: https://rubygems.org/gems/activeadmin
68
+ [circle_badge]: https://circleci.com/gh/activeadmin/activeadmin/tree/master.svg
69
+ [circle]: https://circleci.com/gh/activeadmin/activeadmin/tree/master
70
+ [codecov_badge]: https://codecov.io/gh/activeadmin/activeadmin/branch/master/graph/badge.svg
71
+ [codecov]: https://codecov.io/gh/activeadmin/activeadmin
72
+ [inch_badge]: http://inch-ci.org/github/activeadmin/activeadmin.svg?branch=master
73
+ [inch]: http://inch-ci.org/github/activeadmin/activeadmin
74
+ [tidelift_badge]: https://tidelift.com/badges/github/activeadmin/activeadmin
75
+ [tidelift]: https://tidelift.com/subscription/pkg/rubygems-activeadmin?utm_source=rubygems-activeadmin&utm_medium=readme
76
+
77
+ [docs]: http://activeadmin.info/0-installation.html
78
+ [demo]: http://demo.activeadmin.info/admin
79
+ [wiki]: https://github.com/activeadmin/activeadmin/wiki
80
+ [stackoverflow]: http://stackoverflow.com/questions/tagged/activeadmin
81
+ [contributing]: https://github.com/activeadmin/activeadmin/blob/master/CONTRIBUTING.md
82
+ [liberapay.com]: https://liberapay.com
83
+ [liberapay_button]: https://liberapay.com/assets/widgets/donate.svg
84
+ [liberapay_donate]: https://liberapay.com/Active-Admin/donate
data/Rakefile CHANGED
@@ -1,40 +1,9 @@
1
1
  require 'bundler/gem_tasks'
2
2
 
3
- desc 'Creates a test rails app for the specs to run against'
4
- task :setup, [:parallel, :dir, :template] do |_t, opts|
5
- require 'rails/version'
6
-
7
- base_dir = opts[:dir] || 'spec/rails'
8
- app_dir = "#{base_dir}/rails-#{Rails::VERSION::STRING}"
9
- template = opts[:template] || 'rails_template'
10
-
11
- if File.exist? app_dir
12
- puts "test app #{app_dir} already exists; skipping"
13
- else
14
- system "mkdir -p #{base_dir}"
15
- args = %W(
16
- -m spec/support/#{template}.rb
17
- --skip-bundle
18
- --skip-listen
19
- --skip-turbolinks
20
- --skip-test-unit
21
- )
22
-
23
- command = ['bundle', 'exec', 'rails', 'new', app_dir, *args].join(' ')
24
-
25
- env = { 'BUNDLE_GEMFILE' => ENV['BUNDLE_GEMFILE'] }
26
- env['INSTALL_PARALLEL'] = 'yes' if opts[:parallel]
27
-
28
- Bundler.with_clean_env { Kernel.exec(env, command) }
29
-
30
- Rake::Task['parallel:after_setup_hook'].invoke if opts[:parallel]
31
- end
32
- end
33
-
34
3
  # Import all our rake tasks
35
4
  FileList['tasks/**/*.rake'].each { |task| import task }
36
5
 
37
- task default: [:test, :lint]
6
+ task default: :test
38
7
 
39
8
  begin
40
9
  require 'jasmine'
@@ -241,7 +241,7 @@ form {
241
241
  input[type=submit], input[type=button], button { margin-right: 10px; }
242
242
  }
243
243
 
244
- .buttons .actions .create_another {
244
+ .actions .create_another {
245
245
  float: none;
246
246
  margin-bottom: 10px;
247
247
 
@@ -6,5 +6,8 @@
6
6
  font-size: 0.9em;
7
7
  line-height: 10px;
8
8
  }
9
+ &:first-child a {
10
+ margin-left: 10px;
11
+ }
9
12
  }
10
13
  }
@@ -1,5 +1,5 @@
1
1
  <div id="login">
2
- <h2><%= render_or_call_method_or_proc_on(self, active_admin_application.site_title) %> <%= title t('active_admin.devise.resend_confirmation_instructions.title') %></h2>
2
+ <h2><%= active_admin_application.site_title(self) %> <%= title t('active_admin.devise.resend_confirmation_instructions.title') %></h2>
3
3
 
4
4
  <%= devise_error_messages! %>
5
5
  <%= active_admin_form_for(resource, as: resource_name, url: confirmation_path(resource_name), html: { method: :post }) do |f|
@@ -1,5 +1,5 @@
1
1
  <div id="login">
2
- <h2><%= render_or_call_method_or_proc_on(self, active_admin_application.site_title) %> <%= title t('active_admin.devise.change_password.title') %></h2>
2
+ <h2><%= active_admin_application.site_title(self) %> <%= title t('active_admin.devise.change_password.title') %></h2>
3
3
 
4
4
  <%= devise_error_messages! %>
5
5
  <%= active_admin_form_for(resource, as: resource_name, url: password_path(resource_name), html: { method: :put }) do |f|
@@ -1,5 +1,5 @@
1
1
  <div id="login">
2
- <h2><%= render_or_call_method_or_proc_on(self, active_admin_application.site_title) %> <%= title t('active_admin.devise.reset_password.title') %></h2>
2
+ <h2><%= active_admin_application.site_title(self) %> <%= title t('active_admin.devise.reset_password.title') %></h2>
3
3
 
4
4
  <%= devise_error_messages! %>
5
5
  <%= active_admin_form_for(resource, as: resource_name, url: password_path(resource_name), html: { method: :post }) do |f|
@@ -1,5 +1,5 @@
1
1
  <div id="login">
2
- <h2><%= render_or_call_method_or_proc_on(self, active_admin_application.site_title) %> <%= title t('active_admin.devise.sign_up.title') %></h2>
2
+ <h2><%= active_admin_application.site_title(self) %> <%= title t('active_admin.devise.sign_up.title') %></h2>
3
3
 
4
4
  <% scope = Devise::Mapping.find_scope!(resource_name) %>
5
5
  <%= devise_error_messages! %>
@@ -1,5 +1,5 @@
1
1
  <div id="login">
2
- <h2><%= render_or_call_method_or_proc_on(self, active_admin_application.site_title) %> <%= title t('active_admin.devise.login.title') %></h2>
2
+ <h2><%= active_admin_application.site_title(self) %> <%= title t('active_admin.devise.login.title') %></h2>
3
3
 
4
4
  <% scope = Devise::Mapping.find_scope!(resource_name) %>
5
5
  <%= active_admin_form_for(resource, as: resource_name, url: send(:"#{scope}_session_path"), html: { id: "session_new" }) do |f|
@@ -1,5 +1,5 @@
1
1
  <div id="login">
2
- <h2><%= render_or_call_method_or_proc_on(self, active_admin_application.site_title) %> <%= title t('active_admin.devise.unlock.title') %></h2>
2
+ <h2><%= active_admin_application.site_title(self) %> <%= title t('active_admin.devise.unlock.title') %></h2>
3
3
 
4
4
  <%= devise_error_messages! %>
5
5
  <%= active_admin_form_for(resource, as: resource_name, url: unlock_path(resource_name), html: { method: :post }) do |f|
@@ -3,7 +3,7 @@
3
3
  <head>
4
4
  <meta http-equiv="Content-type" content="text/html; charset=utf-8">
5
5
 
6
- <title><%= [@page_title, render_or_call_method_or_proc_on(self, ActiveAdmin.application.site_title)].compact.join(" | ") %></title>
6
+ <title><%= [@page_title, ActiveAdmin.application.site_title(self)].compact.join(" | ") %></title>
7
7
 
8
8
  <% ActiveAdmin.application.stylesheets.each do |style, options| %>
9
9
  <%= stylesheet_link_tag style, options %>
@@ -0,0 +1,17 @@
1
+ #!/bin/bash
2
+
3
+ set -euo pipefail
4
+
5
+ curl --silent \
6
+ --show-error \
7
+ --location \
8
+ --fail \
9
+ --retry 3 \
10
+ --output /tmp/chromedriver_linux64.zip \
11
+ https://chromedriver.storage.googleapis.com/2.38/chromedriver_linux64.zip
12
+
13
+ unzip /tmp/chromedriver_linux64.zip chromedriver -d ~/.local/bin
14
+
15
+ rm /tmp/chromedriver_linux64.zip
16
+
17
+ chromedriver --version
@@ -8,6 +8,7 @@ de:
8
8
  edit: "Bearbeiten"
9
9
  delete: "Löschen"
10
10
  delete_confirmation: "Wollen Sie dieses Element wirklich löschen?"
11
+ create_another: "Mehr %{model} erstellen"
11
12
  new_model: "%{model} erstellen"
12
13
  edit_model: "%{model} bearbeiten"
13
14
  delete_model: "%{model} löschen"
@@ -20,6 +21,7 @@ de:
20
21
  has_many_new: "%{model} hinzufügen"
21
22
  has_many_delete: "Löschen"
22
23
  has_many_remove: "Entfernen"
24
+ move: "Bewegen"
23
25
  filters:
24
26
  buttons:
25
27
  filter: "Filtern"
@@ -31,6 +33,10 @@ de:
31
33
  ends_with: "Endet mit"
32
34
  greater_than: "Größer als"
33
35
  less_than: "Kleiner als"
36
+ gteq_datetime: "Größer gleich"
37
+ lteq_datetime: "Kleiner gleich"
38
+ from: "Von"
39
+ to: "Bis"
34
40
  search_status:
35
41
  headline: "Filter"
36
42
  current_scope: "Anwendungsbereich:"
@@ -51,6 +57,7 @@ de:
51
57
  one_page: "Zeige <b>alle %{n}</b> %{model}"
52
58
  multiple: "Zeige %{model} <b>%{from}&nbsp;–&nbsp;%{to}</b> von <b>%{total}</b>"
53
59
  multiple_without_total: "Zeige %{model} <b>%{from}&nbsp;–&nbsp;%{to}</b>"
60
+ per_page: "Pro Seite: "
54
61
  entry:
55
62
  one: "Eintrag"
56
63
  other: "Einträge"
@@ -72,6 +79,7 @@ de:
72
79
  labels:
73
80
  destroy: "Lösche"
74
81
  comments:
82
+ created_at: "Erstellt"
75
83
  resource_type: "Res­sour­cen-Typ"
76
84
  author_type: "Autor-Typ"
77
85
  body: "Inhalt"
@@ -94,6 +102,8 @@ de:
94
102
  title: "Subdomain"
95
103
  password:
96
104
  title: "Passwort"
105
+ password_confirmation:
106
+ title: "Passwort Bestätigung"
97
107
  sign_up:
98
108
  title: "Registrieren"
99
109
  submit: "Registrieren"
@@ -1,6 +1,22 @@
1
1
  en:
2
+ activerecord:
3
+ models:
4
+ comment:
5
+ one: "Comment"
6
+ other: "Comments"
7
+ active_admin/comment:
8
+ one: "Comment"
9
+ other: "Comments"
10
+ attributes:
11
+ active_admin/comment:
12
+ author_type: "Author type"
13
+ body: "Body"
14
+ created_at: "Created"
15
+ namespace: "Namespace"
16
+ resource_type: "Resource type"
17
+ updated_at: "Updated"
2
18
  active_admin:
3
- dashboard: Dashboard
19
+ dashboard: "Dashboard"
4
20
  dashboard_welcome:
5
21
  welcome: "Welcome to Active Admin. This is the default dashboard page."
6
22
  call_to_action: "To add dashboard sections, checkout 'app/admin/dashboard.rb'"
@@ -37,6 +53,8 @@ en:
37
53
  lteq_datetime: "Lesser or equal to"
38
54
  from: "From"
39
55
  to: "To"
56
+ scopes:
57
+ all: "All"
40
58
  search_status:
41
59
  headline: "Search status:"
42
60
  current_scope: "Scope:"
@@ -1,6 +1,22 @@
1
1
  es:
2
+ activerecord:
3
+ models:
4
+ comment:
5
+ one: "Comentario"
6
+ other: "Comentarios"
7
+ active_admin/comment:
8
+ one: "Comentario"
9
+ other: "Comentarios"
10
+ attributes:
11
+ active_admin/comment:
12
+ namespace: "Espacio de nombres"
13
+ body: "Cuerpo"
14
+ resource_type: "Tipo de recurso"
15
+ author_type: "Tipo de autor"
16
+ created_at: "Fecha de creación"
17
+ updated_at: "Fecha de actualización"
2
18
  active_admin:
3
- dashboard: Inicio
19
+ dashboard: "Inicio"
4
20
  dashboard_welcome:
5
21
  welcome: "Bienvenido a Active Admin. Esta es la página de inicio predeterminada."
6
22
  call_to_action: "Para agregar secciones edite 'app/admin/dashboard.rb'"
@@ -21,6 +37,7 @@ es:
21
37
  has_many_new: "Añadir %{model}"
22
38
  has_many_delete: "Eliminar"
23
39
  has_many_remove: "Quitar"
40
+ move: "Mover"
24
41
  filters:
25
42
  buttons:
26
43
  filter: "Filtrar"
@@ -36,6 +53,8 @@ es:
36
53
  lteq_datetime: "Menor o igual que"
37
54
  from: "Desde"
38
55
  to: "Hasta"
56
+ scopes:
57
+ all: "Todos"
39
58
  search_status:
40
59
  headline: "Estado de la búsqueda:"
41
60
  current_scope: "Alcance:"
@@ -9,7 +9,7 @@ fi:
9
9
  delete: "Poista"
10
10
  delete_confirmation: "Oletko varma, että haluat poistaa tämän?"
11
11
  new_model: "Uusi %{model}"
12
- edit_model: "Muokaa %{model}"
12
+ edit_model: "Muokkaa %{model}"
13
13
  delete_model: "Poista %{model}"
14
14
  details: "%{model} Tiedot"
15
15
  cancel: "Peruuta"
@@ -8,6 +8,7 @@ it:
8
8
  edit: "Modifica"
9
9
  delete: "Rimuovi"
10
10
  delete_confirmation: "Sei sicuro di volerlo rimuovere?"
11
+ create_another: "Crea un altro %{model}"
11
12
  new_model: "Aggiungi %{model}"
12
13
  edit_model: "Modifica %{model}"
13
14
  delete_model: "Rimuovi %{model}"
@@ -56,6 +57,7 @@ it:
56
57
  one_page: "Sto mostrando <b>%{n}</b> %{model}. Lista completa."
57
58
  multiple: "Sto mostrando %{model} <b>%{from}&nbsp;-&nbsp;%{to}</b> di <b>%{total}</b> in totale"
58
59
  multiple_without_total: "Sto mostrando %{model} <b>%{from}&nbsp;-&nbsp;%{to}</b>"
60
+ per_page: "Oggetti per pagina: "
59
61
  entry:
60
62
  one: "voce"
61
63
  other: "voci"
@@ -100,6 +102,8 @@ it:
100
102
  title: "Sottodominio"
101
103
  password:
102
104
  title: "Password"
105
+ password_confirmation:
106
+ title: "Conferma password"
103
107
  sign_up:
104
108
  title: "Iscriviti"
105
109
  submit: "Iscriviti"
@@ -31,6 +31,10 @@ nb:
31
31
  ends_with: "Slutter med"
32
32
  greater_than: "Større enn"
33
33
  less_than: "Mindre enn"
34
+ gteq_datetime: "Større enn eller lik"
35
+ lteq_datetime: "Mindre enn eller lik"
36
+ from: "Fra"
37
+ to: "Til"
34
38
  search_status:
35
39
  headline: "Søkestatus:"
36
40
  current_scope: "Søkeområde:"
@@ -70,11 +74,17 @@ nb:
70
74
  labels:
71
75
  destroy: "Slett"
72
76
  comments:
73
- body: "Body"
74
- author: "Author"
75
- add: "Add Comment"
76
- resource: "Resource"
77
- no_comments_yet: "No comments yet."
77
+ created_at: "Opprettet"
78
+ resource_type: "Ressurstype"
79
+ author_type: "Forfattertype"
80
+ body: "Brødtekst"
81
+ author: "Forfatter"
82
+ add: "Legg til kommentar"
83
+ delete: "Slett kommentar"
84
+ delete_confirmation: "Er du sikker på at du ønsker å slette kommentaren?"
85
+ resource: "Ressurs"
86
+ no_comments_yet: "Ingen kommentarer ennå."
87
+ author_missing: "Anonym"
78
88
  title_content: "Kommentarer (%{count})"
79
89
  errors:
80
90
  empty_text: "Kommentar ble ikke lagret, teksten var tom."
@@ -8,6 +8,7 @@ nl:
8
8
  edit: "Wijzig"
9
9
  delete: "Verwijder"
10
10
  delete_confirmation: "Weet u zeker dat je dit item wilt verwijderen?"
11
+ create_another: "Maak nog een %{model}"
11
12
  new_model: "Nieuwe %{model}"
12
13
  edit_model: "Wijzig %{model}"
13
14
  delete_model: "Verwijder %{model}"
@@ -20,6 +21,7 @@ nl:
20
21
  has_many_new: "Voeg nieuwe %{model} toe"
21
22
  has_many_delete: "Verwijderen"
22
23
  has_many_remove: "Verwijderen"
24
+ move: "Verplaats"
23
25
  filters:
24
26
  buttons:
25
27
  filter: "Filter"
@@ -31,10 +33,15 @@ nl:
31
33
  ends_with: "Eindigt op"
32
34
  greater_than: "Groter dan"
33
35
  less_than: "Kleiner dan"
36
+ from: Van
37
+ gteq_datetime: Groter of gelijk aan
38
+ lteq_datetime: Kleiner of gelijk aan
39
+ to: Tot
34
40
  search_status:
35
41
  current_scope: "Scope:"
36
42
  current_filters: "Huidige filters:"
37
43
  no_current_filters: "Geen"
44
+ headline: "Zoek status"
38
45
  status_tag:
39
46
  "yes": "Ja"
40
47
  "no": "Geen"
@@ -43,6 +50,7 @@ nl:
43
50
  powered_by: "Mogelijk gemaakt door %{active_admin} %{version}"
44
51
  sidebars:
45
52
  filters: "Filters"
53
+ search_status: "Zoek status"
46
54
  pagination:
47
55
  empty: "Geen %{model} gevonden"
48
56
  one: "Geeft <b>1</b> %{model} weer"
@@ -52,6 +60,7 @@ nl:
52
60
  entry:
53
61
  one: "entry"
54
62
  other: "entries"
63
+ per_page: "Per pagina: "
55
64
  any: "Alle"
56
65
  blank_slate:
57
66
  content: "Er zijn geen %{resource_name} gevonden."
@@ -93,6 +102,8 @@ nl:
93
102
  title: "Subdomein"
94
103
  password:
95
104
  title: "Wachtwoord"
105
+ password_confirmation:
106
+ title: "Bevestig password"
96
107
  sign_up:
97
108
  title: "Registreren"
98
109
  submit: "Registreren"