X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/3dccfa028282d8b667a7b447ea061b7eecc8618f..c1966ec1c6a63b81202131ad372bb4b6bc45742c:/services/api/lib/has_uuid.rb diff --git a/services/api/lib/has_uuid.rb b/services/api/lib/has_uuid.rb index d9c819889f..481d27a037 100644 --- a/services/api/lib/has_uuid.rb +++ b/services/api/lib/has_uuid.rb @@ -28,12 +28,17 @@ module HasUuid def assign_uuid return true if !self.respond_to_uuid? - return true if uuid and current_user and current_user.is_admin + if (uuid.is_a?(String) and uuid.length>0 and + current_user and current_user.is_admin) + return true + end self.uuid = self.class.generate_uuid end def destroy_permission_links - Link.destroy_all(['link_class=? and (head_uuid=? or tail_uuid=?)', - 'permission', uuid, uuid]) + if uuid + Link.destroy_all(['link_class=? and (head_uuid=? or tail_uuid=?)', + 'permission', uuid, uuid]) + end end end