incubator-cloudstack-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jessica Wang <Jessica.W...@citrix.com>
Subject RE: [PATCH] CS-15329: Instances with Error states appear in Instances
Date Tue, 26 Jun 2012 22:11:55 GMT
Olga,

I just reviewed and pushed your patch to master branch.

I also checked in another change:
(1) to distinguish between getUpdatedItem() and getUpdatedData(), I renamed getUpdatedData()
to getUpdatedItemWhenAsyncJobFails() since it's being called only when async job fails. 
(2) to fix the space problem (tab size is not 2) from your patch.

Jessica

-----Original Message-----
From: olgasmola [mailto:olya.smola@gmail.com] 
Sent: Monday, June 25, 2012 5:43 AM
To: cloudstack-dev@incubator.apache.org
Subject: [PATCH] CS-15329: Instances with Error states appear in Instances

list after creating.

---
 ui/scripts/instances.js           |   15 ++++++++++++++-
 ui/scripts/sharedFunctions.js     |    9 ++++++++-
 ui/scripts/ui/widgets/listView.js |   12 +++++++++++-
 3 files changed, 33 insertions(+), 3 deletions(-)

diff --git a/ui/scripts/instances.js b/ui/scripts/instances.js
index b892fd7..779011d 100644
--- a/ui/scripts/instances.js
+++ b/ui/scripts/instances.js
@@ -537,6 +537,7 @@
                   dataType: "json",
                   success: function(json) {
                     var jid = json.deployvirtualmachineresponse.jobid;
+					var vmid = json.deployvirtualmachineresponse.id;
                     args.response.success(
                       {_custom:
                        {jobId: jid,
@@ -548,7 +549,19 @@
                         },
                         getActionFilter: function() {
                           return vmActionfilter;
-                        }
+                        },
+						getUpdatedData: function() {
+							var item;
+							$.ajax({
+							  url: createURL("listVirtualMachines&id="+vmid),
+							  dataType: "json",
+							  async: false,
+							  success: function(json) {
+								item = json.listvirtualmachinesresponse.virtualmachine[0];
+							  }
+							});
+							return item;
+						}
                        }
                       }
                     );
diff --git a/ui/scripts/sharedFunctions.js b/ui/scripts/sharedFunctions.js
index e7d2aeb..e0fb8e8 100644
--- a/ui/scripts/sharedFunctions.js
+++ b/ui/scripts/sharedFunctions.js
@@ -82,7 +82,14 @@ var pollAsyncJobResult = function(args) {
         }
         else if (result.jobstatus == 2) { // Failed          
           var msg = (result.jobresult.errortext == null)? "": result.jobresult.errortext;
-          args.error({message: msg});
+		  if (args._custom.getUpdatedData != null && args._custom.getActionFilter != null)
{
+			args.error({message: msg, updatedData: args._custom.getUpdatedData(), actionFilter: args._custom.getActionFilter()});
+		  } else if (args._custom.getUpdatedData != null && args._custom.getActionFilter
== null) {
+			args.error({message: msg, updatedData: args._custom.getUpdatedData()});
+		  }
+		  else {
+			args.error({message: msg});
+		  }
         }
       }
     },
diff --git a/ui/scripts/ui/widgets/listView.js b/ui/scripts/ui/widgets/listView.js
index 0f20592..96ba8e1 100644
--- a/ui/scripts/ui/widgets/listView.js
+++ b/ui/scripts/ui/widgets/listView.js
@@ -93,7 +93,17 @@
 
                 // Error
                 function(args) {
-                  $item.remove();
+					if (args && args.updatedData) {
+						if ($item.is(':visible') && !isHeader) {
+							replaceItem(
+							  $item,
+							  args.updatedData,
+							  args.actionFilter
+							);
+						}
+					} else {
+						$item.remove();
+					}
                 }
               );
             }
-- 
1.7.10.msysgit.1




Mime
View raw message