rails_admin 0.6.5 → 0.6.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.
Files changed (133) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/javascripts/rails_admin/bootstrap/bootstrap-affix.js +99 -74
  3. data/app/assets/javascripts/rails_admin/bootstrap/bootstrap-alert.js +48 -55
  4. data/app/assets/javascripts/rails_admin/bootstrap/bootstrap-button.js +70 -65
  5. data/app/assets/javascripts/rails_admin/bootstrap/bootstrap-carousel.js +163 -147
  6. data/app/assets/javascripts/rails_admin/bootstrap/bootstrap-collapse.js +117 -114
  7. data/app/assets/javascripts/rails_admin/bootstrap/bootstrap-dropdown.js +89 -107
  8. data/app/assets/javascripts/rails_admin/bootstrap/bootstrap-modal.js +208 -175
  9. data/app/assets/javascripts/rails_admin/bootstrap/bootstrap-popover.js +77 -78
  10. data/app/assets/javascripts/rails_admin/bootstrap/bootstrap-scrollspy.js +137 -129
  11. data/app/assets/javascripts/rails_admin/bootstrap/bootstrap-tab.js +85 -101
  12. data/app/assets/javascripts/rails_admin/bootstrap/bootstrap-tooltip.js +364 -268
  13. data/app/assets/javascripts/rails_admin/bootstrap/bootstrap-transition.js +51 -52
  14. data/app/assets/javascripts/rails_admin/bootstrap/bootstrap-typeahead.js +1782 -335
  15. data/app/assets/javascripts/rails_admin/ra.filter-box.js +1 -1
  16. data/app/assets/javascripts/rails_admin/ra.filtering-multiselect.js +3 -3
  17. data/app/assets/javascripts/rails_admin/ra.filtering-select.js +1 -1
  18. data/app/assets/javascripts/rails_admin/ra.remote-form.js +6 -2
  19. data/app/assets/stylesheets/rails_admin/base/theming.scss +34 -14
  20. data/app/assets/stylesheets/rails_admin/bootstrap/_alerts.scss +47 -58
  21. data/app/assets/stylesheets/rails_admin/bootstrap/_badges.scss +57 -0
  22. data/app/assets/stylesheets/rails_admin/bootstrap/_breadcrumbs.scss +12 -10
  23. data/app/assets/stylesheets/rails_admin/bootstrap/_button-groups.scss +163 -152
  24. data/app/assets/stylesheets/rails_admin/bootstrap/_buttons.scss +98 -169
  25. data/app/assets/stylesheets/rails_admin/bootstrap/_carousel.scss +151 -66
  26. data/app/assets/stylesheets/rails_admin/bootstrap/_close.scss +11 -8
  27. data/app/assets/stylesheets/rails_admin/bootstrap/_code.scss +36 -29
  28. data/app/assets/stylesheets/rails_admin/bootstrap/_component-animations.scss +16 -3
  29. data/app/assets/stylesheets/rails_admin/bootstrap/_dropdowns.scss +115 -148
  30. data/app/assets/stylesheets/rails_admin/bootstrap/_forms.scss +396 -547
  31. data/app/assets/stylesheets/rails_admin/bootstrap/_glyphicons.scss +237 -0
  32. data/app/assets/stylesheets/rails_admin/bootstrap/_grid.scss +74 -11
  33. data/app/assets/stylesheets/rails_admin/bootstrap/_input-groups.scss +166 -0
  34. data/app/assets/stylesheets/rails_admin/bootstrap/_jumbotron.scss +48 -0
  35. data/app/assets/stylesheets/rails_admin/bootstrap/_labels.scss +66 -0
  36. data/app/assets/stylesheets/rails_admin/bootstrap/_list-group.scss +131 -0
  37. data/app/assets/stylesheets/rails_admin/bootstrap/_media.scss +8 -7
  38. data/app/assets/stylesheets/rails_admin/bootstrap/_mixins.scss +36 -693
  39. data/app/assets/stylesheets/rails_admin/bootstrap/_modals.scss +108 -53
  40. data/app/assets/stylesheets/rails_admin/bootstrap/_navbar.scss +545 -383
  41. data/app/assets/stylesheets/rails_admin/bootstrap/_navs.scss +191 -358
  42. data/app/assets/stylesheets/rails_admin/bootstrap/_normalize.scss +425 -0
  43. data/app/assets/stylesheets/rails_admin/bootstrap/_pager.scss +45 -33
  44. data/app/assets/stylesheets/rails_admin/bootstrap/_pagination.scss +70 -105
  45. data/app/assets/stylesheets/rails_admin/bootstrap/_panels.scss +243 -0
  46. data/app/assets/stylesheets/rails_admin/bootstrap/_popovers.scss +61 -61
  47. data/app/assets/stylesheets/rails_admin/bootstrap/_print.scss +101 -0
  48. data/app/assets/stylesheets/rails_admin/bootstrap/_progress-bars.scss +56 -73
  49. data/app/assets/stylesheets/rails_admin/bootstrap/_responsive-embed.scss +34 -0
  50. data/app/assets/stylesheets/rails_admin/bootstrap/_responsive-utilities.scss +150 -50
  51. data/app/assets/stylesheets/rails_admin/bootstrap/_scaffolding.scss +120 -23
  52. data/app/assets/stylesheets/rails_admin/bootstrap/_tables.scss +168 -170
  53. data/app/assets/stylesheets/rails_admin/bootstrap/_theme.scss +258 -0
  54. data/app/assets/stylesheets/rails_admin/bootstrap/_thumbnails.scss +27 -42
  55. data/app/assets/stylesheets/rails_admin/bootstrap/_tooltip.scss +49 -24
  56. data/app/assets/stylesheets/rails_admin/bootstrap/_type.scss +200 -143
  57. data/app/assets/stylesheets/rails_admin/bootstrap/_utilities.scss +33 -21
  58. data/app/assets/stylesheets/rails_admin/bootstrap/_variables.scss +764 -215
  59. data/app/assets/stylesheets/rails_admin/bootstrap/_wells.scss +7 -7
  60. data/app/assets/stylesheets/rails_admin/bootstrap/bootstrap.scss +47 -60
  61. data/app/assets/stylesheets/rails_admin/bootstrap/mixins/_alerts.scss +14 -0
  62. data/app/assets/stylesheets/rails_admin/bootstrap/mixins/_background-variant.scss +11 -0
  63. data/app/assets/stylesheets/rails_admin/bootstrap/mixins/_border-radius.scss +18 -0
  64. data/app/assets/stylesheets/rails_admin/bootstrap/mixins/_buttons.scss +50 -0
  65. data/app/assets/stylesheets/rails_admin/bootstrap/mixins/_center-block.scss +7 -0
  66. data/app/assets/stylesheets/rails_admin/bootstrap/mixins/_clearfix.scss +22 -0
  67. data/app/assets/stylesheets/rails_admin/bootstrap/mixins/_forms.scss +84 -0
  68. data/app/assets/stylesheets/rails_admin/bootstrap/mixins/_gradients.scss +58 -0
  69. data/app/assets/stylesheets/rails_admin/bootstrap/mixins/_grid-framework.scss +81 -0
  70. data/app/assets/stylesheets/rails_admin/bootstrap/mixins/_grid.scss +122 -0
  71. data/app/assets/stylesheets/rails_admin/bootstrap/mixins/_hide-text.scss +21 -0
  72. data/app/assets/stylesheets/rails_admin/bootstrap/mixins/_image.scss +34 -0
  73. data/app/assets/stylesheets/rails_admin/bootstrap/mixins/_labels.scss +12 -0
  74. data/app/assets/stylesheets/rails_admin/bootstrap/mixins/_list-group.scss +31 -0
  75. data/app/assets/stylesheets/rails_admin/bootstrap/mixins/_nav-divider.scss +10 -0
  76. data/app/assets/stylesheets/rails_admin/bootstrap/mixins/_nav-vertical-align.scss +9 -0
  77. data/app/assets/stylesheets/rails_admin/bootstrap/mixins/_opacity.scss +8 -0
  78. data/app/assets/stylesheets/rails_admin/bootstrap/mixins/_pagination.scss +23 -0
  79. data/app/assets/stylesheets/rails_admin/bootstrap/mixins/_panels.scss +24 -0
  80. data/app/assets/stylesheets/rails_admin/bootstrap/mixins/_progress-bar.scss +10 -0
  81. data/app/assets/stylesheets/rails_admin/bootstrap/mixins/_reset-filter.scss +8 -0
  82. data/app/assets/stylesheets/rails_admin/bootstrap/mixins/_resize.scss +6 -0
  83. data/app/assets/stylesheets/rails_admin/bootstrap/mixins/_responsive-visibility.scss +21 -0
  84. data/app/assets/stylesheets/rails_admin/bootstrap/mixins/_size.scss +10 -0
  85. data/app/assets/stylesheets/rails_admin/bootstrap/mixins/_tab-focus.scss +9 -0
  86. data/app/assets/stylesheets/rails_admin/bootstrap/mixins/_table-row.scss +28 -0
  87. data/app/assets/stylesheets/rails_admin/bootstrap/mixins/_text-emphasis.scss +11 -0
  88. data/app/assets/stylesheets/rails_admin/bootstrap/mixins/_text-overflow.scss +8 -0
  89. data/app/assets/stylesheets/rails_admin/bootstrap/mixins/_vendor-prefixes.scss +219 -0
  90. data/app/assets/stylesheets/rails_admin/ra.calendar-additions.scss +17 -0
  91. data/app/assets/stylesheets/rails_admin/rails_admin.scss.erb +9 -5
  92. data/app/helpers/rails_admin/application_helper.rb +20 -19
  93. data/app/helpers/rails_admin/form_builder.rb +14 -11
  94. data/app/views/kaminari/twitter-bootstrap/_paginator.html.haml +8 -9
  95. data/app/views/layouts/rails_admin/_navigation.html.haml +5 -5
  96. data/app/views/layouts/rails_admin/_secondary_navigation.html.haml +1 -1
  97. data/app/views/layouts/rails_admin/application.html.haml +9 -8
  98. data/app/views/layouts/rails_admin/pjax.html.haml +4 -3
  99. data/app/views/rails_admin/main/_form_datetime.html.haml +2 -1
  100. data/app/views/rails_admin/main/_form_field.html.haml +1 -1
  101. data/app/views/rails_admin/main/_form_text.html.haml +1 -1
  102. data/app/views/rails_admin/main/_submit_buttons.html.haml +1 -0
  103. data/app/views/rails_admin/main/dashboard.html.haml +1 -1
  104. data/app/views/rails_admin/main/export.html.haml +19 -16
  105. data/app/views/rails_admin/main/index.html.haml +11 -7
  106. data/app/views/rails_admin/main/show.html.haml +1 -1
  107. data/lib/rails_admin/adapters/active_record.rb +2 -2
  108. data/lib/rails_admin/adapters/mongoid/property.rb +1 -1
  109. data/lib/rails_admin/config/actions/bulk_delete.rb +0 -1
  110. data/lib/rails_admin/config/actions/edit.rb +0 -2
  111. data/lib/rails_admin/config/actions/export.rb +0 -2
  112. data/lib/rails_admin/config/actions/index.rb +0 -3
  113. data/lib/rails_admin/config/actions/new.rb +0 -2
  114. data/lib/rails_admin/config/configurable.rb +1 -1
  115. data/lib/rails_admin/config/fields/base.rb +9 -0
  116. data/lib/rails_admin/config/fields/factories/enum.rb +2 -3
  117. data/lib/rails_admin/config/fields/types/polymorphic_association.rb +4 -0
  118. data/lib/rails_admin/config/model.rb +2 -1
  119. data/lib/rails_admin/extensions/paper_trail/auditing_adapter.rb +2 -2
  120. data/lib/rails_admin/support/csv_converter.rb +22 -42
  121. data/lib/rails_admin/version.rb +1 -1
  122. metadata +59 -18
  123. data/app/assets/stylesheets/rails_admin/bootstrap/_accordion.scss +0 -34
  124. data/app/assets/stylesheets/rails_admin/bootstrap/_hero-unit.scss +0 -25
  125. data/app/assets/stylesheets/rails_admin/bootstrap/_labels-badges.scss +0 -83
  126. data/app/assets/stylesheets/rails_admin/bootstrap/_layouts.scss +0 -16
  127. data/app/assets/stylesheets/rails_admin/bootstrap/_reset.scss +0 -216
  128. data/app/assets/stylesheets/rails_admin/bootstrap/_responsive-1200px-min.scss +0 -28
  129. data/app/assets/stylesheets/rails_admin/bootstrap/_responsive-767px-max.scss +0 -193
  130. data/app/assets/stylesheets/rails_admin/bootstrap/_responsive-768px-979px.scss +0 -19
  131. data/app/assets/stylesheets/rails_admin/bootstrap/_responsive-navbar.scss +0 -189
  132. data/app/assets/stylesheets/rails_admin/bootstrap/_sprites.scss +0 -197
  133. data/app/assets/stylesheets/rails_admin/bootstrap/responsive.scss +0 -48
