rails_admin 2.0.2 → 3.1.0.beta

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (520) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +14 -16
  3. data/README.md +42 -44
  4. data/Rakefile +15 -2
  5. data/app/assets/javascripts/rails_admin/application.js +21 -0
  6. data/app/assets/stylesheets/rails_admin/application.scss +31 -0
  7. data/app/assets/stylesheets/rails_admin/custom/mixins.scss +1 -1
  8. data/app/assets/stylesheets/rails_admin/custom/variables.scss +1 -1
  9. data/app/controllers/rails_admin/application_controller.rb +6 -3
  10. data/app/controllers/rails_admin/main_controller.rb +54 -50
  11. data/app/helpers/rails_admin/application_helper.rb +102 -60
  12. data/app/helpers/rails_admin/form_builder.rb +25 -13
  13. data/app/helpers/rails_admin/main_helper.rb +28 -41
  14. data/app/views/kaminari/ra-twitter-bootstrap/_gap.html.erb +5 -0
  15. data/app/views/kaminari/ra-twitter-bootstrap/_next_page.html.erb +9 -0
  16. data/app/views/kaminari/ra-twitter-bootstrap/_page.html.erb +9 -0
  17. data/app/views/kaminari/ra-twitter-bootstrap/_paginator.html.erb +15 -0
  18. data/app/views/kaminari/ra-twitter-bootstrap/_prev_page.html.erb +9 -0
  19. data/app/views/kaminari/ra-twitter-bootstrap/without_count/_next_page.html.erb +9 -0
  20. data/app/views/kaminari/ra-twitter-bootstrap/without_count/_paginator.html.erb +8 -0
  21. data/app/views/kaminari/ra-twitter-bootstrap/without_count/_prev_page.html.erb +9 -0
  22. data/app/views/layouts/rails_admin/_head.html.erb +29 -0
  23. data/app/views/layouts/rails_admin/_navigation.html.erb +17 -0
  24. data/app/views/layouts/rails_admin/_secondary_navigation.html.erb +26 -0
  25. data/app/views/layouts/rails_admin/_sidebar_navigation.html.erb +5 -0
  26. data/app/views/layouts/rails_admin/application.html.erb +24 -0
  27. data/app/views/layouts/rails_admin/content.html.erb +22 -0
  28. data/app/views/layouts/rails_admin/modal.js.erb +7 -0
  29. data/app/views/rails_admin/main/_dashboard_history.html.erb +45 -0
  30. data/app/views/rails_admin/main/_delete_notice.html.erb +35 -0
  31. data/app/views/rails_admin/main/_form_action_text.html.erb +7 -0
  32. data/app/views/rails_admin/main/_form_boolean.html.erb +14 -0
  33. data/app/views/rails_admin/main/{_form_ck_editor.html.haml → _form_ck_editor.html.erb} +3 -3
  34. data/app/views/rails_admin/main/_form_code_mirror.html.erb +9 -0
  35. data/app/views/rails_admin/main/_form_colorpicker.html.erb +5 -0
  36. data/app/views/rails_admin/main/_form_datetime.html.erb +10 -0
  37. data/app/views/rails_admin/main/_form_enumeration.html.erb +25 -0
  38. data/app/views/rails_admin/main/_form_field.html.erb +1 -0
  39. data/app/views/rails_admin/main/_form_file_upload.html.erb +17 -0
  40. data/app/views/rails_admin/main/_form_filtering_multiselect.html.erb +49 -0
  41. data/app/views/rails_admin/main/_form_filtering_select.html.erb +33 -0
  42. data/app/views/rails_admin/main/_form_froala.html.erb +8 -0
  43. data/app/views/rails_admin/main/_form_multiple_file_upload.html.erb +20 -0
  44. data/app/views/rails_admin/main/_form_nested_many.html.erb +21 -0
  45. data/app/views/rails_admin/main/_form_nested_one.html.erb +21 -0
  46. data/app/views/rails_admin/main/_form_polymorphic_association.html.erb +32 -0
  47. data/app/views/rails_admin/main/_form_simple_mde.html.erb +8 -0
  48. data/app/views/rails_admin/main/_form_text.html.erb +1 -0
  49. data/app/views/rails_admin/main/_form_wysihtml5.html.erb +8 -0
  50. data/app/views/rails_admin/main/_submit_buttons.html.erb +25 -0
  51. data/app/views/rails_admin/main/bulk_delete.html.erb +19 -0
  52. data/app/views/rails_admin/main/dashboard.html.erb +64 -0
  53. data/app/views/rails_admin/main/delete.html.erb +21 -0
  54. data/app/views/rails_admin/main/edit.html.erb +3 -0
  55. data/app/views/rails_admin/main/export.html.erb +149 -0
  56. data/app/views/rails_admin/main/history.html.erb +80 -0
  57. data/app/views/rails_admin/main/index.html.erb +196 -0
  58. data/app/views/rails_admin/main/new.html.erb +3 -0
  59. data/app/views/rails_admin/main/show.html.erb +30 -0
  60. data/config/initializers/active_record_extensions.rb +28 -1
  61. data/config/initializers/mongoid_extensions.rb +3 -1
  62. data/config/locales/rails_admin.en.yml +6 -3
  63. data/config/routes.rb +2 -0
  64. data/lib/generators/rails_admin/importmap_formatter.rb +28 -0
  65. data/lib/generators/rails_admin/install_generator.rb +114 -5
  66. data/lib/generators/rails_admin/templates/initializer.erb +2 -1
  67. data/lib/generators/rails_admin/templates/rails_admin.js +1 -0
  68. data/lib/generators/rails_admin/templates/rails_admin.scss.erb +1 -0
  69. data/lib/generators/rails_admin/templates/rails_admin.webpacker.js +2 -0
  70. data/lib/generators/rails_admin/utils.rb +2 -0
  71. data/lib/rails_admin/abstract_model.rb +35 -15
  72. data/lib/rails_admin/adapters/active_record/association.rb +30 -1
  73. data/lib/rails_admin/adapters/active_record/object_extension.rb +31 -0
  74. data/lib/rails_admin/adapters/active_record/property.rb +4 -2
  75. data/lib/rails_admin/adapters/active_record.rb +67 -29
  76. data/lib/rails_admin/adapters/composite_primary_keys/association.rb +45 -0
  77. data/lib/rails_admin/adapters/composite_primary_keys.rb +40 -0
  78. data/lib/rails_admin/adapters/mongoid/association.rb +52 -13
  79. data/lib/rails_admin/adapters/mongoid/bson.rb +6 -5
  80. data/lib/rails_admin/adapters/mongoid/extension.rb +5 -1
  81. data/lib/rails_admin/adapters/mongoid/object_extension.rb +34 -0
  82. data/lib/rails_admin/adapters/mongoid/property.rb +7 -5
  83. data/lib/rails_admin/adapters/mongoid.rb +32 -22
  84. data/lib/rails_admin/config/actions/base.rb +11 -4
  85. data/lib/rails_admin/config/actions/bulk_delete.rb +4 -2
  86. data/lib/rails_admin/config/actions/dashboard.rb +16 -9
  87. data/lib/rails_admin/config/actions/delete.rb +11 -9
  88. data/lib/rails_admin/config/actions/edit.rb +13 -7
  89. data/lib/rails_admin/config/actions/export.rb +6 -3
  90. data/lib/rails_admin/config/actions/history_index.rb +4 -2
  91. data/lib/rails_admin/config/actions/history_show.rb +4 -2
  92. data/lib/rails_admin/config/actions/index.rb +9 -8
  93. data/lib/rails_admin/config/actions/new.rb +18 -10
  94. data/lib/rails_admin/config/actions/show.rb +3 -1
  95. data/lib/rails_admin/config/actions/show_in_app.rb +9 -3
  96. data/lib/rails_admin/config/actions.rb +6 -4
  97. data/lib/rails_admin/config/configurable.rb +4 -2
  98. data/lib/rails_admin/config/fields/association.rb +21 -11
  99. data/lib/rails_admin/config/fields/base.rb +70 -30
  100. data/lib/rails_admin/config/fields/factories/action_text.rb +2 -0
  101. data/lib/rails_admin/config/fields/factories/active_storage.rb +5 -1
  102. data/lib/rails_admin/config/fields/factories/association.rb +12 -13
  103. data/lib/rails_admin/config/fields/factories/carrierwave.rb +6 -2
  104. data/lib/rails_admin/config/fields/factories/devise.rb +6 -2
  105. data/lib/rails_admin/config/fields/factories/dragonfly.rb +6 -2
  106. data/lib/rails_admin/config/fields/factories/enum.rb +2 -0
  107. data/lib/rails_admin/config/fields/factories/paperclip.rb +6 -2
  108. data/lib/rails_admin/config/fields/factories/password.rb +2 -0
  109. data/lib/rails_admin/config/fields/factories/shrine.rb +3 -1
  110. data/lib/rails_admin/config/fields/group.rb +3 -2
  111. data/lib/rails_admin/config/fields/types/action_text.rb +3 -1
  112. data/lib/rails_admin/config/fields/types/active_record_enum.rb +4 -0
  113. data/lib/rails_admin/config/fields/types/active_storage.rb +11 -3
  114. data/lib/rails_admin/config/fields/types/all.rb +4 -0
  115. data/lib/rails_admin/config/fields/types/belongs_to_association.rb +5 -15
  116. data/lib/rails_admin/config/fields/types/boolean.rb +34 -8
  117. data/lib/rails_admin/config/fields/types/bson_object_id.rb +2 -0
  118. data/lib/rails_admin/config/fields/types/carrierwave.rb +3 -0
  119. data/lib/rails_admin/config/fields/types/citext.rb +15 -0
  120. data/lib/rails_admin/config/fields/types/ck_editor.rb +2 -0
  121. data/lib/rails_admin/config/fields/types/code_mirror.rb +2 -0
  122. data/lib/rails_admin/config/fields/types/color.rb +8 -2
  123. data/lib/rails_admin/config/fields/types/composite_keys_belongs_to_association.rb +31 -0
  124. data/lib/rails_admin/config/fields/types/date.rb +12 -6
  125. data/lib/rails_admin/config/fields/types/datetime.rb +28 -23
  126. data/lib/rails_admin/config/fields/types/decimal.rb +11 -2
  127. data/lib/rails_admin/config/fields/types/dragonfly.rb +5 -1
  128. data/lib/rails_admin/config/fields/types/enum.rb +3 -1
  129. data/lib/rails_admin/config/fields/types/file_upload.rb +11 -4
  130. data/lib/rails_admin/config/fields/types/float.rb +11 -2
  131. data/lib/rails_admin/config/fields/types/froala.rb +2 -0
  132. data/lib/rails_admin/config/fields/types/has_and_belongs_to_many_association.rb +2 -0
  133. data/lib/rails_admin/config/fields/types/has_many_association.rb +7 -5
  134. data/lib/rails_admin/config/fields/types/has_one_association.rb +8 -14
  135. data/lib/rails_admin/config/fields/types/hidden.rb +2 -0
  136. data/lib/rails_admin/config/fields/types/inet.rb +2 -0
  137. data/lib/rails_admin/config/fields/types/integer.rb +4 -6
  138. data/lib/rails_admin/config/fields/types/json.rb +2 -0
  139. data/lib/rails_admin/config/fields/types/multiple_active_storage.rb +18 -2
  140. data/lib/rails_admin/config/fields/types/multiple_carrierwave.rb +3 -0
  141. data/lib/rails_admin/config/fields/types/multiple_file_upload.rb +8 -4
  142. data/lib/rails_admin/config/fields/types/numeric.rb +20 -0
  143. data/lib/rails_admin/config/fields/types/paperclip.rb +2 -0
  144. data/lib/rails_admin/config/fields/types/password.rb +2 -0
  145. data/lib/rails_admin/config/fields/types/polymorphic_association.rb +5 -2
  146. data/lib/rails_admin/config/fields/types/serialized.rb +2 -0
  147. data/lib/rails_admin/config/fields/types/shrine.rb +15 -11
  148. data/lib/rails_admin/config/fields/types/simple_mde.rb +2 -0
  149. data/lib/rails_admin/config/fields/types/string.rb +3 -1
  150. data/lib/rails_admin/config/fields/types/string_like.rb +2 -0
  151. data/lib/rails_admin/config/fields/types/text.rb +2 -0
  152. data/lib/rails_admin/config/fields/types/time.rb +12 -4
  153. data/lib/rails_admin/config/fields/types/timestamp.rb +2 -4
  154. data/lib/rails_admin/config/fields/types/uuid.rb +2 -0
  155. data/lib/rails_admin/config/fields/types/wysihtml5.rb +2 -0
  156. data/lib/rails_admin/config/fields/types.rb +3 -1
  157. data/lib/rails_admin/config/fields.rb +6 -2
  158. data/lib/rails_admin/config/groupable.rb +2 -0
  159. data/lib/rails_admin/config/has_description.rb +2 -0
  160. data/lib/rails_admin/config/has_fields.rb +12 -7
  161. data/lib/rails_admin/config/has_groups.rb +2 -0
  162. data/lib/rails_admin/config/hideable.rb +3 -1
  163. data/lib/rails_admin/config/inspectable.rb +3 -3
  164. data/lib/rails_admin/config/model.rb +20 -10
  165. data/lib/rails_admin/config/proxyable/proxy.rb +2 -0
  166. data/lib/rails_admin/config/proxyable.rb +2 -0
  167. data/lib/rails_admin/config/sections/base.rb +4 -3
  168. data/lib/rails_admin/config/sections/create.rb +2 -0
  169. data/lib/rails_admin/config/sections/edit.rb +2 -0
  170. data/lib/rails_admin/config/sections/export.rb +2 -0
  171. data/lib/rails_admin/config/sections/list.rb +10 -19
  172. data/lib/rails_admin/config/sections/modal.rb +2 -0
  173. data/lib/rails_admin/config/sections/nested.rb +2 -0
  174. data/lib/rails_admin/config/sections/show.rb +2 -0
  175. data/lib/rails_admin/config/sections/update.rb +2 -0
  176. data/lib/rails_admin/config/sections.rb +3 -1
  177. data/lib/rails_admin/config.rb +93 -42
  178. data/lib/rails_admin/engine.rb +52 -32
  179. data/lib/rails_admin/extension.rb +8 -14
  180. data/lib/rails_admin/extensions/cancancan/authorization_adapter.rb +6 -2
  181. data/lib/rails_admin/extensions/cancancan.rb +2 -0
  182. data/lib/rails_admin/extensions/controller_extension.rb +2 -0
  183. data/lib/rails_admin/extensions/paper_trail/auditing_adapter.rb +17 -10
  184. data/lib/rails_admin/extensions/paper_trail.rb +2 -0
  185. data/lib/rails_admin/extensions/pundit/authorization_adapter.rb +8 -7
  186. data/lib/rails_admin/extensions/pundit.rb +2 -0
  187. data/lib/rails_admin/support/csv_converter.rb +14 -14
  188. data/lib/rails_admin/support/datetime.rb +50 -85
  189. data/lib/rails_admin/support/esmodule_preprocessor.rb +37 -0
  190. data/lib/rails_admin/support/hash_helper.rb +8 -5
  191. data/lib/rails_admin/version.rb +43 -4
  192. data/lib/rails_admin.rb +4 -5
  193. data/lib/tasks/rails_admin.rake +19 -8
  194. data/package.json +30 -0
  195. data/src/rails_admin/base.js +30 -0
  196. data/src/rails_admin/filter-box.js +404 -0
  197. data/src/rails_admin/filtering-multiselect.js +389 -0
  198. data/src/rails_admin/filtering-select.js +299 -0
  199. data/src/rails_admin/i18n.js +16 -0
  200. data/src/rails_admin/nested-form-hooks.js +108 -0
  201. data/src/rails_admin/remote-form.js +192 -0
  202. data/src/rails_admin/sidescroll.js +20 -0
  203. data/{app/assets/stylesheets/rails_admin → src/rails_admin/styles}/base/theming.scss +135 -141
  204. data/src/rails_admin/styles/base/variables.scss +3 -0
  205. data/src/rails_admin/styles/base.scss +27 -0
  206. data/src/rails_admin/styles/filtering-multiselect.scss +53 -0
  207. data/src/rails_admin/styles/filtering-select.scss +70 -0
  208. data/src/rails_admin/styles/widgets.scss +26 -0
  209. data/src/rails_admin/ui.js +143 -0
  210. data/src/rails_admin/vendor/jquery_nested_form.js +122 -0
  211. data/src/rails_admin/widgets.js +502 -0
  212. data/vendor/assets/fonts/rails_admin/fa-solid-900.eot +0 -0
  213. data/vendor/assets/fonts/rails_admin/fa-solid-900.svg +5034 -0
  214. data/vendor/assets/fonts/rails_admin/fa-solid-900.ttf +0 -0
  215. data/vendor/assets/fonts/rails_admin/fa-solid-900.woff +0 -0
  216. data/vendor/assets/fonts/rails_admin/fa-solid-900.woff2 +0 -0
  217. data/vendor/assets/javascripts/rails_admin/bootstrap.js +5046 -0
  218. data/vendor/assets/javascripts/rails_admin/flatpickr-with-locales.js +11246 -0
  219. data/vendor/assets/javascripts/rails_admin/jquery-ui/data.js +41 -0
  220. data/vendor/assets/javascripts/rails_admin/jquery-ui/effect.js +1637 -0
  221. data/vendor/assets/javascripts/rails_admin/jquery-ui/ie.js +17 -0
  222. data/vendor/assets/javascripts/rails_admin/jquery-ui/keycode.js +47 -0
  223. data/vendor/assets/javascripts/rails_admin/jquery-ui/position.js +500 -0
  224. data/vendor/assets/javascripts/rails_admin/jquery-ui/safe-active-element.js +42 -0
  225. data/vendor/assets/javascripts/rails_admin/jquery-ui/scroll-parent.js +47 -0
  226. data/vendor/assets/javascripts/rails_admin/jquery-ui/unique-id.js +51 -0
  227. data/vendor/assets/javascripts/rails_admin/jquery-ui/version.js +17 -0
  228. data/vendor/assets/javascripts/rails_admin/jquery-ui/widget.js +735 -0
  229. data/vendor/assets/javascripts/rails_admin/jquery-ui/widgets/autocomplete.js +689 -0
  230. data/vendor/assets/javascripts/rails_admin/jquery-ui/widgets/menu.js +680 -0
  231. data/vendor/assets/javascripts/rails_admin/jquery-ui/widgets/mouse.js +230 -0
  232. data/vendor/assets/javascripts/rails_admin/jquery-ui/widgets/sortable.js +1561 -0
  233. data/vendor/assets/javascripts/rails_admin/jquery3.js +10881 -0
  234. data/vendor/assets/javascripts/rails_admin/popper.js +1974 -0
  235. data/vendor/assets/stylesheets/rails_admin/bootstrap/_accordion.scss +118 -0
  236. data/vendor/assets/stylesheets/rails_admin/bootstrap/_alert.scss +57 -0
  237. data/vendor/assets/stylesheets/rails_admin/bootstrap/_badge.scss +29 -0
  238. data/vendor/assets/stylesheets/rails_admin/bootstrap/_breadcrumb.scss +28 -0
  239. data/vendor/assets/stylesheets/rails_admin/bootstrap/_button-group.scss +139 -0
  240. data/vendor/assets/stylesheets/rails_admin/bootstrap/_buttons.scss +64 -110
  241. data/vendor/assets/stylesheets/rails_admin/bootstrap/_card.scss +216 -0
  242. data/vendor/assets/stylesheets/rails_admin/bootstrap/_carousel.scss +162 -176
  243. data/vendor/assets/stylesheets/rails_admin/bootstrap/_close.scss +31 -26
  244. data/vendor/assets/stylesheets/rails_admin/bootstrap/_containers.scss +41 -0
  245. data/vendor/assets/stylesheets/rails_admin/bootstrap/_dropdown.scss +240 -0
  246. data/vendor/assets/stylesheets/rails_admin/bootstrap/_forms.scss +9 -538
  247. data/vendor/assets/stylesheets/rails_admin/bootstrap/_functions.scss +302 -0
  248. data/vendor/assets/stylesheets/rails_admin/bootstrap/_grid.scss +18 -69
  249. data/vendor/assets/stylesheets/rails_admin/bootstrap/_helpers.scss +9 -0
  250. data/vendor/assets/stylesheets/rails_admin/bootstrap/_images.scss +42 -0
  251. data/vendor/assets/stylesheets/rails_admin/bootstrap/_list-group.scss +127 -84
  252. data/vendor/assets/stylesheets/rails_admin/bootstrap/_mixins.scss +26 -22
  253. data/vendor/assets/stylesheets/rails_admin/bootstrap/_modal.scss +209 -0
  254. data/vendor/assets/stylesheets/rails_admin/bootstrap/_nav.scss +139 -0
  255. data/vendor/assets/stylesheets/rails_admin/bootstrap/_navbar.scss +218 -542
  256. data/vendor/assets/stylesheets/rails_admin/bootstrap/_offcanvas.scss +83 -0
  257. data/vendor/assets/stylesheets/rails_admin/bootstrap/_pagination.scss +46 -70
  258. data/vendor/assets/stylesheets/rails_admin/bootstrap/_placeholders.scss +51 -0
  259. data/vendor/assets/stylesheets/rails_admin/bootstrap/_popover.scss +158 -0
  260. data/vendor/assets/stylesheets/rails_admin/bootstrap/_progress.scss +48 -0
  261. data/vendor/assets/stylesheets/rails_admin/bootstrap/_reboot.scss +625 -0
  262. data/vendor/assets/stylesheets/rails_admin/bootstrap/_root.scss +54 -0
  263. data/vendor/assets/stylesheets/rails_admin/bootstrap/_spinners.scss +69 -0
  264. data/vendor/assets/stylesheets/rails_admin/bootstrap/_tables.scss +100 -178
  265. data/vendor/assets/stylesheets/rails_admin/bootstrap/_toasts.scss +51 -0
  266. data/vendor/assets/stylesheets/rails_admin/bootstrap/_tooltip.scss +97 -77
  267. data/vendor/assets/stylesheets/rails_admin/bootstrap/_transitions.scss +27 -0
  268. data/vendor/assets/stylesheets/rails_admin/bootstrap/_type.scss +54 -254
  269. data/vendor/assets/stylesheets/rails_admin/bootstrap/_utilities.scss +628 -55
  270. data/vendor/assets/stylesheets/rails_admin/bootstrap/_variables.scss +1572 -781
  271. data/vendor/assets/stylesheets/rails_admin/bootstrap/bootstrap.scss +38 -35
  272. data/vendor/assets/stylesheets/rails_admin/bootstrap/forms/_floating-labels.scss +63 -0
  273. data/vendor/assets/stylesheets/rails_admin/bootstrap/forms/_form-check.scss +152 -0
  274. data/vendor/assets/stylesheets/rails_admin/bootstrap/forms/_form-control.scss +219 -0
  275. data/vendor/assets/stylesheets/rails_admin/bootstrap/forms/_form-range.scss +91 -0
  276. data/vendor/assets/stylesheets/rails_admin/bootstrap/forms/_form-select.scss +72 -0
  277. data/vendor/assets/stylesheets/rails_admin/bootstrap/forms/_form-text.scss +11 -0
  278. data/vendor/assets/stylesheets/rails_admin/bootstrap/forms/_input-group.scss +121 -0
  279. data/vendor/assets/stylesheets/rails_admin/bootstrap/forms/_labels.scss +36 -0
  280. data/vendor/assets/stylesheets/rails_admin/bootstrap/forms/_validation.scss +12 -0
  281. data/vendor/assets/stylesheets/rails_admin/bootstrap/helpers/_clearfix.scss +3 -0
  282. data/vendor/assets/stylesheets/rails_admin/bootstrap/helpers/_colored-links.scss +12 -0
  283. data/vendor/assets/stylesheets/rails_admin/bootstrap/helpers/_position.scss +30 -0
  284. data/vendor/assets/stylesheets/rails_admin/bootstrap/helpers/_ratio.scss +26 -0
  285. data/vendor/assets/stylesheets/rails_admin/bootstrap/helpers/_stacks.scss +15 -0
  286. data/vendor/assets/stylesheets/rails_admin/bootstrap/helpers/_stretched-link.scss +15 -0
  287. data/vendor/assets/stylesheets/rails_admin/bootstrap/helpers/_text-truncation.scss +7 -0
  288. data/vendor/assets/stylesheets/rails_admin/bootstrap/helpers/_visually-hidden.scss +8 -0
  289. data/vendor/assets/stylesheets/rails_admin/bootstrap/helpers/_vr.scss +8 -0
  290. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_alert.scss +11 -0
  291. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_backdrop.scss +14 -0
  292. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_border-radius.scss +72 -12
  293. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_box-shadow.scss +18 -0
  294. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_breakpoints.scss +127 -0
  295. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_buttons.scss +113 -30
  296. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_caret.scss +64 -0
  297. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_clearfix.scss +5 -18
  298. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_color-scheme.scss +7 -0
  299. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_container.scss +9 -0
  300. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_deprecate.scss +10 -0
  301. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_forms.scss +130 -70
  302. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_gradients.scss +27 -38
  303. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_grid.scss +127 -98
  304. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_image.scss +6 -24
  305. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_list-group.scss +13 -20
  306. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_lists.scss +7 -0
  307. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_pagination.scss +24 -16
  308. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_reset-text.scss +17 -0
  309. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_resize.scss +1 -1
  310. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_table-variants.scss +21 -0
  311. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/{_text-overflow.scss → _text-truncate.scss} +2 -2
  312. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_transition.scss +26 -0
  313. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_utilities.scss +89 -0
  314. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_visually-hidden.scss +29 -0
  315. data/vendor/assets/stylesheets/rails_admin/bootstrap/utilities/_api.scss +47 -0
  316. data/vendor/assets/stylesheets/rails_admin/bootstrap/vendor/_rfs.scss +354 -0
  317. data/vendor/assets/stylesheets/rails_admin/flatpickr.css +791 -0
  318. data/vendor/assets/stylesheets/rails_admin/font-awesome.scss +4476 -2216
  319. metadata +185 -331
  320. data/app/assets/images/rails_admin/aristo/images/bg_fallback.png +0 -0
  321. data/app/assets/images/rails_admin/aristo/images/icon_sprite.png +0 -0
  322. data/app/assets/images/rails_admin/aristo/images/progress_bar.gif +0 -0
  323. data/app/assets/images/rails_admin/aristo/images/slider_handles.png +0 -0
  324. data/app/assets/images/rails_admin/aristo/images/ui-icons_222222_256x240.png +0 -0
  325. data/app/assets/images/rails_admin/aristo/images/ui-icons_454545_256x240.png +0 -0
  326. data/app/assets/images/rails_admin/bullet_black.png +0 -0
  327. data/app/assets/images/rails_admin/bullet_white.png +0 -0
  328. data/app/assets/images/rails_admin/calendar.png +0 -0
  329. data/app/assets/images/rails_admin/clock.png +0 -0
  330. data/app/assets/images/rails_admin/logo.png +0 -0
  331. data/app/assets/images/rails_admin/magnifier.png +0 -0
  332. data/app/assets/images/rails_admin/multiselect/icon_sprite.png +0 -0
  333. data/app/assets/images/rails_admin/multiselect/ui-icon-circle-triangle-n-dark.png +0 -0
  334. data/app/assets/images/rails_admin/multiselect/ui-icon-circle-triangle-n-light.png +0 -0
  335. data/app/assets/images/rails_admin/multiselect/ui-icon-circle-triangle-s-dark.png +0 -0
  336. data/app/assets/images/rails_admin/multiselect/ui-icon-circle-triangle-s-light.png +0 -0
  337. data/app/assets/javascripts/rails_admin/jquery-ui.js.erb +0 -8
  338. data/app/assets/javascripts/rails_admin/ra.filter-box.js +0 -226
  339. data/app/assets/javascripts/rails_admin/ra.filtering-multiselect.js +0 -331
  340. data/app/assets/javascripts/rails_admin/ra.filtering-select.js +0 -294
  341. data/app/assets/javascripts/rails_admin/ra.i18n.js +0 -28
  342. data/app/assets/javascripts/rails_admin/ra.nested-form-hooks.js +0 -59
  343. data/app/assets/javascripts/rails_admin/ra.remote-form.js +0 -155
  344. data/app/assets/javascripts/rails_admin/ra.sidescroll.js +0 -31
  345. data/app/assets/javascripts/rails_admin/ra.widgets.js +0 -379
  346. data/app/assets/javascripts/rails_admin/rails_admin.js +0 -20
  347. data/app/assets/javascripts/rails_admin/ui.js +0 -135
  348. data/app/assets/stylesheets/rails_admin/aristo/images/bg_fallback.png +0 -0
  349. data/app/assets/stylesheets/rails_admin/aristo/images/icon_sprite.png +0 -0
  350. data/app/assets/stylesheets/rails_admin/aristo/images/progress_bar.gif +0 -0
  351. data/app/assets/stylesheets/rails_admin/aristo/images/slider_handles.png +0 -0
  352. data/app/assets/stylesheets/rails_admin/aristo/images/ui-icons_222222_256x240.png +0 -0
  353. data/app/assets/stylesheets/rails_admin/aristo/images/ui-icons_454545_256x240.png +0 -0
  354. data/app/assets/stylesheets/rails_admin/aristo/jquery-ui-1.8.7.custom.scss +0 -733
  355. data/app/assets/stylesheets/rails_admin/base/font-awesome-4-compability.scss +0 -153
  356. data/app/assets/stylesheets/rails_admin/base/variables.scss +0 -1
  357. data/app/assets/stylesheets/rails_admin/ra.filtering-multiselect.scss +0 -88
  358. data/app/assets/stylesheets/rails_admin/ra.sidescroll.scss +0 -29
  359. data/app/assets/stylesheets/rails_admin/ra.widgets.scss +0 -17
  360. data/app/assets/stylesheets/rails_admin/rails_admin.scss.erb +0 -110
  361. data/app/assets/stylesheets/rails_admin/themes/cerulean/mixins.scss +0 -0
  362. data/app/assets/stylesheets/rails_admin/themes/cerulean/theming.scss +0 -133
  363. data/app/assets/stylesheets/rails_admin/themes/cerulean/variables.scss +0 -857
  364. data/app/assets/stylesheets/rails_admin/themes/default/mixins.scss +0 -8
  365. data/app/assets/stylesheets/rails_admin/themes/default/theming.scss +0 -11
  366. data/app/assets/stylesheets/rails_admin/themes/default/variables.scss +0 -12
  367. data/app/views/kaminari/ra-twitter-bootstrap/_gap.html.haml +0 -2
  368. data/app/views/kaminari/ra-twitter-bootstrap/_next_page.html.haml +0 -4
  369. data/app/views/kaminari/ra-twitter-bootstrap/_page.html.haml +0 -4
  370. data/app/views/kaminari/ra-twitter-bootstrap/_paginator.html.haml +0 -9
  371. data/app/views/kaminari/ra-twitter-bootstrap/_prev_page.html.haml +0 -4
  372. data/app/views/kaminari/ra-twitter-bootstrap/without_count/_next_page.html.haml +0 -4
  373. data/app/views/kaminari/ra-twitter-bootstrap/without_count/_paginator.html.haml +0 -4
  374. data/app/views/kaminari/ra-twitter-bootstrap/without_count/_prev_page.html.haml +0 -4
  375. data/app/views/layouts/rails_admin/_head.html.haml +0 -7
  376. data/app/views/layouts/rails_admin/_navigation.html.haml +0 -12
  377. data/app/views/layouts/rails_admin/_secondary_navigation.html.haml +0 -10
  378. data/app/views/layouts/rails_admin/_sidebar_navigation.html.haml +0 -3
  379. data/app/views/layouts/rails_admin/application.html.haml +0 -16
  380. data/app/views/layouts/rails_admin/pjax.html.haml +0 -12
  381. data/app/views/rails_admin/main/_dashboard_history.html.haml +0 -21
  382. data/app/views/rails_admin/main/_delete_notice.html.haml +0 -24
  383. data/app/views/rails_admin/main/_form_action_text.html.haml +0 -7
  384. data/app/views/rails_admin/main/_form_boolean.html.haml +0 -3
  385. data/app/views/rails_admin/main/_form_code_mirror.html.haml +0 -9
  386. data/app/views/rails_admin/main/_form_colorpicker.html.haml +0 -1
  387. data/app/views/rails_admin/main/_form_datetime.html.haml +0 -5
  388. data/app/views/rails_admin/main/_form_enumeration.html.haml +0 -18
  389. data/app/views/rails_admin/main/_form_field.html.haml +0 -1
  390. data/app/views/rails_admin/main/_form_file_upload.html.haml +0 -17
  391. data/app/views/rails_admin/main/_form_filtering_multiselect.html.haml +0 -48
  392. data/app/views/rails_admin/main/_form_filtering_select.html.haml +0 -37
  393. data/app/views/rails_admin/main/_form_froala.html.haml +0 -8
  394. data/app/views/rails_admin/main/_form_multiple_file_upload.html.haml +0 -16
  395. data/app/views/rails_admin/main/_form_nested_many.html.haml +0 -15
  396. data/app/views/rails_admin/main/_form_nested_one.html.haml +0 -17
  397. data/app/views/rails_admin/main/_form_polymorphic_association.html.haml +0 -26
  398. data/app/views/rails_admin/main/_form_simple_mde.haml +0 -8
  399. data/app/views/rails_admin/main/_form_text.html.haml +0 -1
  400. data/app/views/rails_admin/main/_form_wysihtml5.html.haml +0 -8
  401. data/app/views/rails_admin/main/_submit_buttons.html.haml +0 -16
  402. data/app/views/rails_admin/main/bulk_delete.html.haml +0 -11
  403. data/app/views/rails_admin/main/dashboard.html.haml +0 -34
  404. data/app/views/rails_admin/main/delete.html.haml +0 -18
  405. data/app/views/rails_admin/main/edit.html.haml +0 -2
  406. data/app/views/rails_admin/main/export.html.haml +0 -92
  407. data/app/views/rails_admin/main/history.html.haml +0 -51
  408. data/app/views/rails_admin/main/index.html.haml +0 -126
  409. data/app/views/rails_admin/main/new.html.haml +0 -2
  410. data/app/views/rails_admin/main/show.html.haml +0 -15
  411. data/config/initializers/devise_patch.rb +0 -9
  412. data/config/initializers/haml.rb +0 -5
  413. data/lib/rails_admin/adapters/active_record/abstract_object.rb +0 -32
  414. data/lib/rails_admin/adapters/mongoid/abstract_object.rb +0 -42
  415. data/lib/rails_admin/bootstrap-sass/compass_functions.rb +0 -28
  416. data/lib/rails_admin/bootstrap-sass/sass_functions.rb +0 -16
  417. data/lib/rails_admin/bootstrap-sass.rb +0 -49
  418. data/lib/rails_admin/config/lazy_model.rb +0 -68
  419. data/lib/rails_admin/extensions/history/auditing_adapter.rb +0 -37
  420. data/lib/rails_admin/extensions/history/history.rb +0 -44
  421. data/lib/rails_admin/extensions/history.rb +0 -3
  422. data/lib/rails_admin/support/i18n.rb +0 -43
  423. data/vendor/assets/fonts/rails_admin/FontAwesome.otf +0 -0
  424. data/vendor/assets/fonts/rails_admin/fontawesome-webfont.eot +0 -0
  425. data/vendor/assets/fonts/rails_admin/fontawesome-webfont.svg +0 -2671
  426. data/vendor/assets/fonts/rails_admin/fontawesome-webfont.ttf +0 -0
  427. data/vendor/assets/fonts/rails_admin/fontawesome-webfont.woff +0 -0
  428. data/vendor/assets/fonts/rails_admin/fontawesome-webfont.woff2 +0 -0
  429. data/vendor/assets/images/rails_admin/colorpicker/colorpicker_background.png +0 -0
  430. data/vendor/assets/images/rails_admin/colorpicker/colorpicker_hex.png +0 -0
  431. data/vendor/assets/images/rails_admin/colorpicker/colorpicker_hsb_b.png +0 -0
  432. data/vendor/assets/images/rails_admin/colorpicker/colorpicker_hsb_h.png +0 -0
  433. data/vendor/assets/images/rails_admin/colorpicker/colorpicker_hsb_s.png +0 -0
  434. data/vendor/assets/images/rails_admin/colorpicker/colorpicker_indic.gif +0 -0
  435. data/vendor/assets/images/rails_admin/colorpicker/colorpicker_overlay.png +0 -0
  436. data/vendor/assets/images/rails_admin/colorpicker/colorpicker_rgb_b.png +0 -0
  437. data/vendor/assets/images/rails_admin/colorpicker/colorpicker_rgb_g.png +0 -0
  438. data/vendor/assets/images/rails_admin/colorpicker/colorpicker_rgb_r.png +0 -0
  439. data/vendor/assets/images/rails_admin/colorpicker/colorpicker_select.gif +0 -0
  440. data/vendor/assets/images/rails_admin/colorpicker/colorpicker_submit.png +0 -0
  441. data/vendor/assets/images/rails_admin/colorpicker/custom_background.png +0 -0
  442. data/vendor/assets/images/rails_admin/colorpicker/custom_hex.png +0 -0
  443. data/vendor/assets/images/rails_admin/colorpicker/custom_hsb_b.png +0 -0
  444. data/vendor/assets/images/rails_admin/colorpicker/custom_hsb_h.png +0 -0
  445. data/vendor/assets/images/rails_admin/colorpicker/custom_hsb_s.png +0 -0
  446. data/vendor/assets/images/rails_admin/colorpicker/custom_indic.gif +0 -0
  447. data/vendor/assets/images/rails_admin/colorpicker/custom_rgb_b.png +0 -0
  448. data/vendor/assets/images/rails_admin/colorpicker/custom_rgb_g.png +0 -0
  449. data/vendor/assets/images/rails_admin/colorpicker/custom_rgb_r.png +0 -0
  450. data/vendor/assets/images/rails_admin/colorpicker/custom_submit.png +0 -0
  451. data/vendor/assets/images/rails_admin/colorpicker/select.png +0 -0
  452. data/vendor/assets/images/rails_admin/colorpicker/select2.png +0 -0
  453. data/vendor/assets/images/rails_admin/colorpicker/slider.png +0 -0
  454. data/vendor/assets/javascripts/rails_admin/bootstrap/bootstrap-affix.js +0 -142
  455. data/vendor/assets/javascripts/rails_admin/bootstrap/bootstrap-alert.js +0 -92
  456. data/vendor/assets/javascripts/rails_admin/bootstrap/bootstrap-button.js +0 -110
  457. data/vendor/assets/javascripts/rails_admin/bootstrap/bootstrap-carousel.js +0 -223
  458. data/vendor/assets/javascripts/rails_admin/bootstrap/bootstrap-collapse.js +0 -170
  459. data/vendor/assets/javascripts/rails_admin/bootstrap/bootstrap-dropdown.js +0 -151
  460. data/vendor/assets/javascripts/rails_admin/bootstrap/bootstrap-modal.js +0 -280
  461. data/vendor/assets/javascripts/rails_admin/bootstrap/bootstrap-popover.js +0 -113
  462. data/vendor/assets/javascripts/rails_admin/bootstrap/bootstrap-scrollspy.js +0 -170
  463. data/vendor/assets/javascripts/rails_admin/bootstrap/bootstrap-tab.js +0 -128
  464. data/vendor/assets/javascripts/rails_admin/bootstrap/bootstrap-tooltip.js +0 -457
  465. data/vendor/assets/javascripts/rails_admin/bootstrap/bootstrap-transition.js +0 -59
  466. data/vendor/assets/javascripts/rails_admin/bootstrap/bootstrap-typeahead.js +0 -1782
  467. data/vendor/assets/javascripts/rails_admin/bootstrap/bootstrap.js +0 -13
  468. data/vendor/assets/javascripts/rails_admin/bootstrap-datetimepicker.js +0 -2444
  469. data/vendor/assets/javascripts/rails_admin/jquery.colorpicker.js +0 -484
  470. data/vendor/assets/javascripts/rails_admin/jquery.pjax.js +0 -741
  471. data/vendor/assets/javascripts/rails_admin/moment-with-locales.js +0 -16165
  472. data/vendor/assets/stylesheets/rails_admin/_bootstrap-datetimepicker.scss +0 -343
  473. data/vendor/assets/stylesheets/rails_admin/bootstrap/_alerts.scss +0 -68
  474. data/vendor/assets/stylesheets/rails_admin/bootstrap/_badges.scss +0 -57
  475. data/vendor/assets/stylesheets/rails_admin/bootstrap/_breadcrumbs.scss +0 -26
  476. data/vendor/assets/stylesheets/rails_admin/bootstrap/_button-groups.scss +0 -240
  477. data/vendor/assets/stylesheets/rails_admin/bootstrap/_code.scss +0 -68
  478. data/vendor/assets/stylesheets/rails_admin/bootstrap/_component-animations.scss +0 -35
  479. data/vendor/assets/stylesheets/rails_admin/bootstrap/_dropdowns.scss +0 -215
  480. data/vendor/assets/stylesheets/rails_admin/bootstrap/_glyphicons.scss +0 -237
  481. data/vendor/assets/stylesheets/rails_admin/bootstrap/_input-groups.scss +0 -166
  482. data/vendor/assets/stylesheets/rails_admin/bootstrap/_jumbotron.scss +0 -48
  483. data/vendor/assets/stylesheets/rails_admin/bootstrap/_labels.scss +0 -66
  484. data/vendor/assets/stylesheets/rails_admin/bootstrap/_media.scss +0 -56
  485. data/vendor/assets/stylesheets/rails_admin/bootstrap/_modals.scss +0 -150
  486. data/vendor/assets/stylesheets/rails_admin/bootstrap/_navs.scss +0 -242
  487. data/vendor/assets/stylesheets/rails_admin/bootstrap/_normalize.scss +0 -425
  488. data/vendor/assets/stylesheets/rails_admin/bootstrap/_pager.scss +0 -55
  489. data/vendor/assets/stylesheets/rails_admin/bootstrap/_panels.scss +0 -243
  490. data/vendor/assets/stylesheets/rails_admin/bootstrap/_popovers.scss +0 -133
  491. data/vendor/assets/stylesheets/rails_admin/bootstrap/_print.scss +0 -101
  492. data/vendor/assets/stylesheets/rails_admin/bootstrap/_progress-bars.scss +0 -105
  493. data/vendor/assets/stylesheets/rails_admin/bootstrap/_responsive-embed.scss +0 -34
  494. data/vendor/assets/stylesheets/rails_admin/bootstrap/_responsive-utilities.scss +0 -174
  495. data/vendor/assets/stylesheets/rails_admin/bootstrap/_scaffolding.scss +0 -150
  496. data/vendor/assets/stylesheets/rails_admin/bootstrap/_theme.scss +0 -258
  497. data/vendor/assets/stylesheets/rails_admin/bootstrap/_thumbnails.scss +0 -38
  498. data/vendor/assets/stylesheets/rails_admin/bootstrap/_wells.scss +0 -29
  499. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_alerts.scss +0 -14
  500. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_background-variant.scss +0 -11
  501. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_center-block.scss +0 -7
  502. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_grid-framework.scss +0 -81
  503. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_hide-text.scss +0 -21
  504. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_labels.scss +0 -12
  505. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_nav-divider.scss +0 -10
  506. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_nav-vertical-align.scss +0 -9
  507. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_opacity.scss +0 -8
  508. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_panels.scss +0 -24
  509. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_progress-bar.scss +0 -10
  510. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_reset-filter.scss +0 -8
  511. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_responsive-visibility.scss +0 -21
  512. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_size.scss +0 -10
  513. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_tab-focus.scss +0 -9
  514. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_table-row.scss +0 -28
  515. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_text-emphasis.scss +0 -11
  516. data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_vendor-prefixes.scss +0 -219
  517. data/vendor/assets/stylesheets/rails_admin/bootstrap-datetimepicker-build.scss +0 -16
  518. data/vendor/assets/stylesheets/rails_admin/jquery.colorpicker.scss +0 -182
  519. /data/{app/assets/stylesheets/rails_admin → src/rails_admin/styles}/base/README.txt +0 -0
  520. /data/{app/assets/stylesheets/rails_admin → src/rails_admin/styles}/base/mixins.scss +0 -0
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'rails_admin/extensions/controller_extension'
2
4
 
