aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLuc Donnet2015-05-18 16:53:04 +0200
committerLuc Donnet2015-05-18 16:53:04 +0200
commit8199c5d98595aa71f0305a3e033ca7f5a209fefe (patch)
tree18ed5c84b115f19a8d4a6da09909790ddf134cdb
parentb3a4f0c5cde9427fafef30a56f8e016d40bad4fb (diff)
downloadchouette-core-8199c5d98595aa71f0305a3e033ca7f5a209fefe.tar.bz2
Fix modules concern and export task validation
-rw-r--r--app/controllers/export_tasks_controller.rb61
-rw-r--r--app/models/compliance_check.rb4
-rw-r--r--app/models/compliance_check_report.rb4
-rw-r--r--app/models/concerns/job_concern.rb10
-rw-r--r--app/models/concerns/report_concern.rb4
-rw-r--r--app/models/export.rb4
-rw-r--r--app/models/export_report.rb4
-rw-r--r--app/models/export_task.rb4
-rw-r--r--app/models/import.rb4
-rw-r--r--app/models/import_report.rb4
-rw-r--r--app/views/export_tasks/new.html.erb4
-rw-r--r--app/views/export_tasks/new.js.coffee2
12 files changed, 65 insertions, 44 deletions
diff --git a/app/controllers/export_tasks_controller.rb b/app/controllers/export_tasks_controller.rb
index ba5104342..94312cd6a 100644
--- a/app/controllers/export_tasks_controller.rb
+++ b/app/controllers/export_tasks_controller.rb
@@ -42,36 +42,45 @@ class ExportTasksController < ChouetteController
protected
def available_exports
- @available_exports ||= [
- NeptuneExport.new(:referential_id => @referential.id ),
- NetexExport.new(:referential_id => @referential.id ),
- GtfsExport.new(:referential_id => @referential.id ),
- HubExport.new(:referential_id => @referential.id ),
- KmlExport.new(:referential_id => @referential.id )
- ]
- end
-
- def build_resource
export_task_parameters = params[:export_task]
-
if export_task_parameters.present?
- case export_task_parameters[:data_format]
- when "neptune"
- @export_task = NeptuneExport.new(export_task_parameters)
- when "netex"
- @export_task = NetexExport.new(export_task_parameters)
- when "gtfs"
- @export_task = GtfsExport.new(export_task_parameters)
- when "hub"
- @export_task = HubExport.new(export_task_parameters)
- when "kml"
- @export_task = KmlExport.new(export_task_parameters)
- else
- @export_task = nil
- end
+ @available_exports = [
+ export_task_parameters[:data_format] == "neptune" ? build_resource : NeptuneExport.new(:referential_id => @referential.id ),
+ export_task_parameters[:data_format] == "netex" ? build_resource : NetexExport.new(:referential_id => @referential.id ),
+ export_task_parameters[:data_format] == "gtfs" ? build_resource : GtfsExport.new(:referential_id => @referential.id ),
+ export_task_parameters[:data_format] == "hub" ? build_resource : HubExport.new(:referential_id => @referential.id ),
+ export_task_parameters[:data_format] == "kml" ? build_resource : KmlExport.new(:referential_id => @referential.id )
+ ]
else
- @export_task = nil
+ @available_exports = [
+ NeptuneExport.new(:referential_id => @referential.id ),
+ NetexExport.new(:referential_id => @referential.id ),
+ GtfsExport.new(:referential_id => @referential.id ),
+ HubExport.new(:referential_id => @referential.id ),
+ KmlExport.new(:referential_id => @referential.id )
+ ]
end
end
+
+ def build_resource
+ @export_task ||= if params[:export_task].present?
+ export_task_parameters = params[:export_task]
+ case export_task_parameters[:data_format]
+ when "neptune"
+ NeptuneExport.new(export_task_parameters)
+ when "netex"
+ NetexExport.new(export_task_parameters)
+ when "gtfs"
+ GtfsExport.new(export_task_parameters)
+ when "hub"
+ HubExport.new(export_task_parameters)
+ when "kml"
+ KmlExport.new(export_task_parameters)
+ end
+ else
+ NeptuneExport.new
+ end
+
+ end
end
diff --git a/app/models/compliance_check.rb b/app/models/compliance_check.rb
index 110433a8c..714c183d7 100644
--- a/app/models/compliance_check.rb
+++ b/app/models/compliance_check.rb
@@ -1,6 +1,10 @@
class ComplianceCheck
include JobConcern
+ def initialize( response )
+ @datas = response
+ end
+
def report?
links["action_report"].present?
end
diff --git a/app/models/compliance_check_report.rb b/app/models/compliance_check_report.rb
index 2c2da6452..94deb8cc9 100644
--- a/app/models/compliance_check_report.rb
+++ b/app/models/compliance_check_report.rb
@@ -1,5 +1,9 @@
class ComplianceCheckReport
include ReportConcern
+
+ def initialize( response )
+ @datas = response.action_report
+ end
end
diff --git a/app/models/concerns/job_concern.rb b/app/models/concerns/job_concern.rb
index a17b039b4..2578d33bf 100644
--- a/app/models/concerns/job_concern.rb
+++ b/app/models/concerns/job_concern.rb
@@ -11,10 +11,6 @@ module JobConcern
module ClassMethods
end
- def initialize( response )
- @datas = response
- end
-
def links
{}.tap do |links|
datas.links.each do |link|
@@ -23,12 +19,6 @@ module JobConcern
end
end
- def failure?
- end
-
- def failure
- end
-
def started?
status == "started"
end
diff --git a/app/models/concerns/report_concern.rb b/app/models/concerns/report_concern.rb
index 7d3efff24..af37e3d03 100644
--- a/app/models/concerns/report_concern.rb
+++ b/app/models/concerns/report_concern.rb
@@ -10,10 +10,6 @@ module ReportConcern
module ClassMethods
end
-
- def initialize( response )
- @datas = response.action_report
- end
def current_level
datas.progression.current_step if datas.progression
diff --git a/app/models/export.rb b/app/models/export.rb
index c3895ffc5..fc627e9f0 100644
--- a/app/models/export.rb
+++ b/app/models/export.rb
@@ -1,6 +1,10 @@
class Export
include JobConcern
+ def initialize( response )
+ @datas = response
+ end
+
def report?
links["action_report"].present?
end
diff --git a/app/models/export_report.rb b/app/models/export_report.rb
index 9fd7974c2..ef54f40ea 100644
--- a/app/models/export_report.rb
+++ b/app/models/export_report.rb
@@ -1,5 +1,9 @@
class ExportReport
include ReportConcern
+
+ def initialize( response )
+ @datas = response.action_report
+ end
end
diff --git a/app/models/export_task.rb b/app/models/export_task.rb
index a00b4e4ae..cb808d493 100644
--- a/app/models/export_task.rb
+++ b/app/models/export_task.rb
@@ -32,7 +32,9 @@ class ExportTask
end
def save
- if valid?
+ puts self.errors.inspect
+ puts self.errors.size
+ if self.valid?
# Call Iev Server
begin
Ievkit.create_job( referential.slug, "exporter", data_format, {
diff --git a/app/models/import.rb b/app/models/import.rb
index 2a3ee18db..77a566680 100644
--- a/app/models/import.rb
+++ b/app/models/import.rb
@@ -3,6 +3,10 @@ require 'open-uri'
class Import
include JobConcern
+ def initialize( response )
+ @datas = response
+ end
+
def report?
links["action_report"].present?
end
diff --git a/app/models/import_report.rb b/app/models/import_report.rb
index 42baf8c00..1dc556e1c 100644
--- a/app/models/import_report.rb
+++ b/app/models/import_report.rb
@@ -1,5 +1,9 @@
class ImportReport
include ReportConcern
+
+ def initialize( response )
+ @datas = response.action_report
+ end
end
diff --git a/app/views/export_tasks/new.html.erb b/app/views/export_tasks/new.html.erb
index 6cb34665f..b97201f2e 100644
--- a/app/views/export_tasks/new.html.erb
+++ b/app/views/export_tasks/new.html.erb
@@ -1,14 +1,14 @@
<%= title_tag t(".title") %>
<ul class="nav nav-pills">
<% ExportTask.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='<%= @export_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>
<div class="tab-content">
<% @available_exports.each do |export_task| %>
<%= semantic_form_for [@referential, export_task], :as => :export_task, :url => referential_export_tasks_path(@referential), :namespace => export_task.data_format ,:html => { :id => "#{export_task.data_format}", :class => "tab-pane highlight"} do |form| %>
- <%= form.inputs do %>
+ <%= form.inputs do %>
<%= form.input :user_name, :as => :hidden, :input_html => { :value => current_user.name } %>
<%= form.input :user_id, :as => :hidden, :input_html => { :value => current_user.id } %>
<%= form.input :data_format, :as => :hidden %>
diff --git a/app/views/export_tasks/new.js.coffee b/app/views/export_tasks/new.js.coffee
index 21eba2e05..dd0e284a5 100644
--- a/app/views/export_tasks/new.js.coffee
+++ b/app/views/export_tasks/new.js.coffee
@@ -1,2 +1,2 @@
jQuery ->
- $('#workspace.export_tasks .nav a:first').tab('show')
+ $('#workspace.export_tasks .nav a.active').tab('show')