@@ -1,6 +1,6 @@
1
1
  - @model_config.show.with(object: @object, view: self, controller: self.controller).visible_groups.each do |fieldset|
2
2
  - unless (fields = fieldset.with(object: @object, view: self, controller: self.controller).visible_fields).empty?
3
- - if !(values = fields.map{ |f| f.value.presence }).compact.empty? || !RailsAdmin::config.compact_show_view
3
+ - if !(values = fields.map{ |f| f.formatted_value.presence }).compact.empty? || !RailsAdmin::config.compact_show_view
4
4
  .fieldset
5
5
  %h4
6
6
  = fieldset.label
@@ -56,8 +56,8 @@ module RailsAdmin
56
56
  def properties
57
57
  columns = model.columns.reject do |c|
58
58
  c.type.blank? ||
59
- DISABLED_COLUMN_TYPES.include?(c.type.to_sym) ||
60
- c.try(:array)
59
+ DISABLED_COLUMN_TYPES.include?(c.type.to_sym) ||
60
+ c.try(:array)
61
61
  end
62
62
  columns.collect do |property|
63
63
  Property.new(property, model)
@@ -71,7 +71,7 @@ module RailsAdmin
71
71
 
72
72
  def object_field_type
73
73
  if [:belongs_to, :referenced_in, :embedded_in].
