mirror of
https://github.com/OpenNebula/one.git
synced 2025-03-16 22:50:10 +03:00
Signed-off-by: Frederick Borges <fborges@opennebula.io>
This commit is contained in:
parent
63d600c515
commit
53278e3d67
@ -31,6 +31,8 @@ define(function(require) {
|
||||
var GroupTable = require("tabs/groups-tab/datatable");
|
||||
var OpenNebulaHost = require("opennebula/host");
|
||||
var CoresPerSocket = require("tabs/templates-tab/form-panels/create/wizard-tabs/utils/cores-per-socket");
|
||||
var OpenNebulaMarketplace = require('opennebula/marketplace');
|
||||
var Notifier = require('utils/notifier');
|
||||
|
||||
/*
|
||||
TEMPLATES
|
||||
@ -328,6 +330,34 @@ define(function(require) {
|
||||
}
|
||||
|
||||
fillLXDProfiles(context)
|
||||
|
||||
fillMarketplaces();
|
||||
}
|
||||
|
||||
function fillMarketplaces(){
|
||||
var fillMP = function(_, marketplaces){
|
||||
// EMPTY
|
||||
$('#MARKETPLACE_ID').empty();
|
||||
$('#MARKETPLACE_ID').append('<option value="">-</option>');
|
||||
|
||||
$.each(marketplaces, function(index, marketplace){
|
||||
var id = marketplace.MARKETPLACE.ID;
|
||||
var text = id + ' - ' + marketplace.MARKETPLACE.NAME;
|
||||
var type = marketplace.MARKETPLACE.MARKET_MAD;
|
||||
|
||||
if (type == "http" || type == "s3"){
|
||||
$('#MARKETPLACE_ID').append('<option value="' + id + '">'+ text + "</option>")
|
||||
}
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
OpenNebulaMarketplace.list({
|
||||
success: fillMP,
|
||||
error: Notifier.onError,
|
||||
options: {force: true} // Do not use cache
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
function fillLXDProfiles(context){
|
||||
@ -437,6 +467,13 @@ define(function(require) {
|
||||
delete templateJSON.CPU_HOT_ADD_ENABLED;
|
||||
delete templateJSON.MEMORY_HOT_ADD_ENABLED;
|
||||
|
||||
templateJSON.BACKUP = {
|
||||
'FREQUENCY_SECONDS': templateJSON['FREQUENCY_SECONDS'],
|
||||
'MARKETPLACE_ID': templateJSON['MARKETPLACE_ID'],
|
||||
}
|
||||
delete templateJSON.FREQUENCY_SECONDS;
|
||||
delete templateJSON.MARKETPLACE_ID;
|
||||
|
||||
return templateJSON;
|
||||
}
|
||||
|
||||
@ -563,6 +600,17 @@ define(function(require) {
|
||||
delete templateJSON['HOT_RESIZE'];
|
||||
}
|
||||
|
||||
// Fill backup attributes
|
||||
if (templateJSON['BACKUP']){
|
||||
if (templateJSON.BACKUP['FREQUENCY_SECONDS']){
|
||||
WizardFields.fillInput($('#FREQUENCY_SECONDS',context), templateJSON.BACKUP['FREQUENCY_SECONDS']);
|
||||
}
|
||||
if (templateJSON.BACKUP['MARKETPLACE_ID']){
|
||||
WizardFields.fillInput($('#MARKETPLACE_ID',context), templateJSON.BACKUP['MARKETPLACE_ID']);
|
||||
}
|
||||
delete templateJSON['BACKUP'];
|
||||
}
|
||||
|
||||
WizardFields.fill(context, templateJSON);
|
||||
}
|
||||
|
||||
|
@ -213,6 +213,27 @@
|
||||
</fieldset>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="medium-12 columns">
|
||||
<fieldset>
|
||||
<legend>
|
||||
{{tr "Backups"}}
|
||||
</legend>
|
||||
<div class="medium-6 columns">
|
||||
<label for="FREQUENCY_SECONDS">
|
||||
{{tr "Backup Frequency in Seconds"}}
|
||||
</label>
|
||||
<input type="number" step="any" min="0" wizard_field="FREQUENCY_SECONDS" id="FREQUENCY_SECONDS"/>
|
||||
</div>
|
||||
<div class="medium-6 columns">
|
||||
<label for="MARKETPLACE_ID">
|
||||
{{tr "Marketplace ID"}}
|
||||
</label>
|
||||
<select wizard_field="MARKETPLACE_ID" id="MARKETPLACE_ID"/>
|
||||
</div>
|
||||
</fieldset>
|
||||
</div>
|
||||
</div>
|
||||
{{/isFeatureEnabled}}
|
||||
<div class="row">
|
||||
<div class="large-6 columns">
|
||||
|
@ -96,7 +96,7 @@ define(function(require) {
|
||||
var unshownValues = {};
|
||||
|
||||
$.each(that.element.USER_TEMPLATE, function(key, value) {
|
||||
if (key.match(/^SCHED_*/) || key.match(/^ERROR/) || key == "USER_INPUTS") {
|
||||
if (key.match(/^SCHED_*/) || key.match(/^ERROR/) || key == "USER_INPUTS" || key == "BACKUP") {
|
||||
unshownValues[key] = value;
|
||||
}
|
||||
else if (key.match(/^VCENTER_*/)){
|
||||
|
@ -24,7 +24,9 @@ define(function(require) {
|
||||
var TemplatePermissions = require('hbs!./permissions-table/permissions');
|
||||
var TemplateOwner = require('hbs!./permissions-table/owner');
|
||||
var TemplateGroup = require('hbs!./permissions-table/group');
|
||||
var TemplateBackup = require('hbs!./permissions-table/backup');
|
||||
var ResourceSelect = require('utils/resource-select');
|
||||
var Humanize = require("utils/humanize");
|
||||
var Sunstone = require('sunstone');
|
||||
var Config = require('sunstone-config');
|
||||
|
||||
@ -53,11 +55,28 @@ define(function(require) {
|
||||
'element': element
|
||||
})
|
||||
|
||||
var backupHTML = '';
|
||||
// The backup information is only available for VMs
|
||||
// but it could be extended to another resources
|
||||
if (resourceType == "VM") {
|
||||
var last_backup;
|
||||
if (element.USER_TEMPLATE &&
|
||||
element.USER_TEMPLATE.BACKUP &&
|
||||
element.USER_TEMPLATE.BACKUP.LAST_BACKUP_TIME){
|
||||
last_backup = Humanize.prettyTime(element.USER_TEMPLATE.BACKUP.LAST_BACKUP_TIME);
|
||||
}
|
||||
backupHTML = TemplateBackup({
|
||||
'element': element,
|
||||
'last_backup': last_backup
|
||||
})
|
||||
}
|
||||
|
||||
var permissionsTableHTML = TemplatePermissionsTable({
|
||||
'resourceType': resourceType.toLowerCase(),
|
||||
'permissionsHTML': permissionsHTML,
|
||||
'ownerHTML': ownerHTML,
|
||||
'groupHTML': groupHTML
|
||||
'groupHTML': groupHTML,
|
||||
'backupHTML': backupHTML
|
||||
})
|
||||
|
||||
return permissionsTableHTML;
|
||||
|
@ -0,0 +1,43 @@
|
||||
{{! -------------------------------------------------------------------------- }}
|
||||
{{! Copyright 2002-2021, OpenNebula Project, OpenNebula Systems }}
|
||||
{{! }}
|
||||
{{! Licensed under the Apache License, Version 2.0 (the "License"); you may }}
|
||||
{{! not use this file except in compliance with the License. You may obtain }}
|
||||
{{! a copy of the License at }}
|
||||
{{! }}
|
||||
{{! http://www.apache.org/licenses/LICENSE-2.0 }}
|
||||
{{! }}
|
||||
{{! Unless required by applicable law or agreed to in writing, software }}
|
||||
{{! distributed under the License is distributed on an "AS IS" BASIS, }}
|
||||
{{! WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. }}
|
||||
{{! See the License for the specific language governing permissions and }}
|
||||
{{! limitations under the License. }}
|
||||
{{! -------------------------------------------------------------------------- }}
|
||||
|
||||
<thead>
|
||||
<tr>
|
||||
<th colspan="4" style="width:130px">{{tr "Backups"}}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tr>
|
||||
<td class="key_td">{{tr "Frequency"}}</td>
|
||||
<td colspan="3" id="value_td_backup_frequency">{{valOrDefault element.USER_TEMPLATE.BACKUP.FREQUENCY_SECONDS "-"}}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="key_td">{{tr "Marketplace ID"}}</td>
|
||||
<td colspan="3" id="value_td_backup_frequency">
|
||||
{{#if element.USER_TEMPLATE.BACKUP.MARKETPLACE_ID}}
|
||||
{{navigate element.USER_TEMPLATE.BACKUP.MARKETPLACE_ID 'marketplaces-tab' element.USER_TEMPLATE.BACKUP.MARKETPLACE_ID}}
|
||||
{{else}}
|
||||
-
|
||||
{{/if}}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="key_td">{{tr "Backup last copy time"}}</td>
|
||||
<td colspan="3" id="value_td_backup_last">{{valOrDefault last_backup "-"}}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="key_td">{{tr "Backup marketplace app IDs"}}</td>
|
||||
<td colspan="3" id="value_td_backup_mpapp">{{valOrDefault element.USER_TEMPLATE.BACKUP.MARKETPLACE_APP_IDS "-"}}</td>
|
||||
</tr>
|
@ -14,7 +14,7 @@
|
||||
{{! limitations under the License. }}
|
||||
{{! -------------------------------------------------------------------------- }}
|
||||
|
||||
<table class="{{resourceType}}_permissions_table dataTable">
|
||||
<table class="{{resourceType}}_permissions_table dataTable test">
|
||||
{{{permissionsHTML}}}
|
||||
<thead>
|
||||
<tr>
|
||||
@ -23,4 +23,5 @@
|
||||
</thead>
|
||||
{{{ownerHTML}}}
|
||||
{{{groupHTML}}}
|
||||
{{{backupHTML}}}
|
||||
</table>
|
||||
|
Loading…
x
Reference in New Issue
Block a user