X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/67f00f6ddc4570f878fcc64d4bbdc3eb198a48a3..49b58cc43218106f1633c389598894d59447a26b:/services/api/app/models/arvados_model.rb diff --git a/services/api/app/models/arvados_model.rb b/services/api/app/models/arvados_model.rb index 823fd55435..a170fb9b54 100644 --- a/services/api/app/models/arvados_model.rb +++ b/services/api/app/models/arvados_model.rb @@ -110,7 +110,8 @@ class ArvadosModel < ActiveRecord::Base unless (owner_uuid == current_user.uuid or current_user.is_admin or (current_user.groups_i_can(:manage) & [uuid, owner_uuid]).any?) - if current_user.groups_i_can(:write).index(uuid) + if ((current_user.groups_i_can(:write) + [current_user.uuid]) & + [uuid, owner_uuid]).any? return [owner_uuid, current_user.uuid] else return [owner_uuid] @@ -444,6 +445,10 @@ class ArvadosModel < ActiveRecord::Base "_____-#{uuid_prefix}-_______________" end + def self.uuid_regex + %r/[a-z0-9]{5}-#{uuid_prefix}-[a-z0-9]{15}/ + end + def ensure_valid_uuids specials = [system_user_uuid]