74
- include?(model.relations.values.detect { |r| r.foreign_key.try(:to_sym) == name }.try(:macro).try(:to_sym))
74
+ include?(model.relations.values.detect { |r| r.foreign_key.try(:to_sym) == name }.try(:macro).try(:to_sym))
75
75
  :bson_object_id
76
76
  else
77
77
  :string
@@ -14,7 +14,6 @@ module RailsAdmin
14
14
 
15
15
  register_instance_option :controller do
16
16
  proc do
17
-
18
17
  if request.post? # BULK DELETE
19
18
 
20
19
  @objects = list_entries(@model_config, :destroy)
@@ -14,7 +14,6 @@ module RailsAdmin
14
14
 
15
15
  register_instance_option :controller do
16
16
  proc do
17
-
18
17
  if request.get? # EDIT
19
18
 
20
19
  respond_to do |format|
@@ -41,7 +40,6 @@ module RailsAdmin
41
40
  end
42
41
 
43
42
  end
44
-
45
43
  end
46
44
  end
47
45
 
@@ -14,7 +14,6 @@ module RailsAdmin
14
14
 
15
15
  register_instance_option :controller do
16
16
  proc do
17
-
18
17
  if format = params[:json] && :json || params[:csv] && :csv || params[:xml] && :xml
19
18
  request.format = format
