diff options
Diffstat (limited to 'app/models')
| -rw-r--r-- | app/models/organisation.rb | 6 | ||||
| -rw-r--r-- | app/models/referential.rb | 8 | ||||
| -rw-r--r-- | app/models/rule_parameter_set.rb | 16 | 
3 files changed, 16 insertions, 14 deletions
diff --git a/app/models/organisation.rb b/app/models/organisation.rb index f4b2e35f8..cd2691ace 100644 --- a/app/models/organisation.rb +++ b/app/models/organisation.rb @@ -2,6 +2,12 @@  class Organisation < ActiveRecord::Base    has_many :users, :dependent => :destroy    has_many :referentials, :dependent => :destroy +  has_many :rule_parameter_sets, :dependent => :destroy    validates :name, :presence => true, :uniqueness => true + +  after_create :add_rule_parameter_set +  def add_rule_parameter_set +    RuleParameterSet.default_for_all_modes( self).save +  end  end diff --git a/app/models/referential.rb b/app/models/referential.rb index 01dba95ab..c207b6441 100644 --- a/app/models/referential.rb +++ b/app/models/referential.rb @@ -18,7 +18,6 @@ class Referential < ActiveRecord::Base    attr_accessor :lower_corner    has_one :user -  has_many :rule_parameter_sets, :dependent => :destroy    has_many :import_tasks, :dependent => :destroy    has_many :compliance_check_tasks, :dependent => :destroy    has_many :exports, :dependent => :destroy @@ -147,11 +146,6 @@ class Referential < ActiveRecord::Base      Apartment::Database.drop slug    end -  after_create :add_rule_parameter_set -  def add_rule_parameter_set -    RuleParameterSet.default_for_all_modes( self).save -  end -    def upper_corner      envelope.upper_corner    end @@ -208,7 +202,7 @@ Rails.application.config.after_initialize do      end      def hub_restricted? -      referential.organisation.hub_restrictions == true +      referential.hub_restrictions == true      end      # override prefix for good prefix in objectid generation diff --git a/app/models/rule_parameter_set.rb b/app/models/rule_parameter_set.rb index 3eb74fdcf..cce5cf9b7 100644 --- a/app/models/rule_parameter_set.rb +++ b/app/models/rule_parameter_set.rb @@ -1,5 +1,4 @@  class RuleParameterSet < ActiveRecord::Base -  belongs_to :referential    belongs_to :organisation    #validates_presence_of :referential @@ -7,7 +6,11 @@ class RuleParameterSet < ActiveRecord::Base    serialize :parameters, JSON -  attr_accessible :name, :referential_id, :organisation_id +  attr_accessible :name, :organisation_id + +  # TODO: remove when migration deployed +  # convert referential id to organisation id +  attr_accessible :referential_id,    def self.mode_attribute_prefixes      %w( allowed_transport inter_stop_area_distance_min inter_stop_area_distance_max speed_max speed_min inter_stop_duration_variation_max) @@ -308,16 +311,15 @@ class RuleParameterSet < ActiveRecord::Base      }      # :waterborne, :bus, :ferry, :walk, :metro, :shuttle, :rapidtransit, :taxi, :localtrain, :train, :longdistancetrain, :tramway, :trolleybus, :privatevehicle, :bicycle, :other    end -  def self.default( referential) -    self.default_for_all_modes( referential).tap do |rps| +  def self.default( organisation) +    self.default_for_all_modes( organisation).tap do |rps|        rps.name = ""      end    end -  def self.default_for_all_modes( referential) +  def self.default_for_all_modes( organisation)      mode_attributes = mode_default_params.values.inject(self.default_params){|memo, obj| memo.merge! obj}      self.new( -      { :referential_id => referential.id, -        :stop_areas_area => referential.envelope.to_polygon.points.map(&:to_coordinates).to_json, +      { :organisation_id => organisation.id,          :name => "valeurs par defaut"        }.merge( mode_attributes))    end  | 