3
5
  module RailsAdmin
@@ -15,27 +17,19 @@ module RailsAdmin
15
17
 
16
18
  EXTENSIONS << extension_key
17
19
 
18
- if options[:authorization]
19
- AUTHORIZATION_ADAPTERS[extension_key] = extension_definition::AuthorizationAdapter
20
- end
20
+ AUTHORIZATION_ADAPTERS[extension_key] = extension_definition::AuthorizationAdapter if options[:authorization]
21
21
 
22
- if options[:configuration]
23
- CONFIGURATION_ADAPTERS[extension_key] = extension_definition::ConfigurationAdapter
24
- end
22
+ CONFIGURATION_ADAPTERS[extension_key] = extension_definition::ConfigurationAdapter if options[:configuration]
25
23
 
26
- if options[:auditing]
27
- AUDITING_ADAPTERS[extension_key] = extension_definition::AuditingAdapter
28
- end
24
+ AUDITING_ADAPTERS[extension_key] = extension_definition::AuditingAdapter if options[:auditing]
29
25
  end
30
26
 
31
27
  # Setup all extensions for testing
32
28
  def self.setup_all_extensions
33
29
  (AUTHORIZATION_ADAPTERS.values + AUDITING_ADAPTERS.values).each do |klass|
34
- begin
35
- klass.setup if klass.respond_to? :setup
36
- rescue # rubocop:disable Lint/HandleExceptions, Style/RescueStandardError
37
- # ignore errors
38
- end
30
+ klass.setup if klass.respond_to? :setup
31
+ rescue # rubocop:disable Style/RescueStandardError
32
+ # ignore errors
39
33
  end