20
19
  @schema = params[:schema].symbolize if params[:schema] # to_json and to_xml expect symbols for keys AND values.
@@ -23,7 +22,6 @@ module RailsAdmin
23
22
  else
24
23
  render @action.template_name
25
24
  end
26
-
27
25
  end
28
26
  end
29
27
 
@@ -40,7 +40,6 @@ module RailsAdmin
40
40
  end
41
41
 
42
42
  respond_to do |format|
43
-
44
43
  format.html do
45
44
  render @action.template_name, status: (flash[:error].present? ? :not_found : 200)
46
45
  end
@@ -81,9 +80,7 @@ module RailsAdmin
81
80
  render text: output
82
81
  end
83
82
  end
84
-
85
83
  end
86
-
87
84
  end
88
85
  end
89
86
 
@@ -13,9 +13,7 @@ module RailsAdmin
13
13
  end
14
14
 
15
15
  register_instance_option :controller do
16
-
17
16
  proc do
18
-
19
17
  if request.get? # NEW
20
18
 
21
19
  @object = @abstract_model.new
@@ -29,7 +29,7 @@ module RailsAdmin
29
29
  # accessed by an instance method. Both go by the name of the option.
30
30
  def register_instance_option(option_name, scope = self, &default)
31
31
  options = scope.instance_variable_get('@config_options') ||
32
- scope.instance_variable_set('@config_options', {})
32
+ scope.instance_variable_set('@config_options', {})
33
33
 
34
34
  option_name = option_name.to_s
35
35
  options[option_name] = nil
@@ -266,6 +266,15 @@ module RailsAdmin
266
266
  # Reader for field's value
267
267
  def value
268
268
  bindings[:object].safe_send(name)
269
+ rescue NoMethodError => e
270
+ raise e.exception <<-EOM.gsub(/^\s{10}/, '')
271
+ #{e.message}
272
+ If you want to use a RailsAdmin virtual field(= a field without corresponding instance method),
273
+ you should declare 'formatted_value' in the field definition.
274
+ field :#{name} do
275
+ formatted_value{ bindings[:object].call_some_method }
276
+ end
277
+ EOM
269
278
  end
270
279
 
271
280
  # Reader for nested attributes
@@ -2,14 +2,13 @@ require 'rails_admin/config/fields'
2
2
  require 'rails_admin/config/fields/types/enum'
3
3
 
4
4
  RailsAdmin::Config::Fields.register_factory do |parent, properties, fields|
5
-
6
5
  model = parent.abstract_model.model
7
6
  method_name = "#{properties.name}_enum"
8
7
 
9
8
  # NOTICE: _method_name could be `to_enum` and this method defined in Object.
10
9
  if !Object.respond_to?(method_name) && \
11
- (model.respond_to?(method_name) || \
12
- model.method_defined?(method_name))
10
+ (model.respond_to?(method_name) || \
11
+ model.method_defined?(method_name))
13
12
  fields << RailsAdmin::Config::Fields::Types::Enum.new(parent, properties.name, properties)
