diff options
Diffstat (limited to 'app/models/workbench.rb')
| -rw-r--r-- | app/models/workbench.rb | 12 | 
1 files changed, 12 insertions, 0 deletions
| diff --git a/app/models/workbench.rb b/app/models/workbench.rb index 30692e625..fe4e6cce1 100644 --- a/app/models/workbench.rb +++ b/app/models/workbench.rb @@ -2,6 +2,7 @@ class Workbench < ActiveRecord::Base    belongs_to :organisation    belongs_to :line_referential    belongs_to :stop_area_referential +  belongs_to :output, class_name: 'ReferentialSuite'    has_many :lines, -> (workbench) { Stif::MyWorkbenchScopes.new(workbench).line_scope(self) }, through: :line_referential    has_many :networks, through: :line_referential @@ -13,10 +14,13 @@ class Workbench < ActiveRecord::Base    validates :name, presence: true    validates :organisation, presence: true +  validates :output, presence: true    has_many :referentials    has_many :referential_metadatas, through: :referentials, source: :metadatas +  before_validation :initialize_output +    def all_referentials      if line_ids.empty? @@ -26,4 +30,12 @@ class Workbench < ActiveRecord::Base      end    end +  private + +  def initialize_output +    # Don't reset `output` if it's already initialised +    return if !output.nil? + +    self.output = ReferentialSuite.create +  end  end | 
