diff options
| author | Luc Donnet | 2015-03-10 10:40:29 +0100 | 
|---|---|---|
| committer | Luc Donnet | 2015-03-10 10:40:29 +0100 | 
| commit | 5f4cb752d74c96774b6fdfb2e14eb6298d63809c (patch) | |
| tree | 364e726eccb5724dc389c34806c987803e20f846 /app | |
| parent | c6dcb47ac1e7feb6c8a82a17f65d19f31b740e3e (diff) | |
| parent | f0456f7334b8fb4442a51bb370fdc0c5a3ea2cd0 (diff) | |
| download | chouette-core-5f4cb752d74c96774b6fdfb2e14eb6298d63809c.tar.bz2 | |
Merge branch 'rails4' of github.com:afimb/chouette2 into rails4
Diffstat (limited to 'app')
| -rw-r--r-- | app/helpers/exports_helper.rb | 2 | ||||
| -rw-r--r-- | app/models/export_log_message.rb | 70 | ||||
| -rw-r--r-- | app/models/kml_export.rb | 16 | ||||
| -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 | 38 | ||||
| -rw-r--r-- | app/views/exports/_exports.html.erb | 3 | 
7 files changed, 208 insertions, 213 deletions
diff --git a/app/helpers/exports_helper.rb b/app/helpers/exports_helper.rb index 7f53cffba..9ee5778d6 100644 --- a/app/helpers/exports_helper.rb +++ b/app/helpers/exports_helper.rb @@ -2,8 +2,6 @@  module ExportsHelper    def fields_for_export_format(form) -    #partial_name = "fields_#{form.object.format.underscore}" -      begin        render :partial => export_partial_name(form), :locals => { :form => form }      rescue ActionView::MissingTemplate diff --git a/app/models/export_log_message.rb b/app/models/export_log_message.rb index 9d48f288e..4bb9d3cc7 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/kml_export.rb b/app/models/kml_export.rb index aa27e331a..c450bd297 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/netex_export.rb b/app/models/netex_export.rb index 1845d1c06..c29ef2b45 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 916c9af0d..4c2c62fa8 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 d23795f8f..c406a1caa 100644 --- a/app/views/exports/_export.erb +++ b/app/views/exports/_export.erb @@ -1,33 +1,29 @@  <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> --> -    </div>                           +      <span class="pull-right"> +        <!-- % puts "EXPORTEXPORTEXPORTEXPORTEXPORT = #{export.datas.links.inspect}" % --> +        <!-- % puts "EXPORTEXPORTEXPORTEXPORTEXPORT = #{export.datas.links[2].href}" % --> +        <!-- % puts "EXPORTEXPORTEXPORTEXPORTEXPORT = #{export.datas.links[3].href}" % --> +        <%= link_to "#{Rails.application.config.iev_url}#{export.datas.links[3].href}", :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( "#{Rails.application.config.iev_url}#{export.datas.links[3].href}", :class => "preview", :title => "#{Export.model_name.human.capitalize} #{export.name}") do %> +	  <span class="name"> +	    <%if !export.no_save %><i class="fa fa-save"></i><% end %> <%= truncate(export.name, :length => 20) %> +	  </span> +	<% end %> +      </h5> +    </div>    </div>    <div class="panel-body"> -      <p> -        <% if export.status == 'completed' %> -          <%= link_to image_tag("icons/file_zip.png") + t(".exported_file"), referential_export_path(@referential, export, :format => :zip), :class => "download" %> -        <% else %> -            -        <% end %> -      </p>          </div>    <div class="panel-footer">      <%= export_progress_bar_tag(export) %>          <div class="history"> -      <%= l export.created_at, :format => "%d/%m/%Y %H:%M" %> +      <%= l export.created_at, :format => "%d/%m/%Y %H:%M" %> | <%= export.user_name %>      </div>    </div>  </div> diff --git a/app/views/exports/_exports.html.erb b/app/views/exports/_exports.html.erb index 4e86de0a5..52ec2df19 100644 --- a/app/views/exports/_exports.html.erb +++ b/app/views/exports/_exports.html.erb @@ -2,7 +2,8 @@    <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",  {:delete => false, :edit => true}) %> +  <!-- %= paginated_content(@exports, "export",  {:delete => false, :edit => true}) % --> +  <%= paginated_content(@exports) %>  </div>  <div class="pagination">      <%= will_paginate @exports, :container => false, renderer: RemoteBootstrapPaginationLinkRenderer %>  | 