14
13
  true
15
14
  else
@@ -19,6 +19,10 @@ module RailsAdmin
19
19
  associated_model_config.length > 0
20
20
  end
21
21
 
22
+ register_instance_option :formatted_value do
23
+ (o = value) && o.send(RailsAdmin.config(o).object_label_method)
24
+ end
25
+
22
26
  register_instance_option :sortable do
23
27
  false
24
28
  end
@@ -44,7 +44,8 @@ module RailsAdmin
44
44
  end
45
45
 
46
46
  def object_label
47
- bindings[:object].send object_label_method
47
+ bindings[:object].send(object_label_method).presence ||
48
+ bindings[:object].send(:rails_admin_default_object_label_method)
48
49
  end
49
50
 
50
51
  # The display for a model instance (i.e. a single database record).
@@ -107,8 +107,8 @@ module RailsAdmin
107
107
 
108
108
  def version_class_for(model_name)
109
109
  klass = model_name.constantize.
110
- try(:version_class_name).
111
- try(:constantize)
110
+ try(:version_class_name).
111
+ try(:constantize)
112
112
 
113
113
  klass || @version_class
114
114
  end
@@ -1,12 +1,10 @@
1
1
  # encoding: UTF-8
2
- require RUBY_VERSION < '1.9' ? 'fastercsv' : 'csv'
2
+ require 'csv'
3
3
 
4
4
  module RailsAdmin
5
- CSV_CLASS = RUBY_VERSION < '1.9' ? ::FasterCSV : ::CSV
6
- NON_ASCII_ENCODINGS = /(UTF\-16)|(UTF\-32)|(EUC\-JP)|(ISO\-2022\-JP)|(Shift_JIS)|(Big5\-HKSCS)|(UTF\-7)/
7
- UTF8_ENCODINGS = [nil, '', 'utf8', 'utf-8', 'unicode', 'UTF8', 'UTF-8', 'UNICODE']
8
-
9
5
  class CSVConverter
6
+ UTF8_ENCODINGS = [nil, '', 'utf8', 'utf-8', 'unicode', 'UTF8', 'UTF-8', 'UNICODE']
7
+ TARGET_ENCODINGS = %w(UTF-8 UTF-16LE UTF-16BE UTF-32LE UTF-32BE UTF-7 ISO-8859-1 ISO-8859-15 IBM850 MacRoman Windows-1252 ISO-8859-3 IBM852 ISO-8859-2 Windows-1250 IBM855 ISO-8859-5 KOI8-R MacCyrillic Windows-1251 IBM866 GB2312 GBK GB18030 Big5 Big5-HKSCS EUC-TW EUC-JP ISO-2022-JP Shift_JIS EUC-KR)
10
8
  def initialize(objects = [], schema = {})
11
9
  return self if (@objects = objects).blank?
12
10
 
@@ -37,33 +35,23 @@ module RailsAdmin
37
35
 
38
36
  def to_csv(options = {})
39
37
  # encoding shenanigans first
40
- @encoding_from = UTF8_ENCODINGS.include?(@abstract_model.encoding) ? 'UTF-8' : @abstract_model.encoding
41
-
42
- @encoding_to = options[:encoding_to].presence || @encoding_from
38
+ @encoding_from = Encoding.find(UTF8_ENCODINGS.include?(@abstract_model.encoding) ? 'UTF-8' : @abstract_model.encoding)
39
+ @encoding_to = Encoding.find(options[:encoding_to].presence || @encoding_from)
43
40
 
44
41
  csv_string = generate_csv_string(options)
45
42
 
43
+ if @encoding_to != @encoding_from
44
+ csv_string = csv_string.encode(@encoding_to, @encoding_from, invalid: :replace, undef: :replace, replace: '?')
45
+ end
46
46
  # Add a BOM for utf8 encodings, helps with utf8 auto-detect for some versions of Excel.
47
47
  # Don't add if utf8 but user don't want to touch input encoding:
48
48
  # If user chooses utf8, they will open it in utf8 and BOM will disappear at reading.
49
49
  # But that way "English" users who don't bother and chooses to let utf8 by default won't get BOM added
50
50
  # and will not see it if Excel opens the file with a different encoding.
51
- if options[:encoding_to] == 'UTF-8'
52
- csv_string = csv_string.force_encoding('UTF-8') if csv_string.respond_to?(:force_encoding)
51
+ if options[:encoding_to].present? && @encoding_to == Encoding::UTF_8
53
52
  csv_string = "\xEF\xBB\xBF#{csv_string}"
54
53
  end
