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 /app | |
| parent | 3ee2295d14765aa8a8aecb88e96e296bc2112607 (diff) | |
| download | chouette-core-150b79cff9c24cbaab8cfd87f3c640b4f5fdf51b.tar.bz2 | |
add parameters to gtfs export
Diffstat (limited to 'app')
| -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 | 
5 files changed, 36 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 %>  | 
