activeadmin 1.0.0 → 1.1.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 +4 -4
- data/.github/ISSUE_TEMPLATE.md +20 -0
- data/.mdlrc +1 -0
- data/.rubocop.yml +52 -3
- data/.simplecov +13 -0
- data/.travis.yml +9 -24
- data/.yardopts +0 -1
- data/CHANGELOG.md +85 -4
- data/CONTRIBUTING.md +33 -57
- data/Gemfile +26 -17
- data/Rakefile +1 -12
- data/activeadmin.gemspec +9 -11
- data/app/assets/javascripts/active_admin/base.js.coffee +6 -2
- data/app/assets/javascripts/active_admin/initializers/batch_actions.js.coffee +5 -1
- data/app/assets/javascripts/active_admin/initializers/datepicker.js.coffee +5 -1
- data/app/assets/javascripts/active_admin/initializers/filters.js.coffee +5 -1
- data/app/assets/javascripts/active_admin/initializers/tabs.js.coffee +5 -1
- data/app/assets/javascripts/active_admin/lib/batch_actions.js.coffee +6 -3
- data/app/assets/javascripts/active_admin/lib/checkbox-toggler.js.coffee +9 -7
- data/app/assets/javascripts/active_admin/lib/dropdown-menu.js.coffee +5 -2
- data/app/assets/javascripts/active_admin/lib/per_page.js.coffee +6 -2
- data/app/assets/javascripts/active_admin/lib/table-checkbox-toggler.js.coffee +3 -5
- data/app/assets/stylesheets/active_admin/_base.scss +2 -2
- data/app/assets/stylesheets/active_admin/_forms.scss +6 -12
- data/app/assets/stylesheets/active_admin/components/_batch_actions.scss +0 -5
- data/app/assets/stylesheets/active_admin/components/_pagination.scss +11 -0
- data/app/assets/stylesheets/active_admin/components/_status_tags.scss +1 -0
- data/app/assets/stylesheets/active_admin/components/_tables.scss +4 -1
- data/app/assets/stylesheets/active_admin/mixins/_all.scss +0 -2
- data/app/assets/stylesheets/active_admin/print.scss +2 -3
- data/app/views/active_admin/devise/sessions/new.html.erb +1 -1
- data/app/views/active_admin/devise/shared/_links.erb +12 -6
- data/app/views/kaminari/active_admin/_first_page.html.erb +11 -0
- data/app/views/kaminari/active_admin/_gap.html.erb +8 -0
- data/app/views/kaminari/active_admin/_last_page.html.erb +11 -0
- data/app/views/kaminari/active_admin/_next_page.html.erb +11 -0
- data/app/views/kaminari/active_admin/_page.html.erb +12 -0
- data/app/views/kaminari/active_admin/_paginator.html.erb +25 -0
- data/app/views/kaminari/active_admin/_prev_page.html.erb +11 -0
- data/codecov.yml +14 -12
- data/config/i18n-tasks.yml +26 -0
- data/config/locales/ar.yml +1 -3
- data/config/locales/bg.yml +0 -2
- data/config/locales/bs.yml +0 -2
- data/config/locales/ca.yml +0 -2
- data/config/locales/cs.yml +0 -2
- data/config/locales/da.yml +1 -3
- data/config/locales/de-CH.yml +1 -3
- data/config/locales/de.yml +1 -3
- data/config/locales/el.yml +1 -3
- data/config/locales/en-CA.yml +138 -0
- data/config/locales/en-GB.yml +43 -3
- data/config/locales/en.yml +8 -4
- data/config/locales/es-MX.yml +3 -2
- data/config/locales/es.yml +10 -4
- data/config/locales/fa.yml +0 -2
- data/config/locales/fi.yml +0 -2
- data/config/locales/fr.yml +9 -2
- data/config/locales/he.yml +53 -7
- data/config/locales/hr.yml +0 -2
- data/config/locales/hu.yml +0 -2
- data/config/locales/id.yml +1 -3
- data/config/locales/it.yml +2 -4
- data/config/locales/ja.yml +1 -3
- data/config/locales/ko.yml +0 -2
- data/config/locales/lt.yml +24 -4
- data/config/locales/lv.yml +0 -2
- data/config/locales/nb.yml +0 -2
- data/config/locales/nl.yml +1 -3
- data/config/locales/pl.yml +3 -2
- data/config/locales/pt-BR.yml +1 -3
- data/config/locales/pt-PT.yml +0 -2
- data/config/locales/ro.yml +0 -2
- data/config/locales/ru.yml +1 -3
- data/config/locales/sk.yml +0 -2
- data/config/locales/sv-SE.yml +1 -3
- data/config/locales/tr.yml +0 -2
- data/config/locales/uk.yml +1 -3
- data/config/locales/vi.yml +0 -2
- data/config/locales/zh-CN.yml +0 -2
- data/config/locales/zh-TW.yml +1 -3
- data/config/mdl_style.rb +9 -0
- data/cucumber.yml +3 -3
- data/docs/0-installation.md +15 -12
- data/docs/1-general-configuration.md +10 -3
- data/docs/10-custom-pages.md +10 -5
- data/docs/11-decorators.md +1 -0
- data/docs/12-arbre-components.md +7 -9
- data/docs/13-authorization-adapter.md +39 -24
- data/docs/14-gotchas.md +41 -22
- data/docs/2-resource-customization.md +41 -18
- data/docs/3-index-pages.md +30 -12
- data/docs/3-index-pages/custom-index.md +1 -0
- data/docs/3-index-pages/index-as-block.md +0 -5
- data/docs/3-index-pages/index-as-blog.md +0 -5
- data/docs/3-index-pages/index-as-grid.md +0 -5
- data/docs/3-index-pages/index-as-table.md +1 -9
- data/docs/4-csv-format.md +2 -1
- data/docs/5-forms.md +45 -21
- data/docs/6-show-pages.md +2 -1
- data/docs/7-sidebars.md +2 -1
- data/docs/8-custom-actions.md +4 -1
- data/docs/9-batch-actions.md +4 -2
- data/docs/documentation.md +19 -21
- data/features/comments/commenting.feature +20 -0
- data/features/index/filters.feature +41 -1
- data/features/index/format_as_csv.feature +17 -0
- data/features/index/index_scopes.feature +15 -0
- data/features/registering_assets.feature +8 -4
- data/features/show/attributes_table_title.feature +54 -0
- data/features/show/tabs.feature +10 -4
- data/features/step_definitions/action_link_steps.rb +0 -1
- data/features/step_definitions/attributes_table_title_steps.rb +11 -0
- data/features/step_definitions/batch_action_steps.rb +2 -2
- data/features/step_definitions/comment_steps.rb +21 -1
- data/features/step_definitions/configuration_steps.rb +1 -1
- data/features/step_definitions/filter_steps.rb +9 -0
- data/features/step_definitions/format_steps.rb +1 -1
- data/features/step_definitions/index_scope_steps.rb +4 -0
- data/features/support/env.rb +5 -4
- data/features/support/regular_env.rb +7 -0
- data/features/support/reload_env.rb +7 -0
- data/gemfiles/rails_42.gemfile +2 -37
- data/gemfiles/rails_50.gemfile +5 -40
- data/gemfiles/rails_51.gemfile +5 -40
- data/lib/active_admin.rb +0 -3
- data/lib/active_admin/application.rb +6 -4
- data/lib/active_admin/asset_registration.rb +8 -0
- data/lib/active_admin/authorization_adapter.rb +0 -3
- data/lib/active_admin/base_controller.rb +1 -2
- data/lib/active_admin/base_controller/authorization.rb +0 -1
- data/lib/active_admin/base_controller/menu.rb +9 -9
- data/lib/active_admin/batch_actions/controller.rb +1 -1
- data/lib/active_admin/batch_actions/views/selection_cells.rb +6 -5
- data/lib/active_admin/csv_builder.rb +3 -3
- data/lib/active_admin/dependency.rb +1 -1
- data/lib/active_admin/devise.rb +2 -2
- data/lib/active_admin/dsl.rb +2 -2
- data/lib/active_admin/filters.rb +2 -0
- data/lib/active_admin/filters/active.rb +13 -14
- data/lib/active_admin/filters/active_filter.rb +87 -0
- data/lib/active_admin/filters/active_sidebar.rb +50 -0
- data/lib/active_admin/filters/forms.rb +1 -2
- data/lib/active_admin/filters/resource_extension.rb +2 -30
- data/lib/active_admin/helpers/settings.rb +0 -1
- data/lib/active_admin/inputs/datepicker_input.rb +5 -5
- data/lib/active_admin/inputs/filters/date_range_input.rb +12 -4
- data/lib/active_admin/inputs/filters/text_input.rb +0 -1
- data/lib/active_admin/menu.rb +4 -4
- data/lib/active_admin/menu_collection.rb +0 -2
- data/lib/active_admin/namespace.rb +1 -1
- data/lib/active_admin/orm/active_record/comments/comment.rb +1 -5
- data/lib/active_admin/orm/active_record/comments/views/active_admin_comments.rb +4 -2
- data/lib/active_admin/page_controller.rb +1 -1
- data/lib/active_admin/resource/action_items.rb +4 -0
- data/lib/active_admin/resource/attributes.rb +1 -1
- data/lib/active_admin/resource/page_presenters.rb +1 -1
- data/lib/active_admin/resource/routes.rb +0 -1
- data/lib/active_admin/resource/scopes.rb +2 -1
- data/lib/active_admin/resource_controller.rb +1 -1
- data/lib/active_admin/resource_controller/data_access.rb +8 -9
- data/lib/active_admin/resource_dsl.rb +10 -10
- data/lib/active_admin/router.rb +1 -1
- data/lib/active_admin/scope.rb +3 -3
- data/lib/active_admin/version.rb +1 -1
- data/lib/active_admin/view_helpers.rb +1 -0
- data/lib/active_admin/view_helpers/display_helper.rb +1 -1
- data/lib/active_admin/view_helpers/form_helper.rb +1 -1
- data/lib/active_admin/view_helpers/scope_name_helper.rb +16 -0
- data/lib/active_admin/views/action_items.rb +1 -1
- data/lib/active_admin/views/components/active_admin_form.rb +1 -1
- data/lib/active_admin/views/components/dropdown_menu.rb +2 -2
- data/lib/active_admin/views/components/index_list.rb +0 -2
- data/lib/active_admin/views/components/paginated_collection.rb +1 -1
- data/lib/active_admin/views/components/scopes.rb +2 -10
- data/lib/active_admin/views/components/status_tag.rb +19 -11
- data/lib/active_admin/views/components/tabs.rb +2 -2
- data/lib/active_admin/views/header.rb +0 -1
- data/lib/active_admin/views/index_as_blog.rb +1 -2
- data/lib/active_admin/views/index_as_grid.rb +2 -2
- data/lib/active_admin/views/index_as_table.rb +19 -1
- data/lib/active_admin/views/pages/base.rb +4 -4
- data/lib/active_admin/views/pages/show.rb +6 -1
- data/lib/active_admin/views/title_bar.rb +4 -4
- data/lib/bug_report_templates/{rails_5_master.rb → active_admin_master.rb} +35 -40
- data/lib/generators/active_admin/devise/devise_generator.rb +1 -1
- data/lib/generators/active_admin/install/templates/admin_user.rb.erb +1 -1
- data/spec/bug_report_templates_spec.rb +2 -3
- data/spec/rails_helper.rb +0 -3
- data/spec/spec_helper.rb +1 -12
- data/spec/support/active_admin_integration_spec_helper.rb +1 -1
- data/spec/support/rails_template.rb +5 -37
- data/spec/support/rails_template_with_data.rb +262 -3
- data/spec/support/templates/policies/active_admin/comment_policy.rb +1 -1
- data/spec/support/templates/policies/active_admin/page_policy.rb +1 -1
- data/spec/support/templates/policies/application_policy.rb +1 -2
- data/spec/support/templates/post_decorator.rb +0 -1
- data/spec/unit/abstract_view_factory_spec.rb +0 -1
- data/spec/unit/application_spec.rb +4 -0
- data/spec/unit/asset_registration_spec.rb +29 -0
- data/spec/unit/belongs_to_spec.rb +1 -2
- data/spec/unit/config_shared_examples.rb +1 -1
- data/spec/unit/csv_builder_spec.rb +2 -4
- data/spec/unit/dependency_spec.rb +7 -7
- data/spec/unit/dsl_spec.rb +0 -2
- data/spec/unit/filters/active_filter_spec.rb +135 -0
- data/spec/unit/filters/active_spec.rb +11 -1
- data/spec/unit/filters/filter_form_builder_spec.rb +9 -7
- data/spec/unit/form_builder_spec.rb +14 -14
- data/spec/unit/helpers/scope_chain_spec.rb +0 -1
- data/spec/unit/i18n_spec.rb +17 -0
- data/spec/unit/menu_item_spec.rb +1 -3
- data/spec/unit/namespace/register_page_spec.rb +1 -1
- data/spec/unit/namespace_spec.rb +0 -1
- data/spec/unit/page_spec.rb +0 -3
- data/spec/unit/resource/action_items_spec.rb +5 -1
- data/spec/unit/resource/attributes_spec.rb +1 -2
- data/spec/unit/resource/ordering_spec.rb +0 -3
- data/spec/unit/resource/scopes_spec.rb +1 -1
- data/spec/unit/resource_controller/data_access_spec.rb +2 -2
- data/spec/unit/resource_controller_spec.rb +1 -2
- data/spec/unit/resource_spec.rb +9 -2
- data/spec/unit/routing_spec.rb +0 -2
- data/spec/unit/scope_spec.rb +3 -3
- data/spec/unit/settings_spec.rb +0 -1
- data/spec/unit/view_factory_spec.rb +1 -1
- data/spec/unit/view_helpers/flash_helper_spec.rb +0 -1
- data/spec/unit/view_helpers/form_helper_spec.rb +3 -4
- data/spec/unit/view_helpers/method_or_proc_helper_spec.rb +0 -1
- data/spec/unit/views/components/attributes_table_spec.rb +0 -1
- data/spec/unit/views/components/columns_spec.rb +0 -2
- data/spec/unit/views/components/site_title_spec.rb +0 -2
- data/spec/unit/views/components/status_tag_spec.rb +23 -7
- data/spec/unit/views/components/tabs_spec.rb +29 -1
- data/spec/unit/views/pages/index_spec.rb +1 -1
- data/tasks/docs.rake +37 -10
- data/tasks/lint.rake +14 -1
- data/tasks/local.rake +2 -2
- data/tasks/test.rake +8 -25
- data/vendor/assets/javascripts/jquery-ui/data.js +41 -0
- data/vendor/assets/javascripts/jquery-ui/disable-selection.js +48 -0
- data/vendor/assets/javascripts/jquery-ui/escape-selector.js +23 -0
- data/vendor/assets/javascripts/jquery-ui/focusable.js +86 -0
- data/vendor/assets/javascripts/jquery-ui/ie.js +17 -0
- data/vendor/assets/javascripts/jquery-ui/keycode.js +47 -0
- data/vendor/assets/javascripts/jquery-ui/plugin.js +46 -0
- data/vendor/assets/javascripts/jquery-ui/position.js +500 -0
- data/vendor/assets/javascripts/jquery-ui/safe-active-element.js +42 -0
- data/vendor/assets/javascripts/jquery-ui/safe-blur.js +23 -0
- data/vendor/assets/javascripts/jquery-ui/scroll-parent.js +47 -0
- data/vendor/assets/javascripts/jquery-ui/tabbable.js +38 -0
- data/vendor/assets/javascripts/jquery-ui/unique-id.js +51 -0
- data/vendor/assets/javascripts/jquery-ui/version.js +17 -0
- data/vendor/assets/javascripts/jquery-ui/widget.js +735 -0
- data/vendor/assets/javascripts/jquery-ui/widgets/button.js +391 -0
- data/vendor/assets/javascripts/jquery-ui/widgets/checkboxradio.js +300 -0
- data/vendor/assets/javascripts/jquery-ui/widgets/controlgroup.js +300 -0
- data/vendor/assets/javascripts/jquery-ui/widgets/datepicker.js +2123 -0
- data/vendor/assets/javascripts/jquery-ui/widgets/dialog.js +954 -0
- data/vendor/assets/javascripts/jquery-ui/widgets/draggable.js +1259 -0
- data/vendor/assets/javascripts/jquery-ui/widgets/mouse.js +230 -0
- data/vendor/assets/javascripts/jquery-ui/widgets/resizable.js +1207 -0
- data/vendor/assets/javascripts/jquery-ui/widgets/sortable.js +1561 -0
- data/vendor/assets/javascripts/jquery-ui/widgets/tabs.js +931 -0
- data/vendor/assets/stylesheets/active_admin/_normalize.scss +447 -0
- metadata +62 -51
- data/.hound.yml +0 -14
- data/Appraisals +0 -41
- data/app/assets/images/active_admin/datepicker/datepicker-input-icon.png +0 -0
- data/app/assets/javascripts/active_admin/jquery_ui.js.erb +0 -18
- data/app/assets/stylesheets/active_admin/mixins/_reset.scss +0 -165
- data/lib/active_admin/filters/humanized.rb +0 -68
- data/spec/requests/javascript_spec.rb +0 -22
- data/spec/support/jslint.yml +0 -80
- data/spec/unit/filters/humanized_spec.rb +0 -64
- data/tasks/yard.rake +0 -9
data/docs/6-show-pages.md
CHANGED
@@ -3,7 +3,8 @@ redirect_from: /docs/6-show-pages.html
|
|
3
3
|
---
|
4
4
|
# Customize the Show Page
|
5
5
|
|
6
|
-
The show block is rendered within the context of the view and uses
|
6
|
+
The show block is rendered within the context of the view and uses
|
7
|
+
[Arbre](https://github.com/activeadmin/arbre) syntax.
|
7
8
|
|
8
9
|
With the `show` block, you can render anything you want.
|
9
10
|
|
data/docs/7-sidebars.md
CHANGED
@@ -68,7 +68,8 @@ By default sidebars are positioned in the same order as they defined, but it's a
|
|
68
68
|
possible to specify their position manually:
|
69
69
|
|
70
70
|
```ruby
|
71
|
-
|
71
|
+
# will push Help section to the top (above default Filters section)
|
72
|
+
sidebar :help, priority: 0
|
72
73
|
```
|
73
74
|
|
74
75
|
Default sidebar priority is `10`.
|
data/docs/8-custom-actions.md
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
---
|
2
2
|
redirect_from: /docs/8-custom-actions.html
|
3
3
|
---
|
4
|
+
|
4
5
|
# Custom Controller Actions
|
5
6
|
|
6
7
|
Active Admin allows you to override and modify the underlying controller which
|
@@ -138,7 +139,9 @@ end
|
|
138
139
|
Actions items also accept the `:if` option to conditionally display them:
|
139
140
|
|
140
141
|
```ruby
|
141
|
-
action_item :super_action,
|
142
|
+
action_item :super_action,
|
143
|
+
only: :show,
|
144
|
+
if: proc{ current_admin_user.super_admin? } do
|
142
145
|
"Only display this to super admins on the show screen"
|
143
146
|
end
|
144
147
|
```
|
data/docs/9-batch-actions.md
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
---
|
2
2
|
redirect_from: /docs/9-batch-actions.html
|
3
3
|
---
|
4
|
+
|
4
5
|
# Batch Actions
|
5
6
|
|
6
7
|
By default, the index page provides you a "Batch Action" to quickly delete records,
|
@@ -51,7 +52,7 @@ end
|
|
51
52
|
|
52
53
|
# app/admin/post.rb
|
53
54
|
ActiveAdmin.register Post do
|
54
|
-
|
55
|
+
|
55
56
|
# Resource level:
|
56
57
|
config.batch_actions = false
|
57
58
|
end
|
@@ -153,7 +154,8 @@ batch_action :doit, form: -> { {user: User.pluck(:name, :id)} } do |ids, inputs|
|
|
153
154
|
end
|
154
155
|
```
|
155
156
|
|
156
|
-
Under the covers this is powered by the JS `ActiveAdmin.modal_dialog` which you
|
157
|
+
Under the covers this is powered by the JS `ActiveAdmin.modal_dialog` which you
|
158
|
+
can use yourself:
|
157
159
|
|
158
160
|
```coffee
|
159
161
|
if $('body.admin_users').length
|
data/docs/documentation.md
CHANGED
@@ -1,20 +1,15 @@
|
|
1
1
|
---
|
2
2
|
redirect_from: /docs/documentation.html
|
3
3
|
---
|
4
|
-
<h2 class="in-docs">
|
5
|
-
<span class="breadcrumb">
|
6
|
-
<a href="documentation.html">Documentation</a> :
|
7
|
-
</span>
|
8
|
-
Active Admin Documentation
|
9
|
-
</h2>
|
10
4
|
|
11
|
-
Active Admin is a framework for creating administration style interfaces. It
|
12
|
-
|
5
|
+
Active Admin is a framework for creating administration style interfaces. It
|
6
|
+
abstracts common business application patterns to make it simple for developers
|
7
|
+
to implement beautiful and elegant interfaces with very little effort.
|
13
8
|
|
14
|
-
|
9
|
+
# Getting Started
|
15
10
|
|
16
|
-
Active Admin is released as a Ruby Gem. The gem is to be installed within a Ruby
|
17
|
-
|
11
|
+
Active Admin is released as a Ruby Gem. The gem is to be installed within a Ruby
|
12
|
+
on Rails application. To install, simply add the following to your Gemfile:
|
18
13
|
|
19
14
|
```ruby
|
20
15
|
# Gemfile
|
@@ -27,7 +22,9 @@ After updating your bundle, run the installer
|
|
27
22
|
rails generate active_admin:install
|
28
23
|
```
|
29
24
|
|
30
|
-
The installer creates an initializer used for configuring defaults used by
|
25
|
+
The installer creates an initializer used for configuring defaults used by
|
26
|
+
Active Admin as well as a new folder at `app/admin` to put all your admin
|
27
|
+
configurations.
|
31
28
|
|
32
29
|
Migrate your db and start the server:
|
33
30
|
|
@@ -36,10 +33,10 @@ $> rake db:migrate
|
|
36
33
|
$> rails server
|
37
34
|
```
|
38
35
|
|
39
|
-
Visit http://localhost:3000/admin and log in using:
|
36
|
+
Visit `http://localhost:3000/admin` and log in using:
|
40
37
|
|
41
|
-
*
|
42
|
-
*
|
38
|
+
* __User__: admin@example.com
|
39
|
+
* __Password__: password
|
43
40
|
|
44
41
|
Voila! You’re on your brand new Active Admin dashboard.
|
45
42
|
|
@@ -50,13 +47,14 @@ $> rails generate active_admin:resource
|
|
50
47
|
[MyModelName]
|
51
48
|
```
|
52
49
|
|
53
|
-
This creates a file at
|
50
|
+
This creates a file at `app/admin/my_model_names.rb` for configuring the
|
51
|
+
resource. Refresh your web browser to see the interface.
|
54
52
|
|
55
|
-
|
53
|
+
# Next Steps
|
56
54
|
|
57
55
|
Now that you have a working Active Admin installation, learn how to customize it:
|
58
56
|
|
59
|
-
*
|
60
|
-
*
|
61
|
-
*
|
62
|
-
*
|
57
|
+
* [Customize the Index Page](3-index-pages.md)
|
58
|
+
* [Customize the New and Edit Form](5-forms.md)
|
59
|
+
* [Customize the Show Page](6-show-pages.md)
|
60
|
+
* [Customize the Resource in General](2-resource-customization.md)
|
@@ -156,3 +156,23 @@ Feature: Commenting
|
|
156
156
|
And I follow "View"
|
157
157
|
When I add a comment "Bar"
|
158
158
|
Then I should be in the resource section for foos
|
159
|
+
|
160
|
+
Scenario: View comments
|
161
|
+
Given 70 comments added by admin with an email "admin@example.com"
|
162
|
+
And a show configuration of:
|
163
|
+
"""
|
164
|
+
ActiveAdmin.register Post
|
165
|
+
"""
|
166
|
+
Then I should see "Comments (70)"
|
167
|
+
And I should see "Displaying comments 1 - 25 of 70 in total"
|
168
|
+
And I should see 25 comments
|
169
|
+
And I should see pagination with 3 pages
|
170
|
+
And I should see the pagination "Next" link
|
171
|
+
Then I follow "2"
|
172
|
+
And I should see "Displaying comments 26 - 50 of 70 in total"
|
173
|
+
And I should see 25 comments
|
174
|
+
And I should see the pagination "Next" link
|
175
|
+
Then I follow "Next"
|
176
|
+
And I should see 20 comments
|
177
|
+
And I should see "Displaying comments 51 - 70 of 70 in total"
|
178
|
+
And I should not see the pagination "Next" link
|
@@ -21,6 +21,7 @@ Feature: Index Filtering
|
|
21
21
|
And I press "Filter"
|
22
22
|
And I should see 1 posts in the table
|
23
23
|
And I should see "Hello World 2" within ".index_table"
|
24
|
+
And I should see current filter "title_contains" equal to "Hello World 2" with label "Title contains"
|
24
25
|
|
25
26
|
Scenario: Filtering posts with no results
|
26
27
|
Given 3 posts exist
|
@@ -100,6 +101,7 @@ Feature: Index Filtering
|
|
100
101
|
Then I should see 1 posts in the table
|
101
102
|
And I should see "Hello World" within ".index_table"
|
102
103
|
And the "Jane Doe" checkbox should be checked
|
104
|
+
And I should see current filter "author_id_in" equal to "Jane Doe"
|
103
105
|
|
104
106
|
Scenario: Disabling filters
|
105
107
|
Given an index configuration of:
|
@@ -122,6 +124,7 @@ Feature: Index Filtering
|
|
122
124
|
Then I should see 1 categories in the table
|
123
125
|
And I should see "Non-Fiction" within ".index_table"
|
124
126
|
And I should not see "Mystery" within ".index_table"
|
127
|
+
And I should see current filter "posts_author_id_eq" equal to "Jane Doe"
|
125
128
|
|
126
129
|
@javascript
|
127
130
|
Scenario: Clearing filter preserves custom parameters
|
@@ -160,6 +163,7 @@ Feature: Index Filtering
|
|
160
163
|
And I should see "Mystery" within ".index_table"
|
161
164
|
And I should see "Non-Fiction" within ".index_table"
|
162
165
|
And the "Jane Doe" checkbox should not be checked
|
166
|
+
And should not see a sidebar titled "Search Status:"
|
163
167
|
|
164
168
|
Scenario: Checkboxes - Filtering categories via posts written by Jane Doe
|
165
169
|
Given a category named "Mystery" exists
|
@@ -169,6 +173,7 @@ Feature: Index Filtering
|
|
169
173
|
ActiveAdmin.register Category do
|
170
174
|
filter :authors, as: :check_boxes
|
171
175
|
end
|
176
|
+
|
172
177
|
"""
|
173
178
|
When I check "Jane Doe"
|
174
179
|
And I press "Filter"
|
@@ -176,6 +181,41 @@ Feature: Index Filtering
|
|
176
181
|
And I should see "Non-Fiction" within ".index_table"
|
177
182
|
And the "Jane Doe" checkbox should be checked
|
178
183
|
|
184
|
+
Scenario: Filtering posts without default scope
|
185
|
+
|
186
|
+
Given a post with the title "Hello World" written by "Jane Doe" exists
|
187
|
+
Given an index configuration of:
|
188
|
+
"""
|
189
|
+
ActiveAdmin.register Post do
|
190
|
+
scope :all
|
191
|
+
scope :published do |posts|
|
192
|
+
posts.where("published_date IS NOT NULL")
|
193
|
+
end
|
194
|
+
|
195
|
+
filter :title
|
196
|
+
end
|
197
|
+
"""
|
198
|
+
When I fill in "Title" with "Hello"
|
199
|
+
And I press "Filter"
|
200
|
+
Then I should see current filter "title_contains" equal to "Hello" with label "Title contains"
|
201
|
+
|
202
|
+
Scenario: Filtering posts by category
|
203
|
+
Given a category named "Mystery" exists
|
204
|
+
And a post with the title "Hello World" written by "Jane Doe" in category "Non-Fiction" exists
|
205
|
+
Given an index configuration of:
|
206
|
+
"""
|
207
|
+
ActiveAdmin.register Category
|
208
|
+
ActiveAdmin.register Post do
|
209
|
+
filter :category
|
210
|
+
end
|
211
|
+
"""
|
212
|
+
And I am on the index page for posts
|
213
|
+
|
214
|
+
When I select "Non-Fiction" from "Category"
|
215
|
+
And I press "Filter"
|
216
|
+
Then I should see a sidebar titled "Search Status:"
|
217
|
+
And I should see link "Non-Fiction" in current filters
|
218
|
+
|
179
219
|
Scenario: Enabling filters status sidebar
|
180
220
|
Given an index configuration of:
|
181
221
|
"""
|
@@ -196,4 +236,4 @@ Feature: Index Filtering
|
|
196
236
|
end
|
197
237
|
"""
|
198
238
|
And I press "Filter"
|
199
|
-
Then I should not see a sidebar titled "Search Status:"
|
239
|
+
Then I should not see a sidebar titled "Search Status:"
|
@@ -61,6 +61,23 @@ Feature: Format as CSV
|
|
61
61
|
| Title | Body |
|
62
62
|
| Hello, World | (.*) |
|
63
63
|
|
64
|
+
Scenario: With humanize_name option
|
65
|
+
Given a configuration of:
|
66
|
+
"""
|
67
|
+
ActiveAdmin.register Post do
|
68
|
+
csv humanize_name: false do
|
69
|
+
column :title
|
70
|
+
column :body
|
71
|
+
end
|
72
|
+
end
|
73
|
+
"""
|
74
|
+
And a post with the title "Hello, World" exists
|
75
|
+
When I am on the index page for posts
|
76
|
+
And I follow "CSV"
|
77
|
+
And I should download a CSV file with "," separator for "posts" containing:
|
78
|
+
| title | body |
|
79
|
+
| Hello, World | (.*) |
|
80
|
+
|
64
81
|
Scenario: With CSV option customization
|
65
82
|
Given a configuration of:
|
66
83
|
"""
|
@@ -32,6 +32,9 @@ Feature: Index Scoping
|
|
32
32
|
"""
|
33
33
|
Then I should see the scope with label "Neat scope"
|
34
34
|
And I should see 3 posts in the table
|
35
|
+
When I follow "Neat scope"
|
36
|
+
And I should see 3 posts in the table
|
37
|
+
And I should see the current scope with label "Neat scope"
|
35
38
|
|
36
39
|
Scenario: Viewing resources with one scope as the default
|
37
40
|
Given 3 posts exist
|
@@ -70,6 +73,7 @@ Feature: Index Scoping
|
|
70
73
|
And I press "Filter"
|
71
74
|
Then I should see the scope "All" selected
|
72
75
|
|
76
|
+
|
73
77
|
Scenario: Viewing resources with a scope but scope_count turned off
|
74
78
|
Given 3 posts exist
|
75
79
|
And an index configuration of:
|
@@ -113,6 +117,7 @@ Feature: Index Scoping
|
|
113
117
|
And I should see the scope "Published" with the count 3
|
114
118
|
When I follow "Published"
|
115
119
|
Then I should see the scope "Published" selected
|
120
|
+
Then I should see the current scope with label "Published"
|
116
121
|
And I should see 3 posts in the table
|
117
122
|
|
118
123
|
Scenario: Viewing resources when scoping and filtering
|
@@ -137,6 +142,7 @@ Feature: Index Scoping
|
|
137
142
|
|
138
143
|
When I follow "Published"
|
139
144
|
Then I should see the scope "Published" selected
|
145
|
+
And I should see the current scope with label "Published"
|
140
146
|
And I should see the scope "All" with the count 6
|
141
147
|
And I should see the scope "Published" with the count 3
|
142
148
|
And I should see 3 posts in the table
|
@@ -196,6 +202,7 @@ Feature: Index Scoping
|
|
196
202
|
Then I should see the scope "Tomorrow" selected
|
197
203
|
And I should see the scope "Today" not selected
|
198
204
|
And I should see a link to "Today"
|
205
|
+
And I should see the current scope with label "Tomorrow"
|
199
206
|
|
200
207
|
Scenario: Viewing resources with scopes when scoping to user
|
201
208
|
Given 2 posts written by "Daft Punk" exist
|
@@ -236,6 +243,9 @@ Feature: Index Scoping
|
|
236
243
|
scope :published do |posts|
|
237
244
|
posts.where("published_date IS NOT NULL")
|
238
245
|
end
|
246
|
+
scope :single do |posts|
|
247
|
+
posts.page(1).per(1)
|
248
|
+
end
|
239
249
|
|
240
250
|
index do
|
241
251
|
column :author_id
|
@@ -253,8 +263,12 @@ Feature: Index Scoping
|
|
253
263
|
"""
|
254
264
|
Then I should see the scope "All" with the count 2
|
255
265
|
And I should see the scope "Published" with the count 1
|
266
|
+
And I should see the scope "Single" with the count 1
|
256
267
|
And I should see 2 posts in the table
|
257
268
|
|
269
|
+
When I follow "Single"
|
270
|
+
Then I should see 1 posts in the table
|
271
|
+
|
258
272
|
When I follow "Published"
|
259
273
|
Then I should see the scope "Published" selected
|
260
274
|
And I should see the scope "All" with the count 2
|
@@ -268,3 +282,4 @@ Feature: Index Scoping
|
|
268
282
|
And I should see the scope "All" with the count 1
|
269
283
|
And I should see the scope "Published" with the count 1
|
270
284
|
And I should see 1 posts in the table
|
285
|
+
And I should see the current scope with label "Published"
|
@@ -18,8 +18,10 @@ Feature: Registering Assets
|
|
18
18
|
Scenario: Registering a CSS file
|
19
19
|
Given a configuration of:
|
20
20
|
"""
|
21
|
-
|
22
|
-
|
21
|
+
ActiveSupport::Deprecation.silence do
|
22
|
+
ActiveAdmin.application.register_stylesheet "some-random-css.css", media: :print
|
23
|
+
ActiveAdmin.register Post
|
24
|
+
end
|
23
25
|
"""
|
24
26
|
When I am on the index page for posts
|
25
27
|
Then I should see the css file "some-random-css" of media "print"
|
@@ -27,8 +29,10 @@ Feature: Registering Assets
|
|
27
29
|
Scenario: Registering a JS file
|
28
30
|
Given a configuration of:
|
29
31
|
"""
|
30
|
-
|
31
|
-
|
32
|
+
ActiveSupport::Deprecation.silence do
|
33
|
+
ActiveAdmin.application.register_javascript "some-random-js.js"
|
34
|
+
ActiveAdmin.register Post
|
35
|
+
end
|
32
36
|
"""
|
33
37
|
When I am on the index page for posts
|
34
38
|
Then I should see the js file "some-random-js"
|
@@ -0,0 +1,54 @@
|
|
1
|
+
Feature: Show - Attributes Table Title
|
2
|
+
|
3
|
+
Modifying the title of the panel wrapping the attributes table
|
4
|
+
|
5
|
+
Background:
|
6
|
+
Given a post with the title "Hello World" written by "Jane Doe" exists
|
7
|
+
|
8
|
+
Scenario: Set a string as the title
|
9
|
+
Given a show configuration of:
|
10
|
+
"""
|
11
|
+
ActiveAdmin.register Post do
|
12
|
+
show do
|
13
|
+
attributes_table title: "Title From String"
|
14
|
+
end
|
15
|
+
end
|
16
|
+
"""
|
17
|
+
Then I should see the panel title "Title From String"
|
18
|
+
And I should see the attributes table
|
19
|
+
|
20
|
+
Scenario: Set a method to be called on the resource as the title
|
21
|
+
Given a show configuration of:
|
22
|
+
"""
|
23
|
+
ActiveAdmin.register Post do
|
24
|
+
show do
|
25
|
+
attributes_table title: :title
|
26
|
+
end
|
27
|
+
end
|
28
|
+
"""
|
29
|
+
Then I should see the panel title "Hello World"
|
30
|
+
And I should see the attributes table
|
31
|
+
|
32
|
+
Scenario: Set a proc as the title
|
33
|
+
Given a show configuration of:
|
34
|
+
"""
|
35
|
+
ActiveAdmin.register Post do
|
36
|
+
show do
|
37
|
+
attributes_table title: proc{ |post| "Title: #{post.title}" }
|
38
|
+
end
|
39
|
+
end
|
40
|
+
"""
|
41
|
+
Then I should see the panel title "Title: Hello World"
|
42
|
+
And I should see the attributes table
|
43
|
+
|
44
|
+
Scenario: Should not accept other keys
|
45
|
+
Given a show configuration of:
|
46
|
+
"""
|
47
|
+
ActiveAdmin.register Post do
|
48
|
+
show do
|
49
|
+
attributes_table foo: "Title From String"
|
50
|
+
end
|
51
|
+
end
|
52
|
+
"""
|
53
|
+
Then I should not see the panel title "Title From String"
|
54
|
+
And I should see the attributes table
|
data/features/show/tabs.feature
CHANGED
@@ -5,6 +5,7 @@ Feature: Show - Tabs
|
|
5
5
|
Background:
|
6
6
|
Given a post with the title "Hello World" written by "Jane Doe" exists
|
7
7
|
|
8
|
+
@javascript
|
8
9
|
Scenario: Set a method to be called on the resource as the title
|
9
10
|
Given a show configuration of:
|
10
11
|
"""
|
@@ -15,13 +16,18 @@ Feature: Show - Tabs
|
|
15
16
|
span "tab 1"
|
16
17
|
end
|
17
18
|
|
18
|
-
tab :
|
19
|
+
tab 'テスト', id: :test_non_ascii do
|
19
20
|
span "tab 2"
|
20
21
|
end
|
21
22
|
end
|
22
23
|
end
|
23
24
|
end
|
24
25
|
"""
|
25
|
-
|
26
|
-
|
27
|
-
|
26
|
+
|
27
|
+
Then show me the page
|
28
|
+
Then I should see two tabs "Overview" and "テスト"
|
29
|
+
And I should see the element "#overview span"
|
30
|
+
And I should not see the element "#test_non_ascii span"
|
31
|
+
Then I follow "テスト"
|
32
|
+
And I should see the element "#test_non_ascii span"
|
33
|
+
And I should not see the element "#overview span"
|