55
- # global conversion for non ASCII encodings
56
- if @encoding_to =~ NON_ASCII_ENCODINGS && @encoding_to != @encoding_from
57
- require 'iconv'
58
- begin
59
- if @iconv = Iconv.new("#{@encoding_to}//TRANSLIT//IGNORE", @encoding_from)
60
- csv_string = @iconv.iconv(csv_string) rescue csv_string
61
- end
62
- rescue
63
- Rails.logger.error("Iconv cannot convert to #{@encoding_to}: #{$ERROR_INFO}\nNo conversion will take place")
64
- end
65
- end
66
- [!options[:skip_header], @encoding_to, csv_string]
54
+ [!options[:skip_header], @encoding_to.to_s, csv_string]
67
55
  end
68
56
 
69
57
  private
@@ -78,7 +66,7 @@ module RailsAdmin
78
66
 
79
67
  def generate_csv_string(options)
80
68
  generator_options = (options[:generator] || {}).symbolize_keys.delete_if { |_, value| value.blank? }
81
- CSV_CLASS.generate(generator_options) do |csv|
69
+ CSV.generate(generator_options) do |csv|
82
70
  csv << generate_csv_header unless options[:skip_header]
83
71
 
84
72
  method = @objects.respond_to?(:find_each) ? :find_each : :each
@@ -90,33 +78,25 @@ module RailsAdmin
90
78
 
91
79
  def generate_csv_header
92
80
  @fields.collect do |field|
93
- output(::I18n.t('admin.export.csv.header_for_root_methods', name: field.label, model: @abstract_model.pretty_name))
81
+ ::I18n.t('admin.export.csv.header_for_root_methods', name: field.label, model: @abstract_model.pretty_name)
94
82
  end +
95
- @associations.flat_map do |_association_name, option_hash|
96
- option_hash[:fields].collect do |field|
97
- output(::I18n.t('admin.export.csv.header_for_association_methods', name: field.label, association: option_hash[:association].label))
83
+ @associations.flat_map do |_association_name, option_hash|
84
+ option_hash[:fields].collect do |field|
85
+ ::I18n.t('admin.export.csv.header_for_association_methods', name: field.label, association: option_hash[:association].label)
86
+ end
98
87
  end
99
- end
100
88
  end
101
89
 
102
90
  def generate_csv_row(object)
103
91
  @fields.collect do |field|
104
- output(field.with(object: object).export_value)
92
+ field.with(object: object).export_value
105
93
  end +
106
- @associations.flat_map do |association_name, option_hash|
107
- associated_objects = [object.send(association_name)].flatten.compact
108
- option_hash[:fields].collect do |field|
109
- output(associated_objects.collect { |ao| field.with(object: ao).export_value.presence || @empty }.join(','))
94
+ @associations.flat_map do |association_name, option_hash|
95
+ associated_objects = [object.send(association_name)].flatten.compact
96
+ option_hash[:fields].collect do |field|
97
+ associated_objects.collect { |ao| field.with(object: ao).export_value.presence || @empty }.join(',')
98
+ end
110
99
  end
111
- end
112
- end
113
-
114
- def output(str)
115
- # Can't use the CSV generator with encodings that are not supersets of ASCII-7
116
- return str.to_s if @encoding_to =~ NON_ASCII_ENCODINGS || !@iconv
117
-
118
- # Convert piece by piece
119
- @iconv.iconv(str.to_s) rescue str.to_s
120
100
  end
121
101
  end
122
102
  end
@@ -2,7 +2,7 @@ module RailsAdmin
2
2
  class Version
3
3
  MAJOR = 0
4
4
  MINOR = 6
5
- PATCH = 5
5
+ PATCH = 6
6
6
  PRE = nil
7
7
 
8
8
  class << self
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rails_admin
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.5
4
+ version: 0.6.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Erik Michaels-Ober
@@ -11,7 +11,7 @@ authors:
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2014-10-08 00:00:00.000000000 Z
14
+ date: 2014-12-22 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: builder
@@ -79,16 +79,22 @@ dependencies:
79
79
  name: jquery-rails
80
80
  requirement: !ruby/object:Gem::Requirement
81
81
  requirements:
82
- - - "~>"
82
+ - - ">="
83
83
  - !ruby/object:Gem::Version
84
84
  version: '3.0'
85
+ - - "<"
86
+ - !ruby/object:Gem::Version
87
+ version: '5'
85
88
  type: :runtime
86
89
  prerelease: false
87
90
  version_requirements: !ruby/object:Gem::Requirement
88
91
  requirements:
89
- - - "~>"
92
+ - - ">="
90
93
  - !ruby/object:Gem::Version
91
94
  version: '3.0'
95
+ - - "<"
96
+ - !ruby/object:Gem::Version
97
+ version: '5'
92
98
  - !ruby/object:Gem::Dependency