40
34
  end
41
35
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module RailsAdmin
2
4
  module Extensions
3
5
  module CanCanCan
@@ -26,6 +28,7 @@ module RailsAdmin
26
28
  # instance if it is available.
27
29
  def authorize(action, abstract_model = nil, model_object = nil)
28
30
  return unless action
31
+
29
32
  action, subject = resolve_action_and_subject(action, abstract_model, model_object)
30
33
  @controller.current_ability.authorize!(action, subject)
31
34
  end
@@ -36,6 +39,7 @@ module RailsAdmin
36
39
  # return a boolean whereas +authorize+ will raise an exception when not authorized.
37
40
  def authorized?(action, abstract_model = nil, model_object = nil)
38
41
  return unless action
42
+
39
43
  action, subject = resolve_action_and_subject(action, abstract_model, model_object)
40
44
  @controller.current_ability.can?(action, subject)
41
45
  end
@@ -51,13 +55,13 @@ module RailsAdmin
51
55
  # records. It should return a hash of attributes which match what the user
52
56
  # is authorized to create.
53
57
  def attributes_for(action, abstract_model)
54
- @controller.current_ability.attributes_for(action, abstract_model && abstract_model.model)
58
+ @controller.current_ability.attributes_for(action, abstract_model&.model)
55
59
  end
