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') {