diff options
| author | Alban Peignier | 2016-11-20 16:37:25 +0100 |
|---|---|---|
| committer | Alban Peignier | 2016-11-20 16:40:57 +0100 |
| commit | 35e226ad25d9d88018012310ce2649ce65121478 (patch) | |
| tree | 50e1ab26b0a2868599e6e1e9d1388e3d08a185dd /app/models/referential.rb | |
| parent | 938bf0d6d573332dc4ec9a2cf34c839d8611d41d (diff) | |
| download | chouette-core-35e226ad25d9d88018012310ce2649ce65121478.tar.bz2 | |
Disable Referenial unarchive action when Referential overlaps other referentials. Refs #1864
Diffstat (limited to 'app/models/referential.rb')
| -rw-r--r-- | app/models/referential.rb | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/app/models/referential.rb b/app/models/referential.rb index afff89892..be7c15535 100644 --- a/app/models/referential.rb +++ b/app/models/referential.rb @@ -234,6 +234,10 @@ class Referential < ActiveRecord::Base self.class.connection.select_values(query).map(&:to_i) end + def metadatas_overlap? + overlapped_referential_ids.present? + end + validate :detect_overlapped_referentials def detect_overlapped_referentials @@ -313,8 +317,13 @@ class Referential < ActiveRecord::Base touch :archived_at end def unarchive! + return false unless can_unarchive? # self.archived = false update_column :archived_at, nil end + def can_unarchive? + not metadatas_overlap? + end + end |