56
60
 
57
61
  private
58
62
 
59
63
  def resolve_action_and_subject(action, abstract_model, model_object)
60
- subject = model_object || abstract_model && abstract_model.model
64
+ subject = model_object || abstract_model&.model
61
65
  if subject
62
66
  [action, subject]
63
67
  else
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'rails_admin/extensions/cancancan/authorization_adapter'
2
4
 
3
5
  RailsAdmin.add_extension(:cancancan, RailsAdmin::Extensions::CanCanCan, authorization: true)
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module RailsAdmin
2
4
  module Extensions
3
5
  module ControllerExtension
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'active_support/core_ext/string/strip'
2
4
 
3
5
  module RailsAdmin
@@ -11,7 +13,7 @@ module RailsAdmin
11
13
 
12
14
  def message
13
15
  @message = @version.event
14
- @version.respond_to?(:changeset) && @version.changeset.present? ? @message + ' [' + @version.changeset.to_a.collect { |c| c[0] + ' = ' + c[1][1].to_s }.join(', ') + ']' : @message
16
+ @version.respond_to?(:changeset) && @version.changeset.present? ? @message + ' [' + @version.changeset.to_a.collect { |c| "#{c[0]} = #{c[1][1]}" }.join(', ') + ']' : @message
15
17
  end
