active_admin_import 2.1.0 → 2.1.1
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.
- checksums.yaml +8 -8
- data/app/views/admin/import.html.erb +1 -1
- data/{lib/active_admin_import → config}/locales/en.yml +0 -0
- data/{lib/active_admin_import → config}/locales/it.yml +0 -0
- data/lib/active_admin_import.rb +0 -8
- data/lib/active_admin_import/dsl.rb +17 -24
- data/lib/active_admin_import/engine.rb +1 -1
- data/lib/active_admin_import/importer.rb +1 -0
- data/lib/active_admin_import/model.rb +2 -2
- data/lib/active_admin_import/version.rb +1 -1
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
ZmIxYjFiOTVhMjUxYzVmZGEyZDdkM2I5ZTM4MTdiNTgyOTA1YzZjYQ==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
OWU1MDI1YjMwNjM1MmIxOWU4MTQ5NDlkNGMzODQ1OGM5YWM4OGQ4NQ==
|
7
7
|
SHA512:
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
YWE2ZjlmODU1ZTlkMDA1ZmZmODFhYzRhN2VhNjBjM2RlZTEzZTFiZWM4NzY4
|
10
|
+
MTBjNDI2OGE1YWM4MTJlYjUwNmM2Y2NlZWIxM2EwNDAwZTUzNzU2YjljZGRj
|
11
|
+
MjI4ODU3ZTVlYjA5MzMwMWJjZWEyOGFmOTkyYWM2OGY0NjIyZmY=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
YzA1ZTY1NjVjYzUwOTYwZGQ4MWMzMTdlOTg0Y2FjZmMyZjc3NGUyNGIzNmVl
|
14
|
+
YjFkZmM1NDMwMDFlNDJhZDQ1N2YyNjVjMGJmYmQ2NjQ1NjQwOTdjODY4Mjlk
|
15
|
+
YWU2ZWZjNzRjMjYxOTg3Mjg2MmMzMTE3ODlkOGI0MWI1NDliNjQ=
|
@@ -6,6 +6,6 @@
|
|
6
6
|
<%= f.input :file, as: :file %>
|
7
7
|
<% end %>
|
8
8
|
<%= f.actions do %>
|
9
|
-
<%= f.action :submit, label: t("active_admin_import.import_btn"), button_html: {disable_with: t("active_admin_import.import_btn_disabled")} %>
|
9
|
+
<%= f.action :submit, label: t("active_admin_import.import_btn"), button_html: {data: {disable_with: t("active_admin_import.import_btn_disabled")}} %>
|
10
10
|
<% end %>
|
11
11
|
<% end %>
|
File without changes
|
File without changes
|
data/lib/active_admin_import.rb
CHANGED
@@ -7,11 +7,3 @@ require 'active_admin_import/importer'
|
|
7
7
|
require 'active_admin_import/model'
|
8
8
|
::ActiveAdmin::DSL.send(:include, ActiveAdminImport::DSL)
|
9
9
|
|
10
|
-
module ActiveAdminImport
|
11
|
-
class Railtie < ::Rails::Railtie
|
12
|
-
config.after_initialize do
|
13
|
-
require 'active_support/i18n'
|
14
|
-
I18n.load_path.unshift *Dir[File.expand_path('../active_admin_import/locales/*.yml', __FILE__)]
|
15
|
-
end
|
16
|
-
end
|
17
|
-
end
|
@@ -22,7 +22,7 @@ module ActiveAdminImport
|
|
22
22
|
# +resource_label+:: resource label value (default config.resource_label)
|
23
23
|
# +plural_resource_label+:: plaralized resource label value (default config.plural_resource_label)
|
24
24
|
#
|
25
|
-
def active_admin_import options = {}
|
25
|
+
def active_admin_import options = {}, &block
|
26
26
|
default_options = {
|
27
27
|
back: {action: :import},
|
28
28
|
csv_options: {},
|
@@ -51,31 +51,24 @@ module ActiveAdminImport
|
|
51
51
|
@active_admin_import_model.assign_attributes(params[params_key].try(:deep_symbolize_keys) || {})
|
52
52
|
#go back to form
|
53
53
|
return render template: options[:template] unless @active_admin_import_model.valid?
|
54
|
-
|
55
|
-
importer = Importer.new(options[:resource_class],
|
56
|
-
@active_admin_import_model,
|
57
|
-
options
|
58
|
-
)
|
54
|
+
@importer = Importer.new(options[:resource_class], @active_admin_import_model, options)
|
59
55
|
begin
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
flash[:error] = e.message
|
56
|
+
@importer.import
|
57
|
+
if block_given?
|
58
|
+
instance_eval &block
|
59
|
+
else
|
60
|
+
model_name = options[:resource_label].downcase
|
61
|
+
plural_model_name = options[:resource_label].downcase
|
62
|
+
if @importer.result[:imported].to_i > 0
|
63
|
+
flash[:notice] = I18n.t('active_admin_import.imported', count: @importer.result[:imported].to_i, model: model_name, plural_model: plural_model_name)
|
64
|
+
end
|
65
|
+
if @importer.result[:failed].count > 0
|
66
|
+
flash[:error] = I18n.t('active_admin_import.failed', count: @importer.result[:failed].count, model: model_name, plural_model: plural_model_name)
|
67
|
+
end
|
68
|
+
end
|
69
|
+
rescue ActiveRecord::Import::MissingColumnError, NoMethodError => e
|
70
|
+
flash[:error] = e.message
|
76
71
|
end
|
77
|
-
|
78
|
-
|
79
72
|
redirect_to options[:back]
|
80
73
|
end
|
81
74
|
|
@@ -62,6 +62,7 @@ module ActiveAdminImport
|
|
62
62
|
# capture headers if not exist
|
63
63
|
prepare_headers(headers.any? ? headers : CSV.parse(f.readline, @csv_options).first)
|
64
64
|
f.each_line do |line|
|
65
|
+
next if line.blank?
|
65
66
|
lines << line
|
66
67
|
if lines.size == batch_size || f.eof?
|
67
68
|
cycle lines
|
@@ -8,8 +8,8 @@ module ActiveAdminImport
|
|
8
8
|
validates :file, presence: {message: Proc.new { I18n.t('active_admin_import.no_file_error') }},
|
9
9
|
unless: proc { |me| me.new_record? }
|
10
10
|
|
11
|
-
validate :correct_content_type
|
12
|
-
validate :file_contents_present
|
11
|
+
validate :correct_content_type, if: proc { |me| me.file.present? }
|
12
|
+
validate :file_contents_present, if: proc { |me| me.file.present? }
|
13
13
|
|
14
14
|
|
15
15
|
before_validation :uncompress_file, if: proc { |me| me.archive? && me.allow_archive? }
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: active_admin_import
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.1.
|
4
|
+
version: 2.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Igor Fedoronchuk
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-03-11 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activerecord-import
|
@@ -78,12 +78,12 @@ files:
|
|
78
78
|
- Rakefile
|
79
79
|
- active_admin_import.gemspec
|
80
80
|
- app/views/admin/import.html.erb
|
81
|
+
- config/locales/en.yml
|
82
|
+
- config/locales/it.yml
|
81
83
|
- lib/active_admin_import.rb
|
82
84
|
- lib/active_admin_import/dsl.rb
|
83
85
|
- lib/active_admin_import/engine.rb
|
84
86
|
- lib/active_admin_import/importer.rb
|
85
|
-
- lib/active_admin_import/locales/en.yml
|
86
|
-
- lib/active_admin_import/locales/it.yml
|
87
87
|
- lib/active_admin_import/model.rb
|
88
88
|
- lib/active_admin_import/version.rb
|
89
89
|
homepage: http://github.com/Fivell/active_admin_import
|