[PATCH 0/2] Change radios and checkboxes in first 4 dialogs
by Wen Wang
1) Add icons to the help text
2) Change all the radios and checkboxes in frist 4 tabs of dialog
Wen Wang (2):
UI Add text help icon to dialog of first 4 tabs
UI: complete kimchi dialog exchange for frist 4 tabs
ui/css/theme-default/base.css | 4 +++
ui/css/theme-default/button.css | 5 +++
ui/css/theme-default/repository-add.css | 4 +++
ui/css/theme-default/repository-edit.css | 6 ++--
ui/css/theme-default/template-edit.css | 4 +++
ui/css/theme-default/template_add.css | 5 +++
ui/js/src/kimchi.repository_add_main.js | 21 +++++++++++++
ui/js/src/kimchi.repository_edit_main.js | 16 ++++++++++
ui/js/src/kimchi.storagepool_add_main.js | 11 +++++++
ui/js/src/kimchi.storagepool_add_volume_main.js | 17 ++++++++++
ui/js/src/kimchi.template_add_main.js | 24 +++++++++++++++
ui/js/src/kimchi.template_edit_main.js | 12 ++++++++
ui/pages/guest-add.html.tmpl | 9 ++++--
ui/pages/report-add.html.tmpl | 1 +
ui/pages/report-rename.html.tmpl | 1 +
ui/pages/repository-add.html.tmpl | 18 +++++++----
ui/pages/repository-edit.html.tmpl | 6 ++--
ui/pages/storagepool-add-volume.html.tmpl | 14 ++++++---
ui/pages/storagepool-add.html.tmpl | 41 +++++++++++++++----------
ui/pages/template-add.html.tmpl | 9 ++++--
ui/pages/template-edit.html.tmpl | 6 +++-
21 files changed, 196 insertions(+), 38 deletions(-)
--
2.1.0
9 years, 10 months
[PATCH 0/5] Exchange dialog of tab Host/Guests/Templates/Storage
by Wen Wang
Exchange dialog of tab Host/Guests/Templates/Storage with new kimchi UI
Wen Wang (5):
UI: Change host dialog
UI: Exchange guests dialog style to new kimchi UI
UI: Guest button fix
UI: Exchange template dialog with new kimchi UI
UI: Exchange storage dialog with new kimchi UI
ui/css/theme-default/base.css | 2 +-
ui/css/theme-default/button.css | 25 +++++-----------
ui/css/theme-default/form.css | 10 +++++--
ui/css/theme-default/guest-edit.css | 28 +++++++++++-------
ui/css/theme-default/report-add.css | 11 +++++--
ui/css/theme-default/report-rename.css | 14 ++++-----
ui/css/theme-default/repository-add.css | 6 ++++
ui/css/theme-default/repository-edit.css | 24 +++++++--------
ui/css/theme-default/template_add.css | 4 +++
ui/css/theme-default/window.css | 49 +++++++------------------------
ui/js/src/kimchi.storagepool_add_main.js | 7 ++---
ui/pages/guest-add.html.tmpl | 12 ++++----
ui/pages/guest-edit.html.tmpl | 6 ++--
ui/pages/report-add.html.tmpl | 10 ++++---
ui/pages/report-rename.html.tmpl | 10 ++++---
ui/pages/repository-add.html.tmpl | 41 ++++++++++++++------------
ui/pages/repository-edit.html.tmpl | 8 +++--
ui/pages/storagepool-add-volume.html.tmpl | 10 +++----
ui/pages/storagepool-add.html.tmpl | 22 +++++++-------
ui/pages/template-add.html.tmpl | 8 +++--
ui/pages/template-edit.html.tmpl | 4 +--
21 files changed, 157 insertions(+), 154 deletions(-)
--
2.1.0
9 years, 10 months
[PATCH] UI: Storage Grid View
by huoyuxin@linux.vnet.ibm.com
From: Yu Xin Huo <huoyuxin(a)linux.vnet.ibm.com>
Signed-off-by: Yu Xin Huo <huoyuxin(a)linux.vnet.ibm.com>
---
ui/css/theme-default/storage.css | 161 +++++++------------------------------
ui/js/src/kimchi.storage_main.js | 21 ++++--
ui/pages/tabs/storage.html.tmpl | 72 +++++++++---------
3 files changed, 82 insertions(+), 172 deletions(-)
diff --git a/ui/css/theme-default/storage.css b/ui/css/theme-default/storage.css
index e0ab290..6231178 100644
--- a/ui/css/theme-default/storage.css
+++ b/ui/css/theme-default/storage.css
@@ -16,101 +16,29 @@
* limitations under the License.
*/
/* STORAGE */
-.handle {
- width: 49px;
+.storage {
+ margin: 5px;
}
-.storage-allocate-padding-user {
- padding-right: 108px;
-}
-.storage-title {
- font-size: 13px;
- height: 18px;
- padding: 10px;
- color: #666;
- float: left;
- max-width: 85px;
- overflow: hidden;
- text-overflow: ellipsis;
- font-weight: bold;
- line-height: 18px;
- white-space: nowrap;
+.storage .grid-control {
+ height: 40px;
+ padding: 5px 0;
}
-.usage {
- font-size: 13px;
- height: 18px;
- padding: 10px;
- color: #666;
+.storage .grid-control .filter {
+ width: 300px;
+ padding: 5px;
float: right;
- font-weight: bold;
- line-height: 18px;
-}
-
-.storage-text {
- font-size: 12px;
- height: 18px;
- padding: 10px;
- color: #999999;
- font-weight: bold;
- line-height: 18px;
-}
-
-.list-storage {
- margin: 10px;
-}
-
-.list-storage .storage-li {
- width: 1004px;
- margin-top: 10px;
- background: #ffffff;
- background: -moz-linear-gradient(top, #ffffff 0%, #e5e5e5 100%);
- background: -webkit-gradient(linear, left top, left bottom,
- color-stop(0%, #ffffff), color-stop(100%, #e5e5e5));
- background: -webkit-linear-gradient(top, #ffffff 0%, #e5e5e5 100%);
- background: -o-linear-gradient(top, #ffffff 0%, #e5e5e5 100%);
- background: -ms-linear-gradient(top, #ffffff 0%, #e5e5e5 100%);
- background: linear-gradient(to bottom, #ffffff 0%, #e5e5e5 100%);
- filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff',
- endColorstr='#e5e5e5', GradientType=0);
- border: 1px solid #ccc;
- color: #333;
- -moz-border-top-left-radius: 8px;
- -moz-border-top-right-radius: 8px;
- -webkit-border-top-left-radius: 8px;
- -webkit-border-top-right-radius: 8px;
- -moz-border-bottom-left-radius: 8px;
- -moz-border-bottom-right-radius: 8px;
- -webkit-border-bottom-left-radius: 8px;
- -webkit-border-bottom-right-radius: 8px;
- border-top-left-radius: 8px;
- border-top-right-radius: 8px;
- border-bottom-left-radius: 8px;
- border-bottom-right-radius: 8px;
-}
-
-.list-storage .storage-li>* {
- height: 25px;
- display: table-cell;
- vertical-align: middle;
- position: relative;
- border-left: 1px solid #ccc;
- border-right: 1px solid #fff;
-}
-
-.list-storage .storage-li>*:FIRST-CHILD {
- border-left: none;
}
-.list-storage .storage-li>*:LAST-CHILD {
- border-right: none;
+.storage-allocate-padding-user {
+ padding-right: 108px;
}
-.list-storage .storage-li[data-stat="active"]:hover {
- border: 1px solid rgb(11, 107, 173);
- box-shadow: 0px 0px 5px rgb(11, 107, 173);
- cursor: default;
+.usage {
+ float: right;
+ margin-right: 30px;
}
.list-storage .storage-li>.guest-tile {
@@ -152,62 +80,35 @@
}
.storage-name {
- width: 199px;
+ width: 15%;
}
.storage-state {
- width: 51px;
-}
-
-.storage-location {
- width: 288px;
+ width: 10%;
}
.storage-type {
- width: 98px;
+ width: 10%;
}
.storage-capacity {
- width: 98px;
+ width: 10%;
}
.storage-allocate {
- width: 98px;
-}
-
-
-.storage-button {
- width: 108px;
- text-align: center;
-}
-
-.title-name {
- width: 199px;
-}
-
-.title-state {
- width: 51px;
-}
-
-.title-location {
- width: 288px;
+ width: 10%;
}
-.title-type {
- width: 98px;
-}
-
-.title-capacity {
- width: 98px;
+.storage-location {
+ width: 30%;
}
-.title-allocate {
- width: 98px;
+.storage-button {
+ width: 9%;
}
-
-.title-action {
- width: 108px;
+.handle {
+ width: 2%;
}
.status-dot {
@@ -218,8 +119,8 @@
border-radius: 13px;
box-shadow: 3px 3px 3px #FFFFFF, -3px -3px 3px #DDDDDD;
height: 13px;
- margin: 20px 18px;
width: 13px;
+ margin-left: 10px;
}
.toolable {
@@ -459,22 +360,22 @@
.list-storage .storage-li[data-stat="active"]>.handle>.arrow-down {
background: url(../images/theme-default/arrow-down.png) no-repeat center
center;
- height: 52px;
- width: 45px;
+ height: 18px;
+ width: 18px;
}
.list-storage .storage-li[data-stat="inactive"]>.handle>.arrow-down {
background: url(../images/theme-default/arrow-down-disable.png) no-repeat
center center;
- height: 52px;
- width: 45px;
+ height: 18px;
+ width: 18px;
}
.arrow-up {
background: url(../images/theme-default/arrow-up.png) no-repeat center
center;
- height: 52px;
- width: 45px;
+ height: 18px;
+ width: 18px;
}
.storage-icon {
diff --git a/ui/js/src/kimchi.storage_main.js b/ui/js/src/kimchi.storage_main.js
index 9a45b65..64a132a 100644
--- a/ui/js/src/kimchi.storage_main.js
+++ b/ui/js/src/kimchi.storage_main.js
@@ -29,12 +29,18 @@ kimchi.doListStoragePools = function() {
listHtml += kimchi.substitute(storageHtml, value);
}
});
+ if($('#storageGrid').hasClass('grid'))
+ $('#storageGrid').grid('destroy');
$('#storagepoolsList').html(listHtml);
if(kimchi.tabMode['storage'] === 'admin') {
$('.storage-button').attr('style','display');
} else {
$('.storage-allocate').addClass('storage-allocate-padding-user');
}
+ $('#storageGrid').grid({enableSorting: false});
+ $('input', $('.grid-control', '.storage')).on('keyup', function(){
+ $('#storageGrid').grid('filter', $(this).val());
+ });
kimchi.storageBindClick();
} else {
$('#storagepoolsList').html('');
@@ -169,18 +175,21 @@ kimchi.storageBindClick = function() {
});
}
- $('.storage-li').on('click', function(event) {
+ $('.row').on('click', function(event) {
if (!$(event.target).parents().hasClass('bottom')) {
if ($(this).data('stat') === 'active') {
var that = $(this);
var volumeDiv = $('#volume' + that.data('name'));
- var slide = $(this).next('.volumes');
+ var slide = $('.volumes', this);
if (that.hasClass('in')) {
+ that.css('height','auto');
kimchi.doListVolumes(that);
} else {
- slide.slideUp('slow');
+ slide.slideUp('slow', function(){
+ that.css('height','');
+ });
that.addClass('in');
- kimchi.changeArrow(that.children().last().children());
+ kimchi.changeArrow($('.arrow-up', this));
}
}
}
@@ -226,8 +235,8 @@ kimchi.doListVolumes = function(poolObj) {
var volumeDiv = $('#volume' + poolName);
$(volumeDiv).empty();
- var slide = poolObj.next('.volumes');
- var handleArrow = poolObj.children().last().children();
+ var slide = $('.volumes', poolObj);
+ var handleArrow = $('.arrow-down', poolObj);
kimchi.listStorageVolumes(poolName, function(result) {
var listHtml = '';
diff --git a/ui/pages/tabs/storage.html.tmpl b/ui/pages/tabs/storage.html.tmpl
index dbbaef9..320ec16 100644
--- a/ui/pages/tabs/storage.html.tmpl
+++ b/ui/pages/tabs/storage.html.tmpl
@@ -29,17 +29,19 @@
<a id="storage-pool-add" class="btn-tool" href="javascript:void(0);"><span class="icon add">+</span></a>
</div>
</div>
-<div>
- <div class="list-title">
- <li class="title-name">$_("Name")</li>
- <li class="title-state" >$_("State")</li>
- <li class="title-location">$_("Location")</li>
- <li class="title-type">$_("Type")</li>
- <li class="title-capacity">$_("Capacity")</li>
- <li class="title-allocate">$_("Allocated")</li>
- <li class="title-actions" style="display:none">$_("Actions")</li>
+<div class='storage'>
+<div class="grid-control"><input type="text" class="filter" placeholder="$_("Filter")"></div>
+<div id='storageGrid'>
+ <div>
+ <span class="storage-name">$_("Name")</span>
+ <span class="storage-state" >$_("State")</span>
+ <span class="storage-type">$_("Type")</span>
+ <span class="storage-capacity">$_("Capacity")</span>
+ <span class="storage-allocate">$_("Allocated")</span>
+ <span class="storage-location">$_("Location")</span>
</div>
- <ul id="storagepoolsList" class="list-storage empty-when-logged-off"></ul>
+ <div id="storagepoolsList" class="list-storage empty-when-logged-off"></div>
+</div>
</div>
<div id="logicalPoolExtend" title="$_("Device path")">
<p id="loading-info" class="text-help">
@@ -50,33 +52,32 @@
</div>
</div>
<script id="storageTmpl" type="html/text">
- <li id="{name}">
- <div class="storage-li in" data-name="{name}" data-stat="{state}">
- <div class="storage-name">
- <span class="storage-title" title="{name}">{name}</span>
- <span class="storage-title usage">{usage}%</span>
- </div>
- <div class="storage-state">
+ <div id="{name}" class="storage-li in" data-name="{name}" data-stat="{state}">
+ <span class="storage-name" val="{name}{usage}%">
+ <span title="{name}">{name}</span>
+ <span class="usage">{usage}%</span>
+ </span>
+ <span class="storage-state">
<div class="status-dot toolable active" data-state="{state}">
<label class="tooltip">$_("active")</label>
</div>
<div class="status-dot toolable inactive" data-state="{state}">
<label class="tooltip">$_("inactive")</label>
</div>
- </div>
- <div class="storage-location">
- <div class="storage-text">{path}</div>
- </div>
- <div class="storage-type">
- <div class="storage-text">{type}</div>
- </div>
- <div class="storage-capacity">
- <div class="storage-text" data-type="{type}">{capacity}</div>
- </div>
- <div class="storage-allocate">
- <div class="storage-text" data-type="{type}">{allocated}</div>
- </div>
- <div class="bottom storage-button" style="display:none">
+ </span>
+ <span class="storage-type" val="{type}">
+ <div>{type}</div>
+ </span>
+ <span class="storage-capacity" val="{capacity}">
+ <div data-type="{type}">{capacity}</div>
+ </span>
+ <span class="storage-allocate" val="{allocated}">
+ <div data-type="{type}">{allocated}</div>
+ </span>
+ <span class="storage-location" val="{path}">
+ <div>{path}</div>
+ </span>
+ <span class="bottom storage-button" style="display:none">
<div class="btn dropdown popable storage-action" data-state="{state}" data-type="{type}" data-name="{name}">
<span class="text">$_("Actions")</span><span class="arrow"></span>
<div class="popover actionsheet right-side" style="width: 250px">
@@ -87,16 +88,15 @@
<button class="button-big red pool-delete" data-stat="{state}" data-name="{name}"><span class="text">$_("Undefine")</span></button>
</div>
</div>
- </div>
- <div class="handle">
+ </span>
+ <span class="handle">
<div class="arrow-down"></div>
- </div>
- </div>
+ </span>
<div class="volumes">
<div id="volume{name}" class="volumeslist" data-name="{name}" ></div>
<div class="clear"></div>
</div>
- </li>
+ </div>
</script>
<script id="volumeTmpl" type="html/text">
<div class="volume-box white-box" data-volume-name="{name}">
--
1.7.1
9 years, 10 months
[v2 0/3] UI: Grid View of Network Tab
by huoyuxin@linux.vnet.ibm.com
From: Yu Xin Huo <huoyuxin(a)linux.vnet.ibm.com>
Yu Xin Huo (3):
UI: Update Framework Style
UI: Update Grid Widget
UI: Network Grid View
ui/css/theme-default/datagrid.css | 11 +---
ui/css/theme-default/framework.css | 4 +-
ui/css/theme-default/network.css | 83 ++++++++---------------------------
ui/css/theme-default/reset.css | 2 +-
ui/js/src/kimchi.network.js | 14 ++++--
ui/js/widgets/grid.js | 28 ++++++++----
ui/pages/tabs/network.html.tmpl | 29 ++++++------
7 files changed, 69 insertions(+), 102 deletions(-)
9 years, 10 months
[PATCH 0/3] UI: Network Grid View
by huoyuxin@linux.vnet.ibm.com
From: Yu Xin Huo <huoyuxin(a)linux.vnet.ibm.com>
Yu Xin Huo (3):
UI: Update Framework Style
UI: Update Grid Widget
UI: Network Grid View
ui/css/theme-default/datagrid.css | 11 +---
ui/css/theme-default/framework.css | 4 +-
ui/css/theme-default/network.css | 83 ++++++++---------------------------
ui/css/theme-default/reset.css | 2 +-
ui/js/src/kimchi.network.js | 6 ++-
ui/js/widgets/grid.js | 20 +++++----
ui/pages/tabs/network.html.tmpl | 29 ++++++------
7 files changed, 56 insertions(+), 99 deletions(-)
9 years, 10 months
[PATCH 00/11] Full patch of the rest widgets
by Wen Wang
Full patch of rest widgets.
Wen Wang (11):
UI: Add Kimchi message widget for new kimchi UI
UI: Sample of message widget
UI: Adding new widget of list
UI: Sample of list widget
UI Add widget button to new kimchi UI
UI: Adding new widget of menu to kimchi new UI
UI: Adding new textbox widget to new kimchi UI
UI: Adding new radio widget of new kimchi UI
UI: Adding new checkbox widget to new kimchi UI
UI: Adding selectmenu widget for kimchi new UI
UI: Sample of menu/button/radio/checkbox/seletmenu/textbox
ui/css/theme-default/button-flat.css | 135 +++++++
ui/css/theme-default/checkbox-flat.css | 25 ++
ui/css/theme-default/list-flat.css | 83 ++++
ui/css/theme-default/menu-flat.css | 89 +++++
ui/css/theme-default/message-flat.css | 87 +++++
ui/css/theme-default/radio-flat.css | 30 ++
ui/css/theme-default/selectmenu-flat.css | 88 +++++
ui/css/theme-default/textbox-flat.css | 22 ++
ui/js/widgets/button-flat.js | 419 +++++++++++++++++++++
ui/js/widgets/checkbox-flat.js | 86 +++++
ui/js/widgets/list-flat.js | 76 ++++
ui/js/widgets/menu-flat.js | 114 ++++++
ui/js/widgets/message-flat.js | 97 +++++
ui/js/widgets/radio-flat.js | 86 +++++
ui/js/widgets/samples/list-sample.html | 27 ++
...u-button-radio-checkbox-text-select-sample.html | 83 ++++
ui/js/widgets/samples/message-sample.html | 30 ++
ui/js/widgets/selectmenu-flat.js | 130 +++++++
ui/js/widgets/textbox-flat.js | 39 ++
19 files changed, 1746 insertions(+)
create mode 100755 ui/css/theme-default/button-flat.css
create mode 100644 ui/css/theme-default/checkbox-flat.css
create mode 100644 ui/css/theme-default/list-flat.css
create mode 100644 ui/css/theme-default/menu-flat.css
create mode 100644 ui/css/theme-default/message-flat.css
create mode 100644 ui/css/theme-default/radio-flat.css
create mode 100644 ui/css/theme-default/selectmenu-flat.css
create mode 100644 ui/css/theme-default/textbox-flat.css
create mode 100755 ui/js/widgets/button-flat.js
create mode 100644 ui/js/widgets/checkbox-flat.js
create mode 100644 ui/js/widgets/list-flat.js
create mode 100644 ui/js/widgets/menu-flat.js
create mode 100644 ui/js/widgets/message-flat.js
create mode 100644 ui/js/widgets/radio-flat.js
create mode 100644 ui/js/widgets/samples/list-sample.html
create mode 100644 ui/js/widgets/samples/menu-button-radio-checkbox-text-select-sample.html
create mode 100644 ui/js/widgets/samples/message-sample.html
create mode 100644 ui/js/widgets/selectmenu-flat.js
create mode 100644 ui/js/widgets/textbox-flat.js
--
2.1.0
9 years, 10 months
[PATCH 0/5] Create VMs Asynchronously
by Christy Perez
If a guest has a large disk, and uses a filesystem that requires
preallocation, it can take several minutes to create a VM. During that
time, kimchi is tied up by the VM creation.
This patch changes the VMs Collection to be an AsyncCollection.
Another change required for this was to create a more granular way to
query tasks. Currently it is not possible (using the API) to query tasks
for the same collection or resource type that may have different operations.
For example, VM cloning is also an asynchronous operation. For the guests tab,
the UI was querying all running tasks and displaying them with the Cloning
label. This picked up VMs that were being created as well. For more information
about how the tasks can be queried, see the updated API doc and the UI change.
Christy Perez (5):
Granular Task Queries: Backend
Granular task queries test updates
More Granular Task Queries: UI
Create guests asynchronously: Backend
Async vm creation test updates
docs/API.md | 14 +++++++
src/kimchi/asynctask.py | 6 ++-
src/kimchi/control/vms.py | 4 +-
src/kimchi/mockmodel.py | 7 ++--
src/kimchi/model/debugreports.py | 4 +-
src/kimchi/model/host.py | 4 +-
src/kimchi/model/storagepools.py | 2 +-
src/kimchi/model/storagevolumes.py | 7 ++--
src/kimchi/model/tasks.py | 1 -
src/kimchi/model/vms.py | 32 ++++++++++++---
src/kimchi/model/vmsnapshots.py | 3 +-
src/kimchi/utils.py | 4 +-
tests/test_authorization.py | 23 ++++++-----
tests/test_mockmodel.py | 15 +++++--
tests/test_model.py | 62 ++++++++++++++++++----------
tests/test_rest.py | 82 ++++++++++++++++++++++++++++----------
ui/js/src/kimchi.guest_main.js | 2 +-
17 files changed, 191 insertions(+), 81 deletions(-)
--
2.1.0
9 years, 10 months
[PATCH] Set a common message to KCHGRD6002M
by Aline Manera
The message KCHGRD6002M is used on grid for packages update and
repositories managment. So it needs to be a common message.
Signed-off-by: Aline Manera <alinefm(a)linux.vnet.ibm.com>
---
po/de_DE.po | 8 ++------
po/en_US.po | 4 ++--
po/es_ES.po | 7 ++-----
po/fr_FR.po | 10 ++--------
po/it_IT.po | 7 ++-----
po/ja_JP.po | 8 ++------
po/kimchi.pot | 4 ++--
po/ko_KR.po | 7 ++-----
po/pt_BR.po | 9 +++------
po/ru_RU.po | 7 ++-----
po/zh_CN.po | 9 +++------
po/zh_TW.po | 4 ++--
ui/pages/i18n.json.tmpl | 2 +-
13 files changed, 27 insertions(+), 59 deletions(-)
diff --git a/po/de_DE.po b/po/de_DE.po
index f271b78..6a3b7df 100644
--- a/po/de_DE.po
+++ b/po/de_DE.po
@@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: kimchi 0.1\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2015-02-25 11:06-0300\n"
+"POT-Creation-Date: 2015-02-25 16:00-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"
@@ -1455,7 +1455,7 @@ msgstr "Warnung"
msgid "Loading..."
msgstr "Wird geladen..."
-msgid "An error occurred while checking for packages update."
+msgid "An error occurred while retrieving system information."
msgstr ""
msgid "Retry"
@@ -2212,7 +2212,3 @@ msgstr "Zuordnung:"
msgid "No templates found."
msgstr "Keine Vorlagen gefunden."
-
-#~ msgid "Parameters %(params)s are not allowed to be updated in %(resource)s"
-#~ msgstr ""
-#~ "Parameter %(params)s dürfen nicht aktualisiert werden in %(resource)s"
diff --git a/po/en_US.po b/po/en_US.po
index 5377aec..6efb22c 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: 2015-02-25 11:06-0300\n"
+"POT-Creation-Date: 2015-02-25 16:00-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"
@@ -1327,7 +1327,7 @@ msgstr ""
msgid "Loading..."
msgstr ""
-msgid "An error occurred while checking for packages update."
+msgid "An error occurred while retrieving system information."
msgstr ""
msgid "Retry"
diff --git a/po/es_ES.po b/po/es_ES.po
index 1e95992..e3c567f 100644
--- a/po/es_ES.po
+++ b/po/es_ES.po
@@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: kimchi 0.1\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2015-02-25 11:06-0300\n"
+"POT-Creation-Date: 2015-02-25 16:00-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"
@@ -1474,7 +1474,7 @@ msgstr "Aviso"
msgid "Loading..."
msgstr "Cargando..."
-msgid "An error occurred while checking for packages update."
+msgid "An error occurred while retrieving system information."
msgstr ""
msgid "Retry"
@@ -2231,6 +2231,3 @@ msgstr "Asignado:"
msgid "No templates found."
msgstr "No se han encontrado plantillas."
-
-#~ msgid "Parameters %(params)s are not allowed to be updated in %(resource)s"
-#~ msgstr "Los parámetros %(params)s no pueden actualizarse en %(resource)s"
diff --git a/po/fr_FR.po b/po/fr_FR.po
index 1ee9bb9..b27ec76 100644
--- a/po/fr_FR.po
+++ b/po/fr_FR.po
@@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: kimchi 0.1\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2015-02-25 11:06-0300\n"
+"POT-Creation-Date: 2015-02-25 16:00-0300\n"
"PO-Revision-Date: 2014-08-27 21:30+0000\n"
"Last-Translator: BobSynfig\n"
"Language-Team: French (http://www.transifex.com/projects/p/kimchi/language/"
@@ -1488,9 +1488,8 @@ msgstr "Avertissement"
msgid "Loading..."
msgstr "Chargement en cours..."
-msgid "An error occurred while checking for packages update."
+msgid "An error occurred while retrieving system information."
msgstr ""
-"Une erreur est survenue lors de la vérification des mises-à-jour de paquets."
msgid "Retry"
msgstr "Essayer à nouveau"
@@ -2254,8 +2253,3 @@ msgstr "Allocation"
msgid "No templates found."
msgstr "Aucun modèle trouvé."
-
-#~ msgid "Parameters %(params)s are not allowed to be updated in %(resource)s"
-#~ msgstr ""
-#~ "Les paramètres %(params)s ne sont pas autorisés à être mis à jour dans "
-#~ "%(resource)s"
diff --git a/po/it_IT.po b/po/it_IT.po
index b5e2866..81e49f8 100644
--- a/po/it_IT.po
+++ b/po/it_IT.po
@@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: kimchi 0.1\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2015-02-25 11:06-0300\n"
+"POT-Creation-Date: 2015-02-25 16:00-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"
@@ -1443,7 +1443,7 @@ msgstr "Avvertenza"
msgid "Loading..."
msgstr "Caricamento in corso..."
-msgid "An error occurred while checking for packages update."
+msgid "An error occurred while retrieving system information."
msgstr ""
msgid "Retry"
@@ -2199,6 +2199,3 @@ msgstr "Allocazione:"
msgid "No templates found."
msgstr "Nessun modello trovato."
-
-#~ msgid "Parameters %(params)s are not allowed to be updated in %(resource)s"
-#~ msgstr "Non è consentito aggiornare i parametri %(params)s in %(resource)s"
diff --git a/po/ja_JP.po b/po/ja_JP.po
index e81cddb..e29de8c 100644
--- a/po/ja_JP.po
+++ b/po/ja_JP.po
@@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: kimchi 0.1\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2015-02-25 11:06-0300\n"
+"POT-Creation-Date: 2015-02-25 16:00-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"
@@ -1448,7 +1448,7 @@ msgstr "警告"
msgid "Loading..."
msgstr "ロードしています..."
-msgid "An error occurred while checking for packages update."
+msgid "An error occurred while retrieving system information."
msgstr ""
msgid "Retry"
@@ -2193,7 +2193,3 @@ msgstr "割り振り:"
msgid "No templates found."
msgstr "テンプレートが見つかりません。"
-
-#~ msgid "Parameters %(params)s are not allowed to be updated in %(resource)s"
-#~ msgstr ""
-#~ "パラメーター %(params)s を %(resource)s で更新することは許可されません"
diff --git a/po/kimchi.pot b/po/kimchi.pot
index cba1e2b..ee30a71 100755
--- a/po/kimchi.pot
+++ b/po/kimchi.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2015-02-25 11:06-0300\n"
+"POT-Creation-Date: 2015-02-25 16:00-0300\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL(a)li.org>\n"
@@ -1327,7 +1327,7 @@ msgstr ""
msgid "Loading..."
msgstr ""
-msgid "An error occurred while checking for packages update."
+msgid "An error occurred while retrieving system information."
msgstr ""
msgid "Retry"
diff --git a/po/ko_KR.po b/po/ko_KR.po
index 1da6a20..53fb4bf 100644
--- a/po/ko_KR.po
+++ b/po/ko_KR.po
@@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: kimchi 0.1\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2015-02-25 11:06-0300\n"
+"POT-Creation-Date: 2015-02-25 16:00-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"
@@ -1380,7 +1380,7 @@ msgstr "경고"
msgid "Loading..."
msgstr "로드 중..."
-msgid "An error occurred while checking for packages update."
+msgid "An error occurred while retrieving system information."
msgstr ""
msgid "Retry"
@@ -2116,6 +2116,3 @@ msgstr "할당:"
msgid "No templates found."
msgstr "템플리트가 없습니다."
-
-#~ msgid "Parameters %(params)s are not allowed to be updated in %(resource)s"
-#~ msgstr "%(resource)s에서는 %(params)s 매개변수를 업데이트할 수 없음"
diff --git a/po/pt_BR.po b/po/pt_BR.po
index 1159157..0514b62 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: 2015-02-25 11:06-0300\n"
+"POT-Creation-Date: 2015-02-25 16:00-0300\n"
"PO-Revision-Date: 2014-12-02 12:15+0000\n"
"Last-Translator: Crístian Deives dos Santos Viana <cristiandeives@gmail."
"com>\n"
@@ -1502,8 +1502,8 @@ msgstr "Aviso"
msgid "Loading..."
msgstr "Carregando..."
-msgid "An error occurred while checking for packages update."
-msgstr "Um erro ocorreu ao verificar port atualização de pacotes."
+msgid "An error occurred while retrieving system information."
+msgstr ""
msgid "Retry"
msgstr "Tentar novamente"
@@ -2264,6 +2264,3 @@ msgstr "Alocação"
msgid "No templates found."
msgstr "Nenhum modelo encontrado."
-
-#~ msgid "Parameters %(params)s are not allowed to be updated in %(resource)s"
-#~ msgstr "Paramêtros %(params)s não podem ser atualizados em %(resource)s"
diff --git a/po/ru_RU.po b/po/ru_RU.po
index ce80d38..389c853 100644
--- a/po/ru_RU.po
+++ b/po/ru_RU.po
@@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: kimchi 0.1\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2015-02-25 11:06-0300\n"
+"POT-Creation-Date: 2015-02-25 16:00-0300\n"
"PO-Revision-Date: 2014-08-28 17:32+0000\n"
"Last-Translator: Aline Manera <aline.manera(a)gmail.com>\n"
"Language-Team: Russian (http://www.transifex.com/projects/p/kimchi/language/"
@@ -1381,7 +1381,7 @@ msgstr "Предупреждение"
msgid "Loading..."
msgstr "Загружается..."
-msgid "An error occurred while checking for packages update."
+msgid "An error occurred while retrieving system information."
msgstr ""
msgid "Retry"
@@ -2120,6 +2120,3 @@ msgstr "Выделение ресурсов:"
msgid "No templates found."
msgstr "Не найдены шаблоны."
-
-#~ msgid "Parameters %(params)s are not allowed to be updated in %(resource)s"
-#~ msgstr "Обновление параметров %(params)s запрещено в %(resource)s"
diff --git a/po/zh_CN.po b/po/zh_CN.po
index d739098..fa9e5d2 100644
--- a/po/zh_CN.po
+++ b/po/zh_CN.po
@@ -20,7 +20,7 @@ msgid ""
msgstr ""
"Project-Id-Version: kimchi 0.1\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2015-02-25 11:06-0300\n"
+"POT-Creation-Date: 2015-02-25 16:00-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"
@@ -1361,8 +1361,8 @@ msgstr "警告"
msgid "Loading..."
msgstr "正在加载..."
-msgid "An error occurred while checking for packages update."
-msgstr "查找软件包更新时出现错误。"
+msgid "An error occurred while retrieving system information."
+msgstr ""
msgid "Retry"
msgstr "重试"
@@ -2084,6 +2084,3 @@ msgstr "分配"
msgid "No templates found."
msgstr "没有发现模板"
-
-#~ msgid "Parameters %(params)s are not allowed to be updated in %(resource)s"
-#~ msgstr "不允许更新%(resource)s的%(params)s参数。"
diff --git a/po/zh_TW.po b/po/zh_TW.po
index 1d62ece..a41a046 100644
--- a/po/zh_TW.po
+++ b/po/zh_TW.po
@@ -5,7 +5,7 @@ msgid ""
msgstr ""
"Project-Id-Version: kimchi 0.1\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2015-02-25 11:06-0300\n"
+"POT-Creation-Date: 2015-02-25 16:00-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"
@@ -1332,7 +1332,7 @@ msgstr "警告"
msgid "Loading..."
msgstr "正在載入..."
-msgid "An error occurred while checking for packages update."
+msgid "An error occurred while retrieving system information."
msgstr ""
msgid "Retry"
diff --git a/ui/pages/i18n.json.tmpl b/ui/pages/i18n.json.tmpl
index b170d26..8e45b51 100644
--- a/ui/pages/i18n.json.tmpl
+++ b/ui/pages/i18n.json.tmpl
@@ -50,7 +50,7 @@
"KCHAPI6008M": "$_("Creating...")",
"KCHGRD6001M": "$_("Loading...")",
- "KCHGRD6002M": "$_("An error occurred while checking for packages update.")",
+ "KCHGRD6002M": "$_("An error occurred while retrieving system information.")",
"KCHGRD6003M": "$_("Retry")",
"KCHGRD6004M": "$_("Detailed message:")",
--
2.1.0
9 years, 10 months
[PATCH] Bug fix: Properly reload grid content
by Aline Manera
The grid reload function requires a data argument related to the grid
object. It is passed to the handler in the event.data property each time
an event is trigered.
So, properly get the grid object on event.data property to do the reload.
To test this, you can manually lock YUM/apt on system by running a
system update command and then verify on Kimchi that the packages
update and repositories information was not loaded. Stop the system
update you have manually started and click on "Retry" button. Without
this patch you will get a Javascript error:
'grid' is undefined.
And with that the content will be properly reloaded.
Signed-off-by: Aline Manera <alinefm(a)linux.vnet.ibm.com>
---
ui/js/src/kimchi.grid.js | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/ui/js/src/kimchi.grid.js b/ui/js/src/kimchi.grid.js
index eccac1c..6fed753 100644
--- a/ui/js/src/kimchi.grid.js
+++ b/ui/js/src/kimchi.grid.js
@@ -503,7 +503,7 @@ kimchi.widget.Grid.prototype = (function() {
$('.retry-button', domNode).on('click', {
grid: this
}, function(event) {
- grid.reload();
+ event.data.grid.reload();
});
};
--
2.1.0
9 years, 10 months
[PATCH] Bug fix: Properly raise authenticate error when login fails
by Aline Manera
Commit 3e25bdfc moved the PAM authentication to a sub process to avoid
file handler leak. But on any error it must be raised in the main
process, otherwise it will not reach the user.
Signed-off-by: Aline Manera <alinefm(a)linux.vnet.ibm.com>
---
src/kimchi/auth.py | 15 +++++++--------
1 file changed, 7 insertions(+), 8 deletions(-)
diff --git a/src/kimchi/auth.py b/src/kimchi/auth.py
index dee4c37..1a52185 100644
--- a/src/kimchi/auth.py
+++ b/src/kimchi/auth.py
@@ -30,13 +30,11 @@ import termios
import time
import urllib2
-
from kimchi import template
from kimchi.config import config
from kimchi.exception import InvalidOperation, OperationFailed
from kimchi.utils import get_all_tabs, run_command
-
USER_NAME = 'username'
USER_GROUPS = 'groups'
USER_ROLES = 'roles'
@@ -164,25 +162,26 @@ class PAMUser(User):
return None
return resp
- result.value = False
auth = PAM.pam()
auth.start(service)
auth.set_item(PAM.PAM_USER, username)
auth.set_item(PAM.PAM_CONV, _pam_conv)
try:
auth.authenticate()
+ result.value = 0
except PAM.error, (resp, code):
- msg_args = {'username': username, 'code': code}
- raise OperationFailed("KCHAUTH0001E", msg_args)
-
- result.value = True
+ result.value = code
result = multiprocessing.Value('i', 0, lock=False)
p = multiprocessing.Process(target=_auth, args=(result, ))
p.start()
p.join()
- return result.value
+ if result.value != 0:
+ msg_args = {'username': username, 'code': result.value}
+ raise OperationFailed("KCHAUTH0001E", msg_args)
+
+ return True
class LDAPUser(User):
--
2.1.0
9 years, 10 months