activeadmin 0.6.0 → 0.6.1
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 +5 -1
- data/.travis.yml +1 -1
- data/.yardopts +2 -3
- data/CHANGELOG.md +180 -36
- data/CONTRIBUTING.md +12 -2
- data/Gemfile +9 -3
- data/README.rdoc +38 -65
- data/Rakefile +1 -3
- data/activeadmin.gemspec +10 -11
- data/app/assets/images/active_admin/index_list_icons/block_icon.svg +1 -1
- data/app/assets/images/active_admin/index_list_icons/blog_icon.svg +1 -1
- data/app/assets/images/active_admin/index_list_icons/grid_icon.svg +1 -1
- data/app/assets/images/active_admin/index_list_icons/table_icon.svg +1 -1
- data/app/assets/javascripts/active_admin/components/jquery.aa.checkbox-toggler.js.coffee +2 -2
- data/app/assets/javascripts/active_admin/components/jquery.aa.dropdown-menu.js.coffee +2 -2
- data/app/assets/javascripts/active_admin/components/jquery.aa.popover.js.coffee +2 -2
- data/app/assets/javascripts/active_admin/components/jquery.aa.table-checkbox-toggler.js.coffee +2 -2
- data/app/assets/javascripts/active_admin/lib/namespace.js.coffee +2 -1
- data/app/assets/javascripts/active_admin/pages/application.js.coffee +6 -1
- data/app/assets/stylesheets/active_admin/_base.css.scss +29 -34
- data/app/assets/stylesheets/active_admin/_forms.css.scss +65 -62
- data/app/assets/stylesheets/active_admin/_header.css.scss +57 -45
- data/app/assets/stylesheets/active_admin/_typography.css.scss +9 -9
- data/app/assets/stylesheets/active_admin/components/_batch_actions.css.scss +1 -1
- data/app/assets/stylesheets/active_admin/components/_blank_slates.scss +5 -5
- data/app/assets/stylesheets/active_admin/components/_breadcrumbs.scss +2 -2
- data/app/assets/stylesheets/active_admin/components/_comments.css.scss +1 -1
- data/app/assets/stylesheets/active_admin/components/_date_picker.css.scss +20 -20
- data/app/assets/stylesheets/active_admin/components/_dropdown_menu.scss +16 -16
- data/app/assets/stylesheets/active_admin/components/_flash_messages.css.scss +25 -23
- data/app/assets/stylesheets/active_admin/components/_grid.scss +2 -2
- data/app/assets/stylesheets/active_admin/components/_index_list.scss +1 -1
- data/app/assets/stylesheets/active_admin/components/_pagination.scss +10 -10
- data/app/assets/stylesheets/active_admin/components/_panels.scss +1 -1
- data/app/assets/stylesheets/active_admin/components/_popovers.css.scss +27 -27
- data/app/assets/stylesheets/active_admin/components/_scopes.scss +1 -1
- data/app/assets/stylesheets/active_admin/components/_table_tools.css.scss +10 -10
- data/app/assets/stylesheets/active_admin/components/_tables.css.scss +9 -9
- data/app/assets/stylesheets/active_admin/mixins/_buttons.css.scss +3 -3
- data/app/assets/stylesheets/active_admin/mixins/_gradients.css.scss +4 -4
- data/app/assets/stylesheets/active_admin/mixins/_icons.css.scss +4 -7
- data/app/assets/stylesheets/active_admin/mixins/_reset.css.scss +5 -5
- data/app/assets/stylesheets/active_admin/mixins/_rounded.css.scss +3 -3
- data/app/assets/stylesheets/active_admin/mixins/_sections.css.scss +6 -6
- data/app/assets/stylesheets/active_admin/mixins/_shadows.css.scss +8 -8
- data/app/assets/stylesheets/active_admin/mixins/_typography.scss +1 -1
- data/app/assets/stylesheets/active_admin/mixins/_utilities.scss +1 -1
- data/app/assets/stylesheets/active_admin/mixins/_variables.css.scss +9 -1
- data/app/assets/stylesheets/active_admin/pages/_logged_out.scss +1 -1
- data/app/assets/stylesheets/active_admin/print.css.scss +2 -8
- data/app/assets/stylesheets/active_admin/structure/_footer.scss +5 -5
- data/app/assets/stylesheets/active_admin/structure/_main_structure.scss +13 -13
- data/app/assets/stylesheets/active_admin/structure/_title_bar.scss +14 -14
- data/app/views/active_admin/devise/passwords/edit.html.erb +1 -1
- data/app/views/active_admin/devise/sessions/new.html.erb +1 -1
- data/app/views/active_admin/devise/shared/_links.erb +8 -1
- data/app/views/active_admin/resource/index.csv.erb +3 -3
- data/app/views/layouts/active_admin_logged_out.html.erb +5 -3
- data/config/locales/bg.yml +101 -0
- data/{lib/active_admin → config}/locales/ca.yml +24 -7
- data/{lib/active_admin → config}/locales/cs.yml +34 -12
- data/{lib/active_admin → config}/locales/da.yml +29 -7
- data/config/locales/de-CH.yml +117 -0
- data/{lib/active_admin → config}/locales/de.yml +19 -9
- data/config/locales/en-GB.yml +90 -0
- data/{lib/active_admin → config}/locales/en.yml +16 -6
- data/config/locales/es.yml +106 -0
- data/{lib/active_admin/locales/es.yml → config/locales/es_MX.yml} +14 -8
- data/{lib/active_admin → config}/locales/fr.yml +14 -6
- data/{lib/active_admin → config}/locales/he.yml +16 -6
- data/{lib/active_admin → config}/locales/hr.yml +14 -6
- data/{lib/active_admin → config}/locales/hu.yml +31 -6
- data/{lib/active_admin → config}/locales/it.yml +14 -6
- data/{lib/active_admin → config}/locales/ja.yml +32 -7
- data/{lib/active_admin → config}/locales/ko.yml +14 -6
- data/{lib/active_admin → config}/locales/lt.yml +15 -6
- data/{lib/active_admin → config}/locales/lv.yml +14 -6
- data/{lib/active_admin → config}/locales/nl.yml +14 -6
- data/{lib/active_admin → config}/locales/no-NB.yml +14 -6
- data/{lib/active_admin → config}/locales/pl.yml +14 -6
- data/{lib/active_admin → config}/locales/pt-BR.yml +14 -6
- data/{lib/active_admin → config}/locales/pt-PT.yml +14 -6
- data/{lib/active_admin → config}/locales/ro.yml +32 -7
- data/{lib/active_admin → config}/locales/ru.yml +30 -8
- data/{lib/active_admin → config}/locales/sv-SE.yml +14 -6
- data/{lib/active_admin → config}/locales/tr.yml +15 -6
- data/config/locales/uk.yml +100 -0
- data/{lib/active_admin → config}/locales/vi.yml +15 -6
- data/{lib/active_admin → config}/locales/zh-CN.yml +15 -6
- data/{lib/active_admin → config}/locales/zh-TW.yml +15 -6
- data/docs/0-installation.md +22 -18
- data/docs/1-general-configuration.md +1 -1
- data/docs/10-custom-pages.md +3 -3
- data/docs/11-decorators.md +18 -2
- data/docs/12-arbre-components.md +53 -54
- data/docs/13-authorization-adapter.md +31 -10
- data/docs/2-resource-customization.md +16 -1
- data/docs/3-index-pages.md +13 -1
- data/docs/3-index-pages/create-an-index.md +4 -4
- data/docs/3-index-pages/index-as-block.md +1 -1
- data/docs/3-index-pages/index-as-blog.md +1 -1
- data/docs/3-index-pages/index-as-grid.md +1 -1
- data/docs/4-csv-format.md +4 -4
- data/docs/5-forms.md +46 -3
- data/docs/{6-show-screens.md → 6-show-pages.md} +3 -3
- data/docs/8-custom-actions.md +3 -3
- data/docs/9-batch-actions.md +9 -1
- data/features/action_item.feature +6 -6
- data/features/authorization_cancan.feature +1 -1
- data/features/belongs_to.feature +3 -3
- data/features/breadcrumb.feature +2 -2
- data/features/comments/commenting.feature +7 -5
- data/features/dashboard.feature +0 -51
- data/features/favicon.feature +20 -0
- data/features/global_navigation.feature +0 -1
- data/features/index/batch_actions.feature +12 -11
- data/features/index/filters.feature +6 -6
- data/features/index/format_as_csv.feature +4 -5
- data/features/index/index_as_blog.feature +20 -1
- data/features/index/index_as_table.feature +1 -1
- data/features/index/index_blank_slate.feature +3 -3
- data/features/index/index_parameters.feature +4 -10
- data/features/index/index_scope_to.feature +24 -0
- data/features/index/index_scopes.feature +17 -5
- data/features/index/pagination.feature +15 -0
- data/features/registering_pages.feature +1 -1
- data/features/registering_resources.feature +2 -2
- data/features/show/default_content.feature +3 -3
- data/features/sidebar_sections.feature +3 -3
- data/features/specifying_actions.feature +1 -1
- data/features/step_definitions/additional_web_steps.rb +3 -16
- data/features/step_definitions/asset_steps.rb +5 -1
- data/features/step_definitions/attribute_steps.rb +4 -4
- data/features/step_definitions/batch_action_steps.rb +25 -74
- data/features/step_definitions/breadcrumb_steps.rb +1 -3
- data/features/step_definitions/comment_steps.rb +0 -1
- data/features/step_definitions/configuration_steps.rb +53 -69
- data/features/step_definitions/dashboard_steps.rb +2 -2
- data/features/step_definitions/factory_steps.rb +17 -33
- data/features/step_definitions/filter_steps.rb +2 -2
- data/features/step_definitions/format_steps.rb +10 -14
- data/features/step_definitions/index_scope_steps.rb +9 -25
- data/features/step_definitions/index_views_steps.rb +1 -1
- data/features/step_definitions/sidebar_steps.rb +2 -1
- data/features/step_definitions/site_title_steps.rb +1 -1
- data/features/step_definitions/table_steps.rb +6 -1
- data/features/step_definitions/user_steps.rb +23 -38
- data/features/step_definitions/web_steps.rb +18 -147
- data/features/support/env.rb +13 -34
- data/features/support/paths.rb +2 -0
- data/features/users/logging_in.feature +2 -2
- data/features/users/logging_out.feature +0 -12
- data/features/users/resetting_password.feature +1 -1
- data/lib/active_admin.rb +4 -17
- data/lib/active_admin/abstract_view_factory.rb +1 -1
- data/lib/active_admin/application.rb +19 -28
- data/lib/active_admin/asset_registration.rb +7 -25
- data/lib/active_admin/authorization_adapter.rb +9 -5
- data/lib/active_admin/base_controller.rb +2 -2
- data/lib/active_admin/base_controller/authorization.rb +25 -27
- data/lib/active_admin/batch_actions/resource_extension.rb +3 -3
- data/lib/active_admin/batch_actions/views/batch_action_selector.rb +1 -1
- data/lib/active_admin/batch_actions/views/selection_cells.rb +1 -1
- data/lib/active_admin/callbacks.rb +1 -1
- data/lib/active_admin/cancan_adapter.rb +2 -2
- data/lib/active_admin/comments.rb +32 -38
- data/lib/active_admin/comments/comment.rb +6 -8
- data/lib/active_admin/comments/views.rb +0 -1
- data/lib/active_admin/comments/views/active_admin_comments.rb +27 -38
- data/lib/active_admin/csv_builder.rb +4 -6
- data/lib/active_admin/dependency_checker.rb +4 -0
- data/lib/active_admin/deprecation.rb +3 -3
- data/lib/active_admin/dsl.rb +5 -5
- data/lib/active_admin/engine.rb +1 -1
- data/lib/active_admin/filters.rb +2 -1
- data/lib/active_admin/filters/forms.rb +36 -43
- data/lib/active_admin/filters/formtastic_addons.rb +45 -0
- data/lib/active_admin/filters/resource_extension.rb +9 -1
- data/lib/active_admin/form_builder.rb +30 -19
- data/lib/active_admin/helpers/optional_display.rb +11 -13
- data/lib/active_admin/helpers/settings.rb +50 -8
- data/lib/active_admin/inputs/filter_base.rb +5 -18
- data/lib/active_admin/inputs/filter_base/search_method_select.rb +73 -0
- data/lib/active_admin/inputs/filter_boolean_input.rb +6 -14
- data/lib/active_admin/inputs/filter_check_boxes_input.rb +1 -1
- data/lib/active_admin/inputs/filter_numeric_input.rb +2 -47
- data/lib/active_admin/inputs/filter_select_input.rb +32 -10
- data/lib/active_admin/inputs/filter_string_input.rb +12 -14
- data/lib/active_admin/namespace.rb +8 -40
- data/lib/active_admin/page.rb +2 -2
- data/lib/active_admin/page_dsl.rb +1 -1
- data/lib/active_admin/reloader.rb +3 -3
- data/lib/active_admin/resource.rb +16 -23
- data/lib/active_admin/resource/belongs_to.rb +8 -5
- data/lib/active_admin/resource/menu.rb +10 -23
- data/lib/active_admin/resource/naming.rb +3 -3
- data/lib/active_admin/resource/page_presenters.rb +2 -2
- data/lib/active_admin/resource/routes.rb +74 -21
- data/lib/active_admin/resource/scope_to.rb +74 -0
- data/lib/active_admin/resource/scopes.rb +8 -4
- data/lib/active_admin/resource_collection.rb +20 -66
- data/lib/active_admin/resource_controller.rb +12 -16
- data/lib/active_admin/resource_controller/data_access.rb +19 -22
- data/lib/active_admin/resource_controller/resource_class_methods.rb +2 -2
- data/lib/active_admin/resource_controller/scoping.rb +4 -9
- data/lib/active_admin/resource_dsl.rb +5 -32
- data/lib/active_admin/router.rb +34 -47
- data/lib/active_admin/scope.rb +5 -3
- data/lib/active_admin/sidebar_section.rb +1 -1
- data/lib/active_admin/version.rb +1 -1
- data/lib/active_admin/view_factory.rb +1 -1
- data/lib/active_admin/view_helpers/auto_link_helper.rb +1 -1
- data/lib/active_admin/view_helpers/breadcrumb_helper.rb +8 -8
- data/lib/active_admin/view_helpers/display_helper.rb +15 -6
- data/lib/active_admin/view_helpers/download_format_links_helper.rb +2 -2
- data/lib/active_admin/view_helpers/form_helper.rb +6 -1
- data/lib/active_admin/view_helpers/icon_helper.rb +1 -1
- data/lib/active_admin/view_helpers/method_or_proc_helper.rb +5 -5
- data/lib/active_admin/view_helpers/title_helper.rb +1 -1
- data/lib/active_admin/views/components/action_list_popover.rb +6 -6
- data/lib/active_admin/views/components/attributes_table.rb +9 -12
- data/lib/active_admin/views/components/blank_slate.rb +4 -4
- data/lib/active_admin/views/components/columns.rb +1 -1
- data/lib/active_admin/views/components/index_list.rb +1 -1
- data/lib/active_admin/views/components/paginated_collection.rb +20 -12
- data/lib/active_admin/views/components/panel.rb +1 -1
- data/lib/active_admin/views/components/scopes.rb +2 -1
- data/lib/active_admin/views/components/sidebar_section.rb +1 -1
- data/lib/active_admin/views/components/status_tag.rb +1 -1
- data/lib/active_admin/views/header.rb +2 -2
- data/lib/active_admin/views/index_as_blog.rb +16 -3
- data/lib/active_admin/views/index_as_table.rb +2 -2
- data/lib/active_admin/views/pages/base.rb +8 -3
- data/lib/active_admin/views/pages/form.rb +2 -2
- data/lib/active_admin/views/pages/index.rb +19 -17
- data/lib/generators/active_admin/assets/templates/3.0/active_admin.js +1 -1
- data/lib/generators/active_admin/assets/templates/3.1/active_admin.css.scss +1 -13
- data/lib/generators/active_admin/devise/devise_generator.rb +22 -1
- data/lib/generators/active_admin/install/install_generator.rb +1 -5
- data/lib/generators/active_admin/install/templates/active_admin.rb.erb +40 -19
- data/lib/generators/active_admin/install/templates/admin_user.rb.erb +18 -18
- data/lib/generators/active_admin/install/templates/migrations/create_active_admin_comments.rb +19 -0
- data/lib/generators/active_admin/resource/resource_generator.rb +1 -1
- data/lib/generators/active_admin/resource/templates/admin.rb +1 -1
- data/script/use_rails +1 -1
- data/spec/integration/memory_spec.rb +3 -2
- data/spec/javascripts/coffeescripts/jquery.aa.checkbox-toggler-spec.js.coffee +4 -4
- data/spec/javascripts/coffeescripts/jquery.aa.popover-spec.js.coffee +1 -1
- data/spec/javascripts/coffeescripts/jquery.aa.table-checkbox-toggler-spec.js.coffee +2 -2
- data/spec/javascripts/compiled/jquery.aa.checkbox-toggler-spec.js +4 -4
- data/spec/javascripts/compiled/jquery.aa.popover-spec.js +1 -1
- data/spec/javascripts/compiled/jquery.aa.table-checkbox-toggler-spec.js +2 -2
- data/spec/spec_helper.rb +16 -6
- data/spec/spec_helper_without_rails.rb +2 -0
- data/spec/support/deferred_garbage_collection.rb +19 -0
- data/spec/support/jslint.yml +1 -1
- data/spec/support/rails_template.rb +29 -27
- data/spec/support/templates/admin/stores.rb +5 -1
- data/spec/unit/abstract_view_factory_spec.rb +1 -1
- data/spec/unit/action_builder_spec.rb +7 -7
- data/spec/unit/active_admin_spec.rb +0 -14
- data/spec/unit/application_spec.rb +16 -17
- data/spec/unit/asset_registration_spec.rb +21 -8
- data/spec/unit/authorization/authorization_adapter_spec.rb +3 -3
- data/spec/unit/authorization/controller_authorization_spec.rb +16 -24
- data/spec/unit/batch_actions/resource_spec.rb +11 -11
- data/spec/unit/belongs_to_spec.rb +1 -1
- data/spec/unit/cancan_adapter_spec.rb +11 -3
- data/spec/unit/comments_spec.rb +10 -28
- data/spec/unit/controller_filters_spec.rb +22 -24
- data/spec/unit/csv_builder_spec.rb +3 -3
- data/spec/unit/devise_spec.rb +10 -10
- data/spec/unit/filters/filter_form_builder_spec.rb +140 -45
- data/spec/unit/filters/resource_spec.rb +20 -19
- data/spec/unit/form_builder_spec.rb +122 -70
- data/spec/unit/menu_item_spec.rb +3 -3
- data/spec/unit/namespace/authorization_spec.rb +4 -8
- data/spec/unit/namespace/register_page_spec.rb +1 -1
- data/spec/unit/namespace/register_resource_spec.rb +12 -7
- data/spec/unit/namespace_spec.rb +4 -10
- data/spec/unit/page_spec.rb +1 -1
- data/spec/unit/resource/menu_spec.rb +1 -1
- data/spec/unit/resource/naming_spec.rb +9 -0
- data/spec/unit/resource/pagination_spec.rb +2 -2
- data/spec/unit/resource/routes_spec.rb +73 -0
- data/spec/unit/resource/scopes_spec.rb +1 -1
- data/spec/unit/resource_collection_spec.rb +95 -43
- data/spec/unit/resource_registration_spec.rb +3 -12
- data/spec/unit/resource_spec.rb +41 -48
- data/spec/unit/routing_spec.rb +10 -64
- data/spec/unit/scope_spec.rb +19 -0
- data/spec/unit/settings_spec.rb +88 -0
- data/spec/unit/view_factory_spec.rb +1 -0
- data/spec/unit/{breadcrumbs_spec.rb → view_helpers/breadcrumbs_spec.rb} +16 -7
- data/spec/unit/view_helpers/display_name_spec.rb +41 -0
- data/spec/unit/view_helpers/form_helper_spec.rb +36 -2
- data/spec/unit/views/components/attributes_table_spec.rb +17 -9
- data/spec/unit/views/components/batch_action_popover_spec.rb +4 -4
- data/spec/unit/views/components/index_list_spec.rb +2 -2
- data/spec/unit/views/components/paginated_collection_spec.rb +42 -0
- data/spec/unit/views/components/panel_spec.rb +8 -0
- data/spec/unit/views/components/site_title_spec.rb +2 -2
- data/spec/unit/views/components/table_for_spec.rb +4 -4
- data/spec/unit/views/pages/form_spec.rb +35 -0
- data/spec/unit/views/pages/layout_spec.rb +1 -1
- data/spec/unit/views/tabbed_navigation_spec.rb +10 -10
- data/tasks/parallel_tests.rake +1 -1
- data/tasks/test.rake +4 -1
- metadata +117 -106
- data/app/assets/stylesheets/active_admin/pages/_dashboard.scss +0 -5
- data/lib/active_admin/comments/views/active_admin_comment.rb +0 -0
- data/lib/active_admin/dashboards.rb +0 -68
- data/lib/active_admin/dashboards/dashboard_controller.rb +0 -50
- data/lib/active_admin/dashboards/section.rb +0 -34
- data/lib/active_admin/locales/bg.yml +0 -77
- data/lib/generators/active_admin/install/templates/migrations/1_create_admin_notes.rb +0 -17
- data/lib/generators/active_admin/install/templates/migrations/2_move_admin_notes_to_comments.rb +0 -26
- data/spec/unit/base_controller_spec.rb +0 -6
- data/spec/unit/dashboard_controller_spec.rb +0 -76
- data/spec/unit/dashboard_section_spec.rb +0 -56
- data/spec/unit/dashboards_spec.rb +0 -59
- data/spec/unit/display_name_spec.rb +0 -29
File without changes
|
@@ -1,68 +0,0 @@
|
|
1
|
-
require 'active_admin/dashboards/dashboard_controller'
|
2
|
-
require 'active_admin/dashboards/section'
|
3
|
-
|
4
|
-
module ActiveAdmin
|
5
|
-
module Dashboards
|
6
|
-
|
7
|
-
@@sections = {}
|
8
|
-
mattr_accessor :sections
|
9
|
-
|
10
|
-
class << self
|
11
|
-
|
12
|
-
# Eval an entire block in the context of this module to build
|
13
|
-
# dashboards quicker.
|
14
|
-
#
|
15
|
-
# Example:
|
16
|
-
#
|
17
|
-
# ActiveAdmin::Dashboards.build do
|
18
|
-
# section "Recent Post" do
|
19
|
-
# # return a list of posts
|
20
|
-
# end
|
21
|
-
# end
|
22
|
-
#
|
23
|
-
def build(&block)
|
24
|
-
warn "DEPRECATION WARNING: ActiveAdmin::Dashboard is deprecated and will be removed in the next version"
|
25
|
-
@built = true
|
26
|
-
module_eval(&block)
|
27
|
-
end
|
28
|
-
|
29
|
-
def built?
|
30
|
-
!!@built
|
31
|
-
end
|
32
|
-
|
33
|
-
# Add a new dashboard section to a namespace. If no namespace is given
|
34
|
-
# it will be added to the default namespace.
|
35
|
-
#
|
36
|
-
# Options include:
|
37
|
-
# :namespace => only display for specified namespace.
|
38
|
-
# :if => specify a method or block to determine whether the section is rendered at run time.
|
39
|
-
def add_section(name, options = {}, &block)
|
40
|
-
namespace = options.delete(:namespace) || ActiveAdmin.application.default_namespace || :root
|
41
|
-
self.sections[namespace] ||= []
|
42
|
-
self.sections[namespace] << Section.new(namespace, name, options, &block)
|
43
|
-
self.sections[namespace].sort!
|
44
|
-
end
|
45
|
-
alias_method :section, :add_section
|
46
|
-
|
47
|
-
def sections_for_namespace(namespace)
|
48
|
-
@@sections[namespace] || []
|
49
|
-
end
|
50
|
-
|
51
|
-
def clear_all_sections!
|
52
|
-
@@sections = {}
|
53
|
-
end
|
54
|
-
|
55
|
-
# Called from MenuBuilder to register dashboard to menu.
|
56
|
-
def add_to_menu(namespace, menu)
|
57
|
-
return unless ActiveAdmin::Dashboards.built?
|
58
|
-
|
59
|
-
dashboard_path = namespace.root? ? :dashboard_path : "#{namespace.name}_dashboard_path".to_sym
|
60
|
-
|
61
|
-
menu.add :id => "dashboard",
|
62
|
-
:label => proc{ I18n.t("active_admin.dashboard") },
|
63
|
-
:url => dashboard_path,
|
64
|
-
:priority => 1
|
65
|
-
end
|
66
|
-
end
|
67
|
-
end
|
68
|
-
end
|
@@ -1,50 +0,0 @@
|
|
1
|
-
module ActiveAdmin
|
2
|
-
module Dashboards
|
3
|
-
module DashboardController
|
4
|
-
def index
|
5
|
-
@dashboard_sections = find_sections
|
6
|
-
render 'active_admin/dashboard/index'
|
7
|
-
end
|
8
|
-
|
9
|
-
private
|
10
|
-
|
11
|
-
def set_current_tab
|
12
|
-
@current_tab = I18n.t("active_admin.dashboard")
|
13
|
-
end
|
14
|
-
|
15
|
-
def find_sections
|
16
|
-
sections = ActiveAdmin::Dashboards.sections_for_namespace(namespace)
|
17
|
-
sections.select do |section|
|
18
|
-
if section.options.has_key?(:if)
|
19
|
-
symbol_or_proc = section.options[:if]
|
20
|
-
case symbol_or_proc
|
21
|
-
when Symbol, String then self.send(symbol_or_proc)
|
22
|
-
when Proc then instance_exec(&symbol_or_proc)
|
23
|
-
else symbol_or_proc
|
24
|
-
end
|
25
|
-
else
|
26
|
-
true
|
27
|
-
end
|
28
|
-
end
|
29
|
-
end
|
30
|
-
|
31
|
-
def namespace
|
32
|
-
class_name = self.class.name
|
33
|
-
if class_name.include?('::')
|
34
|
-
self.class.name.split('::').first.underscore.to_sym
|
35
|
-
else
|
36
|
-
:root
|
37
|
-
end
|
38
|
-
end
|
39
|
-
|
40
|
-
# Return the current menu for the view. This is a helper method
|
41
|
-
def current_menu
|
42
|
-
active_admin_namespace.fetch_menu(:default)
|
43
|
-
end
|
44
|
-
|
45
|
-
def active_admin_namespace
|
46
|
-
ActiveAdmin.application.namespace(namespace)
|
47
|
-
end
|
48
|
-
end
|
49
|
-
end
|
50
|
-
end
|
@@ -1,34 +0,0 @@
|
|
1
|
-
module ActiveAdmin
|
2
|
-
module Dashboards
|
3
|
-
class Section
|
4
|
-
|
5
|
-
DEFAULT_PRIORITY = 10
|
6
|
-
|
7
|
-
attr_accessor :name, :block
|
8
|
-
attr_reader :namespace, :options
|
9
|
-
|
10
|
-
def initialize(namespace, name, options = {}, &block)
|
11
|
-
@namespace = namespace
|
12
|
-
@name = name
|
13
|
-
@options = options
|
14
|
-
@block = block
|
15
|
-
end
|
16
|
-
|
17
|
-
def priority
|
18
|
-
@options[:priority] || DEFAULT_PRIORITY
|
19
|
-
end
|
20
|
-
|
21
|
-
def icon
|
22
|
-
@options[:icon]
|
23
|
-
end
|
24
|
-
|
25
|
-
# Sort by priority then by name
|
26
|
-
def <=>(other)
|
27
|
-
result = priority <=> other.priority
|
28
|
-
result = name.to_s <=> other.name.to_s if result == 0
|
29
|
-
result
|
30
|
-
end
|
31
|
-
|
32
|
-
end
|
33
|
-
end
|
34
|
-
end
|
@@ -1,77 +0,0 @@
|
|
1
|
-
bg:
|
2
|
-
active_admin:
|
3
|
-
dashboard: Табло
|
4
|
-
dashboard_welcome:
|
5
|
-
welcome: "Добре дошли в Active Admin. Това е таблото по подразбиране."
|
6
|
-
call_to_action: "За да добавите секции, проверете 'app/admin/dashboard.rb'"
|
7
|
-
view: "Преглед"
|
8
|
-
edit: "Редакция"
|
9
|
-
delete: "Изтриване"
|
10
|
-
delete_confirmation: "Сигурни ли сте, че искате да изтриете това?"
|
11
|
-
new_model: "Създай %{model}"
|
12
|
-
edit_model: "Редактирай %{model}"
|
13
|
-
delete_model: "Изтрий %{model}"
|
14
|
-
details: "%{model} Детайли"
|
15
|
-
cancel: "Отказ"
|
16
|
-
empty: "Празни"
|
17
|
-
previous: "Назад"
|
18
|
-
next: "Напред"
|
19
|
-
download: "Свали:"
|
20
|
-
has_many_new: "Добави нов %{model}"
|
21
|
-
has_many_delete: "Изтрий"
|
22
|
-
filter: "Филтър"
|
23
|
-
clear_filters: "Изчисти филтрите"
|
24
|
-
search_field: "Търси %{field}"
|
25
|
-
equal_to: "Съответства на"
|
26
|
-
greater_than: "По-голямо от"
|
27
|
-
less_than: "По-малко от"
|
28
|
-
main_content: "Моля, приложи %{model}#main_content за визуализация на съдържанието."
|
29
|
-
logout: "Изход"
|
30
|
-
powered_by: "Powered by %{active_admin} %{version}"
|
31
|
-
sidebars:
|
32
|
-
filters: "Филтри"
|
33
|
-
pagination:
|
34
|
-
empty: "%{model} не е открит"
|
35
|
-
one: "Показване на <b>1</b> %{model}"
|
36
|
-
one_page: "Показване на <b>всички %{n}</b> %{model}"
|
37
|
-
multiple: "Показване на %{model} <b>%{from} - %{to}</b> от <b>%{total}</b> общо"
|
38
|
-
any: "Всеки"
|
39
|
-
blank_slate:
|
40
|
-
content: "Няма %{resource_name} все още."
|
41
|
-
link: "Създай връзка"
|
42
|
-
batch_actions:
|
43
|
-
button_label: "партиди Действия"
|
44
|
-
delete_confirmation: "Сигурни ли сте че искате да изтриете тези %{plural_model}? Вие няма да можете да отмените това."
|
45
|
-
succesfully_destroyed:
|
46
|
-
one: "Успешно унищожени 1 %{model}"
|
47
|
-
other: "Успешно унищожени %{count} %{plural_model}"
|
48
|
-
selection_toggle_explanation: "(Toggle Избор)"
|
49
|
-
link: "Създаване на една"
|
50
|
-
action_label: "%{title} Избрани"
|
51
|
-
labels:
|
52
|
-
destroy: "Изтриване"
|
53
|
-
comments:
|
54
|
-
body: "тяло"
|
55
|
-
author: "автор"
|
56
|
-
title: "коментар"
|
57
|
-
add: "Добавяне на коментар"
|
58
|
-
resource: "Resource"
|
59
|
-
no_comments_yet: "Все още няма коментари."
|
60
|
-
title_content: "Коментари (%{count})"
|
61
|
-
errors:
|
62
|
-
empty_text: "Коментар не е спасен, текст е празна."
|
63
|
-
devise:
|
64
|
-
login:
|
65
|
-
title: "Влез"
|
66
|
-
remember_me: "Запомни ме"
|
67
|
-
submit: "Влез"
|
68
|
-
reset_password:
|
69
|
-
title: "Забравена парола?"
|
70
|
-
submit: "Възстановите паролата си"
|
71
|
-
change_password:
|
72
|
-
title: "Промяна на паролата"
|
73
|
-
submit: "Промяна на паролата си"
|
74
|
-
links:
|
75
|
-
sign_in: "Влезте в профила си"
|
76
|
-
forgot_your_password: "Забравена парола?"
|
77
|
-
|
@@ -1,17 +0,0 @@
|
|
1
|
-
class CreateAdminNotes < ActiveRecord::Migration
|
2
|
-
def self.up
|
3
|
-
create_table :admin_notes do |t|
|
4
|
-
t.string :resource_id, :null => false
|
5
|
-
t.string :resource_type, :null => false
|
6
|
-
t.references :admin_user, :polymorphic => true
|
7
|
-
t.text :body
|
8
|
-
t.timestamps
|
9
|
-
end
|
10
|
-
add_index :admin_notes, [:resource_type, :resource_id]
|
11
|
-
add_index :admin_notes, [:admin_user_type, :admin_user_id]
|
12
|
-
end
|
13
|
-
|
14
|
-
def self.down
|
15
|
-
drop_table :admin_notes
|
16
|
-
end
|
17
|
-
end
|
data/lib/generators/active_admin/install/templates/migrations/2_move_admin_notes_to_comments.rb
DELETED
@@ -1,26 +0,0 @@
|
|
1
|
-
class MoveAdminNotesToComments < ActiveRecord::Migration
|
2
|
-
def self.up
|
3
|
-
remove_index :admin_notes, [:admin_user_type, :admin_user_id]
|
4
|
-
rename_table :admin_notes, :active_admin_comments
|
5
|
-
rename_column :active_admin_comments, :admin_user_type, :author_type
|
6
|
-
rename_column :active_admin_comments, :admin_user_id, :author_id
|
7
|
-
add_column :active_admin_comments, :namespace, :string
|
8
|
-
add_index :active_admin_comments, [:namespace]
|
9
|
-
add_index :active_admin_comments, [:author_type, :author_id]
|
10
|
-
|
11
|
-
# Update all the existing comments to the default namespace
|
12
|
-
say "Updating any existing comments to the #{ActiveAdmin.application.default_namespace} namespace."
|
13
|
-
comments_table_name = ActiveRecord::Migrator.proper_table_name("active_admin_comments")
|
14
|
-
execute "UPDATE #{comments_table_name} SET namespace='#{ActiveAdmin.application.default_namespace}'"
|
15
|
-
end
|
16
|
-
|
17
|
-
def self.down
|
18
|
-
remove_index :active_admin_comments, :column => [:author_type, :author_id]
|
19
|
-
remove_index :active_admin_comments, :column => [:namespace]
|
20
|
-
remove_column :active_admin_comments, :namespace
|
21
|
-
rename_column :active_admin_comments, :author_id, :admin_user_id
|
22
|
-
rename_column :active_admin_comments, :author_type, :admin_user_type
|
23
|
-
rename_table :active_admin_comments, :admin_notes
|
24
|
-
add_index :admin_notes, [:admin_user_type, :admin_user_id]
|
25
|
-
end
|
26
|
-
end
|
@@ -1,76 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
require 'active_admin/dashboards/dashboard_controller'
|
4
|
-
require 'active_admin/dashboards/section'
|
5
|
-
|
6
|
-
module Admin
|
7
|
-
class TestDashboardController < ActiveAdmin::PageController
|
8
|
-
include ActiveAdmin::Dashboards::DashboardController
|
9
|
-
end
|
10
|
-
end
|
11
|
-
|
12
|
-
class TestDashboardController < ActiveAdmin::PageController
|
13
|
-
include ActiveAdmin::Dashboards::DashboardController
|
14
|
-
end
|
15
|
-
|
16
|
-
describe ActiveAdmin::Dashboards::DashboardController do
|
17
|
-
|
18
|
-
describe "getting the namespace name" do
|
19
|
-
subject{ controller.send :namespace }
|
20
|
-
|
21
|
-
context "when admin namespace" do
|
22
|
-
let(:controller){ Admin::TestDashboardController.new }
|
23
|
-
it { should == :admin }
|
24
|
-
end
|
25
|
-
|
26
|
-
context "when root namespace" do
|
27
|
-
let(:controller){ TestDashboardController.new }
|
28
|
-
it { should == :root }
|
29
|
-
end
|
30
|
-
end
|
31
|
-
|
32
|
-
describe "conditionally displaying sections" do
|
33
|
-
before { ActiveAdmin::Dashboards.clear_all_sections! }
|
34
|
-
let(:controller){ Admin::TestDashboardController.new }
|
35
|
-
|
36
|
-
context "when :if not specified" do
|
37
|
-
before do
|
38
|
-
@section = ActiveAdmin::Dashboards.add_section('Stats').last
|
39
|
-
end
|
40
|
-
|
41
|
-
it "should include section" do
|
42
|
-
controller.send(:find_sections).should include(@section)
|
43
|
-
end
|
44
|
-
end
|
45
|
-
|
46
|
-
context "when :if option specified as a method" do
|
47
|
-
before do
|
48
|
-
@section = ActiveAdmin::Dashboards.add_section('Secret Codes', :if => :i_am_awesome?).last
|
49
|
-
end
|
50
|
-
|
51
|
-
it "should call the method of the same name" do
|
52
|
-
controller.should_receive(:i_am_awesome?).and_return(true)
|
53
|
-
controller.send(:find_sections).should include(@section)
|
54
|
-
|
55
|
-
controller.should_receive(:i_am_awesome?).and_return(false)
|
56
|
-
controller.send(:find_sections).should_not include(@section)
|
57
|
-
end
|
58
|
-
end
|
59
|
-
|
60
|
-
context "when :if option specified as block" do
|
61
|
-
before do
|
62
|
-
@proc = Proc.new { true }
|
63
|
-
@section = ActiveAdmin::Dashboards.add_section('Secret Codes', :if => proc {}).last
|
64
|
-
end
|
65
|
-
|
66
|
-
it "should evaluate the block" do
|
67
|
-
controller.should_receive(:instance_exec).with(&@proc).and_return(true)
|
68
|
-
controller.send(:find_sections).should include(@section)
|
69
|
-
|
70
|
-
controller.should_receive(:instance_exec).with(&@proc).and_return(false)
|
71
|
-
controller.send(:find_sections).should_not include(@section)
|
72
|
-
end
|
73
|
-
end
|
74
|
-
end
|
75
|
-
|
76
|
-
end
|
@@ -1,56 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
describe ActiveAdmin::Dashboards::Section do
|
4
|
-
|
5
|
-
def section(options = {})
|
6
|
-
name = options.delete(:name) || "Recent Posts"
|
7
|
-
ActiveAdmin::Dashboards::Section.new(:admin, name, options){ }
|
8
|
-
end
|
9
|
-
|
10
|
-
describe "accessors" do
|
11
|
-
it "should have a namespace" do
|
12
|
-
section.namespace.should == :admin
|
13
|
-
end
|
14
|
-
|
15
|
-
it "should have a block" do
|
16
|
-
section.block.class.should == Proc
|
17
|
-
end
|
18
|
-
|
19
|
-
it "should have a name" do
|
20
|
-
section.name.should == 'Recent Posts'
|
21
|
-
end
|
22
|
-
end
|
23
|
-
|
24
|
-
describe "priority" do
|
25
|
-
context "when not set" do
|
26
|
-
subject{ section.priority }
|
27
|
-
it { should == ActiveAdmin::Dashboards::Section::DEFAULT_PRIORITY }
|
28
|
-
end
|
29
|
-
|
30
|
-
context "when set" do
|
31
|
-
subject{ section(:priority => 1).priority }
|
32
|
-
it { should == 1 }
|
33
|
-
end
|
34
|
-
end
|
35
|
-
|
36
|
-
describe "icon" do
|
37
|
-
it "should set the icon" do
|
38
|
-
s = section(:icon => :my_icon)
|
39
|
-
s.icon.should == :my_icon
|
40
|
-
end
|
41
|
-
it "should be nil by default" do
|
42
|
-
section.icon.should be_nil
|
43
|
-
end
|
44
|
-
end
|
45
|
-
|
46
|
-
describe "sorting sections" do
|
47
|
-
it "should sort by priority then alpha" do
|
48
|
-
s1 = section :name => "Woot"
|
49
|
-
s2 = section :name => :Alpha
|
50
|
-
s3 = section :name => "Zulu", :priority => 1
|
51
|
-
s4 = section :name => "Beta", :priority => 100
|
52
|
-
[s1,s2,s3,s4].sort.should == [s3, s2, s1, s4]
|
53
|
-
end
|
54
|
-
end
|
55
|
-
|
56
|
-
end
|
@@ -1,59 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
describe ActiveAdmin::Dashboards do
|
4
|
-
|
5
|
-
after(:each) do
|
6
|
-
ActiveAdmin::Dashboards.clear_all_sections!
|
7
|
-
end
|
8
|
-
|
9
|
-
describe "adding sections" do
|
10
|
-
before do
|
11
|
-
ActiveAdmin::Dashboards.clear_all_sections!
|
12
|
-
ActiveAdmin::Dashboards.add_section('Recent Posts')
|
13
|
-
end
|
14
|
-
it "should add a new section namespaced" do
|
15
|
-
ActiveAdmin::Dashboards.sections[:admin].first.should be_an_instance_of(ActiveAdmin::Dashboards::Section)
|
16
|
-
end
|
17
|
-
end
|
18
|
-
|
19
|
-
describe "adding sections using the build syntax" do
|
20
|
-
before do
|
21
|
-
ActiveAdmin::Dashboards.clear_all_sections!
|
22
|
-
ActiveAdmin::Dashboards.build do
|
23
|
-
section "Recent Posts" do
|
24
|
-
end
|
25
|
-
end
|
26
|
-
end
|
27
|
-
|
28
|
-
it "should add a new section" do
|
29
|
-
ActiveAdmin::Dashboards.sections[:admin].first.should be_an_instance_of(ActiveAdmin::Dashboards::Section)
|
30
|
-
end
|
31
|
-
end
|
32
|
-
|
33
|
-
describe "clearing all sections" do
|
34
|
-
before do
|
35
|
-
ActiveAdmin::Dashboards.add_section('Recent Posts')
|
36
|
-
end
|
37
|
-
it "should clear all sections" do
|
38
|
-
ActiveAdmin::Dashboards.clear_all_sections!
|
39
|
-
ActiveAdmin::Dashboards.sections.keys.should be_empty
|
40
|
-
end
|
41
|
-
end
|
42
|
-
|
43
|
-
describe "finding namespaced sections" do
|
44
|
-
context "when the namespace exists" do
|
45
|
-
before do
|
46
|
-
ActiveAdmin::Dashboards.add_section('Recent Posts')
|
47
|
-
end
|
48
|
-
it "should return an array of sections" do
|
49
|
-
ActiveAdmin::Dashboards.sections_for_namespace(:admin).should_not be_empty
|
50
|
-
end
|
51
|
-
end
|
52
|
-
|
53
|
-
context "when the namespace does not exists" do
|
54
|
-
it "should return an empty array" do
|
55
|
-
ActiveAdmin::Dashboards.sections_for_namespace(:not_a_namespace).should be_empty
|
56
|
-
end
|
57
|
-
end
|
58
|
-
end
|
59
|
-
end
|