CS-13091: Enable/disable physical network UI actions

This commit is contained in:
Brian Federle 2012-05-24 12:15:58 -07:00
parent 434f166c02
commit 9f2a823d6e
4 changed files with 99 additions and 5 deletions

View File

@ -1,4 +1,8 @@
#new labels (begin) **********************************************************************************************
label.action.enable.physical.network=Enable physical network
label.action.disable.physical.network=Disable physical network
message.action.enable.physical.network=Please confirm that you want to enable this physical network.
message.action.disable.physical.network=Please confirm that you want to disable this physical network.
label.ipaddress=IP Address
label.vcdcname=vCenter DC name
label.vcipaddress=vCenter IP Address

View File

@ -1652,6 +1652,10 @@
<script language="javascript">
dictionary = {
'label.action.enable.physical.network': '<fmt:message key="label.action.enable.physical.network"/>',
'label.action.disable.physical.network': '<fmt:message key="label.action.disable.physical.network"/>',
'message.action.enable.physical.network': '<fmt:message key="message.action.enable.physical.network"/>',
'message.action.disable.physical.network': '<fmt:message key="message.action.disable.physical.network"/>',
'label.ipaddress': '<fmt:message key="label.ipaddress"/>',
'label.vcdcname': '<fmt:message key="label.vcdcname"/>',
'label.vcipaddress': '<fmt:message key="label.vcipaddress"/>',

View File

@ -1827,7 +1827,81 @@
notification: {
poll: pollAsyncJobResult
}
}
},
enable: {
label: 'label.action.enable.physical.network',
messages: {
confirm: function(args) {
return 'message.action.enable.physical.network';
},
notification: function(args) {
return 'label.action.enable.physical.network';
}
},
action: function(args) {
$.ajax({
url: createURL('updatePhysicalNetwork'),
data: {
id: args.context.physicalNetworks[0].id,
state: 'Enabled'
},
success: function(json) {
args.response.success({
_custom: {
jobId: json.updatephysicalnetworkresponse.jobid,
getUpdatedItem: function(json) {
return {
state: 'Enabled'
};
},
getActionFilter: function() {
return cloudStack.actionFilter.physicalNetwork;
}
}
});
},
error: function(json) { args.response.error(parseXMLHttpResponse(json)); }
});
},
notification: { poll: pollAsyncJobResult }
},
disable: {
label: 'label.action.disable.physical.network',
messages: {
confirm: function(args) {
return 'message.action.disable.physical.network';
},
notification: function(args) {
return 'label.action.disable.physical.network';
}
},
action: function(args) {
$.ajax({
url: createURL('updatePhysicalNetwork'),
data: {
id: args.context.physicalNetworks[0].id,
state: 'Disabled'
},
success: function(json) {
args.response.success({
_custom: {
jobId: json.updatephysicalnetworkresponse.jobid,
getUpdatedItem: function(json) {
return {
state: 'Disabled'
};
},
getActionFilter: function() {
return cloudStack.actionFilter.physicalNetwork;
}
}
});
},
error: function(json) { args.response.error(parseXMLHttpResponse(json)); }
});
},
notification: { poll: pollAsyncJobResult }
}
}
},
dataProvider: function(args) {
@ -1839,6 +1913,7 @@
success: function(json) {
physicalNetworkObjs = json.listphysicalnetworksresponse.physicalnetwork;
args.response.success({
actionFilter: cloudStack.actionFilter.physicalNetwork,
data: json.listphysicalnetworksresponse.physicalnetwork
});
}
@ -9223,7 +9298,17 @@
}
);
}
}
};
cloudStack.actionFilter.physicalNetwork = function(args) {
var state = args.context.item.state;
if (state == 'Enabled') {
return ['disable', 'remove'];
} else if (state == 'Disabled') {
return ['enable', 'remove'];
}
return [];
};
})($, cloudStack);

View File

@ -295,11 +295,12 @@
response: {
success: function(args) {
var data = args.data;
var actionFilter = args.actionFilter;
$chart.listView({
listView: $.extend(true, {}, cloudStack.sections.system.naas.networks.listView, {
dataProvider: function(args) {
args.response.success({ data: data });
args.response.success({ actionFilter: actionFilter, data: data });
},
detailView: {
tabs: {