From: ShaoHe Feng <shaohef(a)linux.vnet.ibm.com>
After set the password, only the one knows the password can access
the vm graphic.
Signed-off-by: ShaoHe Feng <shaohef(a)linux.vnet.ibm.com>
Signed-off-by: Simon Jin <simonjin(a)linux.vnet.ibm.com>
---
ui/css/theme-default/guest-edit.css | 36 +++++++++++++++++++++++++++++++++++-
ui/js/src/kimchi.guest_edit_main.js | 32 +++++++++++++++++++++++++++++++-
ui/pages/guest-edit.html.tmpl | 15 +++++++++++++++
3 files changed, 81 insertions(+), 2 deletions(-)
diff --git a/ui/css/theme-default/guest-edit.css b/ui/css/theme-default/guest-edit.css
index 74c2237..eeea1cd 100644
--- a/ui/css/theme-default/guest-edit.css
+++ b/ui/css/theme-default/guest-edit.css
@@ -29,7 +29,8 @@
}
#form-guest-edit-general,
-#form-guest-edit-storage {
+#form-guest-edit-storage,
+#form-guest-edit-password {
padding: 1em;
}
@@ -67,6 +68,39 @@
width: 486px;
}
+#form-guest-edit-password .guest-edit-wrapper-controls {
+ width: 486px;
+ margin: auto;
+ text-align: center;
+}
+
+.div-guest-edit-password {
+ margin: auto;
+ text-align: center;
+ padding-bottom: 5px;
+ padding-top: 7px;
+}
+
+.guest-edit-wrapper-controls input[type="password"] {
+ font-size: 16px;
+ height: 38px;
+ background: #fff;
+ -webkit-border-radius: 5px;
+ border-radius: 5px;
+ box-shadow: 2px 2px 2px #eee inset;
+ border-top: 1px solid #bbb;
+ border-left: 1px solid #bbb;
+ padding-left: 10px;
+ width: 220px;
+ margin: auto;
+ text-align: left;
+}
+
+.err-mess {
+ color: #C85305;
+ text-align: center;
+}
+
.guest-edit-wrapper-controls input[type="text"] {
font-size: 16px;
height: 38px;
diff --git a/ui/js/src/kimchi.guest_edit_main.js b/ui/js/src/kimchi.guest_edit_main.js
index 7d24b44..482fb7a 100644
--- a/ui/js/src/kimchi.guest_edit_main.js
+++ b/ui/js/src/kimchi.guest_edit_main.js
@@ -17,6 +17,8 @@
*/
kimchi.guest_edit_main = function() {
var buttonContainer = $('#action-button-container');
+ var password1 = $("#form-guest-edit-password input[name='pw1']");
+ var password2 = $("#form-guest-edit-password input[name='pw2']");
$('#guest-edit-tabs').tabs({
beforeActivate: function(event, ui) {
var display_list = ['form-guest-edit-general',
'form-guest-edit-permission']
@@ -25,12 +27,24 @@ kimchi.guest_edit_main = function() {
if(display_list.indexOf($(deactivated).attr('id')) >= 0) {
$(buttonContainer).removeClass('hidden');
}
+ if($(deactivated).attr('id') ===
'form-guest-edit-password'){
+ password2.val().length &&
$(buttonContainer).removeClass('hidden');
+ }
}
});
var guestEditForm = $('#form-guest-edit-general');
var saveButton = $('#guest-edit-button-save');
+ password1.on("keyup", function(event) {
+ $("#div-guest-edit-password-mess").hide();
+ });
+
+ password2.on("keyup", function(event) {
+ $("#div-guest-edit-password-mess").hide();
+ $(buttonContainer).removeClass('hidden');
+ });
+
var refreshCDROMs = function() {
kimchi.listVMStorages({
vm: kimchi.selectedGuest
@@ -398,6 +412,22 @@ kimchi.guest_edit_main = function() {
});
}
+ var passwordSubmit = function(event) {
+ if (password1.val() != password2.val()){
+ $("#div-guest-edit-password-mess").show();
+ }
+ else {
+ var data = {'ticket': {'passwd': password1.val()}};
+ kimchi.updateVM(kimchi.selectedGuest, data, function() {
+ kimchi.listVmsAuto();
+ kimchi.window.close();
+ }, function(err) {
+ kimchi.message.error(err.responseJSON.reason);
+ $(saveButton).prop('disabled', false);
+ });
+ }
+ }
+
var permissionSubmit = function(event) {
var content = { users: [], groups: [] };
$("#permission-sel-users").children().each(function(){
@@ -412,7 +442,7 @@ kimchi.guest_edit_main = function() {
}
// tap map, "general": 0, "storage": 1, "interface": 2,
"permission": 3, "password": 4
- var submit_map = {0: generalSubmit, 3:permissionSubmit};
+ var submit_map = {0: generalSubmit, 3:permissionSubmit, 4: passwordSubmit};
var submitForm = function(event) {
var current = $('#guest-edit-tabs').tabs( "option",
"active" );
var submitFun = submit_map[current];
diff --git a/ui/pages/guest-edit.html.tmpl b/ui/pages/guest-edit.html.tmpl
index f24f7de..22b5207 100644
--- a/ui/pages/guest-edit.html.tmpl
+++ b/ui/pages/guest-edit.html.tmpl
@@ -41,6 +41,9 @@
<li>
<a
href="#form-guest-edit-permission">$_("Permission")</a>
</li>
+ <li>
+ <a
href="#form-guest-edit-password">$_("Password")</a>
+ </li>
</ul>
<form id="form-guest-edit-general">
<fieldset class="guest-edit-fieldset">
@@ -142,6 +145,18 @@
</div>
</div>
</form>
+ <form id="form-guest-edit-password"
class="guest-edit-password">
+ <div class="guest-edit-wrapper-controls">
+ <div class="div-guest-edit-password">
$_("Password:")</div>
+ <input type="password" name="pw1"
autofocus>
+ <div class="div-guest-edit-password">
$_("Confirm Password:")</div>
+ <input type="password" name="pw2">
+ </div>
+ <div id="div-guest-edit-password-mess"
class="err-mess" style="display: none;">
+ $_("The above two passwords are not same, please re-enter
them!")
+ </div>
+ <div class="body"></div>
+ </form>
</div>
</div>
<footer>
--
1.9.3