mirror of
https://github.com/OpenNebula/one.git
synced 2025-03-25 02:50:08 +03:00
parent
f3d8bac9c3
commit
fdec8da57c
@ -100,8 +100,9 @@ define(function(require) {
|
||||
OpenNebulaAction.simple_action(params, RESOURCE, "rename", action_obj, PATH);
|
||||
},
|
||||
"clone" : function(params) {
|
||||
var name = params.data.extra_param ? params.data.extra_param : "";
|
||||
var action_obj = {"name" : name};
|
||||
var name = params.data.extra_param ? params.data.extra_param.name : "";
|
||||
var mode = params.data.extra_param ? params.data.extra_param.mode : "none";
|
||||
var action_obj = {"name" : name, "recursive": mode};
|
||||
OpenNebulaAction.simple_action(params, RESOURCE, "clone", action_obj, PATH);
|
||||
},
|
||||
"getName": function(id){
|
||||
|
@ -62,22 +62,29 @@ define(function(require) {
|
||||
}
|
||||
|
||||
function _setup(context) {
|
||||
var that = this;
|
||||
var id_cb_clone_vms = "clone-vms";
|
||||
var id_cb_clone_images = "clone-images";
|
||||
|
||||
_drawCheckbox(context, id_cb_clone_vms, "Clone VM templates asssociated");
|
||||
|
||||
$("#" + DIALOG_ID + "Form", context).submit(function() {
|
||||
var extra_info;
|
||||
var name = $("input[name=\"name\"]", this).val();
|
||||
var mode = _getModeClone(context, id_cb_clone_vms, id_cb_clone_images);
|
||||
var sel_elems = Sunstone.getDataTable(ONEFLOW_TEMPLATES_TAB_ID).elements();
|
||||
|
||||
if (sel_elems.length > 1) {
|
||||
for (var i = 0; i < sel_elems.length; i++) {
|
||||
//If we are cloning several images we
|
||||
//use the name as prefix
|
||||
extra_info = name + OpenNebulaServiceTemplate.getName(sel_elems[i]);
|
||||
extra_info = {
|
||||
name: name + OpenNebulaServiceTemplate.getName(sel_elems[i]),
|
||||
mode: mode
|
||||
};
|
||||
Sunstone.runAction("ServiceTemplate.clone", sel_elems[i], extra_info);
|
||||
}
|
||||
} else {
|
||||
extra_info = name;
|
||||
extra_info = { name: name, mode: mode };
|
||||
Sunstone.runAction("ServiceTemplate.clone", sel_elems[0], extra_info);
|
||||
}
|
||||
|
||||
@ -89,6 +96,12 @@ define(function(require) {
|
||||
return false;
|
||||
});
|
||||
|
||||
$("#" + id_cb_clone_vms, context).on('change', function() {
|
||||
this.checked
|
||||
? _drawCheckbox(context, id_cb_clone_images, "Clone images asssociated")
|
||||
: _removeCheckbox(context, id_cb_clone_images);
|
||||
});
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
@ -112,4 +125,26 @@ define(function(require) {
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
function _drawCheckbox(context, id, text) {
|
||||
$("#clone-options", context).append(
|
||||
'<div class="large-12 columns" id="' + id + '-wrapper">\
|
||||
<input type="checkbox" class="'+ id +'" id="'+ id +'">\
|
||||
<label for="'+ id +'">\
|
||||
' + Locale.tr(text) + '\
|
||||
</label>\
|
||||
</div>');
|
||||
}
|
||||
|
||||
function _removeCheckbox(context, id) {
|
||||
$("#" + id, context).parent().remove();
|
||||
}
|
||||
|
||||
function _getModeClone(context, id_cb_clone_vms, id_cb_clone_images) {
|
||||
return $("#" + id_cb_clone_images, context).is(":checked")
|
||||
? "all"
|
||||
: $("#" + id_cb_clone_vms, context).is(":checked")
|
||||
? "templates"
|
||||
: "none";
|
||||
}
|
||||
});
|
||||
|
@ -35,6 +35,7 @@
|
||||
<input required type="text" name="name"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row" id="clone-options"></div>
|
||||
<div class="form_buttons row">
|
||||
<button class="button radius right" id="template_clone_button" value="ServiceTemplate.clone">{{tr "Clone"}}</button>
|
||||
</div>
|
||||
|
Loading…
x
Reference in New Issue
Block a user