aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZakaria BOUZIANE2015-02-26 14:54:18 +0100
committerZakaria BOUZIANE2015-02-26 14:54:18 +0100
commit6c799be447a241f0eb232fc4cea3405612acd4e8 (patch)
treef4ca3be7a7ba189900dedeb0c66feb2045c8437b
parent0adee77238b5c70bcf518e939e16136f3a481493 (diff)
downloadchouette-core-6c799be447a241f0eb232fc4cea3405612acd4e8.tar.bz2
Instable state: postgresql_adapter.rb: undefined method table_name for Export:Class
-rw-r--r--app/controllers/exports_controller.rb69
-rw-r--r--app/helpers/exports_helper.rb32
-rw-r--r--app/helpers/pagination_helper.rb5
-rw-r--r--app/models/csv_export.rb10
-rw-r--r--app/models/export.rb150
-rw-r--r--app/models/export_log_message.rb70
-rw-r--r--app/models/gtfs_export.rb44
-rw-r--r--app/models/hub_export.rb58
-rw-r--r--app/models/import.rb2
-rw-r--r--app/models/kml_export.rb16
-rw-r--r--app/models/neptune_export.rb34
-rw-r--r--app/models/netex_export.rb10
-rw-r--r--app/models/vehicle_journey_export.rb282
-rw-r--r--app/views/exports/_export.erb24
-rw-r--r--app/views/exports/_exports.html.erb2
-rw-r--r--app/views/exports/index.html.erb1
-rw-r--r--config/routes.rb1
-rw-r--r--db/schema.rb48
18 files changed, 361 insertions, 497 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>
diff --git a/config/routes.rb b/config/routes.rb
index 93b1b2303..82dd4248f 100644
--- a/config/routes.rb
+++ b/config/routes.rb
@@ -97,6 +97,7 @@ ChouetteIhm::Application.routes.draw do
get 'references'
end
end
+
resources :compliance_check_tasks do
member do
get 'export', defaults: { format: 'zip' }
diff --git a/db/schema.rb b/db/schema.rb
index cde534a39..5714242ae 100644
--- a/db/schema.rb
+++ b/db/schema.rb
@@ -11,7 +11,7 @@
#
# It's strongly recommended that you check this file into your version control system.
-ActiveRecord::Schema.define(version: 20150130094642) do
+ActiveRecord::Schema.define(version: 20150226083920) do
# These are extensions that must be enabled in order to support this database
enable_extension "plpgsql"
@@ -164,31 +164,6 @@ ActiveRecord::Schema.define(version: 20150130094642) do
add_index "delayed_jobs", ["priority", "run_at"], name: "delayed_jobs_priority", using: :btree
- create_table "export_log_messages", force: true do |t|
- t.integer "export_id", limit: 8
- t.string "key"
- t.string "arguments", limit: 1000
- t.integer "position"
- t.string "severity"
- t.datetime "created_at", null: false
- t.datetime "updated_at", null: false
- end
-
- add_index "export_log_messages", ["export_id"], name: "index_export_log_messages_on_export_id", using: :btree
-
- create_table "exports", force: true do |t|
- t.integer "referential_id", limit: 8
- t.string "status"
- t.string "type"
- t.string "options"
- t.datetime "created_at", null: false
- t.datetime "updated_at", null: false
- t.string "references_type"
- t.string "reference_ids"
- end
-
- add_index "exports", ["referential_id"], name: "index_exports_on_referential_id", using: :btree
-
create_table "facilities", force: true do |t|
t.integer "stop_area_id", limit: 8
t.integer "line_id", limit: 8
@@ -249,6 +224,17 @@ ActiveRecord::Schema.define(version: 20150130094642) do
t.datetime "updated_at", null: false
end
+ create_table "jobs", force: true do |t|
+ t.string "action"
+ t.datetime "created"
+ t.string "filename"
+ t.string "path"
+ t.string "referential"
+ t.string "status"
+ t.string "type"
+ t.datetime "updated"
+ end
+
create_table "journey_patterns", force: true do |t|
t.integer "route_id", limit: 8
t.string "objectid", null: false
@@ -296,6 +282,14 @@ ActiveRecord::Schema.define(version: 20150130094642) do
add_index "lines", ["objectid"], name: "lines_objectid_key", unique: true, using: :btree
add_index "lines", ["registration_number"], name: "lines_registration_number_key", unique: true, using: :btree
+ create_table "links", id: false, force: true do |t|
+ t.integer "job_id", limit: 8, null: false
+ t.string "href"
+ t.string "method"
+ t.string "rel"
+ t.string "type"
+ end
+
create_table "networks", force: true do |t|
t.string "objectid", null: false
t.integer "object_version"
@@ -608,6 +602,8 @@ ActiveRecord::Schema.define(version: 20150130094642) do
add_foreign_key "lines", "companies", name: "line_company_fkey", dependent: :nullify
add_foreign_key "lines", "networks", name: "line_ptnetwork_fkey", dependent: :nullify
+ add_foreign_key "links", "jobs", name: "fk_n5ypxycc1stckgkm6ust2l6on"
+
add_foreign_key "routes", "lines", name: "route_line_fkey", dependent: :delete
add_foreign_key "routing_constraints_lines", "lines", name: "routingconstraint_line_fkey", dependent: :delete