From aa223e5786b81c1ac617f445331e38f8bc02ecfd Mon Sep 17 00:00:00 2001 From: Jessica Wang Date: Thu, 15 Aug 2013 10:25:32 -0700 Subject: [PATCH] CLOUDSTACK-4308: UI > volume page > if hypervisor is KVM, show/hide takeSnapshot, recurringSnapshot action upon KVMsnapshotenabled property returned by listCapabilities API. --- ui/scripts/cloudStack.js | 11 +++++++++++ ui/scripts/sharedFunctions.js | 1 + ui/scripts/storage.js | 8 ++++++-- 3 files changed, 18 insertions(+), 2 deletions(-) diff --git a/ui/scripts/cloudStack.js b/ui/scripts/cloudStack.js index df6fea60eb9..7020c217c72 100644 --- a/ui/scripts/cloudStack.js +++ b/ui/scripts/cloudStack.js @@ -168,6 +168,11 @@ expires: 1 }); + g_KVMsnapshotenabled = json.listcapabilitiesresponse.capability.KVMsnapshotenabled; //boolean + $.cookie('KVMsnapshotenabled', g_KVMsnapshotenabled, { + expires: 1 + }); + if (json.listcapabilitiesresponse.capability.userpublictemplateenabled != null) { g_userPublicTemplateEnabled = json.listcapabilitiesresponse.capability.userpublictemplateenabled.toString(); //convert boolean to string if it's boolean $.cookie('userpublictemplateenabled', g_userPublicTemplateEnabled, { @@ -332,6 +337,11 @@ expires: 1 }); + g_KVMsnapshotenabled = json.listcapabilitiesresponse.capability.KVMsnapshotenabled; //boolean + $.cookie('KVMsnapshotenabled', g_KVMsnapshotenabled, { + expires: 1 + }); + if (json.listcapabilitiesresponse.capability.userpublictemplateenabled != null) { g_userPublicTemplateEnabled = json.listcapabilitiesresponse.capability.userpublictemplateenabled.toString(); //convert boolean to string if it's boolean $.cookie('userpublictemplateenabled', g_userPublicTemplateEnabled, { @@ -432,6 +442,7 @@ g_timezoneoffset = null; g_timezone = null; g_supportELB = null; + g_KVMsnapshotenabled = null; g_loginCmdText = null; $.cookie('JSESSIONID', null); diff --git a/ui/scripts/sharedFunctions.js b/ui/scripts/sharedFunctions.js index 2fab2e5f002..b24847a9eb9 100644 --- a/ui/scripts/sharedFunctions.js +++ b/ui/scripts/sharedFunctions.js @@ -25,6 +25,7 @@ var g_enableLogging = false; var g_timezoneoffset = null; var g_timezone = null; var g_supportELB = null; +var g_KVMsnapshotenabled = null; var g_userPublicTemplateEnabled = "true"; var g_cloudstackversion = null; var g_queryAsyncJobResultInterval = 3000; diff --git a/ui/scripts/storage.js b/ui/scripts/storage.js index d5ede620261..a4d00c60db0 100644 --- a/ui/scripts/storage.js +++ b/ui/scripts/storage.js @@ -1865,8 +1865,12 @@ } if (jsonObj.hypervisor != "Ovm" && jsonObj.state == "Ready") { - allowedActions.push("takeSnapshot"); - allowedActions.push("recurringSnapshot"); + if(jsonObj.hypervisor != 'KVM' + || (jsonObj.hypervisor == 'KVM' && g_KVMsnapshotenabled == true) ) { + allowedActions.push("takeSnapshot"); + allowedActions.push("recurringSnapshot"); + } + if (jsonObj.type == "DATADISK") { allowedActions.push("resize"); }