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.
- checksums.yaml +4 -4
- data/Gemfile +14 -16
- data/README.md +42 -44
- data/Rakefile +15 -2
- data/app/assets/javascripts/rails_admin/application.js +21 -0
- data/app/assets/stylesheets/rails_admin/application.scss +31 -0
- data/app/assets/stylesheets/rails_admin/custom/mixins.scss +1 -1
- data/app/assets/stylesheets/rails_admin/custom/variables.scss +1 -1
- data/app/controllers/rails_admin/application_controller.rb +6 -3
- data/app/controllers/rails_admin/main_controller.rb +54 -50
- data/app/helpers/rails_admin/application_helper.rb +102 -60
- data/app/helpers/rails_admin/form_builder.rb +25 -13
- data/app/helpers/rails_admin/main_helper.rb +28 -41
- data/app/views/kaminari/ra-twitter-bootstrap/_gap.html.erb +5 -0
- data/app/views/kaminari/ra-twitter-bootstrap/_next_page.html.erb +9 -0
- data/app/views/kaminari/ra-twitter-bootstrap/_page.html.erb +9 -0
- data/app/views/kaminari/ra-twitter-bootstrap/_paginator.html.erb +15 -0
- data/app/views/kaminari/ra-twitter-bootstrap/_prev_page.html.erb +9 -0
- data/app/views/kaminari/ra-twitter-bootstrap/without_count/_next_page.html.erb +9 -0
- data/app/views/kaminari/ra-twitter-bootstrap/without_count/_paginator.html.erb +8 -0
- data/app/views/kaminari/ra-twitter-bootstrap/without_count/_prev_page.html.erb +9 -0
- data/app/views/layouts/rails_admin/_head.html.erb +29 -0
- data/app/views/layouts/rails_admin/_navigation.html.erb +17 -0
- data/app/views/layouts/rails_admin/_secondary_navigation.html.erb +26 -0
- data/app/views/layouts/rails_admin/_sidebar_navigation.html.erb +5 -0
- data/app/views/layouts/rails_admin/application.html.erb +24 -0
- data/app/views/layouts/rails_admin/content.html.erb +22 -0
- data/app/views/layouts/rails_admin/modal.js.erb +7 -0
- data/app/views/rails_admin/main/_dashboard_history.html.erb +45 -0
- data/app/views/rails_admin/main/_delete_notice.html.erb +35 -0
- data/app/views/rails_admin/main/_form_action_text.html.erb +7 -0
- data/app/views/rails_admin/main/_form_boolean.html.erb +14 -0
- data/app/views/rails_admin/main/{_form_ck_editor.html.haml → _form_ck_editor.html.erb} +3 -3
- data/app/views/rails_admin/main/_form_code_mirror.html.erb +9 -0
- data/app/views/rails_admin/main/_form_colorpicker.html.erb +5 -0
- data/app/views/rails_admin/main/_form_datetime.html.erb +10 -0
- data/app/views/rails_admin/main/_form_enumeration.html.erb +25 -0
- data/app/views/rails_admin/main/_form_field.html.erb +1 -0
- data/app/views/rails_admin/main/_form_file_upload.html.erb +17 -0
- data/app/views/rails_admin/main/_form_filtering_multiselect.html.erb +49 -0
- data/app/views/rails_admin/main/_form_filtering_select.html.erb +33 -0
- data/app/views/rails_admin/main/_form_froala.html.erb +8 -0
- data/app/views/rails_admin/main/_form_multiple_file_upload.html.erb +20 -0
- data/app/views/rails_admin/main/_form_nested_many.html.erb +21 -0
- data/app/views/rails_admin/main/_form_nested_one.html.erb +21 -0
- data/app/views/rails_admin/main/_form_polymorphic_association.html.erb +32 -0
- data/app/views/rails_admin/main/_form_simple_mde.html.erb +8 -0
- data/app/views/rails_admin/main/_form_text.html.erb +1 -0
- data/app/views/rails_admin/main/_form_wysihtml5.html.erb +8 -0
- data/app/views/rails_admin/main/_submit_buttons.html.erb +25 -0
- data/app/views/rails_admin/main/bulk_delete.html.erb +19 -0
- data/app/views/rails_admin/main/dashboard.html.erb +64 -0
- data/app/views/rails_admin/main/delete.html.erb +21 -0
- data/app/views/rails_admin/main/edit.html.erb +3 -0
- data/app/views/rails_admin/main/export.html.erb +149 -0
- data/app/views/rails_admin/main/history.html.erb +80 -0
- data/app/views/rails_admin/main/index.html.erb +196 -0
- data/app/views/rails_admin/main/new.html.erb +3 -0
- data/app/views/rails_admin/main/show.html.erb +30 -0
- data/config/initializers/active_record_extensions.rb +28 -1
- data/config/initializers/mongoid_extensions.rb +3 -1
- data/config/locales/rails_admin.en.yml +6 -3
- data/config/routes.rb +2 -0
- data/lib/generators/rails_admin/importmap_formatter.rb +28 -0
- data/lib/generators/rails_admin/install_generator.rb +114 -5
- data/lib/generators/rails_admin/templates/initializer.erb +2 -1
- data/lib/generators/rails_admin/templates/rails_admin.js +1 -0
- data/lib/generators/rails_admin/templates/rails_admin.scss.erb +1 -0
- data/lib/generators/rails_admin/templates/rails_admin.webpacker.js +2 -0
- data/lib/generators/rails_admin/utils.rb +2 -0
- data/lib/rails_admin/abstract_model.rb +35 -15
- data/lib/rails_admin/adapters/active_record/association.rb +30 -1
- data/lib/rails_admin/adapters/active_record/object_extension.rb +31 -0
- data/lib/rails_admin/adapters/active_record/property.rb +4 -2
- data/lib/rails_admin/adapters/active_record.rb +67 -29
- data/lib/rails_admin/adapters/composite_primary_keys/association.rb +45 -0
- data/lib/rails_admin/adapters/composite_primary_keys.rb +40 -0
- data/lib/rails_admin/adapters/mongoid/association.rb +52 -13
- data/lib/rails_admin/adapters/mongoid/bson.rb +6 -5
- data/lib/rails_admin/adapters/mongoid/extension.rb +5 -1
- data/lib/rails_admin/adapters/mongoid/object_extension.rb +34 -0
- data/lib/rails_admin/adapters/mongoid/property.rb +7 -5
- data/lib/rails_admin/adapters/mongoid.rb +32 -22
- data/lib/rails_admin/config/actions/base.rb +11 -4
- data/lib/rails_admin/config/actions/bulk_delete.rb +4 -2
- data/lib/rails_admin/config/actions/dashboard.rb +16 -9
- data/lib/rails_admin/config/actions/delete.rb +11 -9
- data/lib/rails_admin/config/actions/edit.rb +13 -7
- data/lib/rails_admin/config/actions/export.rb +6 -3
- data/lib/rails_admin/config/actions/history_index.rb +4 -2
- data/lib/rails_admin/config/actions/history_show.rb +4 -2
- data/lib/rails_admin/config/actions/index.rb +9 -8
- data/lib/rails_admin/config/actions/new.rb +18 -10
- data/lib/rails_admin/config/actions/show.rb +3 -1
- data/lib/rails_admin/config/actions/show_in_app.rb +9 -3
- data/lib/rails_admin/config/actions.rb +6 -4
- data/lib/rails_admin/config/configurable.rb +4 -2
- data/lib/rails_admin/config/fields/association.rb +21 -11
- data/lib/rails_admin/config/fields/base.rb +70 -30
- data/lib/rails_admin/config/fields/factories/action_text.rb +2 -0
- data/lib/rails_admin/config/fields/factories/active_storage.rb +5 -1
- data/lib/rails_admin/config/fields/factories/association.rb +12 -13
- data/lib/rails_admin/config/fields/factories/carrierwave.rb +6 -2
- data/lib/rails_admin/config/fields/factories/devise.rb +6 -2
- data/lib/rails_admin/config/fields/factories/dragonfly.rb +6 -2
- data/lib/rails_admin/config/fields/factories/enum.rb +2 -0
- data/lib/rails_admin/config/fields/factories/paperclip.rb +6 -2
- data/lib/rails_admin/config/fields/factories/password.rb +2 -0
- data/lib/rails_admin/config/fields/factories/shrine.rb +3 -1
- data/lib/rails_admin/config/fields/group.rb +3 -2
- data/lib/rails_admin/config/fields/types/action_text.rb +3 -1
- data/lib/rails_admin/config/fields/types/active_record_enum.rb +4 -0
- data/lib/rails_admin/config/fields/types/active_storage.rb +11 -3
- data/lib/rails_admin/config/fields/types/all.rb +4 -0
- data/lib/rails_admin/config/fields/types/belongs_to_association.rb +5 -15
- data/lib/rails_admin/config/fields/types/boolean.rb +34 -8
- data/lib/rails_admin/config/fields/types/bson_object_id.rb +2 -0
- data/lib/rails_admin/config/fields/types/carrierwave.rb +3 -0
- data/lib/rails_admin/config/fields/types/citext.rb +15 -0
- data/lib/rails_admin/config/fields/types/ck_editor.rb +2 -0
- data/lib/rails_admin/config/fields/types/code_mirror.rb +2 -0
- data/lib/rails_admin/config/fields/types/color.rb +8 -2
- data/lib/rails_admin/config/fields/types/composite_keys_belongs_to_association.rb +31 -0
- data/lib/rails_admin/config/fields/types/date.rb +12 -6
- data/lib/rails_admin/config/fields/types/datetime.rb +28 -23
- data/lib/rails_admin/config/fields/types/decimal.rb +11 -2
- data/lib/rails_admin/config/fields/types/dragonfly.rb +5 -1
- data/lib/rails_admin/config/fields/types/enum.rb +3 -1
- data/lib/rails_admin/config/fields/types/file_upload.rb +11 -4
- data/lib/rails_admin/config/fields/types/float.rb +11 -2
- data/lib/rails_admin/config/fields/types/froala.rb +2 -0
- data/lib/rails_admin/config/fields/types/has_and_belongs_to_many_association.rb +2 -0
- data/lib/rails_admin/config/fields/types/has_many_association.rb +7 -5
- data/lib/rails_admin/config/fields/types/has_one_association.rb +8 -14
- data/lib/rails_admin/config/fields/types/hidden.rb +2 -0
- data/lib/rails_admin/config/fields/types/inet.rb +2 -0
- data/lib/rails_admin/config/fields/types/integer.rb +4 -6
- data/lib/rails_admin/config/fields/types/json.rb +2 -0
- data/lib/rails_admin/config/fields/types/multiple_active_storage.rb +18 -2
- data/lib/rails_admin/config/fields/types/multiple_carrierwave.rb +3 -0
- data/lib/rails_admin/config/fields/types/multiple_file_upload.rb +8 -4
- data/lib/rails_admin/config/fields/types/numeric.rb +20 -0
- data/lib/rails_admin/config/fields/types/paperclip.rb +2 -0
- data/lib/rails_admin/config/fields/types/password.rb +2 -0
- data/lib/rails_admin/config/fields/types/polymorphic_association.rb +5 -2
- data/lib/rails_admin/config/fields/types/serialized.rb +2 -0
- data/lib/rails_admin/config/fields/types/shrine.rb +15 -11
- data/lib/rails_admin/config/fields/types/simple_mde.rb +2 -0
- data/lib/rails_admin/config/fields/types/string.rb +3 -1
- data/lib/rails_admin/config/fields/types/string_like.rb +2 -0
- data/lib/rails_admin/config/fields/types/text.rb +2 -0
- data/lib/rails_admin/config/fields/types/time.rb +12 -4
- data/lib/rails_admin/config/fields/types/timestamp.rb +2 -4
- data/lib/rails_admin/config/fields/types/uuid.rb +2 -0
- data/lib/rails_admin/config/fields/types/wysihtml5.rb +2 -0
- data/lib/rails_admin/config/fields/types.rb +3 -1
- data/lib/rails_admin/config/fields.rb +6 -2
- data/lib/rails_admin/config/groupable.rb +2 -0
- data/lib/rails_admin/config/has_description.rb +2 -0
- data/lib/rails_admin/config/has_fields.rb +12 -7
- data/lib/rails_admin/config/has_groups.rb +2 -0
- data/lib/rails_admin/config/hideable.rb +3 -1
- data/lib/rails_admin/config/inspectable.rb +3 -3
- data/lib/rails_admin/config/model.rb +20 -10
- data/lib/rails_admin/config/proxyable/proxy.rb +2 -0
- data/lib/rails_admin/config/proxyable.rb +2 -0
- data/lib/rails_admin/config/sections/base.rb +4 -3
- data/lib/rails_admin/config/sections/create.rb +2 -0
- data/lib/rails_admin/config/sections/edit.rb +2 -0
- data/lib/rails_admin/config/sections/export.rb +2 -0
- data/lib/rails_admin/config/sections/list.rb +10 -19
- data/lib/rails_admin/config/sections/modal.rb +2 -0
- data/lib/rails_admin/config/sections/nested.rb +2 -0
- data/lib/rails_admin/config/sections/show.rb +2 -0
- data/lib/rails_admin/config/sections/update.rb +2 -0
- data/lib/rails_admin/config/sections.rb +3 -1
- data/lib/rails_admin/config.rb +93 -42
- data/lib/rails_admin/engine.rb +52 -32
- data/lib/rails_admin/extension.rb +8 -14
- data/lib/rails_admin/extensions/cancancan/authorization_adapter.rb +6 -2
- data/lib/rails_admin/extensions/cancancan.rb +2 -0
- data/lib/rails_admin/extensions/controller_extension.rb +2 -0
- data/lib/rails_admin/extensions/paper_trail/auditing_adapter.rb +17 -10
- data/lib/rails_admin/extensions/paper_trail.rb +2 -0
- data/lib/rails_admin/extensions/pundit/authorization_adapter.rb +8 -7
- data/lib/rails_admin/extensions/pundit.rb +2 -0
- data/lib/rails_admin/support/csv_converter.rb +14 -14
- data/lib/rails_admin/support/datetime.rb +50 -85
- data/lib/rails_admin/support/esmodule_preprocessor.rb +37 -0
- data/lib/rails_admin/support/hash_helper.rb +8 -5
- data/lib/rails_admin/version.rb +43 -4
- data/lib/rails_admin.rb +4 -5
- data/lib/tasks/rails_admin.rake +19 -8
- data/package.json +30 -0
- data/src/rails_admin/base.js +30 -0
- data/src/rails_admin/filter-box.js +404 -0
- data/src/rails_admin/filtering-multiselect.js +389 -0
- data/src/rails_admin/filtering-select.js +299 -0
- data/src/rails_admin/i18n.js +16 -0
- data/src/rails_admin/nested-form-hooks.js +108 -0
- data/src/rails_admin/remote-form.js +192 -0
- data/src/rails_admin/sidescroll.js +20 -0
- data/{app/assets/stylesheets/rails_admin → src/rails_admin/styles}/base/theming.scss +135 -141
- data/src/rails_admin/styles/base/variables.scss +3 -0
- data/src/rails_admin/styles/base.scss +27 -0
- data/src/rails_admin/styles/filtering-multiselect.scss +53 -0
- data/src/rails_admin/styles/filtering-select.scss +70 -0
- data/src/rails_admin/styles/widgets.scss +26 -0
- data/src/rails_admin/ui.js +143 -0
- data/src/rails_admin/vendor/jquery_nested_form.js +122 -0
- data/src/rails_admin/widgets.js +502 -0
- data/vendor/assets/fonts/rails_admin/fa-solid-900.eot +0 -0
- data/vendor/assets/fonts/rails_admin/fa-solid-900.svg +5034 -0
- data/vendor/assets/fonts/rails_admin/fa-solid-900.ttf +0 -0
- data/vendor/assets/fonts/rails_admin/fa-solid-900.woff +0 -0
- data/vendor/assets/fonts/rails_admin/fa-solid-900.woff2 +0 -0
- data/vendor/assets/javascripts/rails_admin/bootstrap.js +5046 -0
- data/vendor/assets/javascripts/rails_admin/flatpickr-with-locales.js +11246 -0
- data/vendor/assets/javascripts/rails_admin/jquery-ui/data.js +41 -0
- data/vendor/assets/javascripts/rails_admin/jquery-ui/effect.js +1637 -0
- data/vendor/assets/javascripts/rails_admin/jquery-ui/ie.js +17 -0
- data/vendor/assets/javascripts/rails_admin/jquery-ui/keycode.js +47 -0
- data/vendor/assets/javascripts/rails_admin/jquery-ui/position.js +500 -0
- data/vendor/assets/javascripts/rails_admin/jquery-ui/safe-active-element.js +42 -0
- data/vendor/assets/javascripts/rails_admin/jquery-ui/scroll-parent.js +47 -0
- data/vendor/assets/javascripts/rails_admin/jquery-ui/unique-id.js +51 -0
- data/vendor/assets/javascripts/rails_admin/jquery-ui/version.js +17 -0
- data/vendor/assets/javascripts/rails_admin/jquery-ui/widget.js +735 -0
- data/vendor/assets/javascripts/rails_admin/jquery-ui/widgets/autocomplete.js +689 -0
- data/vendor/assets/javascripts/rails_admin/jquery-ui/widgets/menu.js +680 -0
- data/vendor/assets/javascripts/rails_admin/jquery-ui/widgets/mouse.js +230 -0
- data/vendor/assets/javascripts/rails_admin/jquery-ui/widgets/sortable.js +1561 -0
- data/vendor/assets/javascripts/rails_admin/jquery3.js +10881 -0
- data/vendor/assets/javascripts/rails_admin/popper.js +1974 -0
- data/vendor/assets/stylesheets/rails_admin/bootstrap/_accordion.scss +118 -0
- data/vendor/assets/stylesheets/rails_admin/bootstrap/_alert.scss +57 -0
- data/vendor/assets/stylesheets/rails_admin/bootstrap/_badge.scss +29 -0
- data/vendor/assets/stylesheets/rails_admin/bootstrap/_breadcrumb.scss +28 -0
- data/vendor/assets/stylesheets/rails_admin/bootstrap/_button-group.scss +139 -0
- data/vendor/assets/stylesheets/rails_admin/bootstrap/_buttons.scss +64 -110
- data/vendor/assets/stylesheets/rails_admin/bootstrap/_card.scss +216 -0
- data/vendor/assets/stylesheets/rails_admin/bootstrap/_carousel.scss +162 -176
- data/vendor/assets/stylesheets/rails_admin/bootstrap/_close.scss +31 -26
- data/vendor/assets/stylesheets/rails_admin/bootstrap/_containers.scss +41 -0
- data/vendor/assets/stylesheets/rails_admin/bootstrap/_dropdown.scss +240 -0
- data/vendor/assets/stylesheets/rails_admin/bootstrap/_forms.scss +9 -538
- data/vendor/assets/stylesheets/rails_admin/bootstrap/_functions.scss +302 -0
- data/vendor/assets/stylesheets/rails_admin/bootstrap/_grid.scss +18 -69
- data/vendor/assets/stylesheets/rails_admin/bootstrap/_helpers.scss +9 -0
- data/vendor/assets/stylesheets/rails_admin/bootstrap/_images.scss +42 -0
- data/vendor/assets/stylesheets/rails_admin/bootstrap/_list-group.scss +127 -84
- data/vendor/assets/stylesheets/rails_admin/bootstrap/_mixins.scss +26 -22
- data/vendor/assets/stylesheets/rails_admin/bootstrap/_modal.scss +209 -0
- data/vendor/assets/stylesheets/rails_admin/bootstrap/_nav.scss +139 -0
- data/vendor/assets/stylesheets/rails_admin/bootstrap/_navbar.scss +218 -542
- data/vendor/assets/stylesheets/rails_admin/bootstrap/_offcanvas.scss +83 -0
- data/vendor/assets/stylesheets/rails_admin/bootstrap/_pagination.scss +46 -70
- data/vendor/assets/stylesheets/rails_admin/bootstrap/_placeholders.scss +51 -0
- data/vendor/assets/stylesheets/rails_admin/bootstrap/_popover.scss +158 -0
- data/vendor/assets/stylesheets/rails_admin/bootstrap/_progress.scss +48 -0
- data/vendor/assets/stylesheets/rails_admin/bootstrap/_reboot.scss +625 -0
- data/vendor/assets/stylesheets/rails_admin/bootstrap/_root.scss +54 -0
- data/vendor/assets/stylesheets/rails_admin/bootstrap/_spinners.scss +69 -0
- data/vendor/assets/stylesheets/rails_admin/bootstrap/_tables.scss +100 -178
- data/vendor/assets/stylesheets/rails_admin/bootstrap/_toasts.scss +51 -0
- data/vendor/assets/stylesheets/rails_admin/bootstrap/_tooltip.scss +97 -77
- data/vendor/assets/stylesheets/rails_admin/bootstrap/_transitions.scss +27 -0
- data/vendor/assets/stylesheets/rails_admin/bootstrap/_type.scss +54 -254
- data/vendor/assets/stylesheets/rails_admin/bootstrap/_utilities.scss +628 -55
- data/vendor/assets/stylesheets/rails_admin/bootstrap/_variables.scss +1572 -781
- data/vendor/assets/stylesheets/rails_admin/bootstrap/bootstrap.scss +38 -35
- data/vendor/assets/stylesheets/rails_admin/bootstrap/forms/_floating-labels.scss +63 -0
- data/vendor/assets/stylesheets/rails_admin/bootstrap/forms/_form-check.scss +152 -0
- data/vendor/assets/stylesheets/rails_admin/bootstrap/forms/_form-control.scss +219 -0
- data/vendor/assets/stylesheets/rails_admin/bootstrap/forms/_form-range.scss +91 -0
- data/vendor/assets/stylesheets/rails_admin/bootstrap/forms/_form-select.scss +72 -0
- data/vendor/assets/stylesheets/rails_admin/bootstrap/forms/_form-text.scss +11 -0
- data/vendor/assets/stylesheets/rails_admin/bootstrap/forms/_input-group.scss +121 -0
- data/vendor/assets/stylesheets/rails_admin/bootstrap/forms/_labels.scss +36 -0
- data/vendor/assets/stylesheets/rails_admin/bootstrap/forms/_validation.scss +12 -0
- data/vendor/assets/stylesheets/rails_admin/bootstrap/helpers/_clearfix.scss +3 -0
- data/vendor/assets/stylesheets/rails_admin/bootstrap/helpers/_colored-links.scss +12 -0
- data/vendor/assets/stylesheets/rails_admin/bootstrap/helpers/_position.scss +30 -0
- data/vendor/assets/stylesheets/rails_admin/bootstrap/helpers/_ratio.scss +26 -0
- data/vendor/assets/stylesheets/rails_admin/bootstrap/helpers/_stacks.scss +15 -0
- data/vendor/assets/stylesheets/rails_admin/bootstrap/helpers/_stretched-link.scss +15 -0
- data/vendor/assets/stylesheets/rails_admin/bootstrap/helpers/_text-truncation.scss +7 -0
- data/vendor/assets/stylesheets/rails_admin/bootstrap/helpers/_visually-hidden.scss +8 -0
- data/vendor/assets/stylesheets/rails_admin/bootstrap/helpers/_vr.scss +8 -0
- data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_alert.scss +11 -0
- data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_backdrop.scss +14 -0
- data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_border-radius.scss +72 -12
- data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_box-shadow.scss +18 -0
- data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_breakpoints.scss +127 -0
- data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_buttons.scss +113 -30
- data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_caret.scss +64 -0
- data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_clearfix.scss +5 -18
- data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_color-scheme.scss +7 -0
- data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_container.scss +9 -0
- data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_deprecate.scss +10 -0
- data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_forms.scss +130 -70
- data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_gradients.scss +27 -38
- data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_grid.scss +127 -98
- data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_image.scss +6 -24
- data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_list-group.scss +13 -20
- data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_lists.scss +7 -0
- data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_pagination.scss +24 -16
- data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_reset-text.scss +17 -0
- data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_resize.scss +1 -1
- data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_table-variants.scss +21 -0
- data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/{_text-overflow.scss → _text-truncate.scss} +2 -2
- data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_transition.scss +26 -0
- data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_utilities.scss +89 -0
- data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_visually-hidden.scss +29 -0
- data/vendor/assets/stylesheets/rails_admin/bootstrap/utilities/_api.scss +47 -0
- data/vendor/assets/stylesheets/rails_admin/bootstrap/vendor/_rfs.scss +354 -0
- data/vendor/assets/stylesheets/rails_admin/flatpickr.css +791 -0
- data/vendor/assets/stylesheets/rails_admin/font-awesome.scss +4476 -2216
- metadata +185 -331
- data/app/assets/images/rails_admin/aristo/images/bg_fallback.png +0 -0
- data/app/assets/images/rails_admin/aristo/images/icon_sprite.png +0 -0
- data/app/assets/images/rails_admin/aristo/images/progress_bar.gif +0 -0
- data/app/assets/images/rails_admin/aristo/images/slider_handles.png +0 -0
- data/app/assets/images/rails_admin/aristo/images/ui-icons_222222_256x240.png +0 -0
- data/app/assets/images/rails_admin/aristo/images/ui-icons_454545_256x240.png +0 -0
- data/app/assets/images/rails_admin/bullet_black.png +0 -0
- data/app/assets/images/rails_admin/bullet_white.png +0 -0
- data/app/assets/images/rails_admin/calendar.png +0 -0
- data/app/assets/images/rails_admin/clock.png +0 -0
- data/app/assets/images/rails_admin/logo.png +0 -0
- data/app/assets/images/rails_admin/magnifier.png +0 -0
- data/app/assets/images/rails_admin/multiselect/icon_sprite.png +0 -0
- data/app/assets/images/rails_admin/multiselect/ui-icon-circle-triangle-n-dark.png +0 -0
- data/app/assets/images/rails_admin/multiselect/ui-icon-circle-triangle-n-light.png +0 -0
- data/app/assets/images/rails_admin/multiselect/ui-icon-circle-triangle-s-dark.png +0 -0
- data/app/assets/images/rails_admin/multiselect/ui-icon-circle-triangle-s-light.png +0 -0
- data/app/assets/javascripts/rails_admin/jquery-ui.js.erb +0 -8
- data/app/assets/javascripts/rails_admin/ra.filter-box.js +0 -226
- data/app/assets/javascripts/rails_admin/ra.filtering-multiselect.js +0 -331
- data/app/assets/javascripts/rails_admin/ra.filtering-select.js +0 -294
- data/app/assets/javascripts/rails_admin/ra.i18n.js +0 -28
- data/app/assets/javascripts/rails_admin/ra.nested-form-hooks.js +0 -59
- data/app/assets/javascripts/rails_admin/ra.remote-form.js +0 -155
- data/app/assets/javascripts/rails_admin/ra.sidescroll.js +0 -31
- data/app/assets/javascripts/rails_admin/ra.widgets.js +0 -379
- data/app/assets/javascripts/rails_admin/rails_admin.js +0 -20
- data/app/assets/javascripts/rails_admin/ui.js +0 -135
- data/app/assets/stylesheets/rails_admin/aristo/images/bg_fallback.png +0 -0
- data/app/assets/stylesheets/rails_admin/aristo/images/icon_sprite.png +0 -0
- data/app/assets/stylesheets/rails_admin/aristo/images/progress_bar.gif +0 -0
- data/app/assets/stylesheets/rails_admin/aristo/images/slider_handles.png +0 -0
- data/app/assets/stylesheets/rails_admin/aristo/images/ui-icons_222222_256x240.png +0 -0
- data/app/assets/stylesheets/rails_admin/aristo/images/ui-icons_454545_256x240.png +0 -0
- data/app/assets/stylesheets/rails_admin/aristo/jquery-ui-1.8.7.custom.scss +0 -733
- data/app/assets/stylesheets/rails_admin/base/font-awesome-4-compability.scss +0 -153
- data/app/assets/stylesheets/rails_admin/base/variables.scss +0 -1
- data/app/assets/stylesheets/rails_admin/ra.filtering-multiselect.scss +0 -88
- data/app/assets/stylesheets/rails_admin/ra.sidescroll.scss +0 -29
- data/app/assets/stylesheets/rails_admin/ra.widgets.scss +0 -17
- data/app/assets/stylesheets/rails_admin/rails_admin.scss.erb +0 -110
- data/app/assets/stylesheets/rails_admin/themes/cerulean/mixins.scss +0 -0
- data/app/assets/stylesheets/rails_admin/themes/cerulean/theming.scss +0 -133
- data/app/assets/stylesheets/rails_admin/themes/cerulean/variables.scss +0 -857
- data/app/assets/stylesheets/rails_admin/themes/default/mixins.scss +0 -8
- data/app/assets/stylesheets/rails_admin/themes/default/theming.scss +0 -11
- data/app/assets/stylesheets/rails_admin/themes/default/variables.scss +0 -12
- data/app/views/kaminari/ra-twitter-bootstrap/_gap.html.haml +0 -2
- data/app/views/kaminari/ra-twitter-bootstrap/_next_page.html.haml +0 -4
- data/app/views/kaminari/ra-twitter-bootstrap/_page.html.haml +0 -4
- data/app/views/kaminari/ra-twitter-bootstrap/_paginator.html.haml +0 -9
- data/app/views/kaminari/ra-twitter-bootstrap/_prev_page.html.haml +0 -4
- data/app/views/kaminari/ra-twitter-bootstrap/without_count/_next_page.html.haml +0 -4
- data/app/views/kaminari/ra-twitter-bootstrap/without_count/_paginator.html.haml +0 -4
- data/app/views/kaminari/ra-twitter-bootstrap/without_count/_prev_page.html.haml +0 -4
- data/app/views/layouts/rails_admin/_head.html.haml +0 -7
- data/app/views/layouts/rails_admin/_navigation.html.haml +0 -12
- data/app/views/layouts/rails_admin/_secondary_navigation.html.haml +0 -10
- data/app/views/layouts/rails_admin/_sidebar_navigation.html.haml +0 -3
- data/app/views/layouts/rails_admin/application.html.haml +0 -16
- data/app/views/layouts/rails_admin/pjax.html.haml +0 -12
- data/app/views/rails_admin/main/_dashboard_history.html.haml +0 -21
- data/app/views/rails_admin/main/_delete_notice.html.haml +0 -24
- data/app/views/rails_admin/main/_form_action_text.html.haml +0 -7
- data/app/views/rails_admin/main/_form_boolean.html.haml +0 -3
- data/app/views/rails_admin/main/_form_code_mirror.html.haml +0 -9
- data/app/views/rails_admin/main/_form_colorpicker.html.haml +0 -1
- data/app/views/rails_admin/main/_form_datetime.html.haml +0 -5
- data/app/views/rails_admin/main/_form_enumeration.html.haml +0 -18
- data/app/views/rails_admin/main/_form_field.html.haml +0 -1
- data/app/views/rails_admin/main/_form_file_upload.html.haml +0 -17
- data/app/views/rails_admin/main/_form_filtering_multiselect.html.haml +0 -48
- data/app/views/rails_admin/main/_form_filtering_select.html.haml +0 -37
- data/app/views/rails_admin/main/_form_froala.html.haml +0 -8
- data/app/views/rails_admin/main/_form_multiple_file_upload.html.haml +0 -16
- data/app/views/rails_admin/main/_form_nested_many.html.haml +0 -15
- data/app/views/rails_admin/main/_form_nested_one.html.haml +0 -17
- data/app/views/rails_admin/main/_form_polymorphic_association.html.haml +0 -26
- data/app/views/rails_admin/main/_form_simple_mde.haml +0 -8
- data/app/views/rails_admin/main/_form_text.html.haml +0 -1
- data/app/views/rails_admin/main/_form_wysihtml5.html.haml +0 -8
- data/app/views/rails_admin/main/_submit_buttons.html.haml +0 -16
- data/app/views/rails_admin/main/bulk_delete.html.haml +0 -11
- data/app/views/rails_admin/main/dashboard.html.haml +0 -34
- data/app/views/rails_admin/main/delete.html.haml +0 -18
- data/app/views/rails_admin/main/edit.html.haml +0 -2
- data/app/views/rails_admin/main/export.html.haml +0 -92
- data/app/views/rails_admin/main/history.html.haml +0 -51
- data/app/views/rails_admin/main/index.html.haml +0 -126
- data/app/views/rails_admin/main/new.html.haml +0 -2
- data/app/views/rails_admin/main/show.html.haml +0 -15
- data/config/initializers/devise_patch.rb +0 -9
- data/config/initializers/haml.rb +0 -5
- data/lib/rails_admin/adapters/active_record/abstract_object.rb +0 -32
- data/lib/rails_admin/adapters/mongoid/abstract_object.rb +0 -42
- data/lib/rails_admin/bootstrap-sass/compass_functions.rb +0 -28
- data/lib/rails_admin/bootstrap-sass/sass_functions.rb +0 -16
- data/lib/rails_admin/bootstrap-sass.rb +0 -49
- data/lib/rails_admin/config/lazy_model.rb +0 -68
- data/lib/rails_admin/extensions/history/auditing_adapter.rb +0 -37
- data/lib/rails_admin/extensions/history/history.rb +0 -44
- data/lib/rails_admin/extensions/history.rb +0 -3
- data/lib/rails_admin/support/i18n.rb +0 -43
- data/vendor/assets/fonts/rails_admin/FontAwesome.otf +0 -0
- data/vendor/assets/fonts/rails_admin/fontawesome-webfont.eot +0 -0
- data/vendor/assets/fonts/rails_admin/fontawesome-webfont.svg +0 -2671
- data/vendor/assets/fonts/rails_admin/fontawesome-webfont.ttf +0 -0
- data/vendor/assets/fonts/rails_admin/fontawesome-webfont.woff +0 -0
- data/vendor/assets/fonts/rails_admin/fontawesome-webfont.woff2 +0 -0
- data/vendor/assets/images/rails_admin/colorpicker/colorpicker_background.png +0 -0
- data/vendor/assets/images/rails_admin/colorpicker/colorpicker_hex.png +0 -0
- data/vendor/assets/images/rails_admin/colorpicker/colorpicker_hsb_b.png +0 -0
- data/vendor/assets/images/rails_admin/colorpicker/colorpicker_hsb_h.png +0 -0
- data/vendor/assets/images/rails_admin/colorpicker/colorpicker_hsb_s.png +0 -0
- data/vendor/assets/images/rails_admin/colorpicker/colorpicker_indic.gif +0 -0
- data/vendor/assets/images/rails_admin/colorpicker/colorpicker_overlay.png +0 -0
- data/vendor/assets/images/rails_admin/colorpicker/colorpicker_rgb_b.png +0 -0
- data/vendor/assets/images/rails_admin/colorpicker/colorpicker_rgb_g.png +0 -0
- data/vendor/assets/images/rails_admin/colorpicker/colorpicker_rgb_r.png +0 -0
- data/vendor/assets/images/rails_admin/colorpicker/colorpicker_select.gif +0 -0
- data/vendor/assets/images/rails_admin/colorpicker/colorpicker_submit.png +0 -0
- data/vendor/assets/images/rails_admin/colorpicker/custom_background.png +0 -0
- data/vendor/assets/images/rails_admin/colorpicker/custom_hex.png +0 -0
- data/vendor/assets/images/rails_admin/colorpicker/custom_hsb_b.png +0 -0
- data/vendor/assets/images/rails_admin/colorpicker/custom_hsb_h.png +0 -0
- data/vendor/assets/images/rails_admin/colorpicker/custom_hsb_s.png +0 -0
- data/vendor/assets/images/rails_admin/colorpicker/custom_indic.gif +0 -0
- data/vendor/assets/images/rails_admin/colorpicker/custom_rgb_b.png +0 -0
- data/vendor/assets/images/rails_admin/colorpicker/custom_rgb_g.png +0 -0
- data/vendor/assets/images/rails_admin/colorpicker/custom_rgb_r.png +0 -0
- data/vendor/assets/images/rails_admin/colorpicker/custom_submit.png +0 -0
- data/vendor/assets/images/rails_admin/colorpicker/select.png +0 -0
- data/vendor/assets/images/rails_admin/colorpicker/select2.png +0 -0
- data/vendor/assets/images/rails_admin/colorpicker/slider.png +0 -0
- data/vendor/assets/javascripts/rails_admin/bootstrap/bootstrap-affix.js +0 -142
- data/vendor/assets/javascripts/rails_admin/bootstrap/bootstrap-alert.js +0 -92
- data/vendor/assets/javascripts/rails_admin/bootstrap/bootstrap-button.js +0 -110
- data/vendor/assets/javascripts/rails_admin/bootstrap/bootstrap-carousel.js +0 -223
- data/vendor/assets/javascripts/rails_admin/bootstrap/bootstrap-collapse.js +0 -170
- data/vendor/assets/javascripts/rails_admin/bootstrap/bootstrap-dropdown.js +0 -151
- data/vendor/assets/javascripts/rails_admin/bootstrap/bootstrap-modal.js +0 -280
- data/vendor/assets/javascripts/rails_admin/bootstrap/bootstrap-popover.js +0 -113
- data/vendor/assets/javascripts/rails_admin/bootstrap/bootstrap-scrollspy.js +0 -170
- data/vendor/assets/javascripts/rails_admin/bootstrap/bootstrap-tab.js +0 -128
- data/vendor/assets/javascripts/rails_admin/bootstrap/bootstrap-tooltip.js +0 -457
- data/vendor/assets/javascripts/rails_admin/bootstrap/bootstrap-transition.js +0 -59
- data/vendor/assets/javascripts/rails_admin/bootstrap/bootstrap-typeahead.js +0 -1782
- data/vendor/assets/javascripts/rails_admin/bootstrap/bootstrap.js +0 -13
- data/vendor/assets/javascripts/rails_admin/bootstrap-datetimepicker.js +0 -2444
- data/vendor/assets/javascripts/rails_admin/jquery.colorpicker.js +0 -484
- data/vendor/assets/javascripts/rails_admin/jquery.pjax.js +0 -741
- data/vendor/assets/javascripts/rails_admin/moment-with-locales.js +0 -16165
- data/vendor/assets/stylesheets/rails_admin/_bootstrap-datetimepicker.scss +0 -343
- data/vendor/assets/stylesheets/rails_admin/bootstrap/_alerts.scss +0 -68
- data/vendor/assets/stylesheets/rails_admin/bootstrap/_badges.scss +0 -57
- data/vendor/assets/stylesheets/rails_admin/bootstrap/_breadcrumbs.scss +0 -26
- data/vendor/assets/stylesheets/rails_admin/bootstrap/_button-groups.scss +0 -240
- data/vendor/assets/stylesheets/rails_admin/bootstrap/_code.scss +0 -68
- data/vendor/assets/stylesheets/rails_admin/bootstrap/_component-animations.scss +0 -35
- data/vendor/assets/stylesheets/rails_admin/bootstrap/_dropdowns.scss +0 -215
- data/vendor/assets/stylesheets/rails_admin/bootstrap/_glyphicons.scss +0 -237
- data/vendor/assets/stylesheets/rails_admin/bootstrap/_input-groups.scss +0 -166
- data/vendor/assets/stylesheets/rails_admin/bootstrap/_jumbotron.scss +0 -48
- data/vendor/assets/stylesheets/rails_admin/bootstrap/_labels.scss +0 -66
- data/vendor/assets/stylesheets/rails_admin/bootstrap/_media.scss +0 -56
- data/vendor/assets/stylesheets/rails_admin/bootstrap/_modals.scss +0 -150
- data/vendor/assets/stylesheets/rails_admin/bootstrap/_navs.scss +0 -242
- data/vendor/assets/stylesheets/rails_admin/bootstrap/_normalize.scss +0 -425
- data/vendor/assets/stylesheets/rails_admin/bootstrap/_pager.scss +0 -55
- data/vendor/assets/stylesheets/rails_admin/bootstrap/_panels.scss +0 -243
- data/vendor/assets/stylesheets/rails_admin/bootstrap/_popovers.scss +0 -133
- data/vendor/assets/stylesheets/rails_admin/bootstrap/_print.scss +0 -101
- data/vendor/assets/stylesheets/rails_admin/bootstrap/_progress-bars.scss +0 -105
- data/vendor/assets/stylesheets/rails_admin/bootstrap/_responsive-embed.scss +0 -34
- data/vendor/assets/stylesheets/rails_admin/bootstrap/_responsive-utilities.scss +0 -174
- data/vendor/assets/stylesheets/rails_admin/bootstrap/_scaffolding.scss +0 -150
- data/vendor/assets/stylesheets/rails_admin/bootstrap/_theme.scss +0 -258
- data/vendor/assets/stylesheets/rails_admin/bootstrap/_thumbnails.scss +0 -38
- data/vendor/assets/stylesheets/rails_admin/bootstrap/_wells.scss +0 -29
- data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_alerts.scss +0 -14
- data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_background-variant.scss +0 -11
- data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_center-block.scss +0 -7
- data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_grid-framework.scss +0 -81
- data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_hide-text.scss +0 -21
- data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_labels.scss +0 -12
- data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_nav-divider.scss +0 -10
- data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_nav-vertical-align.scss +0 -9
- data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_opacity.scss +0 -8
- data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_panels.scss +0 -24
- data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_progress-bar.scss +0 -10
- data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_reset-filter.scss +0 -8
- data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_responsive-visibility.scss +0 -21
- data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_size.scss +0 -10
- data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_tab-focus.scss +0 -9
- data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_table-row.scss +0 -28
- data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_text-emphasis.scss +0 -11
- data/vendor/assets/stylesheets/rails_admin/bootstrap/mixins/_vendor-prefixes.scss +0 -219
- data/vendor/assets/stylesheets/rails_admin/bootstrap-datetimepicker-build.scss +0 -16
- data/vendor/assets/stylesheets/rails_admin/jquery.colorpicker.scss +0 -182
- /data/{app/assets/stylesheets/rails_admin → src/rails_admin/styles}/base/README.txt +0 -0
- /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
|
module RailsAdmin
|
|
2
4
|
module Config
|
|
3
5
|
# Defines a visibility configuration
|
|
@@ -16,7 +18,7 @@ module RailsAdmin
|
|
|
16
18
|
|
|
17
19
|
# Writer to hide object.
|
|
18
20
|
def hide(&block)
|
|
19
|
-
visible block ? proc {
|
|
21
|
+
visible block ? proc { instance_eval(&block) == false } : false
|
|
20
22
|
end
|
|
21
23
|
|
|
22
24
|
# Writer to show field.
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
1
3
|
module RailsAdmin
|
|
2
4
|
module Config
|
|
3
5
|
module Inspectable
|
|
@@ -30,9 +32,7 @@ module RailsAdmin
|
|
|
30
32
|
end
|
|
31
33
|
|
|
32
34
|
def set_named_instance_variables
|
|
33
|
-
unless defined?(self.class::NAMED_INSTANCE_VARIABLES)
|
|
34
|
-
self.class.const_set('NAMED_INSTANCE_VARIABLES', [])
|
|
35
|
-
end
|
|
35
|
+
self.class.const_set('NAMED_INSTANCE_VARIABLES', []) unless defined?(self.class::NAMED_INSTANCE_VARIABLES)
|
|
36
36
|
end
|
|
37
37
|
end
|
|
38
38
|
end
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
1
3
|
require 'rails_admin/config'
|
|
2
4
|
require 'rails_admin/config/proxyable'
|
|
3
5
|
require 'rails_admin/config/configurable'
|
|
@@ -21,30 +23,31 @@ module RailsAdmin
|
|
|
21
23
|
include RailsAdmin::Config::Sections
|
|
22
24
|
include RailsAdmin::Config::Inspectable
|
|
23
25
|
|
|
24
|
-
attr_reader :abstract_model
|
|
26
|
+
attr_reader :abstract_model, :parent, :root
|
|
25
27
|
attr_accessor :groups
|
|
26
|
-
attr_reader :parent, :root
|
|
27
28
|
|
|
28
|
-
NAMED_INSTANCE_VARIABLES = [
|
|
29
|
+
NAMED_INSTANCE_VARIABLES = %i[@parent @root].freeze
|
|
29
30
|
|
|
30
31
|
def initialize(entity)
|
|
31
32
|
@parent = nil
|
|
32
33
|
@root = self
|
|
33
34
|
|
|
34
|
-
@abstract_model =
|
|
35
|
-
|
|
35
|
+
@abstract_model =
|
|
36
|
+
case entity
|
|
37
|
+
when RailsAdmin::AbstractModel
|
|
36
38
|
entity
|
|
37
|
-
|
|
39
|
+
when Class, String, Symbol
|
|
38
40
|
RailsAdmin::AbstractModel.new(entity)
|
|
39
41
|
else
|
|
40
42
|
RailsAdmin::AbstractModel.new(entity.class)
|
|
41
43
|
end
|
|
42
|
-
|
|
44
|
+
|
|
43
45
|
@groups = [RailsAdmin::Config::Fields::Group.new(self, :default).tap { |g| g.label { I18n.translate('admin.form.basic_info') } }]
|
|
44
46
|
end
|
|
45
47
|
|
|
46
48
|
def excluded?
|
|
47
49
|
return @excluded if defined?(@excluded)
|
|
50
|
+
|
|
48
51
|
@excluded = !RailsAdmin::AbstractModel.all.collect(&:model_name).include?(abstract_model.try(:model_name))
|
|
49
52
|
end
|
|
50
53
|
|
|
@@ -81,23 +84,30 @@ module RailsAdmin
|
|
|
81
84
|
register_instance_option :parent do
|
|
82
85
|
@parent_model ||= begin
|
|
83
86
|
klass = abstract_model.model.superclass
|
|
84
|
-
klass = nil if klass.to_s.in?(%w
|
|
87
|
+
klass = nil if klass.to_s.in?(%w[Object BasicObject ActiveRecord::Base])
|
|
85
88
|
klass
|
|
86
89
|
end
|
|
87
90
|
end
|
|
88
91
|
|
|
89
92
|
register_instance_option :navigation_label do
|
|
90
|
-
@navigation_label ||=
|
|
93
|
+
@navigation_label ||=
|
|
91
94
|
if (parent_module = abstract_model.model.try(:module_parent) || abstract_model.model.try!(:parent)) != Object
|
|
92
95
|
parent_module.to_s
|
|
93
96
|
end
|
|
94
|
-
end
|
|
95
97
|
end
|
|
96
98
|
|
|
97
99
|
register_instance_option :navigation_icon do
|
|
98
100
|
nil
|
|
99
101
|
end
|
|
100
102
|
|
|
103
|
+
register_instance_option :scope do
|
|
104
|
+
abstract_model.scoped
|
|
105
|
+
end
|
|
106
|
+
|
|
107
|
+
register_instance_option :last_created_at do
|
|
108
|
+
abstract_model.model.last.try(:created_at) if abstract_model.properties.detect { |c| c.name == :created_at }
|
|
109
|
+
end
|
|
110
|
+
|
|
101
111
|
# Act as a proxy for the base section configuration that actually
|
|
102
112
|
# store the configurations.
|
|
103
113
|
def method_missing(method_name, *args, &block)
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
1
3
|
require 'rails_admin/config/proxyable'
|
|
2
4
|
require 'rails_admin/config/configurable'
|
|
3
5
|
require 'rails_admin/config/inspectable'
|
|
@@ -18,10 +20,9 @@ module RailsAdmin
|
|
|
18
20
|
include RailsAdmin::Config::HasGroups
|
|
19
21
|
include RailsAdmin::Config::HasDescription
|
|
20
22
|
|
|
21
|
-
attr_reader :abstract_model
|
|
22
|
-
attr_reader :parent, :root
|
|
23
|
+
attr_reader :abstract_model, :parent, :root
|
|
23
24
|
|
|
24
|
-
NAMED_INSTANCE_VARIABLES = [
|
|
25
|
+
NAMED_INSTANCE_VARIABLES = %i[@parent @root @abstract_model].freeze
|
|
25
26
|
|
|
26
27
|
def initialize(parent)
|
|
27
28
|
@parent = parent
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
1
3
|
require 'rails_admin/config/sections/base'
|
|
2
4
|
|
|
3
5
|
module RailsAdmin
|
|
@@ -32,10 +34,6 @@ module RailsAdmin
|
|
|
32
34
|
parent.abstract_model.primary_key
|
|
33
35
|
end
|
|
34
36
|
|
|
35
|
-
register_instance_option :sort_reverse? do
|
|
36
|
-
true # By default show latest first
|
|
37
|
-
end
|
|
38
|
-
|
|
39
37
|
register_instance_option :scopes do
|
|
40
38
|
[]
|
|
41
39
|
end
|
|
@@ -44,23 +42,16 @@ module RailsAdmin
|
|
|
44
42
|
''
|
|
45
43
|
end
|
|
46
44
|
|
|
47
|
-
|
|
48
|
-
|
|
45
|
+
register_deprecated_instance_option :sidescroll do
|
|
46
|
+
ActiveSupport::Deprecation.warn('The sidescroll configuration option was removed, it is always enabled now.')
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
def fields_for_table
|
|
50
|
+
visible_fields.partition(&:sticky?).flatten
|
|
49
51
|
end
|
|
50
52
|
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
model_config = sidescroll
|
|
54
|
-
enabled = model_config.nil? ? global_config : model_config
|
|
55
|
-
if enabled
|
|
56
|
-
num_frozen = model_config[:num_frozen_columns] if model_config.is_a?(Hash)
|
|
57
|
-
unless num_frozen
|
|
58
|
-
num_frozen = global_config[:num_frozen_columns] if global_config.is_a?(Hash)
|
|
59
|
-
num_frozen ||= 3 # by default, freeze checkboxes, links & first property (usually primary key / id?)
|
|
60
|
-
num_frozen -= 1 unless checkboxes? # model config should be explicit about this, only adjust if using global config
|
|
61
|
-
end
|
|
62
|
-
num_frozen
|
|
63
|
-
end
|
|
53
|
+
register_deprecated_instance_option :sort_reverse do
|
|
54
|
+
ActiveSupport::Deprecation.warn('The sort_reverse configuration option is deprecated and has no effect.')
|
|
64
55
|
end
|
|
65
56
|
end
|
|
66
57
|
end
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
1
3
|
require 'active_support/core_ext/string/inflections'
|
|
2
4
|
require 'rails_admin/config/sections/base'
|
|
3
5
|
require 'rails_admin/config/sections/edit'
|
|
@@ -25,7 +27,7 @@ module RailsAdmin
|
|
|
25
27
|
section = RailsAdmin::Config::Sections.const_get(name)
|
|
26
28
|
name = name.to_s.underscore.to_sym
|
|
27
29
|
klass.send(:define_method, name) do |&block|
|
|
28
|
-
@sections
|
|
30
|
+
@sections ||= {}
|
|
29
31
|
@sections[name] = section.new(self) unless @sections[name]
|
|
30
32
|
@sections[name].instance_eval(&block) if block
|
|
31
33
|
@sections[name]
|
data/lib/rails_admin/config.rb
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require 'rails_admin/config/model'
|
|
2
4
|
require 'rails_admin/config/sections/list'
|
|
3
5
|
require 'active_support/core_ext/module/attribute_accessors'
|
|
4
6
|
|
|
@@ -20,6 +22,10 @@ module RailsAdmin
|
|
|
20
22
|
|
|
21
23
|
DEFAULT_CURRENT_USER = proc {}
|
|
22
24
|
|
|
25
|
+
# Variables to track initialization process
|
|
26
|
+
@initialized = false
|
|
27
|
+
@deferred_blocks = []
|
|
28
|
+
|
|
23
29
|
class << self
|
|
24
30
|
# Application title, can be an array of two elements
|
|
25
31
|
attr_accessor :main_app_name
|
|
@@ -27,15 +33,15 @@ module RailsAdmin
|
|
|
27
33
|
# Configuration option to specify which models you want to exclude.
|
|
28
34
|
attr_accessor :excluded_models
|
|
29
35
|
|
|
30
|
-
# Configuration option to specify a
|
|
31
|
-
# The excluded_models list applies against the
|
|
36
|
+
# Configuration option to specify a allowlist of models you want to RailsAdmin to work with.
|
|
37
|
+
# The excluded_models list applies against the allowlist as well and further reduces the models
|
|
32
38
|
# RailsAdmin will use.
|
|
33
39
|
# If included_models is left empty ([]), then RailsAdmin will automatically use all the models
|
|
34
40
|
# in your application (less any excluded_models you may have specified).
|
|
35
41
|
attr_accessor :included_models
|
|
36
42
|
|
|
37
43
|
# Fields to be hidden in show, create and update views
|
|
38
|
-
|
|
44
|
+
attr_reader :default_hidden_fields
|
|
39
45
|
|
|
40
46
|
# Default items per page value used if a model level option has not
|
|
41
47
|
# been configured
|
|
@@ -56,14 +62,8 @@ module RailsAdmin
|
|
|
56
62
|
# Tell browsers whether to use the native HTML5 validations (novalidate form option).
|
|
57
63
|
attr_accessor :browser_validations
|
|
58
64
|
|
|
59
|
-
# Set the max width of columns in list view before a new set is created
|
|
60
|
-
attr_accessor :total_columns_width
|
|
61
|
-
|
|
62
|
-
# Enable horizontal-scrolling table in list view, ignore total_columns_width
|
|
63
|
-
attr_accessor :sidescroll
|
|
64
|
-
|
|
65
65
|
# set parent controller
|
|
66
|
-
|
|
66
|
+
attr_reader :parent_controller
|
|
67
67
|
|
|
68
68
|
# set settings for `protect_from_forgery` method
|
|
69
69
|
# By default, it raises exception upon invalid CSRF tokens
|
|
@@ -75,6 +75,9 @@ module RailsAdmin
|
|
|
75
75
|
# @see RailsAdmin.config
|
|
76
76
|
attr_reader :registry
|
|
77
77
|
|
|
78
|
+
# Bootstrap CSS classes used for Navigation bar
|
|
79
|
+
attr_accessor :navbar_css_classes
|
|
80
|
+
|
|
78
81
|
# show Gravatar in Navigation bar
|
|
79
82
|
attr_accessor :show_gravatar
|
|
80
83
|
|
|
@@ -82,8 +85,24 @@ module RailsAdmin
|
|
|
82
85
|
attr_accessor :navigation_static_links
|
|
83
86
|
attr_accessor :navigation_static_label
|
|
84
87
|
|
|
85
|
-
#
|
|
86
|
-
|
|
88
|
+
# Set where RailsAdmin fetches JS/CSS from, defaults to :sprockets
|
|
89
|
+
attr_writer :asset_source
|
|
90
|
+
|
|
91
|
+
# Finish initialization by executing deferred configuration blocks
|
|
92
|
+
def initialize!
|
|
93
|
+
@deferred_blocks.each { |block| block.call(self) }
|
|
94
|
+
@deferred_blocks.clear
|
|
95
|
+
@initialized = true
|
|
96
|
+
end
|
|
97
|
+
|
|
98
|
+
# Evaluate the given block either immediately or lazily, based on initialization status.
|
|
99
|
+
def apply(&block)
|
|
100
|
+
if @initialized
|
|
101
|
+
yield(self)
|
|
102
|
+
else
|
|
103
|
+
@deferred_blocks << block
|
|
104
|
+
end
|
|
105
|
+
end
|
|
87
106
|
|
|
88
107
|
# Setup authentication to be run as a before filter
|
|
89
108
|
# This is run inside the controller instance so you can setup any authentication you need to
|
|
@@ -113,7 +132,7 @@ module RailsAdmin
|
|
|
113
132
|
@authenticate || DEFAULT_AUTHENTICATION
|
|
114
133
|
end
|
|
115
134
|
|
|
116
|
-
# Setup auditing/
|
|
135
|
+
# Setup auditing/versioning provider that observe objects lifecycle
|
|
117
136
|
def audit_with(*args, &block)
|
|
118
137
|
extension = args.shift
|
|
119
138
|
if extension
|
|
@@ -148,7 +167,7 @@ module RailsAdmin
|
|
|
148
167
|
# config.authorize_with :cancancan
|
|
149
168
|
# end
|
|
150
169
|
#
|
|
151
|
-
# See the wiki[https://github.com/
|
|
170
|
+
# See the wiki[https://github.com/railsadminteam/rails_admin/wiki] for more on authorization.
|
|
152
171
|
#
|
|
153
172
|
# @see RailsAdmin::Config::DEFAULT_AUTHORIZE
|
|
154
173
|
def authorize_with(*args, &block)
|
|
@@ -201,10 +220,10 @@ module RailsAdmin
|
|
|
201
220
|
end
|
|
202
221
|
|
|
203
222
|
def default_search_operator=(operator)
|
|
204
|
-
if %w
|
|
223
|
+
if %w[default like not_like starts_with ends_with is =].include? operator
|
|
205
224
|
@default_search_operator = operator
|
|
206
225
|
else
|
|
207
|
-
raise
|
|
226
|
+
raise ArgumentError.new("Search operator '#{operator}' not supported")
|
|
208
227
|
end
|
|
209
228
|
end
|
|
210
229
|
|
|
@@ -226,23 +245,34 @@ module RailsAdmin
|
|
|
226
245
|
#
|
|
227
246
|
# @see RailsAdmin::Config.registry
|
|
228
247
|
def model(entity, &block)
|
|
229
|
-
key =
|
|
230
|
-
|
|
248
|
+
key =
|
|
249
|
+
case entity
|
|
250
|
+
when RailsAdmin::AbstractModel
|
|
231
251
|
entity.model.try(:name).try :to_sym
|
|
232
|
-
|
|
252
|
+
when Class
|
|
233
253
|
entity.name.to_sym
|
|
234
|
-
|
|
254
|
+
when String, Symbol
|
|
235
255
|
entity.to_sym
|
|
236
256
|
else
|
|
237
257
|
entity.class.name.to_sym
|
|
238
258
|
end
|
|
239
|
-
end
|
|
240
259
|
|
|
241
|
-
@registry[key] ||= RailsAdmin::Config::
|
|
242
|
-
@registry[key].
|
|
260
|
+
@registry[key] ||= RailsAdmin::Config::Model.new(entity)
|
|
261
|
+
@registry[key].instance_eval(&block) if block && @registry[key].abstract_model
|
|
243
262
|
@registry[key]
|
|
244
263
|
end
|
|
245
264
|
|
|
265
|
+
def asset_source
|
|
266
|
+
@asset_source ||=
|
|
267
|
+
begin
|
|
268
|
+
warn <<~MSG
|
|
269
|
+
[Warning] After upgrading RailsAdmin to 3.x you haven't set asset_source yet, using :sprockets as the default.
|
|
270
|
+
To suppress this message, run 'rails rails_admin:install' to setup the asset delivery method suitable to you.
|
|
271
|
+
MSG
|
|
272
|
+
:sprockets
|
|
273
|
+
end
|
|
274
|
+
end
|
|
275
|
+
|
|
246
276
|
def default_hidden_fields=(fields)
|
|
247
277
|
if fields.is_a?(Array)
|
|
248
278
|
@default_hidden_fields = {}
|
|
@@ -253,9 +283,31 @@ module RailsAdmin
|
|
|
253
283
|
end
|
|
254
284
|
end
|
|
255
285
|
|
|
256
|
-
|
|
286
|
+
def parent_controller=(name)
|
|
287
|
+
@parent_controller = name
|
|
288
|
+
|
|
289
|
+
if defined?(RailsAdmin::ApplicationController) || defined?(RailsAdmin::MainController)
|
|
290
|
+
RailsAdmin.send(:remove_const, :ApplicationController)
|
|
291
|
+
RailsAdmin.send(:remove_const, :MainController)
|
|
292
|
+
load RailsAdmin::Engine.root.join('app/controllers/rails_admin/application_controller.rb')
|
|
293
|
+
load RailsAdmin::Engine.root.join('app/controllers/rails_admin/main_controller.rb')
|
|
294
|
+
end
|
|
295
|
+
end
|
|
296
|
+
|
|
297
|
+
def total_columns_width=(_)
|
|
298
|
+
ActiveSupport::Deprecation.warn('The total_columns_width configuration option is deprecated and has no effect.')
|
|
299
|
+
end
|
|
300
|
+
|
|
301
|
+
def sidescroll=(_)
|
|
302
|
+
ActiveSupport::Deprecation.warn('The sidescroll configuration option was removed, it is always enabled now.')
|
|
303
|
+
end
|
|
304
|
+
|
|
305
|
+
# Setup actions to be used.
|
|
257
306
|
def actions(&block)
|
|
258
|
-
|
|
307
|
+
return unless block
|
|
308
|
+
|
|
309
|
+
RailsAdmin::Config::Actions.reset
|
|
310
|
+
RailsAdmin::Config::Actions.instance_eval(&block)
|
|
259
311
|
end
|
|
260
312
|
|
|
261
313
|
# Returns all model configurations
|
|
@@ -271,31 +323,31 @@ module RailsAdmin
|
|
|
271
323
|
def reset
|
|
272
324
|
@compact_show_view = true
|
|
273
325
|
@browser_validations = true
|
|
274
|
-
@yell_for_non_accessible_fields = true
|
|
275
326
|
@authenticate = nil
|
|
276
327
|
@authorize = nil
|
|
277
328
|
@audit = nil
|
|
278
329
|
@current_user = nil
|
|
279
330
|
@default_hidden_fields = {}
|
|
280
331
|
@default_hidden_fields[:base] = [:_type]
|
|
281
|
-
@default_hidden_fields[:edit] = [
|
|
282
|
-
@default_hidden_fields[:show] = [
|
|
332
|
+
@default_hidden_fields[:edit] = %i[id _id created_at created_on deleted_at updated_at updated_on deleted_on]
|
|
333
|
+
@default_hidden_fields[:show] = %i[id _id created_at created_on deleted_at updated_at updated_on deleted_on]
|
|
283
334
|
@default_items_per_page = 20
|
|
284
335
|
@default_associated_collection_limit = 100
|
|
285
336
|
@default_search_operator = 'default'
|
|
286
337
|
@excluded_models = []
|
|
287
338
|
@included_models = []
|
|
288
|
-
@
|
|
289
|
-
@sidescroll = nil
|
|
290
|
-
@label_methods = [:name, :title]
|
|
339
|
+
@label_methods = %i[name title]
|
|
291
340
|
@main_app_name = proc { [Rails.application.engine_name.titleize.chomp(' Application'), 'Admin'] }
|
|
292
341
|
@registry = {}
|
|
342
|
+
@navbar_css_classes = %w[navbar-dark bg-primary border-bottom]
|
|
293
343
|
@show_gravatar = true
|
|
294
344
|
@navigation_static_links = {}
|
|
295
345
|
@navigation_static_label = nil
|
|
346
|
+
@asset_source = nil
|
|
296
347
|
@parent_controller = '::ActionController::Base'
|
|
297
348
|
@forgery_protection_settings = {with: :exception}
|
|
298
349
|
RailsAdmin::Config::Actions.reset
|
|
350
|
+
RailsAdmin::AbstractModel.reset
|
|
299
351
|
end
|
|
300
352
|
|
|
301
353
|
# Reset a provided model's configuration.
|
|
@@ -306,22 +358,21 @@ module RailsAdmin
|
|
|
306
358
|
@registry.delete(key)
|
|
307
359
|
end
|
|
308
360
|
|
|
309
|
-
#
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
361
|
+
# Perform reset, then load RailsAdmin initializer again
|
|
362
|
+
def reload!
|
|
363
|
+
@initialized = false
|
|
364
|
+
reset
|
|
365
|
+
load RailsAdmin::Engine.config.initializer_path
|
|
366
|
+
initialize!
|
|
315
367
|
end
|
|
316
368
|
|
|
317
369
|
# Get all models that are configured as visible sorted by their weight and label.
|
|
318
370
|
#
|
|
319
371
|
# @see RailsAdmin::Config::Hideable
|
|
320
|
-
|
|
321
372
|
def visible_models(bindings)
|
|
322
373
|
visible_models_with_bindings(bindings).sort do |a, b|
|
|
323
374
|
if (weight_order = a.weight <=> b.weight) == 0
|
|
324
|
-
a.label.
|
|
375
|
+
a.label.casecmp(b.label)
|
|
325
376
|
else
|
|
326
377
|
weight_order
|
|
327
378
|
end
|
|
@@ -338,9 +389,9 @@ module RailsAdmin
|
|
|
338
389
|
included_models.collect(&:to_s).presence || begin
|
|
339
390
|
@@system_models ||= # memoization for tests
|
|
340
391
|
([Rails.application] + Rails::Engine.subclasses.collect(&:instance)).flat_map do |app|
|
|
341
|
-
(app.paths['app/models'].to_a + app.
|
|
392
|
+
(app.paths['app/models'].to_a + app.config.eager_load_paths).collect do |load_path|
|
|
342
393
|
Dir.glob(app.root.join(load_path)).collect do |load_dir|
|
|
343
|
-
Dir.glob(load_dir
|
|
394
|
+
Dir.glob("#{load_dir}/**/*.rb").collect do |filename|
|
|
344
395
|
# app/models/module/class.rb => module/class.rb => module/class => Module::Class
|
|
345
396
|
lchomp(filename, "#{app.root.join(load_dir)}/").chomp('.rb').camelize
|
|
346
397
|
end
|
data/lib/rails_admin/engine.rb
CHANGED
|
@@ -1,68 +1,88 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
3
|
require 'kaminari'
|
|
4
4
|
require 'nested_form'
|
|
5
|
-
require 'rack-pjax'
|
|
6
5
|
require 'rails'
|
|
7
6
|
require 'rails_admin'
|
|
8
|
-
require '
|
|
7
|
+
require 'rails_admin/version'
|
|
8
|
+
require 'turbo-rails'
|
|
9
9
|
|
|
10
10
|
module RailsAdmin
|
|
11
11
|
class Engine < Rails::Engine
|
|
12
12
|
isolate_namespace RailsAdmin
|
|
13
13
|
|
|
14
|
+
attr_accessor :importmap
|
|
15
|
+
|
|
14
16
|
config.action_dispatch.rescue_responses['RailsAdmin::ActionNotAllowed'] = :forbidden
|
|
15
17
|
|
|
16
|
-
initializer 'RailsAdmin
|
|
17
|
-
|
|
18
|
-
rails_admin/rails_admin.js
|
|
19
|
-
rails_admin/rails_admin.css
|
|
20
|
-
rails_admin/jquery.colorpicker.js
|
|
21
|
-
rails_admin/jquery.colorpicker.css
|
|
22
|
-
)
|
|
23
|
-
end
|
|
18
|
+
initializer 'RailsAdmin reload config in development' do |app|
|
|
19
|
+
config.initializer_path = app.root.join('config/initializers/rails_admin.rb')
|
|
24
20
|
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
21
|
+
unless Rails.application.config.cache_classes
|
|
22
|
+
ActiveSupport::Reloader.before_class_unload do
|
|
23
|
+
RailsAdmin::Config.reload!
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
reloader = app.config.file_watcher.new([config.initializer_path], []) do
|
|
27
|
+
# Do nothing, ActiveSupport::Reloader will trigger class_unload! anyway
|
|
28
|
+
end
|
|
28
29
|
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
ActiveSupport::Reloader.before_class_unload do
|
|
33
|
-
RailsAdmin::Config.reset_all_models
|
|
34
|
-
end
|
|
35
|
-
# else
|
|
36
|
-
# For Rails 4 not implemented
|
|
30
|
+
app.reloaders << reloader
|
|
31
|
+
app.reloader.to_run do
|
|
32
|
+
reloader.execute_if_updated { require_unload_lock! }
|
|
37
33
|
end
|
|
34
|
+
reloader.execute
|
|
38
35
|
end
|
|
39
36
|
end
|
|
40
37
|
|
|
41
|
-
|
|
42
|
-
|
|
38
|
+
initializer 'RailsAdmin apply configuration', after: :eager_load! do |app|
|
|
39
|
+
RailsAdmin::Config.initialize!
|
|
40
|
+
|
|
41
|
+
# Force route reload, since it doesn't reflect RailsAdmin action configuration yet
|
|
42
|
+
app.reload_routes!
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
initializer 'RailsAdmin precompile hook', group: :all, after: 'RailsAdmin apply configuration' do |app|
|
|
46
|
+
case RailsAdmin.config.asset_source
|
|
47
|
+
when :sprockets
|
|
48
|
+
if defined?(Sprockets)
|
|
49
|
+
app.config.assets.precompile += %w[
|
|
50
|
+
rails_admin/application.js
|
|
51
|
+
rails_admin/application.css
|
|
52
|
+
]
|
|
53
|
+
app.config.assets.paths << RailsAdmin::Engine.root.join('src')
|
|
54
|
+
require 'rails_admin/support/esmodule_preprocessor'
|
|
55
|
+
Sprockets.register_preprocessor 'application/javascript', RailsAdmin::ESModulePreprocessor
|
|
56
|
+
end
|
|
57
|
+
when :importmap
|
|
58
|
+
self.importmap = Importmap::Map.new.draw(app.root.join('config/importmap.rails_admin.rb'))
|
|
59
|
+
end
|
|
43
60
|
end
|
|
44
61
|
|
|
45
62
|
# Check for required middlewares, users may forget to use them in Rails API mode
|
|
46
63
|
config.after_initialize do |app|
|
|
47
64
|
has_session_store = app.config.middleware.to_a.any? do |m|
|
|
48
65
|
m.klass.try(:<=, ActionDispatch::Session::AbstractStore) ||
|
|
66
|
+
m.klass.try(:<=, ActionDispatch::Session::AbstractSecureStore) ||
|
|
49
67
|
m.klass.name =~ /^ActionDispatch::Session::/
|
|
50
68
|
end
|
|
51
69
|
loaded = app.config.middleware.to_a.map(&:name)
|
|
52
|
-
required = %w
|
|
70
|
+
required = %w[ActionDispatch::Cookies ActionDispatch::Flash Rack::MethodOverride]
|
|
53
71
|
missing = required - loaded
|
|
54
72
|
unless missing.empty? && has_session_store
|
|
55
73
|
configs = missing.map { |m| "config.middleware.use #{m}" }
|
|
56
74
|
configs << "config.middleware.use #{app.config.session_store.try(:name) || 'ActionDispatch::Session::CookieStore'}, #{app.config.session_options}" unless has_session_store
|
|
57
|
-
raise
|
|
58
|
-
Required middlewares for RailsAdmin are not added
|
|
59
|
-
To fix this, add
|
|
75
|
+
raise <<~ERROR
|
|
76
|
+
Required middlewares for RailsAdmin are not added
|
|
77
|
+
To fix this, add
|
|
60
78
|
|
|
61
|
-
|
|
79
|
+
#{configs.join("\n ")}
|
|
62
80
|
|
|
63
|
-
to config/application.rb.
|
|
64
|
-
|
|
81
|
+
to config/application.rb.
|
|
82
|
+
ERROR
|
|
65
83
|
end
|
|
84
|
+
|
|
85
|
+
RailsAdmin::Version.warn_with_js_version
|
|
66
86
|
end
|
|
67
87
|
end
|
|
68
88
|
end
|