active_admin_import 2.1.0 → 2.1.1
Sign up to get free protection for your applications and to get access to all the features.
- 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
|