SHARE
TWEET

Untitled

a guest Apr 5th, 2012 32 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. From 6bf036040e27fa3f9e0fe9e70abba1d3ab1f2747 Mon Sep 17 00:00:00 2001
  2. From: Loïc Eggermont <contact@neliger.com>
  3. Date: Thu, 5 Apr 2012 14:16:15 +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              |    6 ++++++
  13.  www/manager/window/LoginWindow.js |    8 ++++++++
  14.  2 files changed, 14 insertions(+)
  15.  
  16. diff --git a/www/manager/index.pl b/www/manager/index.pl
  17. index c8e1c81..711766a 100644
  18. --- a/www/manager/index.pl
  19. +++ b/www/manager/index.pl
  20. @@ -101,6 +101,12 @@ my $page = <<_EOD;
  21.      <form id="history-form" class="x-hidden">
  22.      <input type="hidden" id="x-history-field"/>
  23.      </form>
  24. +    <!-- Fields required for login form completion -->
  25. +    <iframe name="hiddenloginiframe" class="x-hidden" src=""></iframe>
  26. +    <form name="hiddenlogin" class="x-hidden" target="hiddenloginiframe">
  27. +    <input type="text" name="username" autocomplete="on" value=""/>
  28. +    <input type="password" name="password" autocomplete="on" value=""/>
  29. +    </form>
  30.    </body>
  31.  </html>
  32.  _EOD
  33. diff --git a/www/manager/window/LoginWindow.js b/www/manager/window/LoginWindow.js
  34. index 74fba4b..85faf55 100644
  35. --- a/www/manager/window/LoginWindow.js
  36. +++ b/www/manager/window/LoginWindow.js
  37. @@ -63,11 +63,14 @@ Ext.define('PVE.window.LoginWindow', {
  38.                         xtype: 'textfield',
  39.                         fieldLabel: gettext('User name'),
  40.                         name: 'username',
  41. +                       inputId: 'loginform-username',
  42. +                       value: document.hiddenlogin.username.value,
  43.                         blankText: gettext("Enter your user name"),
  44.                         listeners: {
  45.                             afterrender: function(f) {
  46.                                 // Note: only works if we pass delay 1000
  47.                                 f.focus(true, 1000);
  48. +                               Ext.Function.defer(function() { document.getElementById('loginform-username').value=document.hiddenlogin.username.value; document.getElementById('loginform-password').value=document.hiddenlogin.password.value; }, 1000);
  49.                             },
  50.                             specialkey: function(f, e) {
  51.                                 if (e.getKey() === e.ENTER) {
  52. @@ -86,6 +89,8 @@ Ext.define('PVE.window.LoginWindow', {
  53.                         inputType: 'password',
  54.                         fieldLabel: gettext('Password'),
  55.                         name: 'password',
  56. +                       inputId: 'loginform-password',
  57. +                       value: document.hiddenlogin.password.value,
  58.                         blankText: gettext("Enter your password"),
  59.                         listeners: {
  60.                             specialkey: function(field, e) {
  61. @@ -119,6 +124,9 @@ Ext.define('PVE.window.LoginWindow', {
  62.                     {
  63.                         text: gettext('Login'),
  64.                         handler: function(){
  65. +                           document.hiddenlogin.username.value=document.getElementById('loginform-username').value;
  66. +                           document.hiddenlogin.password.value=document.getElementById('loginform-password').value;
  67. +                           document.hiddenlogin.submit();
  68.                             me.onLogon();
  69.                         }
  70.                     }
  71. --
  72. 1.7.9.4
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top