active_scaffold_vho 3.0.6
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/.autotest +27 -0
- data/.document +5 -0
- data/CHANGELOG +179 -0
- data/Gemfile +13 -0
- data/Gemfile.lock +20 -0
- data/MIT-LICENSE +20 -0
- data/README +63 -0
- data/Rakefile +53 -0
- data/frontends/default/images/add.gif +0 -0
- data/frontends/default/images/arrow_down.gif +0 -0
- data/frontends/default/images/arrow_up.gif +0 -0
- data/frontends/default/images/close.gif +0 -0
- data/frontends/default/images/config.png +0 -0
- data/frontends/default/images/cross.png +0 -0
- data/frontends/default/images/gears.png +0 -0
- data/frontends/default/images/indicator-small.gif +0 -0
- data/frontends/default/images/indicator.gif +0 -0
- data/frontends/default/images/magnifier.png +0 -0
- data/frontends/default/javascripts/jquery/active_scaffold.js +957 -0
- data/frontends/default/javascripts/jquery/jquery.editinplace.js +743 -0
- data/frontends/default/javascripts/prototype/active_scaffold.js +957 -0
- data/frontends/default/javascripts/prototype/dhtml_history.js +867 -0
- data/frontends/default/javascripts/prototype/form_enhancements.js +117 -0
- data/frontends/default/javascripts/prototype/rico_corner.js +370 -0
- data/frontends/default/stylesheets/stylesheet-ie.css +35 -0
- data/frontends/default/stylesheets/stylesheet.css +964 -0
- data/frontends/default/views/_action_group.html.erb +20 -0
- data/frontends/default/views/_add_existing_form.html.erb +30 -0
- data/frontends/default/views/_base_form.html.erb +45 -0
- data/frontends/default/views/_create_form.html.erb +8 -0
- data/frontends/default/views/_create_form_on_list.html.erb +6 -0
- data/frontends/default/views/_field_search.html.erb +32 -0
- data/frontends/default/views/_form.html.erb +24 -0
- data/frontends/default/views/_form_association.html.erb +14 -0
- data/frontends/default/views/_form_association_footer.html.erb +40 -0
- data/frontends/default/views/_form_attribute.html.erb +15 -0
- data/frontends/default/views/_form_hidden_attribute.html.erb +2 -0
- data/frontends/default/views/_form_messages.html.erb +5 -0
- data/frontends/default/views/_horizontal_subform.html.erb +19 -0
- data/frontends/default/views/_horizontal_subform_header.html.erb +10 -0
- data/frontends/default/views/_horizontal_subform_record.html.erb +37 -0
- data/frontends/default/views/_human_conditions.html.erb +1 -0
- data/frontends/default/views/_list.html.erb +18 -0
- data/frontends/default/views/_list_actions.html.erb +15 -0
- data/frontends/default/views/_list_calculations.html.erb +16 -0
- data/frontends/default/views/_list_column_headings.html.erb +12 -0
- data/frontends/default/views/_list_header.html.erb +10 -0
- data/frontends/default/views/_list_inline_adapter.html.erb +10 -0
- data/frontends/default/views/_list_messages.html.erb +32 -0
- data/frontends/default/views/_list_pagination.html.erb +11 -0
- data/frontends/default/views/_list_pagination_links.html.erb +9 -0
- data/frontends/default/views/_list_record.html.erb +14 -0
- data/frontends/default/views/_list_record_columns.html.erb +8 -0
- data/frontends/default/views/_list_with_header.html.erb +32 -0
- data/frontends/default/views/_messages.html.erb +10 -0
- data/frontends/default/views/_render_field.js.rjs +13 -0
- data/frontends/default/views/_row.html.erb +12 -0
- data/frontends/default/views/_search.html.erb +34 -0
- data/frontends/default/views/_search_attribute.html.erb +10 -0
- data/frontends/default/views/_show.html.erb +8 -0
- data/frontends/default/views/_show_columns.html.erb +15 -0
- data/frontends/default/views/_update_actions.html.erb +9 -0
- data/frontends/default/views/_update_form.html.erb +6 -0
- data/frontends/default/views/_vertical_subform.html.erb +12 -0
- data/frontends/default/views/_vertical_subform_record.html.erb +38 -0
- data/frontends/default/views/action_confirmation.html.erb +13 -0
- data/frontends/default/views/add_existing.js.rjs +17 -0
- data/frontends/default/views/add_existing_form.html.erb +5 -0
- data/frontends/default/views/create.html.erb +5 -0
- data/frontends/default/views/delete.html.erb +13 -0
- data/frontends/default/views/destroy.js.rjs +11 -0
- data/frontends/default/views/edit_associated.js.rjs +11 -0
- data/frontends/default/views/field_search.html.erb +5 -0
- data/frontends/default/views/form_messages.js.rjs +1 -0
- data/frontends/default/views/list.html.erb +1 -0
- data/frontends/default/views/list.js.rjs +1 -0
- data/frontends/default/views/on_action_update.js.rjs +8 -0
- data/frontends/default/views/on_create.js.rjs +41 -0
- data/frontends/default/views/on_update.js.rjs +28 -0
- data/frontends/default/views/search.html.erb +5 -0
- data/frontends/default/views/show.html.erb +5 -0
- data/frontends/default/views/update.html.erb +8 -0
- data/frontends/default/views/update_column.js.rjs +13 -0
- data/frontends/default/views/update_row.js.rjs +1 -0
- data/init.rb +9 -0
- data/lib/active_record_permissions.rb +134 -0
- data/lib/active_scaffold/actions/common_search.rb +22 -0
- data/lib/active_scaffold/actions/core.rb +170 -0
- data/lib/active_scaffold/actions/create.rb +145 -0
- data/lib/active_scaffold/actions/delete.rb +75 -0
- data/lib/active_scaffold/actions/field_search.rb +82 -0
- data/lib/active_scaffold/actions/list.rb +184 -0
- data/lib/active_scaffold/actions/mark.rb +50 -0
- data/lib/active_scaffold/actions/nested.rb +250 -0
- data/lib/active_scaffold/actions/search.rb +47 -0
- data/lib/active_scaffold/actions/show.rb +61 -0
- data/lib/active_scaffold/actions/subform.rb +17 -0
- data/lib/active_scaffold/actions/update.rb +141 -0
- data/lib/active_scaffold/attribute_params.rb +207 -0
- data/lib/active_scaffold/bridges/ancestry/bridge.rb +5 -0
- data/lib/active_scaffold/bridges/ancestry/lib/ancestry_bridge.rb +39 -0
- data/lib/active_scaffold/bridges/bridge.rb +52 -0
- data/lib/active_scaffold/bridges/calendar_date_select/bridge.rb +16 -0
- data/lib/active_scaffold/bridges/calendar_date_select/lib/as_cds_bridge.rb +79 -0
- data/lib/active_scaffold/bridges/carrierwave/bridge.rb +7 -0
- data/lib/active_scaffold/bridges/carrierwave/lib/carrierwave_bridge.rb +38 -0
- data/lib/active_scaffold/bridges/carrierwave/lib/carrierwave_bridge_helpers.rb +26 -0
- data/lib/active_scaffold/bridges/carrierwave/lib/form_ui.rb +35 -0
- data/lib/active_scaffold/bridges/carrierwave/lib/list_ui.rb +17 -0
- data/lib/active_scaffold/bridges/date_picker/bridge.rb +22 -0
- data/lib/active_scaffold/bridges/date_picker/lib/datepicker_bridge.rb +225 -0
- data/lib/active_scaffold/bridges/date_picker/public/javascripts/date_picker_bridge.js +22 -0
- data/lib/active_scaffold/bridges/file_column/bridge.rb +11 -0
- data/lib/active_scaffold/bridges/file_column/lib/as_file_column_bridge.rb +46 -0
- data/lib/active_scaffold/bridges/file_column/lib/file_column_helpers.rb +59 -0
- data/lib/active_scaffold/bridges/file_column/lib/form_ui.rb +37 -0
- data/lib/active_scaffold/bridges/file_column/lib/list_ui.rb +26 -0
- data/lib/active_scaffold/bridges/file_column/test/functional/file_column_keep_test.rb +43 -0
- data/lib/active_scaffold/bridges/file_column/test/mock_model.rb +9 -0
- data/lib/active_scaffold/bridges/file_column/test/test_helper.rb +15 -0
- data/lib/active_scaffold/bridges/paperclip/bridge.rb +10 -0
- data/lib/active_scaffold/bridges/paperclip/lib/form_ui.rb +27 -0
- data/lib/active_scaffold/bridges/paperclip/lib/list_ui.rb +16 -0
- data/lib/active_scaffold/bridges/paperclip/lib/paperclip_bridge.rb +38 -0
- data/lib/active_scaffold/bridges/paperclip/lib/paperclip_bridge_helpers.rb +26 -0
- data/lib/active_scaffold/bridges/semantic_attributes/bridge.rb +5 -0
- data/lib/active_scaffold/bridges/semantic_attributes/lib/semantic_attributes_bridge.rb +20 -0
- data/lib/active_scaffold/bridges/shared/date_bridge.rb +187 -0
- data/lib/active_scaffold/bridges/tiny_mce/bridge.rb +5 -0
- data/lib/active_scaffold/bridges/tiny_mce/lib/tiny_mce_bridge.rb +45 -0
- data/lib/active_scaffold/bridges/validation_reflection/bridge.rb +8 -0
- data/lib/active_scaffold/bridges/validation_reflection/lib/validation_reflection_bridge.rb +21 -0
- data/lib/active_scaffold/config/base.rb +62 -0
- data/lib/active_scaffold/config/core.rb +220 -0
- data/lib/active_scaffold/config/create.rb +51 -0
- data/lib/active_scaffold/config/delete.rb +34 -0
- data/lib/active_scaffold/config/field_search.rb +75 -0
- data/lib/active_scaffold/config/form.rb +47 -0
- data/lib/active_scaffold/config/list.rb +174 -0
- data/lib/active_scaffold/config/mark.rb +22 -0
- data/lib/active_scaffold/config/nested.rb +44 -0
- data/lib/active_scaffold/config/search.rb +69 -0
- data/lib/active_scaffold/config/show.rb +35 -0
- data/lib/active_scaffold/config/subform.rb +35 -0
- data/lib/active_scaffold/config/update.rb +46 -0
- data/lib/active_scaffold/configurable.rb +29 -0
- data/lib/active_scaffold/constraints.rb +184 -0
- data/lib/active_scaffold/data_structures/action_columns.rb +133 -0
- data/lib/active_scaffold/data_structures/action_link.rb +171 -0
- data/lib/active_scaffold/data_structures/action_links.rb +175 -0
- data/lib/active_scaffold/data_structures/actions.rb +45 -0
- data/lib/active_scaffold/data_structures/column.rb +351 -0
- data/lib/active_scaffold/data_structures/columns.rb +75 -0
- data/lib/active_scaffold/data_structures/error_message.rb +24 -0
- data/lib/active_scaffold/data_structures/nested_info.rb +123 -0
- data/lib/active_scaffold/data_structures/set.rb +62 -0
- data/lib/active_scaffold/data_structures/sorting.rb +168 -0
- data/lib/active_scaffold/finder.rb +333 -0
- data/lib/active_scaffold/helpers/association_helpers.rb +40 -0
- data/lib/active_scaffold/helpers/controller_helpers.rb +82 -0
- data/lib/active_scaffold/helpers/country_helpers.rb +352 -0
- data/lib/active_scaffold/helpers/form_column_helpers.rb +347 -0
- data/lib/active_scaffold/helpers/human_condition_helpers.rb +59 -0
- data/lib/active_scaffold/helpers/id_helpers.rb +127 -0
- data/lib/active_scaffold/helpers/list_column_helpers.rb +361 -0
- data/lib/active_scaffold/helpers/pagination_helpers.rb +55 -0
- data/lib/active_scaffold/helpers/search_column_helpers.rb +243 -0
- data/lib/active_scaffold/helpers/show_column_helpers.rb +46 -0
- data/lib/active_scaffold/helpers/view_helpers.rb +356 -0
- data/lib/active_scaffold/locale/de.rb +120 -0
- data/lib/active_scaffold/locale/en.rb +119 -0
- data/lib/active_scaffold/locale/es.yml +115 -0
- data/lib/active_scaffold/locale/fr.rb +116 -0
- data/lib/active_scaffold/locale/hu.yml +63 -0
- data/lib/active_scaffold/locale/ja.yml +64 -0
- data/lib/active_scaffold/locale/ru.yml +119 -0
- data/lib/active_scaffold/marked_model.rb +38 -0
- data/lib/active_scaffold/version.rb +9 -0
- data/lib/active_scaffold.rb +345 -0
- data/lib/active_scaffold_assets.rb +45 -0
- data/lib/dhtml_confirm.rb +54 -0
- data/lib/environment.rb +14 -0
- data/lib/extensions/action_controller_rendering.rb +20 -0
- data/lib/extensions/action_view_rendering.rb +113 -0
- data/lib/extensions/action_view_resolver.rb +7 -0
- data/lib/extensions/active_association_reflection.rb +13 -0
- data/lib/extensions/active_record_offset.rb +12 -0
- data/lib/extensions/array.rb +7 -0
- data/lib/extensions/localize.rb +10 -0
- data/lib/extensions/name_option_for_datetime.rb +12 -0
- data/lib/extensions/nil_id_in_url_params.rb +7 -0
- data/lib/extensions/paginator_extensions.rb +26 -0
- data/lib/extensions/reverse_associations.rb +62 -0
- data/lib/extensions/routing_mapper.rb +34 -0
- data/lib/extensions/to_label.rb +8 -0
- data/lib/extensions/unsaved_associated.rb +61 -0
- data/lib/extensions/unsaved_record.rb +20 -0
- data/lib/extensions/usa_state.rb +46 -0
- data/lib/generators/active_scaffold/USAGE +29 -0
- data/lib/generators/active_scaffold/active_scaffold_generator.rb +20 -0
- data/lib/generators/active_scaffold_controller/USAGE +19 -0
- data/lib/generators/active_scaffold_controller/active_scaffold_controller_generator.rb +28 -0
- data/lib/generators/active_scaffold_controller/templates/controller.rb +4 -0
- data/lib/generators/active_scaffold_setup/USAGE +10 -0
- data/lib/generators/active_scaffold_setup/active_scaffold_setup_generator.rb +53 -0
- data/lib/paginator.rb +136 -0
- data/lib/responds_to_parent.rb +70 -0
- data/public/blank.html +33 -0
- data/shoulda_macros/macros.rb +136 -0
- data/test/bridges/bridge_test.rb +47 -0
- data/test/config/base_test.rb +15 -0
- data/test/config/create_test.rb +55 -0
- data/test/config/list_test.rb +74 -0
- data/test/config/show_test.rb +43 -0
- data/test/config/update_test.rb +17 -0
- data/test/const_mocker.rb +36 -0
- data/test/data_structures/action_columns_test.rb +113 -0
- data/test/data_structures/action_link_test.rb +78 -0
- data/test/data_structures/action_links_test.rb +78 -0
- data/test/data_structures/actions_test.rb +25 -0
- data/test/data_structures/association_column_test.rb +42 -0
- data/test/data_structures/column_test.rb +185 -0
- data/test/data_structures/columns_test.rb +69 -0
- data/test/data_structures/error_message_test.rb +28 -0
- data/test/data_structures/set_test.rb +86 -0
- data/test/data_structures/sorting_test.rb +126 -0
- data/test/data_structures/standard_column_test.rb +24 -0
- data/test/data_structures/virtual_column_test.rb +23 -0
- data/test/extensions/active_record_test.rb +45 -0
- data/test/extensions/array_test.rb +12 -0
- data/test/helpers/form_column_helpers_test.rb +31 -0
- data/test/helpers/list_column_helpers_test.rb +31 -0
- data/test/helpers/pagination_helpers_test.rb +55 -0
- data/test/misc/active_record_permissions_test.rb +154 -0
- data/test/misc/attribute_params_test.rb +110 -0
- data/test/misc/configurable_test.rb +96 -0
- data/test/misc/constraints_test.rb +193 -0
- data/test/misc/finder_test.rb +93 -0
- data/test/misc/lang_test.rb +12 -0
- data/test/mock_app/.gitignore +2 -0
- data/test/mock_app/app/controllers/application_controller.rb +10 -0
- data/test/mock_app/app/helpers/application_helper.rb +3 -0
- data/test/mock_app/config/boot.rb +110 -0
- data/test/mock_app/config/database.yml +16 -0
- data/test/mock_app/config/environment.rb +43 -0
- data/test/mock_app/config/environments/development.rb +17 -0
- data/test/mock_app/config/environments/production.rb +28 -0
- data/test/mock_app/config/environments/test.rb +28 -0
- data/test/mock_app/config/initializers/backtrace_silencers.rb +7 -0
- data/test/mock_app/config/initializers/inflections.rb +10 -0
- data/test/mock_app/config/initializers/mime_types.rb +5 -0
- data/test/mock_app/config/initializers/new_rails_defaults.rb +19 -0
- data/test/mock_app/config/initializers/session_store.rb +15 -0
- data/test/mock_app/config/locales/en.yml +5 -0
- data/test/mock_app/config/routes.rb +43 -0
- data/test/mock_app/db/test.sqlite3 +1 -0
- data/test/mock_app/public/blank.html +33 -0
- data/test/mock_app/public/images/active_scaffold/DO_NOT_EDIT +2 -0
- data/test/mock_app/public/images/active_scaffold/default/add.gif +0 -0
- data/test/mock_app/public/images/active_scaffold/default/arrow_down.gif +0 -0
- data/test/mock_app/public/images/active_scaffold/default/arrow_up.gif +0 -0
- data/test/mock_app/public/images/active_scaffold/default/close.gif +0 -0
- data/test/mock_app/public/images/active_scaffold/default/cross.png +0 -0
- data/test/mock_app/public/images/active_scaffold/default/indicator-small.gif +0 -0
- data/test/mock_app/public/images/active_scaffold/default/indicator.gif +0 -0
- data/test/mock_app/public/images/active_scaffold/default/magnifier.png +0 -0
- data/test/mock_app/public/javascripts/active_scaffold/DO_NOT_EDIT +2 -0
- data/test/mock_app/public/javascripts/active_scaffold/default/active_scaffold.js +532 -0
- data/test/mock_app/public/javascripts/active_scaffold/default/dhtml_history.js +867 -0
- data/test/mock_app/public/javascripts/active_scaffold/default/form_enhancements.js +117 -0
- data/test/mock_app/public/javascripts/active_scaffold/default/rico_corner.js +370 -0
- data/test/mock_app/public/stylesheets/active_scaffold/DO_NOT_EDIT +2 -0
- data/test/mock_app/public/stylesheets/active_scaffold/default/stylesheet-ie.css +35 -0
- data/test/mock_app/public/stylesheets/active_scaffold/default/stylesheet.css +839 -0
- data/test/model_stub.rb +55 -0
- data/test/run_all.rb +8 -0
- data/test/test_helper.rb +39 -0
- data/uninstall.rb +13 -0
- metadata +492 -0
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
module ActiveScaffold
|
|
2
|
+
module Helpers
|
|
3
|
+
# Helpers that assist with the rendering of a List Column
|
|
4
|
+
module ShowColumnHelpers
|
|
5
|
+
def show_column_value(record, column)
|
|
6
|
+
# check for an override helper
|
|
7
|
+
if show_column_override? column
|
|
8
|
+
# we only pass the record as the argument. we previously also passed the formatted_value,
|
|
9
|
+
# but mike perham pointed out that prohibited the usage of overrides to improve on the
|
|
10
|
+
# performance of our default formatting. see issue #138.
|
|
11
|
+
send(show_column_override(column), record)
|
|
12
|
+
# second, check if the dev has specified a valid list_ui for this column
|
|
13
|
+
elsif column.list_ui and override_show_column_ui?(column.list_ui)
|
|
14
|
+
send(override_show_column_ui(column.list_ui), column, record)
|
|
15
|
+
else
|
|
16
|
+
if column.column and override_show_column_ui?(column.column.type)
|
|
17
|
+
send(override_show_column_ui(column.column.type), column, record)
|
|
18
|
+
else
|
|
19
|
+
get_column_value(record, column)
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
def active_scaffold_show_text(column, record)
|
|
25
|
+
simple_format(clean_column_value(record.send(column.name)))
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
def show_column_override(column)
|
|
29
|
+
"#{column.name.to_s.gsub('?', '')}_show_column" # parse out any question marks (see issue 227)
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
def show_column_override?(column)
|
|
33
|
+
respond_to?(show_column_override(column))
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
def override_show_column_ui?(list_ui)
|
|
37
|
+
respond_to?(override_show_column_ui(list_ui))
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
# the naming convention for overriding show types with helpers
|
|
41
|
+
def override_show_column_ui(list_ui)
|
|
42
|
+
"active_scaffold_show_#{list_ui}"
|
|
43
|
+
end
|
|
44
|
+
end
|
|
45
|
+
end
|
|
46
|
+
end
|
|
@@ -0,0 +1,356 @@
|
|
|
1
|
+
module ActiveScaffold
|
|
2
|
+
module Helpers
|
|
3
|
+
# All extra helpers that should be included in the View.
|
|
4
|
+
# Also a dumping ground for uncategorized helpers.
|
|
5
|
+
module ViewHelpers
|
|
6
|
+
include ActiveScaffold::Helpers::IdHelpers
|
|
7
|
+
include ActiveScaffold::Helpers::AssociationHelpers
|
|
8
|
+
include ActiveScaffold::Helpers::PaginationHelpers
|
|
9
|
+
include ActiveScaffold::Helpers::ListColumnHelpers
|
|
10
|
+
include ActiveScaffold::Helpers::ShowColumnHelpers
|
|
11
|
+
include ActiveScaffold::Helpers::FormColumnHelpers
|
|
12
|
+
include ActiveScaffold::Helpers::SearchColumnHelpers
|
|
13
|
+
include ActiveScaffold::Helpers::CountryHelpers
|
|
14
|
+
include ActiveScaffold::Helpers::HumanConditionHelpers
|
|
15
|
+
|
|
16
|
+
##
|
|
17
|
+
## Delegates
|
|
18
|
+
##
|
|
19
|
+
|
|
20
|
+
# access to the configuration variable
|
|
21
|
+
def active_scaffold_config
|
|
22
|
+
controller.class.active_scaffold_config
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
def active_scaffold_config_for(*args)
|
|
26
|
+
controller.class.active_scaffold_config_for(*args)
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
def active_scaffold_controller_for(*args)
|
|
30
|
+
controller.class.active_scaffold_controller_for(*args)
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
##
|
|
34
|
+
## Uncategorized
|
|
35
|
+
##
|
|
36
|
+
|
|
37
|
+
def controller_path_for_activerecord(klass)
|
|
38
|
+
begin
|
|
39
|
+
controller = active_scaffold_controller_for(klass)
|
|
40
|
+
controller.controller_path
|
|
41
|
+
rescue ActiveScaffold::ControllerNotFound
|
|
42
|
+
controller = nil
|
|
43
|
+
end
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
def generate_temporary_id
|
|
47
|
+
(Time.now.to_f*1000).to_i.to_s
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
# Turns [[label, value]] into <option> tags
|
|
51
|
+
# Takes optional parameter of :include_blank
|
|
52
|
+
def option_tags_for(select_options, options = {})
|
|
53
|
+
select_options.insert(0,[as_(:_select_),nil]) if options[:include_blank]
|
|
54
|
+
select_options.collect do |option|
|
|
55
|
+
label, value = option[0], option[1]
|
|
56
|
+
value.nil? ? "<option value="">#{label}</option>" : "<option value=\"#{value}\">#{label}</option>"
|
|
57
|
+
end
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
# Should this column be displayed in the subform?
|
|
61
|
+
def in_subform?(column, parent_record)
|
|
62
|
+
return true unless column.association
|
|
63
|
+
|
|
64
|
+
# Polymorphic associations can't appear because they *might* be the reverse association, and because you generally don't assign an association from the polymorphic side ... I think.
|
|
65
|
+
return false if column.polymorphic_association?
|
|
66
|
+
|
|
67
|
+
# A column shouldn't be in the subform if it's the reverse association to the parent
|
|
68
|
+
return false if column.association.reverse_for?(parent_record.class)
|
|
69
|
+
|
|
70
|
+
return true
|
|
71
|
+
end
|
|
72
|
+
|
|
73
|
+
def form_remote_upload_tag(url_for_options = {}, options = {})
|
|
74
|
+
options[:target] = action_iframe_id(url_for_options)
|
|
75
|
+
options[:multipart] ||= true
|
|
76
|
+
options[:class] = "#{options[:class]} as_remote_upload".strip
|
|
77
|
+
output=""
|
|
78
|
+
output << form_tag(url_for_options, options)
|
|
79
|
+
(output << "<iframe id='#{action_iframe_id(url_for_options)}' name='#{action_iframe_id(url_for_options)}' style='display:none'></iframe>").html_safe
|
|
80
|
+
end
|
|
81
|
+
|
|
82
|
+
# Provides list of javascripts to include with +javascript_include_tag+
|
|
83
|
+
# You can use this with your javascripts like
|
|
84
|
+
# <%= javascript_include_tag :defaults, 'your_own_cool_script', active_scaffold_javascripts, :cache => true %>
|
|
85
|
+
def active_scaffold_javascripts(frontend = :default)
|
|
86
|
+
ActiveScaffold::Config::Core.javascripts(frontend).collect do |name|
|
|
87
|
+
ActiveScaffold::Config::Core.asset_path(name, frontend)
|
|
88
|
+
end
|
|
89
|
+
end
|
|
90
|
+
|
|
91
|
+
# Provides stylesheets to include with +stylesheet_link_tag+
|
|
92
|
+
def active_scaffold_stylesheets(frontend = :default)
|
|
93
|
+
[ActiveScaffold::Config::Core.asset_path("stylesheet.css", frontend)]
|
|
94
|
+
end
|
|
95
|
+
|
|
96
|
+
# Provides stylesheets for IE to include with +stylesheet_link_tag+
|
|
97
|
+
def active_scaffold_ie_stylesheets(frontend = :default)
|
|
98
|
+
[ActiveScaffold::Config::Core.asset_path("stylesheet-ie.css", frontend)]
|
|
99
|
+
end
|
|
100
|
+
|
|
101
|
+
# easy way to include ActiveScaffold assets
|
|
102
|
+
def active_scaffold_includes(*args)
|
|
103
|
+
frontend = args.first.is_a?(Symbol) ? args.shift : :default
|
|
104
|
+
options = args.first.is_a?(Hash) ? args.shift : {}
|
|
105
|
+
js = javascript_include_tag(*active_scaffold_javascripts(frontend).push(options))
|
|
106
|
+
|
|
107
|
+
css = stylesheet_link_tag(*active_scaffold_stylesheets(frontend).push(options))
|
|
108
|
+
options[:cache] += '_ie' if options[:cache].is_a? String
|
|
109
|
+
options[:concat] += '_ie' if options[:concat].is_a? String
|
|
110
|
+
ie_css = stylesheet_link_tag(*active_scaffold_ie_stylesheets(frontend).push(options))
|
|
111
|
+
|
|
112
|
+
js + "\n" + css + "\n<!--[if IE]>".html_safe + ie_css + "<![endif]-->\n".html_safe
|
|
113
|
+
end
|
|
114
|
+
|
|
115
|
+
# a general-use loading indicator (the "stuff is happening, please wait" feedback)
|
|
116
|
+
def loading_indicator_tag(options)
|
|
117
|
+
image_tag "/images/active_scaffold/default/indicator.gif", :style => "visibility:hidden;", :id => loading_indicator_id(options), :alt => "loading indicator", :class => "loading-indicator"
|
|
118
|
+
end
|
|
119
|
+
|
|
120
|
+
# Creates a javascript-based link that toggles the visibility of some element on the page.
|
|
121
|
+
# By default, it toggles the visibility of the sibling after the one it's nested in. You may pass custom javascript logic in options[:of] to change that, though. For example, you could say :of => '$("my_div_id")'.
|
|
122
|
+
# You may also flag whether the other element is visible by default or not, and the initial text will adjust accordingly.
|
|
123
|
+
def link_to_visibility_toggle(id, options = {})
|
|
124
|
+
options[:default_visible] = true if options[:default_visible].nil?
|
|
125
|
+
options[:hide_label] = as_(:hide)
|
|
126
|
+
options[:show_label] = as_(:show)
|
|
127
|
+
javascript_tag("ActiveScaffold.create_visibility_toggle('#{id}', #{options.to_json});")
|
|
128
|
+
end
|
|
129
|
+
|
|
130
|
+
def skip_action_link(link, *args)
|
|
131
|
+
(!link.ignore_method.nil? and controller.try(link.ignore_method, *args)) || ((link.security_method_set? or controller.respond_to? link.security_method) and !controller.send(link.security_method, *args))
|
|
132
|
+
end
|
|
133
|
+
|
|
134
|
+
def render_action_link(link, url_options, record = nil, html_options = {})
|
|
135
|
+
url_options = action_link_url_options(link, url_options, record)
|
|
136
|
+
html_options = action_link_html_options(link, url_options, record, html_options)
|
|
137
|
+
action_link_html(link, url_options, html_options)
|
|
138
|
+
end
|
|
139
|
+
|
|
140
|
+
def render_group_action_link(link, url_options, options, record = nil)
|
|
141
|
+
if link.type == :member && !options[:authorized]
|
|
142
|
+
action_link_html(link, nil, {:class => "disabled #{link.action}#{link.html_options[:class].blank? ? '' : (' ' + link.html_options[:class])}"})
|
|
143
|
+
else
|
|
144
|
+
render_action_link(link, url_options, record)
|
|
145
|
+
end
|
|
146
|
+
end
|
|
147
|
+
|
|
148
|
+
def action_link_url_options(link, url_options, record, options = {})
|
|
149
|
+
url_options = url_options.clone
|
|
150
|
+
url_options[:action] = link.action
|
|
151
|
+
url_options[:controller] = link.controller if link.controller
|
|
152
|
+
url_options.delete(:search) if link.controller and link.controller.to_s != params[:controller]
|
|
153
|
+
url_options.merge! link.parameters if link.parameters
|
|
154
|
+
url_options_for_nested_link(link.column, record, link, url_options, options) if link.nested_link?
|
|
155
|
+
url_options_for_sti_link(link.column, record, link, url_options, options) unless record.nil? || active_scaffold_config.sti_children.nil?
|
|
156
|
+
url_options[:_method] = link.method if !link.confirm? && link.inline? && link.method != :get
|
|
157
|
+
url_options
|
|
158
|
+
end
|
|
159
|
+
|
|
160
|
+
def action_link_html_options(link, url_options, record, html_options)
|
|
161
|
+
link_id = get_action_link_id(url_options, record, link.column)
|
|
162
|
+
html_options.reverse_merge! link.html_options.merge(:class => link.action)
|
|
163
|
+
|
|
164
|
+
# Needs to be in html_options to as the adding _method to the url is no longer supported by Rails
|
|
165
|
+
html_options[:method] = link.method if link.method != :get
|
|
166
|
+
|
|
167
|
+
html_options['data-confirm'] = link.confirm(record.try(:to_label)) if link.confirm?
|
|
168
|
+
html_options['data-position'] = link.position if link.position and link.inline?
|
|
169
|
+
html_options[:class] += ' as_action' if link.inline?
|
|
170
|
+
if link.popup?
|
|
171
|
+
html_options['data-popup'] = true
|
|
172
|
+
html_options[:target] = '_blank'
|
|
173
|
+
end
|
|
174
|
+
html_options[:id] = link_id
|
|
175
|
+
html_options[:remote] = true unless link.page? || link.popup?
|
|
176
|
+
if link.dhtml_confirm?
|
|
177
|
+
html_options[:class] += ' as_action' if !link.inline?
|
|
178
|
+
html_options[:page_link] = 'true' if !link.inline?
|
|
179
|
+
html_options[:dhtml_confirm] = link.dhtml_confirm.value
|
|
180
|
+
html_options[:onclick] = link.dhtml_confirm.onclick_function(controller, link_id)
|
|
181
|
+
end
|
|
182
|
+
html_options[:class] += " #{link.html_options[:class]}" unless link.html_options[:class].blank?
|
|
183
|
+
html_options
|
|
184
|
+
end
|
|
185
|
+
|
|
186
|
+
def get_action_link_id(url_options, record = nil, column = nil)
|
|
187
|
+
id = url_options[:id] || url_options[:parent_id]
|
|
188
|
+
id = "#{column.association.name}-#{record.id}" if column && column.plural_association?
|
|
189
|
+
if record.try(column.association.name.to_sym).present?
|
|
190
|
+
id = "#{column.association.name}-#{record.send(column.association.name).id}"
|
|
191
|
+
else
|
|
192
|
+
id = "#{column.association.name}-#{record.id}" unless record.nil?
|
|
193
|
+
end if column && column.singular_association?
|
|
194
|
+
action_id = "#{id_from_controller(url_options[:controller]) + '-' if url_options[:parent_controller]}#{url_options[:action].to_s}"
|
|
195
|
+
action_link_id(action_id, id)
|
|
196
|
+
end
|
|
197
|
+
|
|
198
|
+
def action_link_html(link, url, html_options)
|
|
199
|
+
# issue 260, use url_options[:link] if it exists. This prevents DB data from being localized.
|
|
200
|
+
label = url.delete(:link) if url.is_a?(Hash)
|
|
201
|
+
label ||= link.label
|
|
202
|
+
if link.image.nil?
|
|
203
|
+
html = link_to(label, url, html_options)
|
|
204
|
+
else
|
|
205
|
+
html = link_to(image_tag(link.image[:name] , :size => link.image[:size], :alt => label), url, html_options)
|
|
206
|
+
end
|
|
207
|
+
# if url is nil we would like to generate an anchor without href attribute
|
|
208
|
+
url.nil? ? html.sub(/href=".*?"/, '') : html
|
|
209
|
+
end
|
|
210
|
+
|
|
211
|
+
def url_options_for_nested_link(column, record, link, url_options, options = {})
|
|
212
|
+
if column && column.association
|
|
213
|
+
url_options[:assoc_id] = url_options.delete(:id)
|
|
214
|
+
url_options[:id] = record.send(column.association.name).id if column.singular_association? && record.send(column.association.name).present?
|
|
215
|
+
link.eid = "#{controller_id.from(3)}_#{record.id}_#{column.association.name}" unless options.has_key?(:reuse_eid)
|
|
216
|
+
url_options[:eid] = link.eid
|
|
217
|
+
elsif link.parameters && link.parameters[:named_scope]
|
|
218
|
+
url_options[:assoc_id] = url_options.delete(:id)
|
|
219
|
+
link.eid = "#{controller_id.from(3)}_#{record.id}_#{link.parameters[:named_scope]}" unless options.has_key?(:reuse_eid)
|
|
220
|
+
url_options[:eid] = link.eid
|
|
221
|
+
end
|
|
222
|
+
end
|
|
223
|
+
|
|
224
|
+
def url_options_for_sti_link(column, record, link, url_options, options = {})
|
|
225
|
+
#need to find out controller of current record type
|
|
226
|
+
#and set parameters
|
|
227
|
+
sti_controller_path = controller_path_for_activerecord(record.class)
|
|
228
|
+
if sti_controller_path
|
|
229
|
+
url_options[:controller] = sti_controller_path
|
|
230
|
+
url_options[:parent_sti] = controller_path
|
|
231
|
+
end
|
|
232
|
+
end
|
|
233
|
+
|
|
234
|
+
def column_class(column, column_value, record)
|
|
235
|
+
classes = []
|
|
236
|
+
classes << "#{column.name}-column"
|
|
237
|
+
if column.css_class.is_a?(Proc)
|
|
238
|
+
css_class = column.css_class.call(column_value, record)
|
|
239
|
+
classes << css_class unless css_class.nil?
|
|
240
|
+
else
|
|
241
|
+
classes << column.css_class
|
|
242
|
+
end unless column.css_class.nil?
|
|
243
|
+
|
|
244
|
+
classes << 'empty' if column_empty? column_value
|
|
245
|
+
classes << 'sorted' if active_scaffold_config.list.user.sorting.sorts_on?(column)
|
|
246
|
+
classes << 'numeric' if column.column and [:decimal, :float, :integer].include?(column.column.type)
|
|
247
|
+
classes.join(' ').rstrip
|
|
248
|
+
end
|
|
249
|
+
|
|
250
|
+
def column_heading_class(column, sorting)
|
|
251
|
+
classes = []
|
|
252
|
+
classes << "#{column.name}-column_heading"
|
|
253
|
+
classes << "sorted #{sorting.direction_of(column).downcase}" if sorting.sorts_on? column
|
|
254
|
+
classes << column.css_class unless column.css_class.nil?
|
|
255
|
+
classes.join(' ')
|
|
256
|
+
end
|
|
257
|
+
|
|
258
|
+
def column_empty?(column_value)
|
|
259
|
+
empty = column_value.nil?
|
|
260
|
+
empty ||= column_value.empty? if column_value.respond_to? :empty?
|
|
261
|
+
empty ||= [' ', active_scaffold_config.list.empty_field_text].include? column_value if String === column_value
|
|
262
|
+
return empty
|
|
263
|
+
end
|
|
264
|
+
|
|
265
|
+
def column_calculation(column)
|
|
266
|
+
unless column.calculate.instance_of? Proc
|
|
267
|
+
conditions = controller.send(:all_conditions)
|
|
268
|
+
includes = active_scaffold_config.list.count_includes
|
|
269
|
+
includes ||= controller.send(:active_scaffold_includes) unless conditions.nil?
|
|
270
|
+
calculation = beginning_of_chain.calculate(column.calculate, column.name, :conditions => conditions,
|
|
271
|
+
:joins => controller.send(:joins_for_collection), :include => includes)
|
|
272
|
+
else
|
|
273
|
+
column.calculate.call(@records)
|
|
274
|
+
end
|
|
275
|
+
end
|
|
276
|
+
|
|
277
|
+
def render_column_calculation(column)
|
|
278
|
+
calculation = column_calculation(column)
|
|
279
|
+
override_formatter = "render_#{column.name}_#{column.calculate}"
|
|
280
|
+
calculation = send(override_formatter, calculation) if respond_to? override_formatter
|
|
281
|
+
|
|
282
|
+
"#{"#{as_(column.calculate)}: " unless column.calculate.is_a? Proc}#{format_column_value nil, column, calculation}"
|
|
283
|
+
end
|
|
284
|
+
|
|
285
|
+
def column_show_add_existing(column)
|
|
286
|
+
(column.allow_add_existing and options_for_association_count(column.association) > 0)
|
|
287
|
+
end
|
|
288
|
+
|
|
289
|
+
def column_show_add_new(column, associated, record)
|
|
290
|
+
value = column.plural_association? || (column.singular_association? and not associated.empty?)
|
|
291
|
+
value = false unless record.class.authorized_for?(:crud_type => :create)
|
|
292
|
+
value
|
|
293
|
+
end
|
|
294
|
+
|
|
295
|
+
def active_scaffold_error_messages_for(*params)
|
|
296
|
+
options = params.extract_options!.symbolize_keys
|
|
297
|
+
options.reverse_merge!(:container_tag => :div, :list_type => :ul)
|
|
298
|
+
|
|
299
|
+
objects = Array.wrap(options.delete(:object) || params).map do |object|
|
|
300
|
+
object = instance_variable_get("@#{object}") unless object.respond_to?(:to_model)
|
|
301
|
+
object = convert_to_model(object)
|
|
302
|
+
|
|
303
|
+
if object.class.respond_to?(:model_name)
|
|
304
|
+
options[:object_name] ||= object.class.model_name.human.downcase
|
|
305
|
+
end
|
|
306
|
+
|
|
307
|
+
object
|
|
308
|
+
end
|
|
309
|
+
|
|
310
|
+
objects.compact!
|
|
311
|
+
count = objects.inject(0) {|sum, object| sum + object.errors.count }
|
|
312
|
+
|
|
313
|
+
unless count.zero?
|
|
314
|
+
html = {}
|
|
315
|
+
[:id, :class].each do |key|
|
|
316
|
+
if options.include?(key)
|
|
317
|
+
value = options[key]
|
|
318
|
+
html[key] = value unless value.blank?
|
|
319
|
+
else
|
|
320
|
+
html[key] = 'errorExplanation'
|
|
321
|
+
end
|
|
322
|
+
end
|
|
323
|
+
options[:object_name] ||= params.first
|
|
324
|
+
|
|
325
|
+
header_message = if options.include?(:header_message)
|
|
326
|
+
options[:header_message]
|
|
327
|
+
else
|
|
328
|
+
as_('errors.template.header', :count => count, :model => options[:object_name].to_s.gsub('_', ' '))
|
|
329
|
+
end
|
|
330
|
+
|
|
331
|
+
message = options.include?(:message) ? options[:message] : as_('errors.template.body')
|
|
332
|
+
|
|
333
|
+
error_messages = objects.sum do |object|
|
|
334
|
+
object.errors.full_messages.map do |msg|
|
|
335
|
+
options[:list_type] != :br ? content_tag(:li, msg) : msg
|
|
336
|
+
end
|
|
337
|
+
end
|
|
338
|
+
error_messages = if options[:list_type] == :br
|
|
339
|
+
error_messages.join('<br/>').html_safe
|
|
340
|
+
else
|
|
341
|
+
content_tag(options[:list_type], error_messages.join.html_safe)
|
|
342
|
+
end
|
|
343
|
+
|
|
344
|
+
contents = []
|
|
345
|
+
contents << content_tag(options[:header_tag] || :h2, header_message) unless header_message.blank?
|
|
346
|
+
contents << content_tag(:p, message) unless message.blank?
|
|
347
|
+
contents << error_messages
|
|
348
|
+
contents = contents.join.html_safe
|
|
349
|
+
options[:container_tag] ? content_tag(options[:container_tag], contents, html) : contents
|
|
350
|
+
else
|
|
351
|
+
''
|
|
352
|
+
end
|
|
353
|
+
end
|
|
354
|
+
end
|
|
355
|
+
end
|
|
356
|
+
end
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
{
|
|
2
|
+
:'de' => {
|
|
3
|
+
:active_scaffold => {
|
|
4
|
+
:add => 'Hinzufügen',
|
|
5
|
+
:add_existing => 'Existierenden Eintrag hinzufügen',
|
|
6
|
+
:add_existing_model => 'Existierende %{model} hinzufügen',
|
|
7
|
+
:are_you_sure_to_delete => 'Sind Sie sicher?',
|
|
8
|
+
:cancel => 'Abbrechen',
|
|
9
|
+
:click_to_edit => 'Zum Editieren anklicken',
|
|
10
|
+
:click_to_reset => 'Reset',
|
|
11
|
+
:close => 'Schliessen',
|
|
12
|
+
:config_list => 'Konfigurieren',
|
|
13
|
+
:config_list_model => 'Konfiguriere Spalten für %{model}',
|
|
14
|
+
:create => 'Anlegen',
|
|
15
|
+
:create_model => 'Lege %{model} an',
|
|
16
|
+
:create_another => 'Weitere anlegen',
|
|
17
|
+
:created_model => '%{model} angelegt',
|
|
18
|
+
:create_new => 'Neu anlegen',
|
|
19
|
+
:customize => 'Anpassen',
|
|
20
|
+
:delete => 'Löschen',
|
|
21
|
+
:deleted_model => '%{model} gelöscht',
|
|
22
|
+
:delimiter => 'Trennzeichen',
|
|
23
|
+
:download => 'Download',
|
|
24
|
+
:edit => 'Bearbeiten',
|
|
25
|
+
:export => 'Exportieren',
|
|
26
|
+
:nested_for_model => '%{nested_model} für %{parent_model}',
|
|
27
|
+
:nested_of_model => '%{nested_model} von %{parent_model}',
|
|
28
|
+
:filtered => '(Gefiltert)',
|
|
29
|
+
:found => 'Gefunden',
|
|
30
|
+
:hide => 'Verstecken',
|
|
31
|
+
:live_search => 'Live-Suche',
|
|
32
|
+
:loading => 'Lade…',
|
|
33
|
+
:next => 'Vorwärts',
|
|
34
|
+
:no_entries => 'Keine Einträge',
|
|
35
|
+
:no_options => 'Keine Optionen',
|
|
36
|
+
:omit_header => 'Lasse Header weg',
|
|
37
|
+
:options => 'Optionen',
|
|
38
|
+
:pdf => 'PDF',
|
|
39
|
+
:previous => 'Zurück',
|
|
40
|
+
:print => 'Drucken',
|
|
41
|
+
:refresh => 'Neu laden',
|
|
42
|
+
:remove => 'Entfernen',
|
|
43
|
+
:remove_file => 'Entferne oder Ersetze Datei',
|
|
44
|
+
:replace_with_new => 'Mit Neuer ersetzen',
|
|
45
|
+
:revisions_for_model => 'Revisionen für %{model}',
|
|
46
|
+
:reset => 'Zurücksetzen',
|
|
47
|
+
:saving => 'Speichern…',
|
|
48
|
+
:search => 'Suche',
|
|
49
|
+
:search_terms => 'Suchbegriffe',
|
|
50
|
+
:_select_ => '- Auswählen -',
|
|
51
|
+
:show => 'Anzeigen',
|
|
52
|
+
:show_model => 'Zeige %{model} an',
|
|
53
|
+
:_to_ => ' zu ',
|
|
54
|
+
:update => 'Speichern',
|
|
55
|
+
:update_model => 'Editiere %{model}',
|
|
56
|
+
:updated_model => '%{model} aktualisiert',
|
|
57
|
+
:'=' => '=',
|
|
58
|
+
:'>=' => '>=',
|
|
59
|
+
:'<=' => '<=',
|
|
60
|
+
:'>' => '>',
|
|
61
|
+
:'<' => '<',
|
|
62
|
+
:'!=' => '!=',
|
|
63
|
+
:between => 'Zwischen',
|
|
64
|
+
:contains => 'Enthält',
|
|
65
|
+
:begins_with => 'Beginnt',
|
|
66
|
+
:ends_with => 'Ended',
|
|
67
|
+
:today => 'Heute',
|
|
68
|
+
:yesterday => 'Gestern',
|
|
69
|
+
:tomorrow => 'Morgen',
|
|
70
|
+
:this_week => 'Diese Woche',
|
|
71
|
+
:prev_week => 'Letzte Woche',
|
|
72
|
+
:next_week => 'Nächste Woche',
|
|
73
|
+
:this_month => 'Diesen Monat',
|
|
74
|
+
:prev_month => 'Letzten Monat',
|
|
75
|
+
:next_month => 'Nächsten Monat',
|
|
76
|
+
:this_year => 'Dieses Jahr',
|
|
77
|
+
:prev_year => 'Letztes Jahr',
|
|
78
|
+
:next_year => 'Nächstes Jahr',
|
|
79
|
+
:past => 'Letzten',
|
|
80
|
+
:future => 'Nächsten',
|
|
81
|
+
:range => 'Zeitraum',
|
|
82
|
+
:seconds => 'Sekunden',
|
|
83
|
+
:minutes => 'Minuten',
|
|
84
|
+
:hours => 'Stunden',
|
|
85
|
+
:days => 'Tage',
|
|
86
|
+
:weeks => 'Wochen',
|
|
87
|
+
:months => 'Monate',
|
|
88
|
+
:years => 'Jahre',
|
|
89
|
+
:optional_attributes => 'Weitere',
|
|
90
|
+
:null => 'Null',
|
|
91
|
+
:not_null => 'Nicht Null',
|
|
92
|
+
:date_picker_options => {
|
|
93
|
+
:weekHeader => 'Wo',
|
|
94
|
+
:firstDay => 1,
|
|
95
|
+
:isRTL => false,
|
|
96
|
+
:showMonthAfterYear => false
|
|
97
|
+
},
|
|
98
|
+
:datetime_picker_options => {
|
|
99
|
+
:timeText => 'Uhrzeit',
|
|
100
|
+
:currentText => 'Jetzt',
|
|
101
|
+
:closeText => 'Schließen'
|
|
102
|
+
},
|
|
103
|
+
:errors => {
|
|
104
|
+
:template => {
|
|
105
|
+
:header => {
|
|
106
|
+
:one => "Konnte %{model} nicht speichern: ein Fehler.",
|
|
107
|
+
:other => "Konnte %{model} nicht speichern: %{count} Fehler."
|
|
108
|
+
},
|
|
109
|
+
:body => "Bitte überprüfen Sie die folgenden Felder:"
|
|
110
|
+
}
|
|
111
|
+
},
|
|
112
|
+
# error_messages
|
|
113
|
+
:cant_destroy_record => "%{record} kann nicht gelöscht werden",
|
|
114
|
+
:internal_error => 'Fehler bei der Verarbeitung (code 500, Interner Fehler)',
|
|
115
|
+
:version_inconsistency => 'Inkonsistente Versionen - dieser Eintrag wurde verändert nachdem Sie mit der Bearbeitung begonnen haben.',
|
|
116
|
+
:record_not_saved => 'Eintrag kann nicht gespeichert werden. Ursache unbekannt.',
|
|
117
|
+
:no_authorization_for_action => "Keine Berechtigung für Aktion %{action}"
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
}
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
{
|
|
2
|
+
:'en' => {
|
|
3
|
+
:active_scaffold => {
|
|
4
|
+
:add => 'Add',
|
|
5
|
+
:add_existing => 'Add Existing',
|
|
6
|
+
:add_existing_model => 'Add Existing %{model}',
|
|
7
|
+
:are_you_sure_to_delete => 'Are you sure you want to delete %{label}?',
|
|
8
|
+
:cancel => 'Cancel',
|
|
9
|
+
:click_to_edit => 'Click to edit',
|
|
10
|
+
:click_to_reset => 'Click to reset',
|
|
11
|
+
:close => 'Close',
|
|
12
|
+
:config_list => 'Configure',
|
|
13
|
+
:config_list_model => 'Configure Columns for %{model}',
|
|
14
|
+
:create => 'Create',
|
|
15
|
+
:create_model => 'Create %{model}',
|
|
16
|
+
:create_another => 'Create Another %{model}',
|
|
17
|
+
:created_model => 'Created %{model}',
|
|
18
|
+
:create_new => 'Create New',
|
|
19
|
+
:customize => 'Customize',
|
|
20
|
+
:delete => 'Delete',
|
|
21
|
+
:deleted_model => 'Deleted %{model}',
|
|
22
|
+
:delimiter => 'Delimiter',
|
|
23
|
+
:download => 'Download',
|
|
24
|
+
:edit => 'Edit',
|
|
25
|
+
:export => 'Export',
|
|
26
|
+
:nested_for_model => '%{nested_model} for %{parent_model}',
|
|
27
|
+
:nested_of_model => '%{nested_model} of %{parent_model}',
|
|
28
|
+
:false => 'False',
|
|
29
|
+
:filtered => '(Filtered)',
|
|
30
|
+
:found => 'Found',
|
|
31
|
+
:hide => 'Hide',
|
|
32
|
+
:live_search => 'Live Search',
|
|
33
|
+
:loading => 'Loading…',
|
|
34
|
+
:next => 'Next',
|
|
35
|
+
:no_entries => 'No Entries',
|
|
36
|
+
:no_options => 'no options',
|
|
37
|
+
:omit_header => 'Omit Header',
|
|
38
|
+
:options => 'Options',
|
|
39
|
+
:pdf => 'PDF',
|
|
40
|
+
:previous => 'Previous',
|
|
41
|
+
:print => 'Print',
|
|
42
|
+
:refresh => 'Refresh',
|
|
43
|
+
:remove => 'Remove',
|
|
44
|
+
:remove_file => 'Remove or Replace file',
|
|
45
|
+
:replace_with_new => 'Replace With New',
|
|
46
|
+
:revisions_for_model => 'Revisions for %{model}',
|
|
47
|
+
:reset => 'Reset',
|
|
48
|
+
:saving => 'Saving…',
|
|
49
|
+
:search => 'Search',
|
|
50
|
+
:search_terms => 'Search Terms',
|
|
51
|
+
:_select_ => '- select -',
|
|
52
|
+
:show => 'Show',
|
|
53
|
+
:show_model => 'Show %{model}',
|
|
54
|
+
:_to_ => ' to ',
|
|
55
|
+
:true => 'True',
|
|
56
|
+
:update => 'Update',
|
|
57
|
+
:update_model => 'Update %{model}',
|
|
58
|
+
:updated_model => 'Updated %{model}',
|
|
59
|
+
:'=' => '=',
|
|
60
|
+
:'>=' => '>=',
|
|
61
|
+
:'<=' => '<=',
|
|
62
|
+
:'>' => '>',
|
|
63
|
+
:'<' => '<',
|
|
64
|
+
:'!=' => '!=',
|
|
65
|
+
:between => 'Between',
|
|
66
|
+
:contains => 'Contains',
|
|
67
|
+
:begins_with => 'Begins with',
|
|
68
|
+
:ends_with => 'Ends with',
|
|
69
|
+
:today => 'Today',
|
|
70
|
+
:yesterday => 'Yesterday',
|
|
71
|
+
:tomorrow => 'Tommorrow',
|
|
72
|
+
:this_week => 'This Week',
|
|
73
|
+
:prev_week => 'Last Week',
|
|
74
|
+
:next_week => 'Next Week',
|
|
75
|
+
:this_month => 'This Month',
|
|
76
|
+
:prev_month => 'Last Month',
|
|
77
|
+
:next_month => 'Next Month',
|
|
78
|
+
:this_year => 'This Year',
|
|
79
|
+
:prev_year => 'Last Year',
|
|
80
|
+
:next_year => 'Next Year',
|
|
81
|
+
:past => 'Past',
|
|
82
|
+
:future => 'Future',
|
|
83
|
+
:range => 'Range',
|
|
84
|
+
:seconds => 'Seconds',
|
|
85
|
+
:minutes => 'Minutes',
|
|
86
|
+
:hours => 'Hours',
|
|
87
|
+
:days => 'Days',
|
|
88
|
+
:weeks => 'Weeks',
|
|
89
|
+
:months => 'Months',
|
|
90
|
+
:years => 'Years',
|
|
91
|
+
:optional_attributes => 'Further Options',
|
|
92
|
+
:null => 'Null',
|
|
93
|
+
:not_null => 'Not Null',
|
|
94
|
+
:date_picker_options => {
|
|
95
|
+
:weekHeader => 'Wk',
|
|
96
|
+
:firstDay => 0,
|
|
97
|
+
:isRTL => false,
|
|
98
|
+
:showMonthAfterYear => false
|
|
99
|
+
},
|
|
100
|
+
:datetime_picker_options => {
|
|
101
|
+
},
|
|
102
|
+
:errors => {
|
|
103
|
+
:template => {
|
|
104
|
+
:header => {
|
|
105
|
+
:one => "1 error prohibited this %{model} from being saved.",
|
|
106
|
+
:other => "%{count} errors prohibited this %{model} from being saved"
|
|
107
|
+
},
|
|
108
|
+
:body => "There were problems with the following fields:"
|
|
109
|
+
}
|
|
110
|
+
},
|
|
111
|
+
# error_messages
|
|
112
|
+
:cant_destroy_record => "%{record} can't be destroyed",
|
|
113
|
+
:internal_error => 'Request Failed (code 500, Internal Error)',
|
|
114
|
+
:version_inconsistency => 'Version inconsistency - this record has been modified since you started editing it.',
|
|
115
|
+
:record_not_saved => 'Failed to save record cause of an unknown error',
|
|
116
|
+
:no_authorization_for_action => "No Authorization for action %{action}"
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
}
|