1
0
mirror of https://github.com/OpenNebula/one.git synced 2025-02-07 01:57:59 +03:00

Solved bug in user inputs (#290)

* Solved bug in user inputs

* Default values for boolean types
This commit is contained in:
Abel Coronado 2017-05-05 11:51:18 +02:00 committed by Tino Vázquez
parent 46988e317b
commit e989581c13
5 changed files with 34 additions and 11 deletions

View File

@ -188,7 +188,8 @@ define(function(require) {
function _submitWizard(context) {
var templateJSON = this.retrieve(context);
var templateStr = $('textarea#template', $("form#createVMTemplateFormAdvanced")).val();
var contextAdv = context[0].id.replace("Wizard", "Advanced")
var templateStr = $('textarea#template', $("form#"+contextAdv)).val();
var template_final = TemplateUtils.mergeTemplates(templateJSON, templateStr);
if (this.action == "create") {
@ -202,7 +203,8 @@ define(function(require) {
function _submitAdvanced(context) {
var templateStr = $('textarea#template', context).val();
var templateJSON = this.retrieve($("form#createVMTemplateFormWizard"));
var contextWiz = context[0].id.replace("Advanced", "Wizard");
var templateJSON = this.retrieve($("form#"+contextWiz));
var template_final = TemplateUtils.mergeTemplates(templateStr, templateJSON, true);
template_final = TemplateUtils.templateToString(template_final);

View File

@ -222,9 +222,16 @@ define(function(require) {
var userInputsJSON = UserInputs.retrieve(context);
$.each(userInputsJSON, function(key,value){
$.each(userInputsJSON, function(key, value){
var name = key.toUpperCase();
contextJSON[name.split("_")[2]] = "$" + name;
cntxt = name.split("_");
var keyName = "";
$.each(cntxt, function(key, value){
if(key >= 2){
keyName += value + "_";
}
});
contextJSON[keyName.slice(0,-1)] = "$" + name;
});
var start_script = WizardFields.retrieveInput($(".START_SCRIPT", context));

View File

@ -276,8 +276,10 @@ define(function(require) {
var boot = _retrieveBootValue(context);
if (boot.length > 0) {
if (boot && boot.length > 0) {
osJSON["BOOT"] = boot;
} else {
osJSON["BOOT"] = "";
}
if (!$.isEmptyObject(osJSON)) { templateJSON['OS'] = osJSON; };

View File

@ -94,15 +94,19 @@ define(function(require) {
}
function _merge_templates(template_master, template_slave, advanced){
if(!advanced)
if(!advanced){
template_slave = _convert_string_to_template(template_slave);
else
} else {
template_master = _convert_string_to_template(template_master);
}
if(template_slave.USER_INPUTS){
delete template_slave.USER_INPUTS;
}
if((advanced && template_master) || (!advanced && template_slave)){
var template_final = {};
$.extend(true, template_final, template_slave, template_master);
$.extend(template_final, template_slave, template_master);
return template_final;
}else{
} else {
Notifier.notifyError(Locale.tr("Advanced template malformed"));
}
return template_master;

View File

@ -650,8 +650,16 @@ define(function(require) {
input = '<br><input type="password" value="'+value+'" '+wizard_field+' '+required+'/>';
break;
case "boolean":
input = '<br>' + Locale.tr("YES ") + '<input type="radio" name="bool_' + attr.name + '" value="YES"' + wizard_field + ' ' + required + '/>';
input += Locale.tr("NO ") + '<input type="radio" name="bool_' + attr.name + '" value="NO"' + wizard_field + ' ' + required + '/>';
if(value == "YES"){
input = '<br>' + Locale.tr("YES ") + '<input checked type="radio" name="bool_' + attr.name + '" value="YES"' + wizard_field + ' ' + required + '/>';
input += Locale.tr("NO ") + '<input type="radio" name="bool_' + attr.name + '" value="NO"' + wizard_field + ' ' + required + '/>';
} else if(value == "NO"){
input = '<br>' + Locale.tr("YES ") + '<input type="radio" name="bool_' + attr.name + '" value="YES"' + wizard_field + ' ' + required + '/>';
input += Locale.tr("NO ") + '<input checked type="radio" name="bool_' + attr.name + '" value="NO"' + wizard_field + ' ' + required + '/>'
} else {
input = '<br>' + Locale.tr("YES ") + '<input type="radio" name="bool_' + attr.name + '" value="YES"' + wizard_field + ' ' + required + '/>';
input += Locale.tr("NO ") + '<input type="radio" name="bool_' + attr.name + '" value="NO"' + wizard_field + ' ' + required + '/>';
}
break;
case "number":
case "number-float":