rails_admin 0.6.5 → 0.6.6

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of rails_admin might be problematic. Click here for more details.

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