diff options
| author | Luc Donnet | 2013-07-01 08:53:34 +0200 | 
|---|---|---|
| committer | Luc Donnet | 2013-07-01 08:53:34 +0200 | 
| commit | e8f8d98b66d3dc912a8ccc253f46b705d77f7db7 (patch) | |
| tree | 38271d32f5743328e94587fd6e5ceb4a2ddc23da | |
| parent | 8f8c8b07b587b0f5f2300f8635b68aeb0415024d (diff) | |
| parent | 3529f9d5f2851b65fcf94b5a4ec3b722b9f6c64c (diff) | |
| download | chouette-core-e8f8d98b66d3dc912a8ccc253f46b705d77f7db7.tar.bz2 | |
Merge branch 'master' of github.com:dryade/chouette2
22 files changed, 292 insertions, 126 deletions
| diff --git a/CHANGELOG.md b/CHANGELOG.md index c6eda254d..ca9fdcd68 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,11 @@ -# V2.0.3 +# V2.1.0 (en cours) + +* suppression des coordonnées projetées en base +** les données sont produites à la volée pour l'export et l'affichage à partir de la projection fixée dans le référentiel +* consolidation de l'import GTFS +* ajout d'un export KML  + +# V2.0.3 (27/05/13)  * Ajout des imports/export NeTex  * Fonctionnement sous windows @@ -6,12 +13,12 @@  * Reprise des logs d'import Neptune  * Intégration des cartes du géoportail (IGN) -# V2.0.2 +# V2.0.2 (28/01/13)  * Ajout de l'import GTFS (expérimental, ne traite pas les stations)  * Ajout d'API Rest pour accéder aux données depuis une autre application -# V2.0.1 +# V2.0.1 (17/12/12)  * Ajout de la gestion des groupes de lignes  * Ajout de la gestion des accès et des relations arrêts-accès @@ -19,7 +26,7 @@  * Améliorations ergonomiques et cartographiques  * L'import Neptune accepte les principaux formats d'encodage : ISO-8859-1, UTF-8, ... -# V2.0.0 +# V2.0.0 (10/09/12)  * refonte de l'interface graphique  * ajout d'une gestion simplifiée d'utilisateurs : @@ -23,7 +23,8 @@ gem 'devise_invitable'  # Map, Geolocalization  gem "map_layers", "0.0.4" -gem "georuby-ext", "0.0.2" +gem "georuby-ext", :git => 'git://github.com/dryade/georuby-ext.git' +#gem "georuby-ext", "0.0.2"  # User interface  gem 'user_interface', "0.0.3" @@ -45,7 +46,8 @@ gem 'inherited_resources'  gem 'will_paginate', '~> 3.0'  gem 'ransack'  gem 'squeel' -gem 'ninoxe', '0.1.2' +gem 'ninoxe', :git => 'git://github.com/dryade/ninoxe.git' +#gem 'ninoxe', '0.1.2'  gem 'acts_as_list', '0.1.6'  gem "acts_as_tree-1.8", '1.1.0', :require => "acts_as_tree" diff --git a/Gemfile.lock b/Gemfile.lock index 7673f4495..cfb7ca0ba 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,3 +1,28 @@ +GIT +  remote: git://github.com/dryade/georuby-ext.git +  revision: 014bb8903d08bdf9fb946e06ac757c8213158b88 +  specs: +    georuby-ext (0.0.2) +      activesupport +      dbf +      dr-ffi-proj4 (= 0.0.1) +      ffi-geos (= 0.1.1) +      geokit +      georuby (= 1.9.8) +      json_pure +      nokogiri (= 1.5.10) +      rgeo (= 0.3.20) + +GIT +  remote: git://github.com/dryade/ninoxe.git +  revision: 6aeb68e174b35f70c368997282923f95f0d31299 +  specs: +    ninoxe (0.1.2) +      activerecord (~> 3.1) +      acts_as_list (~> 0.1.6) +      foreigner (= 1.4.0) +      georuby-ext (= 0.0.2) +  GEM    remote: http://rubygems.org/    specs: @@ -75,7 +100,7 @@ GEM        coffee-script-source        execjs      coffee-script-source (1.3.3) -    dbf (2.0.3) +    dbf (2.0.4)        fastercsv (~> 1.5.4)      delayed_job (3.0.3)        activesupport (~> 3.0) @@ -115,16 +140,6 @@ GEM      geokit (1.6.5)        multi_json      georuby (1.9.8) -    georuby-ext (0.0.2) -      activesupport -      dbf -      dr-ffi-proj4 (= 0.0.1) -      ffi-geos (= 0.1.1) -      geokit -      georuby (= 1.9.8) -      json_pure -      nokogiri -      rgeo (= 0.3.20)      gravatar_image_tag (1.1.3)      guard (1.3.2)        listen (>= 0.4.2) @@ -152,7 +167,7 @@ GEM        jruby-rack (>= 1.1.1)      json (1.7.7)      json (1.7.7-java) -    json_pure (1.7.7) +    json_pure (1.8.0)      launchy (2.1.0)        addressable (~> 2.2.6)      launchy (2.1.0-java) @@ -173,7 +188,7 @@ GEM      map_layers (0.0.4)      mime-types (1.19)      modernizr-rails (2.0.6) -    multi_json (1.7.2) +    multi_json (1.7.7)      net-scp (1.0.4)        net-ssh (>= 1.99.1)      net-sftp (2.0.5) @@ -181,13 +196,8 @@ GEM      net-ssh (2.6.2)      net-ssh-gateway (1.1.0)        net-ssh (>= 1.99.1) -    ninoxe (0.1.2) -      activerecord (>= 3.1.3) -      acts_as_list (= 0.1.6) -      foreigner (= 1.4.0) -      georuby-ext (= 0.0.2) -    nokogiri (1.5.9) -    nokogiri (1.5.9-java) +    nokogiri (1.5.10) +    nokogiri (1.5.10-java)      open4 (1.3.0)      orm_adapter (0.4.0)      pg (0.11.0) @@ -338,7 +348,7 @@ DEPENDENCIES    dr-apartment    factory_girl_rails (= 1.7)    formtastic -  georuby-ext (= 0.0.2) +  georuby-ext!    gravatar_image_tag    guard    guard-rspec @@ -350,7 +360,7 @@ DEPENDENCIES    launchy    map_layers (= 0.0.4)    modernizr-rails (~> 2.0.6) -  ninoxe (= 0.1.2) +  ninoxe!    pg (~> 0.11.0)    rabl    rails (= 3.2.6) diff --git a/app/assets/javascripts/access_points.js.coffee b/app/assets/javascripts/access_points.js.coffee index 74c5e926f..5cff80b7c 100644 --- a/app/assets/javascripts/access_points.js.coffee +++ b/app/assets/javascripts/access_points.js.coffee @@ -3,8 +3,8 @@ jQuery ->      if referential_projection != undefined        referential_point = new OpenLayers.Geometry.Point($('input#access_point_longitude').val(), $('input#access_point_latitude').val()).transform(new OpenLayers.Projection("EPSG:4326"), referential_projection )       -      $('input#access_point_x').val(referential_point.x) -      $('input#access_point_y').val(referential_point.y) +      $('input#access_point_projection_x').val(referential_point.x) +      $('input#access_point_projection_y').val(referential_point.y)      feature = map.getLayersByName("access_point")[0].getFeatureByFid($('input#access_point_id').val())        google_point = new OpenLayers.LonLat($('input#access_point_longitude').val(), $('input#access_point_latitude').val()).transform(new OpenLayers.Projection("EPSG:4326"), map.getProjectionObject()) @@ -16,7 +16,7 @@ jQuery ->    lon_lat_change = (event) ->       if referential_projection != undefined -      wgs84_point = new OpenLayers.Geometry.Point($('input#access_point_x').val(), $('input#access_point_y').val()).transform(referential_projection, new OpenLayers.Projection("EPSG:4326"))     +      wgs84_point = new OpenLayers.Geometry.Point($('input#access_point_projection_x').val(), $('input#access_point_projection_y').val()).transform(referential_projection, new OpenLayers.Projection("EPSG:4326"))            $('input#access_point_longitude').val( wgs84_point.x)        $('input#access_point_latitude').val( wgs84_point.y) @@ -26,8 +26,8 @@ jQuery ->      feature.move(google_point)      map.setCenter(google_point, 16, false, true)       -  $('input#access_point_x').change(lon_lat_change) -  $('input#access_point_y').change(lon_lat_change) +  $('input#access_point_projection_x').change(lon_lat_change) +  $('input#access_point_projection_y').change(lon_lat_change)    # switch visibility of access_links diff --git a/app/assets/javascripts/stop_areas.js.coffee b/app/assets/javascripts/stop_areas.js.coffee index aae8d4885..255c4c707 100644 --- a/app/assets/javascripts/stop_areas.js.coffee +++ b/app/assets/javascripts/stop_areas.js.coffee @@ -3,8 +3,8 @@ jQuery ->      if referential_projection != undefined        referential_point = new OpenLayers.Geometry.Point($('input#stop_area_longitude').val(), $('input#stop_area_latitude').val()).transform(new OpenLayers.Projection("EPSG:4326"), referential_projection )       -      $('input#stop_area_x').val(referential_point.x) -      $('input#stop_area_y').val(referential_point.y) +      $('input#stop_area_projection_x').val(referential_point.x) +      $('input#stop_area_projection_y').val(referential_point.y)      feature = map.getLayersByName("stop_area")[0].getFeatureByFid($('input#stop_area_id').val())        google_point = new OpenLayers.LonLat($('input#stop_area_longitude').val(), $('input#stop_area_latitude').val()).transform(new OpenLayers.Projection("EPSG:4326"), map.getProjectionObject()) @@ -16,7 +16,7 @@ jQuery ->    lon_lat_change = (event) ->       if referential_projection != undefined -      wgs84_point = new OpenLayers.Geometry.Point($('input#stop_area_x').val(), $('input#stop_area_y').val()).transform(referential_projection, new OpenLayers.Projection("EPSG:4326"))     +      wgs84_point = new OpenLayers.Geometry.Point($('input#stop_area_projection_x').val(), $('input#stop_area_projection_y').val()).transform(referential_projection, new OpenLayers.Projection("EPSG:4326"))            $('input#stop_area_longitude').val( wgs84_point.x)        $('input#stop_area_latitude').val( wgs84_point.y) @@ -26,8 +26,8 @@ jQuery ->      feature.move(google_point)      map.setCenter(google_point, 16, false, true)       -  $('input#stop_area_x').change(lon_lat_change) -  $('input#stop_area_y').change(lon_lat_change) +  $('input#stop_area_projection_x').change(lon_lat_change) +  $('input#stop_area_projection_y').change(lon_lat_change)    # switch visibility of access_links    switch_generics = (event) ->  diff --git a/app/maps/access_point_map.rb b/app/maps/access_point_map.rb index bf763e6c6..8cacdc8c0 100644 --- a/app/maps/access_point_map.rb +++ b/app/maps/access_point_map.rb @@ -36,8 +36,8 @@ class AccessPointMap < ApplicationMap                              if(referential_projection != undefined)                              {                                projection_geometry = event.feature.geometry.clone().transform(new OpenLayers.Projection("EPSG:900913"), referential_projection ); -                              $('#access_point_x').val(projection_geometry.x); -                              $('#access_point_y').val(projection_geometry.y);                                                   } +                              $('#access_point_projection_x').val(projection_geometry.x); +                              $('#access_point_projection_y').val(projection_geometry.y);                                                   }                             }                          });  EOF diff --git a/app/maps/stop_area_map.rb b/app/maps/stop_area_map.rb index ab254bf73..b2e04779a 100644 --- a/app/maps/stop_area_map.rb +++ b/app/maps/stop_area_map.rb @@ -40,8 +40,8 @@ class StopAreaMap < ApplicationMap                              if(referential_projection != undefined)                              {                                projection_geometry = event.feature.geometry.clone().transform(new OpenLayers.Projection("EPSG:900913"), referential_projection ); -                              $('#stop_area_x').val(projection_geometry.x); -                              $('#stop_area_y').val(projection_geometry.y);                                                   } +                              $('#stop_area_projection_x').val(projection_geometry.x); +                              $('#stop_area_projection_y').val(projection_geometry.y);                                                   }                             }                          });  EOF diff --git a/app/models/referential.rb b/app/models/referential.rb index 2e49e844b..608b0c8fc 100644 --- a/app/models/referential.rb +++ b/app/models/referential.rb @@ -192,6 +192,9 @@ Rails.application.config.after_initialize do    Chouette::StopArea    class Chouette::StopArea +     +    attr_accessible :projection_x,:projection_y +          # override default_position method to add referential envelope when no stoparea is positioned      def default_position         # for first StopArea ... the bounds is nil , set to referential center  @@ -206,24 +209,59 @@ Rails.application.config.after_initialize do        else          self.long_lat_type = nil        end -      if ! self.referential.projection_type.nil? && !self.referential.projection_type.empty? -        if ! self.x.nil?  && ! self.y.nil? -          self.projection_type = referential.projection_type_label -        else -          self.projection_type = nil -        end +#      if ! self.referential.projection_type.nil? && !self.referential.projection_type.empty? +#        if ! self.x.nil?  && ! self.y.nil? +#          self.projection_type = referential.projection_type_label +#        else +#          self.projection_type = nil +#        end +#      else +#          self.projection_type = nil +#          self.x = nil +#          self.y = nil +#      end +    end +     +    def projection +      if self.referential.projection_type.nil? || self.referential.projection_type.empty?  +        nil        else -          self.projection_type = nil -          self.x = nil -          self.y = nil +        self.referential.projection_type        end      end +    @point = nil + +    def projection_x +      if self.long_lat_type.nil? || self.projection.nil? +        nil +      else +        @point ||= GeoRuby::SimpleFeatures::Point::from_lat_lng(Geokit::LatLng.new(self.latitude,self.longitude)).project_to(self.projection.to_i) +         +        @point.x +      end +    end +    def projection_y +      if self.long_lat_type.nil? || self.projection.nil? +        nil +      else +        @point ||= GeoRuby::SimpleFeatures::Point::from_lat_lng(Geokit::LatLng.new(self.latitude,self.longitude)).project_to(self.projection.to_i) +        @point.y +      end +    end +    def projection_x=(dummy) +      # dummy method +    end +    def projection_y=(dummy) +      # dummy method +    end +     end    Chouette::AccessPoint    class Chouette::AccessPoint -      +    attr_accessible :projection_x,:projection_y +      # add projection_type set on pre-insert and pre_update action      before_validation :set_projections      def set_projections @@ -232,18 +270,51 @@ Rails.application.config.after_initialize do        else          self.long_lat_type = nil        end -      if ! self.referential.projection_type.nil? && !self.referential.projection_type.empty? -        if ! self.x.nil?  && ! self.y.nil? -          self.projection_type = referential.projection_type_label -        else -          self.projection_type = nil -        end +#      if ! self.referential.projection_type.nil? && !self.referential.projection_type.empty? +#        if ! self.x.nil?  && ! self.y.nil? +#          self.projection_type = referential.projection_type_label +#        else +#          self.projection_type = nil +#        end +#      else +#          self.projection_type = nil +#          self.x = nil +#          self.y = nil +#      end +    end +     +    def projection +      if self.referential.projection_type.nil? || self.referential.projection_type.empty?  +        nil        else -          self.projection_type = nil -          self.x = nil -          self.y = nil +        self.referential.projection_type        end      end -  end +    @point = nil +    def projection_x +      if self.long_lat_type.nil? || self.projection.nil? +        nil +      else +        @point ||= GeoRuby::SimpleFeatures::Point::from_lat_lng(Geokit::LatLng.new(self.latitude,self.longitude)).project_to(self.projection.to_i) +         +        @point.x +      end +    end +    def projection_y +      if self.long_lat_type.nil? || self.projection.nil? +        nil +      else +        @point ||= GeoRuby::SimpleFeatures::Point::from_lat_lng(Geokit::LatLng.new(self.latitude,self.longitude)).project_to(self.projection.to_i) +        @point.y +      end +    end +    def projection_x=(dummy) +      # dummy method +    end +    def projection_y=(dummy) +      # dummy method +    end +  end +   end diff --git a/app/views/access_points/_form.html.erb b/app/views/access_points/_form.html.erb index cd728f0d6..8e546a878 100644 --- a/app/views/access_points/_form.html.erb +++ b/app/views/access_points/_form.html.erb @@ -26,8 +26,8 @@      <%= form.inputs :name => t('access_points.show.geographic_data') do %>         <% if ! @referential.projection_type_label.empty? %>          <%= form.inputs :name => @referential.projection_type_label do %>  -          <%= form.input :x %> -          <%= form.input :y %> +          <%= form.input :projection_x %> +          <%= form.input :projection_y %>          <% end %>        <% end %>        <%= form.inputs :name => "WGS84" do %>  diff --git a/app/views/access_points/show.html.erb b/app/views/access_points/show.html.erb index 6361e2115..7f34ed0e0 100644 --- a/app/views/access_points/show.html.erb +++ b/app/views/access_points/show.html.erb @@ -56,18 +56,18 @@      <% if @access_point.projection_type == nil && @access_point.long_lat_type == nil %>  	    <span class='geo_data'><%= t('access_points.show.no_geographic_data') %></span>      <% else %> -	    <% if !@access_point.projection_type.nil? %> +	    <% if !@access_point.projection.nil? %>  	    <p> -	      <span class='geo_data'><%= @access_point.human_attribute_name("projection_type") %>: </span> -	      <%= @access_point.projection_type %> +	      <span class='geo_data'><%= @access_point.human_attribute_name("projection") %>: </span> +	      <%= @access_point.projection %>  	    </p>  	    <p> -	      <span class='geo_data'><%= @access_point.human_attribute_name("x") %>: </span> -	      <%= @access_point.x %> +	      <span class='geo_data'><%= @access_point.human_attribute_name("projection_x") %>: </span> +	      <%= @access_point.projection_x %>  	    </p>  	    <p> -	      <span class='geo_data'><%= @access_point.human_attribute_name("y") %>: </span> -	      <%= @access_point.y %> +	      <span class='geo_data'><%= @access_point.human_attribute_name("projection_y") %>: </span> +	      <%= @access_point.projection_y %>  	    </p>  	    <% end %>  	    <% if !@access_point.long_lat_type.nil? %> diff --git a/app/views/api/kml/stop_areas/_stop_area.kml.erb b/app/views/api/kml/stop_areas/_stop_area.kml.erb index 1383fbf66..401bff052 100644 --- a/app/views/api/kml/stop_areas/_stop_area.kml.erb +++ b/app/views/api/kml/stop_areas/_stop_area.kml.erb @@ -11,9 +11,9 @@        <longitude><%= stop_area.longitude.to_s.html_safe %></longitude>        <latitude><%= stop_area.latitude.to_s.html_safe %></latitude>        <long_lat_type><%= stop_area.long_lat_type.to_s.html_safe %></long_lat_type> -      <x><%= stop_area.x.to_s.html_safe %></x> -      <y><%= stop_area.y.to_s.html_safe %></y> -      <projection_type><%= stop_area.projection_type.to_s.html_safe %></projection_type> +      <x><%= stop_area.projection_x.to_s.html_safe %></x> +      <y><%= stop_area.projection_y.to_s.html_safe %></y> +      <projection_type><%= stop_area.projection.to_s.html_safe %></projection_type>        <country_code><%= stop_area.country_code.to_s.html_safe %></country_code>        <street_name><%= stop_area.street_name.to_s.html_safe %></street_name> diff --git a/app/views/api/v1/access_points/show.rabl b/app/views/api/v1/access_points/show.rabl index 07daffb44..1d413fb7c 100644 --- a/app/views/api/v1/access_points/show.rabl +++ b/app/views/api/v1/access_points/show.rabl @@ -2,7 +2,7 @@ object @access_point  extends "api/v1/trident_objects/show"  [ :longitude, :latitude, :long_lat_type, :street_name, :country_code,  -    :x , :y , :projection_type, :name, :access_type,  +    :projection_x , :projection_y , :projection, :name, :access_type,       :openning_time, :closing_time,       :mobility_restricted_suitability, :stairs_availability, :lift_availability, :comment].each do |attr|    attributes attr, :unless => lambda { |m| m.send( attr).nil?} diff --git a/app/views/api/v1/stop_areas/show.rabl b/app/views/api/v1/stop_areas/show.rabl index 976d96342..1a0acecc5 100644 --- a/app/views/api/v1/stop_areas/show.rabl +++ b/app/views/api/v1/stop_areas/show.rabl @@ -3,7 +3,7 @@ extends "api/v1/trident_objects/show"  [ :name, :area_type,:nearest_topic_name, :fare_code, :registration_number,     :longitude, :latitude, :long_lat_type, -  :country_code, :street_name, :x, :y, :projection_type, :comment +  :country_code, :street_name, :projection_x, :projection_y, :projection, :comment  ].each do |attr|    attributes attr, :unless => lambda { |m| m.send( attr).nil?}  end diff --git a/app/views/stop_areas/_form.html.erb b/app/views/stop_areas/_form.html.erb index 5fca012f3..e649070ab 100644 --- a/app/views/stop_areas/_form.html.erb +++ b/app/views/stop_areas/_form.html.erb @@ -15,8 +15,8 @@  	    <%= form.inputs :name => t('stop_areas.show.geographic_data') do %>   	      <% if ! @referential.projection_type_label.empty? %>  	        <%= form.inputs :name => @referential.projection_type_label do %>  -	          <%= form.input :x %> -	          <%= form.input :y %> +	          <%= form.input :projection_x %> +	          <%= form.input :projection_y %>  	        <% end %>  	      <% end %>  	      <%= form.inputs :name => "WGS84" do %>  diff --git a/app/views/stop_areas/show.html.erb b/app/views/stop_areas/show.html.erb index 9d0db8af8..b98378d71 100644 --- a/app/views/stop_areas/show.html.erb +++ b/app/views/stop_areas/show.html.erb @@ -42,18 +42,18 @@  	    <% if @stop_area.projection_type == nil && @stop_area.long_lat_type == nil %>  		    <span class='geo_data'><%= t('stop_areas.show.no_geographic_data') %></span>  	    <% else %> -		    <% if !@stop_area.projection_type.nil? %> +		    <% if !@stop_area.projection.nil? %>  		    <p> -		      <span class='geo_data'><%= @stop_area.human_attribute_name("projection_type") %>: </span> -		      <%= @stop_area.projection_type %> +		      <span class='geo_data'><%= @stop_area.human_attribute_name("projection") %>: </span> +		      <%= @stop_area.projection %>  		    </p>  		    <p> -		      <span class='geo_data'><%= @stop_area.human_attribute_name("x") %>: </span> -		      <%= @stop_area.x %> +		      <span class='geo_data'><%= @stop_area.human_attribute_name("projection_x") %>: </span> +		      <%= @stop_area.projection_x %>  		    </p>  		    <p> -		      <span class='geo_data'><%= @stop_area.human_attribute_name("y") %>: </span> -		      <%= @stop_area.y %> +		      <span class='geo_data'><%= @stop_area.human_attribute_name("projection_y") %>: </span> +		      <%= @stop_area.projection_y %>  		    </p>  		    <% end %>  		    <% if !@stop_area.long_lat_type.nil? %> diff --git a/config/environment.rb b/config/environment.rb index e82bdc5f6..436f5cbba 100644 --- a/config/environment.rb +++ b/config/environment.rb @@ -6,4 +6,4 @@ require File.expand_path('../application', __FILE__)  ChouetteIhm::Application.initialize!  # Fix version -APP_VERSION = '2.0.3' +APP_VERSION = '2.1.0' diff --git a/config/locales/access_points.yml b/config/locales/access_points.yml index 83007d088..caaa55eaf 100644 --- a/config/locales/access_points.yml +++ b/config/locales/access_points.yml @@ -38,9 +38,9 @@ en:          country_code: "INSEE code"          openning_time: "Opening time"          closing_time: "Closing time" -        projection_type: "Projection type" -        x: "x-position" -        y: "y-position" +        projection: "Projection type" +        projection_x: "x-position" +        projection_y: "y-position"          long_lat_type: "Projection type"          longitude: "Longitude"          latitude: "Latitude" @@ -94,9 +94,9 @@ fr:          access_point_type: "Type d'accès"          street_name: "Nom de la rue"          country_code: "Code INSEE" -        projection_type: "Projection" -        x: "Position X" -        y: "Position Y" +        projection: "Projection" +        projection_x: "Position X" +        projection_y: "Position Y"          long_lat_type: "Projection"          longitude: "Longitude"          latitude: "Latitude" diff --git a/config/locales/stop_areas.yml b/config/locales/stop_areas.yml index ffc670522..81720ec3d 100644 --- a/config/locales/stop_areas.yml +++ b/config/locales/stop_areas.yml @@ -70,9 +70,9 @@ en:          street_name: "Street name"          country_code: "INSEE code"          fare_code: "Fare code" -        projection_type: "Projection type" -        x: "x-position" -        y: "y-position" +        projection: "Projection type" +        projection_x: "x-position" +        projection_y: "y-position"          long_lat_type: "Projection type"          longitude: "Longitude"          latitude: "Latitude" @@ -164,9 +164,9 @@ fr:          street_name: "Nom de la rue"          country_code: "Code INSEE"          fare_code: "Zone tarifaire" -        projection_type: "Projection" -        x: "Position X" -        y: "Position Y" +        projection: "Projection" +        projection_x: "Position X" +        projection_y: "Position Y"          long_lat_type: "Projection"          longitude: "Longitude"          latitude: "Latitude" diff --git a/db/migrate/20130628130527_remove_projection_from_stop_areas.ninoxe_engine.rb b/db/migrate/20130628130527_remove_projection_from_stop_areas.ninoxe_engine.rb new file mode 100644 index 000000000..3eb30a601 --- /dev/null +++ b/db/migrate/20130628130527_remove_projection_from_stop_areas.ninoxe_engine.rb @@ -0,0 +1,14 @@ +# This migration comes from ninoxe_engine (originally 20130628124932) +class RemoveProjectionFromStopAreas < ActiveRecord::Migration +  def up +    remove_column :stop_areas, :x +    remove_column :stop_areas, :y +    remove_column :stop_areas, :projection_type +  end + +  def down +    add_column :stop_areas, :x, :decimal,:precision => 19, :scale => 2 +    add_column :stop_areas, :y, :decimal,:precision => 19, :scale => 2 +    add_column :stop_areas, :projection_type, :string +  end +end diff --git a/db/migrate/20130628130528_remove_projection_from_access_points.ninoxe_engine.rb b/db/migrate/20130628130528_remove_projection_from_access_points.ninoxe_engine.rb new file mode 100644 index 000000000..f0640a623 --- /dev/null +++ b/db/migrate/20130628130528_remove_projection_from_access_points.ninoxe_engine.rb @@ -0,0 +1,14 @@ +# This migration comes from ninoxe_engine (originally 20130628124951) +class RemoveProjectionFromAccessPoints < ActiveRecord::Migration +  def up +    remove_column :access_points, :x +    remove_column :access_points, :y +    remove_column :access_points, :projection_type +  end + +  def down +    add_column :access_points, :x, :decimal,:precision => 19, :scale => 2 +    add_column :access_points, :y, :decimal,:precision => 19, :scale => 2 +    add_column :access_points, :projection_type, :string +  end +end diff --git a/db/schema.rb b/db/schema.rb index 6afe49f71..f8bbe06f3 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -10,7 +10,7 @@  #  # It's strongly recommended to check this file into your version control system. -ActiveRecord::Schema.define(:version => 20130517090647) do +ActiveRecord::Schema.define(:version => 20130628130528) do    create_table "access_links", :force => true do |t|      t.integer  "access_point_id",                        :limit => 8 @@ -46,9 +46,6 @@ ActiveRecord::Schema.define(:version => 20130517090647) do      t.decimal  "longitude",                                    :precision => 19, :scale => 16      t.decimal  "latitude",                                     :precision => 19, :scale => 16      t.string   "long_lat_type" -    t.decimal  "x",                                            :precision => 19, :scale => 2 -    t.decimal  "y",                                            :precision => 19, :scale => 2 -    t.string   "projection_type"      t.string   "country_code"      t.string   "street_name"      t.string   "contained_in" @@ -63,13 +60,12 @@ ActiveRecord::Schema.define(:version => 20130517090647) do    add_index "access_points", ["objectid"], :name => "access_points_objectid_key", :unique => true -  create_table "api_keys", :id => false, :force => true do |t| -    t.integer  "id",             :limit => 8 +  create_table "api_keys", :force => true do |t|      t.integer  "referential_id"      t.string   "token"      t.string   "name" -    t.datetime "created_at" -    t.datetime "updated_at" +    t.datetime "created_at",     :null => false +    t.datetime "updated_at",     :null => false    end    create_table "companies", :force => true do |t| @@ -124,8 +120,8 @@ ActiveRecord::Schema.define(:version => 20130517090647) do      t.datetime "failed_at"      t.string   "locked_by"      t.string   "queue" -    t.datetime "created_at" -    t.datetime "updated_at" +    t.datetime "created_at",                :null => false +    t.datetime "updated_at",                :null => false    end    add_index "delayed_jobs", ["priority", "run_at"], :name => "delayed_jobs_priority" @@ -136,8 +132,8 @@ ActiveRecord::Schema.define(:version => 20130517090647) do      t.string   "arguments",  :limit => 1000      t.integer  "position"      t.string   "severity" -    t.datetime "created_at" -    t.datetime "updated_at" +    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" @@ -147,8 +143,8 @@ ActiveRecord::Schema.define(:version => 20130517090647) do      t.string   "status"      t.string   "type"      t.string   "options" -    t.datetime "created_at" -    t.datetime "updated_at" +    t.datetime "created_at",                   :null => false +    t.datetime "updated_at",                   :null => false      t.string   "references_type"      t.string   "reference_ids"    end @@ -230,8 +226,8 @@ ActiveRecord::Schema.define(:version => 20130517090647) do      t.string   "arguments",  :limit => 1000      t.integer  "position"      t.string   "severity" -    t.datetime "created_at" -    t.datetime "updated_at" +    t.datetime "created_at",                 :null => false +    t.datetime "updated_at",                 :null => false    end    add_index "import_log_messages", ["import_id"], :name => "index_import_log_messages_on_import_id" @@ -239,8 +235,8 @@ ActiveRecord::Schema.define(:version => 20130517090647) do    create_table "imports", :force => true do |t|      t.integer  "referential_id", :limit => 8      t.string   "status" -    t.datetime "created_at" -    t.datetime "updated_at" +    t.datetime "created_at",                  :null => false +    t.datetime "updated_at",                  :null => false      t.string   "type"      t.string   "options"      t.string   "file_type" @@ -311,9 +307,8 @@ ActiveRecord::Schema.define(:version => 20130517090647) do    create_table "organisations", :force => true do |t|      t.string   "name" -    t.datetime "created_at",     :null => false -    t.datetime "updated_at",     :null => false -    t.string   "geoportail_key" +    t.datetime "created_at", :null => false +    t.datetime "updated_at", :null => false    end    create_table "pt_links", :force => true do |t| @@ -334,8 +329,8 @@ ActiveRecord::Schema.define(:version => 20130517090647) do    create_table "referentials", :force => true do |t|      t.string   "name"      t.string   "slug" -    t.datetime "created_at" -    t.datetime "updated_at" +    t.datetime "created_at",                   :null => false +    t.datetime "updated_at",                   :null => false      t.string   "prefix"      t.string   "projection_type"      t.string   "time_zone" @@ -380,9 +375,6 @@ ActiveRecord::Schema.define(:version => 20130517090647) do      t.decimal  "longitude",                        :precision => 19, :scale => 16      t.decimal  "latitude",                         :precision => 19, :scale => 16      t.string   "long_lat_type" -    t.decimal  "x",                                :precision => 19, :scale => 2 -    t.decimal  "y",                                :precision => 19, :scale => 2 -    t.string   "projection_type"      t.string   "country_code"      t.string   "street_name"    end @@ -471,8 +463,8 @@ ActiveRecord::Schema.define(:version => 20130517090647) do      t.datetime "last_sign_in_at"      t.string   "current_sign_in_ip"      t.string   "last_sign_in_ip" -    t.datetime "created_at" -    t.datetime "updated_at" +    t.datetime "created_at",                                           :null => false +    t.datetime "updated_at",                                           :null => false      t.integer  "organisation_id"      t.string   "name"      t.string   "confirmation_token" diff --git a/spec/models/referential_spec.rb b/spec/models/referential_spec.rb index bb6158d4f..daee718d5 100644 --- a/spec/models/referential_spec.rb +++ b/spec/models/referential_spec.rb @@ -7,4 +7,60 @@ describe Referential do    it { should validate_presence_of(:prefix) }    it { should validate_presence_of(:time_zone) } +end + +describe Chouette::StopArea do +  # check override methods +   +   subject {Factory(:stop_area)} +   +    it "should return referential projection " do +      subject.referential.projection_type='27572' +      subject.projection.should == subject.referential.projection_type +    end + +    it "should return projection coordinates when referential has projection" do +      subject.latitude = 45 +      subject.longitude = 0 +      subject.referential.projection_type='27572' +      subject.projection_x.should_not be_nil +      subject.projection_y.should_not be_nil +    end + +    it "should return nil projection coordinates when referential has no projection" do +      subject.latitude = 45 +      subject.longitude = 0 +      subject.referential.projection_type=nil +      subject.projection_x.should be_nil +      subject.projection_y.should be_nil +    end + +end + +describe Chouette::AccessPoint do +  # check override methods +   +   subject {Factory(:access_point)} +   +    it "should return referential projection " do +      subject.referential.projection_type='27572' +      subject.projection.should == subject.referential.projection_type +    end + +    it "should return projection coordinates when referential has projection" do +      subject.latitude = 45 +      subject.longitude = 0 +      subject.referential.projection_type='27572' +      subject.projection_x.should_not be_nil +      subject.projection_y.should_not be_nil +    end + +    it "should return nil projection coordinates when referential has no projection" do +      subject.latitude = 45 +      subject.longitude = 0 +      subject.referential.projection_type=nil +      subject.projection_x.should be_nil +      subject.projection_y.should be_nil +    end +  end
\ No newline at end of file | 