93
99
  name: jquery-ui-rails
94
100
  requirement: !ruby/object:Gem::Requirement
@@ -191,16 +197,22 @@ dependencies:
191
197
  name: sass-rails
192
198
  requirement: !ruby/object:Gem::Requirement
193
199
  requirements:
194
- - - "~>"
200
+ - - ">="
195
201
  - !ruby/object:Gem::Version
196
202
  version: '4.0'
203
+ - - "<"
204
+ - !ruby/object:Gem::Version
205
+ version: '6'
197
206
  type: :runtime
198
207
  prerelease: false
199
208
  version_requirements: !ruby/object:Gem::Requirement
200
209
  requirements:
201
- - - "~>"
210
+ - - ">="
202
211
  - !ruby/object:Gem::Version
203
212
  version: '4.0'
213
+ - - "<"
214
+ - !ruby/object:Gem::Version
215
+ version: '6'
204
216
  - !ruby/object:Gem::Dependency
205
217
  name: bundler
206
218
  requirement: !ruby/object:Gem::Requirement
@@ -314,8 +326,8 @@ files:
314
326
  - app/assets/stylesheets/rails_admin/base/mixins.scss
315
327
  - app/assets/stylesheets/rails_admin/base/theming.scss
316
328
  - app/assets/stylesheets/rails_admin/base/variables.scss
317
- - app/assets/stylesheets/rails_admin/bootstrap/_accordion.scss
318
329
  - app/assets/stylesheets/rails_admin/bootstrap/_alerts.scss
330
+ - app/assets/stylesheets/rails_admin/bootstrap/_badges.scss
319
331
  - app/assets/stylesheets/rails_admin/bootstrap/_breadcrumbs.scss
320
332
  - app/assets/stylesheets/rails_admin/bootstrap/_button-groups.scss
321
333
  - app/assets/stylesheets/rails_admin/bootstrap/_buttons.scss
@@ -325,28 +337,29 @@ files:
325
337
  - app/assets/stylesheets/rails_admin/bootstrap/_component-animations.scss
326
338
  - app/assets/stylesheets/rails_admin/bootstrap/_dropdowns.scss
327
339
  - app/assets/stylesheets/rails_admin/bootstrap/_forms.scss
340
+ - app/assets/stylesheets/rails_admin/bootstrap/_glyphicons.scss
328
341
  - app/assets/stylesheets/rails_admin/bootstrap/_grid.scss
329
- - app/assets/stylesheets/rails_admin/bootstrap/_hero-unit.scss
330
- - app/assets/stylesheets/rails_admin/bootstrap/_labels-badges.scss
331
- - app/assets/stylesheets/rails_admin/bootstrap/_layouts.scss
342
+ - app/assets/stylesheets/rails_admin/bootstrap/_input-groups.scss
343
+ - app/assets/stylesheets/rails_admin/bootstrap/_jumbotron.scss
344
+ - app/assets/stylesheets/rails_admin/bootstrap/_labels.scss
345
+ - app/assets/stylesheets/rails_admin/bootstrap/_list-group.scss
332
346
  - app/assets/stylesheets/rails_admin/bootstrap/_media.scss
333
347
  - app/assets/stylesheets/rails_admin/bootstrap/_mixins.scss
334
348
  - app/assets/stylesheets/rails_admin/bootstrap/_modals.scss
335
349
  - app/assets/stylesheets/rails_admin/bootstrap/_navbar.scss
336
350
  - app/assets/stylesheets/rails_admin/bootstrap/_navs.scss
351
+ - app/assets/stylesheets/rails_admin/bootstrap/_normalize.scss
337
352
  - app/assets/stylesheets/rails_admin/bootstrap/_pager.scss
338
353
  - app/assets/stylesheets/rails_admin/bootstrap/_pagination.scss
354
+ - app/assets/stylesheets/rails_admin/bootstrap/_panels.scss
339
355
  - app/assets/stylesheets/rails_admin/bootstrap/_popovers.scss
356
+ - app/assets/stylesheets/rails_admin/bootstrap/_print.scss
340
357
  - app/assets/stylesheets/rails_admin/bootstrap/_progress-bars.scss
341
- - app/assets/stylesheets/rails_admin/bootstrap/_reset.scss
342
- - app/assets/stylesheets/rails_admin/bootstrap/_responsive-1200px-min.scss
343
- - app/assets/stylesheets/rails_admin/bootstrap/_responsive-767px-max.scss
344
- - app/assets/stylesheets/rails_admin/bootstrap/_responsive-768px-979px.scss
345
- - app/assets/stylesheets/rails_admin/bootstrap/_responsive-navbar.scss
358
+ - app/assets/stylesheets/rails_admin/bootstrap/_responsive-embed.scss
346
359
  - app/assets/stylesheets/rails_admin/bootstrap/_responsive-utilities.scss
