From 99fce5b3ec0ad66e7def015d24d1542966a904d4 Mon Sep 17 00:00:00 2001 From: Abel Coronado Date: Tue, 25 Apr 2017 12:39:57 +0200 Subject: [PATCH] F #3874 use image name instead of id (#279) --- .../form-panels/create/wizard-tabs/context.js | 42 +++++++++++++------ 1 file changed, 30 insertions(+), 12 deletions(-) diff --git a/src/sunstone/public/app/tabs/templates-tab/form-panels/create/wizard-tabs/context.js b/src/sunstone/public/app/tabs/templates-tab/form-panels/create/wizard-tabs/context.js index 1c23e66e2d..d5d1e8240b 100644 --- a/src/sunstone/public/app/tabs/templates-tab/form-panels/create/wizard-tabs/context.js +++ b/src/sunstone/public/app/tabs/templates-tab/form-panels/create/wizard-tabs/context.js @@ -29,6 +29,7 @@ define(function(require) { var OpenNebulaHost = require('opennebula/host'); var UserInputs = require('utils/user-inputs'); var UniqueId = require('utils/unique-id'); + var OpenNebula = require('opennebula'); /* TEMPLATES @@ -285,8 +286,8 @@ define(function(require) { } if (contextJSON) { - var file_ds_regexp = /\$FILE\[IMAGE_ID=([0-9]+)+/g; - var net_regexp = /^NETWORK$/;; + var file_ds_regexp = /FILE\[IMAGE=(\w+?)\W+IMAGE_UNAME=(\w+?)\]/g; + var net_regexp = /^NETWORK$/; var ssh_regexp = /^SSH_PUBLIC_KEY$/; var token_regexp = /^TOKEN$/; var report_ready_regexp = /^REPORT_READY$/; @@ -314,14 +315,24 @@ define(function(require) { } else if ("FILES_DS" == key) { WizardFields.fillInput($('.FILES_DS', context), contextJSON["FILES_DS"]); var files = []; - while (match = file_ds_regexp.exec(value)) { - files.push(match[1]) - } - - var selectedResources = { - ids : files + OpenNebula.Image.list({ + timeout: true, + success: function(request, obj_files){ + while (match = file_ds_regexp.exec(value)) { + $.each(obj_files, function(key, value){ + if(value.IMAGE.NAME == match[1] && value.IMAGE.UNAME == match[2]){ + files.push(value.IMAGE.ID); + return false; + } + }); + } + var selectedResources = { + ids : files + } + that.contextFilesTable.selectResourceTableSelect(selectedResources); } - that.contextFilesTable.selectResourceTableSelect(selectedResources); + }); + } else if ("START_SCRIPT_BASE64" == key) { $(".ENCODE_START_SCRIPT", context).prop('checked', 'checked'); $(".START_SCRIPT", context).val(atob(value)); @@ -343,9 +354,16 @@ define(function(require) { var selected_files = this.contextFilesTable.retrieveResourceTableSelect(); $.each(selected_files, function(index, fileId) { - req_string.push("$FILE[IMAGE_ID="+ fileId +"]"); + OpenNebula.Image.show({ + timeout: true, + data : { + id: fileId + }, + success: function(request, obj_file){ + req_string.push("$FILE[IMAGE=" + obj_file.IMAGE.NAME + ", IMAGE_UNAME=" + obj_file.IMAGE.UNAME + "]"); + $('.FILES_DS', context).val(req_string.join(" ")); + } + }); }); - - $('.FILES_DS', context).val(req_string.join(" ")); }; });