Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions ui/scripts/cloudStack.js
Original file line number Diff line number Diff line change
Expand Up @@ -143,9 +143,9 @@
if (json.listcapabilitiesresponse.capability.userpublictemplateenabled != null) {
g_userPublicTemplateEnabled = json.listcapabilitiesresponse.capability.userpublictemplateenabled.toString(); //convert boolean to string if it's boolean
}
g_allowUserExpungeRecoverVm = json.listcapabilitiesresponse.capability.allowuserexpungerecovervm;
g_userProjectsEnabled = json.listcapabilitiesresponse.capability.allowusercreateprojects;


g_cloudstackversion = json.listcapabilitiesresponse.capability.cloudstackversion;

if (json.listcapabilitiesresponse.capability.apilimitinterval != null && json.listcapabilitiesresponse.capability.apilimitmax != null) {
Expand Down Expand Up @@ -274,9 +274,9 @@
if (json.listcapabilitiesresponse.capability.userpublictemplateenabled != null) {
g_userPublicTemplateEnabled = json.listcapabilitiesresponse.capability.userpublictemplateenabled.toString(); //convert boolean to string if it's boolean
}
g_allowUserExpungeRecoverVm = json.listcapabilitiesresponse.capability.allowuserexpungerecovervm;
g_userProjectsEnabled = json.listcapabilitiesresponse.capability.allowusercreateprojects;


g_cloudstackversion = json.listcapabilitiesresponse.capability.cloudstackversion;

if (json.listcapabilitiesresponse.capability.apilimitinterval != null && json.listcapabilitiesresponse.capability.apilimitmax != null) {
Expand Down
21 changes: 14 additions & 7 deletions ui/scripts/instances.js
Original file line number Diff line number Diff line change
Expand Up @@ -618,11 +618,11 @@
createForm: {
title: 'label.action.destroy.instance',
desc: 'label.action.destroy.instance',
isWarning: true,
isWarning: true,
preFilter: function(args) {
if (isAdmin() || isDomainAdmin()) {
args.$form.find('.form-item[rel=expunge]').css('display', 'inline-block');
} else {
// Hide the expunge checkbox when the authenticated user
// can't expunge VMs. Related to CLOUDSTACK-8580.
if (! g_allowUserExpungeRecoverVm) {
args.$form.find('.form-item[rel=expunge]').hide();
}
},
Expand Down Expand Up @@ -2434,11 +2434,15 @@
var allowedActions = [];

if (jsonObj.state == 'Destroyed') {
if (isAdmin() || isDomainAdmin()) {
// Display expunge and recover action when authenticated user
// is allowed to expunge or recover VMs. Related to CLOUDSTACK-8580.
if (g_allowUserExpungeRecoverVm) {
allowedActions.push("recover");
}
if (isAdmin() || isDomainAdmin())

if (g_allowUserExpungeRecoverVm) {
allowedActions.push("expunge");
}
} else if (jsonObj.state == 'Running') {
allowedActions.push("stop");
allowedActions.push("restart");
Expand Down Expand Up @@ -2507,8 +2511,11 @@
} else if (jsonObj.state == 'Error') {
allowedActions.push("destroy");
} else if (jsonObj.state == 'Expunging') {
if (isAdmin() || isDomainAdmin())
// Display expunge action when authenticated user
// is allowed to expunge VMs. Related to CLOUDSTACK-8580.
if (g_allowUserExpungeRecoverVm) {
allowedActions.push("expunge");
}
}
return allowedActions;
}
Expand Down
2 changes: 1 addition & 1 deletion ui/scripts/sharedFunctions.js
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ var g_supportELB = null;
var g_kvmsnapshotenabled = null;
var g_regionsecondaryenabled = null;
var g_userPublicTemplateEnabled = "true";
var g_allowUserExpungeRecoverVm = "false";
var g_cloudstackversion = null;
var g_queryAsyncJobResultInterval = 3000;
var g_idpList = null;
Expand Down Expand Up @@ -2332,4 +2333,3 @@ $.validator.addMethod("ipv4cidr", function(value, element) {

return true;
}, "The specified IPv4 CIDR is invalid.");