mirror of
https://github.com/OpenNebula/one.git
synced 2025-03-21 14:50:08 +03:00
(cherry picked from commit 9fdd50742264046c84fc4414eadda05df97f6f1d)
This commit is contained in:
parent
cacffeff64
commit
2a095f76f4
@ -172,6 +172,7 @@ module OpenNebulaJSON
|
||||
name = params['name']
|
||||
vmtemplate_name = params['vmtemplate_name']
|
||||
notemplate = [true, 'true'].include?(params['notemplate'])
|
||||
template = params['vcenter_template'] != "" ? params['vcenter_template'].to_i : nil
|
||||
|
||||
tag ="tag=#{params['tag']}" if params['tag'] && !params['tag'].empty?
|
||||
rc = export({
|
||||
@ -179,7 +180,8 @@ module OpenNebulaJSON
|
||||
:name => name,
|
||||
:vmtemplate_name => vmtemplate_name,
|
||||
:notemplate => notemplate,
|
||||
:url_args => tag
|
||||
:url_args => tag,
|
||||
:template => template
|
||||
})
|
||||
|
||||
if OpenNebula.is_error?(rc)
|
||||
|
@ -24,8 +24,10 @@ define(function(require) {
|
||||
var Locale = require("utils/locale");
|
||||
var Tips = require("utils/tips");
|
||||
var DataStoresTable = require("tabs/datastores-tab/datatable");
|
||||
var TemplatesTable = require("tabs/templates-tab/datatable");
|
||||
var DockerTagsTable = require("./docker-tags");
|
||||
var DataStore = require("opennebula/datastore");
|
||||
var Template = require("opennebula/template");
|
||||
|
||||
/*
|
||||
TEMPLATES
|
||||
@ -59,6 +61,18 @@ define(function(require) {
|
||||
return r;
|
||||
}
|
||||
|
||||
function getTemplates(formPanelId){
|
||||
var r = null;
|
||||
if(formPanelId){
|
||||
r = new TemplatesTable(
|
||||
formPanelId + "templatesTable", {
|
||||
"select": true
|
||||
}
|
||||
);
|
||||
}
|
||||
return r;
|
||||
}
|
||||
|
||||
function _getDockerTagsTable(formPanelId, resourceId){
|
||||
return (formPanelId)
|
||||
? new DockerTagsTable(
|
||||
@ -79,6 +93,7 @@ define(function(require) {
|
||||
};
|
||||
|
||||
this.datastoresTable = getDataStore(FORM_PANEL_ID);
|
||||
this.vCenterTemplatesTable = getTemplates(FORM_PANEL_ID);
|
||||
|
||||
BaseFormPanel.call(this);
|
||||
}
|
||||
@ -102,7 +117,8 @@ define(function(require) {
|
||||
function _htmlWizard() {
|
||||
return TemplateWizardHTML({
|
||||
"formPanelId": this.formPanelId,
|
||||
"datastoresTableHTML": this.datastoresTable.dataTableHTML
|
||||
"datastoresTableHTML": this.datastoresTable.dataTableHTML,
|
||||
"vCenterTemplatesTableHTML": this.vCenterTemplatesTable.dataTableHTML
|
||||
});
|
||||
}
|
||||
|
||||
@ -121,8 +137,10 @@ define(function(require) {
|
||||
}
|
||||
|
||||
this.datastoresTable.resetResourceTableSelect();
|
||||
this.vCenterTemplatesTable.resetResourceTableSelect();
|
||||
}
|
||||
$("#NAME", context).focus();
|
||||
$("#placeDatatablevCenterTemplate", context).hide();
|
||||
return false;
|
||||
}
|
||||
|
||||
@ -131,6 +149,7 @@ define(function(require) {
|
||||
Tips.setup(context);
|
||||
this.datastoresTable.initialize();
|
||||
this.datastoresTable.idInput().attr("required", "");
|
||||
this.vCenterTemplatesTable.initialize();
|
||||
$("input#NAME", context).on("input", function(){
|
||||
var vmname = $("#VMNAME", context).val();
|
||||
if (vmname == "" || vmname == $(this).data("prev")){
|
||||
@ -138,6 +157,23 @@ define(function(require) {
|
||||
}
|
||||
$(this).data("prev", $(this).val());
|
||||
});
|
||||
|
||||
var that = this;
|
||||
var section = $("#" + that.datastoresTable.dataTableId + "Container");
|
||||
$("#" + that.datastoresTable.dataTableId + " tbody", section).delegate("tr", "click", function(e) {
|
||||
var wasChecked = $("td.markrow", this).hasClass("markrow");
|
||||
console.log({"dsTable": that.datastoresTable})
|
||||
var aData = that.datastoresTable.dataTable.fnGetData(this);
|
||||
var check = aData != undefined && !wasChecked;
|
||||
|
||||
if (aData[9] == "vcenter"){
|
||||
$("#placeDatatablevCenterTemplate", context).show();
|
||||
}
|
||||
else{
|
||||
$("#placeDatatablevCenterTemplate", context).hide();
|
||||
}
|
||||
return true;
|
||||
});
|
||||
}
|
||||
|
||||
function _setResourceId(context, appJson, type) {
|
||||
@ -150,7 +186,12 @@ define(function(require) {
|
||||
? ds.TYPE == DataStore.TYPES.FILE_DS
|
||||
: ds.TYPE == DataStore.TYPES.IMAGE_DS;
|
||||
}
|
||||
this.datastoresTable.updateFn()
|
||||
this.datastoresTable.updateFn();
|
||||
|
||||
this.vCenterTemplatesTable.selectOptions.filter_fn = function(template) {
|
||||
return template.TEMPLATE.HYPERVISOR === "vcenter";
|
||||
}
|
||||
this.vCenterTemplatesTable.updateFn()
|
||||
|
||||
$("input#NAME", context).val(appJson.MARKETPLACEAPP.NAME).trigger("input");
|
||||
|
||||
@ -182,7 +223,8 @@ define(function(require) {
|
||||
"name" : $("#NAME", context).val(),
|
||||
"vmtemplate_name" : $("#VMNAME", context).val(),
|
||||
"dsid" : this.datastoresTable.idInput().val(),
|
||||
"notemplate" : $("#NOTEMPLATE", context).is(':checked')
|
||||
"notemplate" : $("#NOTEMPLATE", context).is(':checked'),
|
||||
"vcenter_template" : this.vCenterTemplatesTable.idInput().val()
|
||||
};
|
||||
|
||||
if (this.dockertagsTable) {
|
||||
@ -193,4 +235,3 @@ define(function(require) {
|
||||
return false;
|
||||
}
|
||||
});
|
||||
|
||||
|
@ -48,6 +48,10 @@
|
||||
<legend>{{tr "Select the Datastore to store the resource"}}</legend>
|
||||
{{{ datastoresTableHTML }}}
|
||||
</fieldset>
|
||||
<fieldset id="placeDatatablevCenterTemplate">
|
||||
<legend>{{tr "Select the vCenter Template to use"}}</legend>
|
||||
{{{ vCenterTemplatesTableHTML }}}
|
||||
</fieldset>
|
||||
<fieldset id="placeDatatableDockerTags" style="display: none;">
|
||||
<legend>{{tr "Select the Dockerhub tag"}}</legend>
|
||||
{{{ dockertagsTableHTML }}}
|
||||
|
Loading…
x
Reference in New Issue
Block a user