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

B #5126: Sunstone uses JSON to update the label information of oneflow

resources
This commit is contained in:
Jaime Melis 2017-04-24 16:12:03 +02:00
parent 43ef050c88
commit 674bdc14e0
3 changed files with 22 additions and 4 deletions

View File

@ -23,6 +23,8 @@ define(function(require) {
var Locale = require('utils/locale');
var Tips = require('utils/tips');
var TemplatesTable = require('tabs/oneflow-templates-tab/datatable');
var TemplateUtils = require('utils/template-utils');
/*
CONSTANTS
*/

View File

@ -25,6 +25,7 @@ define(function(require) {
var Locale = require('utils/locale');
var Tips = require('utils/tips');
var RoleTab = require('tabs/oneflow-templates-tab/utils/role-tab');
var TemplateUtils = require('utils/template-utils');
/*
TEMPLATES
@ -230,7 +231,7 @@ define(function(require) {
json_template['ready_status_gate'] = ready_status_gate;
var templateStr = $('textarea#template', $("form#createServiceTemplateFormAdvanced")).val();
var template_final = TemplateUtils.mergeTemplates(templateJSON, templateStr);
var template_final = TemplateUtils.mergeTemplates(json_template, templateStr);
if (this.action == "create") {
Sunstone.runAction("ServiceTemplate.create", template_final );
return false;

View File

@ -260,10 +260,15 @@ define(function(require) {
}
function _updateResouceLabels(tabName, resourceId, labelsArray) {
var templateStr = LABELS_ATTR + '="' + labelsArray.join(',') + '"';
var resource = Sunstone.getResource(tabName);
var tabTable = Sunstone.getDataTable(tabName);
if (resource == "ServiceTemplate" || resource == "Service") {
var templateStr = '{"' + LABELS_ATTR.toLowerCase() + '":"' + labelsArray.join(',') + '"}';
} else {
var templateStr = LABELS_ATTR + '="' + labelsArray.join(',') + '"';
}
OpenNebula[resource].append({
timeout: true,
data : {
@ -294,7 +299,11 @@ define(function(require) {
}
function _labelsStr(elementTemplate) {
return TemplateUtils.htmlEncode( elementTemplate[LABELS_ATTR] );
if (elementTemplate['BODY'] && elementTemplate["BODY"][LABELS_ATTR.toLowerCase()]) {
return TemplateUtils.htmlEncode(elementTemplate["BODY"][LABELS_ATTR.toLowerCase()]);
} else {
return TemplateUtils.htmlEncode( elementTemplate[LABELS_ATTR] );
}
}
function _deserializeLabels(labelsStr) {
@ -415,7 +424,13 @@ define(function(require) {
} else {
template = element.TEMPLATE;
}
return template[LABELS_ATTR]||'';
if (template["BODY"] && template["BODY"][LABELS_ATTR.toLowerCase()]) {
return template["BODY"][LABELS_ATTR.toLowerCase()];
} else {
return template[LABELS_ATTR]||'';
}
} else {
return '';
}