16
18
 
17
19
  def created_at
@@ -23,7 +25,11 @@ module RailsAdmin
23
25
  end
24
26
 
25
27
  def username
26
- (@user_class.find(@version.whodunnit).try(:email) rescue nil) || @version.whodunnit
28
+ begin
29
+ @user_class.find(@version.whodunnit).try(:email)
30
+ rescue StandardError
31
+ nil
32
+ end || @version.whodunnit
27
33
  end
28
34
 
29
35
  def item
@@ -45,7 +51,7 @@ module RailsAdmin
45
51
  created_at: :created_at,
46
52
  message: :event,
47
53
  }.freeze
48
- E_VERSION_MODEL_NOT_SET = <<-EOS.strip_heredoc.freeze
54
+ E_VERSION_MODEL_NOT_SET = <<~ERROR
49
55
  Please set up PaperTrail's version model explicitly.
50
56
 
51
57
  config.audit_with :paper_trail, 'User', 'PaperTrail::Version'
@@ -54,16 +60,17 @@ module RailsAdmin
54
60
  (https://github.com/paper-trail-gem/paper_trail#6a-custom-version-classes)
55
61
  that configuration will take precedence over what you specify in
56
62
  `audit_with`.
57
- EOS
63
+ ERROR
58
64
 
59
65
  def self.setup
60
- raise('PaperTrail not found') unless defined?(::PaperTrail)
61
- RailsAdmin::Extensions::ControllerExtension.send(:include, ControllerExtension)
66
+ raise 'PaperTrail not found' unless defined?(::PaperTrail)
67
+
68
+ RailsAdmin::Extensions::ControllerExtension.include ControllerExtension
62
69
  end
63
70
 
64
71
  def initialize(controller, user_class = 'User', version_class = '::Version')
65
72
  @controller = controller
66
- @controller.send(:set_paper_trail_whodunnit) if @controller
73
+ @controller&.send(:set_paper_trail_whodunnit)
67
74
  begin
68
75
  @user_class = user_class.to_s.constantize
69
76
  rescue NameError
@@ -116,7 +123,7 @@ module RailsAdmin
116
123
 
117
124
  current_page = page.presence || '1'
118
125
 
119
- versions = object.nil? ? versions_for_model(model) : object.versions
126
+ versions = object.nil? ? versions_for_model(model) : object.public_send(model.model.versions_association_name)
120
127
  versions = versions.where('event LIKE ?', "%#{query}%") if query.present?
121
128
  versions = versions.order(sort_reverse == 'true' ? "#{sort} DESC" : sort)
122
129
  versions = all ? versions : versions.send(Kaminari.config.page_method_name, current_page).per(per_page)
@@ -149,10 +156,10 @@ module RailsAdmin
149
156
  # classes](https://github.com/paper-trail-gem/paper_trail#6a-custom-version-classes)
150
157
  #
151
158
  # ```ruby
152
- # has_paper_trail class_name: 'MyVersion'
159
+ # has_paper_trail versions: { class_name: 'MyVersion' }
153
160
  # ```
154
161
  def version_class_for(model)
155
- model.paper_trail_options[:class_name].try(:constantize) || @version_class
162
+ model.paper_trail_options.dig(:versions, :class_name).try(:constantize) || @version_class
156
163
  end
157
164
  end
158
165
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'rails_admin/extensions/paper_trail/auditing_adapter'
2
4
 
3
5
  RailsAdmin.add_extension(:paper_trail, RailsAdmin::Extensions::PaperTrail, auditing: true)
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module RailsAdmin
2
4
  module Extensions
3
5
  module Pundit
@@ -7,7 +9,7 @@ module RailsAdmin
7
9
  class AuthorizationAdapter
8
10
  # This method is called first time only and used for setup
9
11
  def self.setup
10
- RailsAdmin::Extensions::ControllerExtension.send(:include, ::Pundit)
12
+ RailsAdmin::Extensions::ControllerExtension.include defined?(::Pundit::Authorization) ? ::Pundit::Authorization : ::Pundit
11
13
  end
12
14
 
13
15
  # See the +authorize_with+ config method for where the initialization happens.
@@ -21,10 +23,9 @@ module RailsAdmin
21
23
  # AbstractModel instance that applies. The third argument is the actual model
22
24
  # instance if it is available.
23
25
  def authorize(action, abstract_model = nil, model_object = nil)
24
- record = model_object || abstract_model && abstract_model.model
25
- if action && !policy(record).send(action_for_pundit(action))
26
- raise ::Pundit::NotAuthorizedError.new("not allowed to #{action} this #{record}")
27
- end
26
+ record = model_object || abstract_model&.model
27
+ raise ::Pundit::NotAuthorizedError.new("not allowed to #{action} this #{record}") if action && !policy(record).send(action_for_pundit(action))
28
+
28
29
  @controller.instance_variable_set(:@_pundit_policy_authorized, true)
29
30
  end
30
31
 
@@ -33,7 +34,7 @@ module RailsAdmin
33
34
  # This takes the same arguments as +authorize+. The difference is that this will
34
35
  # return a boolean whereas +authorize+ will raise an exception when not authorized.
35
36
  def authorized?(action, abstract_model = nil, model_object = nil)
36
- record = model_object || abstract_model && abstract_model.model
37
+ record = model_object || abstract_model&.model
37
38
  policy(record).send(action_for_pundit(action)) if action
38
39
  end
39
40
 
@@ -50,7 +51,7 @@ module RailsAdmin
50
51
  # records. It should return a hash of attributes which match what the user
51
52
  # is authorized to create.
52
53
  def attributes_for(action, abstract_model)
53
- record = abstract_model && abstract_model.model
54
+ record = abstract_model&.model
54
55
  policy(record).try(:attributes_for, action) || {}
55
56
  end
56
57
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'rails_admin/extensions/pundit/authorization_adapter'
2
4
 
3
5
  RailsAdmin.add_extension(:pundit, RailsAdmin::Extensions::Pundit, authorization: true)
@@ -1,11 +1,14 @@
1
1
  # encoding: UTF-8
2
+ # frozen_string_literal: true
3
+
2
4
  require 'csv'
3
5
 
4
6
  module RailsAdmin
5
7
  class CSVConverter
6
- def initialize(objects = [], schema = {})
8
+ def initialize(objects = [], schema = nil)
7
9
  @fields = []
8
10
  @associations = []
11
+ schema ||= {}
9
12
 
10
13
  return self if (@objects = objects).blank?
11
14
 
@@ -13,12 +16,14 @@ module RailsAdmin
13
16
  @abstract_model = RailsAdmin::AbstractModel.new(@model)
14
17
  @model_config = @abstract_model.config
15
18
  @methods = [(schema[:only] || []) + (schema[:methods] || [])].flatten.compact
16
- @fields = @methods.collect { |m| export_fields_for(m).first }
19
+ @fields = @methods.collect { |m| export_field_for(m) }.compact
17
20
  @empty = ::I18n.t('admin.export.empty_value_for_associated_objects')
18
21
  schema_include = schema.delete(:include) || {}
19
22
 
20
23
  @associations = schema_include.each_with_object({}) do |(key, values), hash|
21
- association = association_for(key)
24
+ association = export_field_for(key)
25
+ next unless association&.association?
26
+
22
27
  model_config = association.associated_model_config
23
28
  abstract_model = model_config.abstract_model
24
29
  methods = [(values[:only] || []) + (values[:methods] || [])].flatten.compact
@@ -28,7 +33,7 @@ module RailsAdmin
28
33
  model: abstract_model.model,
29
34
  abstract_model: abstract_model,
30
35
  model_config: model_config,
31
- fields: methods.collect { |m| export_fields_for(m, model_config).first },
36
+ fields: methods.collect { |m| export_field_for(m, model_config) }.compact,
32
37
  }
