aboutsummaryrefslogtreecommitdiffstats
path: root/app/models/referential.rb
diff options
context:
space:
mode:
authorAlban Peignier2016-11-20 16:37:25 +0100
committerAlban Peignier2016-11-20 16:40:57 +0100
commit35e226ad25d9d88018012310ce2649ce65121478 (patch)
tree50e1ab26b0a2868599e6e1e9d1388e3d08a185dd /app/models/referential.rb
parent938bf0d6d573332dc4ec9a2cf34c839d8611d41d (diff)
downloadchouette-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.rb9
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