projects
/
arvados.git
/ blobdiff
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
14826: Fix copy and paste error
[arvados.git]
/
services
/
api
/
app
/
models
/
link.rb
diff --git
a/services/api/app/models/link.rb
b/services/api/app/models/link.rb
index d38ea59083625a1e462dd872c675704e187a7b63..bf21cf4b672263b784d24b4f2cfcb00d65c0b195 100644
(file)
--- a/
services/api/app/models/link.rb
+++ b/
services/api/app/models/link.rb
@@
-1,3
+1,7
@@
+# Copyright (C) The Arvados Authors. All rights reserved.
+#
+# SPDX-License-Identifier: AGPL-3.0
+
class Link < ArvadosModel
include HasUuid
include KindAndEtag
class Link < ArvadosModel
include HasUuid
include KindAndEtag
@@
-44,8
+48,12
@@
class Link < ArvadosModel
# Administrators can grant permissions
return true if current_user.is_admin
# Administrators can grant permissions
return true if current_user.is_admin
- # All users can grant permissions on objects they own or can manage
head_obj = ArvadosModel.find_by_uuid(head_uuid)
head_obj = ArvadosModel.find_by_uuid(head_uuid)
+
+ # No permission links can be pointed to past collection versions
+ return false if head_obj.is_a?(Collection) && head_obj.current_version_uuid != head_uuid
+
+ # All users can grant permissions on objects they own or can manage
return true if current_user.can?(manage: head_obj)
# Default = deny.
return true if current_user.can?(manage: head_obj)
# Default = deny.