You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by bf...@apache.org on 2013/10/07 20:30:51 UTC
[26/27] git commit: updated refs/heads/ui-restyle to 205f22b
CLOUDSTACK-4796: UI > Instances > detailView > add new action "Assign Instance to Another Account".
Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/da814c65
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/da814c65
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/da814c65
Branch: refs/heads/ui-restyle
Commit: da814c658b5a36f817888ccf1b5de80d00b17b8c
Parents: 6618507
Author: Jessica Wang <je...@apache.org>
Authored: Mon Oct 7 10:20:16 2013 -0700
Committer: Jessica Wang <je...@apache.org>
Committed: Mon Oct 7 10:22:24 2013 -0700
----------------------------------------------------------------------
ui/scripts/instances.js | 81 +++++++++++++++++++++++++++++++++++++++++---
1 file changed, 77 insertions(+), 4 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/da814c65/ui/scripts/instances.js
----------------------------------------------------------------------
diff --git a/ui/scripts/instances.js b/ui/scripts/instances.js
index a9f6d1c..ba463e7 100644
--- a/ui/scripts/instances.js
+++ b/ui/scripts/instances.js
@@ -1324,8 +1324,6 @@
});
}
}
-
-
}
},
@@ -1366,9 +1364,79 @@
notification: {
poll: pollAsyncJobResult
}
-
},
-
+
+ assignVmToAnotherAccount: {
+ label: 'Assign Instance to Another Account',
+ createForm: {
+ title: 'Assign Instance to Another Account',
+ fields: {
+ domainid: {
+ label: 'label.domain',
+ validation: {
+ required: true
+ },
+ select: function(args) {
+ $.ajax({
+ url: createURL('listDomains'),
+ data: {
+ listAll: true,
+ details: 'min'
+ },
+ success: function(json) {
+ var array1 = [];
+ var domains = json.listdomainsresponse.domain;
+ if (domains != null && domains.length > 0) {
+ for (var i = 0; i < domains.length; i++) {
+ array1.push({
+ id: domains[i].id,
+ description: domains[i].path
+ });
+ }
+ }
+ args.response.success({
+ data: array1
+ });
+ }
+ });
+ }
+ },
+ account: {
+ label: 'label.account',
+ validation: {
+ required: true
+ }
+ }
+ }
+ },
+ action: function(args) {
+ $.ajax({
+ url: createURL('assignVirtualMachine&virtualmachine'),
+ data: {
+ virtualmachineid: args.context.instances[0].id,
+ domainid: args.data.domainid,
+ account: args.data.account
+ },
+ success: function(json) {
+ var item = json.virtualmachine.virtualmachine;
+ args.response.success({
+ data: item
+ });
+ }
+ });
+ },
+ messages: {
+ notification: function(args) {
+ return 'Assign Instance to Another Account';
+ }
+ },
+ notification: {
+ poll: function(args) {
+ args.complete();
+ }
+ }
+ },
+
viewConsole: {
label: 'label.view.console',
action: {
@@ -1924,6 +1992,11 @@
if (jsonObj.hypervisor == "BareMetal") {
allowedActions.push("createTemplate");
}
+
+ if (isAdmin() || isDomainAdmin()) {
+ allowedActions.push("assignVmToAnotherAccount");
+ }
+
} else if (jsonObj.state == 'Starting') {
// allowedActions.push("stop");
} else if (jsonObj.state == 'Error') {