3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
# File 'lib/active_admin_importer/dsl.rb', line 3
def define_import_for(name='records', &block)
definition = ::ActiveAdminImporter::Definition.new(name, self.controller, &block)
action_item :edit, :only => :index do
link_to definition[:action].titleize, :action => definition[:form_action]
end
collection_action(definition[:form_action]) do
render definition[:view], :locals => { :target_action => definition[:action] }
end
collection_action(definition[:action], :method => :post) do
parent if parent?
import = ::ActiveAdminImporter.import(params[:dump][:file], :controller => self, :definition => definition)
redirect_to collection_path(), alert: import.result
end
::ActiveAdminImporter.register(definition)
end
|