[ARVADOS] updated: 1.1.3-81-gb3fccf5

Git user git at public.curoverse.com
Wed Feb 21 17:54:45 EST 2018


Summary of changes:
 services/api/app/models/collection.rb | 20 ++++++++++++++++----
 1 file changed, 16 insertions(+), 4 deletions(-)

       via  b3fccf56898205854efd810a83abd79bf6096fdb (commit)
      from  2f0576120e69fce9407ed98688a22b768711a909 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.


commit b3fccf56898205854efd810a83abd79bf6096fdb
Author: Lucas Di Pentima <ldipentima at veritasgenetics.com>
Date:   Wed Feb 21 19:54:25 2018 -0300

    12707: Re-adding validations.
    
    Arvados-DCO-1.1-Signed-off-by: Lucas Di Pentima <ldipentima at veritasgenetics.com>

diff --git a/services/api/app/models/collection.rb b/services/api/app/models/collection.rb
index b99a265..8473d9c 100644
--- a/services/api/app/models/collection.rb
+++ b/services/api/app/models/collection.rb
@@ -24,6 +24,7 @@ class Collection < ArvadosModel
   before_validation :check_signatures
   before_validation :strip_signatures_and_update_replication_confirmed
   validate :ensure_pdh_matches_manifest_text
+  validate :ensure_storage_classes_desired_is_not_empty
   before_save :set_file_names
 
   api_accessible :user, extend: :common do |t|
@@ -477,12 +478,23 @@ class Collection < ArvadosModel
   end
 
   def ensure_permission_to_save
-    if (not current_user.andand.is_admin and
-      (replication_confirmed_at_changed? or replication_confirmed_changed?) and
-      not (replication_confirmed_at.nil? and replication_confirmed.nil?))
-      raise ArvadosModel::PermissionDeniedError.new("replication_confirmed and replication_confirmed_at attributes cannot be changed, except by setting both to nil")
+    if (not current_user.andand.is_admin)
+      if (replication_confirmed_at_changed? or replication_confirmed_changed?) and
+        not (replication_confirmed_at.nil? and replication_confirmed.nil?)
+        raise ArvadosModel::PermissionDeniedError.new("replication_confirmed and replication_confirmed_at attributes cannot be changed, except by setting both to nil")
+      end
+      if (storage_classes_confirmed_changed? or storage_classes_confirmed_at_changed?) and
+        not (storage_classes_confirmed == [] and storage_classes_confirmed_at.nil?)
+        raise ArvadosModel::PermissionDeniedError.new("storage_classes_confirmed and storage_classes_confirmed_at attributes cannot be changed, except by setting them to [] and nil respectively")
+      end
     end
     super
   end
 
+  def ensure_storage_classes_desired_is_not_empty
+    if storage_classes_desired.length == 0
+      errors.add(:storage_classes_desired, "shouldn't be empty")
+      false
+    end
+  end
 end

-----------------------------------------------------------------------


hooks/post-receive
-- 




More information about the arvados-commits mailing list