This is an automated email from the ASF dual-hosted git repository.
bhaisaab pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/cloudstack.git
The following commit(s) were added to refs/heads/master by this push:
new f62a8d7 CLOUDSTACK-10022: Allow domain admin to create and delete
subdomains (#2222)
f62a8d7 is described below
commit f62a8d7a5b30dd267b689a746f23c77fe5e30021
Author: Gabriel Beims Bräscher <[email protected]>
AuthorDate: Tue Aug 22 03:51:31 2017 -0300
CLOUDSTACK-10022: Allow domain admin to create and delete subdomains (#2222)
---
.../cloudstack/api/command/admin/domain/CreateDomainCmd.java | 11 ++++++-----
.../cloudstack/api/command/admin/domain/DeleteDomainCmd.java | 11 ++++++-----
ui/scripts/domains.js | 2 ++
3 files changed, 14 insertions(+), 10 deletions(-)
diff --git
a/api/src/org/apache/cloudstack/api/command/admin/domain/CreateDomainCmd.java
b/api/src/org/apache/cloudstack/api/command/admin/domain/CreateDomainCmd.java
index 312c9ee..fe1c202 100644
---
a/api/src/org/apache/cloudstack/api/command/admin/domain/CreateDomainCmd.java
+++
b/api/src/org/apache/cloudstack/api/command/admin/domain/CreateDomainCmd.java
@@ -17,7 +17,7 @@
package org.apache.cloudstack.api.command.admin.domain;
import org.apache.log4j.Logger;
-
+import org.apache.cloudstack.acl.RoleType;
import org.apache.cloudstack.api.APICommand;
import org.apache.cloudstack.api.ApiConstants;
import org.apache.cloudstack.api.ApiErrorCode;
@@ -31,7 +31,8 @@ import com.cloud.domain.Domain;
import com.cloud.user.Account;
@APICommand(name = "createDomain", description = "Creates a domain",
responseObject = DomainResponse.class,
- requestHasSensitiveInfo = false, responseHasSensitiveInfo = false)
+ requestHasSensitiveInfo = false, responseHasSensitiveInfo = false, authorized
= {
+ RoleType.Admin, RoleType.DomainAdmin })
public class CreateDomainCmd extends BaseCmd {
public static final Logger s_logger =
Logger.getLogger(CreateDomainCmd.class.getName());
@@ -45,9 +46,9 @@ public class CreateDomainCmd extends BaseCmd {
private String domainName;
@Parameter(name = ApiConstants.PARENT_DOMAIN_ID,
- type = CommandType.UUID,
- entityType = DomainResponse.class,
- description = "assigns new domain a parent domain by domain ID
of the parent. If no parent domain is specied, the ROOT domain is assumed.")
+ type = CommandType.UUID,
+ entityType = DomainResponse.class,
+ description = "assigns new domain a parent domain by domain ID of
the parent. If no parent domain is specied, the ROOT domain is assumed.")
private Long parentDomainId;
@Parameter(name = ApiConstants.NETWORK_DOMAIN, type = CommandType.STRING,
description = "Network domain for networks in the domain")
diff --git
a/api/src/org/apache/cloudstack/api/command/admin/domain/DeleteDomainCmd.java
b/api/src/org/apache/cloudstack/api/command/admin/domain/DeleteDomainCmd.java
index a6d2b0b..037cf3d 100644
---
a/api/src/org/apache/cloudstack/api/command/admin/domain/DeleteDomainCmd.java
+++
b/api/src/org/apache/cloudstack/api/command/admin/domain/DeleteDomainCmd.java
@@ -18,8 +18,7 @@ package org.apache.cloudstack.api.command.admin.domain;
import javax.inject.Inject;
-import org.apache.log4j.Logger;
-
+import org.apache.cloudstack.acl.RoleType;
import org.apache.cloudstack.api.APICommand;
import org.apache.cloudstack.api.ApiConstants;
import org.apache.cloudstack.api.ApiErrorCode;
@@ -30,13 +29,15 @@ import org.apache.cloudstack.api.response.DomainResponse;
import org.apache.cloudstack.api.response.SuccessResponse;
import org.apache.cloudstack.context.CallContext;
import org.apache.cloudstack.region.RegionService;
+import org.apache.log4j.Logger;
import com.cloud.domain.Domain;
import com.cloud.event.EventTypes;
import com.cloud.user.Account;
@APICommand(name = "deleteDomain", description = "Deletes a specified domain",
responseObject = SuccessResponse.class,
- requestHasSensitiveInfo = false, responseHasSensitiveInfo = false)
+requestHasSensitiveInfo = false, responseHasSensitiveInfo = false, authorized
= {
+ RoleType.Admin, RoleType.DomainAdmin })
public class DeleteDomainCmd extends BaseAsyncCmd {
public static final Logger s_logger =
Logger.getLogger(DeleteDomainCmd.class.getName());
private static final String s_name = "deletedomainresponse";
@@ -49,8 +50,8 @@ public class DeleteDomainCmd extends BaseAsyncCmd {
private Long id;
@Parameter(name = ApiConstants.CLEANUP,
- type = CommandType.BOOLEAN,
- description = "true if all domain resources (child domains,
accounts) have to be cleaned up, false otherwise")
+ type = CommandType.BOOLEAN,
+ description = "true if all domain resources (child domains,
accounts) have to be cleaned up, false otherwise")
private Boolean cleanup;
@Inject
diff --git a/ui/scripts/domains.js b/ui/scripts/domains.js
index 9dc801b..04f523c 100644
--- a/ui/scripts/domains.js
+++ b/ui/scripts/domains.js
@@ -771,7 +771,9 @@
} else if (isDomainAdmin()) {
if (args.context.domains[0].id != g_domainid) {
allowedActions.push("edit"); //merge updateResourceLimit into
edit
+ allowedActions.push("delete");
}
+ allowedActions.push("create");
}
allowedActions.push("updateResourceCount");
return allowedActions;
--
To stop receiving notification emails like this one, please contact
['"[email protected]" <[email protected]>'].