[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