diff options
| author | Michel Etienne | 2014-09-05 13:55:17 +0200 | 
|---|---|---|
| committer | Michel Etienne | 2014-09-05 13:55:17 +0200 | 
| commit | d40d6db116c665a455d32693a64f0d732a760779 (patch) | |
| tree | 167ed6c1291170dc17e9a1a1c9c96598c4f694e4 | |
| parent | 701a269e4297c448183cc64956ce0af5e6b3cb12 (diff) | |
| download | chouette-core-d40d6db116c665a455d32693a64f0d732a760779.tar.bz2 | |
add stops and transfert export only on GTFS format, Mantis 26832
| -rw-r--r-- | app/assets/images/export-pending.png | bin | 1373 -> 1311 bytes | |||
| -rw-r--r-- | app/assets/images/export-processing.png | bin | 0 -> 1373 bytes | |||
| -rw-r--r-- | app/assets/images/file-validation-completed.png | bin | 5658 -> 0 bytes | |||
| -rw-r--r-- | app/assets/images/file-validation-failed.png | bin | 6715 -> 0 bytes | |||
| -rw-r--r-- | app/assets/images/file-validation-pending.png | bin | 7767 -> 0 bytes | |||
| -rw-r--r-- | app/models/export.rb | 22 | ||||
| -rw-r--r-- | app/models/gtfs_export.rb | 4 | ||||
| -rw-r--r-- | app/models/gtfs_import.rb | 4 | ||||
| -rw-r--r-- | app/models/import_task.rb | 5 | ||||
| -rw-r--r-- | app/models/stop_area_import.rb | 1 | ||||
| -rw-r--r-- | app/views/exports/new.html.erb | 4 | ||||
| -rw-r--r-- | app/views/exports/new.js.coffee | 2 | ||||
| -rw-r--r-- | app/views/import_tasks/_fields_gtfs_import.erb | 4 | ||||
| -rw-r--r-- | app/views/import_tasks/new.html.erb | 5 | ||||
| -rw-r--r-- | config/locales/exports.yml | 2 | ||||
| -rw-r--r-- | config/locales/import_tasks.yml | 4 | 
16 files changed, 42 insertions, 15 deletions
| diff --git a/app/assets/images/export-pending.png b/app/assets/images/export-pending.pngBinary files differ index 7fc459926..d5af6a807 100644 --- a/app/assets/images/export-pending.png +++ b/app/assets/images/export-pending.png diff --git a/app/assets/images/export-processing.png b/app/assets/images/export-processing.pngBinary files differ new file mode 100644 index 000000000..7fc459926 --- /dev/null +++ b/app/assets/images/export-processing.png diff --git a/app/assets/images/file-validation-completed.png b/app/assets/images/file-validation-completed.pngBinary files differ deleted file mode 100644 index 242d68d3b..000000000 --- a/app/assets/images/file-validation-completed.png +++ /dev/null diff --git a/app/assets/images/file-validation-failed.png b/app/assets/images/file-validation-failed.pngBinary files differ deleted file mode 100644 index e50298a77..000000000 --- a/app/assets/images/file-validation-failed.png +++ /dev/null diff --git a/app/assets/images/file-validation-pending.png b/app/assets/images/file-validation-pending.pngBinary files differ deleted file mode 100644 index 2d19124c0..000000000 --- a/app/assets/images/file-validation-pending.png +++ /dev/null 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" | 