33
38
  hash
34
39
  end
@@ -36,18 +41,17 @@ module RailsAdmin
36
41
 
37
42
  def to_csv(options = {})
38
43
  if CSV::VERSION == '3.0.2'
39
- raise <<-MSG.gsub(/^\s+/, '')
44
+ raise <<~MSG
40
45
  CSV library bundled with Ruby 2.6.0 has encoding issue, please upgrade Ruby to 2.6.1 or later.
41
46
  https://github.com/ruby/csv/issues/62
42
47
  MSG
43
48
  end
49
+
44
50
  options = HashWithIndifferentAccess.new(options)
45
51
  encoding_to = Encoding.find(options[:encoding_to]) if options[:encoding_to].present?
46
52
 
47
53
  csv_string = generate_csv_string(options)
48
- if encoding_to
49
- csv_string = csv_string.encode(encoding_to, invalid: :replace, undef: :replace, replace: '?')
50
- end
54
+ csv_string = csv_string.encode(encoding_to, invalid: :replace, undef: :replace, replace: '?') if encoding_to
51
55
 
52
56
  # Add a BOM for utf8 encodings, helps with utf8 auto-detect for some versions of Excel.
53
57
  # Don't add if utf8 but user don't want to touch input encoding:
@@ -61,12 +65,8 @@ module RailsAdmin
61
65
 
