activeadmin 1.1.0 → 2.12.0
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of activeadmin might be problematic. Click here for more details.
- checksums.yaml +5 -5
- data/CHANGELOG.md +784 -111
- data/CODE_OF_CONDUCT.md +64 -12
- data/CONTRIBUTING.md +83 -61
- data/README.md +73 -19
- data/app/assets/javascripts/active_admin/base.js +524 -0
- data/app/assets/stylesheets/active_admin/_base.scss +53 -37
- data/app/assets/stylesheets/active_admin/_forms.scss +3 -25
- data/app/assets/stylesheets/active_admin/_header.scss +40 -8
- data/app/assets/stylesheets/active_admin/_mixins.scss +1 -1
- data/{vendor → app}/assets/stylesheets/active_admin/_normalize.scss +25 -123
- data/app/assets/stylesheets/active_admin/{print.scss → _print.scss} +2 -2
- data/app/assets/stylesheets/active_admin/components/_comments.scss +2 -2
- data/app/assets/stylesheets/active_admin/components/_date_picker.scss +1 -2
- data/app/assets/stylesheets/active_admin/components/_dropdown_menu.scss +0 -1
- data/app/assets/stylesheets/active_admin/components/_scopes.scss +3 -0
- data/app/assets/stylesheets/active_admin/components/_status_tags.scss +0 -5
- data/app/assets/stylesheets/active_admin/components/_tables.scss +1 -2
- data/app/assets/stylesheets/active_admin/components/_tabs.scss +1 -1
- data/app/assets/stylesheets/active_admin/mixins/_all.scss +8 -8
- data/app/assets/stylesheets/active_admin/mixins/_gradients.scss +1 -1
- data/app/assets/stylesheets/active_admin/mixins/_variables.scss +17 -0
- data/app/assets/stylesheets/active_admin/structure/_main_structure.scss +1 -1
- data/app/assets/stylesheets/active_admin/structure/_title_bar.scss +0 -1
- 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 +98 -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 +2 -3
- data/app/views/active_admin/devise/sessions/new.html.erb +1 -1
- data/app/views/active_admin/devise/shared/_error_messages.html.erb +15 -0
- data/app/views/active_admin/devise/shared/_links.erb +1 -1
- data/app/views/active_admin/devise/unlocks/new.html.erb +2 -2
- data/app/views/active_admin/page/index.html.arb +1 -0
- data/app/views/active_admin/resource/edit.html.arb +1 -0
- data/app/views/active_admin/resource/index.html.arb +1 -0
- data/app/views/active_admin/resource/new.html.arb +1 -0
- data/app/views/active_admin/resource/show.html.arb +1 -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.html.arb +1 -0
- data/app/views/layouts/active_admin_logged_out.html.erb +17 -7
- data/config/locales/ar.yml +9 -8
- data/config/locales/az.yml +138 -0
- data/config/locales/bg.yml +1 -1
- data/config/locales/bs.yml +1 -0
- data/config/locales/ca.yml +1 -1
- data/config/locales/cs.yml +1 -0
- data/config/locales/da.yml +1 -0
- data/config/locales/de-CH.yml +1 -0
- data/config/locales/de.yml +29 -0
- data/config/locales/el.yml +1 -0
- data/config/locales/en-CA.yml +4 -3
- data/config/locales/en-GB.yml +4 -3
- data/config/locales/en.yml +24 -4
- data/config/locales/eo.yml +145 -0
- data/config/locales/es-MX.yml +3 -1
- data/config/locales/es.yml +26 -6
- data/config/locales/fa.yml +1 -0
- data/config/locales/fi.yml +2 -1
- data/config/locales/fr.yml +6 -5
- data/config/locales/he.yml +1 -1
- data/config/locales/hr.yml +1 -0
- data/config/locales/hu.yml +5 -0
- data/config/locales/id.yml +1 -0
- data/config/locales/it.yml +31 -3
- data/config/locales/ja.yml +8 -2
- data/config/locales/ko.yml +2 -1
- data/config/locales/lt.yml +3 -2
- data/config/locales/lv.yml +3 -2
- data/config/locales/mk.yml +134 -0
- data/config/locales/nb.yml +16 -5
- data/config/locales/nl.yml +13 -1
- data/config/locales/pl.yml +72 -3
- data/config/locales/pt-BR.yml +9 -0
- data/config/locales/pt-PT.yml +1 -0
- data/config/locales/ro.yml +4 -2
- data/config/locales/ru.yml +3 -0
- data/config/locales/sk.yml +60 -0
- data/config/locales/sv-SE.yml +3 -0
- data/config/locales/tr.yml +10 -0
- data/config/locales/uk.yml +3 -0
- data/config/locales/vi.yml +53 -10
- data/config/locales/zh-CN.yml +34 -5
- data/config/locales/zh-TW.yml +1 -0
- data/docs/.gitignore +1 -0
- data/docs/0-installation.md +29 -5
- data/docs/1-general-configuration.md +36 -1
- data/docs/10-custom-pages.md +14 -0
- data/docs/11-decorators.md +16 -5
- data/docs/12-arbre-components.md +41 -1
- data/docs/13-authorization-adapter.md +41 -22
- data/docs/2-resource-customization.md +20 -6
- data/docs/3-index-pages/custom-index.md +1 -1
- data/docs/3-index-pages/index-as-blog.md +1 -1
- data/docs/3-index-pages/index-as-table.md +12 -5
- data/docs/3-index-pages.md +18 -1
- data/docs/5-forms.md +23 -4
- data/docs/6-show-pages.md +12 -0
- data/docs/8-custom-actions.md +12 -1
- data/docs/9-batch-actions.md +2 -2
- data/docs/CNAME +1 -1
- data/docs/Gemfile +4 -2
- data/docs/Gemfile.lock +283 -0
- data/docs/_config.yml +3 -1
- data/docs/_includes/toc.html +1 -1
- data/docs/_includes/top-menu.html +9 -1
- data/docs/documentation.md +2 -2
- data/docs/images/tidelift.svg +14 -0
- data/docs/index.html +110 -9
- data/docs/stylesheets/main.css +55 -2
- data/lib/active_admin/abstract_view_factory.rb +14 -51
- data/lib/active_admin/application.rb +65 -172
- data/lib/active_admin/application_settings.rb +43 -0
- data/lib/active_admin/asset_registration.rb +1 -8
- data/lib/active_admin/authorization_adapter.rb +4 -3
- data/lib/active_admin/base_controller/authorization.rb +18 -18
- data/lib/active_admin/base_controller/menu.rb +1 -0
- data/lib/active_admin/base_controller.rb +12 -11
- data/lib/active_admin/batch_actions/controller.rb +6 -5
- data/lib/active_admin/batch_actions/resource_extension.rb +16 -10
- data/lib/active_admin/batch_actions/views/batch_action_form.rb +4 -3
- data/lib/active_admin/batch_actions/views/batch_action_selector.rb +7 -6
- data/lib/active_admin/batch_actions/views/selection_cells.rb +4 -3
- data/lib/active_admin/batch_actions.rb +1 -0
- data/lib/active_admin/callbacks.rb +2 -1
- data/lib/active_admin/cancan_adapter.rb +2 -1
- data/lib/active_admin/collection_decorator.rb +32 -0
- data/lib/active_admin/component.rb +1 -0
- data/lib/active_admin/controller_action.rb +3 -1
- data/lib/active_admin/csv_builder.rb +15 -21
- data/lib/active_admin/dependency.rb +14 -77
- data/lib/active_admin/deprecation.rb +1 -25
- data/lib/active_admin/devise.rb +16 -5
- data/lib/active_admin/dsl.rb +3 -9
- data/lib/active_admin/dynamic_setting.rb +39 -0
- data/lib/active_admin/dynamic_settings_node.rb +29 -0
- data/lib/active_admin/engine.rb +16 -7
- data/lib/active_admin/error.rb +5 -4
- data/lib/active_admin/filters/active.rb +2 -1
- data/lib/active_admin/filters/active_filter.rb +52 -15
- data/lib/active_admin/filters/active_sidebar.rb +8 -30
- data/lib/active_admin/filters/dsl.rb +1 -0
- data/lib/active_admin/filters/forms.rb +13 -9
- data/lib/active_admin/filters/formtastic_addons.rb +3 -7
- data/lib/active_admin/filters/resource_extension.rb +30 -5
- data/lib/active_admin/filters.rb +8 -7
- data/lib/active_admin/form_builder.rb +110 -70
- data/lib/active_admin/generators/boilerplate.rb +13 -4
- data/lib/active_admin/helpers/collection.rb +2 -0
- data/lib/active_admin/helpers/i18n.rb +1 -0
- data/lib/active_admin/helpers/optional_display.rb +3 -2
- data/lib/active_admin/helpers/routes/url_helpers.rb +1 -0
- data/lib/active_admin/helpers/scope_chain.rb +2 -0
- data/lib/active_admin/inputs/datepicker_input.rb +10 -2
- data/lib/active_admin/inputs/filters/base/search_method_select.rb +7 -6
- data/lib/active_admin/inputs/filters/base.rb +2 -1
- data/lib/active_admin/inputs/filters/boolean_input.rb +2 -1
- data/lib/active_admin/inputs/filters/check_boxes_input.rb +2 -1
- data/lib/active_admin/inputs/filters/date_picker_input.rb +1 -0
- data/lib/active_admin/inputs/filters/date_range_input.rb +16 -12
- data/lib/active_admin/inputs/filters/numeric_input.rb +1 -0
- data/lib/active_admin/inputs/filters/select_input.rb +8 -3
- data/lib/active_admin/inputs/filters/string_input.rb +1 -0
- data/lib/active_admin/inputs/filters/text_input.rb +1 -0
- data/lib/active_admin/inputs.rb +1 -0
- data/lib/active_admin/localizers/resource_localizer.rb +4 -3
- data/lib/active_admin/localizers.rb +2 -1
- data/lib/active_admin/menu.rb +9 -11
- data/lib/active_admin/menu_collection.rb +1 -0
- data/lib/active_admin/menu_item.rb +11 -38
- data/lib/active_admin/namespace.rb +32 -19
- data/lib/active_admin/namespace_settings.rb +127 -0
- data/lib/active_admin/order_clause.rb +4 -3
- data/lib/active_admin/orm/active_record/comments/comment.rb +5 -4
- data/lib/active_admin/orm/active_record/comments/namespace_helper.rb +1 -0
- data/lib/active_admin/orm/active_record/comments/resource_helper.rb +1 -0
- data/lib/active_admin/orm/active_record/comments/show_page_helper.rb +1 -0
- data/lib/active_admin/orm/active_record/comments/views/active_admin_comments.rb +36 -25
- data/lib/active_admin/orm/active_record/comments/views.rb +3 -2
- data/lib/active_admin/orm/active_record/comments.rb +35 -23
- data/lib/active_admin/orm/active_record.rb +2 -1
- data/lib/active_admin/orm/mongoid.rb +1 -0
- data/lib/active_admin/page.rb +2 -1
- data/lib/active_admin/page_controller.rb +1 -0
- data/lib/active_admin/page_dsl.rb +2 -1
- data/lib/active_admin/page_presenter.rb +3 -1
- data/lib/active_admin/pundit_adapter.rb +61 -12
- data/lib/active_admin/resource/action_items.rb +12 -6
- data/lib/active_admin/resource/attributes.rb +9 -5
- data/lib/active_admin/resource/belongs_to.rb +9 -3
- data/lib/active_admin/resource/controllers.rb +2 -1
- data/lib/active_admin/resource/includes.rb +1 -0
- data/lib/active_admin/resource/menu.rb +6 -5
- data/lib/active_admin/resource/model.rb +16 -0
- data/lib/active_admin/resource/naming.rb +6 -5
- data/lib/active_admin/resource/ordering.rb +1 -0
- data/lib/active_admin/resource/page_presenters.rb +1 -0
- data/lib/active_admin/resource/pagination.rb +1 -0
- data/lib/active_admin/resource/routes.rb +26 -14
- data/lib/active_admin/resource/scope_to.rb +8 -7
- data/lib/active_admin/resource/scopes.rb +4 -3
- data/lib/active_admin/resource/sidebars.rb +3 -2
- data/lib/active_admin/resource.rb +37 -22
- data/lib/active_admin/resource_collection.rb +3 -2
- data/lib/active_admin/resource_controller/action_builder.rb +11 -0
- data/lib/active_admin/resource_controller/data_access.rb +35 -5
- data/lib/active_admin/resource_controller/decorators.rb +10 -31
- data/lib/active_admin/resource_controller/polymorphic_routes.rb +38 -0
- data/lib/active_admin/resource_controller/resource_class_methods.rb +3 -0
- data/lib/active_admin/resource_controller/scoping.rb +2 -1
- data/lib/active_admin/resource_controller/sidebars.rb +1 -0
- data/lib/active_admin/resource_controller/streaming.rb +9 -7
- data/lib/active_admin/resource_controller.rb +14 -10
- data/lib/active_admin/resource_dsl.rb +17 -27
- data/lib/active_admin/router.rb +91 -84
- data/lib/active_admin/scope.rb +20 -11
- data/lib/active_admin/settings_node.rb +20 -0
- data/lib/active_admin/sidebar_section.rb +4 -1
- data/lib/active_admin/version.rb +2 -1
- data/lib/active_admin/view_factory.rb +18 -17
- data/lib/active_admin/view_helpers/active_admin_application_helper.rb +1 -0
- data/lib/active_admin/view_helpers/auto_link_helper.rb +1 -0
- data/lib/active_admin/view_helpers/breadcrumb_helper.rb +6 -5
- data/lib/active_admin/view_helpers/display_helper.rb +25 -8
- data/lib/active_admin/view_helpers/download_format_links_helper.rb +3 -1
- data/lib/active_admin/view_helpers/fields_for.rb +3 -2
- data/lib/active_admin/view_helpers/flash_helper.rb +1 -0
- data/lib/active_admin/view_helpers/form_helper.rb +1 -0
- data/lib/active_admin/view_helpers/method_or_proc_helper.rb +4 -0
- data/lib/active_admin/view_helpers/scope_name_helper.rb +1 -0
- data/lib/active_admin/view_helpers/sidebar_helper.rb +1 -0
- data/lib/active_admin/view_helpers/title_helper.rb +1 -0
- data/lib/active_admin/view_helpers/view_factory_helper.rb +1 -0
- data/lib/active_admin/view_helpers.rb +2 -1
- data/lib/active_admin/views/action_items.rb +1 -0
- data/lib/active_admin/views/components/active_admin_form.rb +14 -8
- data/lib/active_admin/views/components/active_filters_sidebar_content.rb +59 -0
- data/lib/active_admin/views/components/attributes_table.rb +9 -8
- data/lib/active_admin/views/components/blank_slate.rb +2 -1
- data/lib/active_admin/views/components/columns.rb +1 -0
- data/lib/active_admin/views/components/dropdown_menu.rb +7 -9
- data/lib/active_admin/views/components/index_list.rb +4 -3
- data/lib/active_admin/views/components/menu.rb +33 -0
- data/lib/active_admin/views/components/menu_item.rb +59 -0
- data/lib/active_admin/views/components/paginated_collection.rb +22 -20
- data/lib/active_admin/views/components/panel.rb +2 -1
- data/lib/active_admin/views/components/scopes.rb +18 -8
- data/lib/active_admin/views/components/sidebar.rb +14 -0
- data/lib/active_admin/views/components/sidebar_section.rb +1 -0
- data/lib/active_admin/views/components/site_title.rb +7 -7
- data/lib/active_admin/views/components/status_tag.rb +14 -26
- data/lib/active_admin/views/components/table_for.rb +22 -29
- data/lib/active_admin/views/components/tabs.rb +18 -5
- data/lib/active_admin/views/components/unsupported_browser.rb +1 -0
- data/lib/active_admin/views/footer.rb +6 -8
- data/lib/active_admin/views/header.rb +4 -15
- data/lib/active_admin/views/index_as_block.rb +1 -0
- data/lib/active_admin/views/index_as_blog.rb +3 -2
- data/lib/active_admin/views/index_as_grid.rb +27 -26
- data/lib/active_admin/views/index_as_table.rb +34 -25
- data/lib/active_admin/views/pages/base.rb +44 -60
- data/lib/active_admin/views/pages/form.rb +1 -0
- data/lib/active_admin/views/pages/index.rb +16 -13
- data/lib/active_admin/views/pages/layout.rb +1 -0
- data/lib/active_admin/views/pages/page.rb +1 -0
- data/lib/active_admin/views/pages/show.rb +1 -0
- data/lib/active_admin/views/tabbed_navigation.rb +5 -59
- data/lib/active_admin/views/title_bar.rb +2 -1
- data/lib/active_admin/views.rb +2 -1
- data/lib/active_admin.rb +68 -63
- data/lib/activeadmin.rb +2 -1
- data/lib/generators/active_admin/assets/assets_generator.rb +3 -2
- data/lib/generators/active_admin/assets/templates/active_admin.js +1 -0
- data/lib/generators/active_admin/assets/templates/active_admin.scss +2 -2
- data/lib/generators/active_admin/devise/devise_generator.rb +6 -5
- data/lib/generators/active_admin/install/install_generator.rb +19 -8
- data/lib/generators/active_admin/install/templates/active_admin.rb.erb +45 -3
- data/lib/generators/active_admin/install/templates/dashboard.rb +3 -3
- data/lib/generators/active_admin/install/templates/migrations/create_active_admin_comments.rb.erb +1 -15
- data/lib/generators/active_admin/page/page_generator.rb +2 -1
- data/lib/generators/active_admin/page/templates/page.rb +1 -0
- data/lib/generators/active_admin/resource/resource_generator.rb +5 -4
- data/lib/generators/active_admin/resource/templates/admin.rb.erb +40 -37
- 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 +27 -0
- data/lib/ransack_ext.rb +10 -9
- 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/labels.js +65 -0
- data/vendor/assets/javascripts/jquery-ui/widgets/checkboxradio.js +274 -283
- metadata +124 -557
- data/.github/ISSUE_TEMPLATE.md +0 -20
- data/.gitignore +0 -49
- data/.mdlrc +0 -1
- data/.rubocop.yml +0 -76
- data/.simplecov +0 -13
- data/.travis.yml +0 -51
- data/.yardopts +0 -7
- data/Gemfile +0 -58
- data/Rakefile +0 -54
- data/activeadmin.gemspec +0 -32
- 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/base.js.coffee +0 -13
- 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/initializers/batch_actions.js.coffee +0 -11
- data/app/assets/javascripts/active_admin/initializers/datepicker.js.coffee +0 -14
- data/app/assets/javascripts/active_admin/initializers/filters.js.coffee +0 -26
- data/app/assets/javascripts/active_admin/initializers/tabs.js.coffee +0 -7
- data/app/assets/javascripts/active_admin/lib/batch_actions.js.coffee +0 -42
- data/app/assets/javascripts/active_admin/lib/checkbox-toggler.js.coffee +0 -46
- data/app/assets/javascripts/active_admin/lib/dropdown-menu.js.coffee +0 -104
- 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 -45
- data/app/assets/javascripts/active_admin/lib/per_page.js.coffee +0 -46
- data/app/assets/javascripts/active_admin/lib/table-checkbox-toggler.js.coffee +0 -22
- data/codecov.yml +0 -25
- data/config/i18n-tasks.yml +0 -26
- data/config/mdl_style.rb +0 -9
- 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 -124
- data/features/breadcrumb.feature +0 -75
- data/features/comments/commenting.feature +0 -178
- data/features/comments/viewing_index.feature +0 -19
- data/features/create_another.feature +0 -55
- data/features/dashboard.feature +0 -16
- data/features/decorators.feature +0 -43
- data/features/development_reloading.feature +0 -28
- data/features/edit_page.feature +0 -116
- data/features/favicon.feature +0 -20
- data/features/first_boot.feature +0 -16
- data/features/footer.feature +0 -28
- data/features/global_navigation.feature +0 -29
- data/features/i18n.feature +0 -55
- data/features/index/batch_actions.feature +0 -218
- data/features/index/filters.feature +0 -239
- data/features/index/format_as_csv.feature +0 -220
- data/features/index/formats.feature +0 -88
- 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 -285
- data/features/index/page_title.feature +0 -41
- data/features/index/pagination.feature +0 -63
- data/features/index/switch_index_view.feature +0 -73
- data/features/menu.feature +0 -72
- data/features/meta_tags.feature +0 -21
- data/features/new_page.feature +0 -107
- data/features/registering_assets.feature +0 -38
- data/features/registering_pages.feature +0 -237
- data/features/registering_resources.feature +0 -33
- data/features/renamed_resource.feature +0 -30
- data/features/root_to.feature +0 -17
- data/features/show/attributes_table_title.feature +0 -54
- data/features/show/columns.feature +0 -40
- data/features/show/default_content.feature +0 -44
- data/features/show/page_title.feature +0 -58
- data/features/show/tabs.feature +0 -33
- data/features/sidebar_sections.feature +0 -210
- data/features/site_title.feature +0 -47
- data/features/specifying_actions.feature +0 -118
- data/features/step_definitions/action_item_steps.rb +0 -7
- data/features/step_definitions/action_link_steps.rb +0 -19
- 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/attributes_table_title_steps.rb +0 -11
- data/features/step_definitions/batch_action_steps.rb +0 -81
- data/features/step_definitions/blog_steps.rb +0 -3
- data/features/step_definitions/breadcrumb_steps.rb +0 -3
- data/features/step_definitions/column_steps.rb +0 -8
- data/features/step_definitions/comment_steps.rb +0 -32
- 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 -35
- data/features/step_definitions/filter_steps.rb +0 -48
- data/features/step_definitions/flash_steps.rb +0 -11
- data/features/step_definitions/footer_steps.rb +0 -11
- data/features/step_definitions/format_steps.rb +0 -56
- data/features/step_definitions/i18n_steps.rb +0 -11
- data/features/step_definitions/index_scope_steps.rb +0 -29
- 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/meta_tag_steps.rb +0 -3
- data/features/step_definitions/pagination_steps.rb +0 -15
- data/features/step_definitions/sidebar_steps.rb +0 -11
- data/features/step_definitions/site_title_steps.rb +0 -17
- data/features/step_definitions/tab_steps.rb +0 -8
- data/features/step_definitions/table_steps.rb +0 -116
- data/features/step_definitions/user_steps.rb +0 -52
- data/features/step_definitions/web_steps.rb +0 -86
- data/features/sti_resource.feature +0 -65
- data/features/strong_parameters.feature +0 -69
- data/features/support/env.rb +0 -122
- data/features/support/paths.rb +0 -73
- data/features/support/regular_env.rb +0 -7
- data/features/support/reload_env.rb +0 -7
- data/features/support/selectors.rb +0 -45
- data/features/users/logging_in.feature +0 -36
- data/features/users/logging_out.feature +0 -13
- data/features/users/resetting_password.feature +0 -34
- data/gemfiles/rails_42.gemfile +0 -10
- data/gemfiles/rails_50.gemfile +0 -10
- data/gemfiles/rails_51.gemfile +0 -10
- data/lib/active_admin/event.rb +0 -24
- data/lib/active_admin/helpers/settings.rb +0 -114
- data/lib/active_admin/reloader.rb +0 -25
- data/lib/bug_report_templates/active_admin_master.rb +0 -113
- data/lib/generators/active_admin/assets/templates/active_admin.js.coffee +0 -1
- data/spec/bug_report_templates_spec.rb +0 -26
- 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.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_runner.rb +0 -19
- data/spec/rails_helper.rb +0 -59
- data/spec/requests/default_namespace_spec.rb +0 -81
- data/spec/requests/memory_spec.rb +0 -25
- data/spec/requests/stylesheets_spec.rb +0 -18
- data/spec/spec_helper.rb +0 -1
- data/spec/support/active_admin_integration_spec_helper.rb +0 -73
- data/spec/support/active_admin_request_helpers.rb +0 -39
- data/spec/support/rails_template.rb +0 -150
- data/spec/support/rails_template_with_data.rb +0 -327
- data/spec/support/templates/admin/stores.rb +0 -7
- data/spec/support/templates/en.yml +0 -8
- data/spec/support/templates/manifest.js +0 -3
- 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 -44
- 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 -10
- data/spec/unit/abstract_view_factory_spec.rb +0 -78
- data/spec/unit/action_builder_spec.rb +0 -125
- data/spec/unit/active_admin_spec.rb +0 -11
- data/spec/unit/application_spec.rb +0 -184
- data/spec/unit/asset_registration_spec.rb +0 -81
- data/spec/unit/authorization/authorization_adapter_spec.rb +0 -61
- data/spec/unit/authorization/controller_authorization_spec.rb +0 -43
- data/spec/unit/authorization/index_overriding_spec.rb +0 -23
- data/spec/unit/auto_link_spec.rb +0 -93
- data/spec/unit/batch_actions/resource_spec.rb +0 -84
- data/spec/unit/batch_actions/settings_spec.rb +0 -61
- data/spec/unit/belongs_to_spec.rb +0 -76
- data/spec/unit/cancan_adapter_spec.rb +0 -43
- data/spec/unit/comments_spec.rb +0 -176
- 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 -41
- data/spec/unit/csv_builder_spec.rb +0 -304
- data/spec/unit/dependency_spec.rb +0 -135
- data/spec/unit/devise_spec.rb +0 -110
- data/spec/unit/dsl_spec.rb +0 -120
- data/spec/unit/filters/active_filter_spec.rb +0 -135
- data/spec/unit/filters/active_spec.rb +0 -24
- data/spec/unit/filters/filter_form_builder_spec.rb +0 -502
- data/spec/unit/filters/resource_spec.rb +0 -128
- data/spec/unit/form_builder_spec.rb +0 -990
- data/spec/unit/generators/install_spec.rb +0 -31
- data/spec/unit/helpers/collection_spec.rb +0 -68
- data/spec/unit/helpers/scope_chain_spec.rb +0 -35
- data/spec/unit/helpers/settings_spec.rb +0 -30
- data/spec/unit/i18n_spec.rb +0 -29
- data/spec/unit/localizers/resource_localizer_spec.rb +0 -36
- data/spec/unit/menu_collection_spec.rb +0 -62
- data/spec/unit/menu_item_spec.rb +0 -141
- 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 -99
- data/spec/unit/namespace/register_resource_spec.rb +0 -162
- data/spec/unit/namespace_spec.rb +0 -124
- 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 -128
- data/spec/unit/pretty_format_spec.rb +0 -82
- data/spec/unit/pundit_adapter_spec.rb +0 -98
- data/spec/unit/resource/action_items_spec.rb +0 -69
- data/spec/unit/resource/attributes_spec.rb +0 -49
- 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/ordering_spec.rb +0 -35
- 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 -125
- 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 -175
- data/spec/unit/resource_controller/data_access_spec.rb +0 -230
- data/spec/unit/resource_controller/decorators_spec.rb +0 -94
- data/spec/unit/resource_controller/sidebars_spec.rb +0 -37
- data/spec/unit/resource_controller_spec.rb +0 -273
- data/spec/unit/resource_registration_spec.rb +0 -61
- data/spec/unit/resource_spec.rb +0 -320
- data/spec/unit/routing_spec.rb +0 -211
- data/spec/unit/scope_spec.rb +0 -209
- data/spec/unit/settings_spec.rb +0 -117
- data/spec/unit/view_factory_spec.rb +0 -19
- data/spec/unit/view_helpers/breadcrumbs_spec.rb +0 -252
- data/spec/unit/view_helpers/display_helper_spec.rb +0 -195
- 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 -24
- data/spec/unit/view_helpers/form_helper_spec.rb +0 -42
- data/spec/unit/view_helpers/method_or_proc_helper_spec.rb +0 -138
- data/spec/unit/views/components/attributes_table_spec.rb +0 -271
- data/spec/unit/views/components/batch_action_selector_spec.rb +0 -43
- data/spec/unit/views/components/blank_slate_spec.rb +0 -27
- data/spec/unit/views/components/columns_spec.rb +0 -187
- data/spec/unit/views/components/index_list_spec.rb +0 -49
- data/spec/unit/views/components/index_table_for_spec.rb +0 -127
- data/spec/unit/views/components/paginated_collection_spec.rb +0 -249
- data/spec/unit/views/components/panel_spec.rb +0 -58
- data/spec/unit/views/components/sidebar_section_spec.rb +0 -68
- data/spec/unit/views/components/site_title_spec.rb +0 -76
- data/spec/unit/views/components/status_tag_spec.rb +0 -265
- data/spec/unit/views/components/table_for_spec.rb +0 -436
- data/spec/unit/views/components/tabs_spec.rb +0 -67
- data/spec/unit/views/components/unsupported_browser_spec.rb +0 -41
- data/spec/unit/views/index_as_blog_spec.rb +0 -76
- data/spec/unit/views/pages/form_spec.rb +0 -54
- 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 -32
- data/spec/unit/views/tabbed_navigation_spec.rb +0 -158
- data/tasks/docs.rake +0 -64
- data/tasks/lint.rake +0 -21
- data/tasks/local.rake +0 -25
- data/tasks/parallel_tests.rake +0 -66
- data/tasks/test.rake +0 -29
- /data/lib/generators/active_admin/install/templates/{admin_user.rb.erb → admin_users.rb.erb} +0 -0
data/config/locales/uk.yml
CHANGED
@@ -31,6 +31,8 @@ uk:
|
|
31
31
|
ends_with: "Закінчується"
|
32
32
|
greater_than: "більше"
|
33
33
|
less_than: "менше"
|
34
|
+
from: "від"
|
35
|
+
to: "до"
|
34
36
|
search_status:
|
35
37
|
headline: "Статус пошуку:"
|
36
38
|
current_scope: "Область:"
|
@@ -39,6 +41,7 @@ uk:
|
|
39
41
|
status_tag:
|
40
42
|
"yes": "Так"
|
41
43
|
"no": "Ні"
|
44
|
+
"unset": "Ні"
|
42
45
|
main_content: "Створіть %{model}#main_content для відображення вмісту."
|
43
46
|
logout: "Вийти"
|
44
47
|
powered_by: "Powered by %{active_admin} %{version}"
|
data/config/locales/vi.yml
CHANGED
@@ -1,22 +1,23 @@
|
|
1
1
|
vi:
|
2
2
|
active_admin:
|
3
|
-
dashboard:
|
3
|
+
dashboard: Bảng điều khiển
|
4
4
|
dashboard_welcome:
|
5
|
-
welcome: "Chào mừng bạn đến với Active Admin. Đây là trang
|
6
|
-
call_to_action: "Để thêm
|
5
|
+
welcome: "Chào mừng bạn đến với Active Admin. Đây là trang điều khiển mặc định."
|
6
|
+
call_to_action: "Để thêm thành phần cho trang điều khiển hãy chỉnh sửa 'app/admin/dashboard.rb'"
|
7
7
|
view: "Xem"
|
8
8
|
edit: "Chỉnh sửa"
|
9
9
|
delete: "Xóa"
|
10
|
-
delete_confirmation: "Bạn có chắc chắn rằng mình muốn xóa
|
10
|
+
delete_confirmation: "Bạn có chắc chắn rằng mình muốn xóa không?"
|
11
11
|
new_model: "Tạo mới %{model}"
|
12
12
|
edit_model: "Chỉnh sửa %{model}"
|
13
13
|
delete_model: "Xóa %{model}"
|
14
|
+
create_another: "Tạo thêm %{model}"
|
14
15
|
details: "%{model} Chi tiết"
|
15
16
|
cancel: "Hủy"
|
16
17
|
empty: "Trống"
|
17
18
|
previous: "Trước"
|
18
|
-
next: "
|
19
|
-
download: "
|
19
|
+
next: "Sau"
|
20
|
+
download: "Tải về:"
|
20
21
|
has_many_new: "Thêm mới %{model}"
|
21
22
|
has_many_delete: "Xóa"
|
22
23
|
has_many_remove: "Hủy bỏ"
|
@@ -25,26 +26,38 @@ vi:
|
|
25
26
|
filter: "Lọc"
|
26
27
|
clear: "Xóa dữ liệu lọc"
|
27
28
|
predicates:
|
28
|
-
contains: "
|
29
|
+
contains: "Có chứa"
|
29
30
|
equals: "Bằng"
|
30
31
|
starts_with: "Bắt đầu với"
|
31
|
-
ends_with: "Kết thúc
|
32
|
+
ends_with: "Kết thúc bởi"
|
32
33
|
greater_than: "Lớn hơn"
|
33
34
|
less_than: "Nhỏ hơn"
|
35
|
+
gteq_datetime: "Lớn hơn hoặc bằng"
|
36
|
+
lteq_datetime: "Nhỏ hơn hoặc bằng"
|
37
|
+
from: "Từ"
|
38
|
+
to: "Đến"
|
39
|
+
search_status:
|
40
|
+
headline: "Danh sách tìm kiếm:"
|
41
|
+
current_scope: "Phạm vi:"
|
42
|
+
current_filters: "Bộ lộc hiện tại:"
|
43
|
+
no_current_filters: "Không có"
|
34
44
|
status_tag:
|
35
45
|
"yes": "Có"
|
36
46
|
"no": "Không Có"
|
47
|
+
"unset": "Không Có"
|
37
48
|
main_content: "Xin bổ sung %{model}#main_content để hiển thị nội dung."
|
38
49
|
logout: "Đăng xuất"
|
39
50
|
powered_by: "Powered by %{active_admin} %{version}"
|
40
51
|
sidebars:
|
41
52
|
filters: "Bộ Lọc"
|
53
|
+
search_status: "Trạng thái tìm kiếm"
|
42
54
|
pagination:
|
43
55
|
empty: "Không có %{model} nào được tìm thấy"
|
44
56
|
one: "Đang hiển thị <b>1</b> %{model}"
|
45
57
|
one_page: "Đang hiển thị <b>tất cả %{n}</b> %{model}"
|
46
58
|
multiple: "Đang hiển thị %{model} <b>%{from} - %{to}</b> of <b>%{total}</b> trong tất cả."
|
47
59
|
multiple_without_total: "Đang hiển thị %{model} <b>%{from} - %{to}</b>."
|
60
|
+
per_page: "Mỗi trang: "
|
48
61
|
entry:
|
49
62
|
one: "entry"
|
50
63
|
other: "entries"
|
@@ -66,15 +79,33 @@ vi:
|
|
66
79
|
labels:
|
67
80
|
destroy: "Xóa"
|
68
81
|
comments:
|
82
|
+
created_at: "Đã tạo"
|
83
|
+
resource_type: "Resource Type"
|
69
84
|
body: "Nội dung"
|
70
85
|
author: "Tác giả"
|
71
86
|
add: "Thêm bình luận"
|
72
|
-
|
87
|
+
delete: "Xoá bình luận"
|
88
|
+
delete_confirmation: "Bạn có chắc chắn muốn xóa những bình luận này?"
|
89
|
+
resource: "Resource"
|
73
90
|
no_comments_yet: "Chưa có bình luận."
|
91
|
+
author_missing: "Vô danh"
|
74
92
|
title_content: "Bình luận (%{count})"
|
75
93
|
errors:
|
76
94
|
empty_text: "Lời bình luận chưa được lưu, vì nội dung còn trống."
|
77
95
|
devise:
|
96
|
+
username:
|
97
|
+
title: "Tên người dùng"
|
98
|
+
email:
|
99
|
+
title: "Email"
|
100
|
+
subdomain:
|
101
|
+
title: "Tên miền phụ"
|
102
|
+
password:
|
103
|
+
title: "Mật khẩu"
|
104
|
+
password_confirmation:
|
105
|
+
title: "Mật khẩu xác nhận"
|
106
|
+
sign_up:
|
107
|
+
title: "Đăng ký"
|
108
|
+
submit: "Đăng ký"
|
78
109
|
login:
|
79
110
|
title: "Đăng nhập"
|
80
111
|
remember_me: "Ghi nhớ tôi"
|
@@ -85,8 +116,20 @@ vi:
|
|
85
116
|
change_password:
|
86
117
|
title: "Thay đổi mật khẩu của bạn"
|
87
118
|
submit: "Thay đổi mật khẩu của tôi"
|
119
|
+
unlock:
|
120
|
+
title: "Gởi lại hướng dẫn mở khoá"
|
121
|
+
submit: "Gởi lại hướng dẫn mở khoá"
|
122
|
+
resend_confirmation_instructions:
|
123
|
+
title: "Gởi lại hướng dẫn xác nhận"
|
124
|
+
submit: "Gởi lại hướng dẫn xác nhận"
|
88
125
|
links:
|
89
126
|
sign_in: "Đăng nhập"
|
90
127
|
forgot_your_password: "Quên mật khẩu của bạn?"
|
91
128
|
sign_in_with_omniauth_provider: "Đăng nhập với %{provider}"
|
92
|
-
|
129
|
+
access_denied:
|
130
|
+
message: "Bạn không có quyền thực hiện tính năng này"
|
131
|
+
index_list:
|
132
|
+
table: "Bảng"
|
133
|
+
block: "Danh sách"
|
134
|
+
grid: "Lưới"
|
135
|
+
blog: "Blog"
|
data/config/locales/zh-CN.yml
CHANGED
@@ -8,12 +8,13 @@
|
|
8
8
|
edit: "编辑"
|
9
9
|
delete: "删除"
|
10
10
|
delete_confirmation: "确定删除?"
|
11
|
+
create_another: "新建另一个%{model}"
|
11
12
|
new_model: "新建%{model}"
|
12
13
|
edit_model: "编辑%{model}"
|
13
14
|
delete_model: "删除%{model}"
|
14
15
|
details: "%{model}详情"
|
15
16
|
cancel: "取消"
|
16
|
-
empty: "
|
17
|
+
empty: "未定义"
|
17
18
|
previous: "上一个"
|
18
19
|
next: "下一个"
|
19
20
|
download: "下载:"
|
@@ -31,14 +32,19 @@
|
|
31
32
|
ends_with: "完与"
|
32
33
|
greater_than: "大于"
|
33
34
|
less_than: "小于"
|
35
|
+
gteq_datetime: "大于等于"
|
36
|
+
lteq_datetime: "小于等于"
|
37
|
+
from: "起"
|
38
|
+
to: "止"
|
34
39
|
search_status:
|
35
40
|
headline: "搜索条件:"
|
36
41
|
current_scope: "搜索范围:"
|
37
42
|
current_filters: "过滤条件:"
|
38
43
|
no_current_filters: "无"
|
39
44
|
status_tag:
|
40
|
-
"yes": "
|
41
|
-
"no": "
|
45
|
+
"yes": "是"
|
46
|
+
"no": "否"
|
47
|
+
"unset": "否"
|
42
48
|
main_content: "请执行 %{model}#main_content 来显示内容."
|
43
49
|
logout: "退出"
|
44
50
|
powered_by: "Powered by %{active_admin} %{version}"
|
@@ -51,6 +57,7 @@
|
|
51
57
|
one_page: "显示 <b>所有 %{n}</b> %{model}"
|
52
58
|
multiple: "显示所有 <b>%{total}</b> %{model}中的<b>%{from} - %{to}</b> 条"
|
53
59
|
multiple_without_total: "%{model}中的<b>%{from} - %{to}</b> 条"
|
60
|
+
per_page: "每页:"
|
54
61
|
entry:
|
55
62
|
one: "条目"
|
56
63
|
other: "条目"
|
@@ -63,7 +70,7 @@
|
|
63
70
|
batch_actions:
|
64
71
|
button_label: "批处理"
|
65
72
|
default_confirmation: "你确定你要这样做?"
|
66
|
-
delete_confirmation: "
|
73
|
+
delete_confirmation: "你确定要删除这些%{plural_model}?"
|
67
74
|
succesfully_destroyed:
|
68
75
|
one: "成功删除 1 %{model}"
|
69
76
|
other: "成功删除 %{count} %{plural_model}"
|
@@ -72,11 +79,17 @@
|
|
72
79
|
labels:
|
73
80
|
destroy: "删除"
|
74
81
|
comments:
|
82
|
+
created_at: "创建于"
|
83
|
+
resource_type: "资源类型"
|
84
|
+
author_type: "作者类型"
|
75
85
|
body: "内容"
|
76
86
|
author: "作者"
|
77
87
|
add: "添加评论"
|
88
|
+
delete: "删除评论"
|
89
|
+
delete_confirmation: "你确定删除这些评论?"
|
78
90
|
resource: "资源"
|
79
91
|
no_comments_yet: "暂时没有评论"
|
92
|
+
author_missing: "匿名"
|
80
93
|
title_content: "(%{count})条评论"
|
81
94
|
errors:
|
82
95
|
empty_text: "评论保存失败,内空不能为空."
|
@@ -89,6 +102,11 @@
|
|
89
102
|
title: "子域"
|
90
103
|
password:
|
91
104
|
title: "密码"
|
105
|
+
password_confirmation:
|
106
|
+
title: "确认密码"
|
107
|
+
sign_up:
|
108
|
+
title: "注册"
|
109
|
+
submit: "注册"
|
92
110
|
login:
|
93
111
|
title: "登录"
|
94
112
|
remember_me: "记住我"
|
@@ -96,6 +114,9 @@
|
|
96
114
|
reset_password:
|
97
115
|
title: "忘记了密码?"
|
98
116
|
submit: "重置我的密码"
|
117
|
+
change_password:
|
118
|
+
title: "修改密码"
|
119
|
+
submit: "修改密码"
|
99
120
|
unlock:
|
100
121
|
title: "重新发送送解锁命令"
|
101
122
|
submit: "重新发送送解锁命令"
|
@@ -103,12 +124,20 @@
|
|
103
124
|
title: " 重新发送确认指示"
|
104
125
|
submit: " 重新发送确认指示"
|
105
126
|
links:
|
127
|
+
sign_up: "注册"
|
106
128
|
sign_in: "登录"
|
107
129
|
forgot_your_password: "忘记了密码?"
|
108
|
-
sign_in_with_omniauth_provider: "
|
130
|
+
sign_in_with_omniauth_provider: "通过%{provider}登录"
|
131
|
+
resend_unlock_instructions: "重发解锁邮件"
|
132
|
+
resend_confirmation_instructions: "重发确认邮件"
|
109
133
|
unsupported_browser:
|
110
134
|
headline: "很抱歉,ActiveAdmin 已不再支持 Internet Explorer 8 以下版本的浏览器。"
|
111
135
|
recommendation: "建议您升级到最新版本的<a href=\"http://windows.microsoft.com/ie\">Internet Explorer</a>,<a href=\"https://chrome.google.com/\">Google Chrome</a>,或是 <a href=\"https://mozilla.org/firefox/\">Firefox</a>。"
|
112
136
|
turn_off_compatibility_view: "如果您使用的是 IE 9 或更新的版本,请确认<a href=\"https://support.microsoft.com/zh-cn/help/17472/windows-internet-explorer-11-fix-site-display-problems-compatibility-view\">已关闭“兼容性视图”</a>。"
|
113
137
|
access_denied:
|
114
138
|
message: "您无权处理此操作"
|
139
|
+
index_list:
|
140
|
+
table: "表格"
|
141
|
+
block: "列表"
|
142
|
+
grid: "网格"
|
143
|
+
blog: "博客"
|
data/config/locales/zh-TW.yml
CHANGED
data/docs/.gitignore
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
_site/
|
data/docs/0-installation.md
CHANGED
@@ -11,7 +11,7 @@ gem 'activeadmin'
|
|
11
11
|
|
12
12
|
# Plus integrations with:
|
13
13
|
gem 'devise'
|
14
|
-
gem '
|
14
|
+
gem 'cancancan'
|
15
15
|
gem 'draper'
|
16
16
|
gem 'pundit'
|
17
17
|
```
|
@@ -29,7 +29,7 @@ After installing the gem, you need to run the generator. Here are your options:
|
|
29
29
|
rails g active_admin:install --skip-users
|
30
30
|
```
|
31
31
|
|
32
|
-
* If you want to use an existing user class, provide
|
32
|
+
* If you want to customize the name of the generated user class, or if you want to use an existing user class, provide the class name as an argument:
|
33
33
|
|
34
34
|
```sh
|
35
35
|
rails g active_admin:install User
|
@@ -44,15 +44,15 @@ After installing the gem, you need to run the generator. Here are your options:
|
|
44
44
|
The generator adds these core files, among others:
|
45
45
|
|
46
46
|
* `app/admin/dashboard.rb`
|
47
|
-
* `app/assets/javascripts/active_admin.js
|
47
|
+
* `app/assets/javascripts/active_admin.js`
|
48
48
|
* `app/assets/stylesheets/active_admin.scss`
|
49
49
|
* `config/initializers/active_admin.rb`
|
50
50
|
|
51
51
|
Now, migrate and seed your database before starting the server:
|
52
52
|
|
53
53
|
```sh
|
54
|
-
|
55
|
-
|
54
|
+
rails db:migrate
|
55
|
+
rails db:seed
|
56
56
|
rails server
|
57
57
|
```
|
58
58
|
|
@@ -112,6 +112,30 @@ Draper::CollectionDecorator.send :delegate, :per_page_kaminari
|
|
112
112
|
|
113
113
|
If you're getting the error `wrong number of arguments (6 for 4..5)`, [read #2703].
|
114
114
|
|
115
|
+
## webpacker
|
116
|
+
|
117
|
+
You can **opt-in to using Webpacker for ActiveAdmin assets** as well by updating your configuration to turn on the `use_webpacker` option, either at installation time or manually.
|
118
|
+
|
119
|
+
* at active_admin installation:
|
120
|
+
|
121
|
+
```sh
|
122
|
+
rails g active_admin:install --use_webpacker
|
123
|
+
```
|
124
|
+
|
125
|
+
* manually:
|
126
|
+
|
127
|
+
```ruby
|
128
|
+
ActiveAdmin.setup do |config|
|
129
|
+
config.use_webpacker = true
|
130
|
+
end
|
131
|
+
```
|
132
|
+
|
133
|
+
And run the generator to get default Active Admin assets:
|
134
|
+
|
135
|
+
```sh
|
136
|
+
rails g active_admin:webpacker
|
137
|
+
```
|
138
|
+
|
115
139
|
[CHANGELOG]: https://github.com/activeadmin/activeadmin/blob/master/CHANGELOG.md
|
116
140
|
[dashboard.rb]: https://github.com/activeadmin/activeadmin/blob/master/lib/generators/active_admin/install/templates/dashboard.rb
|
117
141
|
[active_admin.rb]: https://github.com/activeadmin/activeadmin/blob/master/lib/generators/active_admin/install/templates/active_admin.rb.erb
|
@@ -46,13 +46,22 @@ config.site_title_image = ->(context) { context.current_user.company.logo_url }
|
|
46
46
|
|
47
47
|
## Internationalization (I18n)
|
48
48
|
|
49
|
+
Active Admin comes with translations for a lot of
|
50
|
+
[locales](https://github.com/activeadmin/activeadmin/blob/master/config/locales/).
|
51
|
+
Active Admin does not provide the translations for the kaminari gem it uses for pagination,
|
52
|
+
to get these you can use the
|
53
|
+
[kaminari-i18n](https://github.com/tigrish/kaminari-i18n) gem.
|
54
|
+
|
49
55
|
To translate Active Admin to a new language or customize an existing
|
50
56
|
translation, you can copy
|
51
57
|
[config/locales/en.yml](https://github.com/activeadmin/activeadmin/blob/master/config/locales/en.yml)
|
52
58
|
to your application's `config/locales` folder and update it. We welcome
|
53
59
|
new/updated translations, so feel free to
|
54
60
|
[contribute](https://github.com/activeadmin/activeadmin/blob/master/CONTRIBUTING.md)!
|
55
|
-
|
61
|
+
|
62
|
+
When using [devise](https://github.com/plataformatec/devise) for authentication,
|
63
|
+
you can use the [devise-i18n](https://github.com/tigrish/devise-i18n)
|
64
|
+
gem to get the devise translations for other locales.
|
56
65
|
|
57
66
|
## Localize Format For Dates and Times
|
58
67
|
|
@@ -97,6 +106,26 @@ ActiveAdmin.setup do |config|
|
|
97
106
|
end
|
98
107
|
```
|
99
108
|
|
109
|
+
If you are creating a multi-tenant application you may want to have multiple namespaces mounted to the same path. We can do this using the `route_options` settings on the namespace
|
110
|
+
|
111
|
+
```ruby
|
112
|
+
config.namespace :site_1 do |admin|
|
113
|
+
admin.route_options = { path: :admin, constraints: ->(request){ request.domain == "site1.com" } }
|
114
|
+
end
|
115
|
+
|
116
|
+
config.namespace :site_2 do |admin|
|
117
|
+
admin.route_options = { path: :admin, constraints: ->(request){ request.domain == "site2.com" } }
|
118
|
+
end
|
119
|
+
```
|
120
|
+
|
121
|
+
If you would like to mount the namespace to a subdomain instead of path we can use the `route_options` for this as well
|
122
|
+
|
123
|
+
```ruby
|
124
|
+
config.namespace :admin do |admin|
|
125
|
+
admin.route_options = { path: '', subdomain: 'admin' }
|
126
|
+
end
|
127
|
+
```
|
128
|
+
|
100
129
|
Each setting available in the Active Admin setup block is configurable on a per
|
101
130
|
namespace basis.
|
102
131
|
|
@@ -160,6 +189,12 @@ You can customize the comment menu:
|
|
160
189
|
config.comments_menu = { parent: 'Admin', priority: 1 }
|
161
190
|
```
|
162
191
|
|
192
|
+
Remember to indicate where to place the comments and form with:
|
193
|
+
|
194
|
+
```ruby
|
195
|
+
active_admin_comments
|
196
|
+
```
|
197
|
+
|
163
198
|
## Utility Navigation
|
164
199
|
|
165
200
|
The "utility navigation" shown at the top right normally shows the current user
|
data/docs/10-custom-pages.md
CHANGED
@@ -134,3 +134,17 @@ end
|
|
134
134
|
```
|
135
135
|
|
136
136
|
See also the [Custom Actions](8-custom-actions.md#http-verbs) example.
|
137
|
+
|
138
|
+
## Use custom column as id
|
139
|
+
|
140
|
+
You can use custom parameter instead of id
|
141
|
+
|
142
|
+
```ruby
|
143
|
+
ActiveAdmin.register User do
|
144
|
+
controller do
|
145
|
+
defaults :finder => :find_by_name
|
146
|
+
end
|
147
|
+
end
|
148
|
+
```
|
149
|
+
|
150
|
+
This defines the resource route as `/admin/users/john` if user name is john
|
data/docs/11-decorators.md
CHANGED
@@ -8,11 +8,6 @@ Active Admin allows you to use the decorator pattern to provide view-specific
|
|
8
8
|
versions of a resource. [Draper](https://github.com/drapergem/draper) is
|
9
9
|
recommended but not required.
|
10
10
|
|
11
|
-
To use decorator support without Draper, your decorator must support a variety
|
12
|
-
of collection methods to support pagination, filtering, etc. See
|
13
|
-
[this github issue discussion](https://github.com/activeadmin/activeadmin/issues/3600)
|
14
|
-
and [this gem](https://github.com/kiote/activeadmin-poro-decorator) for more details.
|
15
|
-
|
16
11
|
## Example usage
|
17
12
|
|
18
13
|
```ruby
|
@@ -42,6 +37,22 @@ ActiveAdmin.register Post do
|
|
42
37
|
end
|
43
38
|
```
|
44
39
|
|
40
|
+
You can pass any decorator class as an argument to `decorate_with`
|
41
|
+
as long as it accepts the record to be decorated as a parameter in
|
42
|
+
the initializer, and responds to all the necessary methods.
|
43
|
+
|
44
|
+
```ruby
|
45
|
+
# app/decorators/post_decorator.rb
|
46
|
+
class PostDecorator
|
47
|
+
attr_reader :post
|
48
|
+
delegate_missing_to :post
|
49
|
+
|
50
|
+
def initialize(post)
|
51
|
+
@post = post
|
52
|
+
end
|
53
|
+
end
|
54
|
+
```
|
55
|
+
|
45
56
|
## Forms
|
46
57
|
|
47
58
|
By default, ActiveAdmin does *not* decorate the resource used to render forms.
|
data/docs/12-arbre-components.md
CHANGED
@@ -115,6 +115,21 @@ end
|
|
115
115
|
In the above example, the first column will not grow larger than 200px and will
|
116
116
|
not shrink less than 100px.
|
117
117
|
|
118
|
+
### Custom Column Class
|
119
|
+
|
120
|
+
Pass the `:class` option to the column method to set a custom class.
|
121
|
+
|
122
|
+
```ruby
|
123
|
+
columns do
|
124
|
+
column class: "important" do
|
125
|
+
span "Column # 1"
|
126
|
+
end
|
127
|
+
column do
|
128
|
+
span "Column # 2"
|
129
|
+
end
|
130
|
+
end
|
131
|
+
```
|
132
|
+
|
118
133
|
## Table For
|
119
134
|
|
120
135
|
Table For provides the ability to create tables like those present
|
@@ -130,10 +145,22 @@ table_for order.payments do
|
|
130
145
|
end
|
131
146
|
```
|
132
147
|
|
133
|
-
|
148
|
+
The `column` method can take a title as its first argument and data
|
134
149
|
(`:your_method`) as its second (or first if no title provided). Column also
|
135
150
|
takes a block.
|
136
151
|
|
152
|
+
### Internationalization
|
153
|
+
|
154
|
+
To customize the internationalization for the component, specify a resource to
|
155
|
+
use for translations via the `i18n` named parameter. This is only necessary for
|
156
|
+
non-`ActiveRecord::Relation` collections:
|
157
|
+
|
158
|
+
```ruby
|
159
|
+
table_for payments, i18n: Payment do
|
160
|
+
# ...
|
161
|
+
end
|
162
|
+
```
|
163
|
+
|
137
164
|
## Status tag
|
138
165
|
|
139
166
|
Status tags provide convenient syntactic sugar for styling items that have
|
@@ -150,6 +177,19 @@ status_tag 'active', class: 'important', id: 'status_123', label: 'on'
|
|
150
177
|
# => <span class='status_tag active important' id='status_123'>on</span>
|
151
178
|
```
|
152
179
|
|
180
|
+
When providing a `true` or `false` value, the `status_tag` will display "Yes"
|
181
|
+
or "No". This can be configured through the `"en.active_admin.status_tag"`
|
182
|
+
locale.
|
183
|
+
|
184
|
+
```ruby
|
185
|
+
status_tag true
|
186
|
+
# => <span class='status_tag yes'>Yes</span>
|
187
|
+
```
|
188
|
+
|
189
|
+
In the case that a boolean field is `nil`, it will display "No" as a default.
|
190
|
+
But using the `"en.active_admin.status_tag.unset"` locale key, it can be
|
191
|
+
configured to display something else.
|
192
|
+
|
153
193
|
## Tabs
|
154
194
|
|
155
195
|
The Tabs component is helpful for saving page real estate. The first tab will be
|
@@ -10,8 +10,8 @@ taken. By default, '#authorized?' returns true.
|
|
10
10
|
|
11
11
|
## Setting up your own AuthorizationAdapter
|
12
12
|
|
13
|
-
|
14
|
-
|
13
|
+
The following example shows how to set up and tie your authorization
|
14
|
+
adapter class to Active Admin:
|
15
15
|
|
16
16
|
```ruby
|
17
17
|
# app/models/only_authors_authorization.rb
|
@@ -41,6 +41,9 @@ application's `config/initializers/active_admin.rb` and add/modify the line:
|
|
41
41
|
config.authorization_adapter = "OnlyAuthorsAuthorization"
|
42
42
|
```
|
43
43
|
|
44
|
+
Now, whenever a controller action is performed, the `OnlyAuthorsAuthorization`'s
|
45
|
+
`#authorized?` method will be called.
|
46
|
+
|
44
47
|
Authorization adapters can be configured per ActiveAdmin namespace as well, for
|
45
48
|
example:
|
46
49
|
|
@@ -55,9 +58,6 @@ ActiveAdmin.setup do |config|
|
|
55
58
|
end
|
56
59
|
```
|
57
60
|
|
58
|
-
Now, whenever a controller action is performed, the `OnlyAuthorsAuthorization`'s
|
59
|
-
`#authorized?` method will be called.
|
60
|
-
|
61
61
|
## Getting Access to the Current User
|
62
62
|
|
63
63
|
From within your authorization adapter, you can call the `#user` method to
|
@@ -136,7 +136,7 @@ Each of these actions is available as a constant. Eg: `:read` is available as
|
|
136
136
|
Active Admin provides a helper method to check if the current user is
|
137
137
|
authorized to perform an action on a subject.
|
138
138
|
|
139
|
-
|
139
|
+
Use the `#authorized?(action, subject)` method to check.
|
140
140
|
|
141
141
|
```ruby
|
142
142
|
ActiveAdmin.register Post do
|
@@ -180,10 +180,9 @@ end
|
|
180
180
|
|
181
181
|
Sub-classing `ActiveAdmin::AuthorizationAdapter` is fairly low level. Many times
|
182
182
|
it's nicer to have a simpler DSL for managing authorization. Active Admin
|
183
|
-
provides an adapter out of the box for [
|
184
|
-
and [CanCanCan](https://github.com/CanCanCommunity/cancancan).
|
183
|
+
provides an adapter out of the box for [CanCanCan](https://github.com/CanCanCommunity/cancancan).
|
185
184
|
|
186
|
-
To use the CanCan adapter,
|
185
|
+
To use the CanCan adapter, update the configuration in the Active Admin
|
187
186
|
initializer:
|
188
187
|
|
189
188
|
```ruby
|
@@ -221,7 +220,7 @@ changed from the initializer:
|
|
221
220
|
config.cancan_ability_class = "MyCustomAbility"
|
222
221
|
```
|
223
222
|
|
224
|
-
Now you can simply use
|
223
|
+
Now you can simply use CanCanCan the way that you would expect and
|
225
224
|
Active Admin will use it for authorization:
|
226
225
|
|
227
226
|
```ruby
|
@@ -233,34 +232,54 @@ class Ability
|
|
233
232
|
can :manage, Post
|
234
233
|
can :read, User
|
235
234
|
can :manage, User, id: user.id
|
236
|
-
can :read, ActiveAdmin::Page, name: "Dashboard", namespace_name:
|
235
|
+
can :read, ActiveAdmin::Page, name: "Dashboard", namespace_name: "admin"
|
237
236
|
end
|
238
237
|
|
239
238
|
end
|
240
239
|
```
|
241
240
|
|
242
241
|
To view more details about the API's, visit project pages of
|
243
|
-
[CanCan](https://github.com/ryanb/cancan) and
|
244
242
|
[CanCanCan](https://github.com/CanCanCommunity/cancancan).
|
245
243
|
|
246
244
|
## Using the Pundit Adapter
|
247
245
|
|
248
|
-
Active Admin provides an adapter out of the box
|
249
|
-
[Pundit](https://github.com/
|
246
|
+
Active Admin also provides an adapter out of the box for
|
247
|
+
[Pundit](https://github.com/varvet/pundit).
|
250
248
|
|
251
|
-
To use the Pundit adapter,
|
249
|
+
To use the Pundit adapter, update the configuration in the Active Admin
|
252
250
|
initializer:
|
253
251
|
|
254
252
|
```ruby
|
255
253
|
config.authorization_adapter = ActiveAdmin::PunditAdapter
|
256
254
|
```
|
257
255
|
|
258
|
-
|
259
|
-
|
260
|
-
|
261
|
-
|
262
|
-
|
256
|
+
Once that's done, Active Admin will pick up your Pundit policies, and use
|
257
|
+
them for authorization. For more information about setting up Pundit, see
|
258
|
+
[their documentation](https://github.com/varvet/pundit#installation).
|
259
|
+
|
260
|
+
Pundit also has [verify_authorized and/or verify_policy_scoped
|
261
|
+
methods](https://github.com/varvet/pundit#ensuring-policies-and-scopes-are-used)
|
262
|
+
to enforce usage of `authorized` and `policy_scope`. This conflicts with Active
|
263
|
+
Admin's authorization architecture, so if you're using those features, you'll
|
264
|
+
want to disable them for Active Admin's controllers:
|
265
|
+
|
266
|
+
```ruby
|
267
|
+
class ApplicationController < ActionController::Base
|
268
|
+
include Pundit
|
269
|
+
after_action :verify_authorized, except: :index, unless: :active_admin_controller?
|
270
|
+
after_action :verify_policy_scoped, only: :index, unless: :active_admin_controller?
|
271
|
+
|
272
|
+
def active_admin_controller?
|
273
|
+
is_a?(ActiveAdmin::BaseController)
|
274
|
+
end
|
275
|
+
end
|
276
|
+
```
|
277
|
+
|
278
|
+
If you want to use batch actions, ensure that `destroy_all?` method is defined
|
279
|
+
in your policy class. You can use this [template
|
263
280
|
policy](https://github.com/activeadmin/activeadmin/blob/master/spec/support/templates/policies/application_policy.rb)
|
264
|
-
in your application instead of default one generated by Pundit's
|
265
|
-
pundit:install` command.
|
281
|
+
in your application instead of default one generated by Pundit's
|
282
|
+
`rails g pundit:install` command.
|
266
283
|
|
284
|
+
In addition, there are [example policies](https://github.com/activeadmin/activeadmin/tree/master/spec/support/templates/policies/active_admin)
|
285
|
+
for restricting access to ActiveAdmin's pages and comments.
|