activeadmin 0.3.4 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/.gitignore +1 -0
- data/.travis.yml +3 -0
- data/CHANGELOG.md +164 -5
- data/CONTRIBUTING.md +113 -0
- data/Gemfile +7 -9
- data/LICENSE +1 -1
- data/README.rdoc +19 -20
- data/activeadmin.gemspec +4 -2
- data/app/assets/javascripts/active_admin/application.js +9 -0
- data/app/assets/javascripts/active_admin/base.js +4 -12
- data/app/assets/stylesheets/active_admin/_base.css.scss +17 -341
- data/app/assets/stylesheets/active_admin/_forms.css.scss +13 -7
- data/app/assets/stylesheets/active_admin/_header.css.scss +23 -4
- data/app/assets/stylesheets/active_admin/components/_blank_slates.scss +31 -0
- data/app/assets/stylesheets/active_admin/components/_breadcrumbs.scss +20 -0
- data/app/assets/stylesheets/active_admin/components/_buttons.scss +12 -0
- data/app/assets/stylesheets/active_admin/components/_flash_messages.css.scss +2 -0
- data/app/assets/stylesheets/active_admin/components/_grid.scss +9 -0
- data/app/assets/stylesheets/active_admin/components/_links.scss +5 -0
- data/app/assets/stylesheets/active_admin/components/_pagination.scss +34 -0
- data/app/assets/stylesheets/active_admin/components/_panels.scss +6 -0
- data/app/assets/stylesheets/active_admin/components/_scopes.scss +10 -0
- data/app/assets/stylesheets/active_admin/components/_status_tags.scss +12 -0
- data/app/assets/stylesheets/active_admin/components/_table_tools.css.scss +101 -0
- data/app/assets/stylesheets/active_admin/components/_tables.css.scss +43 -2
- data/app/assets/stylesheets/active_admin/mixins/_all.css.scss +2 -1
- data/app/assets/stylesheets/active_admin/mixins/_buttons.css.scss +50 -13
- data/app/assets/stylesheets/active_admin/mixins/_gradients.css.scss +9 -1
- data/app/assets/stylesheets/active_admin/mixins/_sections.css.scss +7 -5
- data/app/assets/stylesheets/active_admin/mixins/_shadows.css.scss +1 -0
- data/app/assets/stylesheets/active_admin/mixins/_typography.scss +3 -0
- data/app/assets/stylesheets/active_admin/mixins/_utilities.scss +9 -0
- data/app/assets/stylesheets/active_admin/mixins/_variables.css.scss +1 -0
- data/app/assets/stylesheets/active_admin/pages/_dashboard.scss +5 -0
- data/app/assets/stylesheets/active_admin/pages/_logged_out.scss +44 -0
- data/app/assets/stylesheets/active_admin/structure/_footer.scss +14 -0
- data/app/assets/stylesheets/active_admin/structure/_main_structure.scss +26 -0
- data/app/assets/stylesheets/active_admin/structure/_title_bar.scss +44 -0
- data/app/views/active_admin/devise/passwords/edit.html.erb +1 -1
- data/app/views/active_admin/devise/passwords/new.html.erb +1 -1
- data/app/views/active_admin/devise/sessions/new.html.erb +1 -1
- data/app/views/active_admin/devise/shared/_links.erb +1 -1
- data/app/views/active_admin/devise/unlocks/new.html.erb +1 -1
- data/app/views/active_admin/page/index.html.arb +1 -0
- data/app/views/layouts/active_admin_logged_out.html.erb +2 -2
- data/cucumber.yml +3 -2
- data/docs/1-general-configuration.md +46 -10
- data/docs/6-show-screens.md +7 -0
- data/docs/8-custom-actions.md +12 -2
- data/docs/9-custom-pages.md +84 -0
- data/features/belongs_to.feature +27 -0
- data/features/comments/commenting.feature +3 -2
- data/features/dashboard.feature +18 -0
- data/features/development_reloading.feature +43 -0
- data/features/index/filter_with_check_boxes.feature +25 -0
- data/features/index/index_as_table.feature +14 -0
- data/features/index/index_scopes.feature +59 -0
- data/features/index/pagination.feature +19 -1
- data/features/menu.feature +22 -2
- data/features/registering_assets.feature +2 -2
- data/features/registering_pages.feature +66 -0
- data/features/specifying_actions.feature +5 -0
- data/features/step_definitions/action_item_steps.rb +2 -6
- data/features/step_definitions/action_link_steps.rb +7 -0
- data/features/step_definitions/additional_web_steps.rb +11 -3
- data/features/step_definitions/asset_steps.rb +5 -1
- data/features/step_definitions/breadcrumb_steps.rb +5 -0
- data/features/step_definitions/comment_steps.rb +3 -3
- data/features/step_definitions/configuration_steps.rb +69 -13
- data/features/step_definitions/dashboard_steps.rb +7 -3
- data/features/step_definitions/factory_steps.rb +9 -2
- data/features/step_definitions/flash_steps.rb +9 -1
- data/features/step_definitions/format_steps.rb +9 -1
- data/features/step_definitions/index_scope_steps.rb +18 -6
- data/features/step_definitions/member_link_steps.rb +7 -0
- data/features/step_definitions/pagination_steps.rb +2 -2
- data/features/step_definitions/site_title_steps.rb +15 -0
- data/features/step_definitions/tab_steps.rb +1 -1
- data/features/step_definitions/user_steps.rb +1 -1
- data/features/step_definitions/web_steps.rb +4 -4
- data/features/support/paths.rb +6 -0
- data/features/users/logging_out.feature +11 -0
- data/lib/active_admin.rb +26 -10
- data/lib/active_admin/application.rb +64 -22
- data/lib/active_admin/arbre.rb +0 -1
- data/lib/active_admin/arbre/builder.rb +8 -5
- data/lib/active_admin/arbre/context.rb +1 -1
- data/lib/active_admin/arbre/html/attributes.rb +1 -1
- data/lib/active_admin/arbre/html/class_list.rb +0 -4
- data/lib/active_admin/arbre/html/collection.rb +2 -2
- data/lib/active_admin/arbre/html/document.rb +1 -1
- data/lib/active_admin/arbre/html/element.rb +19 -9
- data/lib/active_admin/arbre/html/tag.rb +3 -3
- data/lib/active_admin/arbre/html/text_node.rb +2 -2
- data/lib/active_admin/asset_registration.rb +15 -2
- data/lib/active_admin/base_controller.rb +61 -0
- data/lib/active_admin/{resource_controller → base_controller}/menu.rb +1 -1
- data/lib/active_admin/callbacks.rb +16 -18
- data/lib/active_admin/comments.rb +48 -54
- data/lib/active_admin/comments/comment.rb +13 -2
- data/lib/active_admin/comments/namespace_helper.rb +1 -1
- data/lib/active_admin/comments/views/active_admin_comments.rb +7 -3
- data/lib/active_admin/dashboards.rb +4 -0
- data/lib/active_admin/dashboards/dashboard_controller.rb +21 -5
- data/lib/active_admin/dsl.rb +6 -159
- data/lib/active_admin/event.rb +5 -3
- data/lib/active_admin/filter_form_builder.rb +53 -0
- data/lib/active_admin/form_builder.rb +25 -19
- data/lib/active_admin/helpers/settings.rb +6 -10
- data/lib/active_admin/inputs.rb +14 -0
- data/lib/active_admin/inputs/datepicker_input.rb +11 -0
- data/lib/active_admin/inputs/filter_base.rb +46 -0
- data/lib/active_admin/inputs/filter_check_boxes_input.rb +40 -0
- data/lib/active_admin/inputs/filter_date_range_input.rb +34 -0
- data/lib/active_admin/inputs/filter_numeric_input.rb +55 -0
- data/lib/active_admin/inputs/filter_select_input.rb +23 -0
- data/lib/active_admin/inputs/filter_string_input.rb +22 -0
- data/lib/active_admin/locales/ca.yml +44 -0
- data/lib/active_admin/locales/cs.yml +14 -10
- data/lib/active_admin/locales/de.yml +44 -0
- data/lib/active_admin/locales/en.yml +5 -0
- data/lib/active_admin/locales/hr.yml +40 -0
- data/lib/active_admin/locales/hu.yml +45 -0
- data/lib/active_admin/locales/it.yml +11 -6
- data/lib/active_admin/locales/ko.yml +40 -0
- data/lib/active_admin/locales/lv.yml +43 -0
- data/lib/active_admin/locales/nl.yml +40 -0
- data/lib/active_admin/locales/no-NB.yml +40 -0
- data/lib/active_admin/locales/pl.yml +7 -1
- data/lib/active_admin/locales/pt-BR.yml +6 -2
- data/lib/active_admin/menu_item.rb +25 -17
- data/lib/active_admin/namespace.rb +48 -33
- data/lib/active_admin/page.rb +65 -0
- data/lib/active_admin/page_controller.rb +15 -0
- data/lib/active_admin/page_dsl.rb +21 -0
- data/lib/active_admin/page_presenter.rb +30 -0
- data/lib/active_admin/reloader.rb +109 -42
- data/lib/active_admin/resource.rb +38 -44
- data/lib/active_admin/resource/action_items.rb +5 -0
- data/lib/active_admin/resource/belongs_to.rb +4 -2
- data/lib/active_admin/resource/controllers.rb +35 -0
- data/lib/active_admin/resource/menu.rb +1 -2
- data/lib/active_admin/resource/naming.rb +53 -31
- data/lib/active_admin/resource/page_presenters.rb +28 -0
- data/lib/active_admin/resource/scopes.rb +16 -3
- data/lib/active_admin/resource/sidebars.rb +4 -0
- data/lib/active_admin/resource_collection.rb +88 -0
- data/lib/active_admin/resource_controller.rb +18 -54
- data/lib/active_admin/resource_controller/action_builder.rb +1 -1
- data/lib/active_admin/resource_controller/actions.rb +8 -8
- data/lib/active_admin/resource_controller/callbacks.rb +1 -1
- data/lib/active_admin/resource_controller/collection.rb +8 -4
- data/lib/active_admin/resource_controller/filters.rb +1 -1
- data/lib/active_admin/resource_controller/resource_class_methods.rb +24 -0
- data/lib/active_admin/resource_controller/scoping.rb +1 -1
- data/lib/active_admin/resource_controller/sidebars.rb +1 -1
- data/lib/active_admin/resource_dsl.rb +157 -0
- data/lib/active_admin/router.rb +21 -14
- data/lib/active_admin/scope.rb +15 -3
- data/lib/active_admin/version.rb +1 -1
- data/lib/active_admin/view_factory.rb +4 -3
- data/lib/active_admin/view_helpers/auto_link_helper.rb +1 -10
- data/lib/active_admin/view_helpers/breadcrumb_helper.rb +25 -21
- data/lib/active_admin/view_helpers/filter_form_helper.rb +0 -150
- data/lib/active_admin/views/components/attributes_table.rb +1 -1
- data/lib/active_admin/views/components/columns.rb +4 -4
- data/lib/active_admin/views/components/paginated_collection.rb +42 -13
- data/lib/active_admin/views/components/panel.rb +8 -0
- data/lib/active_admin/views/components/scopes.rb +24 -18
- data/lib/active_admin/views/components/status_tag.rb +6 -5
- data/lib/active_admin/views/components/table_for.rb +6 -2
- data/lib/active_admin/views/header_renderer.rb +31 -12
- data/lib/active_admin/views/index_as_block.rb +2 -2
- data/lib/active_admin/views/index_as_blog.rb +3 -3
- data/lib/active_admin/views/index_as_grid.rb +4 -4
- data/lib/active_admin/views/index_as_table.rb +13 -6
- data/lib/active_admin/views/pages/base.rb +4 -4
- data/lib/active_admin/views/pages/form.rb +49 -0
- data/lib/active_admin/views/pages/index.rb +18 -6
- data/lib/active_admin/views/pages/page.rb +24 -0
- data/lib/active_admin/views/pages/show.rb +1 -1
- data/lib/generators/active_admin/assets/assets_generator.rb +19 -1
- data/lib/generators/active_admin/install/templates/active_admin.rb.erb +38 -12
- data/lib/generators/active_admin/install/templates/dashboards.rb +6 -0
- data/script/use_rails +14 -7
- data/spec/spec_helper.rb +9 -14
- data/spec/spec_helper_without_rails.rb +10 -0
- data/spec/support/detect_rails_version.rb +22 -3
- data/spec/support/integration_example_group.rb +5 -7
- data/spec/support/rails_template.rb +11 -0
- data/spec/support/rails_template_with_data.rb +25 -0
- data/spec/support/templates/cucumber_with_reloading.rb +5 -0
- data/spec/unit/active_admin_spec.rb +8 -0
- data/spec/unit/application_spec.rb +48 -2
- data/spec/unit/arbre/context_spec.rb +1 -1
- data/spec/unit/arbre/html/element_finder_methods_spec.rb +58 -2
- data/spec/unit/arbre/html/element_spec.rb +18 -5
- data/spec/unit/arbre/html/tag_attributes_spec.rb +3 -3
- data/spec/unit/arbre/html/tag_spec.rb +1 -1
- data/spec/unit/arbre/html_spec.rb +32 -22
- data/spec/unit/asset_registration_spec.rb +9 -3
- data/spec/unit/auto_link_spec.rb +2 -2
- data/spec/unit/base_controller_shared_examples.rb +28 -0
- data/spec/unit/base_controller_spec.rb +8 -0
- data/spec/unit/belongs_to_spec.rb +30 -33
- data/spec/unit/comments_spec.rb +45 -15
- data/spec/unit/config_shared_examples.rb +119 -0
- data/spec/unit/dashboard_controller_spec.rb +44 -0
- data/spec/unit/event_spec.rb +6 -0
- data/spec/unit/filter_form_builder_spec.rb +9 -0
- data/spec/unit/form_builder_spec.rb +8 -14
- data/spec/unit/menu_item_spec.rb +25 -20
- data/spec/unit/namespace/register_page_spec.rb +102 -0
- data/spec/unit/namespace/register_resource_spec.rb +188 -0
- data/spec/unit/namespace_spec.rb +11 -183
- data/spec/unit/page_controller_spec.rb +8 -0
- data/spec/unit/page_spec.rb +60 -0
- data/spec/unit/reloader_spec.rb +82 -38
- data/spec/unit/resource/menu_spec.rb +1 -51
- data/spec/unit/resource/naming_spec.rb +25 -20
- data/spec/unit/resource/page_presenters_spec.rb +32 -0
- data/spec/unit/resource/scopes_spec.rb +13 -0
- data/spec/unit/resource_collection_spec.rb +101 -0
- data/spec/unit/resource_controller_spec.rb +40 -32
- data/spec/unit/{registration_spec.rb → resource_registration_spec.rb} +0 -0
- data/spec/unit/resource_spec.rb +8 -24
- data/spec/unit/routing_spec.rb +50 -1
- data/spec/unit/scope_spec.rb +18 -4
- data/spec/unit/views/components/paginated_collection_spec.rb +163 -0
- data/spec/unit/views/components/panel_spec.rb +9 -0
- data/spec/unit/views/components/status_tag_spec.rb +9 -0
- data/spec/unit/views/tabbed_navigation_spec.rb +2 -1
- data/tasks/test.rake +44 -26
- metadata +176 -69
- data/app/assets/javascripts/active_admin/vendor.js +0 -382
- data/lib/active_admin/arbre/core_extensions.rb +0 -5
- data/lib/active_admin/comments/configuration.rb +0 -18
- data/lib/active_admin/page_config.rb +0 -15
- data/lib/active_admin/resource_controller/form.rb +0 -42
- data/lib/active_admin/resource_controller/page_configurations.rb +0 -53
- data/lib/active_admin/views/pages/edit.rb +0 -28
- data/lib/active_admin/views/pages/new.rb +0 -28
- data/lib/generators/active_admin/assets/templates/3.0/active_admin.js +0 -427
- data/spec/integration/belongs_to_spec.rb +0 -42
|
@@ -20,18 +20,14 @@ module ActiveAdmin
|
|
|
20
20
|
module Settings
|
|
21
21
|
extend ActiveSupport::Concern
|
|
22
22
|
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
default_settings[name]
|
|
27
|
-
end
|
|
28
|
-
|
|
29
|
-
private
|
|
23
|
+
def read_default_setting(name)
|
|
24
|
+
default_settings[name]
|
|
25
|
+
end
|
|
30
26
|
|
|
31
|
-
|
|
32
|
-
self.class.default_settings
|
|
33
|
-
end
|
|
27
|
+
private
|
|
34
28
|
|
|
29
|
+
def default_settings
|
|
30
|
+
self.class.default_settings
|
|
35
31
|
end
|
|
36
32
|
|
|
37
33
|
module ClassMethods
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
module ActiveAdmin
|
|
2
|
+
module Inputs
|
|
3
|
+
extend ActiveSupport::Autoload
|
|
4
|
+
|
|
5
|
+
autoload :DatepickerInput
|
|
6
|
+
|
|
7
|
+
autoload :FilterBase
|
|
8
|
+
autoload :FilterStringInput
|
|
9
|
+
autoload :FilterDateRangeInput
|
|
10
|
+
autoload :FilterNumericInput
|
|
11
|
+
autoload :FilterSelectInput
|
|
12
|
+
autoload :FilterCheckBoxesInput
|
|
13
|
+
end
|
|
14
|
+
end
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
module ActiveAdmin
|
|
2
|
+
module Inputs
|
|
3
|
+
module FilterBase
|
|
4
|
+
include ::Formtastic::Inputs::Base
|
|
5
|
+
|
|
6
|
+
def input_wrapping(&block)
|
|
7
|
+
template.content_tag(:div,
|
|
8
|
+
template.capture(&block),
|
|
9
|
+
wrapper_html_options
|
|
10
|
+
)
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
def required?
|
|
14
|
+
false
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
def wrapper_html_options
|
|
18
|
+
{ :class => "filter_form_field #{as}" }
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
# Override the standard finder to accept a proc
|
|
22
|
+
def collection_from_options
|
|
23
|
+
if options[:collection].is_a?(Proc)
|
|
24
|
+
options[:collection].call
|
|
25
|
+
else
|
|
26
|
+
super
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
# Returns the default label for a given attribute
|
|
31
|
+
# Will use ActiveModel I18n if possible
|
|
32
|
+
def humanized_method_name
|
|
33
|
+
if object.base.respond_to?(:human_attribute_name)
|
|
34
|
+
object.base.human_attribute_name(method)
|
|
35
|
+
else
|
|
36
|
+
method.to_s.send(builder.label_str_method)
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
# Returns the association reflection for the method if it exists
|
|
41
|
+
def reflection_for(method)
|
|
42
|
+
@object.base.reflect_on_association(method) if @object.base.respond_to?(:reflect_on_association)
|
|
43
|
+
end
|
|
44
|
+
end
|
|
45
|
+
end
|
|
46
|
+
end
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
module ActiveAdmin
|
|
2
|
+
module Inputs
|
|
3
|
+
class FilterCheckBoxesInput < ::Formtastic::Inputs::CheckBoxesInput
|
|
4
|
+
include FilterBase
|
|
5
|
+
|
|
6
|
+
def input_name
|
|
7
|
+
"#{object_name}[#{association_primary_key || method}_in][]"
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
def selected_values
|
|
11
|
+
@object.send("#{association_primary_key || method}_in") || []
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
# Add whitespace before label
|
|
15
|
+
def choice_label(choice)
|
|
16
|
+
" #{super(choice)}"
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
# Don't wrap in UL tag
|
|
20
|
+
def choices_group_wrapping(&block)
|
|
21
|
+
template.capture(&block)
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
# Don't wrap in LI tag
|
|
25
|
+
def choice_wrapping(html_options, &block)
|
|
26
|
+
template.capture(&block)
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
# Don't render hidden fields
|
|
30
|
+
def hidden_field_for_all
|
|
31
|
+
""
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
# Don't render hidden fields
|
|
35
|
+
def hidden_fields?
|
|
36
|
+
false
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
end
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
module ActiveAdmin
|
|
2
|
+
module Inputs
|
|
3
|
+
class FilterDateRangeInput < ::Formtastic::Inputs::StringInput
|
|
4
|
+
include FilterBase
|
|
5
|
+
|
|
6
|
+
def to_html
|
|
7
|
+
input_wrapping do
|
|
8
|
+
[ label_html,
|
|
9
|
+
builder.text_field(gt_input_name, input_html_options(gt_input_name)),
|
|
10
|
+
template.content_tag(:span, "-", :class => "seperator"),
|
|
11
|
+
builder.text_field(lt_input_name, input_html_options(lt_input_name)),
|
|
12
|
+
].join("\n").html_safe
|
|
13
|
+
end
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
def gt_input_name
|
|
17
|
+
"#{method}_gte"
|
|
18
|
+
end
|
|
19
|
+
alias :input_name :gt_input_name
|
|
20
|
+
|
|
21
|
+
def lt_input_name
|
|
22
|
+
"#{method}_lte"
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
def input_html_options(input_name = gt_input_name)
|
|
26
|
+
current_value = @object.send(input_name)
|
|
27
|
+
{ :size => 12,
|
|
28
|
+
:class => "datepicker",
|
|
29
|
+
:max => 10,
|
|
30
|
+
:value => current_value.respond_to?(:strftime) ? current_value.strftime("%Y-%m-%d") : "" }
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
end
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
module ActiveAdmin
|
|
2
|
+
module Inputs
|
|
3
|
+
class FilterNumericInput < ::Formtastic::Inputs::NumberInput
|
|
4
|
+
include FilterBase
|
|
5
|
+
|
|
6
|
+
def to_html
|
|
7
|
+
input_wrapping do
|
|
8
|
+
[ label_html,
|
|
9
|
+
select_html,
|
|
10
|
+
" ",
|
|
11
|
+
input_html
|
|
12
|
+
].join("\n").html_safe
|
|
13
|
+
end
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
def input_html
|
|
17
|
+
builder.text_field current_filter, input_html_options
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
def input_html_options
|
|
21
|
+
{ :size => 10, :id => "#{method}_numeric" }
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
def select_html
|
|
25
|
+
template.select_tag '', select_options, select_html_options
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
def select_options
|
|
29
|
+
template.options_for_select(filters, current_filter)
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
def select_html_options
|
|
33
|
+
{ :onchange => "document.getElementById('#{method}_numeric').name = 'q[' + this.value + ']';" }
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
# Returns the scope for which we are currently searching. If no search is available
|
|
37
|
+
# it returns the first scope
|
|
38
|
+
def current_filter
|
|
39
|
+
filters[1..-1].inject(filters.first){|a,b| @object.send(b[1].to_sym) ? b : a }[1]
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
def filters
|
|
43
|
+
(options[:filters] || default_filters).collect do |scope|
|
|
44
|
+
[scope[0], [method, scope[1]].join("_")]
|
|
45
|
+
end
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
def default_filters
|
|
49
|
+
[ [I18n.t('active_admin.equal_to'), 'eq'],
|
|
50
|
+
[I18n.t('active_admin.greater_than'), 'gt'],
|
|
51
|
+
[I18n.t('active_admin.less_than'), 'lt'] ]
|
|
52
|
+
end
|
|
53
|
+
end
|
|
54
|
+
end
|
|
55
|
+
end
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
module ActiveAdmin
|
|
2
|
+
module Inputs
|
|
3
|
+
class FilterSelectInput < ::Formtastic::Inputs::SelectInput
|
|
4
|
+
include FilterBase
|
|
5
|
+
|
|
6
|
+
def input_name
|
|
7
|
+
"#{super}_eq"
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
def input_options
|
|
11
|
+
super.merge(:include_blank => I18n.t('active_admin.any'))
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
def method
|
|
15
|
+
super.to_s.gsub('_id','').to_sym
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
def extra_input_html_options
|
|
19
|
+
{}
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
end
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
module ActiveAdmin
|
|
2
|
+
module Inputs
|
|
3
|
+
class FilterStringInput < ::Formtastic::Inputs::StringInput
|
|
4
|
+
include FilterBase
|
|
5
|
+
|
|
6
|
+
def to_html
|
|
7
|
+
input_wrapping do
|
|
8
|
+
label_html <<
|
|
9
|
+
builder.text_field(input_name, input_html_options)
|
|
10
|
+
end
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
def label_text
|
|
14
|
+
I18n.t('active_admin.search_field', :field => super)
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
def input_name
|
|
18
|
+
"#{super}_contains"
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
end
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
#encoding: utf-8
|
|
2
|
+
ca:
|
|
3
|
+
active_admin:
|
|
4
|
+
dashboard: Tauler
|
|
5
|
+
dashboard_welcome:
|
|
6
|
+
welcome: "Benvingut a Active Admin. Aquest és el tauler per defecte."
|
|
7
|
+
call_to_action: "Mira l'arxiu 'app/admin/dashboards.rb' per afegir seccions al tauler"
|
|
8
|
+
view: "Mostra"
|
|
9
|
+
edit: "Edita"
|
|
10
|
+
delete: "Elimina"
|
|
11
|
+
delete_confirmation: "Segur que vols eliminar-ho?"
|
|
12
|
+
new_model: "Crear %{model}"
|
|
13
|
+
edit_model: "Editar %{model}"
|
|
14
|
+
delete_model: "eliminar %{model}"
|
|
15
|
+
details: "Detalls de %{model}"
|
|
16
|
+
cancel: "Cancel·lar"
|
|
17
|
+
empty: "Buit"
|
|
18
|
+
previous: "Anterior"
|
|
19
|
+
next: "Següent"
|
|
20
|
+
download: "Descarregar:"
|
|
21
|
+
has_many_new: "Afegir %{model}"
|
|
22
|
+
has_many_delete: "Eliminar"
|
|
23
|
+
filter: "Filtrar"
|
|
24
|
+
clear_filters: "Treure filtres"
|
|
25
|
+
search_field: "Cercar %{field}"
|
|
26
|
+
equal_to: "Igual a"
|
|
27
|
+
greater_than: "Més gran que"
|
|
28
|
+
less_than: "Més petit que"
|
|
29
|
+
main_content: "Implementa %{model}#main_content per mostrar contingut."
|
|
30
|
+
logout: "Desconnecta't"
|
|
31
|
+
sidebars:
|
|
32
|
+
filters: "Filtres"
|
|
33
|
+
pagination:
|
|
34
|
+
empty: "No hi ha %{model}"
|
|
35
|
+
one: "S'està mostrant <b>1</b> %{model}"
|
|
36
|
+
one_page: "S'estan mostrant <b>tots %{n}</b> %{model}"
|
|
37
|
+
multiple: "S'estan mostrant %{model} <b>%{from} - %{to}</b> de <b>%{total}</b> en total"
|
|
38
|
+
entry:
|
|
39
|
+
one: "entrada"
|
|
40
|
+
other: "entrades"
|
|
41
|
+
any: "Qualsevol"
|
|
42
|
+
blank_slate:
|
|
43
|
+
content: "Encara no hi ha cap %{resource_name}."
|
|
44
|
+
link: "Crea'n un/a"
|
|
@@ -1,24 +1,25 @@
|
|
|
1
1
|
cs:
|
|
2
2
|
active_admin:
|
|
3
|
+
dashboard: Úvod
|
|
3
4
|
dashboard_welcome: "Vítejte v Active Admin. Toto je nástěnka. Pro přidání sekcí nástěnky se podívejte do 'app/admin/dashboards.rb'"
|
|
4
5
|
view: "Zobrazit"
|
|
5
6
|
edit: "Upravit"
|
|
6
7
|
delete: "Smazat"
|
|
7
8
|
delete_confirmation: "Jste si jistí, že chcete tuto položku smazat?"
|
|
8
|
-
new_model: "Nový
|
|
9
|
-
edit_model: "Upravit
|
|
10
|
-
delete_model: "Smazat
|
|
11
|
-
details: "Detaily
|
|
9
|
+
new_model: "Nový"
|
|
10
|
+
edit_model: "Upravit"
|
|
11
|
+
delete_model: "Smazat"
|
|
12
|
+
details: "Detaily"
|
|
12
13
|
cancel: "Zrušit"
|
|
13
14
|
empty: "Prázdné"
|
|
14
15
|
previous: "Předešlé"
|
|
15
16
|
next: "Následující"
|
|
16
17
|
download: "Stáhnout:"
|
|
17
|
-
has_many_new: "Přidat nový
|
|
18
|
+
has_many_new: "Přidat nový"
|
|
18
19
|
has_many_delete: "Odstranit"
|
|
19
20
|
filter: "Filtr"
|
|
20
21
|
clear_filters: "Vyčistit filtry"
|
|
21
|
-
search_field: "
|
|
22
|
+
search_field: "%{field}"
|
|
22
23
|
equal_to: "Přesně"
|
|
23
24
|
greater_than: "Větší než"
|
|
24
25
|
less_than: "Menší než"
|
|
@@ -27,8 +28,11 @@ cs:
|
|
|
27
28
|
sidebars:
|
|
28
29
|
filters: "Filtr"
|
|
29
30
|
pagination:
|
|
30
|
-
empty: "
|
|
31
|
-
one: "
|
|
32
|
-
one_page: "
|
|
33
|
-
multiple: "
|
|
31
|
+
empty: "Nenalezen."
|
|
32
|
+
one: "Zobrazena <b>1</b> položka"
|
|
33
|
+
one_page: "Počet zobrazených položek %{n}"
|
|
34
|
+
multiple: "<b>%{from} - %{to}</b> z <b>%{total}</b>"
|
|
34
35
|
any: "Kterákoliv"
|
|
36
|
+
blank_slate:
|
|
37
|
+
content: "Zatím zde není žádný obsah."
|
|
38
|
+
link: "Vytvořit"
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
de:
|
|
2
|
+
active_admin:
|
|
3
|
+
dashboard: Übersicht
|
|
4
|
+
dashboard_welcome:
|
|
5
|
+
welcome: "Willkommen in Active Admin. Dies ist die Standard-Übersichtsseite."
|
|
6
|
+
call_to_action: "Siehe 'app/admin/dashboards.rb', um Übersichts-Bereiche hinzuzufügen."
|
|
7
|
+
view: "Anzeigen"
|
|
8
|
+
edit: "Bearbeiten"
|
|
9
|
+
delete: "Löschen"
|
|
10
|
+
delete_confirmation: "Wollen Sie dieses Element wirklich löschen?"
|
|
11
|
+
new_model: "%{model} erstellen"
|
|
12
|
+
create_model: "%{model} erstellen"
|
|
13
|
+
edit_model: "%{model} bearbeiten"
|
|
14
|
+
delete_model: "%{model} löschen"
|
|
15
|
+
details: "%{model} Details"
|
|
16
|
+
cancel: "Abbrechen"
|
|
17
|
+
empty: "Leer"
|
|
18
|
+
previous: "Zurück"
|
|
19
|
+
next: "Weiter"
|
|
20
|
+
download: "Herunterladen:"
|
|
21
|
+
has_many_new: "%{model} hinzufügen"
|
|
22
|
+
has_many_delete: "Löschen"
|
|
23
|
+
filter: "Filtern"
|
|
24
|
+
clear_filters: "Filter entfernen"
|
|
25
|
+
search_field: "Durchsuche %{field}"
|
|
26
|
+
equal_to: "Gleich"
|
|
27
|
+
greater_than: "Größer als"
|
|
28
|
+
less_than: "Kleiner als"
|
|
29
|
+
main_content: "Bitte implementieren Sie %{model}#main_content, um Inhalte anzuzeigen."
|
|
30
|
+
logout: "Abmelden"
|
|
31
|
+
sidebars:
|
|
32
|
+
filters: "Filter"
|
|
33
|
+
pagination:
|
|
34
|
+
empty: "Keine %{model} gefunden"
|
|
35
|
+
one: "Zeige <b>1</b> %{model}"
|
|
36
|
+
one_page: "Zeige <b>alle %{n}</b> %{model}"
|
|
37
|
+
multiple: "Zeige %{model} <b>%{from} – %{to}</b> von <b>%{total}</b>"
|
|
38
|
+
entry:
|
|
39
|
+
one: "Eintrag"
|
|
40
|
+
other: "Einträge"
|
|
41
|
+
any: "Alle"
|
|
42
|
+
blank_slate:
|
|
43
|
+
content: "Es gibt noch keine %{resource_name}."
|
|
44
|
+
link: "Erstellen"
|
|
@@ -9,7 +9,9 @@ en:
|
|
|
9
9
|
delete: "Delete"
|
|
10
10
|
delete_confirmation: "Are you sure you want to delete this?"
|
|
11
11
|
new_model: "New %{model}"
|
|
12
|
+
create_model: "New %{model}"
|
|
12
13
|
edit_model: "Edit %{model}"
|
|
14
|
+
update_model: "Edit %{model}"
|
|
13
15
|
delete_model: "Delete %{model}"
|
|
14
16
|
details: "%{model} Details"
|
|
15
17
|
cancel: "Cancel"
|
|
@@ -34,6 +36,9 @@ en:
|
|
|
34
36
|
one: "Displaying <b>1</b> %{model}"
|
|
35
37
|
one_page: "Displaying <b>all %{n}</b> %{model}"
|
|
36
38
|
multiple: "Displaying %{model} <b>%{from} - %{to}</b> of <b>%{total}</b> in total"
|
|
39
|
+
entry:
|
|
40
|
+
one: "entry"
|
|
41
|
+
other: "entries"
|
|
37
42
|
any: "Any"
|
|
38
43
|
blank_slate:
|
|
39
44
|
content: "There are no %{resource_name} yet."
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
hr:
|
|
2
|
+
active_admin:
|
|
3
|
+
dashboard: "Upravljačka ploča"
|
|
4
|
+
dashboard_welcome:
|
|
5
|
+
welcome: "Dobrodošli u Active Admin. Ovo je početna upravljačka ploča."
|
|
6
|
+
call_to_action: "Da bi ste dodali nove odjeljke na upravljačku ploču, pogledajte 'app/admin/dashboards.rb'"
|
|
7
|
+
view: "Pregledaj"
|
|
8
|
+
edit: "Uredi"
|
|
9
|
+
delete: "Obriši"
|
|
10
|
+
delete_confirmation: "Jeste li sigurni da želite ovo obrisati?"
|
|
11
|
+
new_model: "Novi %{model}"
|
|
12
|
+
edit_model: "Uredi %{model}"
|
|
13
|
+
delete_model: "Obriši %{model}"
|
|
14
|
+
details: "%{model} detalji"
|
|
15
|
+
cancel: "Odustani"
|
|
16
|
+
empty: "Prazno"
|
|
17
|
+
previous: "Prijašnji"
|
|
18
|
+
next: "Sljedeći"
|
|
19
|
+
download: "Spremi na računalo:"
|
|
20
|
+
has_many_new: "Dodaj novi %{model}"
|
|
21
|
+
has_many_delete: "Obriši"
|
|
22
|
+
filter: "Filter"
|
|
23
|
+
clear_filters: "Očisti Filtere"
|
|
24
|
+
search_field: "Pretraži po %{field}"
|
|
25
|
+
equal_to: "Jednako"
|
|
26
|
+
greater_than: "Veće Od"
|
|
27
|
+
less_than: "Manje Od"
|
|
28
|
+
main_content: "Molim Vas, implementirajte %{model}#main_content da bi ste prikazali sadržaj."
|
|
29
|
+
logout: "Odjavi se"
|
|
30
|
+
sidebars:
|
|
31
|
+
filters: "Filteri"
|
|
32
|
+
pagination:
|
|
33
|
+
empty: "Nije pronađen niti jedan %{model}."
|
|
34
|
+
one: "Prikazan <b>1</b> %{model}"
|
|
35
|
+
one_page: "Prikazano <b>svih %{n}</b> %{model}"
|
|
36
|
+
multiple: "Prikazani %{model} <b>%{from} - %{to}</b> od ukupno <b>%{total}</b>"
|
|
37
|
+
any: "Bilo koji"
|
|
38
|
+
blank_slate:
|
|
39
|
+
content: "Još uvijek ne postoji niti jedan zapis tipa %{resource_name}."
|
|
40
|
+
link: "Kreiraj jedan"
|