347
360
  - app/assets/stylesheets/rails_admin/bootstrap/_scaffolding.scss
348
- - app/assets/stylesheets/rails_admin/bootstrap/_sprites.scss
349
361
  - app/assets/stylesheets/rails_admin/bootstrap/_tables.scss
362
+ - app/assets/stylesheets/rails_admin/bootstrap/_theme.scss
350
363
  - app/assets/stylesheets/rails_admin/bootstrap/_thumbnails.scss
351
364
  - app/assets/stylesheets/rails_admin/bootstrap/_tooltip.scss
352
365
  - app/assets/stylesheets/rails_admin/bootstrap/_type.scss
@@ -354,7 +367,35 @@ files:
354
367
  - app/assets/stylesheets/rails_admin/bootstrap/_variables.scss
355
368
  - app/assets/stylesheets/rails_admin/bootstrap/_wells.scss
356
369
  - app/assets/stylesheets/rails_admin/bootstrap/bootstrap.scss
357
- - app/assets/stylesheets/rails_admin/bootstrap/responsive.scss
370
+ - app/assets/stylesheets/rails_admin/bootstrap/mixins/_alerts.scss
371
+ - app/assets/stylesheets/rails_admin/bootstrap/mixins/_background-variant.scss
372
+ - app/assets/stylesheets/rails_admin/bootstrap/mixins/_border-radius.scss
373
+ - app/assets/stylesheets/rails_admin/bootstrap/mixins/_buttons.scss
374
+ - app/assets/stylesheets/rails_admin/bootstrap/mixins/_center-block.scss
375
+ - app/assets/stylesheets/rails_admin/bootstrap/mixins/_clearfix.scss
376
+ - app/assets/stylesheets/rails_admin/bootstrap/mixins/_forms.scss
377
+ - app/assets/stylesheets/rails_admin/bootstrap/mixins/_gradients.scss
378
+ - app/assets/stylesheets/rails_admin/bootstrap/mixins/_grid-framework.scss
379
+ - app/assets/stylesheets/rails_admin/bootstrap/mixins/_grid.scss
380
+ - app/assets/stylesheets/rails_admin/bootstrap/mixins/_hide-text.scss
381
+ - app/assets/stylesheets/rails_admin/bootstrap/mixins/_image.scss
382
+ - app/assets/stylesheets/rails_admin/bootstrap/mixins/_labels.scss
383
+ - app/assets/stylesheets/rails_admin/bootstrap/mixins/_list-group.scss
384
+ - app/assets/stylesheets/rails_admin/bootstrap/mixins/_nav-divider.scss
385
+ - app/assets/stylesheets/rails_admin/bootstrap/mixins/_nav-vertical-align.scss
386
+ - app/assets/stylesheets/rails_admin/bootstrap/mixins/_opacity.scss
387
+ - app/assets/stylesheets/rails_admin/bootstrap/mixins/_pagination.scss
388
+ - app/assets/stylesheets/rails_admin/bootstrap/mixins/_panels.scss
389
+ - app/assets/stylesheets/rails_admin/bootstrap/mixins/_progress-bar.scss
390
+ - app/assets/stylesheets/rails_admin/bootstrap/mixins/_reset-filter.scss
391
+ - app/assets/stylesheets/rails_admin/bootstrap/mixins/_resize.scss
392
+ - app/assets/stylesheets/rails_admin/bootstrap/mixins/_responsive-visibility.scss
393
+ - app/assets/stylesheets/rails_admin/bootstrap/mixins/_size.scss
394
+ - app/assets/stylesheets/rails_admin/bootstrap/mixins/_tab-focus.scss
395
+ - app/assets/stylesheets/rails_admin/bootstrap/mixins/_table-row.scss
396
+ - app/assets/stylesheets/rails_admin/bootstrap/mixins/_text-emphasis.scss
397
+ - app/assets/stylesheets/rails_admin/bootstrap/mixins/_text-overflow.scss
398
+ - app/assets/stylesheets/rails_admin/bootstrap/mixins/_vendor-prefixes.scss
358
399
  - app/assets/stylesheets/rails_admin/custom/mixins.scss
359
400
  - app/assets/stylesheets/rails_admin/custom/theming.scss
360
401
  - app/assets/stylesheets/rails_admin/custom/variables.scss
@@ -546,7 +587,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
546
587
  version: 1.8.11
547
588
  requirements: []
548
589
  rubyforge_project:
549
- rubygems_version: 2.4.1
590
+ rubygems_version: 2.4.4
550
591
  signing_key:
551
592
  specification_version: 4
552
593
  summary: Admin for Rails