aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichel Etienne2014-09-05 13:55:17 +0200
committerMichel Etienne2014-09-05 13:55:17 +0200
commitd40d6db116c665a455d32693a64f0d732a760779 (patch)
tree167ed6c1291170dc17e9a1a1c9c96598c4f694e4
parent701a269e4297c448183cc64956ce0af5e6b3cb12 (diff)
downloadchouette-core-d40d6db116c665a455d32693a64f0d732a760779.tar.bz2
add stops and transfert export only on GTFS format, Mantis 26832
-rw-r--r--app/assets/images/export-pending.pngbin1373 -> 1311 bytes
-rw-r--r--app/assets/images/export-processing.pngbin0 -> 1373 bytes
-rw-r--r--app/assets/images/file-validation-completed.pngbin5658 -> 0 bytes
-rw-r--r--app/assets/images/file-validation-failed.pngbin6715 -> 0 bytes
-rw-r--r--app/assets/images/file-validation-pending.pngbin7767 -> 0 bytes
-rw-r--r--app/models/export.rb22
-rw-r--r--app/models/gtfs_export.rb4
-rw-r--r--app/models/gtfs_import.rb4
-rw-r--r--app/models/import_task.rb5
-rw-r--r--app/models/stop_area_import.rb1
-rw-r--r--app/views/exports/new.html.erb4
-rw-r--r--app/views/exports/new.js.coffee2
-rw-r--r--app/views/import_tasks/_fields_gtfs_import.erb4
-rw-r--r--app/views/import_tasks/new.html.erb5
-rw-r--r--config/locales/exports.yml2
-rw-r--r--config/locales/import_tasks.yml4
16 files changed, 42 insertions, 15 deletions
diff --git a/app/assets/images/export-pending.png b/app/assets/images/export-pending.png
index 7fc459926..d5af6a807 100644
--- a/app/assets/images/export-pending.png
+++ b/app/assets/images/export-pending.png
Binary files differ
diff --git a/app/assets/images/export-processing.png b/app/assets/images/export-processing.png
new file mode 100644
index 000000000..7fc459926
--- /dev/null
+++ b/app/assets/images/export-processing.png
Binary files differ
diff --git a/app/assets/images/file-validation-completed.png b/app/assets/images/file-validation-completed.png
deleted file mode 100644
index 242d68d3b..000000000
--- a/app/assets/images/file-validation-completed.png
+++ /dev/null
Binary files differ
diff --git a/app/assets/images/file-validation-failed.png b/app/assets/images/file-validation-failed.png
deleted file mode 100644
index e50298a77..000000000
--- a/app/assets/images/file-validation-failed.png
+++ /dev/null
Binary files differ
diff --git a/app/assets/images/file-validation-pending.png b/app/assets/images/file-validation-pending.png
deleted file mode 100644
index 2d19124c0..000000000
--- a/app/assets/images/file-validation-pending.png
+++ /dev/null
Binary files differ
diff --git a/app/models/export.rb b/app/models/export.rb
index 98b3f0ace..9061a5d5b 100644
--- a/app/models/export.rb
+++ b/app/models/export.rb
@@ -3,7 +3,7 @@ class Export < ActiveRecord::Base
belongs_to :referential
validates_presence_of :referential_id
- validates_inclusion_of :status, :in => %w{ pending completed failed }
+ validates_inclusion_of :status, :in => %w{ pending processing completed failed }
has_many :log_messages, :class_name => "ExportLogMessage", :order => :position, :dependent => :delete_all
@@ -51,12 +51,7 @@ class Export < ActiveRecord::Base
end
def export_object_type
-# case references_type
-# when "Chouette::Network"
-# "ptnetwork"
-# else
references_relation ? references_relation.singularize : "line"
-# end
end
before_validation :define_default_attributes, :on => :create
@@ -91,10 +86,19 @@ class Export < ActiveRecord::Base
log_messages.create :severity => result_severity, :key => status
end
- @@references_types = [ Chouette::Line, Chouette::Network, Chouette::Company ]
- cattr_reader :references_types
- validates_inclusion_of :references_type, :in => references_types.map(&:to_s), :allow_blank => true, :allow_nil => true
+ def self.all_references_types
+ [ Chouette::Line, Chouette::Network, Chouette::Company , Chouette::StopArea]
+ end
+
+ def references_types
+ [ Chouette::Line, Chouette::Network, Chouette::Company ]
+ end
+
+ # @@references_types = [ Chouette::Line, Chouette::Network, Chouette::Company ]
+ # cattr_reader :references_types
+
+ # validates_inclusion_of :references_type, :in => references_types.map(&:to_s), :allow_blank => true, :allow_nil => true
def self.format_name(format)
name_by_format = {
diff --git a/app/models/gtfs_export.rb b/app/models/gtfs_export.rb
index 9c66e778b..6f43a93eb 100644
--- a/app/models/gtfs_export.rb
+++ b/app/models/gtfs_export.rb
@@ -5,6 +5,10 @@ class GtfsExport < Export
after_initialize :init_time_zone
+ def references_types
+ [ Chouette::Line, Chouette::Network, Chouette::Company, Chouette::StopArea ]
+ end
+
def init_time_zone
if time_zone.nil?
self.time_zone = "Paris"
diff --git a/app/models/gtfs_import.rb b/app/models/gtfs_import.rb
index af83d81a0..c2457548f 100644
--- a/app/models/gtfs_import.rb
+++ b/app/models/gtfs_import.rb
@@ -7,4 +7,8 @@ class GtfsImport < ImportTask
option :ignore_end_chars
option :max_distance_for_connection_link
+ def references_types
+ [ Chouette::StopArea ]
+ end
+
end
diff --git a/app/models/import_task.rb b/app/models/import_task.rb
index 90783075d..ba476da6d 100644
--- a/app/models/import_task.rb
+++ b/app/models/import_task.rb
@@ -15,6 +15,10 @@ class ImportTask < ActiveRecord::Base
validates_presence_of :user_name
validates_inclusion_of :status, :in => %w{ pending processing completed failed }
+ def references_types
+ []
+ end
+
protected
def self.option(name, type=nil)
@@ -54,6 +58,7 @@ class ImportTask < ActiveRecord::Base
option :no_save, :boolean
option :format
option :file_path
+ option :references_type
validates_inclusion_of :no_save, :in => [ true, false]
validates_inclusion_of :format, :in => self.formats
diff --git a/app/models/stop_area_import.rb b/app/models/stop_area_import.rb
index 52d8a94bb..87c72ae6c 100644
--- a/app/models/stop_area_import.rb
+++ b/app/models/stop_area_import.rb
@@ -50,6 +50,7 @@ class StopAreaImport
row = Hash[[header, spreadsheet.row(i)].transpose]
stop_area = Chouette::StopArea.find_by_id(row["id"]) || Chouette::StopArea.new
stop_area.attributes = row.to_hash.slice(*Chouette::StopArea.accessible_attributes)
+ Rails.logger.info(stop_area.inspect)
stop_area
end
end
diff --git a/app/views/exports/new.html.erb b/app/views/exports/new.html.erb
index 553ebe4a2..6b6e328d5 100644
--- a/app/views/exports/new.html.erb
+++ b/app/views/exports/new.html.erb
@@ -14,9 +14,9 @@
<%= form.inputs do %>
<%= form.input :type, :as => :hidden %>
- <%= form.input :references_type, :as => :select, :collection => Export.references_types.map { |c| [ c.model_name.human.capitalize.pluralize, c.name ] }, :include_blank => t(".all") %>
+ <%= form.input :references_type, :as => :select, :collection => export.references_types.map { |c| [ c.model_name.human.capitalize.pluralize, c.name ] }, :include_blank => t(".all") %>
- <% Export.references_types.each do |type| %>
+ <% export.references_types.each do |type| %>
<%= type_ids_model_references_input(form, @export, Export, type).input %>
<% end %>
<% end %>
diff --git a/app/views/exports/new.js.coffee b/app/views/exports/new.js.coffee
index 0886f53c9..aafa70bed 100644
--- a/app/views/exports/new.js.coffee
+++ b/app/views/exports/new.js.coffee
@@ -1,4 +1,4 @@
jQuery ->
- <% Export.references_types.map { |type| type_ids_model_references_type( Export, type)}.each do |rt| %>
+ <% Export.all_references_types.map { |type| type_ids_model_references_type( Export, type)}.each do |rt| %>
$("textarea.<%= rt.input_class %>").tokenInput('<%= references_referential_compliance_check_tasks_path(@referential, :type => rt.relation_name, :format => :json) %>', { prePopulate: $('#').data('pre'), minChars: 1, hintText: '<%= t('search_hint') %>', noResultsText: '<%= t('no_result_text') %>', searchingText: '<%= t('searching_term') %>'});
<% end %>
diff --git a/app/views/import_tasks/_fields_gtfs_import.erb b/app/views/import_tasks/_fields_gtfs_import.erb
index 70ffb207a..8b9dabcc5 100644
--- a/app/views/import_tasks/_fields_gtfs_import.erb
+++ b/app/views/import_tasks/_fields_gtfs_import.erb
@@ -1,7 +1,7 @@
<%= form.input :object_id_prefix, :input_html => { :value => @referential.prefix } %>
-<%= form.input :max_distance_for_commercial , :as => :number , :input_html => { :title => t("formtastic.titles.import_task.max_distance_for_commercial"), :value => 50 } %>
+<%= form.input :max_distance_for_commercial , :as => :number , :input_html => { :title => t("formtastic.titles.import_task.max_distance_for_commercial"), :value => 0 } %>
<%= form.input :ignore_last_word , :as => :boolean , :input_html => { :title => t("formtastic.titles.import_task.ignore_last_word"), :value => false }%>
<%= form.input :ignore_end_chars , :as => :number , :input_html => { :title => t("formtastic.titles.import_task.ignore_end_chars"), :value => 0 }%>
-<%= form.input :max_distance_for_connection_link , :as => :number , :input_html => { :title => t("formtastic.titles.import_task.max_distance_for_connection_link"), :value => 100 }%>
+<%= form.input :max_distance_for_connection_link , :as => :number , :input_html => { :title => t("formtastic.titles.import_task.max_distance_for_connection_link"), :value => 0 }%>
diff --git a/app/views/import_tasks/new.html.erb b/app/views/import_tasks/new.html.erb
index 13888ad39..1ab66663f 100644
--- a/app/views/import_tasks/new.html.erb
+++ b/app/views/import_tasks/new.html.erb
@@ -19,6 +19,11 @@
<%= form.input :rule_parameter_set_id, :as => :select,
:collection => @referential.rule_parameter_sets.map { |rps| [ rps.name, rps.id ] }, :include_blank => true %>
<%= form.input :resources, :as => :file %>
+
+ <% unless import_task.references_types.empty? %>
+ <%= form.input :references_type, :as => :select, :collection => import_task.references_types.map { |c| [ c.model_name.human.capitalize.pluralize, c.name ] }, :include_blank => t(".all") %>
+ <% end %>
+
<% end %>
<%= form.actions do %>
diff --git a/config/locales/exports.yml b/config/locales/exports.yml
index 9f7e59e43..35ec5b2ad 100644
--- a/config/locales/exports.yml
+++ b/config/locales/exports.yml
@@ -129,7 +129,7 @@ fr:
show:
report: "Rapport"
statuses:
- pending: "En attente ou en cours ..."
+ pending: "En attente ..."
processing: "En cours ..."
completed: "Achevé"
failed: "Echoué"
diff --git a/config/locales/import_tasks.yml b/config/locales/import_tasks.yml
index f76e56d64..e0c21a37d 100644
--- a/config/locales/import_tasks.yml
+++ b/config/locales/import_tasks.yml
@@ -6,6 +6,7 @@ en:
destroy_confirm: "Are you sure you want destroy this import?"
new:
title: "New import"
+ all: "All"
flash: "Import task on queue, refresh page to see progression"
index:
title: "Imports"
@@ -76,6 +77,7 @@ en:
resources: "File to import"
created_at: "Created on"
status: "Status"
+ references_type: "subset"
no_save: "No save"
rule_parameter_set_id: "Rule parameter set for compliance check"
object_id_prefix: "Neptune Id prefix"
@@ -98,6 +100,7 @@ fr:
destroy_confirm: "Etes vous sûr de supprimer cet import ?"
new:
title: "Nouvel import"
+ all: "Tout"
flash: "La demande d'import est mise en file d'attente, veuillez rafraichir régulièrement la page pour le suivre"
index:
title: "Imports"
@@ -183,6 +186,7 @@ fr:
created_at: "Créé le"
status: "Status"
no_save: "Pas de sauvegarde"
+ references_type: "Sous ensemble"
rule_parameter_set_id: "Jeu de paramètres pour validation"
object_id_prefix: "Préfixe d'identifiants"
max_distance_for_commercial: "Distance max pour créer les zones"