Updated Branches:
  refs/heads/ui-restyle a0fcbbbfa -> 205f22b03

CLOUDSTACK-4803:
fix listVirtualMachines to not display vms to the normal users with 
forDisplay=false. But displayvms to ROOT Admin irrespective of the flag.
Signed off by : nitin mehta<[email protected]>


Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/2229e3e2
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/2229e3e2
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/2229e3e2

Branch: refs/heads/ui-restyle
Commit: 2229e3e2426a4cd04884ffcf8406080bd6aa8ec0
Parents: 59ad4a9
Author: Nitin Mehta <[email protected]>
Authored: Thu Oct 3 15:10:55 2013 -0700
Committer: Nitin Mehta <[email protected]>
Committed: Thu Oct 3 15:10:55 2013 -0700

----------------------------------------------------------------------
 server/src/com/cloud/api/query/QueryManagerImpl.java | 8 ++++++++
 1 file changed, 8 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/2229e3e2/server/src/com/cloud/api/query/QueryManagerImpl.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/api/query/QueryManagerImpl.java 
b/server/src/com/cloud/api/query/QueryManagerImpl.java
index 5f3cceb..0691a2e 100644
--- a/server/src/com/cloud/api/query/QueryManagerImpl.java
+++ b/server/src/com/cloud/api/query/QueryManagerImpl.java
@@ -768,6 +768,7 @@ public class QueryManagerImpl extends ManagerBase 
implements QueryService {
             ListProjectResourcesCriteria listProjectResourcesCriteria, 
Map<String, String> tags) {
         Filter searchFilter = new Filter(UserVmJoinVO.class, c.getOrderBy(), 
c.getAscending(), c.getOffset(),
                 c.getLimit());
+        boolean isRootAdmin = _accountMgr.isRootAdmin(caller.getType());
 
         // first search distinct vm id by using query criteria and pagination
         SearchBuilder<UserVmJoinVO> sb = _userVmJoinDao.createSearchBuilder();
@@ -831,6 +832,10 @@ public class QueryManagerImpl extends ManagerBase 
implements QueryService {
             sb.and("affinityGroupId", sb.entity().getAffinityGroupId(), 
SearchCriteria.Op.EQ);
         }
 
+        if(!isRootAdmin){
+            sb.and("displayVm", sb.entity().isDisplayVm(), 
SearchCriteria.Op.EQ);
+        }
+
         // populate the search criteria with the values passed in
         SearchCriteria<UserVmJoinVO> sc = sb.create();
 
@@ -936,6 +941,9 @@ public class QueryManagerImpl extends ManagerBase 
implements QueryService {
             sc.setParameters("affinityGroupId", affinityGroupId);
         }
 
+        if(!isRootAdmin){
+            sc.setParameters("displayVm", 1);
+        }
         // search vm details by ids
         Pair<List<UserVmJoinVO>, Integer> uniqueVmPair = 
_userVmJoinDao.searchAndCount(sc, searchFilter);
         Integer count = uniqueVmPair.second();

Reply via email to