Advertisement
Guest User

Untitled

a guest
Apr 1st, 2012
182
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.65 KB | None | 0 0
  1. From 806903a111203aa6b4342a886709ea8ea278cbd9 Mon Sep 17 00:00:00 2001
  2. From: =?UTF-8?q?Lo=C3=AFc=20Eggermont?= <contact@neliger.com>
  3. Date: Sat, 31 Mar 2012 21:32:19 +0200
  4. Subject: [PATCH] Hack for allowing browser to autofill the login form
  5. MIME-Version: 1.0
  6. Content-Type: text/plain; charset=UTF-8
  7. Content-Transfer-Encoding: 8bit
  8.  
  9.  
  10. Signed-off-by: Loïc Eggermont <contact@neliger.com>
  11. ---
  12. www/manager/index.pl | 14 ++++++++++----
  13. www/manager/window/LoginWindow.js | 31 +++++++++++++++++++------------
  14. 2 files changed, 29 insertions(+), 16 deletions(-)
  15.  
  16. diff --git a/www/manager/index.pl b/www/manager/index.pl
  17. index c8e1c81..7e3ab27 100644
  18. --- a/www/manager/index.pl
  19. +++ b/www/manager/index.pl
  20. @@ -22,7 +22,7 @@ sub send_output {
  21. }
  22.  
  23. # NOTE: Requests to this page are not authenticated
  24. -# so we must be very careful here
  25. +# so we must be very careful here
  26.  
  27. my $lang = 'en';
  28.  
  29. @@ -86,21 +86,27 @@ my $page = <<_EOD;
  30. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  31.  
  32. <title>Proxmox Virtual Environment</title>
  33. -
  34. +
  35. <link rel="stylesheet" type="text/css" href="/pve2/ext4/resources/css/ext-all.css" />
  36. <link rel="stylesheet" type="text/css" href="/pve2/css/ext-pve.css" />
  37. -
  38. +
  39. <script type="text/javascript">$i18nsrc</script>
  40. <script type="text/javascript" src="/pve2/ext4/ext-all-debug.js"></script>
  41. <script type="text/javascript" src="/pve2/ext4/pvemanagerlib.js"></script>
  42. <script type="text/javascript">$jssrc</script>
  43. -
  44. +
  45. </head>
  46. <body>
  47. <!-- Fields required for history management -->
  48. <form id="history-form" class="x-hidden">
  49. <input type="hidden" id="x-history-field"/>
  50. </form>
  51. + <!-- Fields required for login form completion -->
  52. + <iframe name="hiddenloginiframe" class="x-hidden" src=""></iframe>
  53. + <form name="hiddenlogin" class="x-hidden" target="hiddenloginiframe">
  54. + <input type="text" name="username" autocomplete="on" value=""/>
  55. + <input type="password" name="password" autocomplete="on" value=""/>
  56. + </form>
  57. </body>
  58. </html>
  59. _EOD
  60. diff --git a/www/manager/window/LoginWindow.js b/www/manager/window/LoginWindow.js
  61. index 74fba4b..034d73f 100644
  62. --- a/www/manager/window/LoginWindow.js
  63. +++ b/www/manager/window/LoginWindow.js
  64. @@ -13,8 +13,8 @@ Ext.define('PVE.window.LoginWindow', {
  65. form.submit({
  66. failure: function(f, resp){
  67. me.el.unmask();
  68. - Ext.MessageBox.alert(gettext('Error'),
  69. - gettext("Login failed. Please try again"),
  70. + Ext.MessageBox.alert(gettext('Error'),
  71. + gettext("Login failed. Please try again"),
  72. function() {
  73. var uf = form.findField('username');
  74. uf.focus(true, true);
  75. @@ -22,7 +22,7 @@ Ext.define('PVE.window.LoginWindow', {
  76. },
  77. success: function(f, resp){
  78. me.el.unmask();
  79. -
  80. +
  81. var handler = me.handler || Ext.emptyFn;
  82. handler.call(me, resp.result.data);
  83. me.close();
  84. @@ -57,12 +57,14 @@ Ext.define('PVE.window.LoginWindow', {
  85. anchor: '-5',
  86. allowBlank: false
  87. },
  88. -
  89. +
  90. items: [
  91. - {
  92. - xtype: 'textfield',
  93. - fieldLabel: gettext('User name'),
  94. + {
  95. + xtype: 'textfield',
  96. + fieldLabel: gettext('User name'),
  97. name: 'username',
  98. + inputId: 'loginform-username',
  99. + value: document.hiddenlogin.username.value,
  100. blankText: gettext("Enter your user name"),
  101. listeners: {
  102. afterrender: function(f) {
  103. @@ -81,11 +83,13 @@ Ext.define('PVE.window.LoginWindow', {
  104. }
  105. }
  106. },
  107. - {
  108. - xtype: 'textfield',
  109. + {
  110. + xtype: 'textfield',
  111. inputType: 'password',
  112. - fieldLabel: gettext('Password'),
  113. + fieldLabel: gettext('Password'),
  114. name: 'password',
  115. + inputId: 'loginform-password',
  116. + value: document.hiddenlogin.password.value,
  117. blankText: gettext("Enter your password"),
  118. listeners: {
  119. specialkey: function(field, e) {
  120. @@ -99,9 +103,9 @@ Ext.define('PVE.window.LoginWindow', {
  121. xtype: 'pveRealmComboBox',
  122. name: 'realm'
  123. },
  124. - {
  125. + {
  126. xtype: 'pveLanguageSelector',
  127. - fieldLabel: gettext('Language'),
  128. + fieldLabel: gettext('Language'),
  129. value: Ext.util.Cookies.get('PVELangCookie') || 'en',
  130. name: 'lang',
  131. submitValue: false,
  132. @@ -119,6 +123,9 @@ Ext.define('PVE.window.LoginWindow', {
  133. {
  134. text: gettext('Login'),
  135. handler: function(){
  136. + document.hiddenlogin.username.value=document.getElementById('loginform-username').value;
  137. + document.hiddenlogin.password.value=document.getElementById('loginform-password').value;
  138. + document.hiddenlogin.submit();
  139. me.onLogon();
  140. }
  141. }
  142. --
  143. 1.7.8.3
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement