diff --git a/server/src/com/cloud/api/BaseListCmd.java b/server/src/com/cloud/api/BaseListCmd.java index a5aee7daf02..473b4c2378a 100644 --- a/server/src/com/cloud/api/BaseListCmd.java +++ b/server/src/com/cloud/api/BaseListCmd.java @@ -38,7 +38,11 @@ public abstract class BaseListCmd extends BaseCmd { Long pageSize = DEFAULT_PAGE_SIZE; Integer pageSizeInt = getPageSize(); if (pageSizeInt != null) { - pageSize = pageSizeInt.longValue(); + if (pageSizeInt.longValue() == -1) { + pageSize = null; + } else { + pageSize = pageSizeInt.longValue(); + } } return pageSize; } @@ -46,6 +50,10 @@ public abstract class BaseListCmd extends BaseCmd { public Long getStartIndex() { Long startIndex = Long.valueOf(0); Long pageSizeVal = getPageSizeVal(); + if (pageSizeVal == null) { + return null; // there's no limit, so start index is irrelevant + } + if (page != null) { int pageNum = page.intValue(); if (pageNum > 0) { diff --git a/server/src/com/cloud/api/commands/ListDomainChildrenCmd.java b/server/src/com/cloud/api/commands/ListDomainChildrenCmd.java index d6e635b21cf..8657a536058 100644 --- a/server/src/com/cloud/api/commands/ListDomainChildrenCmd.java +++ b/server/src/com/cloud/api/commands/ListDomainChildrenCmd.java @@ -85,6 +85,7 @@ public class ListDomainChildrenCmd extends BaseListCmd { domainResponse.setDomainName(domain.getName()); domainResponse.setId(domain.getId()); domainResponse.setLevel(domain.getLevel()); + domainResponse.setHasChild(domain.getChildCount() > 0); domainResponse.setParentDomainId(domain.getParent()); if (domain.getParent() != null) { domainResponse.setParentDomainName(ApiDBUtils.findDomainById(domain.getParent()).getName()); diff --git a/server/src/com/cloud/api/response/DomainResponse.java b/server/src/com/cloud/api/response/DomainResponse.java index 4236d806c4b..cb9537cb64f 100644 --- a/server/src/com/cloud/api/response/DomainResponse.java +++ b/server/src/com/cloud/api/response/DomainResponse.java @@ -36,6 +36,9 @@ public class DomainResponse extends BaseResponse { @SerializedName("parentdomainname") @Param(description="the domain name of the parent domain") private String parentDomainName; + @SerializedName("haschild") @Param(description="whether the domain has one or more sub-domains") + private Boolean hasChild; + public Long getId() { return id; } @@ -75,4 +78,12 @@ public class DomainResponse extends BaseResponse { public void setParentDomainName(String parentDomainName) { this.parentDomainName = parentDomainName; } + + public Boolean getHasChild() { + return hasChild; + } + + public void setHasChild(Boolean hasChild) { + this.hasChild = hasChild; + } } diff --git a/ui/scripts/cloud.core.domains.js b/ui/scripts/cloud.core.domains.js index fd0b5a81a44..a8a831b40fc 100644 --- a/ui/scripts/cloud.core.domains.js +++ b/ui/scripts/cloud.core.domains.js @@ -74,7 +74,7 @@ function showDomainsTab() { if (domains != null && domains.length > 0) { for (var i = 0; i < domains.length; i++) { drawNode(domains[i], level, container); - if(domains[i].haschild=="true") + if(domains[i].haschild==true) drawTree(domains[i].id, (level+1), $("#domain_children_container_"+domains[i].id)); } } diff --git a/ui/test/scripts/cloud.core.test.js b/ui/test/scripts/cloud.core.test.js index e70cedcf53d..a2efa2a1944 100644 --- a/ui/test/scripts/cloud.core.test.js +++ b/ui/test/scripts/cloud.core.test.js @@ -552,7 +552,7 @@ $(document).ready(function() { dataType: "json", async: false, success: function(json) { - domainJSONToTemplate(json.createdomainresponse.domain[0], template); + domainJSONToTemplate(json.createdomainresponse, template); loadingImg.hide(); rowContainer.show(); },