62
66
  private
63
67
 
64
- def association_for(key)
65
- export_fields_for(key).detect(&:association?)
66
- end
67
-
68
- def export_fields_for(method, model_config = @model_config)
69
- model_config.export.fields.select { |f| f.name == method }
68
+ def export_field_for(method, model_config = @model_config)
69
+ model_config.export.fields.detect { |f| f.name == method }
70
70
  end
71
71
 
72
72
  def generate_csv_string(options)
@@ -1,98 +1,63 @@
1
- require 'rails_admin/support/i18n'
1
+ # frozen_string_literal: true
2
2
 
3
3
  module RailsAdmin
4
4
  module Support
5
5
  class Datetime
6
- # Ruby format options as a key and momentjs format options as a value
7
- MOMENTJS_TRANSLATIONS = {
8
- '%a' => 'ddd', # The abbreviated weekday name ("Sun")
9
- '%A' => 'dddd', # The full weekday name ("Sunday")
10
- '%b' => 'MMM', # The abbreviated month name ("Jan")
11
- '%B' => 'MMMM', # The full month name ("January")
12
- '%d' => 'DD', # Day of the month (01..31)
13
- '%-d' => 'D', # Day of the month (1..31)
14
- '%D' => 'MM/DD/YY', # American date format mm/dd/yy
15
- '%e' => 'D', # Day of the month (1..31)
16
- '%F' => 'YY-MM-DD', # ISO 8601 date format
17
- '%H' => 'HH', # Hour of the day, 24-hour clock (00..23)
18
- '%I' => 'hh', # Hour of the day, 12-hour clock (01..12)
19
- '%m' => 'MM', # Month of the year (01..12)
20
- '%-m' => 'M', # Month of the year (1..12)
21
- '%M' => 'mm', # Minute of the hour (00..59)
22
- '%p' => 'A', # Meridian indicator ('AM' or 'PM')
23
- '%S' => 'ss', # Second of the minute (00..60)
24
- '%Y' => 'YYYY', # Year with century
25
- '%y' => 'YY', # Year without a century (00..99)
6
+ # Ruby format options as a key and flatpickr format options as a value
7
+ FLATPICKR_TRANSLATIONS = {
8
+ '%A' => 'l', # The full weekday name ("Sunday")
9
+ '%a' => 'D', # The abbreviated weekday name ("Sun")
10
+ '%B' => 'F', # The full month name ("January")
11
+ '%b' => 'M', # The abbreviated month name ("Jan")
12
+ '%D' => 'm/d/y', # American date format mm/dd/yy
13
+ '%d' => 'd', # Day of the month (01..31)
14
+ '%-d' => 'j', # Day of the month (1..31)
15
+ '%e' => 'j', # Day of the month (1..31)
16
+ '%F' => 'Y-m-d', # ISO 8601 date format
17
+ '%H' => 'H', # Hour of the day, 24-hour clock (00..23)
18
+ '%-H' => 'H', # Hour of the day, 24-hour clock (0..23)
19
+ '%h' => 'M', # Same as %b
20
+ '%I' => 'G', # Hour of the day, 12-hour clock (01..12)
21
+ '%-I' => 'h', # Hour of the day, 12-hour clock (1..12)
22
+ '%k' => 'H', # Hour of the day, 24-hour clock (0..23)
23
+ '%l' => 'h', # Hour of the day, 12-hour clock (1..12)
24
+ '%M' => 'i', # Minute of the hour (00..59)
25
+ '%-M' => 'i', # Minute of the hour (00..59)
26
+ '%m' => 'm', # Month of the year (01..12)
27
+ '%-m' => 'n', # Month of the year (1..12)
28
+ '%P' => 'K', # Meridian indicator ('am' or 'pm')
29
+ '%p' => 'K', # Meridian indicator ('AM' or 'PM')
30
+ '%R' => 'H:i', # 24-hour time (%H:%M)
31
+ '%r' => 'G:i:S K', # 12-hour time (%I:%M:%S %p)
32
+ '%S' => 'S', # Second of the minute (00..60)
33
+ '%-S' => 's', # Second of the minute (0..60)
34
+ '%s' => 'U', # Number of seconds since 1970-01-01 00:00:00 UTC.
35
+ '%T' => 'H:i:S', # 24-hour time (%H:%M:%S)
36
+ '%U' => 'W', # Week number of the year. The week starts with Sunday. (00..53)
37
+ '%w' => 'w', # Day of the week (Sunday is 0, 0..6)
38
+ '%X' => 'H:i:S', # Same as %T
39
+ '%x' => 'm/d/y', # Same as %D
40
+ '%Y' => 'Y', # Year with century
41
+ '%y' => 'y', # Year without a century (00..99)
42
+ '%%' => '%',
26
43
  }.freeze
27
44
 
28
45
  class << self
29
- include RailsAdmin::Support::I18n
30
-
31
- def delocalize(date_string, format)
32
- return date_string if ::I18n.locale.to_s == 'en'
33
- format.to_s.scan(/%[AaBbp]/) do |match|
46
+ def to_flatpickr_format(strftime_format)
47
+ strftime_format.gsub(/(?<!%)(?<![-0-9:])\w/, '\\\\\0').gsub(/%([-0-9:]?\w)/) do |match|
48
+ # Timezone can't be handled by frontend, the server's one is always used
34
49
  case match
35
- when '%A'
36
- english = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"]
37
- day_names.each_with_index { |d, i| date_string = date_string.gsub(/#{d}/, english[i]) }
38
- when '%a'
39
- english = ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"]
40
- abbr_day_names.each_with_index { |d, i| date_string = date_string.gsub(/#{d}/, english[i]) }
41
- when '%B'
42
- english = [nil, "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"][1..-1]
43
- month_names.each_with_index { |m, i| date_string = date_string.gsub(/#{m}/, english[i]) }
44
- when '%b'
45
- english = [nil, "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"][1..-1]
46
- abbr_month_names.each_with_index { |m, i| date_string = date_string.gsub(/#{m}/, english[i]) }
47
- when '%p'
48
- date_string = date_string.gsub(/#{::I18n.t('date.time.am', default: "am")}/, 'am')
49
- date_string = date_string.gsub(/#{::I18n.t('date.time.pm', default: "pm")}/, 'pm')
50
+ when '%Z', '%:z' # Time zone as hour and minute offset from UTC with a colon (e.g. +09:00)
51
+ Time.zone.formatted_offset
52
+ when '%z' # Time zone as hour and minute offset from UTC (e.g. +0900)
53
+ Time.zone.formatted_offset(false)
54
+ else
55
+ FLATPICKR_TRANSLATIONS[match] or raise <<~MSG
56
+ Unsupported strftime directive '#{match}' was found. Please consider explicitly setting flatpickr_format instance option for the field.
57
+ field(:name_of_field) { flatpickr_format '...' }
58
+ MSG
50
59
  end
51
60
  end
52
- date_string
53
- end
54
-
55
- def normalize(date_string, format)
56
- return unless date_string
57
- delocalize(date_string, format)
58
- parse_date_string(date_string)
59
- end
60
-
61
- # Parse normalized date strings using time zone
62
- def parse_date_string(date_string)
63
- ::Time.zone.parse(date_string)
64
- end
65
- end
66
-
67
- attr_reader :strftime_format
68
-
69
- def initialize(strftime_format)
70
- @strftime_format = strftime_format
71
- end
72
-
73
- # Ruby to javascript formatting options translator
74
- def to_momentjs
75
- strftime_format.gsub(/\w[^.(!?%)\W]{1,}/, '[\0]').gsub(/%(\w|\-\w)/) do |match|
76
- MOMENTJS_TRANSLATIONS[match]
77
- end
78
- end
79
-
80
- # Delocalize a l10n datetime strings
81
- def delocalize(value)
82
- self.class.delocalize(value, strftime_format)
83
- end
84
-
85
- def parse_string(value)
86
- return if value.blank?
87
- return value if %w(DateTime Date Time).include?(value.class.name)
88
- return if (delocalized_value = delocalize(value)).blank?
89
-
90
- begin
91
- # Adjust with the correct timezone and daylight savint time
92
- datetime_with_wrong_tz = ::DateTime.strptime(delocalized_value, strftime_format.gsub('%-d', '%d'))
93
- Time.zone.parse(datetime_with_wrong_tz.strftime('%Y-%m-%d %H:%M:%S'))
94
- rescue ArgumentError
95
- nil
96
61
  end
97
62
  end
98
63
  end
@@ -0,0 +1,37 @@
1
+ # frozen_string_literal: true
2
+
3
+ module RailsAdmin
4
+ class ESModulePreprocessor
5
+ def self.instance
6
+ @instance ||= new
7
+ end
8
+
9
+ def self.call(input)
10
+ instance.call(input)
11
+ end
12
+
13
+ def initialize; end
14
+
15
+ def call(input)
16
+ return unless RailsAdmin.config.asset_source == :sprockets
17
+
18
+ data = input[:data]
19
+
20
+ if input[:filename].start_with? RailsAdmin::Engine.root.join('src').to_s
21
+ data.gsub!(/^(import .+)$/) { "// #{Regexp.last_match(1)}" }
22
+ data.gsub!(/^(export +default +{)$/) do
23
+ case File.basename(input[:filename])
24
+ when 'i18n.js'
25
+ "/* #{Regexp.last_match(1)} */ window.I18n = {"
26
+ else
27
+ raise "Unable to preprocess file: #{input[:filename]}"
28
+ end
29
+ end
30
+ elsif input[:filename] =~ %r{turbo-rails.+/turbo\.js$}
31
+ data.gsub!(/^(export .+)$/) { "// #{Regexp.last_match(1)}" }
32
+ end
33
+
34
+ {data: data}
35
+ end
36
+ end
37
+ end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module RailsAdmin
2
4
  class HashHelper
3
5
  def self.symbolize(obj)
@@ -13,11 +15,12 @@ module RailsAdmin
13
15
  when Hash
14
16
  obj.each_with_object({}) do |(key, val), res|
15
17
  nkey = key.is_a?(String) ? key.to_sym : key
16
- nval = case val
17
- when Hash, Array then symbolize(val)
18
- when String then val.to_sym
19
- else val
20
- end
18
+ nval =
19
+ case val
20
+ when Hash, Array then symbolize(val)
21
+ when String then val.to_sym
22
+ else val
23
+ end
21
24
  res[nkey] = nval
22
25
  end
23
26
  else
@@ -1,15 +1,54 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module RailsAdmin
2
4
  class Version
3
- MAJOR = 2
4
- MINOR = 0
5
- PATCH = 2
6
- PRE = nil
5
+ MAJOR = 3
6
+ MINOR = 1
7
+ PATCH = 0
8
+ PRE = 'beta'
7
9
 
8
10
  class << self
9
11
  # @return [String]
10
12
  def to_s
11
13
  [MAJOR, MINOR, PATCH, PRE].compact.join('.')
12
14
  end
15
+
16
+ def js
17
+ JSON.parse(File.read("#{__dir__}/../../package.json"))['version']
18
+ end
19
+
20
+ def actual_js_version
21
+ case RailsAdmin.config.asset_source
22
+ when :webpacker, :webpack
23
+ js_version_from_node_modules
24
+ else
25
+ js
26
+ end
27
+ end
28
+
29
+ def warn_with_js_version
30
+ return unless Rails.env.development? || Rails.env.test?
31
+
32
+ case actual_js_version
33
+ when js
34
+ # Good
35
+ when nil
36
+ warn "[Warning] Failed to detect RailsAdmin npm package, did you run 'yarn install'?"
37
+ else
38
+ warn <<~MSG
39
+ [Warning] RailsAdmin npm package version inconsistency detected, expected #{js} but actually used is #{actual_js_version}.
40
+ This may cause partial or total malfunction of RailsAdmin frontend features.
41
+ MSG
42
+ end
43
+ end
44
+
45
+ private
46
+
47
+ def js_version_from_node_modules
48
+ JSON.parse(File.read(Rails.root.join('node_modules/rails_admin/package.json')))['version']
49
+ rescue StandardError
50
+ nil
51
+ end
13
52
  end
14
53
  end
15
54
  end
data/lib/rails_admin.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'rails_admin/engine'
2
4
  require 'rails_admin/abstract_model'
3
5
  require 'rails_admin/config'
@@ -5,7 +7,6 @@ require 'rails_admin/extension'
5
7
  require 'rails_admin/extensions/cancancan'
6
8
  require 'rails_admin/extensions/pundit'
7
9
  require 'rails_admin/extensions/paper_trail'
8
- require 'rails_admin/extensions/history'
9
10
  require 'rails_admin/support/csv_converter'
10
11
  require 'rails_admin/support/hash_helper'
11
12
  require 'yaml'
@@ -18,7 +19,7 @@ module RailsAdmin
18
19
  #
19
20
  # If only a block is passed it is stored to initializer stack to be evaluated
20
21
  # on first request in production mode and on each request in development. If
21
- # initialization has already occured (in other words RailsAdmin.setup has
22
+ # initialization has already occurred (in other words RailsAdmin.setup has
22
23
  # been called) the block will be added to stack and evaluated at once.
23
24
  #
24
25
  # Otherwise returns RailsAdmin::Config class.
@@ -28,7 +29,7 @@ module RailsAdmin
28
29
  if entity
29
30
  RailsAdmin::Config.model(entity, &block)
30
31
  elsif block_given?
31
- block.call(RailsAdmin::Config)
32
+ RailsAdmin::Config.apply(&block)
32
33
  else
33
34
  RailsAdmin::Config
34
35
  end
@@ -56,5 +57,3 @@ module RailsAdmin
56
57
  YAML.dump(object)
57
58
  end
58
59
  end
59
-
60
- require 'rails_admin/bootstrap-sass' unless defined? Bootstrap