From f68a74eadab2394427b7355bfa39568982aa5933 Mon Sep 17 00:00:00 2001 From: Alena Prokharchyk Date: Mon, 8 Jul 2013 11:15:27 -0700 Subject: [PATCH] CLOUDSTACK-3356: list shared networks available for projects when call is executed by the admin who is not a part of the project --- server/src/com/cloud/network/NetworkServiceImpl.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/server/src/com/cloud/network/NetworkServiceImpl.java b/server/src/com/cloud/network/NetworkServiceImpl.java index 34eda3678d4..2f833d27085 100755 --- a/server/src/com/cloud/network/NetworkServiceImpl.java +++ b/server/src/com/cloud/network/NetworkServiceImpl.java @@ -1419,7 +1419,7 @@ public class NetworkServiceImpl extends ManagerBase implements NetworkService { } } - if (!_accountMgr.isAdmin(caller.getType()) || (!listAll && (projectId != null && projectId.longValue() != -1 && domainId == null))) { + if (!_accountMgr.isAdmin(caller.getType()) || (projectId != null && projectId.longValue() != -1 && domainId == null)) { permittedAccounts.add(caller.getId()); domainId = caller.getDomainId(); } @@ -1443,7 +1443,13 @@ public class NetworkServiceImpl extends ManagerBase implements NetworkService { ex.addProxyObject(project.getUuid(), "projectId"); throw ex; } + + //add project account permittedAccounts.add(project.getProjectAccountId()); + //add caller account (if admin) + if (_accountMgr.isAdmin(caller.getType())) { + permittedAccounts.add(caller.getId()); + } } skipProjectNetworks = false; }