mirror of
https://github.com/OpenNebula/one.git
synced 2025-03-07 16:58:18 +03:00
bug #3154: Fix issues when the template contains single quotes
This commit is contained in:
parent
70dd4357dc
commit
40a1cc475e
@ -1498,7 +1498,7 @@ function provision_list_vms(opts_arg){
|
||||
'<div id="provision_list_vm_accordion'+list_vms_accordion_id+'" class="content '+ (opts.active ? 'active' : '') +'">'+
|
||||
'<div class="row">'+
|
||||
'<div class="large-12 large-centered columns">'+
|
||||
'<table class="provision_vms_table" '+ (opts.data ? "data='"+JSON.stringify(opts.data)+"'" : "") +'>'+
|
||||
'<table class="provision_vms_table">'+
|
||||
'<thead class="hidden">'+
|
||||
'<tr>'+
|
||||
'<th>'+tr("ID")+'</th>'+
|
||||
@ -2092,8 +2092,8 @@ function generate_provision_instance_type_accordion(context, capacity) {
|
||||
"fnRowCallback": function( nRow, aData, iDisplayIndex, iDisplayIndexFull ) {
|
||||
var data = aData;
|
||||
|
||||
$(".provision_instance_types_ul", context).append('<li>'+
|
||||
'<ul class="provision-pricing-table hoverable only-one" cpu="'+data.cpu+'" memory="'+data.memory+'" data=\''+JSON.stringify(data)+'\'>'+
|
||||
var li = $('<li>'+
|
||||
'<ul class="provision-pricing-table hoverable only-one" cpu="'+data.cpu+'" memory="'+data.memory+'">'+
|
||||
'<li class="provision-title" title="'+data.name+'">'+
|
||||
data.name+
|
||||
'</li>'+
|
||||
@ -2112,7 +2112,9 @@ function generate_provision_instance_type_accordion(context, capacity) {
|
||||
(data.description || '')+
|
||||
'</li>'+
|
||||
'</ul>'+
|
||||
'</li>');
|
||||
'</li>').appendTo($(".provision_instance_types_ul", context));
|
||||
|
||||
$(".provision-pricing-table", li).data("opennebula", data)
|
||||
|
||||
return nRow;
|
||||
}
|
||||
@ -3063,10 +3065,9 @@ function update_provision_vms_datatable(datatable, timeout) {
|
||||
'</span>'+
|
||||
'</div>');
|
||||
|
||||
if (datatable.attr('data')) {
|
||||
fill_provision_vms_datatable(
|
||||
datatable,
|
||||
JSON.parse(datatable.attr('data')))
|
||||
var data = datatable.data('opennebula');
|
||||
if (data) {
|
||||
fill_provision_vms_datatable(datatable, data)
|
||||
} else {
|
||||
setTimeout( function(){
|
||||
OpenNebula.VM.list({
|
||||
@ -4066,6 +4067,11 @@ function setup_provision_vms_list(context, opts) {
|
||||
function generate_provision_vms_list(context, opts) {
|
||||
context.off();
|
||||
context.html(provision_list_vms(opts));
|
||||
|
||||
if (opts.data) {
|
||||
$(".provision_vms_table", context).data("opennebula", opts.data)
|
||||
}
|
||||
|
||||
setup_provision_vms_list(context, opts);
|
||||
setup_info_vm(context);
|
||||
}
|
||||
@ -4492,9 +4498,9 @@ function setup_info_flow(context) {
|
||||
percentage : Math.floor((role.nodes ? role.nodes.length : 0) / role.cardinality)*100
|
||||
}
|
||||
|
||||
$(".provision_roles_ul", context).append(
|
||||
var li = $(
|
||||
'<li>'+
|
||||
'<ul class="provision_role_ul provision-pricing-table" role=\''+JSON.stringify(role)+'\'>'+
|
||||
'<ul class="provision_role_ul provision-pricing-table">'+
|
||||
'<li class="provision-title text-left">'+
|
||||
'<i class="fa fa-fw fa-cube"/> '+
|
||||
role.name+
|
||||
@ -4522,7 +4528,9 @@ function setup_info_flow(context) {
|
||||
'</a>'+
|
||||
'</li>'+
|
||||
'</ul>'+
|
||||
'</li>');
|
||||
'</li>').appendTo($(".provision_roles_ul", context));
|
||||
|
||||
$(".provision_role_ul", li).data("role", role);
|
||||
});
|
||||
}
|
||||
|
||||
@ -4548,12 +4556,14 @@ function setup_info_flow(context) {
|
||||
'</span>'+
|
||||
'</div>');
|
||||
|
||||
var role_json = $(this).closest(".provision_role_ul").attr('role');
|
||||
var role = JSON.parse(role_json);
|
||||
var role = $(this).closest(".provision_role_ul").data('role');
|
||||
var vms = []
|
||||
$.each(role.nodes, function(index, node){
|
||||
vms.push(node.vm_info);
|
||||
})
|
||||
|
||||
if (role.nodes.length > 0) {
|
||||
$.each(role.nodes, function(index, node){
|
||||
vms.push(node.vm_info);
|
||||
})
|
||||
}
|
||||
|
||||
generate_provision_vms_list(
|
||||
$(".provision_role_vms_container", context),
|
||||
@ -4568,8 +4578,7 @@ function setup_info_flow(context) {
|
||||
})
|
||||
|
||||
context.on("click", ".provision_role_cardinality_button", function(){
|
||||
var role_json = $(this).closest(".provision_role_ul").attr('role');
|
||||
var role = JSON.parse(role_json);
|
||||
var role = $(this).closest(".provision_role_ul").data('role');
|
||||
var min_vms = (role.min_vms||1);
|
||||
var max_vms = (role.max_vms||100);
|
||||
|
||||
@ -5910,8 +5919,8 @@ $(document).ready(function(){
|
||||
'</span>';
|
||||
}
|
||||
|
||||
$("#provision_system_templates_ul").append('<li>'+
|
||||
'<ul class="provision-pricing-table hoverable only-one" opennebula_id="'+data.ID+'" data=\''+JSON.stringify(aData)+'\'>'+
|
||||
var li = $('<li>'+
|
||||
'<ul class="provision-pricing-table hoverable only-one" opennebula_id="'+data.ID+'">'+
|
||||
'<li class="provision-title" title="'+data.NAME+'">'+
|
||||
data.NAME+
|
||||
'</li>'+
|
||||
@ -5922,7 +5931,9 @@ $(document).ready(function(){
|
||||
(data.TEMPLATE.DESCRIPTION || '...')+
|
||||
'</li>'+
|
||||
'</ul>'+
|
||||
'</li>');
|
||||
'</li>').appendTo($("#provision_system_templates_ul"));
|
||||
|
||||
$(".provision-pricing-table", li).data("opennebula", aData);
|
||||
|
||||
return nRow;
|
||||
}
|
||||
@ -5976,8 +5987,8 @@ $(document).ready(function(){
|
||||
'</span>';
|
||||
}
|
||||
|
||||
$("#provision_vdc_templates_ul").append('<li>'+
|
||||
'<ul class="provision-pricing-table hoverable only-one" opennebula_id="'+data.ID+'" data=\''+JSON.stringify(aData)+'\'>'+
|
||||
var li = ('<li>'+
|
||||
'<ul class="provision-pricing-table hoverable only-one" opennebula_id="'+data.ID+'">'+
|
||||
'<li class="provision-title" title="'+data.NAME+'">'+
|
||||
data.NAME+
|
||||
'</li>'+
|
||||
@ -5988,7 +5999,9 @@ $(document).ready(function(){
|
||||
(data.TEMPLATE.DESCRIPTION || '...')+
|
||||
'</li>'+
|
||||
'</ul>'+
|
||||
'</li>');
|
||||
'</li>').appendTo($("#provision_vdc_templates_ul"));
|
||||
|
||||
$(".provision-pricing-table", li).data("opennebula", aData);
|
||||
|
||||
return nRow;
|
||||
}
|
||||
@ -6043,8 +6056,8 @@ $(document).ready(function(){
|
||||
'</span>';
|
||||
}
|
||||
|
||||
$("#provision_saved_templates_ul").append('<li>'+
|
||||
'<ul class="provision-pricing-table hoverable only-one" opennebula_id="'+data.ID+'" data=\''+JSON.stringify(aData)+'\'>'+
|
||||
var li = $('<li>'+
|
||||
'<ul class="provision-pricing-table hoverable only-one" opennebula_id="'+data.ID+'">'+
|
||||
'<li class="provision-title" title="'+data.NAME+'">'+
|
||||
data.NAME+
|
||||
'</li>'+
|
||||
@ -6055,7 +6068,9 @@ $(document).ready(function(){
|
||||
(data.TEMPLATE.DESCRIPTION || '...')+
|
||||
'</li>'+
|
||||
'</ul>'+
|
||||
'</li>');
|
||||
'</li>').appendTo($("#provision_saved_templates_ul"));
|
||||
|
||||
$(".provision-pricing-table", li).data("opennebula", aData);
|
||||
|
||||
return nRow;
|
||||
}
|
||||
@ -6093,7 +6108,7 @@ $(document).ready(function(){
|
||||
$(".provision_accordion_template .select_template").show();
|
||||
} else {
|
||||
var template_id = $(this).attr("opennebula_id");
|
||||
var template_json = JSON.parse($(this).attr("data"));
|
||||
var template_json = $(this).data("opennebula");
|
||||
|
||||
var template_nic = template_json.VMTEMPLATE.TEMPLATE.NIC
|
||||
var nics = []
|
||||
@ -6180,10 +6195,10 @@ $(document).ready(function(){
|
||||
}
|
||||
|
||||
if (instance_type.length > 0) {
|
||||
var instance_typa_data = instance_type.attr("data");
|
||||
var instance_typa_data = instance_type.data("opennebula");
|
||||
delete instance_typa_data.name;
|
||||
|
||||
$.extend(extra_info.template, JSON.parse(instance_type.attr("data")))
|
||||
$.extend(extra_info.template, instance_typa_data)
|
||||
}
|
||||
|
||||
var missing_attr = false;
|
||||
@ -6283,8 +6298,8 @@ $(document).ready(function(){
|
||||
'</span>';
|
||||
}
|
||||
|
||||
$("#provision_flow_templates_ul").append('<li>'+
|
||||
'<ul class="provision-pricing-table hoverable only-one" opennebula_id="'+data.ID+'" data=\''+JSON.stringify(aData)+'\'>'+
|
||||
var li = $('<li>'+
|
||||
'<ul class="provision-pricing-table hoverable only-one" opennebula_id="'+data.ID+'">'+
|
||||
'<li class="provision-title" title="'+data.NAME+'">'+
|
||||
data.NAME+
|
||||
'</li>'+
|
||||
@ -6296,7 +6311,9 @@ $(document).ready(function(){
|
||||
(data.TEMPLATE.DESCRIPTION || '')+
|
||||
'</li>'+
|
||||
'</ul>'+
|
||||
'</li>');
|
||||
'</li>').appendTo($("#provision_flow_templates_ul"));
|
||||
|
||||
$(".provision-pricing-table", li).data("opennebula", aData);
|
||||
|
||||
return nRow;
|
||||
}
|
||||
@ -6331,7 +6348,7 @@ $(document).ready(function(){
|
||||
$("#provision_customize_flow_template").show();
|
||||
$("#provision_customize_flow_template").html("");
|
||||
|
||||
var data = JSON.parse($(this).attr("data"));
|
||||
var data = $(this).data("opennebula");
|
||||
var body = data.DOCUMENT.TEMPLATE.BODY;
|
||||
|
||||
$(".provision_accordion_flow_template .selected_template").show();
|
||||
@ -6392,7 +6409,7 @@ $(document).ready(function(){
|
||||
}
|
||||
|
||||
$.each(body.roles, function(index, role){
|
||||
var context = $('<div id="provision_create_flow_role_'+index+'" class="provision_create_flow_role" data=\''+JSON.stringify(role)+'\'>'+
|
||||
var context = $('<div id="provision_create_flow_role_'+index+'" class="provision_create_flow_role">'+
|
||||
'<div class="row">'+
|
||||
'<div class="large-10 large-centered columns">'+
|
||||
'<h2 class="subheader">'+
|
||||
@ -6415,6 +6432,8 @@ $(document).ready(function(){
|
||||
'<br>'+
|
||||
'<br>').appendTo($("#provision_customize_flow_template"))
|
||||
|
||||
context.data("opennebula", role);
|
||||
|
||||
var template_id = role.vm_template;
|
||||
var role_html_id = "#provision_create_flow_role_"+index;
|
||||
|
||||
@ -6510,7 +6529,7 @@ $(document).ready(function(){
|
||||
})
|
||||
}
|
||||
|
||||
var role_template = JSON.parse($(this).attr("data"));
|
||||
var role_template = $(this).data("opennebula");
|
||||
roles.push($.extend(role_template, {
|
||||
"cardinality": $(".cardinality_value", $(this)).text(),
|
||||
"user_inputs_values": user_inputs_values
|
||||
|
Loading…
x
Reference in New Issue
Block a user