activeadmin 1.0.0.pre1 → 2.9.0
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 +5 -5
- data/CHANGELOG.md +587 -939
- data/CODE_OF_CONDUCT.md +74 -0
- data/CONTRIBUTING.md +110 -59
- data/LICENSE +0 -5
- data/README.md +80 -61
- data/app/assets/javascripts/active_admin/base.js +517 -0
- data/app/assets/stylesheets/active_admin/_base.scss +31 -34
- data/app/assets/stylesheets/active_admin/_forms.scss +33 -35
- data/app/assets/stylesheets/active_admin/_header.scss +40 -8
- data/app/assets/stylesheets/active_admin/_mixins.scss +1 -1
- data/app/assets/stylesheets/active_admin/_normalize.scss +447 -0
- data/app/assets/stylesheets/active_admin/components/_batch_actions.scss +0 -5
- data/app/assets/stylesheets/active_admin/components/_buttons.scss +0 -5
- data/app/assets/stylesheets/active_admin/components/_comments.scss +2 -2
- data/app/assets/stylesheets/active_admin/components/_pagination.scss +11 -0
- data/app/assets/stylesheets/active_admin/components/_scopes.scss +3 -0
- data/app/assets/stylesheets/active_admin/components/_status_tags.scss +0 -4
- data/app/assets/stylesheets/active_admin/components/_tables.scss +5 -3
- data/app/assets/stylesheets/active_admin/components/_tabs.scss +1 -1
- data/app/assets/stylesheets/active_admin/mixins/_all.scss +8 -11
- data/app/assets/stylesheets/active_admin/mixins/_gradients.scss +1 -1
- data/app/assets/stylesheets/active_admin/mixins/_sections.scss +0 -1
- data/app/assets/stylesheets/active_admin/mixins/_typography.scss +1 -1
- data/app/assets/stylesheets/active_admin/mixins/_variables.scss +9 -1
- data/app/assets/stylesheets/active_admin/print.scss +3 -4
- data/app/assets/stylesheets/active_admin/structure/_main_structure.scss +1 -1
- data/app/assets/stylesheets/active_admin/structure/_title_bar.scss +0 -5
- data/app/javascript/active_admin/base.js +28 -0
- data/app/javascript/active_admin/ext/jquery-ui.js +7 -0
- data/app/javascript/active_admin/ext/jquery.js +9 -0
- data/app/javascript/active_admin/initializers/batch-actions.js +61 -0
- data/app/javascript/active_admin/initializers/checkbox-toggler.js +3 -0
- data/app/javascript/active_admin/initializers/datepicker.js +16 -0
- data/app/javascript/active_admin/initializers/dropdown-menu.js +9 -0
- data/app/javascript/active_admin/initializers/filters.js +10 -0
- data/app/javascript/active_admin/initializers/has-many.js +95 -0
- data/app/javascript/active_admin/initializers/per-page.js +13 -0
- data/app/javascript/active_admin/initializers/table-checkbox-toggler.js +3 -0
- data/app/javascript/active_admin/initializers/tabs.js +6 -0
- data/app/javascript/active_admin/lib/checkbox-toggler.js +49 -0
- data/app/javascript/active_admin/lib/dropdown-menu.js +116 -0
- data/app/javascript/active_admin/lib/filters.js +39 -0
- data/app/javascript/active_admin/lib/modal-dialog.js +63 -0
- data/app/javascript/active_admin/lib/per-page.js +38 -0
- data/app/javascript/active_admin/lib/table-checkbox-toggler.js +38 -0
- data/app/javascript/active_admin/lib/utils.js +40 -0
- data/app/views/active_admin/devise/confirmations/new.html.erb +2 -2
- data/app/views/active_admin/devise/mailer/reset_password_instructions.html.erb +1 -1
- data/app/views/active_admin/devise/mailer/unlock_instructions.html.erb +2 -2
- data/app/views/active_admin/devise/passwords/edit.html.erb +2 -2
- data/app/views/active_admin/devise/passwords/new.html.erb +2 -2
- data/app/views/active_admin/devise/registrations/new.html.erb +3 -4
- data/app/views/active_admin/devise/sessions/new.html.erb +2 -2
- data/app/views/active_admin/devise/shared/_error_messages.html.erb +15 -0
- data/app/views/active_admin/devise/shared/_links.erb +12 -6
- data/app/views/active_admin/devise/unlocks/new.html.erb +2 -2
- data/app/views/kaminari/active_admin/_first_page.html.erb +11 -0
- data/app/views/kaminari/active_admin/_gap.html.erb +8 -0
- data/app/views/kaminari/active_admin/_last_page.html.erb +11 -0
- data/app/views/kaminari/active_admin/_next_page.html.erb +11 -0
- data/app/views/kaminari/active_admin/_page.html.erb +12 -0
- data/app/views/kaminari/active_admin/_paginator.html.erb +25 -0
- data/app/views/kaminari/active_admin/_prev_page.html.erb +11 -0
- data/app/views/kaminari/active_admin_countless/_first_page.html.erb +11 -0
- data/app/views/kaminari/active_admin_countless/_gap.html.erb +8 -0
- data/app/views/kaminari/active_admin_countless/_next_page.html.erb +11 -0
- data/app/views/kaminari/active_admin_countless/_page.html.erb +12 -0
- data/app/views/kaminari/active_admin_countless/_paginator.html.erb +24 -0
- data/app/views/kaminari/active_admin_countless/_prev_page.html.erb +11 -0
- data/app/views/layouts/active_admin_logged_out.html.erb +21 -7
- data/config/locales/ar.yml +62 -47
- data/config/locales/az.yml +138 -0
- data/config/locales/bg.yml +1 -3
- data/config/locales/bs.yml +1 -2
- data/config/locales/ca.yml +2 -4
- data/config/locales/cs.yml +1 -2
- data/config/locales/da.yml +45 -14
- data/config/locales/de-CH.yml +4 -3
- data/config/locales/de.yml +46 -3
- data/config/locales/el.yml +3 -4
- data/config/locales/en-CA.yml +139 -0
- data/config/locales/en-GB.yml +46 -5
- data/config/locales/en.yml +44 -9
- data/config/locales/eo.yml +145 -0
- data/config/locales/es-MX.yml +9 -6
- data/config/locales/es.yml +63 -14
- data/config/locales/fa.yml +1 -2
- data/config/locales/fi.yml +2 -3
- data/config/locales/fr.yml +36 -8
- data/config/locales/he.yml +53 -7
- data/config/locales/hr.yml +1 -2
- data/config/locales/hu.yml +6 -3
- data/config/locales/id.yml +135 -0
- data/config/locales/it.yml +49 -4
- data/config/locales/ja.yml +31 -7
- data/config/locales/ko.yml +66 -36
- data/config/locales/lt.yml +27 -6
- data/config/locales/lv.yml +3 -4
- data/config/locales/mk.yml +134 -0
- data/config/locales/nb.yml +22 -8
- data/config/locales/nl.yml +26 -3
- data/config/locales/pl.yml +75 -5
- data/config/locales/pt-BR.yml +24 -2
- data/config/locales/pt-PT.yml +1 -2
- data/config/locales/ro.yml +1 -2
- data/config/locales/ru.yml +21 -4
- data/config/locales/sk.yml +168 -0
- data/config/locales/sv-SE.yml +50 -8
- data/config/locales/tr.yml +92 -45
- data/config/locales/uk.yml +30 -16
- data/config/locales/vi.yml +53 -12
- data/config/locales/zh-CN.yml +44 -7
- data/config/locales/zh-TW.yml +42 -3
- data/docs/.gitignore +1 -0
- data/docs/0-installation.md +68 -18
- data/docs/1-general-configuration.md +88 -4
- data/docs/10-custom-pages.md +56 -2
- data/docs/11-decorators.md +20 -5
- data/docs/12-arbre-components.md +75 -11
- data/docs/13-authorization-adapter.md +73 -36
- data/docs/14-gotchas.md +64 -18
- data/docs/2-resource-customization.md +91 -23
- data/docs/3-index-pages/custom-index.md +5 -1
- data/docs/3-index-pages/index-as-block.md +3 -5
- data/docs/3-index-pages/index-as-blog.md +4 -6
- data/docs/3-index-pages/index-as-grid.md +3 -5
- data/docs/3-index-pages/index-as-table.md +46 -9
- data/docs/3-index-pages.md +73 -10
- data/docs/4-csv-format.md +35 -0
- data/docs/5-forms.md +96 -18
- data/docs/6-show-pages.md +13 -25
- data/docs/7-sidebars.md +13 -1
- data/docs/8-custom-actions.md +18 -1
- data/docs/9-batch-actions.md +9 -5
- data/docs/CNAME +1 -0
- data/docs/Gemfile +3 -0
- data/docs/Gemfile.lock +259 -0
- data/docs/_config.yml +4 -0
- data/docs/_includes/footer.html +8 -0
- data/docs/_includes/google-analytics.html +16 -0
- data/docs/_includes/head.html +7 -0
- data/docs/_includes/toc.html +98 -0
- data/docs/_includes/top-menu.html +17 -0
- data/docs/_layouts/default.html +21 -0
- data/docs/documentation.md +60 -0
- data/docs/images/activeadmin.png +0 -0
- data/docs/images/code-header.png +0 -0
- data/docs/images/divider.png +0 -0
- data/docs/images/features.png +0 -0
- data/docs/images/tidelift.svg +14 -0
- data/docs/index.html +226 -0
- data/docs/stylesheets/main.css +1205 -0
- data/lib/active_admin/abstract_view_factory.rb +13 -51
- data/lib/active_admin/application.rb +105 -138
- data/lib/active_admin/application_settings.rb +42 -0
- data/lib/active_admin/authorization_adapter.rb +4 -7
- data/lib/active_admin/base_controller/authorization.rb +16 -21
- data/lib/active_admin/base_controller/menu.rb +10 -10
- data/lib/active_admin/base_controller.rb +15 -11
- data/lib/active_admin/batch_actions/controller.rb +6 -7
- data/lib/active_admin/batch_actions/resource_extension.rb +15 -15
- data/lib/active_admin/batch_actions/views/batch_action_form.rb +4 -4
- data/lib/active_admin/batch_actions/views/batch_action_selector.rb +8 -7
- data/lib/active_admin/batch_actions/views/selection_cells.rb +7 -6
- data/lib/active_admin/batch_actions.rb +0 -1
- data/lib/active_admin/callbacks.rb +2 -2
- data/lib/active_admin/cancan_adapter.rb +1 -1
- data/lib/active_admin/collection_decorator.rb +31 -0
- data/lib/active_admin/controller_action.rb +2 -1
- data/lib/active_admin/csv_builder.rb +30 -20
- data/lib/active_admin/dependency.rb +36 -29
- data/lib/active_admin/deprecation.rb +0 -25
- data/lib/active_admin/devise.rb +9 -9
- data/lib/active_admin/dsl.rb +5 -18
- data/lib/active_admin/dynamic_setting.rb +38 -0
- data/lib/active_admin/dynamic_settings_node.rb +28 -0
- data/lib/active_admin/engine.rb +14 -7
- data/lib/active_admin/error.rb +6 -6
- data/lib/active_admin/filters/active.rb +29 -0
- data/lib/active_admin/filters/active_filter.rb +123 -0
- data/lib/active_admin/filters/active_sidebar.rb +54 -0
- data/lib/active_admin/filters/forms.rb +17 -10
- data/lib/active_admin/filters/formtastic_addons.rb +2 -7
- data/lib/active_admin/filters/resource_extension.rb +50 -14
- data/lib/active_admin/filters.rb +7 -5
- data/lib/active_admin/form_builder.rb +112 -67
- data/lib/active_admin/generators/boilerplate.rb +53 -0
- data/lib/active_admin/helpers/collection.rb +2 -0
- data/lib/active_admin/helpers/optional_display.rb +2 -2
- data/lib/active_admin/helpers/routes/url_helpers.rb +1 -1
- data/lib/active_admin/helpers/scope_chain.rb +1 -0
- data/lib/active_admin/inputs/datepicker_input.rb +13 -6
- data/lib/active_admin/inputs/filters/base/search_method_select.rb +9 -9
- data/lib/active_admin/inputs/filters/base.rb +3 -1
- data/lib/active_admin/inputs/filters/boolean_input.rb +1 -1
- data/lib/active_admin/inputs/filters/check_boxes_input.rb +1 -1
- data/lib/active_admin/inputs/filters/date_picker_input.rb +13 -0
- data/lib/active_admin/inputs/filters/date_range_input.rb +25 -9
- data/lib/active_admin/inputs/filters/select_input.rb +8 -4
- data/lib/active_admin/inputs/filters/text_input.rb +25 -0
- data/lib/active_admin/inputs.rb +2 -0
- data/lib/active_admin/localizers/resource_localizer.rb +35 -0
- data/lib/active_admin/localizers.rb +11 -0
- data/lib/active_admin/menu.rb +13 -15
- data/lib/active_admin/menu_collection.rb +0 -2
- data/lib/active_admin/menu_item.rb +10 -38
- data/lib/active_admin/namespace.rb +51 -32
- data/lib/active_admin/namespace_settings.rb +126 -0
- data/lib/active_admin/order_clause.rb +30 -8
- data/lib/active_admin/orm/active_record/comments/comment.rb +6 -20
- data/lib/active_admin/orm/active_record/comments/views/active_admin_comments.rb +44 -21
- data/lib/active_admin/orm/active_record/comments/views.rb +2 -2
- data/lib/active_admin/orm/active_record/comments.rb +49 -29
- data/lib/active_admin/orm/active_record.rb +1 -1
- data/lib/active_admin/page.rb +24 -5
- data/lib/active_admin/page_controller.rb +2 -2
- data/lib/active_admin/page_dsl.rb +5 -1
- data/lib/active_admin/page_presenter.rb +2 -1
- data/lib/active_admin/pundit_adapter.rb +22 -9
- data/lib/active_admin/resource/action_items.rb +34 -12
- data/lib/active_admin/resource/attributes.rb +47 -0
- data/lib/active_admin/resource/belongs_to.rb +17 -4
- data/lib/active_admin/resource/controllers.rb +1 -1
- data/lib/active_admin/resource/menu.rb +9 -6
- data/lib/active_admin/resource/model.rb +15 -0
- data/lib/active_admin/resource/naming.rb +5 -5
- data/lib/active_admin/resource/ordering.rb +11 -0
- data/lib/active_admin/resource/page_presenters.rb +1 -1
- data/lib/active_admin/resource/pagination.rb +4 -0
- data/lib/active_admin/resource/routes.rb +56 -26
- data/lib/active_admin/resource/scope_to.rb +7 -7
- data/lib/active_admin/resource/scopes.rb +5 -3
- data/lib/active_admin/resource/sidebars.rb +2 -2
- data/lib/active_admin/resource.rb +80 -22
- data/lib/active_admin/resource_collection.rb +5 -3
- data/lib/active_admin/resource_controller/action_builder.rb +10 -0
- data/lib/active_admin/resource_controller/data_access.rb +56 -43
- data/lib/active_admin/resource_controller/decorators.rb +9 -31
- data/lib/active_admin/resource_controller/polymorphic_routes.rb +37 -0
- data/lib/active_admin/resource_controller/resource_class_methods.rb +2 -0
- data/lib/active_admin/resource_controller/scoping.rb +1 -1
- data/lib/active_admin/resource_controller/streaming.rb +12 -5
- data/lib/active_admin/resource_controller.rb +26 -10
- data/lib/active_admin/resource_dsl.rb +67 -21
- data/lib/active_admin/router.rb +90 -82
- data/lib/active_admin/scope.rb +21 -14
- data/lib/active_admin/settings_node.rb +19 -0
- data/lib/active_admin/sidebar_section.rb +6 -12
- data/lib/active_admin/version.rb +1 -1
- data/lib/active_admin/view_factory.rb +17 -18
- data/lib/active_admin/view_helpers/auto_link_helper.rb +2 -2
- data/lib/active_admin/view_helpers/breadcrumb_helper.rb +5 -5
- data/lib/active_admin/view_helpers/display_helper.rb +51 -9
- data/lib/active_admin/view_helpers/download_format_links_helper.rb +14 -1
- data/lib/active_admin/view_helpers/fields_for.rb +4 -4
- data/lib/active_admin/view_helpers/form_helper.rb +2 -2
- data/lib/active_admin/view_helpers/method_or_proc_helper.rb +11 -4
- data/lib/active_admin/view_helpers/scope_name_helper.rb +16 -0
- data/lib/active_admin/view_helpers.rb +2 -2
- data/lib/active_admin/views/action_items.rb +1 -1
- data/lib/active_admin/views/components/active_admin_form.rb +45 -13
- data/lib/active_admin/views/components/attributes_table.rb +11 -29
- data/lib/active_admin/views/components/blank_slate.rb +1 -1
- data/lib/active_admin/views/components/columns.rb +12 -7
- data/lib/active_admin/views/components/dropdown_menu.rb +11 -13
- data/lib/active_admin/views/components/index_list.rb +6 -5
- data/lib/active_admin/views/components/menu.rb +32 -0
- data/lib/active_admin/views/components/menu_item.rb +58 -0
- data/lib/active_admin/views/components/paginated_collection.rb +52 -33
- data/lib/active_admin/views/components/panel.rb +2 -4
- data/lib/active_admin/views/components/scopes.rb +20 -12
- data/lib/active_admin/views/components/sidebar.rb +13 -0
- data/lib/active_admin/views/components/sidebar_section.rb +6 -1
- data/lib/active_admin/views/components/site_title.rb +6 -7
- data/lib/active_admin/views/components/status_tag.rb +19 -23
- data/lib/active_admin/views/components/table_for.rb +31 -57
- data/lib/active_admin/views/components/tabs.rb +17 -5
- data/lib/active_admin/views/footer.rb +15 -4
- data/lib/active_admin/views/header.rb +3 -16
- data/lib/active_admin/views/index_as_blog.rb +3 -4
- data/lib/active_admin/views/index_as_grid.rb +28 -28
- data/lib/active_admin/views/index_as_table.rb +76 -28
- data/lib/active_admin/views/pages/base.rb +45 -58
- data/lib/active_admin/views/pages/form.rb +5 -2
- data/lib/active_admin/views/pages/index.rb +15 -13
- data/lib/active_admin/views/pages/layout.rb +1 -1
- data/lib/active_admin/views/pages/show.rb +9 -3
- data/lib/active_admin/views/tabbed_navigation.rb +4 -59
- data/lib/active_admin/views/title_bar.rb +6 -6
- data/lib/active_admin/views.rb +1 -1
- data/lib/active_admin.rb +69 -67
- data/lib/activeadmin.rb +1 -1
- data/lib/generators/active_admin/assets/assets_generator.rb +3 -3
- data/lib/generators/active_admin/assets/templates/active_admin.js +1 -0
- data/lib/generators/active_admin/assets/templates/{active_admin.css.scss → active_admin.scss} +3 -3
- data/lib/generators/active_admin/devise/devise_generator.rb +17 -26
- data/lib/generators/active_admin/install/install_generator.rb +18 -8
- data/lib/generators/active_admin/install/templates/active_admin.rb.erb +107 -5
- data/lib/generators/active_admin/install/templates/{admin_user.rb.erb → admin_users.rb.erb} +1 -3
- data/lib/generators/active_admin/install/templates/dashboard.rb +2 -3
- data/lib/generators/active_admin/install/templates/migrations/{create_active_admin_comments.rb → create_active_admin_comments.rb.erb} +2 -5
- data/lib/generators/active_admin/page/page_generator.rb +1 -1
- data/lib/generators/active_admin/page/templates/page.rb +1 -1
- data/lib/generators/active_admin/resource/resource_generator.rb +8 -2
- data/lib/generators/active_admin/resource/templates/admin.rb.erb +46 -0
- data/lib/generators/active_admin/webpacker/plugins/jquery.js +7 -0
- data/lib/generators/active_admin/webpacker/templates/active_admin.js +5 -0
- data/lib/generators/active_admin/webpacker/templates/active_admin.scss +17 -0
- data/lib/generators/active_admin/webpacker/templates/print.scss +2 -0
- data/lib/generators/active_admin/webpacker/webpacker_generator.rb +26 -0
- data/lib/ransack_ext.rb +11 -3
- data/vendor/assets/javascripts/jquery-ui/data.js +41 -0
- data/vendor/assets/javascripts/jquery-ui/disable-selection.js +48 -0
- data/vendor/assets/javascripts/jquery-ui/escape-selector.js +23 -0
- data/vendor/assets/javascripts/jquery-ui/focusable.js +86 -0
- data/vendor/assets/javascripts/jquery-ui/form-reset-mixin.js +80 -0
- data/vendor/assets/javascripts/jquery-ui/form.js +22 -0
- data/vendor/assets/javascripts/jquery-ui/ie.js +17 -0
- data/vendor/assets/javascripts/jquery-ui/keycode.js +47 -0
- data/vendor/assets/javascripts/jquery-ui/labels.js +65 -0
- data/vendor/assets/javascripts/jquery-ui/plugin.js +46 -0
- data/vendor/assets/javascripts/jquery-ui/position.js +500 -0
- data/vendor/assets/javascripts/jquery-ui/safe-active-element.js +42 -0
- data/vendor/assets/javascripts/jquery-ui/safe-blur.js +23 -0
- data/vendor/assets/javascripts/jquery-ui/scroll-parent.js +47 -0
- data/vendor/assets/javascripts/jquery-ui/tabbable.js +38 -0
- data/vendor/assets/javascripts/jquery-ui/unique-id.js +51 -0
- data/vendor/assets/javascripts/jquery-ui/version.js +17 -0
- data/vendor/assets/javascripts/jquery-ui/widget.js +735 -0
- data/vendor/assets/javascripts/jquery-ui/widgets/button.js +391 -0
- data/vendor/assets/javascripts/jquery-ui/widgets/checkboxradio.js +291 -0
- data/vendor/assets/javascripts/jquery-ui/widgets/controlgroup.js +300 -0
- data/vendor/assets/javascripts/jquery-ui/widgets/datepicker.js +2123 -0
- data/vendor/assets/javascripts/jquery-ui/widgets/dialog.js +954 -0
- data/vendor/assets/javascripts/jquery-ui/widgets/draggable.js +1259 -0
- data/vendor/assets/javascripts/jquery-ui/widgets/mouse.js +230 -0
- data/vendor/assets/javascripts/jquery-ui/widgets/resizable.js +1207 -0
- data/vendor/assets/javascripts/jquery-ui/widgets/sortable.js +1561 -0
- data/vendor/assets/javascripts/jquery-ui/widgets/tabs.js +931 -0
- metadata +182 -553
- data/.gitignore +0 -49
- data/.hound.yml +0 -11
- data/.travis.yml +0 -42
- data/.yardopts +0 -8
- data/Gemfile +0 -54
- data/Guardfile +0 -8
- data/Rakefile +0 -33
- data/activeadmin.gemspec +0 -28
- data/app/assets/images/active_admin/datepicker/datepicker-input-icon.png +0 -0
- data/app/assets/images/active_admin/nested_menu_arrow.gif +0 -0
- data/app/assets/images/active_admin/nested_menu_arrow_dark.gif +0 -0
- data/app/assets/images/active_admin/orderable.png +0 -0
- data/app/assets/javascripts/active_admin/application.js.coffee +0 -32
- data/app/assets/javascripts/active_admin/base.js.coffee +0 -14
- data/app/assets/javascripts/active_admin/ext/jquery-ui.js.coffee +0 -6
- data/app/assets/javascripts/active_admin/ext/jquery.js.coffee +0 -7
- data/app/assets/javascripts/active_admin/lib/batch_actions.js.coffee +0 -39
- data/app/assets/javascripts/active_admin/lib/checkbox-toggler.js.coffee +0 -36
- data/app/assets/javascripts/active_admin/lib/dropdown-menu.js.coffee +0 -101
- data/app/assets/javascripts/active_admin/lib/flash.js.coffee +0 -19
- data/app/assets/javascripts/active_admin/lib/has_many.js.coffee +0 -79
- data/app/assets/javascripts/active_admin/lib/modal_dialog.js.coffee +0 -37
- data/app/assets/javascripts/active_admin/lib/per_page.js.coffee +0 -27
- data/app/assets/javascripts/active_admin/lib/popover.js.coffee +0 -68
- data/app/assets/javascripts/active_admin/lib/table-checkbox-toggler.js.coffee +0 -24
- data/app/assets/stylesheets/active_admin/components/_popovers.scss +0 -122
- data/app/assets/stylesheets/active_admin/mixins/_icons.scss +0 -20
- data/app/assets/stylesheets/active_admin/mixins/_reset.scss +0 -165
- data/cucumber.yml +0 -3
- data/features/action_item.feature +0 -73
- data/features/authorization.feature +0 -64
- data/features/authorization_cancan.feature +0 -52
- data/features/authorization_pundit.feature +0 -37
- data/features/belongs_to.feature +0 -66
- data/features/breadcrumb.feature +0 -75
- data/features/comments/commenting.feature +0 -171
- data/features/comments/viewing_index.feature +0 -19
- data/features/dashboard.feature +0 -16
- data/features/decorators.feature +0 -41
- data/features/development_reloading.feature +0 -30
- data/features/edit_page.feature +0 -117
- data/features/favicon.feature +0 -20
- data/features/first_boot.feature +0 -16
- data/features/global_navigation.feature +0 -29
- data/features/i18n.feature +0 -43
- data/features/index/batch_actions.feature +0 -164
- data/features/index/filters.feature +0 -161
- data/features/index/format_as_csv.feature +0 -203
- data/features/index/formats.feature +0 -66
- data/features/index/index_as_block.feature +0 -15
- data/features/index/index_as_blog.feature +0 -69
- data/features/index/index_as_grid.feature +0 -45
- data/features/index/index_as_table.feature +0 -291
- data/features/index/index_blank_slate.feature +0 -83
- data/features/index/index_parameters.feature +0 -75
- data/features/index/index_scope_to.feature +0 -56
- data/features/index/index_scopes.feature +0 -251
- data/features/index/page_title.feature +0 -41
- data/features/index/pagination.feature +0 -59
- data/features/index/switch_index_view.feature +0 -73
- data/features/menu.feature +0 -53
- data/features/new_page.feature +0 -109
- data/features/registering_assets.feature +0 -35
- data/features/registering_pages.feature +0 -148
- data/features/registering_resources.feature +0 -33
- data/features/renamed_resource.feature +0 -32
- data/features/root_to.feature +0 -17
- data/features/show/default_content.feature +0 -43
- data/features/show/page_title.feature +0 -58
- data/features/show/tabs.feature +0 -27
- data/features/sidebar_sections.feature +0 -210
- data/features/site_title.feature +0 -47
- data/features/specifying_actions.feature +0 -93
- data/features/step_definitions/action_item_steps.rb +0 -7
- data/features/step_definitions/action_link_steps.rb +0 -20
- data/features/step_definitions/additional_web_steps.rb +0 -81
- data/features/step_definitions/asset_steps.rb +0 -15
- data/features/step_definitions/attribute_steps.rb +0 -18
- data/features/step_definitions/batch_action_steps.rb +0 -72
- data/features/step_definitions/blog_steps.rb +0 -3
- data/features/step_definitions/breadcrumb_steps.rb +0 -3
- data/features/step_definitions/comment_steps.rb +0 -12
- data/features/step_definitions/configuration_steps.rb +0 -100
- data/features/step_definitions/dashboard_steps.rb +0 -15
- data/features/step_definitions/factory_steps.rb +0 -34
- data/features/step_definitions/filter_steps.rb +0 -39
- data/features/step_definitions/flash_steps.rb +0 -11
- data/features/step_definitions/format_steps.rb +0 -52
- data/features/step_definitions/i18n_steps.rb +0 -3
- data/features/step_definitions/index_scope_steps.rb +0 -21
- data/features/step_definitions/index_views_steps.rb +0 -3
- data/features/step_definitions/layout_steps.rb +0 -3
- data/features/step_definitions/member_link_steps.rb +0 -7
- data/features/step_definitions/menu_steps.rb +0 -11
- data/features/step_definitions/pagination_steps.rb +0 -7
- data/features/step_definitions/sidebar_steps.rb +0 -13
- data/features/step_definitions/site_title_steps.rb +0 -17
- data/features/step_definitions/symbol_leak_steps.rb +0 -3
- data/features/step_definitions/tab_steps.rb +0 -8
- data/features/step_definitions/table_steps.rb +0 -119
- data/features/step_definitions/user_steps.rb +0 -45
- data/features/step_definitions/web_steps.rb +0 -85
- data/features/sti_resource.feature +0 -65
- data/features/strong_parameters.feature +0 -73
- data/features/support/env.rb +0 -145
- data/features/support/paths.rb +0 -71
- data/features/support/selectors.rb +0 -45
- data/features/symbol_leak.feature +0 -35
- data/features/users/logging_in.feature +0 -34
- data/features/users/logging_out.feature +0 -13
- data/features/users/resetting_password.feature +0 -34
- data/lib/active_admin/batch_actions/views/batch_action_popover.rb +0 -28
- data/lib/active_admin/event.rb +0 -33
- data/lib/active_admin/helpers/settings.rb +0 -115
- data/lib/active_admin/iconic/icons.rb +0 -142
- data/lib/active_admin/iconic.rb +0 -53
- data/lib/active_admin/view_helpers/icon_helper.rb +0 -12
- data/lib/active_admin/views/components/action_list_popover.rb +0 -29
- data/lib/active_admin/views/components/popover.rb +0 -27
- data/lib/generators/active_admin/assets/templates/active_admin.js.coffee +0 -1
- data/lib/generators/active_admin/resource/templates/admin.rb +0 -18
- data/script/local +0 -44
- data/script/travis_cache +0 -107
- data/script/use_rails +0 -53
- data/spec/javascripts/coffeescripts/jquery.aa.checkbox-toggler-spec.js.coffee +0 -50
- data/spec/javascripts/coffeescripts/jquery.aa.flash.js.coffee +0 -25
- data/spec/javascripts/coffeescripts/jquery.aa.popover-spec.js.coffee +0 -82
- data/spec/javascripts/coffeescripts/jquery.aa.table-checkbox-toggler-spec.js.coffee +0 -34
- data/spec/javascripts/fixtures/checkboxes.html +0 -9
- data/spec/javascripts/fixtures/flashes.html +0 -2
- data/spec/javascripts/fixtures/table_checkboxes.html +0 -17
- data/spec/javascripts/helpers/SpecHelper.js +0 -3
- data/spec/javascripts/support/jasmine.yml +0 -74
- data/spec/javascripts/support/jasmine_config.rb +0 -23
- data/spec/javascripts/support/jasmine_runner.rb +0 -32
- data/spec/rails_helper.rb +0 -154
- data/spec/requests/default_namespace_spec.rb +0 -61
- data/spec/requests/javascript_spec.rb +0 -20
- data/spec/requests/memory_spec.rb +0 -23
- data/spec/requests/stylesheets_spec.rb +0 -18
- data/spec/spec_helper.rb +0 -17
- data/spec/support/deferred_garbage_collection.rb +0 -19
- data/spec/support/detect_rails_version.rb +0 -34
- data/spec/support/integration_example_group.rb +0 -31
- data/spec/support/jslint.yml +0 -80
- data/spec/support/rails_template.rb +0 -138
- data/spec/support/rails_template_with_data.rb +0 -59
- data/spec/support/templates/admin/stores.rb +0 -9
- data/spec/support/templates/cucumber.rb +0 -24
- data/spec/support/templates/cucumber_with_reloading.rb +0 -5
- data/spec/support/templates/en.yml +0 -8
- data/spec/support/templates/policies/active_admin/comment_policy.rb +0 -9
- data/spec/support/templates/policies/active_admin/page_policy.rb +0 -18
- data/spec/support/templates/policies/admin_user_policy.rb +0 -11
- data/spec/support/templates/policies/application_policy.rb +0 -45
- data/spec/support/templates/policies/category_policy.rb +0 -7
- data/spec/support/templates/policies/post_policy.rb +0 -15
- data/spec/support/templates/policies/store_policy.rb +0 -11
- data/spec/support/templates/policies/user_policy.rb +0 -11
- data/spec/support/templates/post_decorator.rb +0 -11
- data/spec/unit/abstract_view_factory_spec.rb +0 -79
- data/spec/unit/action_builder_spec.rb +0 -132
- data/spec/unit/active_admin_spec.rb +0 -11
- data/spec/unit/application_spec.rb +0 -140
- data/spec/unit/asset_registration_spec.rb +0 -52
- data/spec/unit/authorization/authorization_adapter_spec.rb +0 -61
- data/spec/unit/authorization/controller_authorization_spec.rb +0 -39
- data/spec/unit/authorization/index_overriding_spec.rb +0 -22
- data/spec/unit/auto_link_spec.rb +0 -69
- data/spec/unit/batch_actions/resource_spec.rb +0 -92
- data/spec/unit/batch_actions/settings_spec.rb +0 -61
- data/spec/unit/belongs_to_spec.rb +0 -51
- data/spec/unit/cancan_adapter_spec.rb +0 -43
- data/spec/unit/comments_spec.rb +0 -166
- data/spec/unit/component_spec.rb +0 -18
- data/spec/unit/config_shared_examples.rb +0 -59
- data/spec/unit/controller_filters_spec.rb +0 -44
- data/spec/unit/csv_builder_spec.rb +0 -244
- data/spec/unit/dependency_spec.rb +0 -135
- data/spec/unit/devise_spec.rb +0 -96
- data/spec/unit/dsl_spec.rb +0 -122
- data/spec/unit/event_spec.rb +0 -47
- data/spec/unit/filters/filter_form_builder_spec.rb +0 -433
- data/spec/unit/filters/resource_spec.rb +0 -121
- data/spec/unit/form_builder_spec.rb +0 -752
- data/spec/unit/generators/install_spec.rb +0 -23
- data/spec/unit/helpers/collection_spec.rb +0 -65
- data/spec/unit/helpers/scope_chain_spec.rb +0 -36
- data/spec/unit/helpers/settings_spec.rb +0 -30
- data/spec/unit/i18n_spec.rb +0 -12
- data/spec/unit/menu_collection_spec.rb +0 -62
- data/spec/unit/menu_item_spec.rb +0 -143
- data/spec/unit/menu_spec.rb +0 -71
- data/spec/unit/namespace/authorization_spec.rb +0 -27
- data/spec/unit/namespace/register_page_spec.rb +0 -74
- data/spec/unit/namespace/register_resource_spec.rb +0 -161
- data/spec/unit/namespace_spec.rb +0 -103
- data/spec/unit/order_clause_spec.rb +0 -81
- data/spec/unit/page_controller_spec.rb +0 -5
- data/spec/unit/page_spec.rb +0 -78
- data/spec/unit/pretty_format_spec.rb +0 -63
- data/spec/unit/pundit_adapter_spec.rb +0 -98
- data/spec/unit/resource/action_items_spec.rb +0 -65
- data/spec/unit/resource/includes_spec.rb +0 -21
- data/spec/unit/resource/menu_spec.rb +0 -18
- data/spec/unit/resource/naming_spec.rb +0 -122
- data/spec/unit/resource/page_presenters_spec.rb +0 -44
- data/spec/unit/resource/pagination_spec.rb +0 -38
- data/spec/unit/resource/routes_spec.rb +0 -73
- data/spec/unit/resource/scopes_spec.rb +0 -50
- data/spec/unit/resource/sidebars_spec.rb +0 -43
- data/spec/unit/resource_collection_spec.rb +0 -158
- data/spec/unit/resource_controller/data_access_spec.rb +0 -140
- data/spec/unit/resource_controller/decorators_spec.rb +0 -83
- data/spec/unit/resource_controller/sidebars_spec.rb +0 -45
- data/spec/unit/resource_controller_spec.rb +0 -269
- data/spec/unit/resource_registration_spec.rb +0 -56
- data/spec/unit/resource_spec.rb +0 -278
- data/spec/unit/routing_spec.rb +0 -180
- data/spec/unit/scope_spec.rb +0 -190
- data/spec/unit/settings_spec.rb +0 -118
- data/spec/unit/view_factory_spec.rb +0 -21
- data/spec/unit/view_helpers/breadcrumbs_spec.rb +0 -217
- data/spec/unit/view_helpers/display_name_spec.rb +0 -69
- data/spec/unit/view_helpers/download_format_links_helper_spec.rb +0 -39
- data/spec/unit/view_helpers/fields_for_spec.rb +0 -50
- data/spec/unit/view_helpers/flash_helper_spec.rb +0 -25
- data/spec/unit/view_helpers/form_helper_spec.rb +0 -43
- data/spec/unit/view_helpers/method_or_proc_helper_spec.rb +0 -139
- data/spec/unit/views/components/action_list_popover_spec.rb +0 -40
- data/spec/unit/views/components/attributes_table_spec.rb +0 -272
- data/spec/unit/views/components/batch_action_popover_spec.rb +0 -47
- data/spec/unit/views/components/blank_slate_spec.rb +0 -27
- data/spec/unit/views/components/columns_spec.rb +0 -172
- data/spec/unit/views/components/index_list_spec.rb +0 -35
- data/spec/unit/views/components/index_table_for_spec.rb +0 -46
- data/spec/unit/views/components/paginated_collection_spec.rb +0 -236
- data/spec/unit/views/components/panel_spec.rb +0 -62
- data/spec/unit/views/components/popover_spec.rb +0 -33
- data/spec/unit/views/components/sidebar_section_spec.rb +0 -47
- data/spec/unit/views/components/site_title_spec.rb +0 -78
- data/spec/unit/views/components/status_tag_spec.rb +0 -235
- data/spec/unit/views/components/table_for_spec.rb +0 -384
- data/spec/unit/views/components/tabs_spec.rb +0 -39
- data/spec/unit/views/components/unsupported_browser_spec.rb +0 -47
- data/spec/unit/views/pages/form_spec.rb +0 -42
- data/spec/unit/views/pages/index_spec.rb +0 -60
- data/spec/unit/views/pages/layout_spec.rb +0 -59
- data/spec/unit/views/pages/show_spec.rb +0 -33
- data/spec/unit/views/tabbed_navigation_spec.rb +0 -158
- data/tasks/docs.rake +0 -37
- data/tasks/parallel_tests.rake +0 -66
- data/tasks/test.rake +0 -83
- data/tasks/yard.rake +0 -9
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
require "active_admin/error"
|
|
2
|
+
require "active_admin/dependency"
|
|
2
3
|
|
|
3
4
|
module ActiveAdmin
|
|
4
5
|
module Generators
|
|
@@ -6,24 +7,27 @@ module ActiveAdmin
|
|
|
6
7
|
desc "Creates an admin user and uses Devise for authentication"
|
|
7
8
|
argument :name, type: :string, default: "AdminUser"
|
|
8
9
|
|
|
9
|
-
class_option
|
|
10
|
-
|
|
10
|
+
class_option :registerable, type: :boolean, default: false,
|
|
11
|
+
desc: "Should the generated resource be registerable?"
|
|
11
12
|
|
|
12
13
|
RESERVED_NAMES = [:active_admin_user]
|
|
13
14
|
|
|
14
|
-
class_option
|
|
15
|
-
|
|
15
|
+
class_option :default_user, type: :boolean, default: true,
|
|
16
|
+
desc: "Should a default user be created inside the migration?"
|
|
16
17
|
|
|
17
18
|
def install_devise
|
|
18
19
|
begin
|
|
19
|
-
Dependency.devise! Dependency::DEVISE
|
|
20
|
+
Dependency.devise! Dependency::Requirements::DEVISE
|
|
20
21
|
rescue DependencyError => e
|
|
21
22
|
raise ActiveAdmin::GeneratorError, "#{e.message} If you don't want to use devise, run the generator with --skip-users."
|
|
22
23
|
end
|
|
23
24
|
|
|
24
|
-
require
|
|
25
|
+
require "devise"
|
|
25
26
|
|
|
26
|
-
|
|
27
|
+
initializer_file =
|
|
28
|
+
File.join(destination_root, "config", "initializers", "devise.rb")
|
|
29
|
+
|
|
30
|
+
if File.exist?(initializer_file)
|
|
27
31
|
log :generate, "No need to install devise, already done."
|
|
28
32
|
else
|
|
29
33
|
log :generate, "devise:install"
|
|
@@ -50,27 +54,14 @@ module ActiveAdmin
|
|
|
50
54
|
gsub_file routes_file, /devise_for :#{plural_table_name}$/, "devise_for :#{plural_table_name}, ActiveAdmin::Devise.config"
|
|
51
55
|
end
|
|
52
56
|
|
|
53
|
-
def
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
return if
|
|
57
|
-
|
|
58
|
-
devise_migration_content = File.read(devise_migration_file)
|
|
57
|
+
def add_default_user_to_seed
|
|
58
|
+
seeds_paths = Rails.application.paths["db/seeds.rb"]
|
|
59
|
+
seeds_file = seeds_paths.existent.first
|
|
60
|
+
return if seeds_file.nil? || !options[:default_user]
|
|
59
61
|
|
|
60
|
-
create_user_code = "#{class_name}.create!(email: 'admin@example.com', password: 'password', password_confirmation: 'password')"
|
|
62
|
+
create_user_code = "#{class_name}.create!(email: 'admin@example.com', password: 'password', password_confirmation: 'password') if Rails.env.development?"
|
|
61
63
|
|
|
62
|
-
|
|
63
|
-
inject_into_file devise_migration_file,
|
|
64
|
-
"def migrate(direction)\n super\n # Create a default user\n #{create_user_code} if direction == :up\n end\n\n ",
|
|
65
|
-
before: "def change"
|
|
66
|
-
elsif devise_migration_content[/def (self.)?up/]
|
|
67
|
-
inject_into_file devise_migration_file,
|
|
68
|
-
"# Create a default user\n #{create_user_code}\n\n ",
|
|
69
|
-
before: "add_index :#{table_name}, :email"
|
|
70
|
-
else
|
|
71
|
-
puts devise_migration_content
|
|
72
|
-
raise "Failed to add default admin user to migration."
|
|
73
|
-
end
|
|
64
|
+
append_to_file seeds_file, create_user_code
|
|
74
65
|
end
|
|
75
66
|
end
|
|
76
67
|
end
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
require
|
|
1
|
+
require "rails/generators/active_record"
|
|
2
2
|
|
|
3
3
|
module ActiveAdmin
|
|
4
4
|
module Generators
|
|
@@ -7,21 +7,25 @@ module ActiveAdmin
|
|
|
7
7
|
argument :name, type: :string, default: "AdminUser"
|
|
8
8
|
|
|
9
9
|
hook_for :users, default: "devise", desc: "Admin user generator to run. Skip with --skip-users"
|
|
10
|
+
class_option :skip_comments, type: :boolean, default: false, desc: "Skip installation of comments"
|
|
11
|
+
class_option :use_webpacker, type: :boolean, default: false, desc: "Use Webpacker assets instead of Sprockets"
|
|
10
12
|
|
|
11
|
-
source_root File.expand_path("
|
|
13
|
+
source_root File.expand_path("templates", __dir__)
|
|
12
14
|
|
|
13
15
|
def copy_initializer
|
|
14
|
-
@underscored_user_name = name.underscore
|
|
16
|
+
@underscored_user_name = name.underscore.gsub("/", "_")
|
|
15
17
|
@use_authentication_method = options[:users].present?
|
|
16
|
-
|
|
18
|
+
@skip_comments = options[:skip_comments]
|
|
19
|
+
@use_webpacker = options[:use_webpacker]
|
|
20
|
+
template "active_admin.rb.erb", "config/initializers/active_admin.rb"
|
|
17
21
|
end
|
|
18
22
|
|
|
19
23
|
def setup_directory
|
|
20
24
|
empty_directory "app/admin"
|
|
21
|
-
template
|
|
25
|
+
template "dashboard.rb", "app/admin/dashboard.rb"
|
|
22
26
|
if options[:users].present?
|
|
23
27
|
@user_class = name
|
|
24
|
-
template
|
|
28
|
+
template "admin_users.rb.erb", "app/admin/#{name.underscore.pluralize}.rb"
|
|
25
29
|
end
|
|
26
30
|
end
|
|
27
31
|
|
|
@@ -34,11 +38,17 @@ module ActiveAdmin
|
|
|
34
38
|
end
|
|
35
39
|
|
|
36
40
|
def create_assets
|
|
37
|
-
|
|
41
|
+
if options[:use_webpacker]
|
|
42
|
+
generate "active_admin:webpacker"
|
|
43
|
+
else
|
|
44
|
+
generate "active_admin:assets"
|
|
45
|
+
end
|
|
38
46
|
end
|
|
39
47
|
|
|
40
48
|
def create_migrations
|
|
41
|
-
|
|
49
|
+
unless options[:skip_comments]
|
|
50
|
+
migration_template "migrations/create_active_admin_comments.rb.erb", "db/migrate/create_active_admin_comments.rb"
|
|
51
|
+
end
|
|
42
52
|
end
|
|
43
53
|
end
|
|
44
54
|
end
|
|
@@ -69,6 +69,11 @@ ActiveAdmin.setup do |config|
|
|
|
69
69
|
# case when Pundit is unable to find suitable policy.
|
|
70
70
|
# config.pundit_default_policy = "MyDefaultPunditPolicy"
|
|
71
71
|
|
|
72
|
+
# If you wish to maintain a separate set of Pundit policies for admin
|
|
73
|
+
# resources, you may set a namespace here that Pundit will search
|
|
74
|
+
# within when looking for a resource's policy.
|
|
75
|
+
# config.pundit_policy_namespace = :admin
|
|
76
|
+
|
|
72
77
|
# You can customize your CanCan Ability class name here.
|
|
73
78
|
# config.cancan_ability_class = "Ability"
|
|
74
79
|
|
|
@@ -119,13 +124,20 @@ ActiveAdmin.setup do |config|
|
|
|
119
124
|
# This allows your users to comment on any resource registered with Active Admin.
|
|
120
125
|
#
|
|
121
126
|
# You can completely disable comments:
|
|
122
|
-
|
|
123
|
-
#
|
|
124
|
-
# You can disable the menu item for the comments index page:
|
|
125
|
-
# config.show_comments_in_menu = false
|
|
127
|
+
<% unless @skip_comments %># <% end %>config.comments = false
|
|
126
128
|
#
|
|
127
129
|
# You can change the name under which comments are registered:
|
|
128
130
|
# config.comments_registration_name = 'AdminComment'
|
|
131
|
+
#
|
|
132
|
+
# You can change the order for the comments and you can change the column
|
|
133
|
+
# to be used for ordering:
|
|
134
|
+
# config.comments_order = 'created_at ASC'
|
|
135
|
+
#
|
|
136
|
+
# You can disable the menu item for the comments index page:
|
|
137
|
+
# config.comments_menu = false
|
|
138
|
+
#
|
|
139
|
+
# You can customize the comment menu:
|
|
140
|
+
# config.comments_menu = { parent: 'Admin', priority: 1 }
|
|
129
141
|
|
|
130
142
|
# == Batch Actions
|
|
131
143
|
#
|
|
@@ -138,12 +150,43 @@ ActiveAdmin.setup do |config|
|
|
|
138
150
|
# You can add before, after and around filters to all of your
|
|
139
151
|
# Active Admin resources and pages from here.
|
|
140
152
|
#
|
|
141
|
-
# config.
|
|
153
|
+
# config.before_action :do_something_awesome
|
|
154
|
+
|
|
155
|
+
# == Attribute Filters
|
|
156
|
+
#
|
|
157
|
+
# You can exclude possibly sensitive model attributes from being displayed,
|
|
158
|
+
# added to forms, or exported by default by ActiveAdmin
|
|
159
|
+
#
|
|
160
|
+
config.filter_attributes = [:encrypted_password, :password, :password_confirmation]
|
|
161
|
+
|
|
162
|
+
# == Localize Date/Time Format
|
|
163
|
+
#
|
|
164
|
+
# Set the localize format to display dates and times.
|
|
165
|
+
# To understand how to localize your app with I18n, read more at
|
|
166
|
+
# https://guides.rubyonrails.org/i18n.html
|
|
167
|
+
#
|
|
168
|
+
# You can run `bin/rails runner 'puts I18n.t("date.formats")'` to see the
|
|
169
|
+
# available formats in your application.
|
|
170
|
+
#
|
|
171
|
+
config.localize_format = :long
|
|
142
172
|
|
|
143
173
|
# == Setting a Favicon
|
|
144
174
|
#
|
|
145
175
|
# config.favicon = 'favicon.ico'
|
|
146
176
|
|
|
177
|
+
# == Meta Tags
|
|
178
|
+
#
|
|
179
|
+
# Add additional meta tags to the head element of active admin pages.
|
|
180
|
+
#
|
|
181
|
+
# Add tags to all pages logged in users see:
|
|
182
|
+
# config.meta_tags = { author: 'My Company' }
|
|
183
|
+
|
|
184
|
+
# By default, sign up/sign in/recover password pages are excluded
|
|
185
|
+
# from showing up in search engine results by adding a robots meta
|
|
186
|
+
# tag. You can reset the hash of meta tags included in logged out
|
|
187
|
+
# pages:
|
|
188
|
+
# config.meta_tags_for_logged_out_pages = {}
|
|
189
|
+
|
|
147
190
|
# == Removing Breadcrumbs
|
|
148
191
|
#
|
|
149
192
|
# Breadcrumbs are enabled by default. You can customize them for individual
|
|
@@ -151,6 +194,13 @@ ActiveAdmin.setup do |config|
|
|
|
151
194
|
#
|
|
152
195
|
# config.breadcrumb = false
|
|
153
196
|
|
|
197
|
+
# == Create Another Checkbox
|
|
198
|
+
#
|
|
199
|
+
# Create another checkbox is disabled by default. You can customize it for individual
|
|
200
|
+
# resources or you can enable them globally from here.
|
|
201
|
+
#
|
|
202
|
+
# config.create_another = true
|
|
203
|
+
|
|
154
204
|
# == Register Stylesheets & Javascripts
|
|
155
205
|
#
|
|
156
206
|
# We recommend using the built in Active Admin layout and loading
|
|
@@ -222,6 +272,10 @@ ActiveAdmin.setup do |config|
|
|
|
222
272
|
# You can control the default per page count for all resources here.
|
|
223
273
|
#
|
|
224
274
|
# config.default_per_page = 30
|
|
275
|
+
#
|
|
276
|
+
# You can control the max per page count too.
|
|
277
|
+
#
|
|
278
|
+
# config.max_per_page = 10_000
|
|
225
279
|
|
|
226
280
|
# == Filters
|
|
227
281
|
#
|
|
@@ -230,4 +284,52 @@ ActiveAdmin.setup do |config|
|
|
|
230
284
|
# You can enable or disable them for all resources here.
|
|
231
285
|
#
|
|
232
286
|
# config.filters = true
|
|
287
|
+
#
|
|
288
|
+
# By default the filters include associations in a select, which means
|
|
289
|
+
# that every record will be loaded for each association (up
|
|
290
|
+
# to the value of config.maximum_association_filter_arity).
|
|
291
|
+
# You can enabled or disable the inclusion
|
|
292
|
+
# of those filters by default here.
|
|
293
|
+
#
|
|
294
|
+
# config.include_default_association_filters = true
|
|
295
|
+
|
|
296
|
+
# config.maximum_association_filter_arity = 256 # default value of :unlimited will change to 256 in a future version
|
|
297
|
+
# config.filter_columns_for_large_association = [
|
|
298
|
+
# :display_name,
|
|
299
|
+
# :full_name,
|
|
300
|
+
# :name,
|
|
301
|
+
# :username,
|
|
302
|
+
# :login,
|
|
303
|
+
# :title,
|
|
304
|
+
# :email,
|
|
305
|
+
# ]
|
|
306
|
+
# config.filter_method_for_large_association = '_starts_with'
|
|
307
|
+
|
|
308
|
+
# == Head
|
|
309
|
+
#
|
|
310
|
+
# You can add your own content to the site head like analytics. Make sure
|
|
311
|
+
# you only pass content you trust.
|
|
312
|
+
#
|
|
313
|
+
# config.head = ''.html_safe
|
|
314
|
+
|
|
315
|
+
# == Footer
|
|
316
|
+
#
|
|
317
|
+
# By default, the footer shows the current Active Admin version. You can
|
|
318
|
+
# override the content of the footer here.
|
|
319
|
+
#
|
|
320
|
+
# config.footer = 'my custom footer text'
|
|
321
|
+
|
|
322
|
+
# == Sorting
|
|
323
|
+
#
|
|
324
|
+
# By default ActiveAdmin::OrderClause is used for sorting logic
|
|
325
|
+
# You can inherit it with own class and inject it for all resources
|
|
326
|
+
#
|
|
327
|
+
# config.order_clause = MyOrderClause
|
|
328
|
+
|
|
329
|
+
# == Webpacker
|
|
330
|
+
#
|
|
331
|
+
# By default, Active Admin uses Sprocket's asset pipeline.
|
|
332
|
+
# You can switch to using Webpacker here.
|
|
333
|
+
#
|
|
334
|
+
<% unless @use_webpacker %># <% end %>config.use_webpacker = true
|
|
233
335
|
end
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
ActiveAdmin.register <%= @user_class %> do
|
|
2
|
-
<% unless Rails::VERSION::MAJOR < 4 -%>
|
|
3
2
|
permit_params :email, :password, :password_confirmation
|
|
4
3
|
|
|
5
|
-
<% end -%>
|
|
6
4
|
index do
|
|
7
5
|
selectable_column
|
|
8
6
|
id_column
|
|
@@ -19,7 +17,7 @@ ActiveAdmin.register <%= @user_class %> do
|
|
|
19
17
|
filter :created_at
|
|
20
18
|
|
|
21
19
|
form do |f|
|
|
22
|
-
f.inputs
|
|
20
|
+
f.inputs do
|
|
23
21
|
f.input :email
|
|
24
22
|
f.input :password
|
|
25
23
|
f.input :password_confirmation
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
ActiveAdmin.register_page "Dashboard" do
|
|
2
|
+
menu priority: 1, label: proc { I18n.t("active_admin.dashboard") }
|
|
2
3
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
content title: proc{ I18n.t("active_admin.dashboard") } do
|
|
4
|
+
content title: proc { I18n.t("active_admin.dashboard") } do
|
|
6
5
|
div class: "blank_slate_container", id: "dashboard_default_message" do
|
|
7
6
|
span class: "blank_slate" do
|
|
8
7
|
span I18n.t("active_admin.dashboard_welcome.welcome")
|
|
@@ -1,16 +1,13 @@
|
|
|
1
|
-
class CreateActiveAdminComments < ActiveRecord::Migration
|
|
1
|
+
class CreateActiveAdminComments < ActiveRecord::Migration[<%= ActiveRecord::Migration.current_version.to_s %>]
|
|
2
2
|
def self.up
|
|
3
3
|
create_table :active_admin_comments do |t|
|
|
4
4
|
t.string :namespace
|
|
5
5
|
t.text :body
|
|
6
|
-
t.
|
|
7
|
-
t.string :resource_type, null: false
|
|
6
|
+
t.references :resource, polymorphic: true
|
|
8
7
|
t.references :author, polymorphic: true
|
|
9
8
|
t.timestamps
|
|
10
9
|
end
|
|
11
10
|
add_index :active_admin_comments, [:namespace]
|
|
12
|
-
add_index :active_admin_comments, [:author_type, :author_id]
|
|
13
|
-
add_index :active_admin_comments, [:resource_type, :resource_id]
|
|
14
11
|
end
|
|
15
12
|
|
|
16
13
|
def self.down
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
module ActiveAdmin
|
|
2
2
|
module Generators
|
|
3
3
|
class PageGenerator < Rails::Generators::NamedBase
|
|
4
|
-
source_root File.expand_path(
|
|
4
|
+
source_root File.expand_path("templates", __dir__)
|
|
5
5
|
|
|
6
6
|
def generate_config_file
|
|
7
7
|
template "page.rb", "app/admin/#{file_path.tr('/', '_')}.rb"
|
|
@@ -1,12 +1,18 @@
|
|
|
1
|
+
require "active_admin/generators/boilerplate"
|
|
2
|
+
|
|
1
3
|
module ActiveAdmin
|
|
2
4
|
module Generators
|
|
3
5
|
class ResourceGenerator < Rails::Generators::NamedBase
|
|
4
6
|
desc "Registers resources with Active Admin"
|
|
5
7
|
|
|
6
|
-
|
|
8
|
+
class_option :include_boilerplate, type: :boolean, default: false,
|
|
9
|
+
desc: "Generate boilerplate code for your resource."
|
|
10
|
+
|
|
11
|
+
source_root File.expand_path("templates", __dir__)
|
|
7
12
|
|
|
8
13
|
def generate_config_file
|
|
9
|
-
|
|
14
|
+
@boilerplate = ActiveAdmin::Generators::Boilerplate.new(class_name)
|
|
15
|
+
template "admin.rb.erb", "app/admin/#{file_path.tr('/', '_').pluralize}.rb"
|
|
10
16
|
end
|
|
11
17
|
|
|
12
18
|
end
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
ActiveAdmin.register <%= class_name %> do
|
|
2
|
+
|
|
3
|
+
# See permitted parameters documentation:
|
|
4
|
+
# https://github.com/activeadmin/activeadmin/blob/master/docs/2-resource-customization.md#setting-up-strong-parameters
|
|
5
|
+
#
|
|
6
|
+
# Uncomment all parameters which should be permitted for assignment
|
|
7
|
+
#
|
|
8
|
+
# permit_params <%= @boilerplate.permit_params %>
|
|
9
|
+
#
|
|
10
|
+
# or
|
|
11
|
+
#
|
|
12
|
+
# permit_params do
|
|
13
|
+
# permitted = [<%= @boilerplate.permit_params %>]
|
|
14
|
+
# permitted << :other if params[:action] == 'create' && current_user.admin?
|
|
15
|
+
# permitted
|
|
16
|
+
# end
|
|
17
|
+
<% if options.include_boilerplate? %>
|
|
18
|
+
# Limit actions available to your users by adding them to the 'except' array
|
|
19
|
+
# actions :all, except: []
|
|
20
|
+
|
|
21
|
+
# Add or remove filters (you can use any ActiveRecord scope) to toggle their
|
|
22
|
+
# visibility in the sidebar
|
|
23
|
+
<%= @boilerplate.filters %>
|
|
24
|
+
|
|
25
|
+
# Add or remove columns to toggle their visiblity in the index action
|
|
26
|
+
# index do
|
|
27
|
+
# selectable_column
|
|
28
|
+
# id_column
|
|
29
|
+
<%= @boilerplate.columns %>
|
|
30
|
+
# actions
|
|
31
|
+
# end
|
|
32
|
+
|
|
33
|
+
# Add or remove rows to toggle their visiblity in the show action
|
|
34
|
+
# show do |<%= class_name.downcase %>|
|
|
35
|
+
<%= @boilerplate.rows %>
|
|
36
|
+
# end
|
|
37
|
+
|
|
38
|
+
# Add or remove fields to toggle their visibility in the form
|
|
39
|
+
# form do |f|
|
|
40
|
+
# f.inputs do
|
|
41
|
+
<%= @boilerplate.form_inputs %>
|
|
42
|
+
# end
|
|
43
|
+
# f.actions
|
|
44
|
+
# end
|
|
45
|
+
<% end %>
|
|
46
|
+
end
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
// Sass variable overrides must be declared before loading up Active Admin's styles.
|
|
2
|
+
//
|
|
3
|
+
// To view the variables that Active Admin provides, take a look at
|
|
4
|
+
// `app/assets/stylesheets/active_admin/mixins/_variables.scss` in the
|
|
5
|
+
// Active Admin source.
|
|
6
|
+
//
|
|
7
|
+
// For example, to change the sidebar width:
|
|
8
|
+
// $sidebar-width: 242px;
|
|
9
|
+
|
|
10
|
+
// Active Admin's got SASS!
|
|
11
|
+
@import "~@activeadmin/activeadmin/src/scss/mixins";
|
|
12
|
+
@import "~@activeadmin/activeadmin/src/scss/base";
|
|
13
|
+
|
|
14
|
+
// Overriding any non-variable Sass must be done after the fact.
|
|
15
|
+
// For example, to change the default status-tag color:
|
|
16
|
+
//
|
|
17
|
+
// .status_tag { background: #6090DB; }
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
module ActiveAdmin
|
|
2
|
+
module Generators
|
|
3
|
+
class WebpackerGenerator < Rails::Generators::Base
|
|
4
|
+
|
|
5
|
+
source_root File.expand_path("templates", __dir__)
|
|
6
|
+
|
|
7
|
+
def install_assets
|
|
8
|
+
template "active_admin.js", "app/javascript/packs/active_admin.js"
|
|
9
|
+
template "active_admin.scss", "app/javascript/stylesheets/active_admin.scss"
|
|
10
|
+
template "print.scss", "app/javascript/packs/active_admin/print.scss"
|
|
11
|
+
|
|
12
|
+
copy_file "#{__dir__}/plugins/jquery.js", Rails.root.join("config/webpack/plugins/jquery.js").to_s
|
|
13
|
+
|
|
14
|
+
insert_into_file Rails.root.join("config/webpack/environment.js").to_s,
|
|
15
|
+
"const jquery = require('./plugins/jquery')\n",
|
|
16
|
+
after: /require\(('|")@rails\/webpacker\1\);?\n/
|
|
17
|
+
|
|
18
|
+
insert_into_file Rails.root.join("config/webpack/environment.js").to_s,
|
|
19
|
+
"environment.plugins.prepend('jquery', jquery)\n",
|
|
20
|
+
before: "module.exports"
|
|
21
|
+
|
|
22
|
+
run "yarn add @activeadmin/activeadmin"
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
end
|
data/lib/ransack_ext.rb
CHANGED
|
@@ -2,11 +2,19 @@
|
|
|
2
2
|
# identically to the versions given in Ransack.
|
|
3
3
|
#
|
|
4
4
|
Ransack.configure do |config|
|
|
5
|
-
{
|
|
6
|
-
config.add_predicate old, Ransack::Constants::DERIVED_PREDICATES.detect{ |q, _| q == current }[1]
|
|
5
|
+
{ "contains" => "cont", "starts_with" => "start", "ends_with" => "end" }.each do |old, current|
|
|
6
|
+
config.add_predicate old, Ransack::Constants::DERIVED_PREDICATES.detect { |q, _| q == current }[1]
|
|
7
7
|
end
|
|
8
8
|
|
|
9
|
-
{
|
|
9
|
+
{ "equals" => "eq", "greater_than" => "gt", "less_than" => "lt" }.each do |old, current|
|
|
10
10
|
config.add_predicate old, arel_predicate: current
|
|
11
11
|
end
|
|
12
|
+
|
|
13
|
+
config.add_predicate "gteq_datetime",
|
|
14
|
+
arel_predicate: "gteq",
|
|
15
|
+
formatter: ->(v) { v.beginning_of_day }
|
|
16
|
+
|
|
17
|
+
config.add_predicate "lteq_datetime",
|
|
18
|
+
arel_predicate: "lt",
|
|
19
|
+
formatter: ->(v) { v + 1.day }
|
|
12
20
|
end
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
//= require jquery-ui/version
|
|
2
|
+
|
|
3
|
+
/*!
|
|
4
|
+
* jQuery UI :data 1.12.1
|
|
5
|
+
* http://jqueryui.com
|
|
6
|
+
*
|
|
7
|
+
* Copyright jQuery Foundation and other contributors
|
|
8
|
+
* Released under the MIT license.
|
|
9
|
+
* http://jquery.org/license
|
|
10
|
+
*/
|
|
11
|
+
|
|
12
|
+
//>>label: :data Selector
|
|
13
|
+
//>>group: Core
|
|
14
|
+
//>>description: Selects elements which have data stored under the specified key.
|
|
15
|
+
//>>docs: http://api.jqueryui.com/data-selector/
|
|
16
|
+
|
|
17
|
+
( function( factory ) {
|
|
18
|
+
if ( typeof define === "function" && define.amd ) {
|
|
19
|
+
|
|
20
|
+
// AMD. Register as an anonymous module.
|
|
21
|
+
define( [ "jquery", "./version" ], factory );
|
|
22
|
+
} else {
|
|
23
|
+
|
|
24
|
+
// Browser globals
|
|
25
|
+
factory( jQuery );
|
|
26
|
+
}
|
|
27
|
+
} ( function( $ ) {
|
|
28
|
+
return $.extend( $.expr[ ":" ], {
|
|
29
|
+
data: $.expr.createPseudo ?
|
|
30
|
+
$.expr.createPseudo( function( dataName ) {
|
|
31
|
+
return function( elem ) {
|
|
32
|
+
return !!$.data( elem, dataName );
|
|
33
|
+
};
|
|
34
|
+
} ) :
|
|
35
|
+
|
|
36
|
+
// Support: jQuery <1.8
|
|
37
|
+
function( elem, i, match ) {
|
|
38
|
+
return !!$.data( elem, match[ 3 ] );
|
|
39
|
+
}
|
|
40
|
+
} );
|
|
41
|
+
} ) );
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
//= require jquery-ui/version
|
|
2
|
+
|
|
3
|
+
/*!
|
|
4
|
+
* jQuery UI Disable Selection 1.12.1
|
|
5
|
+
* http://jqueryui.com
|
|
6
|
+
*
|
|
7
|
+
* Copyright jQuery Foundation and other contributors
|
|
8
|
+
* Released under the MIT license.
|
|
9
|
+
* http://jquery.org/license
|
|
10
|
+
*/
|
|
11
|
+
|
|
12
|
+
//>>label: disableSelection
|
|
13
|
+
//>>group: Core
|
|
14
|
+
//>>description: Disable selection of text content within the set of matched elements.
|
|
15
|
+
//>>docs: http://api.jqueryui.com/disableSelection/
|
|
16
|
+
|
|
17
|
+
// This file is deprecated
|
|
18
|
+
( function( factory ) {
|
|
19
|
+
if ( typeof define === "function" && define.amd ) {
|
|
20
|
+
|
|
21
|
+
// AMD. Register as an anonymous module.
|
|
22
|
+
define( [ "jquery", "./version" ], factory );
|
|
23
|
+
} else {
|
|
24
|
+
|
|
25
|
+
// Browser globals
|
|
26
|
+
factory( jQuery );
|
|
27
|
+
}
|
|
28
|
+
} ( function( $ ) {
|
|
29
|
+
|
|
30
|
+
return $.fn.extend( {
|
|
31
|
+
disableSelection: ( function() {
|
|
32
|
+
var eventType = "onselectstart" in document.createElement( "div" ) ?
|
|
33
|
+
"selectstart" :
|
|
34
|
+
"mousedown";
|
|
35
|
+
|
|
36
|
+
return function() {
|
|
37
|
+
return this.on( eventType + ".ui-disableSelection", function( event ) {
|
|
38
|
+
event.preventDefault();
|
|
39
|
+
} );
|
|
40
|
+
};
|
|
41
|
+
} )(),
|
|
42
|
+
|
|
43
|
+
enableSelection: function() {
|
|
44
|
+
return this.off( ".ui-disableSelection" );
|
|
45
|
+
}
|
|
46
|
+
} );
|
|
47
|
+
|
|
48
|
+
} ) );
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
//= require jquery-ui/version
|
|
2
|
+
|
|
3
|
+
( function( factory ) {
|
|
4
|
+
if ( typeof define === "function" && define.amd ) {
|
|
5
|
+
|
|
6
|
+
// AMD. Register as an anonymous module.
|
|
7
|
+
define( [ "jquery", "./version" ], factory );
|
|
8
|
+
} else {
|
|
9
|
+
|
|
10
|
+
// Browser globals
|
|
11
|
+
factory( jQuery );
|
|
12
|
+
}
|
|
13
|
+
} ( function( $ ) {
|
|
14
|
+
|
|
15
|
+
// Internal use only
|
|
16
|
+
return $.ui.escapeSelector = ( function() {
|
|
17
|
+
var selectorEscape = /([!"#$%&'()*+,./:;<=>?@[\]^`{|}~])/g;
|
|
18
|
+
return function( selector ) {
|
|
19
|
+
return selector.replace( selectorEscape, "\\$1" );
|
|
20
|
+
};
|
|
21
|
+
} )();
|
|
22
|
+
|
|
23
|
+
} ) );
|