1
0
mirror of https://github.com/OpenNebula/one.git synced 2025-03-21 14:50:08 +03:00

Feature #3782: Add disk-snapshot commands to sunstone state-actions.js

This commit is contained in:
Carlos Martín 2015-07-07 18:45:27 +02:00
parent 3c3050b10c
commit 8a00683f3a
2 changed files with 25 additions and 21 deletions

View File

@ -129,7 +129,7 @@ define(function(require) {
$.each(noParent, function(){
treeRoot.subTree.push(
_makeTree(indexedSnapshots[this], indexedSnapshots)
_makeTree(that, indexedSnapshots[this], indexedSnapshots)
);
});
@ -214,9 +214,7 @@ define(function(require) {
}
if (Config.isTabActionEnabled("vms-tab", "VM.disk_snapshot_create")) {
// TODO: set disk_snapshot_create in state-actions.js
//if (StateActions.enabledStateAction("VM.disk_snapshot_create", that.element.STATE, that.element.LCM_STATE) && !disk.CONTEXT) {
if (!disk.CONTEXT) {
if (StateActions.enabledStateAction("VM.disk_snapshot_create", that.element.STATE, that.element.LCM_STATE) && !disk.CONTEXT) {
actions += ('<a href="VM.disk_snapshot_create" class="disk_snapshot_create nowrap" >\
<i class="fa fa-camera"></i>' + Locale.tr("Snapshot") +
'</a>');
@ -419,7 +417,7 @@ define(function(require) {
Tree.setup(context);
}
function _makeTree(snapshot, indexedSnapshots){
function _makeTree(that, snapshot, indexedSnapshots){
var SPACE = '&nbsp;&nbsp;&nbsp;&nbsp;';
var subTree = [];
@ -427,7 +425,7 @@ define(function(require) {
if (snapshot.CHILDREN){
$.each(snapshot.CHILDREN.split(","), function(){
subTree.push(
_makeTree(indexedSnapshots[this], indexedSnapshots)
_makeTree(that, indexedSnapshots[this], indexedSnapshots)
);
});
}
@ -445,17 +443,23 @@ define(function(require) {
html += Humanize.prettyTime(snapshot.DATE) + SPACE +
(snapshot.TAG ? snapshot.TAG + SPACE : '');
if (Config.isTabActionEnabled("vms-tab", "VM.disk_saveas")) {
if (Config.isTabActionEnabled("vms-tab", "VM.disk_saveas") &&
StateActions.enabledStateAction("VM.disk_saveas", that.element.STATE, that.element.LCM_STATE)) {
html += '<a href="" class="disk_snapshot_saveas" >\
<i class="fa fa-save"></i>' + Locale.tr("Save as") + '</a> &emsp;';
}
if (Config.isTabActionEnabled("vms-tab", "VM.disk_snapshot_revert")) {
if (Config.isTabActionEnabled("vms-tab", "VM.disk_snapshot_revert") &&
StateActions.enabledStateAction("VM.disk_snapshot_revert", that.element.STATE, that.element.LCM_STATE)) {
html += '<a href="VM.disk_snapshot_revert" class="disk_snapshot_revert" ><i class="fa fa-reply"/>' + Locale.tr("Revert") + '</a> &emsp;';
}
if(!active){
if (Config.isTabActionEnabled("vms-tab", "VM.disk_snapshot_delete")) {
if (Config.isTabActionEnabled("vms-tab", "VM.disk_snapshot_delete") &&
StateActions.enabledStateAction("VM.disk_snapshot_delete", that.element.STATE, that.element.LCM_STATE)) {
html += '<a href="VM.disk_snapshot_delete" class="disk_snapshot_delete" ><i class="fa fa-times"/>' + Locale.tr("Delete") + '</a>';
}
}

View File

@ -19,7 +19,7 @@ define(function(require) {
["VM.delete", "VM.delete_recreate", "VM.resume", "VM.deploy"];
STATE_ACTIONS[OpenNebulaVM.STATES.SUSPENDED] =
["VM.delete", "VM.resume", "VM.disk_saveas", "VM.stop", "VM.shutdown_hard"];
["VM.delete", "VM.resume", "VM.disk_saveas", "VM.disk_snapshot_create", "VM.disk_snapshot_revert", "VM.disk_snapshot_delete", "VM.stop", "VM.shutdown_hard"];
STATE_ACTIONS[OpenNebulaVM.STATES.DONE] =
[];
@ -28,7 +28,7 @@ define(function(require) {
["VM.delete", "VM.delete_recreate", "VM.resize"];
STATE_ACTIONS[OpenNebulaVM.STATES.POWEROFF] =
["VM.delete", "VM.resume", "VM.resize", "VM.attachdisk", "VM.detachdisk", "VM.attachnic", "VM.detachnic", "VM.disk_saveas", "VM.migrate", "VM.undeploy", "VM.undeploy_hard", "VM.shutdown_hard"];
["VM.delete", "VM.resume", "VM.resize", "VM.attachdisk", "VM.detachdisk", "VM.attachnic", "VM.detachnic", "VM.disk_saveas", "VM.disk_snapshot_create", "VM.disk_snapshot_revert", "VM.disk_snapshot_delete", "VM.migrate", "VM.undeploy", "VM.undeploy_hard", "VM.shutdown_hard"];
STATE_ACTIONS[OpenNebulaVM.STATES.UNDEPLOYED] =
["VM.delete", "VM.delete_recreate", "VM.resume", "VM.resize", "VM.deploy"];
@ -39,7 +39,7 @@ define(function(require) {
LCM_STATE_ACTIONS[ OpenNebulaVM.LCM_STATES.PROLOG ] = [];
LCM_STATE_ACTIONS[ OpenNebulaVM.LCM_STATES.BOOT ] = [];
LCM_STATE_ACTIONS[ OpenNebulaVM.LCM_STATES.RUNNING ] =
["VM.shutdown", "VM.shutdown_hard", "VM.stop", "VM.suspend", "VM.reboot", "VM.reboot_hard", "VM.resched", "VM.unresched", "VM.poweroff", "VM.poweroff_hard", "VM.undeploy", "VM.undeploy_hard", "VM.migrate", "VM.migrate_live", "VM.attachdisk", "VM.detachdisk", "VM.attachnic", "VM.detachnic", "VM.disk_saveas"];
["VM.shutdown", "VM.shutdown_hard", "VM.stop", "VM.suspend", "VM.reboot", "VM.reboot_hard", "VM.resched", "VM.unresched", "VM.poweroff", "VM.poweroff_hard", "VM.undeploy", "VM.undeploy_hard", "VM.migrate", "VM.migrate_live", "VM.attachdisk", "VM.detachdisk", "VM.attachnic", "VM.detachnic", "VM.disk_saveas", "VM.disk_snapshot_create", "VM.disk_snapshot_revert", "VM.disk_snapshot_delete"];
LCM_STATE_ACTIONS[ OpenNebulaVM.LCM_STATES.MIGRATE ] = [];
LCM_STATE_ACTIONS[ OpenNebulaVM.LCM_STATES.SAVE_STOP ] = [];
LCM_STATE_ACTIONS[ OpenNebulaVM.LCM_STATES.SAVE_SUSPEND ] = [];
@ -88,15 +88,15 @@ define(function(require) {
LCM_STATE_ACTIONS[ OpenNebulaVM.LCM_STATES.BOOT_STOPPED_FAILURE ] = [];
LCM_STATE_ACTIONS[ OpenNebulaVM.LCM_STATES.PROLOG_RESUME_FAILURE ] = [];
LCM_STATE_ACTIONS[ OpenNebulaVM.LCM_STATES.PROLOG_UNDEPLOY_FAILURE ] = [];
// TODO DISK_SNAPSHOT_POWEROFF
// TODO DISK_SNAPSHOT_REVERT_POWEROFF
// TODO DISK_SNAPSHOT_DELETE_POWEROFF
// TODO DISK_SNAPSHOT_SUSPENDED
// TODO DISK_SNAPSHOT_REVERT_SUSPENDED
// TODO DISK_SNAPSHOT_DELETE_SUSPENDED
// TODO DISK_SNAPSHOT
// TODO DISK_SNAPSHOT_REVERT
// TODO DISK_SNAPSHOT_DELETE
LCM_STATE_ACTIONS[ OpenNebulaVM.LCM_STATES.DISK_SNAPSHOT_POWEROFF ] = [];
LCM_STATE_ACTIONS[ OpenNebulaVM.LCM_STATES.DISK_SNAPSHOT_REVERT_POWEROFF ] = [];
LCM_STATE_ACTIONS[ OpenNebulaVM.LCM_STATES.DISK_SNAPSHOT_DELETE_POWEROFF ] = [];
LCM_STATE_ACTIONS[ OpenNebulaVM.LCM_STATES.DISK_SNAPSHOT_SUSPENDED ] = [];
LCM_STATE_ACTIONS[ OpenNebulaVM.LCM_STATES.DISK_SNAPSHOT_REVERT_SUSPENDED ] = [];
LCM_STATE_ACTIONS[ OpenNebulaVM.LCM_STATES.DISK_SNAPSHOT_DELETE_SUSPENDED ] = [];
LCM_STATE_ACTIONS[ OpenNebulaVM.LCM_STATES.DISK_SNAPSHOT ] = [];
LCM_STATE_ACTIONS[ OpenNebulaVM.LCM_STATES.DISK_SNAPSHOT_REVERT ] = [];
LCM_STATE_ACTIONS[ OpenNebulaVM.LCM_STATES.DISK_SNAPSHOT_DELETE ] = [];
return {
'disableAllStateActions': disableAllStateActions,