diff options
| author | Zakaria BOUZIANE | 2015-02-26 14:54:18 +0100 | 
|---|---|---|
| committer | Zakaria BOUZIANE | 2015-02-26 14:54:18 +0100 | 
| commit | 6c799be447a241f0eb232fc4cea3405612acd4e8 (patch) | |
| tree | f4ca3be7a7ba189900dedeb0c66feb2045c8437b /app | |
| parent | 0adee77238b5c70bcf518e939e16136f3a481493 (diff) | |
| download | chouette-core-6c799be447a241f0eb232fc4cea3405612acd4e8.tar.bz2 | |
Instable state: postgresql_adapter.rb: undefined method table_name for Export:Class
Diffstat (limited to 'app')
| -rw-r--r-- | app/controllers/exports_controller.rb | 69 | ||||
| -rw-r--r-- | app/helpers/exports_helper.rb | 32 | ||||
| -rw-r--r-- | app/helpers/pagination_helper.rb | 5 | ||||
| -rw-r--r-- | app/models/csv_export.rb | 10 | ||||
| -rw-r--r-- | app/models/export.rb | 150 | ||||
| -rw-r--r-- | app/models/export_log_message.rb | 70 | ||||
| -rw-r--r-- | app/models/gtfs_export.rb | 44 | ||||
| -rw-r--r-- | app/models/hub_export.rb | 58 | ||||
| -rw-r--r-- | app/models/import.rb | 2 | ||||
| -rw-r--r-- | app/models/kml_export.rb | 16 | ||||
| -rw-r--r-- | app/models/neptune_export.rb | 34 | ||||
| -rw-r--r-- | app/models/netex_export.rb | 10 | ||||
| -rw-r--r-- | app/models/vehicle_journey_export.rb | 282 | ||||
| -rw-r--r-- | app/views/exports/_export.erb | 24 | ||||
| -rw-r--r-- | app/views/exports/_exports.html.erb | 2 | ||||
| -rw-r--r-- | app/views/exports/index.html.erb | 1 | 
16 files changed, 338 insertions, 471 deletions
diff --git a/app/controllers/exports_controller.rb b/app/controllers/exports_controller.rb index bb9cff197..941d293ae 100644 --- a/app/controllers/exports_controller.rb +++ b/app/controllers/exports_controller.rb @@ -1,69 +1,20 @@ -class ExportsController < ChouetteController -  defaults :resource_class => Export -   -  respond_to :html, :xml, :json, :js -  respond_to :zip, :only => :show +require 'will_paginate/array' +class ExportsController < ChouetteController +  respond_to :html, :xml, :json +  respond_to :js, :only => [:show, :index]    belongs_to :referential -  def new -    new! do -      build_breadcrumb :new -      available_exports -    end -  end - -  def create -    if (params[:export][:type] == "HubExport") && Chouette::VehicleJourneyAtStop.count > 50000 -      flash[:notice] = I18n.t("formtastic.titles.export.vjas.size", size: Chouette::VehicleJourneyAtStop.count) -      redirect_to new_referential_export_path(@referential) -    elsif (params[:export][:type] == "HubExport") && (params[:export][:start_date].empty? || params[:export][:end_date].empty?) -      flash[:notice] = I18n.t("formtastic.titles.export.dates.not_nul") -      redirect_to new_referential_export_path(@referential) -    else -      create! do |success, failure| -        success.html { flash[:notice] = I18n.t('exports.new.flash')+"<br/>"+I18n.t('exports.new.flash2'); redirect_to referential_exports_path(@referential) } -      end -    end -  end - -  def show -    show! do |format| -      format.zip { send_file @export.file, :type => :zip } -      build_breadcrumb :show -    end -  end - -  def references -    @references = referential.send(params[:type]).where("name ilike ?", "%#{params[:q]}%") -    respond_to do |format| -      format.json do -        render :json => @references.collect { |child| { :id => child.id, :name => child.name } } -      end -    end -  end -    protected -  def available_exports -    @available_exports ||= Export.types.collect do |type| -      unless @export.type == type -        @referential.exports.build :type => type -      else -        @export -      end +  def test +    test = IevApi.jobs(@referential.slug, { :action => "exporter" }).map do |export_hash| +      export = Export.new(export_hash)      end    end - -  # FIXME why #resource_id is nil ?? -  def build_resource -    super.tap do |export| -      export.referential_id = @referential.id -    end -  end - +      def collection -    @exports ||= end_of_association_chain.order('created_at DESC').paginate(:page => params[:page]) +    @exports ||= test.paginate(:page => params[:page])        end - +    end diff --git a/app/helpers/exports_helper.rb b/app/helpers/exports_helper.rb index d9b975297..7f53cffba 100644 --- a/app/helpers/exports_helper.rb +++ b/app/helpers/exports_helper.rb @@ -1,7 +1,8 @@ +# -*- coding: utf-8 -*-  module ExportsHelper -  def fields_for_export_type(form) -    #partial_name = "fields_#{form.object.type.underscore}" +  def fields_for_export_format(form) +    #partial_name = "fields_#{form.object.format.underscore}"      begin        render :partial => export_partial_name(form), :locals => { :form => form } @@ -9,38 +10,31 @@ module ExportsHelper        ""      end    end - +      def export_partial_name(form) -    "fields_#{form.object.type.underscore}" +    "fields_#{form.object.format.underscore}"    end - -  include TypeIdsModelsHelper - +      def export_progress_bar_tag(export) -    if export.status == "failed" +    if export.canceled? || export.aborted?        div_class = "progress-bar progress-bar-danger" -      percentage_progress = "100" -    elsif export.status == "pending" +    elsif export.scheduled?        div_class = "progress-bar progress-bar-info" -      percentage_progress = "10" -    elsif export.status == "processing" +    elsif export.created?        div_class = "progress-bar progress-bar-info" -      percentage_progress = "50" -    elsif export.status == "completed" +    elsif export.terminated?        div_class = "progress-bar progress-bar-success" -      percentage_progress = "100"      else        div_class = "" -      percentage_progress = ""      end        content_tag :div, :class => "progress" do -      content_tag :div, :class => div_class, role: "progressbar", :'aria-valuenow' => percentage_progress, :'aria-valuemin' => "0", :'aria-valuemax' => "100", :style => "width: #{percentage_progress}%;" do -        percentage_progress + "% " + I18n.t("exports.statuses.#{export.status}") +      content_tag :div, :class => div_class, role: "progressbar", :'aria-valuenow' => "#{export.percentage_progress}", :'aria-valuemin' => "0", :'aria-valuemax' => "100", :style => "width: #{export.percentage_progress}%;" do +        "#{export.percentage_progress}% " + I18n.t("exports.statuses.#{export.export_status}")        end      end    end -   +  end diff --git a/app/helpers/pagination_helper.rb b/app/helpers/pagination_helper.rb index 68c3d462f..41f225aa9 100644 --- a/app/helpers/pagination_helper.rb +++ b/app/helpers/pagination_helper.rb @@ -10,7 +10,10 @@ module PaginationHelper        html += '<div class="row">'        row_models.each do |model|          partial_name = default_partial_name || model.class.name.underscore.gsub("chouette/", "") -        html += '<div  class="col-md-4">' + (render :partial => partial_name, :object => model, :locals => options).to_s + '</div>' +        puts "PARTIAL_NAME = #{partial_name}\nMODEL = #{model.inspect}\nOPTIONS = #{options}" +        #html += '<div  class="col-md-4">' + (render :partial => partial_name, :object => model, :locals => options).to_s + '</div>' +        #html += '<div  class="col-md-4">' + "<%= link_to referential_export_path(#{model.referential}, #{model}) %>" + '</div>' +        puts "HTML= #{html}"        end        html += '</div>'      end diff --git a/app/models/csv_export.rb b/app/models/csv_export.rb index 4afacf81a..9fff79be3 100644 --- a/app/models/csv_export.rb +++ b/app/models/csv_export.rb @@ -1,7 +1,7 @@ -class CsvExport < Export +# class CsvExport < Export -  def export_options -    super.merge(:format => :csv) -  end +#   def export_options +#     super.merge(:format => :csv) +#   end -end +# end diff --git a/app/models/export.rb b/app/models/export.rb index 99e499c2d..7ee9704f6 100644 --- a/app/models/export.rb +++ b/app/models/export.rb @@ -1,137 +1,55 @@ -class Export < ActiveRecord::Base - -  belongs_to :referential -  validates_presence_of :referential_id - -  validates_inclusion_of :status, :in => %w{ pending processing completed failed } - -  has_many :log_messages, -> { order('position ASC') }, :class_name => "ExportLogMessage", :dependent => :delete_all - -  serialize :options - -  include ::TypeIdsModelable - -  def self.option(name) -    name = name.to_s - -    define_method(name) do -      self.options and self.options[name] -    end - -    define_method("#{name}=") do |prefix| -      (self.options ||= {})[name] = prefix -    end -  end - - -  def exporter -    exporter ||= ::Chouette::Exporter.new(referential.slug) -  end - -  @@root = "#{Rails.root}/tmp/exports" -  cattr_accessor :root - -  after_destroy :destroy_file -  def destroy_file -    FileUtils.rm file if File.exists? file -  end - -  def file -    "#{root}/#{id}.zip" -  end +class Export +  extend Enumerize +  extend ActiveModel::Naming +  include ActiveModel::Model   +   +  enumerize :export_status, in: %w{created scheduled terminated canceled aborted}, default: "created", predicates: true +  enumerize :export_format, in: %w{neptune netex gtfs hub kml}, default: "neptune", predicates: true +   +  attr_reader :datas -  def name -    "#{self.class.model_name.human} #{id}" +  def initialize(options=Hashie::Mash.new) +    @datas = options +    @export_status = @datas.status.downcase if @datas.status +    @export_format = @datas.type.downcase if @datas.type    end -  def export_options -    { :export_id => self.id, :o => export_object_type }.tap do |options| -      options[:id] = reference_ids.join(',') if reference_ids.present? +  def percentage_progress +    if %w{created}.include? export_status +      0 +    elsif %w{ terminated canceled aborted }.include? export_status +      100 +    else +      20      end    end -  def export_object_type -      references_relation ? references_relation.singularize : "line" +  def links +    @datas.links    end -  before_validation :define_default_attributes, :on => :create -  def define_default_attributes -    self.status ||= "pending" -    self.options ||= {} +  def name +    @datas.parameters.name    end -  after_create :delayed_export -  def delayed_export -    delay.export +  def user_name +    @datas.parameters.user_name    end -  def export -    result_severity = "ok" -    FileUtils.mkdir_p root - -    begin -      # delayed job may repeat call -      ExportLogMessage.where(:export_id => self.id).delete_all -      log_messages.create :severity => "ok", :key => :started - -      exporter.export file, export_options - -      update_attribute :status, "completed" -    rescue => e -      Rails.logger.error "Export #{id} failed : #{e}, #{e.backtrace}" -      update_attribute :status, "failed" -      result_severity = "error" -    end - -    log_messages.create :severity => result_severity, :key => status +  def no_save +    @datas.parameters.no_save    end - -  def self.all_references_types -    [ Chouette::Line, Chouette::Network, Chouette::Company , Chouette::StopArea] +  def filename +    @datas.filename    end -  def references_types -    [ Chouette::Line, Chouette::Network, Chouette::Company ] +  def created_at +    Time.at(@datas.created.to_i / 1000)    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 = { -      "NeptuneExport" => "Neptune", -      "CsvExport" => "CSV", -      "GtfsExport" => "GTFS", -      "NetexExport" => "NeTEx", -      "KmlExport" => "KML", -      "HubExport" => "HUB" -    } -    name_by_format[format] -  end -   -  def self.format_label(format) -    I18n.t 'exchange.format.'+format.sub("Export",'').downcase -  end - -  def self.types -    unless Rails.env.development? -      subclasses.map(&:to_s) -    else -      # FIXME -      %w{NeptuneExport CsvExport GtfsExport NetexExport KmlExport HubExport} -    end -  end - -  def self.new(attributes = {}, options = {}, &block) -    if self == Export -      Object.const_get(attributes.delete(:type) || "NeptuneExport").new(attributes, options) -    else -      super -    end +  def updated_at +    Time.at(@datas.updated.to_i / 1000)    end  end - diff --git a/app/models/export_log_message.rb b/app/models/export_log_message.rb index 4bb9d3cc7..9d48f288e 100644 --- a/app/models/export_log_message.rb +++ b/app/models/export_log_message.rb @@ -1,42 +1,42 @@ -class ExportLogMessage < ActiveRecord::Base -  belongs_to :export +# class ExportLogMessage < ActiveRecord::Base +#   belongs_to :export -  acts_as_list :scope => :export +#   acts_as_list :scope => :export -  validates_presence_of :key -  validates_inclusion_of :severity, :in => %w{info warning error ok uncheck fatal} +#   validates_presence_of :key +#   validates_inclusion_of :severity, :in => %w{info warning error ok uncheck fatal} -  def arguments=(arguments) -    write_attribute :arguments, (arguments.to_json if arguments.present?) -  end +#   def arguments=(arguments) +#     write_attribute :arguments, (arguments.to_json if arguments.present?) +#   end -  def arguments -    @decoded_arguments ||=  -      begin -        if (stored_arguments = raw_attributes).present? -          ActiveSupport::JSON.decode stored_arguments -        else -          {} -        end -      end -  end +#   def arguments +#     @decoded_arguments ||=  +#       begin +#         if (stored_arguments = raw_attributes).present? +#           ActiveSupport::JSON.decode stored_arguments +#         else +#           {} +#         end +#       end +#   end -  def raw_attributes -    read_attribute(:arguments) -  end +#   def raw_attributes +#     read_attribute(:arguments) +#   end -  before_validation :define_default_attributes, :on => :create -  def define_default_attributes -    self.severity ||= "info" -  end +#   before_validation :define_default_attributes, :on => :create +#   def define_default_attributes +#     self.severity ||= "info" +#   end -  def full_message -    last_key=key.rpartition("|").last -    begin -      I18n.translate last_key, arguments.symbolize_keys.merge(:scope => "export_log_messages.messages").merge(:default => :undefined).merge(:key => last_key) -    rescue => e -      Rails.logger.error "missing arguments for message "+last_key -      I18n.translate "WRONG_DATA",{"0"=>last_key}.symbolize_keys.merge(:scope => "export_log_messages.messages").merge(:default => :undefined).merge(:key => "WRONG_DATA") -    end -  end -end +#   def full_message +#     last_key=key.rpartition("|").last +#     begin +#       I18n.translate last_key, arguments.symbolize_keys.merge(:scope => "export_log_messages.messages").merge(:default => :undefined).merge(:key => last_key) +#     rescue => e +#       Rails.logger.error "missing arguments for message "+last_key +#       I18n.translate "WRONG_DATA",{"0"=>last_key}.symbolize_keys.merge(:scope => "export_log_messages.messages").merge(:default => :undefined).merge(:key => "WRONG_DATA") +#     end +#   end +# end diff --git a/app/models/gtfs_export.rb b/app/models/gtfs_export.rb index 6ee83098f..5f3364ef1 100644 --- a/app/models/gtfs_export.rb +++ b/app/models/gtfs_export.rb @@ -1,28 +1,28 @@ -class GtfsExport < Export +# class GtfsExport < Export -  validates_presence_of :time_zone -  option :time_zone -  option :object_id_prefix +#   validates_presence_of :time_zone +#   option :time_zone +#   option :object_id_prefix -  after_initialize :init_params +#   after_initialize :init_params -  def references_types -    [ Chouette::Line, Chouette::Network, Chouette::Company, Chouette::StopArea ] -  end +#   def references_types +#     [ Chouette::Line, Chouette::Network, Chouette::Company, Chouette::StopArea ] +#   end -  def init_params -    if time_zone.nil? -      self.time_zone = "Paris" -    end -  end +#   def init_params +#     if time_zone.nil? +#       self.time_zone = "Paris" +#     end +#   end -  def export_options -    opts = super.merge(:format => :gtfs, :time_zone => ActiveSupport::TimeZone.find_tzinfo(time_zone).name) -    if object_id_prefix.present? -      opts = opts.merge(:object_id_prefix => object_id_prefix) -    end -    puts opts.inspect -    opts -  end +#   def export_options +#     opts = super.merge(:format => :gtfs, :time_zone => ActiveSupport::TimeZone.find_tzinfo(time_zone).name) +#     if object_id_prefix.present? +#       opts = opts.merge(:object_id_prefix => object_id_prefix) +#     end +#     puts opts.inspect +#     opts +#   end -end +# end diff --git a/app/models/hub_export.rb b/app/models/hub_export.rb index 3d93cbfae..88c8e061c 100644 --- a/app/models/hub_export.rb +++ b/app/models/hub_export.rb @@ -1,35 +1,35 @@ -class HubExport < Export +# class HubExport < Export -  option :start_date -  option :end_date +#   option :start_date +#   option :end_date -  after_initialize :init_period +#   after_initialize :init_period -  def init_period -    unless Chouette::TimeTable.start_validity_period.nil? -      if start_date.nil? -        self.start_date = Chouette::TimeTable.start_validity_period -      end -      if end_date.nil? -        self.end_date = Chouette::TimeTable.end_validity_period -      end -    end -  end +#   def init_period +#     unless Chouette::TimeTable.start_validity_period.nil? +#       if start_date.nil? +#         self.start_date = Chouette::TimeTable.start_validity_period +#       end +#       if end_date.nil? +#         self.end_date = Chouette::TimeTable.end_validity_period +#       end +#     end +#   end -  def export_options -    if (start_date.empty? && end_date.empty?) -      super.merge(:format => :hub).except(:start_date).except(:end_date) -    elsif start_date.empty? -      super.merge(:format => :hub, :end_date => end_date).except(:start_date) -    elsif end_date.empty? -      super.merge(:format => :hub, :start_date => start_date).except(:end_date) -    else -      super.merge(:format => :hub, :start_date => start_date, :end_date => end_date) -    end -  end +#   def export_options +#     if (start_date.empty? && end_date.empty?) +#       super.merge(:format => :hub).except(:start_date).except(:end_date) +#     elsif start_date.empty? +#       super.merge(:format => :hub, :end_date => end_date).except(:start_date) +#     elsif end_date.empty? +#       super.merge(:format => :hub, :start_date => start_date).except(:end_date) +#     else +#       super.merge(:format => :hub, :start_date => start_date, :end_date => end_date) +#     end +#   end -  def exporter -    exporter ||= ::Chouette::Hub::Exporter.new(referential, self) -  end +#   def exporter +#     exporter ||= ::Chouette::Hub::Exporter.new(referential, self) +#   end -end +# end diff --git a/app/models/import.rb b/app/models/import.rb index 526d77783..6a6b78c9e 100644 --- a/app/models/import.rb +++ b/app/models/import.rb @@ -11,7 +11,7 @@ class Import    def initialize(options=Hashie::Mash.new)      @datas = options      @import_status = @datas.status.downcase if @datas.status -    @import_format = @datas.type.downcase +    @import_format = @datas.type.downcase if @datas.type    end    def percentage_progress diff --git a/app/models/kml_export.rb b/app/models/kml_export.rb index c450bd297..aa27e331a 100644 --- a/app/models/kml_export.rb +++ b/app/models/kml_export.rb @@ -1,11 +1,11 @@ -class KmlExport < Export +# class KmlExport < Export -  def export_options -    super.merge(:format => :kml) -  end +#   def export_options +#     super.merge(:format => :kml) +#   end -  def exporter -    exporter ||= ::Chouette::Kml::Exporter.new(referential, self) -  end +#   def exporter +#     exporter ||= ::Chouette::Kml::Exporter.new(referential, self) +#   end -end +# end diff --git a/app/models/neptune_export.rb b/app/models/neptune_export.rb index 4d8aff76d..67dbc33d1 100644 --- a/app/models/neptune_export.rb +++ b/app/models/neptune_export.rb @@ -1,20 +1,20 @@ -class NeptuneExport < Export +# class NeptuneExport < Export -  option :start_date -  option :end_date +#   option :start_date +#   option :end_date -  def export_options -    start_date ||= "" -    end_date ||= "" -    if (start_date.empty? && end_date.empty?) -       super.merge(:format => :neptune).except(:start_date).except(:end_date) -    elsif start_date.empty? -       super.merge(:format => :neptune, :end_date => end_date).except(:start_date) -    elsif end_date.empty? -       super.merge(:format => :neptune, :start_date => start_date).except(:end_date) -    else   -       super.merge(:format => :neptune, :start_date => start_date, :end_date => end_date) -    end -  end +#   def export_options +#     start_date ||= "" +#     end_date ||= "" +#     if (start_date.empty? && end_date.empty?) +#        super.merge(:format => :neptune).except(:start_date).except(:end_date) +#     elsif start_date.empty? +#        super.merge(:format => :neptune, :end_date => end_date).except(:start_date) +#     elsif end_date.empty? +#        super.merge(:format => :neptune, :start_date => start_date).except(:end_date) +#     else   +#        super.merge(:format => :neptune, :start_date => start_date, :end_date => end_date) +#     end +#   end -end +# end diff --git a/app/models/netex_export.rb b/app/models/netex_export.rb index c29ef2b45..1845d1c06 100644 --- a/app/models/netex_export.rb +++ b/app/models/netex_export.rb @@ -1,7 +1,7 @@ -class NetexExport < Export +# class NetexExport < Export -  def export_options -    super.merge(:format => :netex) -  end +#   def export_options +#     super.merge(:format => :netex) +#   end -end +# end diff --git a/app/models/vehicle_journey_export.rb b/app/models/vehicle_journey_export.rb index 4c2c62fa8..916c9af0d 100644 --- a/app/models/vehicle_journey_export.rb +++ b/app/models/vehicle_journey_export.rb @@ -1,167 +1,167 @@ -# -*- coding: utf-8 -*- -require "csv" -require "zip" +# # -*- coding: utf-8 -*- +# require "csv" +# require "zip" -class VehicleJourneyExport    -  include ActiveModel::Validations -  include ActiveModel::Conversion -  extend  ActiveModel::Naming +# class VehicleJourneyExport    +#   include ActiveModel::Validations +#   include ActiveModel::Conversion +#   extend  ActiveModel::Naming -  attr_accessor :vehicle_journeys, :route +#   attr_accessor :vehicle_journeys, :route -  def initialize(attributes = {})     -    attributes.each { |name, value| send("#{name}=", value) } -  end +#   def initialize(attributes = {})     +#     attributes.each { |name, value| send("#{name}=", value) } +#   end -  def persisted? -    false -  end +#   def persisted? +#     false +#   end -  def label(name) -    I18n.t "vehicle_journey_exports.label.#{name}" -  end +#   def label(name) +#     I18n.t "vehicle_journey_exports.label.#{name}" +#   end -  def column_names -    ["", label("vehicle_journey_id")] + vehicle_journeys.collect(&:id) -  end +#   def column_names +#     ["", label("vehicle_journey_id")] + vehicle_journeys.collect(&:id) +#   end -  # produce a map stop_id => departure time for a vehicle_journey -  def time_by_stops(vj) -    {}.tap do |hash| -       vj.vehicle_journey_at_stops.each do |vjas| -         hash[ "#{vjas.stop_point_id}"] = vjas.departure_time.strftime("%H:%M")  -      end -    end -  end +#   # produce a map stop_id => departure time for a vehicle_journey +#   def time_by_stops(vj) +#     {}.tap do |hash| +#        vj.vehicle_journey_at_stops.each do |vjas| +#          hash[ "#{vjas.stop_point_id}"] = vjas.departure_time.strftime("%H:%M")  +#       end +#     end +#   end -  def time_tables (vj) -    (vj.time_tables.collect{ |t| t.id }) -  end +#   def time_tables (vj) +#     (vj.time_tables.collect{ |t| t.id }) +#   end -  def time_tables_array -    (vehicle_journeys.collect{ |vj| time_tables(vj).to_s[1..-2] } ) -  end +#   def time_tables_array +#     (vehicle_journeys.collect{ |vj| time_tables(vj).to_s[1..-2] } ) +#   end -  def vehicle_journey_at_stops_array -    (vehicle_journeys.collect{ |vj| time_by_stops vj } ) -  end +#   def vehicle_journey_at_stops_array +#     (vehicle_journeys.collect{ |vj| time_by_stops vj } ) +#   end -  def boolean_code(b) -    b.nil? ? "" : label("b_"+b.to_s) -  end +#   def boolean_code(b) +#     b.nil? ? "" : label("b_"+b.to_s) +#   end -  def number_array -    (vehicle_journeys.collect{ |vj| vj.number ?  vj.number.to_s : "" } ) -  end +#   def number_array +#     (vehicle_journeys.collect{ |vj| vj.number ?  vj.number.to_s : "" } ) +#   end -  def published_journey_name_array -    (vehicle_journeys.collect{ |vj| vj.published_journey_name ?  vj.published_journey_name : "" } ) -  end +#   def published_journey_name_array +#     (vehicle_journeys.collect{ |vj| vj.published_journey_name ?  vj.published_journey_name : "" } ) +#   end -  def flexible_service_array -    (vehicle_journeys.collect{ |vj| boolean_code vj.flexible_service  } ) -  end +#   def flexible_service_array +#     (vehicle_journeys.collect{ |vj| boolean_code vj.flexible_service  } ) +#   end -  def mobility_restricted_suitability_array -    (vehicle_journeys.collect{ |vj| boolean_code vj.mobility_restricted_suitability  } ) -  end +#   def mobility_restricted_suitability_array +#     (vehicle_journeys.collect{ |vj| boolean_code vj.mobility_restricted_suitability  } ) +#   end -  def empty_array -    (vehicle_journeys.collect{ |vj| "" } ) -  end +#   def empty_array +#     (vehicle_journeys.collect{ |vj| "" } ) +#   end -  def times_of_stop(stop_id,vjas_array) -    a = [] -    vjas_array.each do |map| -      a << (map[stop_id.to_s].present? ? map[stop_id.to_s] : "") -    end -    a -  end +#   def times_of_stop(stop_id,vjas_array) +#     a = [] +#     vjas_array.each do |map| +#       a << (map[stop_id.to_s].present? ? map[stop_id.to_s] : "") +#     end +#     a +#   end -  def to_csv(options = {}) -    CSV.generate(options) do |csv|             -      csv << column_names -      csv << ["", label("number")] + number_array -      csv << ["", label("published_journey_name")] + published_journey_name_array -      csv << ["", label("mobility")] + mobility_restricted_suitability_array -      csv << ["", label("flexible_service")] + flexible_service_array -      csv << ["", label("time_table_ids")] + time_tables_array -      csv << [label("stop_id"), label("stop_name")] + empty_array -      vjas_array = vehicle_journey_at_stops_array -      route.stop_points.each_with_index do |stop_point, index|         -        times = times_of_stop(stop_point.id,vjas_array) -        csv << [stop_point.id, stop_point.stop_area.name] + times -      end -    end -  end +#   def to_csv(options = {}) +#     CSV.generate(options) do |csv|             +#       csv << column_names +#       csv << ["", label("number")] + number_array +#       csv << ["", label("published_journey_name")] + published_journey_name_array +#       csv << ["", label("mobility")] + mobility_restricted_suitability_array +#       csv << ["", label("flexible_service")] + flexible_service_array +#       csv << ["", label("time_table_ids")] + time_tables_array +#       csv << [label("stop_id"), label("stop_name")] + empty_array +#       vjas_array = vehicle_journey_at_stops_array +#       route.stop_points.each_with_index do |stop_point, index|         +#         times = times_of_stop(stop_point.id,vjas_array) +#         csv << [stop_point.id, stop_point.stop_area.name] + times +#       end +#     end +#   end -  def tt_day_types(tt) -    type = tt.monday ? label("monday") : ".." -    type += tt.tuesday ? label("tuesday") : ".." -    type += tt.wednesday ? label("wednesday") : ".." -    type += tt.thursday ? label("thursday") : ".." -    type += tt.friday ? label("friday") : ".." -    type += tt.saturday ? label("saturday") : ".." -    type += tt.sunday ? label("sunday") : ".." -    type -  end +#   def tt_day_types(tt) +#     type = tt.monday ? label("monday") : ".." +#     type += tt.tuesday ? label("tuesday") : ".." +#     type += tt.wednesday ? label("wednesday") : ".." +#     type += tt.thursday ? label("thursday") : ".." +#     type += tt.friday ? label("friday") : ".." +#     type += tt.saturday ? label("saturday") : ".." +#     type += tt.sunday ? label("sunday") : ".." +#     type +#   end -  def tt_periods(tt) -    periods = "" -    tt.periods.each do |p| -      periods += "["+p.period_start.to_s+" -> "+p.period_end.to_s+"] " -    end -    periods -  end +#   def tt_periods(tt) +#     periods = "" +#     tt.periods.each do |p| +#       periods += "["+p.period_start.to_s+" -> "+p.period_end.to_s+"] " +#     end +#     periods +#   end -  def tt_peculiar_days(tt) -    days = "" -    tt.included_days.each do |d| -      days += d.to_s+" " -    end -    days -  end  +#   def tt_peculiar_days(tt) +#     days = "" +#     tt.included_days.each do |d| +#       days += d.to_s+" " +#     end +#     days +#   end  -  def tt_excluded_days(tt) -    days = "" -    tt.excluded_days.each do |d| -      days += d.to_s+" " -    end -    days -  end     +#   def tt_excluded_days(tt) +#     days = "" +#     tt.excluded_days.each do |d| +#       days += d.to_s+" " +#     end +#     days +#   end     -  def tt_data(tt) -    [].tap do |array| -      # code;name;tags;start;end;day types;periods;peculiar days;excluded days -      array << tt.id.to_s -      array << tt.comment -      array << tt.tag_list -      array << tt.start_date.to_s -      array << tt.end_date.to_s -      array << tt_day_types(tt) -      array << tt_day_types(tt) -      array << tt_periods(tt) -      array << tt_peculiar_days(tt) -      array << tt_excluded_days(tt) -    end   -  end +#   def tt_data(tt) +#     [].tap do |array| +#       # code;name;tags;start;end;day types;periods;peculiar days;excluded days +#       array << tt.id.to_s +#       array << tt.comment +#       array << tt.tag_list +#       array << tt.start_date.to_s +#       array << tt.end_date.to_s +#       array << tt_day_types(tt) +#       array << tt_day_types(tt) +#       array << tt_periods(tt) +#       array << tt_peculiar_days(tt) +#       array << tt_excluded_days(tt) +#     end   +#   end -  def time_tables_to_csv (options = {}) -    tts = Chouette::TimeTable.all -    CSV.generate(options) do |csv|             -      csv << label("tt_columns").split(";") -      tts.each do |tt|         -        csv << tt_data(tt) -      end -    end -  end +#   def time_tables_to_csv (options = {}) +#     tts = Chouette::TimeTable.all +#     CSV.generate(options) do |csv|             +#       csv << label("tt_columns").split(";") +#       tts.each do |tt|         +#         csv << tt_data(tt) +#       end +#     end +#   end -  def to_zip(temp_file,options = {}) -    ::Zip::OutputStream.open(temp_file) { |zos| } -    ::Zip::File.open(temp_file.path, ::Zip::File::CREATE) do |zipfile| -      zipfile.get_output_stream(label("vj_filename")+route.id.to_s+".csv") { |f| f.puts to_csv(options) } -      zipfile.get_output_stream(label("tt_filename")+".csv") { |f| f.puts time_tables_to_csv(options) } -    end     -  end +#   def to_zip(temp_file,options = {}) +#     ::Zip::OutputStream.open(temp_file) { |zos| } +#     ::Zip::File.open(temp_file.path, ::Zip::File::CREATE) do |zipfile| +#       zipfile.get_output_stream(label("vj_filename")+route.id.to_s+".csv") { |f| f.puts to_csv(options) } +#       zipfile.get_output_stream(label("tt_filename")+".csv") { |f| f.puts time_tables_to_csv(options) } +#     end     +#   end -end +# end diff --git a/app/views/exports/_export.erb b/app/views/exports/_export.erb index a139e3171..d23795f8f 100644 --- a/app/views/exports/_export.erb +++ b/app/views/exports/_export.erb @@ -1,18 +1,18 @@  <div id="index_item" class="panel panel-default">    <div class="panel-heading">      <div class="panel-title clearfix"> -      <span class="pull-right">                 -        <%= link_to referential_export_path(@referential, export), :method => :delete, :data => {:confirm =>  t('exports.actions.destroy_confirm')}, :class => "btn btn-danger btn-sm" do %> -          <span class="fa fa-trash-o"></span> -        <% end %> -      </span> -      <h5> -        <%= link_to( referential_export_path(@referential, export), :class => "preview", :title => "#{Export.model_name.human.capitalize} #{export.name}") do %>         -        <span class="name"> -          <%= truncate(export.name, :length => 20) %>           -        </span> -        <% end %> -      </h5> +      <!-- span class="pull-right" -->                 +        <!-- %= link_to referential_export_path(@referential, export), :method => :delete, :data => {:confirm =>  t('exports.actions.destroy_confirm')}, :class => "btn btn-danger btn-sm" do % --> +          <!-- span class="fa fa-trash-o"></span --> +         <!--% end % --> +      <!-- /span --> +      <!-- <h5> --> +      <!--   <  %= link_to( referential_export_path(@referential, export), :class => "preview", :title => "#{Export.model_name.human.capitalize} #{export.name}") do %  >         --> +      <!--   <span class="name"> --> +      <!--     <  %= truncate(export.name, :length => 20) % >           --> +      <!--   </span> --> +      <!--   < % end % > --> +      <!-- </h5> -->      </div>                              </div>    <div class="panel-body"> diff --git a/app/views/exports/_exports.html.erb b/app/views/exports/_exports.html.erb index 9417cfed6..4e86de0a5 100644 --- a/app/views/exports/_exports.html.erb +++ b/app/views/exports/_exports.html.erb @@ -2,7 +2,7 @@    <span class="search"> <%= t("will_paginate.page_entries_info.search") %></span> <%= page_entries_info @exports %>  </div>  <div class="exports paginated_content"> -  <%= paginated_content @exports, "export" %> +  <%= paginated_content(@exports, "export",  {:delete => false, :edit => true}) %>  </div>  <div class="pagination">      <%= will_paginate @exports, :container => false, renderer: RemoteBootstrapPaginationLinkRenderer %> diff --git a/app/views/exports/index.html.erb b/app/views/exports/index.html.erb index 35b19be62..3fda99672 100644 --- a/app/views/exports/index.html.erb +++ b/app/views/exports/index.html.erb @@ -1,5 +1,6 @@  <%= title_tag t('.title') %>   <div class="warning"><%= t('.warning') %> </div>  +  <div id="exports"><%= render 'exports' %></div>  | 
