diff options
| author | Michel Etienne | 2012-07-12 08:05:13 +0200 |
|---|---|---|
| committer | Michel Etienne | 2012-07-12 08:05:13 +0200 |
| commit | 150b79cff9c24cbaab8cfd87f3c640b4f5fdf51b (patch) | |
| tree | 1a46591d0ff6a7e1f49d04b39dd2c0112b90b196 | |
| parent | 3ee2295d14765aa8a8aecb88e96e296bc2112607 (diff) | |
| download | chouette-core-150b79cff9c24cbaab8cfd87f3c640b4f5fdf51b.tar.bz2 | |
add parameters to gtfs export
| -rw-r--r-- | app/helpers/exports_helper.rb | 10 | ||||
| -rw-r--r-- | app/models/export.rb | 5 | ||||
| -rw-r--r-- | app/models/gtfs_export.rb | 13 | ||||
| -rw-r--r-- | app/models/referential.rb | 8 | ||||
| -rw-r--r-- | app/views/exports/new.html.erb | 3 | ||||
| -rw-r--r-- | config/locales/exports.yml | 5 | ||||
| -rw-r--r-- | config/locales/imports.yml | 2 |
7 files changed, 43 insertions, 3 deletions
diff --git a/app/helpers/exports_helper.rb b/app/helpers/exports_helper.rb index 55bbafb72..cd177b424 100644 --- a/app/helpers/exports_helper.rb +++ b/app/helpers/exports_helper.rb @@ -1,5 +1,15 @@ module ExportsHelper + def fields_for_export_type(form) + partial_name = "fields_#{form.object.type.underscore}" + + begin + render :partial => partial_name, :locals => { :form => form } + rescue ActionView::MissingTemplate + "" + end + end + @@export_references_type = {} def export_references_type(type) @@export_references_type[type] ||= ReferencesTypeHelper.new(type) diff --git a/app/models/export.rb b/app/models/export.rb index d3a73b1ff..8aae7448c 100644 --- a/app/models/export.rb +++ b/app/models/export.rb @@ -13,14 +13,15 @@ class Export < ActiveRecord::Base name = name.to_s define_method(name) do - self.options[name] + self.options and self.options[name] end define_method("#{name}=") do |prefix| - self.options[name] = prefix + (self.options ||= {})[name] = prefix end end + def exporter exporter ||= ::Chouette::Exporter.new(referential.slug) end diff --git a/app/models/gtfs_export.rb b/app/models/gtfs_export.rb index 8edad4b1f..9c66e778b 100644 --- a/app/models/gtfs_export.rb +++ b/app/models/gtfs_export.rb @@ -1,7 +1,18 @@ class GtfsExport < Export + validates_presence_of :time_zone + option :time_zone + + after_initialize :init_time_zone + + def init_time_zone + if time_zone.nil? + self.time_zone = "Paris" + end + end + def export_options - super.merge(:format => :gtfs) + super.merge(:format => :gtfs, :time_zone => ActiveSupport::TimeZone.find_tzinfo(time_zone).name) end end diff --git a/app/models/referential.rb b/app/models/referential.rb index 35d4e9141..782275813 100644 --- a/app/models/referential.rb +++ b/app/models/referential.rb @@ -11,6 +11,14 @@ class Referential < ActiveRecord::Base has_many :imports, :dependent => :destroy has_many :exports, :dependent => :destroy + after_initialize :init_time_zone + + def init_time_zone + if time_zone.nil? + self.time_zone = "Paris" + end + end + def human_attribute_name(*args) self.class.human_attribute_name(*args) end diff --git a/app/views/exports/new.html.erb b/app/views/exports/new.html.erb index 36a37abc4..a62116ed7 100644 --- a/app/views/exports/new.html.erb +++ b/app/views/exports/new.html.erb @@ -8,6 +8,9 @@ <% @available_exports.each do |export| %> <%= semantic_form_for [@referential, export], :as => :export, :url => referential_exports_path(@referential), :html => { :id => "#{export.type}_new", :style => ('display: none' unless @export == export)} do |form| %> + <%= form.inputs do %> + <%= fields_for_export_type form %> + <% end %> <%= form.inputs do %> <%= form.input :type, :as => :hidden %> diff --git a/config/locales/exports.yml b/config/locales/exports.yml index 8274ad70a..24ccc3cd4 100644 --- a/config/locales/exports.yml +++ b/config/locales/exports.yml @@ -42,6 +42,7 @@ en: status: Status references_type: Associated Data Type reference_ids: Associated Data + time_zone: Time Zone export_log_message: created_at: Date position: N. @@ -94,7 +95,11 @@ fr: status: Status references_type: Type de données incluses reference_ids: Données incluses + time_zone: Fuseau horaire export_log_message: created_at: Date position: "No" full_message: Message + formtastic: + hints: + time_zone: "selon le codage TZ (http://fr.wikipedia.org/wiki/Tz_database)"
\ No newline at end of file diff --git a/config/locales/imports.yml b/config/locales/imports.yml index af8867bc1..5d86a8bf5 100644 --- a/config/locales/imports.yml +++ b/config/locales/imports.yml @@ -73,6 +73,7 @@ en: import: resources: File to import status: Status + objectid_prefix: "Neptune Id prefix" import_log_message: created_at: Date position: N. @@ -152,6 +153,7 @@ fr: import: resources: Fichier à importer status: Status + objectid_prefix: "Préfixe d'identifiants" import_log_message: created_at: Date position: "No" |
