UI developmet help to fix bug
by Paulo Ricardo Paz Vital
Hello UI developers.
I'd like to ask for one volunteer to help me on coding the UI part for
the solution of bugzilla 110428 [1]. This solution will be submitted to
Kimchi project.
I already have the backend done and tried to do something nice and
beautiful, but I'm taking too much time in this part and want some help
from you guys.
[1] https://bugzilla.linux.ibm.com/show_bug.cgi?id=110428
Thanks and best regards,
--
Paulo Ricardo Paz Vital <pvital(a)linux.vnet.ibm.com>
IBM Linux Technology Center
10 years, 5 months
Rescheduling July, 1st scrum meeting.
by Paulo Ricardo Paz Vital
Hello guys,
Due to a conflict with Brazil's department meeting tomorrow, I need to
re-schedule tomorrow's scrum meeting to start at 8:30 AM CDT (check your
timezone in [1]).
See you there tomorrow!
[1] http://miud.in/1FB2
Thanks,
--
Paulo Ricardo Paz Vital <pvital(a)linux.vnet.ibm.com>
IBM Linux Technology Center
10 years, 5 months
Kimchi 1.2.1 is released!
by Aline Manera
On behalf of everyone who has worked hard on this release, I am pleased
to announce the availability of *Kimchi 1.2.1*!
This release adds many new features including:
✔ Template cloning support
✔ Display version on UI
✔ Guest memory and CPU number update support
✔ Add i18n support to help pages
✔ Manage guest disks
✔ Manage guest network interfaces
✔ Extend logical pool
✔ Distinguish guest shutdown from power off
✔ Distinguish local from remote templates
✔ New login design
✔ Security:
✔ Redirect all HTTP requests to HTTPS
✔ Prevent XSS attacks
✔ Protect guest console through Kimchi authentication
✔ Block non-encrypted client connections to guest console
✔ Add nginx as a reverse proxy
We have worked hard to ensure that Kimchi runs well on the most popular
Linux distributions including: Fedora 20, Ubuntu 13.10, openSUSE 13.1,
and RHEL 6.5. Kimchi uses standard Linux interfaces so it should run
well on many other distributions too.
You can easily grab this release in tarball format or via git:
✔ https://github.com/kimchi-project/kimchi/archive/kimchi-1.2.1.tar.gz
✔ git clone https://github.com/kimchi-project/kimchi.git
There are also some packages available at: http://kimchi-project.github.io/kimchi/downloads/
Go ahead! Give it a try and let us know what you think!
Regards,
----
Aline Manera
10 years, 6 months
[PATCHv4 0/6] issue#382: Fix adding disk submitted with wrong default value
by lvroyce@linux.vnet.ibm.com
From: Royce Lv <lvroyce(a)linux.vnet.ibm.com>
Royce Lv (6):
issue#382 :Change false default value
issue#382: Validate form for adding guest cdrom
Add mockmodel for vm disk attach
Make sure path and volume will not be specified at same time
Add testcase for vmstorages create
Add translation for vm storage error
po/en_US.po | 14 +++++-
po/kimchi.pot | 9 ++++
po/pt_BR.po | 18 +++++++-
po/zh_CN.po | 17 +++++++-
src/kimchi/i18n.py | 1 +
src/kimchi/mockmodel.py | 12 +++++-
src/kimchi/model/vmstorages.py | 2 +
tests/test_model.py | 11 +++++
tests/test_rest.py | 69 ++++++++++++++++++++++++++++--
ui/js/src/kimchi.guest_storage_add.main.js | 40 ++++++++++++++++-
ui/pages/i18n.json.tmpl | 7 ++-
11 files changed, 187 insertions(+), 13 deletions(-)
--
1.8.3.2
10 years, 6 months
[PATCH] Add translation for vm disk attach exceptions
by lvroyce0210@gmail.com
From: Royce Lv <lvroyce(a)linux.vnet.ibm.com>
Update pot and po for vm disk attach exceptions
Signed-off-by: Royce Lv <lvroyce(a)linux.vnet.ibm.com>
---
po/en_US.po | 15 ++++++++++++++-
po/kimchi.pot | 9 +++++++++
po/pt_BR.po | 18 +++++++++++++++++-
po/zh_CN.po | 55 ++++++++++++++++++++++++++++++++++---------------------
4 files changed, 74 insertions(+), 23 deletions(-)
diff --git a/po/en_US.po b/po/en_US.po
index e5849bc..7132fe2 100644
--- a/po/en_US.po
+++ b/po/en_US.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: kimchi 0.1\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-06-17 15:42-0300\n"
+"POT-Creation-Date: 2014-06-17 12:03-0300\n"
"PO-Revision-Date: 2013-07-11 17:32-0400\n"
"Last-Translator: Crístian Viana <vianac(a)linux.vnet.ibm.com>\n"
"Language-Team: English\n"
@@ -820,6 +820,13 @@ msgstr "Cannot lookup disk path information by given pool/volume: %(error)s"
msgid "Volume already been used by other vm"
msgstr "Volume already been used by other vm"
+msgid ""
+"Only one of path or pool/volume can be specified to add a new virtual "
+"machine disk"
+msgstr ""
+"Specify type and path or type and pool/volume to add a new virtual machine "
+"disk"
+
msgid "YUM Repository ID must be one word only string."
msgstr "YUM Repository ID must be one word only string."
@@ -1389,6 +1396,12 @@ msgstr ""
"This network is not persistent. Instead of stop, this action will "
"permanently delete it. Would you like to continue?"
+msgid "CDROM path need to be a valid local path and cannot be blank."
+msgstr "CDROM path need to be a valid local path and cannot be blank."
+
+msgid "Disk pool or volume cannot be blank."
+msgstr "Disk pool or volume cannot be blank."
+
msgid ""
"This will permanently delete the storage pool. Would you like to continue?"
msgstr ""
diff --git a/po/kimchi.pot b/po/kimchi.pot
index e66ceb8..8e8b760 100755
--- a/po/kimchi.pot
+++ b/po/kimchi.pot
@@ -772,6 +772,9 @@ msgstr ""
msgid "Volume already been used by other vm"
msgstr ""
+msgid "Only one of path or pool/volume can be specified to add a new virtual machine disk"
+msgstr ""
+
msgid "YUM Repository ID must be one word only string."
msgstr ""
@@ -1313,6 +1316,12 @@ msgid ""
"permanently delete it. Would you like to continue?"
msgstr ""
+msgid "CDROM path need to be a valid local path and cannot be blank."
+msgstr ""
+
+msgid "Disk pool or volume cannot be blank."
+msgstr ""
+
msgid ""
"This will permanently delete the storage pool. Would you like to continue?"
msgstr ""
diff --git a/po/pt_BR.po b/po/pt_BR.po
index afe5c5b..267bd59 100644
--- a/po/pt_BR.po
+++ b/po/pt_BR.po
@@ -20,7 +20,7 @@ msgid ""
msgstr ""
"Project-Id-Version: kimchi 1.0\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-06-17 15:42-0300\n"
+"POT-Creation-Date: 2014-06-17 12:03-0300\n"
"PO-Revision-Date: 2013-06-27 10:48+0000\n"
"Last-Translator: Crístian Viana <vianac(a)linux.vnet.ibm.com>\n"
"Language-Team: Aline Manera <alinefm(a)br.ibm.com>\n"
@@ -877,6 +877,14 @@ msgstr ""
msgid "Volume already been used by other vm"
msgstr "Volume já foi usado por outra VM"
+#, fuzzy
+msgid ""
+"Only one of path or pool/volume can be specified to add a new virtual "
+"machine disk"
+msgstr ""
+"Especifique o tipo e o caminho, ou o tipo e o pool/volume, para adicionar "
+"uma nova máquina virtual"
+
msgid "YUM Repository ID must be one word only string."
msgstr "ID do repositório YUM deve ser uma string com uma palavra."
@@ -1454,6 +1462,14 @@ msgstr ""
"Essa rede não é persistente. Ao invés de parar, essa ação irá removê-la "
"permantemente. Deseja continuar?"
+#, fuzzy
+msgid "CDROM path need to be a valid local path and cannot be blank."
+msgstr "O caminho do storage pool não pode ser vazio."
+
+#, fuzzy
+msgid "Disk pool or volume cannot be blank."
+msgstr "O nome do storage pool não pode ser vazio."
+
msgid ""
"This will permanently delete the storage pool. Would you like to continue?"
msgstr "O storage pool vai ser permanentemente removido. Deseja continuar?"
diff --git a/po/zh_CN.po b/po/zh_CN.po
index 48c1ea2..4528cf6 100644
--- a/po/zh_CN.po
+++ b/po/zh_CN.po
@@ -20,14 +20,14 @@ msgid ""
msgstr ""
"Project-Id-Version: kimchi 0.1\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-06-26 14:51+0800\n"
+"POT-Creation-Date: 2014-06-17 12:03-0300\n"
"PO-Revision-Date: 2013-06-27 10:48+0000\n"
"Last-Translator: ShaoHe Feng <shaohef(a)linux.vnet.ibm.com>\n"
"Language-Team: ShaoHe Feng <shaohef(a)linux.vnet.ibm.com>\n"
+"Language: zh_CN\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Language: zh_CN\n"
"Generated-By: pygettext.py 1.5\n"
"X-Poedit-Country: CHINA\n"
"X-Poedit-Language: Chinese\n"
@@ -138,8 +138,8 @@ msgstr "ISO文件%(filename)s的卷描述符格式错误"
msgid ""
"The hypervisor doesn't have permission to use this ISO %(filename)s. "
"Consider moving it under /var/lib/libvirt, or set the search permission to "
-"file access control lists for '%(user)s' user if possible, or add the '%"
-"(user)s' to the ISO path group, or (not recommended) 'chmod -R o+x "
+"file access control lists for '%(user)s' user if possible, or add the "
+"'%(user)s' to the ISO path group, or (not recommended) 'chmod -R o+x "
"'path_to_iso'.Details: %(err)s"
msgstr ""
"hypervisor没有访问ISO文件%(filename)s的权限。可以将ISO移到/var/lib/libvirt目"
@@ -385,8 +385,8 @@ msgstr "不能创建存储池 %(name)s。详情: %(err)s"
#, python-format
msgid ""
-"Unable to get number of storage volumes in storage pool %(name)s. Details: %"
-"(err)s"
+"Unable to get number of storage volumes in storage pool %(name)s. Details: "
+"%(err)s"
msgstr "不能获取储存池%(name)s中卷的数目。详情: %(err)s"
#, python-format
@@ -453,8 +453,8 @@ msgstr "为新存储池指定名字和类型"
#, python-format
msgid ""
-"%(disk)s is not a valid disk/partition. Could not add it to the pool %(pool)"
-"s."
+"%(disk)s is not a valid disk/partition. Could not add it to the pool "
+"%(pool)s."
msgstr "%(disk)s 不是有效的磁盘/分区。不能被添加到存储池%(pool)s中"
#, python-format
@@ -532,8 +532,8 @@ msgstr "不能列出存储卷,因为存储池%(pool)s没有激活"
#, python-format
msgid ""
-"Unable to create storage volume %(name)s in storage pool %(pool)s. Details: %"
-"(err)s"
+"Unable to create storage volume %(name)s in storage pool %(pool)s. Details: "
+"%(err)s"
msgstr "不能在存储池%(pool)s中创建存储卷%(name)s。详情:%(err)s"
#, python-format
@@ -684,12 +684,6 @@ msgid ""
msgstr "名字必须是一个字符串。只允许字母、数字和连字符 ('-')。"
#, python-format
-msgid ""
-"The debug report with specified name \"%(name)s\" already exists. Please use "
-"another one."
-msgstr "名字为\"'%(name)s\"的调试报告已经存在,请选择其它的名字。"
-
-#, python-format
msgid "Storage server %(server)s was not used by Kimchi"
msgstr "存储服务器%(server)s未被Kimchi使用"
@@ -798,6 +792,11 @@ msgstr "使用给出的存储池/存储卷查找磁盘路径信息失败,详
msgid "Volume already been used by other vm"
msgstr "存储卷已经被其他虚拟机使用"
+msgid ""
+"Only one of path or pool/volume can be specified to add a new virtual "
+"machine disk"
+msgstr "增加虚拟机磁盘时,仅能指定路径或存储池/存储卷中的一个"
+
msgid "YUM Repository ID must be one word only string."
msgstr "YUM软件仓库ID必须是只包含一个单词的字符串"
@@ -1342,6 +1341,12 @@ msgstr ""
"这是一个临时的网络配置,该操作会永久地删除这个网络而不是停止其运行,确定要继"
"续吗?"
+msgid "CDROM path need to be a valid local path and cannot be blank."
+msgstr "CDROM的路径必须是有效本地路径且不能为空"
+
+msgid "Disk pool or volume cannot be blank."
+msgstr "存储池或卷不能为空"
+
msgid ""
"This will permanently delete the storage pool. Would you like to continue?"
msgstr "这将永久删除存储池。是否继续?"
@@ -1550,9 +1555,6 @@ msgstr "iSCSI认证"
msgid "SCSI Adapter"
msgstr "SCSI适配器"
-msgid "Please, wait..."
-msgstr "请等待..."
-
msgid "Add Template"
msgstr "创建模板"
@@ -1568,6 +1570,9 @@ msgstr "远程ISO镜像"
msgid "Search ISOs"
msgstr "搜索ISO"
+msgid "Please, wait..."
+msgstr "请等待..."
+
msgid "The following ISOs are available:"
msgstr "可用ISO文件如下"
@@ -1670,8 +1675,8 @@ msgstr "网络类型"
msgid "Address Space"
msgstr "地址空间"
-msgid "Name should not contain '/' and '\"'."
-msgstr "名字中不能包含‘/’和'\"'。"
+msgid "Alphanumeric and '_' characters only."
+msgstr ""
msgid "Isolated: no external network connection"
msgstr "隔离: 同物理网络不连通"
@@ -1732,3 +1737,11 @@ msgstr "没有发现模板"
msgid "Clone"
msgstr "制作副本"
+
+#~ msgid ""
+#~ "The debug report with specified name \"%(name)s\" already exists. Please "
+#~ "use another one."
+#~ msgstr "名字为\"'%(name)s\"的调试报告已经存在,请选择其它的名字。"
+
+#~ msgid "Name should not contain '/' and '\"'."
+#~ msgstr "名字中不能包含‘/’和'\"'。"
--
1.8.3.2
10 years, 6 months
[PATCH V3 0/2] bug fix: redirect to the protected page after login
by shaohef@linux.vnet.ibm.com
From: ShaoHe Feng <shaohef(a)linux.vnet.ibm.com>
V2 -> V3:
rebase
V1 -> V2:
remove kimchisession hook
ShaoHe Feng (2):
bug fix: redirect to the protected page after login
remove kimchisession hook and add the same logic to root.get
src/kimchi/auth.py | 31 ++++++++++++-------------------
src/kimchi/config.py.in | 5 -----
src/kimchi/root.py | 40 +++++++++++++++++++++++++---------------
src/kimchi/server.py | 2 --
tests/test_config.py.in | 8 --------
ui/pages/login.html.tmpl | 3 ++-
6 files changed, 39 insertions(+), 50 deletions(-)
--
1.9.3
10 years, 6 months
[PATCH V4 0/3] bug fix: redirect to the protected page after login
by shaohef@linux.vnet.ibm.com
From: ShaoHe Feng <shaohef(a)linux.vnet.ibm.com>
V3 -> V4:
update testcase
V2 -> V3:
rebase
V1 -> V2:
remove kimchisession hook
ShaoHe Feng (3):
bug fix: redirect to the protected page after login
remove kimchisession hook and add the same logic to root.get
update case for root.get redirection
src/kimchi/auth.py | 31 ++++++++++++-------------------
src/kimchi/config.py.in | 5 -----
src/kimchi/root.py | 42 +++++++++++++++++++++++++++---------------
src/kimchi/server.py | 2 --
tests/test_config.py.in | 8 --------
tests/test_rest.py | 6 +++++-
ui/pages/login.html.tmpl | 3 ++-
7 files changed, 46 insertions(+), 51 deletions(-)
--
1.9.3
10 years, 6 months
[PATCH] issue#383: Only allow one type of parameter when adding vm storage
by lvroyce@linux.vnet.ibm.com
From: Royce Lv <lvroyce(a)linux.vnet.ibm.com>
When adding vm storage, volume and path cannot be specified
at the same time. Fix it.
Signed-off-by: Royce Lv <lvroyce(a)linux.vnet.ibm.com>
---
src/kimchi/model/vmstorages.py | 2 ++
1 file changed, 2 insertions(+)
diff --git a/src/kimchi/model/vmstorages.py b/src/kimchi/model/vmstorages.py
index 8c51716..093b9ee 100644
--- a/src/kimchi/model/vmstorages.py
+++ b/src/kimchi/model/vmstorages.py
@@ -154,6 +154,8 @@ class VMStoragesModel(object):
# Path will never be blank due to API.json verification.
# There is no need to cover this case here.
params['format'] = 'raw'
+ if 'vol' in params and 'path' in params:
+ raise InvalidParameter("KCHVMSTOR0012E")
if params.get('vol'):
try:
pool = params['pool']
--
1.8.3.2
10 years, 6 months
[PATCH] Enhancement:Enable operations when generating a debug report
by Wen Wang
From: Wen Wang <wenwang(a)linux.vnet.ibm.com>
1) Enabled remove and download button when generating a debug report
2) Fixed the bug when changing tabs or refreshing generate indicator
disappears.
Signed-off-by: Wen Wang <wenwang(a)linux.vnet.ibm.com>
---
ui/js/src/kimchi.grid.js | 7 ++++
ui/js/src/kimchi.host.js | 67 +++++++++++++++++++++++++++++++++-
ui/js/src/kimchi.report_add_main.js | 36 ++++++-------------
3 files changed, 83 insertions(+), 27 deletions(-)
diff --git a/ui/js/src/kimchi.grid.js b/ui/js/src/kimchi.grid.js
index 2c70969..615d469 100644
--- a/ui/js/src/kimchi.grid.js
+++ b/ui/js/src/kimchi.grid.js
@@ -234,6 +234,12 @@ kimchi.widget.Grid.prototype = (function() {
: null;
};
+ var getSelectedAbove = function() {
+ return this.selectedIndex >= 0
+ ? this.data[this.selectedIndex - 1]
+ : null;
+ };
+
var startResizing = function(container, event) {
var grid = event.data.grid;
kimchi.widget.Grid.beingResized = grid;
@@ -520,6 +526,7 @@ kimchi.widget.Grid.prototype = (function() {
createDOM: createDOM,
setData: setData,
getSelected: getSelected,
+ getSelectedAbove:getSelectedAbove,
reload: reload,
destroy: destroy
};
diff --git a/ui/js/src/kimchi.host.js b/ui/js/src/kimchi.host.js
index f3de831..c3d0eef 100644
--- a/ui/js/src/kimchi.host.js
+++ b/ui/js/src/kimchi.host.js
@@ -310,7 +310,13 @@ kimchi.host_main = function() {
label: i18n['KCHDR6009M'],
disabled: true,
onClick: function(event) {
- var report = reportGrid.getSelected();
+ var report = null;
+ if ($('.grid-body-view table tbody tr:first-child td:last-child',
+ '#' + reportGridID).attr('id') === 'id-debug-img') {
+ report = reportGrid.getSelectedAbove();
+ } else {
+ report = reportGrid.getSelected();
+ }
if(!report) {
return;
}
@@ -341,7 +347,13 @@ kimchi.host_main = function() {
label: i18n['KCHDR6010M'],
disabled: true,
onClick: function(event) {
- var report = reportGrid.getSelected();
+ var report = null;
+ if ($('.grid-body-view table tbody tr:first-child td:last-child',
+ '#' + reportGridID).attr('id') === 'id-debug-img') {
+ report = reportGrid.getSelectedAbove();
+ } else {
+ report = reportGrid.getSelected();
+ }
if(!report) {
return;
}
@@ -383,6 +395,28 @@ kimchi.host_main = function() {
else {
initReportGrid(reports);
}
+ var taskID = sessionStorage.getItem('sessionDebugReportID')
+ var reportName = sessionStorage.getItem('sessionDebugReportName');
+ if (taskID != null) {
+ kimchi.getTask(taskID, function(result) {
+ var taskStatus = result['status'];
+ if (taskStatus === 'running') {
+ $('.grid-body-view table tbody', '#' + reportGridID).prepend(
+ '<tr>' +
+ '<td>' +
+ '<div class="cell-text-wrapper">' + reportName + '</div>' +
+ '</td>' +
+ '<td id ="id-debug-img">' +
+ '<div class="cell-text-wrapper">' + i18n['KCHDR6007M'] + '</div>' +
+ '</td>' +
+ '</tr>'
+ );
+ $('#' + reportGridID + '-generate-button').prop('disabled', true);
+ } else {
+ $('#' + reportGridID + '-generate-button').prop('disabled', false);
+ }
+ }, '');
+ }
}, function(error) {
if(error['status'] == 403) {
$('#debug-report-section').addClass('hidden');
@@ -473,6 +507,35 @@ kimchi.host_main = function() {
.subscribe(listDebugReports);
}
});
+ var taskID = sessionStorage.getItem('sessionDebugReportID');
+ if (taskID != null) {
+ var isRunning =false;
+ var trackTask = function() {
+ kimchi.getTask(taskID, function(result) {
+ var taskStatus = result['status'];
+ switch(taskStatus) {
+ case 'running':
+ if(kimchi.stopTrackingReport === true) {
+ return;
+ }
+ setTimeout(function() {
+ trackTask();
+ }, 200);
+ break;
+ case 'finished':
+ listDebugReports();
+ isRunning = true;
+ break;
+ default:
+ break;
+ }
+ }, '');
+ }
+ if (!isRunning)
+ {
+ trackTask();
+ }
+ }
};
kimchi.getHost(function(data) {
diff --git a/ui/js/src/kimchi.report_add_main.js b/ui/js/src/kimchi.report_add_main.js
index 43484f5..3fdaa9d 100644
--- a/ui/js/src/kimchi.report_add_main.js
+++ b/ui/js/src/kimchi.report_add_main.js
@@ -17,25 +17,10 @@
*/
kimchi.report_add_main = function() {
var reportGridID = 'available-reports-grid';
- var generateButton = $('#' + reportGridID + '-generate-button');
var addReportForm = $('#form-report-add');
var submitButton = $('#button-report-add');
var nameTextbox = $('input[name="name"]', addReportForm);
nameTextbox.select();
-
- /*
- * FIXME:
- * Currently, all buttons will be disabled when a report is being
- * generated. Though operations on existing debug reports shouldn't
- * be affected when a new one is being generated, and it's expected
- * to enable Rename/Remove/Download Buttons whenever users click an
- * existing report row in the grid.
- */
- var disableToolbarButtons = function(event, toEnable) {
- $('#' + reportGridID + ' .grid-toolbar button')
- .prop('disabled', !toEnable);
- };
-
var submitForm = function(event) {
if(submitButton.prop('disabled')) {
return false;
@@ -48,15 +33,14 @@ kimchi.report_add_main = function() {
}
var formData = addReportForm.serializeObject();
var taskAccepted = false;
- disableToolbarButtons();
+ $('#' + reportGridID + '-generate-button').prop('disabled', true);
submitButton.prop('disabled', true);
- $('.grid-body table tr', '#' + reportGridID)
- .on('click', disableToolbarButtons);
kimchi.createReport(formData, function(result) {
- $('.grid-body-view table tr:first-child', '#' + reportGridID).remove();
- $('.grid-body table tr', '#' + reportGridID)
- .off('click', disableToolbarButtons);
- generateButton.prop('disabled', false);
+ $('.grid-body-view table tr:first-child',
+ '#' + reportGridID).remove();
+ $('#' + reportGridID + '-generate-button').prop('disabled', false);
+ sessionStorage.removeItem('sessionDebugReportID');
+ sessionStorage.removeItem('sessionDebugReportName');
kimchi.topic('kimchi/debugReportAdded').publish({
result: result
});
@@ -73,10 +57,10 @@ kimchi.report_add_main = function() {
taskAccepted &&
$('.grid-body-view table tr:first-child',
'#' + reportGridID).remove();
- $('.grid-body table tr', '#' + reportGridID)
- .off('click', disableToolbarButtons);
- generateButton.prop('disabled', false);
+ $('#' + reportGridID + '-generate-button').prop('disabled', false);
submitButton.prop('disabled', false);
+ sessionStorage.removeItem('sessionDebugReportID');
+ sessionStorage.removeItem('sessionDebugReportName');
nameTextbox.select();
}, function(result) {
if(taskAccepted) {
@@ -85,6 +69,8 @@ kimchi.report_add_main = function() {
taskAccepted = true;
kimchi.window.close();
var reportName = nameTextbox.val() || i18n['KCHDR6012M'];
+ sessionStorage.setItem('sessionDebugReportName',reportName);
+ sessionStorage.setItem('sessionDebugReportID',result['id']);
$('.grid-body-view table tbody', '#' + reportGridID).prepend(
'<tr>' +
'<td>' +
--
1.7.1
10 years, 6 months
[PATCHv3 0/2] issue#382: Fix adding disk submitted with wrong default value
by lvroyce@linux.vnet.ibm.com
From: Royce Lv <lvroyce(a)linux.vnet.ibm.com>
v1>v3,
Fix path validation, fix default value set logic
Royce Lv (2):
issue#382 :Change false default value
issue#382: Validate form for adding guest cdrom
ui/js/src/kimchi.guest_storage_add.main.js | 40 ++++++++++++++++++++++++++++--
ui/pages/i18n.json.tmpl | 7 ++++--
2 files changed, 43 insertions(+), 4 deletions(-)
--
1.8.3.2
10 years, 6 months