activeadmin 1.3.1 → 1.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.circleci/config.yml +467 -0
- data/.gitignore +2 -5
- data/.rspec +1 -0
- data/.rspec_parallel +2 -0
- data/.rubocop.yml +25 -7
- data/.simplecov +4 -6
- data/CHANGELOG.md +175 -83
- data/CODE_OF_CONDUCT.md +64 -12
- data/CONTRIBUTING.md +77 -40
- data/Gemfile +7 -55
- data/Gemfile.common +53 -0
- data/Gemfile.lock +431 -0
- data/README.md +39 -18
- data/Rakefile +1 -32
- data/app/assets/stylesheets/active_admin/_forms.scss +1 -1
- data/app/assets/stylesheets/active_admin/components/_scopes.scss +3 -0
- data/app/views/active_admin/devise/confirmations/new.html.erb +1 -1
- data/app/views/active_admin/devise/passwords/edit.html.erb +1 -1
- data/app/views/active_admin/devise/passwords/new.html.erb +1 -1
- data/app/views/active_admin/devise/registrations/new.html.erb +1 -1
- data/app/views/active_admin/devise/sessions/new.html.erb +1 -1
- data/app/views/active_admin/devise/unlocks/new.html.erb +1 -1
- data/app/views/layouts/active_admin_logged_out.html.erb +1 -1
- data/bin/install_chromedriver.sh +17 -0
- data/config/locales/de.yml +10 -0
- data/config/locales/en.yml +19 -1
- data/config/locales/es.yml +20 -1
- data/config/locales/fi.yml +1 -1
- data/config/locales/it.yml +4 -0
- data/config/locales/nb.yml +15 -5
- data/config/locales/nl.yml +11 -0
- data/config/locales/pl.yml +71 -3
- data/config/locales/ru.yml +2 -0
- data/config/locales/tr.yml +9 -0
- data/config/locales/zh-CN.yml +33 -5
- data/config/mdl_style.rb +2 -0
- data/cucumber.yml +7 -3
- data/docs/.gitignore +1 -0
- data/docs/1-general-configuration.md +16 -1
- data/docs/10-custom-pages.md +14 -0
- data/docs/12-arbre-components.md +28 -1
- data/docs/13-authorization-adapter.md +36 -17
- data/docs/2-resource-customization.md +8 -3
- data/docs/3-index-pages.md +17 -0
- 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 +5 -5
- data/docs/5-forms.md +16 -2
- data/docs/8-custom-actions.md +11 -0
- data/docs/Gemfile +2 -0
- data/docs/Gemfile.lock +249 -0
- data/docs/_config.yml +1 -1
- data/docs/_includes/toc.html +1 -1
- data/docs/_includes/top-menu.html +9 -1
- data/docs/documentation.md +1 -1
- data/docs/images/tidelift.svg +14 -0
- data/docs/stylesheets/main.css +26 -2
- data/gemfiles/rails_42.gemfile +2 -2
- data/gemfiles/rails_42.gemfile.lock +410 -0
- data/gemfiles/rails_50.gemfile +2 -2
- data/gemfiles/rails_50.gemfile.lock +424 -0
- data/gemfiles/rails_51.gemfile +2 -2
- data/gemfiles/rails_51.gemfile.lock +423 -0
- data/lib/active_admin/abstract_view_factory.rb +13 -51
- data/lib/active_admin/application.rb +42 -142
- data/lib/active_admin/application_settings.rb +39 -0
- data/lib/active_admin/base_controller/authorization.rb +1 -2
- data/lib/active_admin/batch_actions/controller.rb +1 -1
- data/lib/active_admin/dependency.rb +8 -0
- data/lib/active_admin/deprecation.rb +0 -25
- data/lib/active_admin/dynamic_setting.rb +38 -0
- data/lib/active_admin/dynamic_settings_node.rb +28 -0
- data/lib/active_admin/engine.rb +5 -0
- data/lib/active_admin/filters/active_filter.rb +1 -1
- data/lib/active_admin/filters/resource_extension.rb +1 -1
- data/lib/active_admin/form_builder.rb +95 -60
- data/lib/active_admin/inputs/datepicker_input.rb +7 -0
- data/lib/active_admin/menu.rb +2 -8
- data/lib/active_admin/menu_item.rb +3 -31
- data/lib/active_admin/namespace.rb +18 -6
- data/lib/active_admin/namespace_settings.rb +107 -0
- data/lib/active_admin/orm/active_record/comments.rb +11 -0
- data/lib/active_admin/orm/active_record/comments/comment.rb +1 -1
- data/lib/active_admin/resource/action_items.rb +6 -1
- data/lib/active_admin/resource_controller/decorators.rb +3 -3
- data/lib/active_admin/resource_controller/scoping.rb +1 -1
- data/lib/active_admin/router.rb +89 -84
- data/lib/active_admin/scope.rb +5 -1
- data/lib/active_admin/settings_node.rb +19 -0
- data/lib/active_admin/version.rb +1 -1
- data/lib/active_admin/views/components/active_admin_form.rb +2 -3
- data/lib/active_admin/views/components/menu.rb +32 -0
- data/lib/active_admin/views/components/menu_item.rb +58 -0
- data/lib/active_admin/views/components/scopes.rb +11 -4
- data/lib/active_admin/views/components/sidebar.rb +13 -0
- data/lib/active_admin/views/components/site_title.rb +5 -6
- data/lib/active_admin/views/components/table_for.rb +1 -10
- data/lib/active_admin/views/components/tabs.rb +4 -1
- data/lib/active_admin/views/footer.rb +2 -6
- data/lib/active_admin/views/header.rb +3 -15
- data/lib/active_admin/views/index_as_blog.rb +1 -1
- data/lib/active_admin/views/index_as_grid.rb +25 -25
- data/lib/active_admin/views/index_as_table.rb +6 -6
- data/lib/active_admin/views/pages/base.rb +27 -53
- data/lib/active_admin/views/tabbed_navigation.rb +4 -59
- data/lib/bug_report_templates/active_admin_master.rb +2 -3
- data/tasks/application_generator.rb +48 -0
- data/tasks/gemfiles.rake +8 -0
- data/tasks/lint.rake +96 -7
- data/tasks/local.rake +10 -8
- data/tasks/test.rake +30 -16
- metadata +26 -440
- data/.travis.yml +0 -51
- 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 -250
- 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 -136
- 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 -47
- 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_52.gemfile +0 -11
- data/lib/active_admin/helpers/settings.rb +0 -114
- 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 -153
- 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 -24
- data/spec/unit/abstract_view_factory_spec.rb +0 -78
- data/spec/unit/action_builder_spec.rb +0 -158
- 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 -313
- 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 -189
- data/spec/unit/filters/active_spec.rb +0 -24
- data/spec/unit/filters/filter_form_builder_spec.rb +0 -524
- 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/output_safety_helper_spec.rb +0 -79
- 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 -234
- 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 -253
- data/spec/unit/view_helpers/display_helper_spec.rb +0 -203
- 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/parallel_tests.rake +0 -66
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
Feature: User Resetting Password
|
|
2
|
-
|
|
3
|
-
Resetting my password as an admin user
|
|
4
|
-
|
|
5
|
-
Background:
|
|
6
|
-
Given a configuration of:
|
|
7
|
-
"""
|
|
8
|
-
ActiveAdmin.register Post
|
|
9
|
-
"""
|
|
10
|
-
And I am logged out
|
|
11
|
-
And an admin user "admin@example.com" exists
|
|
12
|
-
|
|
13
|
-
Scenario: Resetting password successfully
|
|
14
|
-
When I go to the dashboard
|
|
15
|
-
And I follow "Forgot your password?"
|
|
16
|
-
When I fill in "Email" with "admin@example.com"
|
|
17
|
-
And I press "Reset My Password"
|
|
18
|
-
Then I should see "You will receive an email with instructions on how to reset your password in a few minutes."
|
|
19
|
-
|
|
20
|
-
Scenario: Changing password after resetting
|
|
21
|
-
When "admin@example.com" requests a password reset with token "foobarbaz"
|
|
22
|
-
When I go to the admin password reset form with token "foobarbaz"
|
|
23
|
-
And I fill in the password field with "password"
|
|
24
|
-
And I fill in "Password confirmation" with "password"
|
|
25
|
-
And I press "Change my password"
|
|
26
|
-
Then I should see "success"
|
|
27
|
-
|
|
28
|
-
Scenario: Changing password after resetting with errors
|
|
29
|
-
When "admin@example.com" requests a password reset with token "foobarbaz" but it expires
|
|
30
|
-
When I go to the admin password reset form with token "foobarbaz"
|
|
31
|
-
And I fill in the password field with "password"
|
|
32
|
-
And I fill in "Password confirmation" with "wrong"
|
|
33
|
-
And I press "Change my password"
|
|
34
|
-
Then I should see "expired"
|
data/gemfiles/rails_52.gemfile
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
source "https://rubygems.org"
|
|
2
|
-
|
|
3
|
-
eval_gemfile(File.expand_path(File.join("..", "Gemfile"), __dir__))
|
|
4
|
-
|
|
5
|
-
gem "rails", "5.2.1"
|
|
6
|
-
gem "bootsnap"
|
|
7
|
-
gem "devise", "~> 4.4"
|
|
8
|
-
gem "draper", "~> 3.0"
|
|
9
|
-
gem "activerecord-jdbcsqlite3-adapter", "~> 51.0", platforms: :jruby
|
|
10
|
-
|
|
11
|
-
gemspec path: "../"
|
|
@@ -1,114 +0,0 @@
|
|
|
1
|
-
module ActiveAdmin
|
|
2
|
-
|
|
3
|
-
# Adds a class method to a class to create settings with default values.
|
|
4
|
-
#
|
|
5
|
-
# Example:
|
|
6
|
-
#
|
|
7
|
-
# class Configuration
|
|
8
|
-
# include ActiveAdmin::Settings
|
|
9
|
-
#
|
|
10
|
-
# setting :site_title, "Default Site Title"
|
|
11
|
-
# end
|
|
12
|
-
#
|
|
13
|
-
# conf = Configuration.new
|
|
14
|
-
# conf.site_title #=> "Default Site Title"
|
|
15
|
-
# conf.site_title = "Override Default"
|
|
16
|
-
# conf.site_title #=> "Override Default"
|
|
17
|
-
#
|
|
18
|
-
module Settings
|
|
19
|
-
|
|
20
|
-
def self.included(base)
|
|
21
|
-
base.extend ClassMethods
|
|
22
|
-
end
|
|
23
|
-
|
|
24
|
-
def read_default_setting(name)
|
|
25
|
-
default_settings[name]
|
|
26
|
-
end
|
|
27
|
-
|
|
28
|
-
private
|
|
29
|
-
|
|
30
|
-
def default_settings
|
|
31
|
-
self.class.default_settings
|
|
32
|
-
end
|
|
33
|
-
|
|
34
|
-
module ClassMethods
|
|
35
|
-
|
|
36
|
-
def setting(name, default)
|
|
37
|
-
default_settings[name] = default
|
|
38
|
-
attr_writer name
|
|
39
|
-
|
|
40
|
-
# Create an accessor that looks up the default value if none is set.
|
|
41
|
-
define_method name do
|
|
42
|
-
if instance_variable_defined? "@#{name}"
|
|
43
|
-
instance_variable_get "@#{name}"
|
|
44
|
-
else
|
|
45
|
-
read_default_setting name.to_sym
|
|
46
|
-
end
|
|
47
|
-
end
|
|
48
|
-
|
|
49
|
-
define_method "#{name}?" do
|
|
50
|
-
value = public_send(name)
|
|
51
|
-
if value.is_a? Array
|
|
52
|
-
value.any?
|
|
53
|
-
else
|
|
54
|
-
value.present?
|
|
55
|
-
end
|
|
56
|
-
end
|
|
57
|
-
end
|
|
58
|
-
|
|
59
|
-
def deprecated_setting(name, default, message = nil)
|
|
60
|
-
setting(name, default)
|
|
61
|
-
|
|
62
|
-
message ||= "The #{name} setting is deprecated and will be removed."
|
|
63
|
-
ActiveAdmin::Deprecation.deprecate self, name, message
|
|
64
|
-
ActiveAdmin::Deprecation.deprecate self, :"#{name}=", message
|
|
65
|
-
end
|
|
66
|
-
|
|
67
|
-
def default_settings
|
|
68
|
-
@default_settings ||= {}
|
|
69
|
-
end
|
|
70
|
-
|
|
71
|
-
end
|
|
72
|
-
|
|
73
|
-
# Allows you to define child classes that should receive the same
|
|
74
|
-
# settings, as well as the same default values.
|
|
75
|
-
#
|
|
76
|
-
# Example from the codebase:
|
|
77
|
-
#
|
|
78
|
-
# class Application
|
|
79
|
-
# include Settings
|
|
80
|
-
# include Settings::Inheritance
|
|
81
|
-
#
|
|
82
|
-
# settings_inherited_by :Namespace
|
|
83
|
-
#
|
|
84
|
-
# inheritable_setting :root_to, 'dashboard#index'
|
|
85
|
-
# end
|
|
86
|
-
#
|
|
87
|
-
module Inheritance
|
|
88
|
-
|
|
89
|
-
def self.included(base)
|
|
90
|
-
base.extend ClassMethods
|
|
91
|
-
end
|
|
92
|
-
|
|
93
|
-
module ClassMethods
|
|
94
|
-
|
|
95
|
-
def settings_inherited_by(heir)
|
|
96
|
-
(@setting_heirs ||= []) << heir
|
|
97
|
-
heir.send :include, ActiveAdmin::Settings
|
|
98
|
-
end
|
|
99
|
-
|
|
100
|
-
def inheritable_setting(name, default)
|
|
101
|
-
setting name, default
|
|
102
|
-
@setting_heirs.each{ |c| c.setting name, default }
|
|
103
|
-
end
|
|
104
|
-
|
|
105
|
-
def deprecated_inheritable_setting(name, default)
|
|
106
|
-
deprecated_setting name, default
|
|
107
|
-
@setting_heirs.each{ |c| c.deprecated_setting name, default }
|
|
108
|
-
end
|
|
109
|
-
|
|
110
|
-
end
|
|
111
|
-
end
|
|
112
|
-
|
|
113
|
-
end
|
|
114
|
-
end
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
require 'spec_helper'
|
|
2
|
-
|
|
3
|
-
RSpec.describe 'bug_report_templates' do
|
|
4
|
-
subject do
|
|
5
|
-
Bundler.with_clean_env do
|
|
6
|
-
Dir.chdir(chdir_path) do
|
|
7
|
-
system({'ACTIVE_ADMIN_PATH' => active_admin_root},
|
|
8
|
-
Gem.ruby,
|
|
9
|
-
template_path,
|
|
10
|
-
out: File::NULL)
|
|
11
|
-
end
|
|
12
|
-
end
|
|
13
|
-
end
|
|
14
|
-
|
|
15
|
-
let(:active_admin_root) { File.expand_path('../..', __FILE__) }
|
|
16
|
-
let(:chdir_path) { File.join(active_admin_root, 'lib', 'bug_report_templates') }
|
|
17
|
-
|
|
18
|
-
context 'when runs active_admin_master.rb' do
|
|
19
|
-
let(:template_path) { 'active_admin_master.rb' }
|
|
20
|
-
|
|
21
|
-
it 'passes' do
|
|
22
|
-
expect(subject).to be_truthy
|
|
23
|
-
end
|
|
24
|
-
end
|
|
25
|
-
|
|
26
|
-
end
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
describe "ActiveAdmin.CheckboxToggler", ->
|
|
2
|
-
|
|
3
|
-
beforeEach ->
|
|
4
|
-
loadFixtures('checkboxes.html')
|
|
5
|
-
|
|
6
|
-
@collection = $("#collection")
|
|
7
|
-
@toggle_all = @collection.find(".toggle_all")
|
|
8
|
-
|
|
9
|
-
@checkboxes = @collection.find(":checkbox").not(@toggle_all)
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
new ActiveAdmin.CheckboxToggler({}, @collection)
|
|
13
|
-
|
|
14
|
-
describe "on init", ->
|
|
15
|
-
it "should raise an error if container not found", ->
|
|
16
|
-
expect( => new ActiveAdmin.CheckboxToggler({}) ).toThrow("Container element not found")
|
|
17
|
-
|
|
18
|
-
it "should raise an error if 'toggle all' checkbox not found", ->
|
|
19
|
-
@toggle_all.remove()
|
|
20
|
-
expect( => new ActiveAdmin.CheckboxToggler({}, @collection); ).toThrow("'toggle all' checkbox not found")
|
|
21
|
-
|
|
22
|
-
describe "'toggle all' checkbox", ->
|
|
23
|
-
it "should check all checkboxes when checked", ->
|
|
24
|
-
@toggle_all.trigger("click")
|
|
25
|
-
expect(@checkboxes).toHaveAttr("checked")
|
|
26
|
-
|
|
27
|
-
it "should uncheck all checkboxes when unchecked", ->
|
|
28
|
-
@toggle_all.trigger("click")
|
|
29
|
-
@toggle_all.trigger("click")
|
|
30
|
-
expect(@checkboxes).not.toHaveAttr("checked")
|
|
31
|
-
|
|
32
|
-
describe "individual checkboxes", ->
|
|
33
|
-
|
|
34
|
-
describe "when all checkboxes are selected and one is unchecked", ->
|
|
35
|
-
beforeEach ->
|
|
36
|
-
@collection.find(":checkbox").attr("checked", "checked")
|
|
37
|
-
@collection.find("#item_1").trigger("click")
|
|
38
|
-
|
|
39
|
-
it "should uncheck the 'toggle all' checkbox", ->
|
|
40
|
-
expect(@toggle_all).not.toHaveAttr("checked")
|
|
41
|
-
|
|
42
|
-
describe "when the last checkbox is checked", ->
|
|
43
|
-
beforeEach ->
|
|
44
|
-
@checkboxes.attr("checked", "checked")
|
|
45
|
-
@collection.find("#item_1").removeAttr("checked")
|
|
46
|
-
@collection.find("#item_1").trigger("click")
|
|
47
|
-
|
|
48
|
-
it "should check the 'toggle all' checkbox", ->
|
|
49
|
-
expect(@toggle_all).toHaveAttr("checked")
|
|
50
|
-
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
describe "ActiveAdmin.flash", ->
|
|
2
|
-
beforeEach ->
|
|
3
|
-
loadFixtures('flashes.html')
|
|
4
|
-
@flashes = $(".flashes")
|
|
5
|
-
|
|
6
|
-
describe "abstract", ->
|
|
7
|
-
it "should add a flash box with class and message"
|
|
8
|
-
ActiveAdmin.flash.abstract "a abstract message", "abstract"
|
|
9
|
-
flash = @flashes.find(".flash")
|
|
10
|
-
expect(flash).toHaveClass("abstract")
|
|
11
|
-
expect(flash.text()).toHaveClass("a abstract message")
|
|
12
|
-
|
|
13
|
-
describe "error", ->
|
|
14
|
-
it "should add a flash box with class and message"
|
|
15
|
-
ActiveAdmin.flash.abstract "a error message"
|
|
16
|
-
flash = @flashes.find(".flash")
|
|
17
|
-
expect(flash).toHaveClass("error")
|
|
18
|
-
expect(flash.text()).toHaveClass("a error message")
|
|
19
|
-
|
|
20
|
-
describe "notice", ->
|
|
21
|
-
it "should add a flash box with class and message"
|
|
22
|
-
ActiveAdmin.flash.abstract "a notice message"
|
|
23
|
-
flash = @flashes.find(".flash")
|
|
24
|
-
expect(flash).toHaveClass("notice")
|
|
25
|
-
expect(flash.text()).toHaveClass("a notice message")
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
describe "ActiveAdmin.TableCheckboxToggler", ->
|
|
2
|
-
|
|
3
|
-
beforeEach ->
|
|
4
|
-
loadFixtures('table_checkboxes.html');
|
|
5
|
-
|
|
6
|
-
@collection = $("#collection")
|
|
7
|
-
@toggle_all = @collection.find(".toggle_all")
|
|
8
|
-
|
|
9
|
-
@checkboxes = @collection.find(":checkbox").not(@toggle_all)
|
|
10
|
-
|
|
11
|
-
new ActiveAdmin.TableCheckboxToggler({}, @collection)
|
|
12
|
-
|
|
13
|
-
describe "'selected' class for table row", ->
|
|
14
|
-
it "should add the class 'selected' to rows when their checkbox is checked ", ->
|
|
15
|
-
checkbox = $("#item_1")
|
|
16
|
-
checkbox.attr("checked", "checked")
|
|
17
|
-
checkbox.trigger("change")
|
|
18
|
-
|
|
19
|
-
expect(checkbox.parents("tr")).toHaveAttr("class", "selected")
|
|
20
|
-
|
|
21
|
-
it "should remove the class 'selected' from rows when their checkbox is unchecked ", ->
|
|
22
|
-
checkbox = $("#item_1")
|
|
23
|
-
checkbox.trigger("change")
|
|
24
|
-
|
|
25
|
-
expect(checkbox.parents("tr")).not.toHaveAttr("class", "selected")
|
|
26
|
-
|
|
27
|
-
describe "clicking a cell", ->
|
|
28
|
-
it "should toggle the checkbox when a cell is clicked", ->
|
|
29
|
-
checkbox = $("#item_1")
|
|
30
|
-
row = checkbox.parents("td")
|
|
31
|
-
$(row).trigger("click")
|
|
32
|
-
|
|
33
|
-
expect(checkbox).toHaveAttr("checked", "checked")
|
|
34
|
-
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
<div id="collection">
|
|
2
|
-
<input type="checkbox" name="toggle_all" class="toggle_all" value="">
|
|
3
|
-
|
|
4
|
-
<input type="checkbox" name="item1" id="item_1" value="1">
|
|
5
|
-
<input type="checkbox" name="item2" id="item_2" value="2">
|
|
6
|
-
<input type="checkbox" name="item3" id="item_3" value="3">
|
|
7
|
-
<input type="checkbox" name="item4" id="item_4" value="4">
|
|
8
|
-
</div>
|
|
9
|
-
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
<table id="collection">
|
|
2
|
-
<thead>
|
|
3
|
-
<tr>
|
|
4
|
-
<td>
|
|
5
|
-
<input type="checkbox" name="toggle_all" class="toggle_all" value="">
|
|
6
|
-
</td>
|
|
7
|
-
</tr>
|
|
8
|
-
</thead>
|
|
9
|
-
<tbody>
|
|
10
|
-
<tr><td><input type="checkbox" name="item1" id="item_1" value="1"></td></tr>
|
|
11
|
-
<tr><td><input type="checkbox" name="item2" id="item_2" value="2"></td></tr>
|
|
12
|
-
<tr><td><input type="checkbox" name="item3" id="item_3" value="3"></td></tr>
|
|
13
|
-
<tr><td><input type="checkbox" name="item4" id="item_4" value="4"></td></tr>
|
|
14
|
-
</tbody>
|
|
15
|
-
</table>
|
|
16
|
-
|
|
17
|
-
|
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
# src_files
|
|
2
|
-
#
|
|
3
|
-
# Return an array of filepaths relative to src_dir to include before jasmine specs.
|
|
4
|
-
# Default: []
|
|
5
|
-
#
|
|
6
|
-
# EXAMPLE:
|
|
7
|
-
#
|
|
8
|
-
# src_files:
|
|
9
|
-
# - lib/source1.js
|
|
10
|
-
# - lib/source2.js
|
|
11
|
-
# - dist/**/*.js
|
|
12
|
-
#
|
|
13
|
-
src_files:
|
|
14
|
-
- spec/javascripts/support/jquery.min.js
|
|
15
|
-
- spec/javascripts/support/jquery-ui-1.8.16.custom.min.js
|
|
16
|
-
- app/assets/javascripts/active_admin/compiled/lib/**/*.js
|
|
17
|
-
- app/assets/javascripts/active_admin/compiled/components/**/*.js
|
|
18
|
-
|
|
19
|
-
# stylesheets
|
|
20
|
-
#
|
|
21
|
-
# Return an array of stylesheet filepaths relative to src_dir to include before jasmine specs.
|
|
22
|
-
# Default: []
|
|
23
|
-
#
|
|
24
|
-
# EXAMPLE:
|
|
25
|
-
#
|
|
26
|
-
# stylesheets:
|
|
27
|
-
# - css/style.css
|
|
28
|
-
# - stylesheets/*.css
|
|
29
|
-
#
|
|
30
|
-
stylesheets:
|
|
31
|
-
|
|
32
|
-
# helpers
|
|
33
|
-
#
|
|
34
|
-
# Return an array of filepaths relative to spec_dir to include before jasmine specs.
|
|
35
|
-
# Default: ["helpers/**/*.js"]
|
|
36
|
-
#
|
|
37
|
-
# EXAMPLE:
|
|
38
|
-
#
|
|
39
|
-
helpers:
|
|
40
|
-
- helpers/**/*.js
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
# spec_files
|
|
44
|
-
#
|
|
45
|
-
# Return an array of filepaths relative to spec_dir to include.
|
|
46
|
-
# Default: ["**/*[sS]pec.js"]
|
|
47
|
-
#
|
|
48
|
-
# EXAMPLE:
|
|
49
|
-
#
|
|
50
|
-
spec_files:
|
|
51
|
-
- **/*[sS]pec.js
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
# src_dir
|
|
55
|
-
#
|
|
56
|
-
# Source directory path. Your src_files must be returned relative to this path. Will use root if left blank.
|
|
57
|
-
# Default: project root
|
|
58
|
-
#
|
|
59
|
-
# EXAMPLE:
|
|
60
|
-
#
|
|
61
|
-
# src_dir: public
|
|
62
|
-
#
|
|
63
|
-
src_dir:
|
|
64
|
-
|
|
65
|
-
# spec_dir
|
|
66
|
-
#
|
|
67
|
-
# Spec directory path. Your spec_files must be returned relative to this path.
|
|
68
|
-
# Default: spec/javascripts
|
|
69
|
-
#
|
|
70
|
-
# EXAMPLE:
|
|
71
|
-
#
|
|
72
|
-
# spec_dir: spec/javascripts
|
|
73
|
-
#
|
|
74
|
-
spec_dir: spec/javascripts/
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
$:.unshift(ENV['JASMINE_GEM_PATH']) if ENV['JASMINE_GEM_PATH'] # for gem testing purposes
|
|
2
|
-
|
|
3
|
-
require 'jasmine'
|
|
4
|
-
require 'spec'
|
|
5
|
-
|
|
6
|
-
jasmine_config = Jasmine::Config.new
|
|
7
|
-
spec_builder = Jasmine::SpecBuilder.new(jasmine_config)
|
|
8
|
-
|
|
9
|
-
should_stop = false
|
|
10
|
-
|
|
11
|
-
Spec::Runner.configure do |config|
|
|
12
|
-
config.after(:suite) do
|
|
13
|
-
spec_builder.stop if should_stop
|
|
14
|
-
end
|
|
15
|
-
end
|
|
16
|
-
|
|
17
|
-
spec_builder.start
|
|
18
|
-
should_stop = true
|
|
19
|
-
spec_builder.declare_suites
|
data/spec/rails_helper.rb
DELETED
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
require 'spec_helper'
|
|
2
|
-
|
|
3
|
-
ENV['RAILS_ENV'] = 'test'
|
|
4
|
-
|
|
5
|
-
require 'rails'
|
|
6
|
-
ENV['RAILS_ROOT'] = File.expand_path("../rails/rails-#{Rails.version}", __FILE__)
|
|
7
|
-
|
|
8
|
-
# Create the test app if it doesn't exists
|
|
9
|
-
unless File.exists?(ENV['RAILS_ROOT'])
|
|
10
|
-
system 'rake setup'
|
|
11
|
-
end
|
|
12
|
-
|
|
13
|
-
require 'active_record'
|
|
14
|
-
require 'active_admin'
|
|
15
|
-
require 'devise'
|
|
16
|
-
ActiveAdmin.application.load_paths = [ENV['RAILS_ROOT'] + "/app/admin"]
|
|
17
|
-
|
|
18
|
-
require ENV['RAILS_ROOT'] + '/config/environment'
|
|
19
|
-
|
|
20
|
-
require 'rspec/rails'
|
|
21
|
-
|
|
22
|
-
# Disabling authentication in specs so that we don't have to worry about
|
|
23
|
-
# it allover the place
|
|
24
|
-
ActiveAdmin.application.authentication_method = false
|
|
25
|
-
ActiveAdmin.application.current_user_method = false
|
|
26
|
-
|
|
27
|
-
RSpec.configure do |config|
|
|
28
|
-
config.disable_monkey_patching!
|
|
29
|
-
config.use_transactional_fixtures = true
|
|
30
|
-
config.use_instantiated_fixtures = false
|
|
31
|
-
config.render_views = false
|
|
32
|
-
config.filter_run focus: true
|
|
33
|
-
config.filter_run_excluding skip: true
|
|
34
|
-
config.run_all_when_everything_filtered = true
|
|
35
|
-
config.color = true
|
|
36
|
-
config.order = :random
|
|
37
|
-
|
|
38
|
-
devise = ActiveAdmin::Dependency.devise >= '4.2' ? Devise::Test::ControllerHelpers : Devise::TestHelpers
|
|
39
|
-
config.include devise, type: :controller
|
|
40
|
-
|
|
41
|
-
require 'support/active_admin_integration_spec_helper'
|
|
42
|
-
config.include ActiveAdminIntegrationSpecHelper
|
|
43
|
-
|
|
44
|
-
require 'support/active_admin_request_helpers'
|
|
45
|
-
config.include ActiveAdminRequestHelpers, type: :request
|
|
46
|
-
|
|
47
|
-
# Setup Some Admin stuff for us to play with
|
|
48
|
-
config.before(:suite) do
|
|
49
|
-
ActiveAdminIntegrationSpecHelper.load_defaults!
|
|
50
|
-
ActiveAdminIntegrationSpecHelper.reload_routes!
|
|
51
|
-
end
|
|
52
|
-
end
|
|
53
|
-
|
|
54
|
-
# Force deprecations to raise an exception.
|
|
55
|
-
ActiveSupport::Deprecation.behavior = :raise
|
|
56
|
-
|
|
57
|
-
# improve the performance of the specs suite by not logging anything
|
|
58
|
-
# see http://blog.plataformatec.com.br/2011/12/three-tips-to-improve-the-performance-of-your-test-suite/
|
|
59
|
-
Rails.logger.level = Logger::FATAL
|