aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLuc Donnet2015-05-18 17:53:53 +0200
committerLuc Donnet2015-05-18 17:53:53 +0200
commit53ec8195413d0137f439073a5fd9862ca4eb4a20 (patch)
tree9e693aad05558962539e06466e4465427beef89b
parent8199c5d98595aa71f0305a3e033ca7f5a209fefe (diff)
downloadchouette-core-53ec8195413d0137f439073a5fd9862ca4eb4a20.tar.bz2
Fix import task validation
-rw-r--r--app/controllers/import_tasks_controller.rb47
-rw-r--r--app/views/import_tasks/new.html.erb2
-rw-r--r--app/views/import_tasks/new.js.coffee2
3 files changed, 29 insertions, 22 deletions
diff --git a/app/controllers/import_tasks_controller.rb b/app/controllers/import_tasks_controller.rb
index 8eeafab51..52988ce75 100644
--- a/app/controllers/import_tasks_controller.rb
+++ b/app/controllers/import_tasks_controller.rb
@@ -33,30 +33,37 @@ class ImportTasksController < ChouetteController
protected
def available_imports
- @available_imports ||= [
- NeptuneImport.new(:referential_id => @referential.id ),
- NetexImport.new(:referential_id => @referential.id ),
- GtfsImport.new(:referential_id => @referential.id )
- ]
- end
-
- def build_resource
import_task_parameters = params[:import_task]
if import_task_parameters.present?
- case import_task_parameters[:data_format]
- when "neptune"
- @import_task = NeptuneImport.new(import_task_parameters)
- when "netex"
- @import_task = NetexImport.new(import_task_parameters)
- when "gtfs"
- @import_task = GtfsImport.new(import_task_parameters)
- else
- @import_task = nil
- end
- else
- @import_task = nil
+ @available_imports = [
+ import_task_parameters[:data_format] == "neptune" ? build_resource : NeptuneImport.new(:referential_id => @referential.id ),
+ import_task_parameters[:data_format] == "netex" ? build_resource : NetexImport.new(:referential_id => @referential.id ),
+ import_task_parameters[:data_format] == "gtfs" ? build_resource : GtfsImport.new(:referential_id => @referential.id )
+ ]
+ else
+ @available_imports = [
+ NeptuneImport.new(:referential_id => @referential.id ),
+ NetexImport.new(:referential_id => @referential.id ),
+ GtfsImport.new(:referential_id => @referential.id )
+ ]
end
end
+ def build_resource
+ @import_task ||= if params[:import_task].present?
+ import_task_parameters = params[:import_task]
+ case import_task_parameters[:data_format]
+ when "neptune"
+ NeptuneImport.new(import_task_parameters)
+ when "netex"
+ @import_task = NetexImport.new(import_task_parameters)
+ when "gtfs"
+ @import_task = GtfsImport.new(import_task_parameters)
+ end
+ else
+ @import_task = NeptuneImport.new
+ end
+ end
+
end
diff --git a/app/views/import_tasks/new.html.erb b/app/views/import_tasks/new.html.erb
index 3896da275..d2581601b 100644
--- a/app/views/import_tasks/new.html.erb
+++ b/app/views/import_tasks/new.html.erb
@@ -2,7 +2,7 @@
<ul class="nav nav-pills">
<% ImportTask.data_formats.each do |format| %>
- <li role="presentation"><a href="#<%= format %>" class="<%= format %>" title='<%= t(:"enumerize.data_format_detail.#{format}")%>' data-toggle="tab"><%= t(:"enumerize.data_format.#{format}") %></a></li>
+ <li role="presentation"><a href="#<%= format %>" class='<%= @import_task.data_format == format ? "#{format} active" : "#{format}" %>' title='<%= t(:"enumerize.data_format_detail.#{format}")%>' data-toggle="tab"><%= t(:"enumerize.data_format.#{format}") %></a></li>
<% end %>
</ul>
diff --git a/app/views/import_tasks/new.js.coffee b/app/views/import_tasks/new.js.coffee
index 9bd560b16..57dbe9e72 100644
--- a/app/views/import_tasks/new.js.coffee
+++ b/app/views/import_tasks/new.js.coffee
@@ -1,2 +1,2 @@
jQuery ->
- $('#workspace.import_tasks .nav a:first').tab('show')
+ $('#workspace.import_tasks .nav a.active').tab('show')