super-sharp-tool 0.0.1
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 +7 -0
- data/activeadmin-3.5.1/CHANGELOG.md +1153 -0
- data/activeadmin-3.5.1/CODE_OF_CONDUCT.md +74 -0
- data/activeadmin-3.5.1/CONTRIBUTING.md +187 -0
- data/activeadmin-3.5.1/LICENSE +20 -0
- data/activeadmin-3.5.1/README.md +117 -0
- data/activeadmin-3.5.1/app/assets/javascripts/active_admin/base.js +520 -0
- data/activeadmin-3.5.1/app/assets/stylesheets/active_admin/_base.scss +57 -0
- data/activeadmin-3.5.1/app/assets/stylesheets/active_admin/_forms.scss +315 -0
- data/activeadmin-3.5.1/app/assets/stylesheets/active_admin/_header.scss +188 -0
- data/activeadmin-3.5.1/app/assets/stylesheets/active_admin/_mixins.scss +1 -0
- data/activeadmin-3.5.1/app/assets/stylesheets/active_admin/_normalize.scss +349 -0
- data/activeadmin-3.5.1/app/assets/stylesheets/active_admin/_print.scss +287 -0
- data/activeadmin-3.5.1/app/assets/stylesheets/active_admin/_typography.scss +100 -0
- data/activeadmin-3.5.1/app/assets/stylesheets/active_admin/components/_batch_actions.scss +6 -0
- data/activeadmin-3.5.1/app/assets/stylesheets/active_admin/components/_blank_slates.scss +30 -0
- data/activeadmin-3.5.1/app/assets/stylesheets/active_admin/components/_breadcrumbs.scss +20 -0
- data/activeadmin-3.5.1/app/assets/stylesheets/active_admin/components/_buttons.scss +6 -0
- data/activeadmin-3.5.1/app/assets/stylesheets/active_admin/components/_columns.scss +3 -0
- data/activeadmin-3.5.1/app/assets/stylesheets/active_admin/components/_comments.scss +41 -0
- data/activeadmin-3.5.1/app/assets/stylesheets/active_admin/components/_date_picker.scss +148 -0
- data/activeadmin-3.5.1/app/assets/stylesheets/active_admin/components/_dropdown_menu.scss +154 -0
- data/activeadmin-3.5.1/app/assets/stylesheets/active_admin/components/_flash_messages.scss +37 -0
- data/activeadmin-3.5.1/app/assets/stylesheets/active_admin/components/_grid.scss +9 -0
- data/activeadmin-3.5.1/app/assets/stylesheets/active_admin/components/_index_list.scss +12 -0
- data/activeadmin-3.5.1/app/assets/stylesheets/active_admin/components/_links.scss +5 -0
- data/activeadmin-3.5.1/app/assets/stylesheets/active_admin/components/_modal_dialog.scss +34 -0
- data/activeadmin-3.5.1/app/assets/stylesheets/active_admin/components/_pagination.scss +58 -0
- data/activeadmin-3.5.1/app/assets/stylesheets/active_admin/components/_panels.scss +6 -0
- data/activeadmin-3.5.1/app/assets/stylesheets/active_admin/components/_scopes.scss +13 -0
- data/activeadmin-3.5.1/app/assets/stylesheets/active_admin/components/_status_tags.scss +12 -0
- data/activeadmin-3.5.1/app/assets/stylesheets/active_admin/components/_table_tools.scss +70 -0
- data/activeadmin-3.5.1/app/assets/stylesheets/active_admin/components/_tables.scss +112 -0
- data/activeadmin-3.5.1/app/assets/stylesheets/active_admin/components/_tabs.scss +68 -0
- data/activeadmin-3.5.1/app/assets/stylesheets/active_admin/components/_unsupported_browser.scss +16 -0
- data/activeadmin-3.5.1/app/assets/stylesheets/active_admin/mixins/_all.scss +8 -0
- data/activeadmin-3.5.1/app/assets/stylesheets/active_admin/mixins/_buttons.scss +65 -0
- data/activeadmin-3.5.1/app/assets/stylesheets/active_admin/mixins/_gradients.scss +28 -0
- data/activeadmin-3.5.1/app/assets/stylesheets/active_admin/mixins/_rounded.scss +22 -0
- data/activeadmin-3.5.1/app/assets/stylesheets/active_admin/mixins/_sections.scss +41 -0
- data/activeadmin-3.5.1/app/assets/stylesheets/active_admin/mixins/_shadows.scss +15 -0
- data/activeadmin-3.5.1/app/assets/stylesheets/active_admin/mixins/_typography.scss +3 -0
- data/activeadmin-3.5.1/app/assets/stylesheets/active_admin/mixins/_utilities.scss +17 -0
- data/activeadmin-3.5.1/app/assets/stylesheets/active_admin/mixins/_variables.scss +51 -0
- data/activeadmin-3.5.1/app/assets/stylesheets/active_admin/pages/_logged_out.scss +44 -0
- data/activeadmin-3.5.1/app/assets/stylesheets/active_admin/structure/_footer.scss +19 -0
- data/activeadmin-3.5.1/app/assets/stylesheets/active_admin/structure/_main_structure.scss +29 -0
- data/activeadmin-3.5.1/app/assets/stylesheets/active_admin/structure/_title_bar.scss +43 -0
- data/activeadmin-3.5.1/app/javascript/active_admin/base.js +28 -0
- data/activeadmin-3.5.1/app/javascript/active_admin/ext/jquery-ui.js +7 -0
- data/activeadmin-3.5.1/app/javascript/active_admin/ext/jquery.js +9 -0
- data/activeadmin-3.5.1/app/javascript/active_admin/initializers/batch-actions.js +61 -0
- data/activeadmin-3.5.1/app/javascript/active_admin/initializers/checkbox-toggler.js +3 -0
- data/activeadmin-3.5.1/app/javascript/active_admin/initializers/datepicker.js +19 -0
- data/activeadmin-3.5.1/app/javascript/active_admin/initializers/dropdown-menu.js +9 -0
- data/activeadmin-3.5.1/app/javascript/active_admin/initializers/filters.js +10 -0
- data/activeadmin-3.5.1/app/javascript/active_admin/initializers/has-many.js +98 -0
- data/activeadmin-3.5.1/app/javascript/active_admin/initializers/per-page.js +13 -0
- data/activeadmin-3.5.1/app/javascript/active_admin/initializers/table-checkbox-toggler.js +3 -0
- data/activeadmin-3.5.1/app/javascript/active_admin/initializers/tabs.js +6 -0
- data/activeadmin-3.5.1/app/javascript/active_admin/lib/checkbox-toggler.js +49 -0
- data/activeadmin-3.5.1/app/javascript/active_admin/lib/dropdown-menu.js +116 -0
- data/activeadmin-3.5.1/app/javascript/active_admin/lib/filters.js +39 -0
- data/activeadmin-3.5.1/app/javascript/active_admin/lib/modal-dialog.js +63 -0
- data/activeadmin-3.5.1/app/javascript/active_admin/lib/per-page.js +38 -0
- data/activeadmin-3.5.1/app/javascript/active_admin/lib/table-checkbox-toggler.js +38 -0
- data/activeadmin-3.5.1/app/javascript/active_admin/lib/utils.js +40 -0
- data/activeadmin-3.5.1/app/views/active_admin/devise/confirmations/new.html.erb +15 -0
- data/activeadmin-3.5.1/app/views/active_admin/devise/mailer/reset_password_instructions.html.erb +8 -0
- data/activeadmin-3.5.1/app/views/active_admin/devise/mailer/unlock_instructions.html.erb +7 -0
- data/activeadmin-3.5.1/app/views/active_admin/devise/passwords/edit.html.erb +18 -0
- data/activeadmin-3.5.1/app/views/active_admin/devise/passwords/new.html.erb +15 -0
- data/activeadmin-3.5.1/app/views/active_admin/devise/registrations/new.html.erb +21 -0
- data/activeadmin-3.5.1/app/views/active_admin/devise/sessions/new.html.erb +20 -0
- data/activeadmin-3.5.1/app/views/active_admin/devise/shared/_error_messages.html.erb +15 -0
- data/activeadmin-3.5.1/app/views/active_admin/devise/shared/_links.erb +33 -0
- data/activeadmin-3.5.1/app/views/active_admin/devise/unlocks/new.html.erb +15 -0
- data/activeadmin-3.5.1/app/views/active_admin/page/index.html.arb +2 -0
- data/activeadmin-3.5.1/app/views/active_admin/resource/edit.html.arb +2 -0
- data/activeadmin-3.5.1/app/views/active_admin/resource/index.html.arb +2 -0
- data/activeadmin-3.5.1/app/views/active_admin/resource/new.html.arb +2 -0
- data/activeadmin-3.5.1/app/views/active_admin/resource/show.html.arb +2 -0
- data/activeadmin-3.5.1/app/views/kaminari/active_admin/_first_page.html.erb +11 -0
- data/activeadmin-3.5.1/app/views/kaminari/active_admin/_gap.html.erb +8 -0
- data/activeadmin-3.5.1/app/views/kaminari/active_admin/_last_page.html.erb +11 -0
- data/activeadmin-3.5.1/app/views/kaminari/active_admin/_next_page.html.erb +11 -0
- data/activeadmin-3.5.1/app/views/kaminari/active_admin/_page.html.erb +12 -0
- data/activeadmin-3.5.1/app/views/kaminari/active_admin/_paginator.html.erb +25 -0
- data/activeadmin-3.5.1/app/views/kaminari/active_admin/_prev_page.html.erb +11 -0
- data/activeadmin-3.5.1/app/views/kaminari/active_admin_countless/_first_page.html.erb +11 -0
- data/activeadmin-3.5.1/app/views/kaminari/active_admin_countless/_gap.html.erb +8 -0
- data/activeadmin-3.5.1/app/views/kaminari/active_admin_countless/_next_page.html.erb +11 -0
- data/activeadmin-3.5.1/app/views/kaminari/active_admin_countless/_page.html.erb +12 -0
- data/activeadmin-3.5.1/app/views/kaminari/active_admin_countless/_paginator.html.erb +24 -0
- data/activeadmin-3.5.1/app/views/kaminari/active_admin_countless/_prev_page.html.erb +11 -0
- data/activeadmin-3.5.1/app/views/layouts/active_admin.html.arb +2 -0
- data/activeadmin-3.5.1/app/views/layouts/active_admin_logged_out.html.erb +50 -0
- data/activeadmin-3.5.1/config/locales/ar.yml +128 -0
- data/activeadmin-3.5.1/config/locales/az.yml +131 -0
- data/activeadmin-3.5.1/config/locales/bg.yml +112 -0
- data/activeadmin-3.5.1/config/locales/bs.yml +114 -0
- data/activeadmin-3.5.1/config/locales/ca.yml +98 -0
- data/activeadmin-3.5.1/config/locales/cs.yml +102 -0
- data/activeadmin-3.5.1/config/locales/da.yml +130 -0
- data/activeadmin-3.5.1/config/locales/de-CH.yml +94 -0
- data/activeadmin-3.5.1/config/locales/de.yml +154 -0
- data/activeadmin-3.5.1/config/locales/el.yml +119 -0
- data/activeadmin-3.5.1/config/locales/en-CA.yml +132 -0
- data/activeadmin-3.5.1/config/locales/en-GB.yml +132 -0
- data/activeadmin-3.5.1/config/locales/en.yml +154 -0
- data/activeadmin-3.5.1/config/locales/eo.yml +137 -0
- data/activeadmin-3.5.1/config/locales/es-MX.yml +90 -0
- data/activeadmin-3.5.1/config/locales/es.yml +154 -0
- data/activeadmin-3.5.1/config/locales/fa.yml +112 -0
- data/activeadmin-3.5.1/config/locales/fi.yml +105 -0
- data/activeadmin-3.5.1/config/locales/fr.yml +133 -0
- data/activeadmin-3.5.1/config/locales/he.yml +132 -0
- data/activeadmin-3.5.1/config/locales/hr.yml +116 -0
- data/activeadmin-3.5.1/config/locales/hu.yml +94 -0
- data/activeadmin-3.5.1/config/locales/id.yml +128 -0
- data/activeadmin-3.5.1/config/locales/it.yml +154 -0
- data/activeadmin-3.5.1/config/locales/ja.yml +133 -0
- data/activeadmin-3.5.1/config/locales/ko.yml +113 -0
- data/activeadmin-3.5.1/config/locales/lt.yml +134 -0
- data/activeadmin-3.5.1/config/locales/lv.yml +85 -0
- data/activeadmin-3.5.1/config/locales/mk.yml +126 -0
- data/activeadmin-3.5.1/config/locales/nb.yml +122 -0
- data/activeadmin-3.5.1/config/locales/nl.yml +136 -0
- data/activeadmin-3.5.1/config/locales/pl.yml +160 -0
- data/activeadmin-3.5.1/config/locales/pt-BR.yml +135 -0
- data/activeadmin-3.5.1/config/locales/pt-PT.yml +85 -0
- data/activeadmin-3.5.1/config/locales/ro.yml +90 -0
- data/activeadmin-3.5.1/config/locales/ru.yml +135 -0
- data/activeadmin-3.5.1/config/locales/sk.yml +160 -0
- data/activeadmin-3.5.1/config/locales/sv-SE.yml +154 -0
- data/activeadmin-3.5.1/config/locales/tr.yml +133 -0
- data/activeadmin-3.5.1/config/locales/uk.yml +132 -0
- data/activeadmin-3.5.1/config/locales/vi.yml +154 -0
- data/activeadmin-3.5.1/config/locales/zh-CN.yml +154 -0
- data/activeadmin-3.5.1/config/locales/zh-TW.yml +128 -0
- data/activeadmin-3.5.1/lib/active_admin/abstract_view_factory.rb +48 -0
- data/activeadmin-3.5.1/lib/active_admin/application.rb +234 -0
- data/activeadmin-3.5.1/lib/active_admin/application_settings.rb +43 -0
- data/activeadmin-3.5.1/lib/active_admin/asset_registration.rb +30 -0
- data/activeadmin-3.5.1/lib/active_admin/authorization_adapter.rb +132 -0
- data/activeadmin-3.5.1/lib/active_admin/base_controller/authorization.rb +129 -0
- data/activeadmin-3.5.1/lib/active_admin/base_controller/menu.rb +35 -0
- data/activeadmin-3.5.1/lib/active_admin/base_controller.rb +82 -0
- data/activeadmin-3.5.1/lib/active_admin/batch_actions/controller.rb +41 -0
- data/activeadmin-3.5.1/lib/active_admin/batch_actions/resource_extension.rb +157 -0
- data/activeadmin-3.5.1/lib/active_admin/batch_actions/views/batch_action_form.rb +39 -0
- data/activeadmin-3.5.1/lib/active_admin/batch_actions/views/batch_action_selector.rb +59 -0
- data/activeadmin-3.5.1/lib/active_admin/batch_actions/views/selection_cells.rb +39 -0
- data/activeadmin-3.5.1/lib/active_admin/batch_actions.rb +17 -0
- data/activeadmin-3.5.1/lib/active_admin/callbacks.rb +89 -0
- data/activeadmin-3.5.1/lib/active_admin/cancan_adapter.rb +37 -0
- data/activeadmin-3.5.1/lib/active_admin/collection_decorator.rb +32 -0
- data/activeadmin-3.5.1/lib/active_admin/component.rb +6 -0
- data/activeadmin-3.5.1/lib/active_admin/controller_action.rb +14 -0
- data/activeadmin-3.5.1/lib/active_admin/csv_builder.rb +144 -0
- data/activeadmin-3.5.1/lib/active_admin/dependency.rb +97 -0
- data/activeadmin-3.5.1/lib/active_admin/devise.rb +91 -0
- data/activeadmin-3.5.1/lib/active_admin/dsl.rb +161 -0
- data/activeadmin-3.5.1/lib/active_admin/dynamic_setting.rb +39 -0
- data/activeadmin-3.5.1/lib/active_admin/dynamic_settings_node.rb +29 -0
- data/activeadmin-3.5.1/lib/active_admin/engine.rb +29 -0
- data/activeadmin-3.5.1/lib/active_admin/error.rb +63 -0
- data/activeadmin-3.5.1/lib/active_admin/filters/active.rb +30 -0
- data/activeadmin-3.5.1/lib/active_admin/filters/active_filter.rb +124 -0
- data/activeadmin-3.5.1/lib/active_admin/filters/active_sidebar.rb +28 -0
- data/activeadmin-3.5.1/lib/active_admin/filters/dsl.rb +22 -0
- data/activeadmin-3.5.1/lib/active_admin/filters/forms.rb +86 -0
- data/activeadmin-3.5.1/lib/active_admin/filters/formtastic_addons.rb +75 -0
- data/activeadmin-3.5.1/lib/active_admin/filters/resource_extension.rb +180 -0
- data/activeadmin-3.5.1/lib/active_admin/filters.rb +12 -0
- data/activeadmin-3.5.1/lib/active_admin/form_builder.rb +186 -0
- data/activeadmin-3.5.1/lib/active_admin/generators/boilerplate.rb +54 -0
- data/activeadmin-3.5.1/lib/active_admin/helpers/collection.rb +21 -0
- data/activeadmin-3.5.1/lib/active_admin/helpers/i18n.rb +8 -0
- data/activeadmin-3.5.1/lib/active_admin/helpers/optional_display.rb +39 -0
- data/activeadmin-3.5.1/lib/active_admin/helpers/routes/url_helpers.rb +16 -0
- data/activeadmin-3.5.1/lib/active_admin/helpers/scope_chain.rb +25 -0
- data/activeadmin-3.5.1/lib/active_admin/inputs/datepicker_input.rb +28 -0
- data/activeadmin-3.5.1/lib/active_admin/inputs/filters/base/search_method_select.rb +76 -0
- data/activeadmin-3.5.1/lib/active_admin/inputs/filters/base.rb +45 -0
- data/activeadmin-3.5.1/lib/active_admin/inputs/filters/boolean_input.rb +25 -0
- data/activeadmin-3.5.1/lib/active_admin/inputs/filters/check_boxes_input.rb +51 -0
- data/activeadmin-3.5.1/lib/active_admin/inputs/filters/date_picker_input.rb +14 -0
- data/activeadmin-3.5.1/lib/active_admin/inputs/filters/date_range_input.rb +53 -0
- data/activeadmin-3.5.1/lib/active_admin/inputs/filters/numeric_input.rb +13 -0
- data/activeadmin-3.5.1/lib/active_admin/inputs/filters/select_input.rb +59 -0
- data/activeadmin-3.5.1/lib/active_admin/inputs/filters/string_input.rb +27 -0
- data/activeadmin-3.5.1/lib/active_admin/inputs/filters/text_input.rb +26 -0
- data/activeadmin-3.5.1/lib/active_admin/inputs.rb +22 -0
- data/activeadmin-3.5.1/lib/active_admin/localizers/resource_localizer.rb +36 -0
- data/activeadmin-3.5.1/lib/active_admin/localizers.rb +12 -0
- data/activeadmin-3.5.1/lib/active_admin/menu.rb +107 -0
- data/activeadmin-3.5.1/lib/active_admin/menu_collection.rb +92 -0
- data/activeadmin-3.5.1/lib/active_admin/menu_item.rb +70 -0
- data/activeadmin-3.5.1/lib/active_admin/namespace.rb +267 -0
- data/activeadmin-3.5.1/lib/active_admin/namespace_settings.rb +127 -0
- data/activeadmin-3.5.1/lib/active_admin/order_clause.rb +49 -0
- data/activeadmin-3.5.1/lib/active_admin/orm/active_record/comments/comment.rb +40 -0
- data/activeadmin-3.5.1/lib/active_admin/orm/active_record/comments/namespace_helper.rb +15 -0
- data/activeadmin-3.5.1/lib/active_admin/orm/active_record/comments/resource_helper.rb +18 -0
- data/activeadmin-3.5.1/lib/active_admin/orm/active_record/comments/show_page_helper.rb +24 -0
- data/activeadmin-3.5.1/lib/active_admin/orm/active_record/comments/views/active_admin_comments.rb +101 -0
- data/activeadmin-3.5.1/lib/active_admin/orm/active_record/comments/views.rb +3 -0
- data/activeadmin-3.5.1/lib/active_admin/orm/active_record/comments.rb +102 -0
- data/activeadmin-3.5.1/lib/active_admin/orm/active_record.rb +6 -0
- data/activeadmin-3.5.1/lib/active_admin/orm/mongoid.rb +2 -0
- data/activeadmin-3.5.1/lib/active_admin/page.rb +112 -0
- data/activeadmin-3.5.1/lib/active_admin/page_controller.rb +30 -0
- data/activeadmin-3.5.1/lib/active_admin/page_dsl.rb +33 -0
- data/activeadmin-3.5.1/lib/active_admin/page_presenter.rb +34 -0
- data/activeadmin-3.5.1/lib/active_admin/pundit_adapter.rb +123 -0
- data/activeadmin-3.5.1/lib/active_admin/resource/action_items.rb +121 -0
- data/activeadmin-3.5.1/lib/active_admin/resource/attributes.rb +55 -0
- data/activeadmin-3.5.1/lib/active_admin/resource/belongs_to.rb +53 -0
- data/activeadmin-3.5.1/lib/active_admin/resource/controllers.rb +20 -0
- data/activeadmin-3.5.1/lib/active_admin/resource/includes.rb +13 -0
- data/activeadmin-3.5.1/lib/active_admin/resource/menu.rb +68 -0
- data/activeadmin-3.5.1/lib/active_admin/resource/model.rb +16 -0
- data/activeadmin-3.5.1/lib/active_admin/resource/naming.rb +63 -0
- data/activeadmin-3.5.1/lib/active_admin/resource/ordering.rb +12 -0
- data/activeadmin-3.5.1/lib/active_admin/resource/page_presenters.rb +83 -0
- data/activeadmin-3.5.1/lib/active_admin/resource/pagination.rb +24 -0
- data/activeadmin-3.5.1/lib/active_admin/resource/routes.rb +146 -0
- data/activeadmin-3.5.1/lib/active_admin/resource/scope_to.rb +75 -0
- data/activeadmin-3.5.1/lib/active_admin/resource/scopes.rb +53 -0
- data/activeadmin-3.5.1/lib/active_admin/resource/sidebars.rb +29 -0
- data/activeadmin-3.5.1/lib/active_admin/resource.rb +227 -0
- data/activeadmin-3.5.1/lib/active_admin/resource_collection.rb +73 -0
- data/activeadmin-3.5.1/lib/active_admin/resource_controller/action_builder.rb +32 -0
- data/activeadmin-3.5.1/lib/active_admin/resource_controller/data_access.rb +348 -0
- data/activeadmin-3.5.1/lib/active_admin/resource_controller/decorators.rb +81 -0
- data/activeadmin-3.5.1/lib/active_admin/resource_controller/polymorphic_routes.rb +38 -0
- data/activeadmin-3.5.1/lib/active_admin/resource_controller/resource_class_methods.rb +27 -0
- data/activeadmin-3.5.1/lib/active_admin/resource_controller/scoping.rb +32 -0
- data/activeadmin-3.5.1/lib/active_admin/resource_controller/sidebars.rb +19 -0
- data/activeadmin-3.5.1/lib/active_admin/resource_controller/streaming.rb +45 -0
- data/activeadmin-3.5.1/lib/active_admin/resource_controller.rb +68 -0
- data/activeadmin-3.5.1/lib/active_admin/resource_dsl.rb +210 -0
- data/activeadmin-3.5.1/lib/active_admin/router.rb +115 -0
- data/activeadmin-3.5.1/lib/active_admin/scope.rb +65 -0
- data/activeadmin-3.5.1/lib/active_admin/settings_node.rb +20 -0
- data/activeadmin-3.5.1/lib/active_admin/sidebar_section.rb +40 -0
- data/activeadmin-3.5.1/lib/active_admin/version.rb +4 -0
- data/activeadmin-3.5.1/lib/active_admin/view_factory.rb +28 -0
- data/activeadmin-3.5.1/lib/active_admin/view_helpers/active_admin_application_helper.rb +13 -0
- data/activeadmin-3.5.1/lib/active_admin/view_helpers/auto_link_helper.rb +46 -0
- data/activeadmin-3.5.1/lib/active_admin/view_helpers/breadcrumb_helper.rb +34 -0
- data/activeadmin-3.5.1/lib/active_admin/view_helpers/display_helper.rb +119 -0
- data/activeadmin-3.5.1/lib/active_admin/view_helpers/download_format_links_helper.rb +60 -0
- data/activeadmin-3.5.1/lib/active_admin/view_helpers/fields_for.rb +51 -0
- data/activeadmin-3.5.1/lib/active_admin/view_helpers/flash_helper.rb +15 -0
- data/activeadmin-3.5.1/lib/active_admin/view_helpers/form_helper.rb +21 -0
- data/activeadmin-3.5.1/lib/active_admin/view_helpers/method_or_proc_helper.rb +101 -0
- data/activeadmin-3.5.1/lib/active_admin/view_helpers/scope_name_helper.rb +17 -0
- data/activeadmin-3.5.1/lib/active_admin/view_helpers/sidebar_helper.rb +16 -0
- data/activeadmin-3.5.1/lib/active_admin/view_helpers/title_helper.rb +12 -0
- data/activeadmin-3.5.1/lib/active_admin/view_helpers/view_factory_helper.rb +12 -0
- data/activeadmin-3.5.1/lib/active_admin/view_helpers.rb +21 -0
- data/activeadmin-3.5.1/lib/active_admin/views/action_items.rb +18 -0
- data/activeadmin-3.5.1/lib/active_admin/views/components/active_admin_form.rb +164 -0
- data/activeadmin-3.5.1/lib/active_admin/views/components/active_filters_sidebar_content.rb +59 -0
- data/activeadmin-3.5.1/lib/active_admin/views/components/attributes_table.rb +95 -0
- data/activeadmin-3.5.1/lib/active_admin/views/components/blank_slate.rb +18 -0
- data/activeadmin-3.5.1/lib/active_admin/views/components/columns.rb +162 -0
- data/activeadmin-3.5.1/lib/active_admin/views/components/dropdown_menu.rb +69 -0
- data/activeadmin-3.5.1/lib/active_admin/views/components/index_list.rb +70 -0
- data/activeadmin-3.5.1/lib/active_admin/views/components/menu.rb +33 -0
- data/activeadmin-3.5.1/lib/active_admin/views/components/menu_item.rb +59 -0
- data/activeadmin-3.5.1/lib/active_admin/views/components/paginated_collection.rb +164 -0
- data/activeadmin-3.5.1/lib/active_admin/views/components/panel.rb +39 -0
- data/activeadmin-3.5.1/lib/active_admin/views/components/scopes.rb +75 -0
- data/activeadmin-3.5.1/lib/active_admin/views/components/sidebar.rb +14 -0
- data/activeadmin-3.5.1/lib/active_admin/views/components/sidebar_section.rb +35 -0
- data/activeadmin-3.5.1/lib/active_admin/views/components/site_title.rb +55 -0
- data/activeadmin-3.5.1/lib/active_admin/views/components/status_tag.rb +76 -0
- data/activeadmin-3.5.1/lib/active_admin/views/components/table_for.rb +211 -0
- data/activeadmin-3.5.1/lib/active_admin/views/components/tabs.rb +41 -0
- data/activeadmin-3.5.1/lib/active_admin/views/components/unsupported_browser.rb +12 -0
- data/activeadmin-3.5.1/lib/active_admin/views/footer.rb +32 -0
- data/activeadmin-3.5.1/lib/active_admin/views/header.rb +20 -0
- data/activeadmin-3.5.1/lib/active_admin/views/index_as_block.rb +37 -0
- data/activeadmin-3.5.1/lib/active_admin/views/index_as_blog.rb +156 -0
- data/activeadmin-3.5.1/lib/active_admin/views/index_as_grid.rb +81 -0
- data/activeadmin-3.5.1/lib/active_admin/views/index_as_table.rb +401 -0
- data/activeadmin-3.5.1/lib/active_admin/views/pages/base.rb +134 -0
- data/activeadmin-3.5.1/lib/active_admin/views/pages/form.rb +65 -0
- data/activeadmin-3.5.1/lib/active_admin/views/pages/index.rb +166 -0
- data/activeadmin-3.5.1/lib/active_admin/views/pages/layout.rb +27 -0
- data/activeadmin-3.5.1/lib/active_admin/views/pages/page.rb +31 -0
- data/activeadmin-3.5.1/lib/active_admin/views/pages/show.rb +60 -0
- data/activeadmin-3.5.1/lib/active_admin/views/tabbed_navigation.rb +12 -0
- data/activeadmin-3.5.1/lib/active_admin/views/title_bar.rb +56 -0
- data/activeadmin-3.5.1/lib/active_admin/views.rb +9 -0
- data/activeadmin-3.5.1/lib/active_admin.rb +135 -0
- data/activeadmin-3.5.1/lib/activeadmin.rb +2 -0
- data/activeadmin-3.5.1/lib/generators/active_admin/assets/assets_generator.rb +15 -0
- data/activeadmin-3.5.1/lib/generators/active_admin/assets/templates/active_admin.js +1 -0
- data/activeadmin-3.5.1/lib/generators/active_admin/assets/templates/active_admin.scss +17 -0
- data/activeadmin-3.5.1/lib/generators/active_admin/devise/devise_generator.rb +69 -0
- data/activeadmin-3.5.1/lib/generators/active_admin/install/install_generator.rb +56 -0
- data/activeadmin-3.5.1/lib/generators/active_admin/install/templates/active_admin.rb.erb +352 -0
- data/activeadmin-3.5.1/lib/generators/active_admin/install/templates/admin_users.rb.erb +28 -0
- data/activeadmin-3.5.1/lib/generators/active_admin/install/templates/dashboard.rb +33 -0
- data/activeadmin-3.5.1/lib/generators/active_admin/install/templates/migrations/create_active_admin_comments.rb.erb +16 -0
- data/activeadmin-3.5.1/lib/generators/active_admin/page/USAGE +8 -0
- data/activeadmin-3.5.1/lib/generators/active_admin/page/page_generator.rb +13 -0
- data/activeadmin-3.5.1/lib/generators/active_admin/page/templates/page.rb +6 -0
- data/activeadmin-3.5.1/lib/generators/active_admin/resource/resource_generator.rb +21 -0
- data/activeadmin-3.5.1/lib/generators/active_admin/resource/templates/admin.rb.erb +46 -0
- data/activeadmin-3.5.1/lib/generators/active_admin/webpacker/plugins/jquery.js +7 -0
- data/activeadmin-3.5.1/lib/generators/active_admin/webpacker/templates/active_admin.js +5 -0
- data/activeadmin-3.5.1/lib/generators/active_admin/webpacker/templates/active_admin.scss +17 -0
- data/activeadmin-3.5.1/lib/generators/active_admin/webpacker/templates/print.scss +2 -0
- data/activeadmin-3.5.1/lib/generators/active_admin/webpacker/webpacker_generator.rb +27 -0
- data/activeadmin-3.5.1/vendor/assets/javascripts/jquery-ui/data.js +39 -0
- data/activeadmin-3.5.1/vendor/assets/javascripts/jquery-ui/disable-selection.js +51 -0
- data/activeadmin-3.5.1/vendor/assets/javascripts/jquery-ui/focusable.js +79 -0
- data/activeadmin-3.5.1/vendor/assets/javascripts/jquery-ui/form-reset-mixin.js +81 -0
- data/activeadmin-3.5.1/vendor/assets/javascripts/jquery-ui/keycode.js +51 -0
- data/activeadmin-3.5.1/vendor/assets/javascripts/jquery-ui/labels.js +70 -0
- data/activeadmin-3.5.1/vendor/assets/javascripts/jquery-ui/plugin.js +49 -0
- data/activeadmin-3.5.1/vendor/assets/javascripts/jquery-ui/position.js +513 -0
- data/activeadmin-3.5.1/vendor/assets/javascripts/jquery-ui/scroll-parent.js +50 -0
- data/activeadmin-3.5.1/vendor/assets/javascripts/jquery-ui/tabbable.js +41 -0
- data/activeadmin-3.5.1/vendor/assets/javascripts/jquery-ui/unique-id.js +54 -0
- data/activeadmin-3.5.1/vendor/assets/javascripts/jquery-ui/version.js +20 -0
- data/activeadmin-3.5.1/vendor/assets/javascripts/jquery-ui/widget.js +761 -0
- data/activeadmin-3.5.1/vendor/assets/javascripts/jquery-ui/widgets/button.js +454 -0
- data/activeadmin-3.5.1/vendor/assets/javascripts/jquery-ui/widgets/checkboxradio.js +294 -0
- data/activeadmin-3.5.1/vendor/assets/javascripts/jquery-ui/widgets/controlgroup.js +304 -0
- data/activeadmin-3.5.1/vendor/assets/javascripts/jquery-ui/widgets/datepicker.js +2240 -0
- data/activeadmin-3.5.1/vendor/assets/javascripts/jquery-ui/widgets/dialog.js +957 -0
- data/activeadmin-3.5.1/vendor/assets/javascripts/jquery-ui/widgets/draggable.js +1264 -0
- data/activeadmin-3.5.1/vendor/assets/javascripts/jquery-ui/widgets/mouse.js +226 -0
- data/activeadmin-3.5.1/vendor/assets/javascripts/jquery-ui/widgets/resizable.js +1281 -0
- data/activeadmin-3.5.1/vendor/assets/javascripts/jquery-ui/widgets/sortable.js +1614 -0
- data/activeadmin-3.5.1/vendor/assets/javascripts/jquery-ui/widgets/tabs.js +918 -0
- data/super-sharp-tool.gemspec +12 -0
- metadata +383 -0
|
@@ -0,0 +1,267 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
require "active_admin/resource_collection"
|
|
3
|
+
|
|
4
|
+
module ActiveAdmin
|
|
5
|
+
|
|
6
|
+
# Namespaces are the basic organizing principle for resources within Active Admin
|
|
7
|
+
#
|
|
8
|
+
# Each resource is registered into a namespace which defines:
|
|
9
|
+
# * the namespaceing for routing
|
|
10
|
+
# * the module to namespace controllers
|
|
11
|
+
# * the menu which gets displayed (other resources in the same namespace)
|
|
12
|
+
#
|
|
13
|
+
# For example:
|
|
14
|
+
#
|
|
15
|
+
# ActiveAdmin.register Post, namespace: :admin
|
|
16
|
+
#
|
|
17
|
+
# Will register the Post model into the "admin" namespace. This will namespace the
|
|
18
|
+
# urls for the resource to "/admin/posts" and will set the controller to
|
|
19
|
+
# Admin::PostsController
|
|
20
|
+
#
|
|
21
|
+
# You can also register to the "root" namespace, which is to say no namespace at all.
|
|
22
|
+
#
|
|
23
|
+
# ActiveAdmin.register Post, namespace: false
|
|
24
|
+
#
|
|
25
|
+
# This will register the resource to an instantiated namespace called :root. The
|
|
26
|
+
# resource will be accessible from "/posts" and the controller will be PostsController.
|
|
27
|
+
#
|
|
28
|
+
class Namespace
|
|
29
|
+
class << self
|
|
30
|
+
def setting(name, default)
|
|
31
|
+
ActiveAdmin.deprecator.warn "This method does not do anything and will be removed."
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
RegisterEvent = "active_admin.namespace.register".freeze
|
|
36
|
+
|
|
37
|
+
attr_reader :application, :resources, :menus
|
|
38
|
+
|
|
39
|
+
def initialize(application, name)
|
|
40
|
+
@application = application
|
|
41
|
+
@name = name.to_s.underscore
|
|
42
|
+
@resources = ResourceCollection.new
|
|
43
|
+
register_module unless root?
|
|
44
|
+
build_menu_collection
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
def name
|
|
48
|
+
@name.to_sym
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
def settings
|
|
52
|
+
@settings ||= SettingsNode.build(application.namespace_settings)
|
|
53
|
+
end
|
|
54
|
+
|
|
55
|
+
def respond_to_missing?(method, include_private = false)
|
|
56
|
+
settings.respond_to?(method) || super
|
|
57
|
+
end
|
|
58
|
+
|
|
59
|
+
def method_missing(method, *args)
|
|
60
|
+
settings.respond_to?(method) ? settings.send(method, *args) : super
|
|
61
|
+
end
|
|
62
|
+
|
|
63
|
+
# Register a resource into this namespace. The preferred method to access this is to
|
|
64
|
+
# use the global registration ActiveAdmin.register which delegates to the proper
|
|
65
|
+
# namespace instance.
|
|
66
|
+
def register(resource_class, options = {}, &block)
|
|
67
|
+
config = find_or_build_resource(resource_class, options)
|
|
68
|
+
|
|
69
|
+
# Register the resource
|
|
70
|
+
register_resource_controller(config)
|
|
71
|
+
parse_registration_block(config, &block) if block_given?
|
|
72
|
+
reset_menu!
|
|
73
|
+
|
|
74
|
+
# Dispatch a registration event
|
|
75
|
+
ActiveSupport::Notifications.instrument ActiveAdmin::Resource::RegisterEvent, { active_admin_resource: config }
|
|
76
|
+
|
|
77
|
+
# Return the config
|
|
78
|
+
config
|
|
79
|
+
end
|
|
80
|
+
|
|
81
|
+
def register_page(name, options = {}, &block)
|
|
82
|
+
config = build_page(name, options)
|
|
83
|
+
|
|
84
|
+
# Register the resource
|
|
85
|
+
register_page_controller(config)
|
|
86
|
+
parse_page_registration_block(config, &block) if block_given?
|
|
87
|
+
reset_menu!
|
|
88
|
+
|
|
89
|
+
config
|
|
90
|
+
end
|
|
91
|
+
|
|
92
|
+
def root?
|
|
93
|
+
name == :root
|
|
94
|
+
end
|
|
95
|
+
|
|
96
|
+
# Returns the name of the module if required. Will be nil if none
|
|
97
|
+
# is required.
|
|
98
|
+
#
|
|
99
|
+
# eg:
|
|
100
|
+
# Namespace.new(:admin).module_name # => 'Admin'
|
|
101
|
+
# Namespace.new(:root).module_name # => nil
|
|
102
|
+
#
|
|
103
|
+
def module_name
|
|
104
|
+
root? ? nil : @name.camelize
|
|
105
|
+
end
|
|
106
|
+
|
|
107
|
+
def route_prefix
|
|
108
|
+
root? ? nil : @name
|
|
109
|
+
end
|
|
110
|
+
|
|
111
|
+
# Unload all the registered resources for this namespace
|
|
112
|
+
def unload!
|
|
113
|
+
unload_resources!
|
|
114
|
+
reset_menu!
|
|
115
|
+
end
|
|
116
|
+
|
|
117
|
+
# Returns the first registered ActiveAdmin::Resource instance for a given class
|
|
118
|
+
def resource_for(klass)
|
|
119
|
+
resources[klass]
|
|
120
|
+
end
|
|
121
|
+
|
|
122
|
+
def fetch_menu(name)
|
|
123
|
+
@menus.fetch(name)
|
|
124
|
+
end
|
|
125
|
+
|
|
126
|
+
def reset_menu!
|
|
127
|
+
@menus.clear!
|
|
128
|
+
end
|
|
129
|
+
|
|
130
|
+
# Add a callback to be ran when we build the menu
|
|
131
|
+
#
|
|
132
|
+
# @param [Symbol] name The name of the menu. Default: :default
|
|
133
|
+
# @yield [ActiveAdmin::Menu] The block to be ran when the menu is built
|
|
134
|
+
#
|
|
135
|
+
# @return [void]
|
|
136
|
+
def build_menu(name = DEFAULT_MENU)
|
|
137
|
+
@menus.before_build do |menus|
|
|
138
|
+
menus.menu name do |menu|
|
|
139
|
+
yield menu
|
|
140
|
+
end
|
|
141
|
+
end
|
|
142
|
+
end
|
|
143
|
+
|
|
144
|
+
# The default logout menu item
|
|
145
|
+
#
|
|
146
|
+
# @param [ActiveAdmin::MenuItem] menu The menu to add the logout link to
|
|
147
|
+
# @param [Fixnum] priority The numeric priority for the order in which it appears
|
|
148
|
+
# @param [Hash] html_options An options hash to pass along to link_to
|
|
149
|
+
#
|
|
150
|
+
def add_logout_button_to_menu(menu, priority = 20, html_options = {})
|
|
151
|
+
if logout_link_path
|
|
152
|
+
html_options = html_options.reverse_merge(method: logout_link_method || :get)
|
|
153
|
+
menu.add id: "logout", priority: priority, html_options: html_options,
|
|
154
|
+
label: -> { I18n.t "active_admin.logout" },
|
|
155
|
+
url: -> { render_or_call_method_or_proc_on self, active_admin_namespace.logout_link_path },
|
|
156
|
+
if: :current_active_admin_user?
|
|
157
|
+
end
|
|
158
|
+
end
|
|
159
|
+
|
|
160
|
+
# The default user session menu item
|
|
161
|
+
#
|
|
162
|
+
# @param [ActiveAdmin::MenuItem] menu The menu to add the logout link to
|
|
163
|
+
# @param [Fixnum] priority The numeric priority for the order in which it appears
|
|
164
|
+
# @param [Hash] html_options An options hash to pass along to link_to
|
|
165
|
+
#
|
|
166
|
+
def add_current_user_to_menu(menu, priority = 10, html_options = {})
|
|
167
|
+
if current_user_method
|
|
168
|
+
menu.add id: "current_user", priority: priority, html_options: html_options,
|
|
169
|
+
label: -> { display_name current_active_admin_user },
|
|
170
|
+
url: -> { auto_url_for(current_active_admin_user) },
|
|
171
|
+
if: :current_active_admin_user?
|
|
172
|
+
end
|
|
173
|
+
end
|
|
174
|
+
|
|
175
|
+
protected
|
|
176
|
+
|
|
177
|
+
def build_menu_collection
|
|
178
|
+
@menus = MenuCollection.new
|
|
179
|
+
|
|
180
|
+
@menus.on_build do
|
|
181
|
+
build_default_utility_nav
|
|
182
|
+
|
|
183
|
+
resources.each do |resource|
|
|
184
|
+
resource.add_to_menu(@menus)
|
|
185
|
+
end
|
|
186
|
+
end
|
|
187
|
+
end
|
|
188
|
+
|
|
189
|
+
# Builds the default utility navigation in top right header with current user & logout button
|
|
190
|
+
def build_default_utility_nav
|
|
191
|
+
return if @menus.exists? :utility_navigation
|
|
192
|
+
@menus.menu :utility_navigation do |menu|
|
|
193
|
+
add_current_user_to_menu menu
|
|
194
|
+
add_logout_button_to_menu menu
|
|
195
|
+
end
|
|
196
|
+
end
|
|
197
|
+
|
|
198
|
+
# Either returns an existing Resource instance or builds a new one.
|
|
199
|
+
def find_or_build_resource(resource_class, options)
|
|
200
|
+
resources.add Resource.new(self, resource_class, options)
|
|
201
|
+
end
|
|
202
|
+
|
|
203
|
+
def build_page(name, options)
|
|
204
|
+
resources.add Page.new(self, name, options)
|
|
205
|
+
end
|
|
206
|
+
|
|
207
|
+
# TODO: replace `eval` with `Class.new`
|
|
208
|
+
def register_page_controller(config)
|
|
209
|
+
eval "class ::#{config.controller_name} < ActiveAdmin::PageController; end"
|
|
210
|
+
config.controller.active_admin_config = config
|
|
211
|
+
end
|
|
212
|
+
|
|
213
|
+
def unload_resources!
|
|
214
|
+
resources.each do |resource|
|
|
215
|
+
parent = (module_name || "Object").constantize
|
|
216
|
+
name = resource.controller_name.split("::").last
|
|
217
|
+
parent.send(:remove_const, name) if parent.const_defined?(name, false)
|
|
218
|
+
|
|
219
|
+
# Remove circular references
|
|
220
|
+
resource.controller.active_admin_config = nil
|
|
221
|
+
if resource.is_a?(Resource) && resource.dsl
|
|
222
|
+
resource.dsl.run_registration_block { @config = nil }
|
|
223
|
+
end
|
|
224
|
+
end
|
|
225
|
+
@resources = ResourceCollection.new
|
|
226
|
+
end
|
|
227
|
+
|
|
228
|
+
# Creates a ruby module to namespace all the classes in if required
|
|
229
|
+
def register_module
|
|
230
|
+
unless Object.const_defined? module_name
|
|
231
|
+
Object.const_set module_name, Module.new
|
|
232
|
+
end
|
|
233
|
+
end
|
|
234
|
+
|
|
235
|
+
# TODO: replace `eval` with `Class.new`
|
|
236
|
+
def register_resource_controller(config)
|
|
237
|
+
eval "class ::#{config.controller_name} < ActiveAdmin::ResourceController; end"
|
|
238
|
+
config.controller.active_admin_config = config
|
|
239
|
+
end
|
|
240
|
+
|
|
241
|
+
def parse_registration_block(config, &block)
|
|
242
|
+
config.dsl = ResourceDSL.new(config)
|
|
243
|
+
config.dsl.run_registration_block(&block)
|
|
244
|
+
end
|
|
245
|
+
|
|
246
|
+
def parse_page_registration_block(config, &block)
|
|
247
|
+
PageDSL.new(config).run_registration_block(&block)
|
|
248
|
+
end
|
|
249
|
+
|
|
250
|
+
class Store
|
|
251
|
+
include Enumerable
|
|
252
|
+
delegate :[], :[]=, :empty?, to: :@namespaces
|
|
253
|
+
|
|
254
|
+
def initialize
|
|
255
|
+
@namespaces = {}
|
|
256
|
+
end
|
|
257
|
+
|
|
258
|
+
def each(&block)
|
|
259
|
+
@namespaces.values.each(&block)
|
|
260
|
+
end
|
|
261
|
+
|
|
262
|
+
def names
|
|
263
|
+
@namespaces.keys
|
|
264
|
+
end
|
|
265
|
+
end
|
|
266
|
+
end
|
|
267
|
+
end
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
require "active_admin/dynamic_settings_node"
|
|
3
|
+
|
|
4
|
+
module ActiveAdmin
|
|
5
|
+
class NamespaceSettings < DynamicSettingsNode
|
|
6
|
+
# The default number of resources to display on index pages
|
|
7
|
+
register :default_per_page, 30
|
|
8
|
+
|
|
9
|
+
# The max number of resources to display on index pages and batch exports
|
|
10
|
+
register :max_per_page, 10_000
|
|
11
|
+
|
|
12
|
+
# The title which gets displayed in the main layout
|
|
13
|
+
register :site_title, "", :string_symbol_or_proc
|
|
14
|
+
|
|
15
|
+
# Set the site title link href (defaults to AA dashboard)
|
|
16
|
+
register :site_title_link, ""
|
|
17
|
+
|
|
18
|
+
# Set the site title image displayed in the main layout (has precendence over :site_title)
|
|
19
|
+
register :site_title_image, "", :string_symbol_or_proc
|
|
20
|
+
|
|
21
|
+
# Add to the site head
|
|
22
|
+
register :head, "", :string_symbol_or_proc
|
|
23
|
+
|
|
24
|
+
# Set the site footer text (defaults to Powered by ActiveAdmin text with version)
|
|
25
|
+
register :footer, "", :string_symbol_or_proc
|
|
26
|
+
|
|
27
|
+
# Set a favicon
|
|
28
|
+
register :favicon, false
|
|
29
|
+
|
|
30
|
+
# Additional meta tags to place in head of logged in pages
|
|
31
|
+
register :meta_tags, {}
|
|
32
|
+
|
|
33
|
+
# Additional meta tags to place in head of logged out pages
|
|
34
|
+
register :meta_tags_for_logged_out_pages, { robots: "noindex, nofollow" }
|
|
35
|
+
|
|
36
|
+
# The view factory to use to generate all the view classes. Take
|
|
37
|
+
# a look at ActiveAdmin::ViewFactory
|
|
38
|
+
register :view_factory, ActiveAdmin::ViewFactory.new
|
|
39
|
+
|
|
40
|
+
# The method to call in controllers to get the current user
|
|
41
|
+
register :current_user_method, false
|
|
42
|
+
|
|
43
|
+
# The method to call in the controllers to ensure that there
|
|
44
|
+
# is a currently authenticated admin user
|
|
45
|
+
register :authentication_method, false
|
|
46
|
+
|
|
47
|
+
# The path to log user's out with. If set to a symbol, we assume
|
|
48
|
+
# that it's a method to call which returns the path
|
|
49
|
+
register :logout_link_path, :destroy_admin_user_session_path
|
|
50
|
+
|
|
51
|
+
# The method to use when generating the link for user logout
|
|
52
|
+
register :logout_link_method, :get
|
|
53
|
+
|
|
54
|
+
# Whether the batch actions are enabled or not
|
|
55
|
+
register :batch_actions, false
|
|
56
|
+
|
|
57
|
+
# Whether filters are enabled
|
|
58
|
+
register :filters, true
|
|
59
|
+
|
|
60
|
+
# The namespace root
|
|
61
|
+
register :root_to, "dashboard#index"
|
|
62
|
+
|
|
63
|
+
# Options that are passed to root_to
|
|
64
|
+
register :root_to_options, {}
|
|
65
|
+
|
|
66
|
+
# Options passed to the routes, i.e. { path: '/custom' }
|
|
67
|
+
register :route_options, {}
|
|
68
|
+
|
|
69
|
+
# Display breadcrumbs
|
|
70
|
+
register :breadcrumb, true
|
|
71
|
+
|
|
72
|
+
# Display create another checkbox on a new page
|
|
73
|
+
# @return [Boolean] (true)
|
|
74
|
+
register :create_another, false
|
|
75
|
+
|
|
76
|
+
# Default CSV options
|
|
77
|
+
register :csv_options, { col_sep: ",", byte_order_mark: "\xEF\xBB\xBF" }
|
|
78
|
+
|
|
79
|
+
# Default Download Links options
|
|
80
|
+
register :download_links, true
|
|
81
|
+
|
|
82
|
+
# The authorization adapter to use
|
|
83
|
+
register :authorization_adapter, ActiveAdmin::AuthorizationAdapter
|
|
84
|
+
|
|
85
|
+
# A proc to be used when a user is not authorized to view the current resource
|
|
86
|
+
register :on_unauthorized_access, :rescue_active_admin_access_denied
|
|
87
|
+
|
|
88
|
+
# A regex to detect unsupported browser, set to false to disable
|
|
89
|
+
register :unsupported_browser_matcher, /MSIE [1-8]\.0/
|
|
90
|
+
|
|
91
|
+
# Whether to display 'Current Filters' on search screen
|
|
92
|
+
register :current_filters, true
|
|
93
|
+
|
|
94
|
+
# class to handle ordering
|
|
95
|
+
register :order_clause, ActiveAdmin::OrderClause
|
|
96
|
+
|
|
97
|
+
# default show_count for scopes
|
|
98
|
+
register :scopes_show_count, true
|
|
99
|
+
|
|
100
|
+
# Request parameters that are permitted by default
|
|
101
|
+
register :permitted_params, [
|
|
102
|
+
:utf8, :_method, :authenticity_token, :commit, :id
|
|
103
|
+
]
|
|
104
|
+
|
|
105
|
+
# Set flash message keys that shouldn't show in ActiveAdmin
|
|
106
|
+
register :flash_keys_to_except, ["timedout"]
|
|
107
|
+
|
|
108
|
+
# Include association filters by default
|
|
109
|
+
register :include_default_association_filters, true
|
|
110
|
+
|
|
111
|
+
register :maximum_association_filter_arity, :unlimited
|
|
112
|
+
|
|
113
|
+
register :filter_columns_for_large_association, [
|
|
114
|
+
:display_name,
|
|
115
|
+
:full_name,
|
|
116
|
+
:name,
|
|
117
|
+
:username,
|
|
118
|
+
:login,
|
|
119
|
+
:title,
|
|
120
|
+
:email,
|
|
121
|
+
]
|
|
122
|
+
register :filter_method_for_large_association, "_start"
|
|
123
|
+
|
|
124
|
+
# Switch between asset pipeline and webpacker assets
|
|
125
|
+
register :use_webpacker, false
|
|
126
|
+
end
|
|
127
|
+
end
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
module ActiveAdmin
|
|
3
|
+
class OrderClause
|
|
4
|
+
attr_reader :field, :order, :active_admin_config
|
|
5
|
+
|
|
6
|
+
def initialize(active_admin_config, clause)
|
|
7
|
+
clause =~ /^([\w\.]+)(->'\w+')?_(desc|asc)$/
|
|
8
|
+
@column = $1
|
|
9
|
+
@op = $2
|
|
10
|
+
@order = $3
|
|
11
|
+
@active_admin_config = active_admin_config
|
|
12
|
+
@field = [@column, @op].compact.join
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
def valid?
|
|
16
|
+
@field.present? && @order.present?
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
def apply(chain)
|
|
20
|
+
chain.reorder(Arel.sql sql)
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
def to_sql
|
|
24
|
+
[table_column, @op, " ", @order].compact.join
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
def table
|
|
28
|
+
active_admin_config.resource_column_names.include?(@column) ? active_admin_config.resource_table_name : nil
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
def table_column
|
|
32
|
+
(@column =~ /\./) ? @column :
|
|
33
|
+
[table, active_admin_config.resource_quoted_column_name(@column)].compact.join(".")
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
def sql
|
|
37
|
+
custom_sql || to_sql
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
protected
|
|
41
|
+
|
|
42
|
+
def custom_sql
|
|
43
|
+
if active_admin_config.ordering[@column].present?
|
|
44
|
+
active_admin_config.ordering[@column].call(self)
|
|
45
|
+
end
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
end
|
|
49
|
+
end
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
module ActiveAdmin
|
|
3
|
+
class Comment < ActiveRecord::Base
|
|
4
|
+
|
|
5
|
+
self.table_name = "#{table_name_prefix}active_admin_comments#{table_name_suffix}"
|
|
6
|
+
|
|
7
|
+
belongs_to :resource, polymorphic: true, optional: true
|
|
8
|
+
belongs_to :author, polymorphic: true
|
|
9
|
+
|
|
10
|
+
validates_presence_of :body, :namespace, :resource
|
|
11
|
+
|
|
12
|
+
before_create :set_resource_type
|
|
13
|
+
|
|
14
|
+
# @return [String] The name of the record to use for the polymorphic relationship
|
|
15
|
+
def self.resource_type(resource)
|
|
16
|
+
ResourceController::Decorators.undecorate(resource).class.base_class.name.to_s
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
def self.find_for_resource_in_namespace(resource, namespace)
|
|
20
|
+
where(
|
|
21
|
+
resource_type: resource_type(resource),
|
|
22
|
+
resource_id: resource.id,
|
|
23
|
+
namespace: namespace.to_s
|
|
24
|
+
).order(ActiveAdmin.application.namespaces[namespace.to_sym].comments_order)
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
def set_resource_type
|
|
28
|
+
self.resource_type = self.class.resource_type(resource)
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
def self.ransackable_attributes(auth_object = nil)
|
|
32
|
+
authorizable_ransackable_attributes
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
def self.ransackable_associations(auth_object = nil)
|
|
36
|
+
authorizable_ransackable_associations
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
end
|
|
40
|
+
end
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
module ActiveAdmin
|
|
3
|
+
module Comments
|
|
4
|
+
|
|
5
|
+
module ResourceHelper
|
|
6
|
+
extend ActiveSupport::Concern
|
|
7
|
+
|
|
8
|
+
included do
|
|
9
|
+
attr_accessor :comments
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
def comments?
|
|
13
|
+
(namespace.comments? && comments != false) || comments == true
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
end
|
|
18
|
+
end
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
module ActiveAdmin
|
|
3
|
+
module Comments
|
|
4
|
+
|
|
5
|
+
# Adds #active_admin_comments to the show page for use
|
|
6
|
+
# and sets it up on the default main content
|
|
7
|
+
module ShowPageHelper
|
|
8
|
+
|
|
9
|
+
# Add admin comments to the main content if they are
|
|
10
|
+
# turned on for the current resource
|
|
11
|
+
def default_main_content
|
|
12
|
+
super
|
|
13
|
+
active_admin_comments if active_admin_config.comments?
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
# Display the comments for the resource. Same as calling
|
|
17
|
+
# #active_admin_comments_for with the current resource
|
|
18
|
+
def active_admin_comments(*args, &block)
|
|
19
|
+
active_admin_comments_for(resource, *args, &block)
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
end
|
|
24
|
+
end
|
data/activeadmin-3.5.1/lib/active_admin/orm/active_record/comments/views/active_admin_comments.rb
ADDED
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
require "active_admin/views"
|
|
3
|
+
require "active_admin/views/components/panel"
|
|
4
|
+
|
|
5
|
+
module ActiveAdmin
|
|
6
|
+
module Comments
|
|
7
|
+
module Views
|
|
8
|
+
|
|
9
|
+
class Comments < ActiveAdmin::Views::Panel
|
|
10
|
+
builder_method :active_admin_comments_for
|
|
11
|
+
|
|
12
|
+
attr_accessor :resource
|
|
13
|
+
|
|
14
|
+
def build(resource)
|
|
15
|
+
if authorized?(ActiveAdmin::Auth::READ, ActiveAdmin::Comment)
|
|
16
|
+
@resource = resource
|
|
17
|
+
@comments = active_admin_authorization.scope_collection(ActiveAdmin::Comment.find_for_resource_in_namespace(resource, active_admin_namespace.name).includes(:author).page(params[:page]))
|
|
18
|
+
super(title, for: resource)
|
|
19
|
+
build_comments
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
protected
|
|
24
|
+
|
|
25
|
+
def title
|
|
26
|
+
I18n.t "active_admin.comments.title_content", count: @comments.total_count
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
def build_comments
|
|
30
|
+
if @comments.any?
|
|
31
|
+
@comments.each(&method(:build_comment))
|
|
32
|
+
div page_entries_info(@comments).html_safe, class: "pagination_information"
|
|
33
|
+
else
|
|
34
|
+
build_empty_message
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
text_node paginate @comments
|
|
38
|
+
|
|
39
|
+
if authorized?(ActiveAdmin::Auth::NEW, ActiveAdmin::Comment)
|
|
40
|
+
build_comment_form
|
|
41
|
+
end
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
def build_comment(comment)
|
|
45
|
+
div for: comment do
|
|
46
|
+
div class: "active_admin_comment_meta" do
|
|
47
|
+
h4 class: "active_admin_comment_author" do
|
|
48
|
+
comment.author ? auto_link(comment.author) : I18n.t("active_admin.comments.author_missing")
|
|
49
|
+
end
|
|
50
|
+
span pretty_format comment.created_at
|
|
51
|
+
if authorized?(ActiveAdmin::Auth::DESTROY, comment)
|
|
52
|
+
text_node link_to I18n.t("active_admin.comments.delete"), comments_url(comment.id), method: :delete, data: { confirm: I18n.t("active_admin.comments.delete_confirmation") }
|
|
53
|
+
end
|
|
54
|
+
end
|
|
55
|
+
div class: "active_admin_comment_body" do
|
|
56
|
+
simple_format comment.body
|
|
57
|
+
end
|
|
58
|
+
end
|
|
59
|
+
end
|
|
60
|
+
|
|
61
|
+
def build_empty_message
|
|
62
|
+
span I18n.t("active_admin.comments.no_comments_yet"), class: "empty"
|
|
63
|
+
end
|
|
64
|
+
|
|
65
|
+
def comments_url(*args)
|
|
66
|
+
parts = []
|
|
67
|
+
parts << active_admin_namespace.name unless active_admin_namespace.root?
|
|
68
|
+
parts << active_admin_namespace.comments_registration_name.underscore
|
|
69
|
+
parts << "path"
|
|
70
|
+
send parts.join("_"), *args
|
|
71
|
+
end
|
|
72
|
+
|
|
73
|
+
def comment_form_url
|
|
74
|
+
parts = []
|
|
75
|
+
parts << active_admin_namespace.name unless active_admin_namespace.root?
|
|
76
|
+
parts << active_admin_namespace.comments_registration_name.underscore.pluralize
|
|
77
|
+
parts << "path"
|
|
78
|
+
send parts.join "_"
|
|
79
|
+
end
|
|
80
|
+
|
|
81
|
+
def build_comment_form
|
|
82
|
+
active_admin_form_for(ActiveAdmin::Comment.new, url: comment_form_url) do |f|
|
|
83
|
+
f.inputs do
|
|
84
|
+
f.input :resource_type, as: :hidden, input_html: { value: ActiveAdmin::Comment.resource_type(parent.resource) }
|
|
85
|
+
f.input :resource_id, as: :hidden, input_html: { value: parent.resource.id }
|
|
86
|
+
f.input :body, label: false, input_html: { size: "80x8" }
|
|
87
|
+
end
|
|
88
|
+
f.actions do
|
|
89
|
+
f.action :submit, label: I18n.t("active_admin.comments.add")
|
|
90
|
+
end
|
|
91
|
+
end
|
|
92
|
+
end
|
|
93
|
+
|
|
94
|
+
def default_id_for_prefix
|
|
95
|
+
"active_admin_comments_for"
|
|
96
|
+
end
|
|
97
|
+
end
|
|
98
|
+
|
|
99
|
+
end
|
|
100
|
+
end
|
|
101
|
+
end
|