activeadmin 0.4.4 → 0.5.0.pre
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.
- data/.gitignore +3 -0
- data/.travis.yml +5 -0
- data/CHANGELOG.md +50 -0
- data/CONTRIBUTING.md +2 -4
- data/Gemfile +10 -4
- data/Guardfile +0 -1
- data/LICENSE +1 -1
- data/README.rdoc +19 -8
- data/Rakefile +10 -1
- data/activeadmin.gemspec +2 -1
- data/app/assets/javascripts/active_admin/application.js +3 -9
- data/app/assets/javascripts/active_admin/base.js +1 -0
- data/app/assets/javascripts/active_admin/components/jquery.aa.checkbox-toggler.js.coffee +64 -0
- data/app/assets/javascripts/active_admin/components/jquery.aa.dropdown-menu.js.coffee +107 -0
- data/app/assets/javascripts/active_admin/components/jquery.aa.popover.js.coffee +100 -0
- data/app/assets/javascripts/active_admin/components/jquery.aa.table-checkbox-toggler.js.coffee +27 -0
- data/app/assets/javascripts/active_admin/lib/namespace.js.coffee +3 -0
- data/app/assets/javascripts/active_admin/pages/application.js.coffee +13 -0
- data/app/assets/javascripts/active_admin/pages/batch_actions.js.coffee +26 -0
- data/app/assets/stylesheets/active_admin/_base.css.scss +32 -26
- data/app/assets/stylesheets/active_admin/_forms.css.scss +12 -5
- data/app/assets/stylesheets/active_admin/_header.css.scss +1 -2
- data/app/assets/stylesheets/active_admin/_typography.css.scss +1 -1
- data/app/assets/stylesheets/active_admin/components/_batch_actions.css.scss +11 -0
- data/app/assets/stylesheets/active_admin/components/_buttons.scss +1 -2
- data/app/assets/stylesheets/active_admin/components/_dropdown_menu.scss +151 -0
- data/app/assets/stylesheets/active_admin/components/_flash_messages.css.scss +3 -3
- data/app/assets/stylesheets/active_admin/components/_popovers.css.scss +123 -0
- data/app/assets/stylesheets/active_admin/components/_status_tags.scss +1 -1
- data/app/assets/stylesheets/active_admin/components/_table_tools.css.scss +20 -27
- data/app/assets/stylesheets/active_admin/components/_tables.css.scss +1 -0
- data/app/assets/stylesheets/active_admin/mixins/_buttons.css.scss +38 -36
- data/app/assets/stylesheets/active_admin/mixins/_gradients.css.scss +5 -5
- data/app/assets/stylesheets/active_admin/mixins/_icons.css.scss +7 -3
- data/app/assets/stylesheets/active_admin/mixins/_variables.css.scss +19 -17
- data/app/assets/stylesheets/active_admin/pages/_logged_out.scss +2 -2
- data/app/assets/stylesheets/active_admin/print.css.scss +290 -0
- data/app/views/active_admin/dashboard/index.html.arb +1 -1
- data/app/views/active_admin/devise/passwords/edit.html.erb +17 -14
- data/app/views/active_admin/devise/passwords/new.html.erb +4 -4
- data/app/views/active_admin/devise/sessions/new.html.erb +6 -6
- data/app/views/active_admin/devise/shared/_links.erb +6 -6
- data/app/views/active_admin/page/index.html.arb +1 -1
- data/app/views/active_admin/resource/edit.html.arb +1 -1
- data/app/views/active_admin/resource/index.csv.erb +1 -1
- data/app/views/active_admin/resource/index.html.arb +1 -1
- data/app/views/active_admin/resource/new.html.arb +1 -1
- data/app/views/active_admin/resource/show.html.arb +1 -1
- data/app/views/layouts/active_admin.html.arb +1 -1
- data/app/views/layouts/active_admin_logged_out.html.erb +2 -2
- data/cucumber.yml +1 -1
- data/docs/0-installation.md +10 -1
- data/docs/{9-custom-pages.md → 10-custom-pages.md} +0 -0
- data/docs/2-resource-customization.md +19 -1
- data/docs/3-index-pages.md +31 -0
- data/docs/4-csv-format.md +9 -0
- data/docs/6-show-screens.md +1 -1
- data/docs/9-batch-actions.md +161 -0
- data/features/dashboard.feature +31 -8
- data/features/development_reloading.feature +1 -1
- data/features/edit_page.feature +3 -3
- data/features/i18n.feature +35 -0
- data/features/index/batch_actions.feature +98 -0
- data/features/index/filters.feature +26 -0
- data/features/index/format_as_csv.feature +35 -0
- data/features/index/index_as_table.feature +30 -2
- data/features/index/index_blank_slate.feature +8 -3
- data/features/index/index_scopes.feature +130 -24
- data/features/index/page_title.feature +12 -0
- data/features/new_page.feature +3 -3
- data/features/registering_pages.feature +61 -0
- data/features/root_to.feature +17 -0
- data/features/show/default_content.feature +1 -1
- data/features/show/page_title.feature +14 -0
- data/features/sidebar_sections.feature +26 -0
- data/features/site_title.feature +1 -1
- data/features/specifying_actions.feature +7 -6
- data/features/step_definitions/action_link_steps.rb +1 -1
- data/features/step_definitions/additional_web_steps.rb +7 -1
- data/features/step_definitions/batch_action_steps.rb +94 -0
- data/features/step_definitions/configuration_steps.rb +30 -8
- data/features/step_definitions/factory_steps.rb +12 -0
- data/features/step_definitions/format_steps.rb +6 -2
- data/features/step_definitions/i18n_steps.rb +3 -0
- data/features/step_definitions/table_steps.rb +114 -0
- data/features/step_definitions/user_steps.rb +30 -4
- data/features/support/env.rb +54 -15
- data/features/support/paths.rb +2 -0
- data/features/users/logging_in.feature +1 -1
- data/features/users/logging_out.feature +2 -1
- data/features/users/resetting_password.feature +34 -0
- data/lib/active_admin.rb +46 -7
- data/lib/active_admin/application.rb +30 -15
- data/lib/active_admin/base_controller/menu.rb +3 -3
- data/lib/active_admin/batch_actions.rb +17 -0
- data/lib/active_admin/batch_actions/controller.rb +25 -0
- data/lib/active_admin/batch_actions/resource_extension.rb +126 -0
- data/lib/active_admin/batch_actions/views/batch_action_form.rb +35 -0
- data/lib/active_admin/batch_actions/views/batch_action_popover.rb +28 -0
- data/lib/active_admin/batch_actions/views/batch_action_selector.rb +63 -0
- data/lib/active_admin/batch_actions/views/selection_cells.rb +37 -0
- data/lib/active_admin/comments.rb +5 -2
- data/lib/active_admin/comments/comment.rb +4 -3
- data/lib/active_admin/comments/views/active_admin_comments.rb +5 -5
- data/lib/active_admin/component.rb +1 -18
- data/lib/active_admin/csv_builder.rb +8 -3
- data/lib/active_admin/dashboards.rb +21 -4
- data/lib/active_admin/dashboards/dashboard_controller.rb +1 -5
- data/lib/active_admin/dependency_checker.rb +1 -1
- data/lib/active_admin/dsl.rb +61 -4
- data/lib/active_admin/engine.rb +1 -1
- data/lib/active_admin/filters.rb +8 -0
- data/lib/active_admin/filters/dsl.rb +12 -0
- data/lib/active_admin/filters/forms.rb +93 -0
- data/lib/active_admin/filters/resource_extension.rb +92 -0
- data/lib/active_admin/form_builder.rb +88 -33
- data/lib/active_admin/helpers/collection.rb +23 -0
- data/lib/active_admin/helpers/optional_display.rb +1 -1
- data/lib/active_admin/inputs/filter_select_input.rb +1 -1
- data/lib/active_admin/locales/bg.yml +37 -1
- data/lib/active_admin/locales/ca.yml +36 -0
- data/lib/active_admin/locales/cs.yml +36 -0
- data/lib/active_admin/locales/da.yml +36 -0
- data/lib/active_admin/locales/de.yml +42 -0
- data/lib/active_admin/locales/en.yml +27 -2
- data/lib/active_admin/locales/es.yml +45 -4
- data/lib/active_admin/locales/fr.yml +22 -0
- data/lib/active_admin/locales/{he_il.yml → he.yml} +37 -2
- data/lib/active_admin/locales/hr.yml +49 -5
- data/lib/active_admin/locales/hu.yml +21 -0
- data/lib/active_admin/locales/it.yml +36 -1
- data/lib/active_admin/locales/ja.yml +36 -0
- data/lib/active_admin/locales/ko.yml +36 -1
- data/lib/active_admin/locales/lv.yml +28 -2
- data/lib/active_admin/locales/nl.yml +42 -1
- data/lib/active_admin/locales/no-NB.yml +15 -0
- data/lib/active_admin/locales/pl.yml +45 -1
- data/lib/active_admin/locales/pt-BR.yml +36 -1
- data/lib/active_admin/locales/ro.yml +67 -0
- data/lib/active_admin/locales/ru.yml +43 -3
- data/lib/active_admin/locales/sv-SE.yml +41 -1
- data/lib/active_admin/locales/tr.yml +80 -0
- data/lib/active_admin/locales/vi.yml +80 -0
- data/lib/active_admin/locales/{zh_cn.yml → zh-CN.yml} +42 -2
- data/lib/active_admin/locales/zh-TW.yml +36 -1
- data/lib/active_admin/menu.rb +55 -30
- data/lib/active_admin/menu_builder.rb +65 -0
- data/lib/active_admin/menu_item.rb +55 -14
- data/lib/active_admin/namespace.rb +25 -55
- data/lib/active_admin/page.rb +15 -10
- data/lib/active_admin/resource.rb +9 -0
- data/lib/active_admin/resource/action_items.rb +4 -4
- data/lib/active_admin/resource/controllers.rb +1 -1
- data/lib/active_admin/resource/menu.rb +19 -21
- data/lib/active_admin/resource/naming.rb +55 -45
- data/lib/active_admin/resource/sidebars.rb +0 -13
- data/lib/active_admin/resource_collection.rb +10 -10
- data/lib/active_admin/resource_controller.rb +5 -5
- data/lib/active_admin/resource_controller/actions.rb +2 -0
- data/lib/active_admin/resource_controller/collection.rb +13 -4
- data/lib/active_admin/resource_dsl.rb +12 -6
- data/lib/active_admin/router.rb +27 -8
- data/lib/active_admin/scope.rb +1 -0
- data/lib/active_admin/sidebar_section.rb +2 -6
- data/lib/active_admin/version.rb +1 -1
- data/lib/active_admin/view_factory.rb +18 -13
- data/lib/active_admin/view_helpers.rb +0 -2
- data/lib/active_admin/view_helpers/auto_link_helper.rb +2 -1
- data/lib/active_admin/view_helpers/breadcrumb_helper.rb +24 -25
- data/lib/active_admin/view_helpers/display_helper.rb +1 -1
- data/lib/active_admin/view_helpers/fields_for.rb +44 -0
- data/lib/active_admin/view_helpers/form_helper.rb +6 -0
- data/lib/active_admin/view_helpers/view_factory_helper.rb +1 -1
- data/lib/active_admin/views/components/action_list_popover.rb +29 -0
- data/lib/active_admin/views/components/attributes_table.rb +6 -2
- data/lib/active_admin/views/components/dropdown_menu.rb +73 -0
- data/lib/active_admin/views/components/paginated_collection.rb +13 -14
- data/lib/active_admin/views/components/popover.rb +27 -0
- data/lib/active_admin/views/components/scopes.rb +8 -13
- data/lib/active_admin/views/components/sidebar_section.rb +1 -1
- data/lib/active_admin/views/components/site_title.rb +55 -0
- data/lib/active_admin/views/components/status_tag.rb +4 -4
- data/lib/active_admin/views/components/table_for.rb +18 -18
- data/lib/active_admin/views/dashboard_section_renderer.rb +1 -1
- data/lib/active_admin/views/footer.rb +18 -0
- data/lib/active_admin/views/header.rb +31 -0
- data/lib/active_admin/views/index_as_block.rb +3 -0
- data/lib/active_admin/views/index_as_blog.rb +4 -0
- data/lib/active_admin/views/index_as_grid.rb +2 -0
- data/lib/active_admin/views/index_as_table.rb +19 -6
- data/lib/active_admin/views/pages/base.rb +14 -48
- data/lib/active_admin/views/pages/form.rb +3 -3
- data/lib/active_admin/views/pages/index.rb +56 -24
- data/lib/active_admin/views/pages/layout.rb +2 -2
- data/lib/active_admin/views/pages/page.rb +10 -4
- data/lib/active_admin/views/pages/show.rb +11 -8
- data/lib/active_admin/views/tabbed_navigation.rb +3 -3
- data/lib/active_admin/views/title_bar.rb +50 -0
- data/lib/active_admin/views/utility_nav.rb +41 -0
- data/lib/generators/active_admin/assets/assets_generator.rb +1 -1
- data/lib/generators/active_admin/assets/templates/3.0/active_admin.js +1 -0
- data/lib/generators/active_admin/assets/templates/3.1/active_admin.css.scss +26 -3
- data/lib/generators/active_admin/devise/devise_generator.rb +2 -2
- data/lib/generators/active_admin/install/install_generator.rb +10 -10
- data/lib/generators/active_admin/install/templates/active_admin.rb.erb +21 -1
- data/lib/generators/active_admin/install/templates/admin_user.rb.erb +20 -0
- data/lib/generators/active_admin/install/templates/dashboard.rb +33 -0
- data/lib/generators/active_admin/resource/templates/admin.rb +1 -1
- data/spec/integration/memory_spec.rb +1 -11
- data/spec/javascripts/coffeescripts/jquery.aa.checkbox-toggler-spec.js.coffee +50 -0
- data/spec/javascripts/coffeescripts/jquery.aa.popover-spec.js.coffee +82 -0
- data/spec/javascripts/coffeescripts/jquery.aa.table-checkbox-toggler-spec.js.coffee +34 -0
- data/spec/javascripts/compiled/jquery.aa.checkbox-toggler-spec.js +60 -0
- data/spec/javascripts/compiled/jquery.aa.popover-spec.js +106 -0
- data/spec/javascripts/compiled/jquery.aa.table-checkbox-toggler-spec.js +37 -0
- data/spec/javascripts/fixtures/checkboxes.html +9 -0
- data/spec/javascripts/fixtures/table_checkboxes.html +17 -0
- data/spec/javascripts/helpers/SpecHelper.js +3 -0
- data/spec/javascripts/helpers/vendor/jasmine-fixture-0.0.5.js +108 -0
- data/spec/javascripts/helpers/vendor/jasmine-jquery.js +288 -0
- data/spec/javascripts/helpers/vendor/sinon-1.2.0.js +2915 -0
- data/spec/javascripts/support/jasmine.yml +74 -0
- data/spec/javascripts/support/jasmine_config.rb +23 -0
- data/spec/javascripts/support/jasmine_runner.rb +32 -0
- data/spec/javascripts/support/jquery-ui-1.8.16.custom.min.js +34 -0
- data/spec/javascripts/support/jquery.min.js +4 -0
- data/spec/spec_helper.rb +13 -13
- data/spec/spec_helper_without_rails.rb +2 -3
- data/spec/support/detect_rails_version.rb +16 -10
- data/spec/support/rails_template.rb +13 -1
- data/spec/support/templates/admin/stores.rb +1 -0
- data/spec/support/templates/en.yml +6 -0
- data/spec/unit/action_builder_spec.rb +38 -0
- data/spec/unit/application_spec.rb +12 -16
- data/spec/unit/base_controller_shared_examples.rb +3 -6
- data/spec/unit/batch_actions/resource_spec.rb +91 -0
- data/spec/unit/batch_actions/settings_spec.rb +61 -0
- data/spec/unit/breadcrumbs_spec.rb +33 -0
- data/spec/unit/comments_spec.rb +6 -0
- data/spec/unit/config_shared_examples.rb +17 -64
- data/spec/unit/csv_builder_spec.rb +12 -2
- data/spec/unit/dashboard_controller_spec.rb +11 -5
- data/spec/unit/dsl_include_spec.rb +20 -0
- data/spec/unit/{filter_form_builder_spec.rb → filters/filter_form_builder_spec.rb} +10 -7
- data/spec/unit/filters/resource_spec.rb +60 -0
- data/spec/unit/form_builder_spec.rb +180 -28
- data/spec/unit/helpers/collection_spec.rb +65 -0
- data/spec/unit/menu_item_spec.rb +48 -53
- data/spec/unit/menu_spec.rb +46 -32
- data/spec/unit/namespace/register_page_spec.rb +0 -6
- data/spec/unit/namespace/register_resource_spec.rb +1 -8
- data/spec/unit/namespace_spec.rb +8 -2
- data/spec/unit/page_spec.rb +20 -8
- data/spec/unit/resource/naming_spec.rb +27 -26
- data/spec/unit/resource/sidebars_spec.rb +0 -7
- data/spec/unit/resource_collection_spec.rb +11 -11
- data/spec/unit/resource_controller/collection_spec.rb +23 -1
- data/spec/unit/resource_controller/sidebars_spec.rb +46 -0
- data/spec/unit/resource_controller_spec.rb +43 -0
- data/spec/unit/resource_registration_spec.rb +2 -13
- data/spec/unit/resource_spec.rb +0 -42
- data/spec/unit/routing_spec.rb +60 -14
- data/spec/unit/scope_spec.rb +7 -0
- data/spec/unit/view_factory_spec.rb +9 -6
- data/spec/unit/view_helpers/fields_for_spec.rb +41 -0
- data/spec/unit/view_helpers/form_helper_spec.rb +18 -0
- data/spec/unit/views/components/action_list_popover_spec.rb +30 -0
- data/spec/unit/views/components/attributes_table_spec.rb +32 -20
- data/spec/unit/views/components/batch_action_popover_spec.rb +33 -0
- data/spec/unit/views/components/blank_slate_spec.rb +5 -3
- data/spec/unit/views/components/columns_spec.rb +32 -22
- data/spec/unit/views/components/paginated_collection_spec.rb +54 -12
- data/spec/unit/views/components/panel_spec.rb +11 -6
- data/spec/unit/views/components/popover_spec.rb +33 -0
- data/spec/unit/views/components/sidebar_section_spec.rb +6 -6
- data/spec/unit/views/components/site_title_spec.rb +78 -0
- data/spec/unit/views/components/status_tag_spec.rb +17 -10
- data/spec/unit/views/components/table_for_spec.rb +37 -17
- data/spec/unit/views/pages/layout_spec.rb +51 -10
- data/spec/unit/views/tabbed_navigation_spec.rb +44 -23
- data/tasks/js.rake +32 -0
- data/tasks/test.rake +1 -1
- metadata +233 -200
- data/lib/active_admin/arbre.rb +0 -22
- data/lib/active_admin/arbre/builder.rb +0 -125
- data/lib/active_admin/arbre/context.rb +0 -45
- data/lib/active_admin/arbre/html/attributes.rb +0 -20
- data/lib/active_admin/arbre/html/class_list.rb +0 -24
- data/lib/active_admin/arbre/html/collection.rb +0 -27
- data/lib/active_admin/arbre/html/document.rb +0 -42
- data/lib/active_admin/arbre/html/element.rb +0 -161
- data/lib/active_admin/arbre/html/html5_elements.rb +0 -47
- data/lib/active_admin/arbre/html/tag.rb +0 -145
- data/lib/active_admin/arbre/html/text_node.rb +0 -35
- data/lib/active_admin/filter_form_builder.rb +0 -53
- data/lib/active_admin/renderer.rb +0 -87
- data/lib/active_admin/resource_controller/filters.rb +0 -58
- data/lib/active_admin/stylesheets/active_admin/mixins/_utilities.scss +0 -0
- data/lib/active_admin/view_helpers/filter_form_helper.rb +0 -36
- data/lib/active_admin/view_helpers/renderer_helper.rb +0 -29
- data/lib/active_admin/views/header_renderer.rb +0 -82
- data/lib/generators/active_admin/assets/templates/dashboards.rb +0 -36
- data/lib/generators/active_admin/install/templates/dashboards.rb +0 -44
- data/spec/unit/arbre/context_spec.rb +0 -35
- data/spec/unit/arbre/html/element_finder_methods_spec.rb +0 -110
- data/spec/unit/arbre/html/element_spec.rb +0 -236
- data/spec/unit/arbre/html/tag_attributes_spec.rb +0 -61
- data/spec/unit/arbre/html/tag_spec.rb +0 -63
- data/spec/unit/arbre/html_spec.rb +0 -228
- data/spec/unit/renderer_spec.rb +0 -126
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
insert_tag view_factory.dashboard_page
|
@@ -1,16 +1,19 @@
|
|
1
|
-
<
|
1
|
+
<div id="login">
|
2
|
+
<%= content_tag :h2, t('active_admin.devise.change_password.title') %>
|
2
3
|
|
3
|
-
<%=
|
4
|
-
|
5
|
-
|
4
|
+
<%= active_admin_form_for(resource, :as => resource_name, :url => password_path(resource_name), :html => { :method => :put }) do |f| %>
|
5
|
+
<%= devise_error_messages! %>
|
6
|
+
<%
|
7
|
+
f.inputs do
|
8
|
+
f.input :password
|
9
|
+
f.input :password_confirmation
|
10
|
+
end %>
|
11
|
+
<%=
|
12
|
+
f.actions do
|
13
|
+
f.action :submit, :label => t('active_admin.devise.change_password.submit'), :button_html => { :value => t('active_admin.devise.change_password.submit') }
|
14
|
+
f.input :reset_password_token, :as => :hidden, :input_html => { :value => resource.reset_password_token }
|
15
|
+
end %>
|
16
|
+
<% end %>
|
6
17
|
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
<p><%= f.label :password_confirmation %><br />
|
11
|
-
<%= f.password_field :password_confirmation %></p>
|
12
|
-
|
13
|
-
<p><%= f.submit "Change my password" %></p>
|
14
|
-
<% end %>
|
15
|
-
|
16
|
-
<%= render :partial => "active_admin/devise/shared/links" %>
|
18
|
+
<%= render 'active_admin/devise/shared/links' %>
|
19
|
+
</div>
|
@@ -1,12 +1,12 @@
|
|
1
1
|
<div id="login">
|
2
|
-
|
2
|
+
<%= content_tag :h2, t('active_admin.devise.reset_password.title') %>
|
3
3
|
|
4
|
-
<%= active_admin_form_for(resource, :as => resource_name, :url => password_path(resource_name), :html => { :method => :post }) do |f|
|
4
|
+
<%= active_admin_form_for(resource, :as => resource_name, :url => password_path(resource_name), :html => { :method => :post }) do |f|
|
5
5
|
f.inputs do
|
6
6
|
f.input :email
|
7
7
|
end
|
8
|
-
f.
|
9
|
-
f.
|
8
|
+
f.actions do
|
9
|
+
f.action :submit, :label => t('active_admin.devise.reset_password.submit'), :button_html => { :value => t('active_admin.devise.reset_password.submit') }
|
10
10
|
end
|
11
11
|
end %>
|
12
12
|
|
@@ -1,15 +1,15 @@
|
|
1
1
|
<div id="login">
|
2
|
-
<h2><%= title "#{active_admin_application.site_title}
|
2
|
+
<h2><%= title "#{render_or_call_method_or_proc_on(self, active_admin_application.site_title)} #{t('active_admin.devise.login.title')}" %></h2>
|
3
3
|
|
4
4
|
<% scope = Devise::Mapping.find_scope!(resource_name) %>
|
5
|
-
<%= active_admin_form_for(resource, :as => resource_name, :url => send(:"#{scope}_session_path"), :html => { :id => "session_new" }) do |f|
|
5
|
+
<%= active_admin_form_for(resource, :as => resource_name, :url => send(:"#{scope}_session_path"), :html => { :id => "session_new" }) do |f|
|
6
6
|
f.inputs do
|
7
|
-
|
7
|
+
resource.class.authentication_keys.each { |key| f.input key, :input_html => {:autofocus => true}}
|
8
8
|
f.input :password
|
9
|
-
f.input :remember_me, :as => :boolean, :if => false #devise_mapping.rememberable? }
|
9
|
+
f.input :remember_me, :label => t('active_admin.devise.login.remember_me'), :as => :boolean, :if => false #devise_mapping.rememberable? }
|
10
10
|
end
|
11
|
-
f.
|
12
|
-
f.
|
11
|
+
f.actions do
|
12
|
+
f.action :submit, :label => t('active_admin.devise.login.submit'), :button_html => { :value => t('active_admin.devise.login.submit') }
|
13
13
|
end
|
14
14
|
end
|
15
15
|
%>
|
@@ -1,20 +1,20 @@
|
|
1
1
|
<%- if controller_name != 'sessions' %>
|
2
2
|
<% scope = Devise::Mapping.find_scope!(resource_name) %>
|
3
|
-
<%= link_to
|
3
|
+
<%= link_to t('active_admin.devise.links.sign_in'), send(:"new_#{scope}_session_path") %><br />
|
4
4
|
<% end -%>
|
5
5
|
|
6
6
|
<%- if devise_mapping.registerable? && controller_name != 'registrations' %>
|
7
|
-
<%= link_to
|
7
|
+
<%= link_to t('active_admin.devise.links.sign_up'), new_registration_path(resource_name) %><br />
|
8
8
|
<% end -%>
|
9
9
|
|
10
10
|
<%- if devise_mapping.recoverable? && controller_name != 'passwords' %>
|
11
|
-
<%= link_to
|
11
|
+
<%= link_to t('active_admin.devise.links.forgot_your_password'), new_password_path(resource_name) %><br />
|
12
12
|
<% end -%>
|
13
13
|
|
14
14
|
<%- if devise_mapping.confirmable? && controller_name != 'confirmations' %>
|
15
|
-
<%= link_to
|
15
|
+
<%= link_to t('active_admin.devise.links.resend_confirmation_instructions'), new_confirmation_path(resource_name) %><br />
|
16
16
|
<% end -%>
|
17
17
|
|
18
18
|
<%- if devise_mapping.lockable? && resource_class.unlock_strategy_enabled?(:email) && controller_name != 'unlocks' %>
|
19
|
-
<%= link_to
|
20
|
-
<% end -%>
|
19
|
+
<%= link_to t('active_admin.devise.links.resend_unlock_instructions'), new_unlock_path(resource_name) %><br />
|
20
|
+
<% end -%>
|
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
insert_tag active_admin_application.view_factory["page"]
|
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
insert_tag renderer_for(:edit)
|
@@ -7,7 +7,7 @@
|
|
7
7
|
CSV
|
8
8
|
end
|
9
9
|
|
10
|
-
csv_output = csv_lib.generate do |csv|
|
10
|
+
csv_output = csv_lib.generate(:col_sep => active_admin_config.csv_builder.column_separator || active_admin_application.csv_column_separator) do |csv|
|
11
11
|
columns = active_admin_config.csv_builder.columns
|
12
12
|
csv << columns.map(&:name)
|
13
13
|
collection.each do |resource|
|
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
insert_tag renderer_for(:index)
|
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
insert_tag renderer_for(:new)
|
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
insert_tag renderer_for(:show)
|
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
insert_tag view_factory.layout
|
@@ -3,7 +3,7 @@
|
|
3
3
|
<head>
|
4
4
|
<meta http-equiv="Content-type" content="text/html; charset=utf-8">
|
5
5
|
|
6
|
-
<title><%= [@page_title,
|
6
|
+
<title><%= [@page_title, render_or_call_method_or_proc_on(self, ActiveAdmin.application.site_title)].compact.join(" | ") %></title>
|
7
7
|
|
8
8
|
<% ActiveAdmin.application.stylesheets.each do |style| %>
|
9
9
|
<%= stylesheet_link_tag style.path, style.options %>
|
@@ -14,7 +14,7 @@
|
|
14
14
|
|
15
15
|
<%= csrf_meta_tag %>
|
16
16
|
</head>
|
17
|
-
<body class="logged_out <%= controller.action_name %>">
|
17
|
+
<body class="active_admin logged_out <%= controller.action_name %>">
|
18
18
|
<div id="wrapper">
|
19
19
|
|
20
20
|
<div id="content_wrapper">
|
data/cucumber.yml
CHANGED
@@ -1,3 +1,3 @@
|
|
1
|
-
default: --format 'progress' --require features/support/env.rb --require features/step_definitions features --tags ~@requires-reloading
|
1
|
+
default: --format 'progress' --require features/support/env.rb --require features/step_definitions features --tags ~@requires-reloading --tags ~@wip
|
2
2
|
wip: --format 'progress' --require features/support/env.rb --require features/step_definitions features --tags @wip:3 --wip features
|
3
3
|
class-reloading: RAILS_ENV=cucumber_with_reloading --format 'progress' --require features/support/env.rb --require features/step_definitions features --tags @requires-reloading
|
data/docs/0-installation.md
CHANGED
@@ -12,7 +12,6 @@ MetaSearch and sass-rails:
|
|
12
12
|
# Gemfile in Rails >= 3.1
|
13
13
|
gem 'activeadmin'
|
14
14
|
gem 'sass-rails'
|
15
|
-
gem "meta_search", '>= 1.1.0.pre'
|
16
15
|
|
17
16
|
## Running the Generator
|
18
17
|
|
@@ -48,3 +47,13 @@ run the assets generator:
|
|
48
47
|
|
49
48
|
This command makes sure you have all the latest assets and your installation is
|
50
49
|
up to date. Each time you upgrade Active Admin, you should run this command.
|
50
|
+
|
51
|
+
## will_paginate compatibility
|
52
|
+
|
53
|
+
If you use `will_paginate` in your app, you need to configure an initializer for
|
54
|
+
Kaminari to avoid conflicts. Put this in `config/initializers/kaminari.rb`
|
55
|
+
|
56
|
+
|
57
|
+
Kaminari.configure do |config|
|
58
|
+
config.page_method_name = :per_page_kaminari
|
59
|
+
end
|
File without changes
|
@@ -35,7 +35,8 @@ the resource from being displayed in the global navigation, pass `false` to the
|
|
35
35
|
|
36
36
|
The menu method accepts a hash with the following options:
|
37
37
|
|
38
|
-
* `:label` - The string label to display in the menu
|
38
|
+
* `:label` - The string or proc label to display in the menu. If it's a proc, it
|
39
|
+
will be called each time the menu is rendered.
|
39
40
|
* `:parent` - The string label of the parent to set for this menu
|
40
41
|
* `:if` - A block or a symbol of a method to call to decide if the menu item
|
41
42
|
should be displayed
|
@@ -51,6 +52,13 @@ To change the name of the label in the menu:
|
|
51
52
|
|
52
53
|
By default the menu uses a pluralized version of your resource name.
|
53
54
|
|
55
|
+
If you wish to translate your label at runtime, store the label as a proc
|
56
|
+
instead of a string. The proc will be called each time the menu is rendered.
|
57
|
+
|
58
|
+
ActiveAdmin.register Post do
|
59
|
+
menu :label => proc{ I18n.t("mypost") }
|
60
|
+
end
|
61
|
+
|
54
62
|
### Drop Down Menus
|
55
63
|
|
56
64
|
In many cases, a single level navigation will not be enough for the
|
@@ -125,3 +133,13 @@ The only requirement is that your method returns an instance of ActiveRecord::Re
|
|
125
133
|
scope_to :current_user, :association_method => :managed_ads
|
126
134
|
end
|
127
135
|
|
136
|
+
In case you just need to customize the query independently of the current user, you can
|
137
|
+
override the `scoped_collection` method on the controller:
|
138
|
+
|
139
|
+
ActiveAdmin.register Post do
|
140
|
+
controller do
|
141
|
+
def scoped_collection
|
142
|
+
Post.includes(:author)
|
143
|
+
end
|
144
|
+
end
|
145
|
+
end
|
data/docs/3-index-pages.md
CHANGED
@@ -54,6 +54,29 @@ You can change the filter label by passing a label option:
|
|
54
54
|
|
55
55
|
By default, Active Admin will try to use ActiveModel I18n to determine the label.
|
56
56
|
|
57
|
+
Filters can also be disabled for a resource, a namespace or the entire
|
58
|
+
application.
|
59
|
+
|
60
|
+
To disable for a specific resource:
|
61
|
+
|
62
|
+
ActiveAdmin.register Post do
|
63
|
+
config.filters = false
|
64
|
+
end
|
65
|
+
|
66
|
+
To disable for a namespace, in the initializer:
|
67
|
+
|
68
|
+
ActiveAdmin.setup do |config|
|
69
|
+
config.namespace :my_namespace do |my_namespace|
|
70
|
+
my_namespace.filters = false
|
71
|
+
end
|
72
|
+
end
|
73
|
+
|
74
|
+
Or to disable for the entire application:
|
75
|
+
|
76
|
+
ActiveAdmin.setup do |config|
|
77
|
+
config.filters = false
|
78
|
+
end
|
79
|
+
|
57
80
|
## Index default sort order
|
58
81
|
|
59
82
|
You can define the default sort order for index pages:
|
@@ -76,3 +99,11 @@ You can also disable pagination:
|
|
76
99
|
ActiveAdmin.register Post do
|
77
100
|
config.paginate = false
|
78
101
|
end
|
102
|
+
|
103
|
+
## Disable CSV, XML and JSON export
|
104
|
+
|
105
|
+
You can remove links to download CSV, XML and JSON exports:
|
106
|
+
|
107
|
+
index :download_links => false do
|
108
|
+
end
|
109
|
+
|
data/docs/4-csv-format.md
CHANGED
@@ -12,3 +12,12 @@ Customizing the CSV format is as simple as customizing the index page.
|
|
12
12
|
column("Author") { |post| post.author.full_name }
|
13
13
|
end
|
14
14
|
end
|
15
|
+
|
16
|
+
You can choose custom separator
|
17
|
+
|
18
|
+
ActiveAdmin.register Post do
|
19
|
+
csv :separator => ';' do
|
20
|
+
column :title
|
21
|
+
column("Author") { |post| post.author.full_name }
|
22
|
+
end
|
23
|
+
end
|
data/docs/6-show-screens.md
CHANGED
@@ -35,7 +35,7 @@ If you'd like to keep the default active_admin look, you can also use "attribute
|
|
35
35
|
end
|
36
36
|
end
|
37
37
|
|
38
|
-
You can customize the title of the object in the show screen. The default is the
|
38
|
+
You can customize the title of the object in the show screen. The default is the resource name and the ID. You can customize as follows:
|
39
39
|
|
40
40
|
show :title => :name do
|
41
41
|
end
|
@@ -0,0 +1,161 @@
|
|
1
|
+
# Index Batch Actions
|
2
|
+
|
3
|
+
By default, the index view includes a way to quickly delete records from the listing,
|
4
|
+
as well as an API for you to easily create your own "Batch Action" for handling a request to operate
|
5
|
+
on multiple records at once.
|
6
|
+
|
7
|
+
## Provided Batch Action
|
8
|
+
|
9
|
+
The `batch_action` API provides one default batch action for use in your application immediately, for deleting
|
10
|
+
multiple records at once. You are able to disable this action if you desire (see below).
|
11
|
+
|
12
|
+
## Creating Your Own Batch Actions
|
13
|
+
|
14
|
+
To create your own batch action, use the `batch_action` method. You are provided an array of record IDs
|
15
|
+
to operate on. The array should contain at least one ID.
|
16
|
+
|
17
|
+
ActiveAdmin.register Post do
|
18
|
+
batch_action :flag do |selection|
|
19
|
+
Post.find(selection).each do |post|
|
20
|
+
post.flag! :hot
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
### Disabling Batch Actions
|
26
|
+
|
27
|
+
You can disable batch actions at the application or namespace level in
|
28
|
+
`config/initializers/active_admin.rb`:
|
29
|
+
|
30
|
+
ActiveAdmin.setup do |config|
|
31
|
+
|
32
|
+
# Disable all batch actions
|
33
|
+
config.batch_actions = false
|
34
|
+
|
35
|
+
|
36
|
+
# Or disable for a given namespace
|
37
|
+
config.namespace :admin do |admin|
|
38
|
+
admin.batch_actions = false
|
39
|
+
end
|
40
|
+
end
|
41
|
+
|
42
|
+
You can disable batch actions on any given resource using:
|
43
|
+
|
44
|
+
ActiveAdmin.register Post do
|
45
|
+
config.batch_actions = false
|
46
|
+
end
|
47
|
+
|
48
|
+
|
49
|
+
### Modifying a Previously Registered Batch Action
|
50
|
+
|
51
|
+
If you wanted to modify the behavior of the provided "Delete" batch action, you can override by:
|
52
|
+
|
53
|
+
ActiveAdmin.register Post do
|
54
|
+
batch_action :destroy, :if => proc { can?( :destroy, Post ) } do |selection|
|
55
|
+
redirect_to collection_path, :alert => "Didn't really delete these!"
|
56
|
+
end
|
57
|
+
end
|
58
|
+
|
59
|
+
### Removing a Batch Action
|
60
|
+
|
61
|
+
You can also remove batch actions by simply passing false as the second parameter:
|
62
|
+
|
63
|
+
ActiveAdmin.register Post do
|
64
|
+
batch_action :destroy, false
|
65
|
+
end
|
66
|
+
|
67
|
+
### Conditional Display of Batch Action
|
68
|
+
|
69
|
+
You can control whether or not the batch action is available via the `:if` option. Provide a boolean or a proc, which is executed in context of the view.
|
70
|
+
|
71
|
+
ActiveAdmin.register Post do
|
72
|
+
batch_action :flag, :if => proc { false } do |selection|
|
73
|
+
# This action won't ever be displayed
|
74
|
+
end
|
75
|
+
end
|
76
|
+
|
77
|
+
### Batch Action Priority in Menu
|
78
|
+
|
79
|
+
You can also change the order of batch actions, by providing a value for the :priority param:
|
80
|
+
|
81
|
+
ActiveAdmin.register Post do
|
82
|
+
batch_action :destroy, :priority => 1 do |selection|
|
83
|
+
# Do some deleting in here...
|
84
|
+
end
|
85
|
+
end
|
86
|
+
|
87
|
+
### Batch Action I18n of Labels
|
88
|
+
|
89
|
+
By default, the name of the batch action will be used to lookup a label for the
|
90
|
+
menu. It will lookup in `active_admin.batch_actions.labels.#{your_batch_action_name}`. For
|
91
|
+
example:
|
92
|
+
|
93
|
+
ActiveAdmin.register Post do
|
94
|
+
batch_action :publish do |selection|
|
95
|
+
# do some publishing...
|
96
|
+
end
|
97
|
+
end
|
98
|
+
|
99
|
+
Can be translated with:
|
100
|
+
|
101
|
+
# config/locales/en.yml
|
102
|
+
en:
|
103
|
+
active_admin:
|
104
|
+
batch_actions:
|
105
|
+
labels:
|
106
|
+
publish: "Publish"
|
107
|
+
|
108
|
+
### Batch Action Confirmation
|
109
|
+
|
110
|
+
You can also request that the user confirm the action, before the action is performed:
|
111
|
+
|
112
|
+
ActiveAdmin.register Post do
|
113
|
+
batch_action :destroy, :confirm => "Are you sure you want to delete all of these?" do |selection|
|
114
|
+
# Do some deleting...
|
115
|
+
end
|
116
|
+
end
|
117
|
+
|
118
|
+
### Customizing Table Columns
|
119
|
+
|
120
|
+
To include the column with checkboxes in after overriding the list of columns for the `index` block in the *Table* listing, use the following helper as seen below:
|
121
|
+
|
122
|
+
ActiveAdmin.register Post do
|
123
|
+
|
124
|
+
batch_action :flag do |selection|
|
125
|
+
Post.find(selection).each { |p| p.flag! }
|
126
|
+
redirect_to collection_path, :notice => "Posts flagged!"
|
127
|
+
end
|
128
|
+
|
129
|
+
index do
|
130
|
+
selectable_column
|
131
|
+
column :title
|
132
|
+
default_actions
|
133
|
+
end
|
134
|
+
|
135
|
+
end
|
136
|
+
|
137
|
+
|
138
|
+
### Support for Other Index Types
|
139
|
+
|
140
|
+
You can easily use `batch_action` in the other index views, *Grid*, *Block*, and *Blog*; however, these views will require more custom styling to fit your application needs.
|
141
|
+
|
142
|
+
ActiveAdmin.register Post do
|
143
|
+
|
144
|
+
# By default, the "Delete" batch action is provided
|
145
|
+
|
146
|
+
# Index as Grid
|
147
|
+
index as: :grid do |post|
|
148
|
+
resource_selection_cell post
|
149
|
+
h2 auto_link( post )
|
150
|
+
end
|
151
|
+
|
152
|
+
# Index as Blog requires nothing special
|
153
|
+
|
154
|
+
# Index as Block
|
155
|
+
index as: :block do |post|
|
156
|
+
div for: post do
|
157
|
+
resource_selection_cell post
|
158
|
+
end
|
159
|
+
end
|
160
|
+
|
161
|
+
end
|