X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/85613a8782524a5693ba306ff0ef6da0deecfb20..ad040e37430803ffa7db4f1856a4e362ad2cebfe:/services/api/app/models/container_request.rb diff --git a/services/api/app/models/container_request.rb b/services/api/app/models/container_request.rb index 09da141eae..d72f00edc8 100644 --- a/services/api/app/models/container_request.rb +++ b/services/api/app/models/container_request.rb @@ -232,6 +232,13 @@ class ContainerRequest < ArvadosModel end def update_collections(container:, collections: ['log', 'output']) + + # Check if parent is frozen or trashed, in which case it isn't + # valid to create new collections in the project, so return + # without creating anything. + owner = Group.find_by_uuid(self.owner_uuid) + return if owner && !owner.admin_change_permitted + collections.each do |out_type| pdh = container.send(out_type) next if pdh.nil? @@ -562,11 +569,8 @@ class ContainerRequest < ArvadosModel def update_priority return unless saved_change_to_state? || saved_change_to_priority? || saved_change_to_container_uuid? - act_as_system_user do - Container. - where('uuid in (?)', [container_uuid_before_last_save, self.container_uuid].compact). - map(&:update_priority!) - end + update_priorities container_uuid_before_last_save if !container_uuid_before_last_save.nil? and container_uuid_before_last_save != self.container_uuid + update_priorities self.container_uuid if self.container_uuid end def set_requesting_container_uuid