From: samhenri <samuel.guimaraes(a)eldorado.org.br>
Signed-off-by: samhenri <samuel.guimaraes(a)eldorado.org.br>
---
po/pt_BR.po | 31 ++--
ui/js/src/kimchi.template_add_main.js | 261 +++++++++++++++++----------------
ui/js/src/kimchi.template_edit_main.js | 17 ++-
ui/pages/i18n.json.tmpl | 6 +
ui/pages/template-add.html.tmpl | 64 +++-----
5 files changed, 196 insertions(+), 183 deletions(-)
diff --git a/po/pt_BR.po b/po/pt_BR.po
index 193792b..89447e0 100644
--- a/po/pt_BR.po
+++ b/po/pt_BR.po
@@ -1558,7 +1558,7 @@ msgstr ""
"O tipo de dispositivo. Atualmente, \"cdrom\" e \"disk\" são
suportados."
msgid "Storage Pool"
-msgstr "storage pool"
+msgstr "Storage Pool"
msgid "Storage pool which volume located in"
msgstr "Conjunto de armazenamentos no qual o volume está localizado"
@@ -1632,6 +1632,9 @@ msgstr "Máquinas Guests"
msgid "Templates"
msgstr "Modelos"
+msgid "Template Name (ID)"
+msgstr "Nome do Modelo (ID)"
+
msgid "Failed to get application configuration"
msgstr "Falha ao obter a configuração do aplicativo"
@@ -1764,6 +1767,12 @@ msgstr "Chave de GPG"
msgid "Add"
msgstr "Incluir"
+msgid "Add Storage"
+msgstr "Incluir Storage"
+
+msgid "Add Interface"
+msgstr "Incluir Interface"
+
msgid "Remove"
msgstr "Remover"
@@ -2275,14 +2284,8 @@ msgstr "Procurar ISOs"
msgid "The following ISOs are available:"
msgstr "Os ISOs a seguir estão disponíveis:"
-msgid "OS: "
-msgstr "S.O.: "
-
-msgid "Version: "
-msgstr "Versão: "
-
-msgid "Size: "
-msgstr "Tamanho: "
+msgid "Size"
+msgstr "Tamanho"
msgid "Search more ISOs"
msgstr "Procurar mais ISOs"
@@ -2299,8 +2302,14 @@ msgstr "Caminho do arquivo: "
msgid "Loading default remote ISOs ..."
msgstr "Carregando ISOs remotos padrão..."
-msgid "Arch: "
-msgstr "Arq.: "
+msgid "Provide a URL for a specific ISO image:"
+msgstr "Forneça uma URL para uma imagem ISO específica:"
+
+msgid "Provide a File Path for a specific ISO image:"
+msgstr "Forneça o caminho do arquivo para uma imagem ISO específica:"
+
+msgid "Arch"
+msgstr "Arq. "
msgid "I want to use a custom URL"
msgstr "Eu desejo usar uma URL customizada"
diff --git a/ui/js/src/kimchi.template_add_main.js
b/ui/js/src/kimchi.template_add_main.js
index 0b36479..2478eec 100644
--- a/ui/js/src/kimchi.template_add_main.js
+++ b/ui/js/src/kimchi.template_add_main.js
@@ -16,29 +16,34 @@
* limitations under the License.
*/
kimchi.switchPage = function(fromPageId, toPageId, direction) {
+ $('.tab-content').css('overflow', 'hidden');
direction = direction || 'left';
var toLeftBegin;
var fromLeftEnd;
- if('left' === direction) {
+ if ('left' === direction) {
toLeftBegin = '100%';
fromLeftEnd = '-100%';
- } else if('right' === direction) {
+ } else if ('right' === direction) {
toLeftBegin = '-100%';
fromLeftEnd = '100%';
}
- var formPage = $('#'+fromPageId);
- var toPage = $('#'+toPageId);
+ var formPage = $('#' + fromPageId);
+ var toPage = $('#' + toPageId);
toPage.css({
left: toLeftBegin
});
formPage.animate({
left: fromLeftEnd,
opacity: 0.1
- }, 400);
+ }, 400, function() {
+ $('.tab-content').css('overflow', 'visible');
+ });
toPage.animate({
left: '0',
opacity: 1
- }, 400);
+ }, 400, function() {
+ $('.tab-content').css('overflow', 'visible');
+ });
};
kimchi.template_add_main = function() {
@@ -49,7 +54,7 @@ kimchi.template_add_main = function() {
var deepScan = function(button) {
kimchi.deepScanHandler = kimchi.stepListDeepScanIsos(function(isos, isFinished)
{
if (isos && isos.length) {
- if(button === '#iso-search') {
+ if (button === '#iso-search') {
$(button + '-loading').hide();
button = '#iso-more';
$(button + '-loading').show();
@@ -65,7 +70,7 @@ kimchi.template_add_main = function() {
$(button).show();
}
}, function(err) {
- wok.message.error(err.responseJSON.reason,'#alert-modal-container');
+ wok.message.error(err.responseJSON.reason,
'.alert-modal-container');
$(button + '-loading').hide();
$(button).show();
});
@@ -87,11 +92,11 @@ kimchi.template_add_main = function() {
$('#iso-file').val(''); // 1 - Folder path text
$('vm-image-local-text').val(''); // 3 - File path text
$('#iso-url').val(''); // 4 - Remote folder path text
- $('#btn-template-file-create').attr('disabled',
'disabled').css('display','inline-block'); // 1 - Folder path
- $('#btn-template-local-iso-create').attr('disabled',
'disabled').css('display','none'); // 2 - Selected ISOs
- $('#vm-image-local-box-button').attr('disabled',
'disabled').css('display','none'); // 3 - File path
- $('#btn-template-url-create').attr('disabled',
'disabled').css('display','none'); // 4 - Remote folder path
- $('#btn-template-remote-iso-create').attr('disabled',
'disabled').css('display','none'); // 5 - Remote selected isos
+ $('#btn-template-file-create').attr('disabled',
'disabled').css('display', 'inline-block'); // 1 - Folder path
+ $('#btn-template-local-iso-create').attr('disabled',
'disabled').css('display', 'none'); // 2 - Selected ISOs
+ $('#vm-image-local-box-button').attr('disabled',
'disabled').css('display', 'none'); // 3 - File path
+ $('#btn-template-url-create').attr('disabled',
'disabled').css('display', 'none'); // 4 - Remote folder path
+ $('#btn-template-remote-iso-create').attr('disabled',
'disabled').css('display', 'none'); // 5 - Remote selected isos
$('#select-all-local-iso,
#select-all-remote-iso').prop('checked', false); // False to all select-all
checkboxes
$('#list-local-iso [type="checkbox"], #list-remote-iso
[type="checkbox"]').prop('checked', false); // False to all list
checkboxes
@@ -119,16 +124,16 @@ kimchi.template_add_main = function() {
//$('#iso-file-check').prop('checked', false);
$('#iso-file').val('');
$('vm-image-local-text').val('');
- $('#iso-url').val('');
- $('#btn-template-file-create').attr('disabled',
'disabled').css('display','inline-block');
+ $('#iso-url').val('');
+ $('#btn-template-file-create').attr('disabled',
'disabled').css('display', 'inline-block');
- $('#btn-template-local-iso-create').attr('disabled',
'disabled').css('display','none'); // 2 - Selected ISOs
+ $('#btn-template-local-iso-create').attr('disabled',
'disabled').css('display', 'none'); // 2 - Selected ISOs
- $('#vm-image-local-box-button').attr('disabled',
'disabled').css('display','none'); // 3 - File path
+ $('#vm-image-local-box-button').attr('disabled',
'disabled').css('display', 'none'); // 3 - File path
- $('#btn-template-url-create').attr('disabled',
'disabled').css('display','none'); // 4 - Remote folder path
+ $('#btn-template-url-create').attr('disabled',
'disabled').css('display', 'none'); // 4 - Remote folder path
- $('#btn-template-remote-iso-create').attr('disabled',
'disabled').css('display','none'); // 5 - Remote selected isos
+ $('#btn-template-remote-iso-create').attr('disabled',
'disabled').css('display', 'none'); // 5 - Remote selected isos
$('#select-all-local-iso,
#select-all-remote-iso').prop('checked', false); // False to all select-all
checkboxes
@@ -136,23 +141,20 @@ kimchi.template_add_main = function() {
};
- $('#iso-file').on('input propertychange', function() {
+ $('#iso-file').on('input propertychange keyup focus cut paste click',
function() {
+ $('#btn-template-file-create').css('display',
'inline-block'); // 1 - Folder path
+ $('#select-all-local-iso,
#select-all-remote-iso').prop('checked', false);
+ $('#list-local-iso [type="checkbox"], #list-remote-iso
[type="checkbox"]').prop('checked', false);
+ setTimeout(function() {
+ var isValid = kimchi.template_check_path($('input#iso-file').val());
+ $('input#iso-file').parent().toggleClass('has-error',
!isValid);
+ $('#btn-template-file-create').attr('disabled', (isValid ?
false : true));
+ }, 0);
if ($('#iso-file').val()) {
-
-
$('#btn-template-file-create').removeAttr('disabled').css('display','inline-block');
// 1 - Folder path
-
- $('#btn-template-local-iso-create').attr('disabled',
'disabled').css('display','none'); // 2 - Selected ISOs
-
- $('#vm-image-local-box-button').attr('disabled',
'disabled').css('display','none'); // 3 - File path
-
- $('#btn-template-url-create').attr('disabled',
'disabled').css('display','none'); // 4 - Remote folder path
-
- $('#btn-template-remote-iso-create').attr('disabled',
'disabled').css('display','none'); // 5 - Remote selected isos
-
- $('#select-all-local-iso,
#select-all-remote-iso').prop('checked', false); // False to all select-all
checkboxes
-
- $('#list-local-iso [type="checkbox"], #list-remote-iso
[type="checkbox"]').prop('checked', false); // False to all list
checkboxes
-
+ $('#btn-template-local-iso-create').attr('disabled',
'disabled').css('display', 'none'); // 2 - Selected ISOs
+ $('#vm-image-local-box-button').attr('disabled',
'disabled').css('display', 'none'); // 3 - File path
+ $('#btn-template-url-create').attr('disabled',
'disabled').css('display', 'none'); // 4 - Remote folder path
+ $('#btn-template-remote-iso-create').attr('disabled',
'disabled').css('display', 'none'); // 5 - Remote selected isos
} else {
$('#btn-template-file-create').attr('disabled',
'disabled');
}
@@ -168,37 +170,36 @@ kimchi.template_add_main = function() {
$('#iso-search').show();
}
}, function(err) {
- wok.message.error(err.responseJSON.reason,'#alert-modal-container');
+ wok.message.error(err.responseJSON.reason, '.alert-modal-container');
});
$('#template-add-window .modal-body .template-pager').animate({
- height: "689px"
- },400);
+ height: "689px"
+ }, 400);
// 1-1 local iso
$('#iso-local').change(function() {
- if(this.checked){
- if(currentPage === 'vm-image-local-box') {
- kimchi.switchPage(currentPage, 'iso-local-box','right');
- } else if(currentPage === 'iso-remote-box') {
- kimchi.switchPage(currentPage, 'iso-local-box','right');
+ if (this.checked) {
+ if (currentPage === 'vm-image-local-box') {
+ kimchi.switchPage(currentPage, 'iso-local-box',
'right');
+ } else if (currentPage === 'iso-remote-box') {
+ kimchi.switchPage(currentPage, 'iso-local-box',
'right');
}
currentPage = 'iso-local-box';
- $('#template-add-window .modal-body .template-pager').animate({
+ $('#template-add-window .modal-body .template-pager').animate({
height: "689px"
- },400);
+ }, 400);
initLocalIsoField();
initIsoFileField();
- $('#btn-template-file-create').attr('disabled',
'disabled').css('display','inline-block'); // 1 - Folder path
+ $('#btn-template-file-create').attr('disabled',
'disabled').css('display', 'inline-block'); // 1 - Folder path
- $('#btn-template-local-iso-create').attr('disabled',
'disabled').css('display','none'); // 2 - Selected ISOs
+ $('#btn-template-local-iso-create').attr('disabled',
'disabled').css('display', 'none'); // 2 - Selected ISOs
- $('#vm-image-local-box-button').attr('disabled',
'disabled').css('display','none'); // 3 - File path
+ $('#vm-image-local-box-button').attr('disabled',
'disabled').css('display', 'none'); // 3 - File path
- $('#btn-template-url-create').attr('disabled',
'disabled').css('display','none'); // 4 - Remote folder path
+ $('#btn-template-url-create').attr('disabled',
'disabled').css('display', 'none'); // 4 - Remote folder path
- $('#btn-template-remote-iso-create').attr('disabled',
'disabled').css('display','none'); // 5 - Remote selected isos
-
+ $('#btn-template-remote-iso-create').attr('disabled',
'disabled').css('display', 'none'); // 5 - Remote selected isos
kimchi.listIsos(function(isos) {
if (isos && isos.length) {
@@ -208,14 +209,14 @@ kimchi.template_add_main = function() {
$('#iso-search').show();
}
}, function(err) {
-
wok.message.error(err.responseJSON.reason,'#alert-modal-container');
+ wok.message.error(err.responseJSON.reason,
'.alert-modal-container');
});
}
});
$('#iso-search').click(function() {
var settings = {
- content : i18n['KCHTMPL6002M']
+ content: i18n['KCHTMPL6002M']
};
wok.confirm(settings, function() {
$('#iso-search').hide();
@@ -226,7 +227,7 @@ kimchi.template_add_main = function() {
$('#iso-more').click(function() {
var settings = {
- content : i18n['KCHTMPL6002M']
+ content: i18n['KCHTMPL6002M']
};
wok.confirm(settings, function() {
$('#iso-more').hide();
@@ -255,17 +256,18 @@ kimchi.template_add_main = function() {
$('#list-local-iso [type="checkbox"]').prop('checked',
$(this).prop('checked'));
if ($(this).prop('checked')) {
$('#iso-file').val('');
+ $('#iso-file').parent().removeClass('has-error');
$('vm-image-local-text').val('');
- $('#btn-template-file-create').attr('disabled',
'disabled').css('display','none'); // 1 - Folder path
+ $('#btn-template-file-create').attr('disabled',
'disabled').css('display', 'none'); // 1 - Folder path
-
$('#btn-template-local-iso-create').removeAttr('disabled').css('display','inline-block');
// 2 - Selected ISOs
+
$('#btn-template-local-iso-create').removeAttr('disabled').css('display',
'inline-block'); // 2 - Selected ISOs
- $('#vm-image-local-box-button').attr('disabled',
'disabled').css('display','none'); // 3 - File path
+ $('#vm-image-local-box-button').attr('disabled',
'disabled').css('display', 'none'); // 3 - File path
- $('#btn-template-url-create').attr('disabled',
'disabled').css('display','none'); // 4 - Remote folder path
+ $('#btn-template-url-create').attr('disabled',
'disabled').css('display', 'none'); // 4 - Remote folder path
- $('#btn-template-remote-iso-create').attr('disabled',
'disabled').css('display','none'); // 5 - Remote selected isos
+ $('#btn-template-remote-iso-create').attr('disabled',
'disabled').css('display', 'none'); // 5 - Remote selected isos
} else {
$('#btn-template-local-iso-create').attr('disabled',
'disabled');
@@ -273,20 +275,21 @@ kimchi.template_add_main = function() {
});
$('#list-local-iso').on('click',
'[type="checkbox"]', function() {
+ $('#iso-file').parent().removeClass('has-error');
var checkedLength = $('#list-local-iso
[type="checkbox"]:checked').length;
$('#iso-file').val('');
$('vm-image-local-text').val('');
$('#iso-url').val('');
- $('#btn-template-file-create').attr('disabled',
'disabled').css('display','none'); // 1 - Folder path
+ $('#btn-template-file-create').attr('disabled',
'disabled').css('display', 'none'); // 1 - Folder path
- $('#btn-template-local-iso-create').attr('disabled',
'disabled').css('display','inline-block'); // 2 - Selected ISOs
+ $('#btn-template-local-iso-create').attr('disabled',
'disabled').css('display', 'inline-block'); // 2 - Selected ISOs
- $('#vm-image-local-box-button').attr('disabled',
'disabled').css('display','none'); // 3 - File path
+ $('#vm-image-local-box-button').attr('disabled',
'disabled').css('display', 'none'); // 3 - File path
- $('#btn-template-url-create').attr('disabled',
'disabled').css('display','none'); // 4 - Remote folder path
+ $('#btn-template-url-create').attr('disabled',
'disabled').css('display', 'none'); // 4 - Remote folder path
- $('#btn-template-remote-iso-create').attr('disabled',
'disabled').css('display','none'); // 5 - Remote selected isos
+ $('#btn-template-remote-iso-create').attr('disabled',
'disabled').css('display', 'none'); // 5 - Remote selected isos
if (checkedLength) {
$('#btn-template-local-iso-create').removeAttr('disabled');
var length = $('#list-local-iso
[type="checkbox"]').length;
@@ -306,11 +309,12 @@ kimchi.template_add_main = function() {
var isoFile = $('#iso-file').val();
$('vm-image-local-text').val('');
if (!kimchi.template_check_path(isoFile)) {
+ wok.message.error(err.responseJSON.reason,
'.alert-modal-container');
wok.message.error.code('KCHAPI6003E');
return;
}
var data = {
- "cdrom" : isoFile
+ "cdrom": isoFile
};
addTemplate(data);
});
@@ -331,21 +335,20 @@ kimchi.template_add_main = function() {
$('#iso-remote').attr("disabled", false).css('cursor',
'pointer');
$('#iso-remote').change(function() {
if (this.checked) {
- if(currentPage === 'iso-local-box') { // slide twice
- kimchi.switchPage(currentPage,
'iso-remote-box','left');
- } else if(currentPage === 'vm-image-local-box') { // slide once
- kimchi.switchPage(currentPage,
'iso-remote-box','left');
+ if (currentPage === 'iso-local-box') { // slide twice
+ kimchi.switchPage(currentPage, 'iso-remote-box',
'left');
+ } else if (currentPage === 'vm-image-local-box') { // slide once
+ kimchi.switchPage(currentPage, 'iso-remote-box',
'left');
}
currentPage = 'iso-remote-box';
$('#template-add-window .modal-body .template-pager').animate({
height: "635px"
- },400);
+ }, 400);
initRemoteIsoField();
initIsoUrlField();
kimchi.listDistros(function(isos) {
showRemoteIsoField(isos);
- }, function() {
- });
+ }, function() {});
}
});
};
@@ -363,15 +366,15 @@ kimchi.template_add_main = function() {
$('vm-image-local-text').val('');
$('#iso-url').val('');
- $('#btn-template-file-create').attr('disabled',
'disabled').css('display','none'); // 1 - Folder path
+ $('#btn-template-file-create').attr('disabled',
'disabled').css('display', 'none'); // 1 - Folder path
- $('#btn-template-local-iso-create').attr('disabled',
'disabled').css('display','none'); // 2 - Selected ISOs
+ $('#btn-template-local-iso-create').attr('disabled',
'disabled').css('display', 'none'); // 2 - Selected ISOs
- $('#vm-image-local-box-button').attr('disabled',
'disabled').css('display','none'); // 3 - File path
+ $('#vm-image-local-box-button').attr('disabled',
'disabled').css('display', 'none'); // 3 - File path
- $('#btn-template-url-create').attr('disabled',
'disabled').css('display','inline-block'); // 4 - Remote folder
path
+ $('#btn-template-url-create').attr('disabled',
'disabled').css('display', 'inline-block'); // 4 - Remote folder
path
- $('#btn-template-remote-iso-create').attr('disabled',
'disabled').css('display','none'); // 5 - Remote selected isos
+ $('#btn-template-remote-iso-create').attr('disabled',
'disabled').css('display', 'none'); // 5 - Remote selected isos
$('#select-all-local-iso,
#select-all-remote-iso').prop('checked', false); // False to all select-all
checkboxes
@@ -409,17 +412,18 @@ kimchi.template_add_main = function() {
$('#iso-file').val('');
$('vm-image-local-text').val('');
- $('#iso-url').val('');
+ $('#iso-url').val('');
+ $('#iso-url').parent().removeClass('has-error');
- $('#btn-template-file-create').attr('disabled',
'disabled').css('display','none'); // 1 - Folder path
+ $('#btn-template-file-create').attr('disabled',
'disabled').css('display', 'none'); // 1 - Folder path
- $('#btn-template-local-iso-create').attr('disabled',
'disabled').css('display','none'); // 2 - Selected ISOs
+ $('#btn-template-local-iso-create').attr('disabled',
'disabled').css('display', 'none'); // 2 - Selected ISOs
- $('#vm-image-local-box-button').attr('disabled',
'disabled').css('display','none'); // 3 - File path
+ $('#vm-image-local-box-button').attr('disabled',
'disabled').css('display', 'none'); // 3 - File path
- $('#btn-template-url-create').attr('disabled',
'disabled').css('display','none'); // 4 - Remote folder path
+ $('#btn-template-url-create').attr('disabled',
'disabled').css('display', 'none'); // 4 - Remote folder path
-
$('#btn-template-remote-iso-create').removeAttr('disabled').css('display','inline-block');
// 5 - Remote selected isos
+
$('#btn-template-remote-iso-create').removeAttr('disabled').css('display',
'inline-block'); // 5 - Remote selected isos
} else {
$('#btn-template-remote-iso-create').attr('disabled',
'disabled');
@@ -427,6 +431,7 @@ kimchi.template_add_main = function() {
});
$('#list-remote-iso').on('click',
'[type="checkbox"]', function() {
+ $('#iso-url').parent().removeClass('has-error');
var checkedLength = $('#list-remote-iso
[type="checkbox"]:checked').length;
if (checkedLength) {
$('#btn-template-remote-iso-create').removeAttr('disabled');
@@ -437,15 +442,15 @@ kimchi.template_add_main = function() {
$('vm-image-local-text').val('');
$('#iso-url').val('');
- $('#btn-template-file-create').attr('disabled',
'disabled').css('display','none'); // 1 - Folder path
+ $('#btn-template-file-create').attr('disabled',
'disabled').css('display', 'none'); // 1 - Folder path
- $('#btn-template-local-iso-create').attr('disabled',
'disabled').css('display','none'); // 2 - Selected ISOs
+ $('#btn-template-local-iso-create').attr('disabled',
'disabled').css('display', 'none'); // 2 - Selected ISOs
- $('#vm-image-local-box-button').attr('disabled',
'disabled').css('display','none'); // 3 - File path
+ $('#vm-image-local-box-button').attr('disabled',
'disabled').css('display', 'none'); // 3 - File path
- $('#btn-template-url-create').attr('disabled',
'disabled').css('display','none'); // 4 - Remote folder path
+ $('#btn-template-url-create').attr('disabled',
'disabled').css('display', 'none'); // 4 - Remote folder path
-
$('#btn-template-remote-iso-create').removeAttr('disabled').css('display','inline-block');
// 5 - Remote selected isos
+
$('#btn-template-remote-iso-create').removeAttr('disabled').css('display',
'inline-block'); // 5 - Remote selected isos
} else {
$('#select-all-remote-iso').prop('checked', false);
@@ -464,62 +469,70 @@ kimchi.template_add_main = function() {
$('vm-image-local-text').val('');
$('#iso-url').val('');
- $('#btn-template-file-create').attr('disabled',
'disabled').css('display','none'); // 1 - Folder path
+ $('#btn-template-file-create').attr('disabled',
'disabled').css('display', 'none'); // 1 - Folder path
- $('#btn-template-local-iso-create').attr('disabled',
'disabled').css('display','none'); // 2 - Selected ISOs
+ $('#btn-template-local-iso-create').attr('disabled',
'disabled').css('display', 'none'); // 2 - Selected ISOs
- $('#vm-image-local-box-button').attr('disabled',
'disabled').css('display','none'); // 3 - File path
+ $('#vm-image-local-box-button').attr('disabled',
'disabled').css('display', 'none'); // 3 - File path
-
$('#btn-template-url-create').attr('disabled','disabled').css('display','inline-block');
// 4 - Remote folder path
+ $('#btn-template-url-create').attr('disabled',
'disabled').css('display', 'inline-block'); // 4 - Remote folder
path
- $('#btn-template-remote-iso-create').attr('disabled',
'disabled').css('display','none'); // 5 - Remote selected isos
+ $('#btn-template-remote-iso-create').attr('disabled',
'disabled').css('display', 'none'); // 5 - Remote selected isos
}
- $('#iso-url').on('input propertychange', function() {
- if ($('#iso-url').val()) {
- $('#btn-template-url-create').removeAttr('disabled');
- } else {
- $('#btn-template-url-create').attr('disabled',
'disabled');
- }
+ $('#iso-url').on('input propertychange keyup focus cut paste click',
function() {
+ $('#select-all-local-iso,
#select-all-remote-iso').prop('checked', false);
+ $('#list-local-iso [type="checkbox"], #list-remote-iso
[type="checkbox"]').prop('checked', false);
+ $('#btn-template-url-create').attr('disabled',
'disabled').css('display', 'inline-block');
+ $('#btn-template-remote-iso-create').attr('disabled',
'disabled').css('display', 'none');
+ setTimeout(function() {
+ var isValid = kimchi.template_check_url($('input#iso-url').val());
+ $('input#iso-url').parent().toggleClass('has-error',
!isValid);
+ $('#btn-template-url-create').attr('disabled', (isValid ?
false : true));
+ }, 0);
});
- $('#vm-image-local').change(function(){
- if(this.checked) {
- if(currentPage === 'iso-local-box') {
- kimchi.switchPage(currentPage,
'vm-image-local-box','left');
- } else if(currentPage === 'iso-remote-box') {
- kimchi.switchPage(currentPage,
'vm-image-local-box','right');
+ $('#vm-image-local').change(function() {
+ if (this.checked) {
+ if (currentPage === 'iso-local-box') {
+ kimchi.switchPage(currentPage, 'vm-image-local-box',
'left');
+ } else if (currentPage === 'iso-remote-box') {
+ kimchi.switchPage(currentPage, 'vm-image-local-box',
'right');
}
currentPage = 'vm-image-local-box';
$('#template-add-window .modal-body .template-pager').animate({
height: "100px"
- },400);
+ }, 400);
- $('#btn-template-file-create').attr('disabled',
'disabled').css('display','none'); // 1 - Folder path
- $('#btn-template-local-iso-create').attr('disabled',
'disabled').css('display','none'); // 2 - Selected ISOs
- $('#vm-image-local-box-button').attr('disabled',
'disabled').css('display','inline-block'); // 3 - File path
- $('#btn-template-url-create').attr('disabled',
'disabled').css('display','none'); // 4 - Remote folder path
- $('#btn-template-remote-iso-create').attr('disabled',
'disabled').css('display','none'); // 5 - Remote selected isos
+ $('#btn-template-file-create').attr('disabled',
'disabled').css('display', 'none'); // 1 - Folder path
+ $('#btn-template-local-iso-create').attr('disabled',
'disabled').css('display', 'none'); // 2 - Selected ISOs
+ $('#vm-image-local-box-button').attr('disabled',
'disabled').css('display', 'inline-block'); // 3 - File path
+ $('#btn-template-url-create').attr('disabled',
'disabled').css('display', 'none'); // 4 - Remote folder path
+ $('#btn-template-remote-iso-create').attr('disabled',
'disabled').css('display', 'none'); // 5 - Remote selected isos
}
});
- $('input', '#vm-image-local-box').on('keyup cut paste',
function(){
- setTimeout(function(){
+ $('input', '#vm-image-local-box').on('input propertychange keyup
focus cut paste click', function() {
+ setTimeout(function() {
var isValid = kimchi.template_check_path($('input',
'#vm-image-local-box').val());
- $('input',
'#vm-image-local-box').toggleClass('invalid-field', !isValid);
+ $('input',
'#vm-image-local-box').parent().toggleClass('has-error', !isValid);
$('#vm-image-local-box-button').attr('disabled', (isValid ?
false : true));
}, 0);
});
$('button', $('#vm-image-local-box')).button({
disabled: true
- }).click(function(){
+ }).click(function() {
$('input', '#vm-image-local-box').prop('disabled',
true);
$(this).button('option', {
label: i18n['KCHAPI6008M'],
disabled: true
});
- addTemplate({disks:[{base:$('input',
'#vm-image-local-box').val()}]}, function(){
+ addTemplate({
+ disks: [{
+ base: $('input', '#vm-image-local-box').val()
+ }]
+ }, function() {
$('input', '#vm-image-local-box').prop('disabled',
false);
$('button', $('.body',
'#vm-image-local-box')).button('option', {
label: i18n['KCHAPI6005M'],
@@ -535,7 +548,7 @@ kimchi.template_add_main = function() {
return;
}
var data = {
- "cdrom" : isoUrl
+ "cdrom": isoUrl
};
addTemplate(data);
});
@@ -543,13 +556,13 @@ kimchi.template_add_main = function() {
//do create
var addTemplate = function(data, callback) {
kimchi.createTemplate(data, function() {
- if(callback) callback();
+ if (callback) callback();
kimchi.doListTemplates();
wok.window.close();
wok.topic('templateCreated').publish();
}, function(err) {
- if(callback) callback();
- wok.message.error(err.responseJSON.reason,'#alert-modal-container');
+ if (callback) callback();
+ wok.message.error(err.responseJSON.reason,
'.alert-modal-container');
});
};
@@ -560,9 +573,9 @@ kimchi.template_add_main = function() {
var successNum = 0;
var addTemplate = function(isoInfo) {
var data = {
- "os_distro" : isoInfo.os_distro,
- "os_version" : isoInfo.os_version,
- "cdrom" : isoInfo.path
+ "os_distro": isoInfo.os_distro,
+ "os_version": isoInfo.os_version,
+ "cdrom": isoInfo.path
};
kimchi.createTemplate(data, function() {
successNum++;
@@ -574,7 +587,7 @@ kimchi.template_add_main = function() {
wok.window.close();
}
}, function(err) {
-
wok.message.error(err.responseJSON.reason,'#alert-modal-container');
+ wok.message.error(err.responseJSON.reason,
'.alert-modal-container');
});
};
if (formData.iso instanceof Array) {
diff --git a/ui/js/src/kimchi.template_edit_main.js
b/ui/js/src/kimchi.template_edit_main.js
index 5791ea0..ce60af6 100644
--- a/ui/js/src/kimchi.template_edit_main.js
+++ b/ui/js/src/kimchi.template_edit_main.js
@@ -21,12 +21,18 @@ kimchi.template_edit_main = function() {
var origNetworks;
var templateDiskSize;
$('#template-name', templateEditMain).val(kimchi.selectedTemplate);
- $('#edit-template-tabs
a[data-toggle="tab"]').on('shown.bs.tab', function (e) {
+ $('#edit-template-tabs
a[data-toggle="tab"]').on('shown.bs.tab', function (e) {
+ $('.tab-content').css('overflow','hidden');
var target = $(this).attr('href');
-
- $(target).css('left','-'+$(window).width()+'px');
+ $(target).css('left','-'+$(window).width()+'px');
var left = $(target).offset().left;
- $(target).css({left:left}).animate({"left":"0px"},
"10");
+ $(target).css({
+ left: left
+ }).animate({
+ "left": "0px"
+ },400, function() {
+ $('.tab-content').css('overflow','visible');
+ });
});
var initTemplate = function(template) {
@@ -65,6 +71,7 @@ kimchi.template_edit_main = function() {
return false;
}
enableSpice();
+ $('#template-edit-graphics').selectpicker();
var initStorage = function(result) {
// Gather storagepools data
@@ -187,7 +194,7 @@ kimchi.template_edit_main = function() {
storageDiskFormat : 'qcow2',
storageIndex : storageID
}
- addStorageItem(storageNodeData);
+ addStorageItem(storageNodeData);
});
};
diff --git a/ui/pages/i18n.json.tmpl b/ui/pages/i18n.json.tmpl
index d356437..eead402 100644
--- a/ui/pages/i18n.json.tmpl
+++ b/ui/pages/i18n.json.tmpl
@@ -49,6 +49,12 @@
"KCHTMPL6002M": "$_("This may take a long time. Do you want to
continue?")",
"KCHTMPL6003M": "$_("This will permanently delete the template.
Would you like to continue?")",
+ "KCHTMPL6004M": "$_("Template Name (ID)")",
+ "KCHTMPL6005M": "$_("OS")",
+ "KCHTMPL6006M": "$_("Version")",
+ "KCHTMPL6007M": "$_("CPUs")",
+ "KCHTMPL6008M": "$_("Memory")",
+ "KCHTMPL6009M": "$_("Actions")",
"KCHVM6001M": "$_("This will delete the virtual machine and its
virtual disks. This operation cannot be undone. Would you like to continue?")",
diff --git a/ui/pages/template-add.html.tmpl b/ui/pages/template-add.html.tmpl
index ad4ada6..46df4dc 100644
--- a/ui/pages/template-add.html.tmpl
+++ b/ui/pages/template-add.html.tmpl
@@ -28,30 +28,27 @@
<div class="modal-header">
<h4 class="modal-title">$_("Add
Template")</h4>
</div>
- <div class="modal-body">
- <span id="alert-modal-container"></span>
+ <div class="modal-body">
<div class="template-modal-container">
<div>
- <h5>$_("Where is the source media for this template?
")</h5>
- <label class="radio-inline">
- <input type="radio" checked="checked"
name="iso-source" id="iso-local" value="iso-local">
$_("Local ISO Image")
- </label>
- <label class="radio-inline">
- <input type="radio" name="iso-source"
id="vm-image-local" value="vm-image-local"> $_("Local Image
File")
- </label>
- <label class="radio-inline">
- <input type="radio" name="iso-source"
id="iso-remote" value="iso-remote"> $_("Remote ISO
Image")
- </label>
+ <h5>$_("Where is the source media for this template?
")</h5>
+ <input type="radio" checked="checked"
name="iso-source" id="iso-local" value="iso-local"
class="wok-radio">
+ <label for="iso-local">$_("Local ISO
Image")</label>
+ <input type="radio" name="iso-source"
id="vm-image-local" value="vm-image-local"
class="wok-radio">
+ <label for="vm-image-local">$_("Local Image
File")</label>
+ <input type="radio" name="iso-source"
id="iso-remote" value="iso-remote" class="wok-radio">
+ <label for="iso-remote">$_("Remote ISO
Image")</label>
</div>
</div>
<div class="template-pager">
<div class="page-list">
<div class="page" id="iso-local-box">
+ <span
class="alert-modal-container"></span>
<!-- 1-1-2 -->
<div id="iso-file-field">
<div id="iso-file-box"
class="custom-iso-field">
<div class="form-group">
- <label for="iso-file">Provide a
File Path for a specific ISO image:</label>
+ <label
for="iso-file">$_("Provide a File Path for a specific ISO
image:")</label>
<input type="text"
class="form-control" id="iso-file" name="iso-file">
</div>
</div>
@@ -84,11 +81,11 @@
</h3>
<dl
class="iso-info">
<dt>{os_distro}</dt>
- <dd>$_("OS:
")</dd>
+
<dd>$_("OS")</dd>
<dt>{os_version}</dt>
-
<dd>$_("Version: ")</dd>
+
<dd>$_("Version")</dd>
<dt>{capacity}</dt>
- <dd>$_("Size:
")</dd>
+
<dd>$_("Size")</dd>
</dl>
</span>
</span>
@@ -104,6 +101,7 @@
</div>
<div class="page"
id="vm-image-local-box">
+ <span
class="alert-modal-container"></span>
<div class="from-group">
<label
for="vm-image-local-text">$_("File Path:")</label>
<input type="text"
class="form-control" id="vm-image-local-text" />
@@ -112,11 +110,11 @@
<!-- 1-2 -->
<div class="page" id="iso-remote-box">
-
+ <span
class="alert-modal-container"></span>
<!-- 1-2-2 -->
- <div id="iso-url-field" style="display:
none;">
+ <div id="iso-url-field" style="display:
none;">
<div id="iso-url-box"
class="form-group">
- <label for="iso-url">Provide a URL
for a specific ISO image:</label>
+ <label for="iso-url">$_("Provide
a URL for a specific ISO image:")</label>
<input type="text"
class="form-control" id="iso-url" name="iso-url">
</div>
</div>
@@ -152,48 +150,28 @@
</h3>
<dl
class="iso-info">
<dt>{os_distro}</dt>
- <dd>$_("OS:
")</dd>
+
<dd>$_("OS")</dd>
<dt>{os_version}</dt>
- <dd>$_("Version:
")</dd>
+
<dd>$_("Version")</dd>
<dt>{os_arch}</dt>
- <dd>$_("Arch:
")</dd>
+
<dd>$_("Arch")</dd>
</dl>
</span>
</span>
</label>
</li>
- </script>
+ </script>
</div>
</div>
</div>
</div>
</div>
<div class="modal-footer">
-
- <!-- Template from local file path -->
-
- <!-- TODO: Use only one button and direct action based on current form
field and "page" -->
-
<button class="btn btn-default"
id="btn-template-file-create"
disabled="disabled">$_("Create")</button>
-
- <!-- Template from selected local isos -->
-
- <!-- Old: $_("Create Templates from Selected ISO") -->
<button class="btn btn-default"
id="btn-template-local-iso-create"
disabled="disabled">$_("Create")</button>
-
- <!-- Template from local file path -->
-
<button id="vm-image-local-box-button" class="btn
btn-default ui-button-primary">$_("Create")</button>
-
- <!-- Template from URL Iso -->
-
<button class="btn btn-default"
id="btn-template-url-create"
disabled="disabled">$_("Create")</button>
-
- <!-- Template from selected remote isos -->
-
- <!-- Old: $_("Create Templates from Selected ISO") -->
<button class="btn btn-default"
id="btn-template-remote-iso-create"
disabled="disabled">$_("Create")</button>
-
<button class="btn btn-default"
data-dismiss="modal"
type="button">$_("Cancel")</button>
</div>
</div>
--
1.9.3