roojs-core.js
[roojs1] / Roo / Login.js
index 4ae87d7..b5a2f89 100644 (file)
@@ -2,46 +2,46 @@
 
 
 /**
-* A generic Login Dialog..... - only one needed in theory!?!?
-*
-* Fires XComponent builder on success...
-* 
-* Sends 
-*    username,password, lang = for login actions.
-*    check = 1 for periodic checking that sesion is valid.
-*    passwordRequest = email request password
-*    logout = 1 = to logout
-* 
-* Affects: (this id="????" elements)
-*   loading  (removed) (used to indicate application is loading)
-*   loading-mask (hides) (used to hide application when it's building loading)
-*   
-* 
-* Usage: 
-*    
-* 
-* Myapp.login = Roo.Login({
-    url: xxxx,
-  
-    realm : 'Myapp', 
-    
-    
-    method : 'POST',
-    
-    
-    * 
-})
-* 
-* 
-* 
-* Ext.apply(_T, _T[lang]);
-* 
-**/
+ * @class Roo.Login
+ * @extends Roo.LayoutDialog
+ * A generic Login Dialog..... - only one needed in theory!?!?
+ *
+ * Fires XComponent builder on success...
+ * 
+ * Sends 
+ *    username,password, lang = for login actions.
+ *    check = 1 for periodic checking that sesion is valid.
+ *    passwordRequest = email request password
+ *    logout = 1 = to logout
+ * 
+ * Affects: (this id="????" elements)
+ *   loading  (removed) (used to indicate application is loading)
+ *   loading-mask (hides) (used to hide application when it's building loading)
+ *   
+ * 
+ * Usage: 
+ *    
+ * 
+ * Myapp.login = Roo.Login({
+     url: xxxx,
+   
+     realm : 'Myapp', 
+     
+     
+     method : 'POST',
+     
+     
+     
+ })
+ 
+ * 
+ 
+ **/
  
 Roo.Login = function(cfg)
 {
     this.addEvents({
-        'refreshed' : true,
+        'refreshed' : true
     });
     
     Roo.apply(this,cfg);
@@ -260,10 +260,10 @@ Roo.extend(Roo.Login, Roo.LayoutDialog, {
         this.fireEvent('refreshed', au);
         //Pman.Tab.FaxQueue.newMaxId(au.faxMax);
         //Pman.Tab.FaxTab.setTitle(au.faxNumPending);
-        
+        au.lang = au.lang || 'en';
         //this.switchLang(Roo.state.Manager.get('Pman.Login.lang', 'en'));
         Roo.state.Manager.set( this.realm + 'lang' , au.lang);
-        this.switchLang(au.lang);
+        this.switchLang(au.lang );
         
      
         // open system... - -on setyp..
@@ -293,11 +293,13 @@ Roo.extend(Roo.Login, Roo.LayoutDialog, {
     
     switchLang : function (lang) 
     {
-        if (!_T && lang != 'en') {
-            Roo.MessageBox.alert("Sorry", "Language not available yet (" + lang +')');
+        _T = typeof(_T) == 'undefined' ? false : _T;
+          if (!_T || !lang.length) {
             return;
         }
-        if (!_T || !lang.length) {
+        
+        if (!_T && lang != 'en') {
+            Roo.MessageBox.alert("Sorry", "Language not available yet (" + lang +')');
             return;
         }
         
@@ -339,7 +341,8 @@ Roo.extend(Roo.Login, Roo.LayoutDialog, {
     title: "Login",
     modal: true,
     width:  350,
-    height: 230,
+    //height: 230,
+    height: 180,
     shadow: true,
     minWidth:200,
     minHeight:180,
@@ -360,10 +363,11 @@ Roo.extend(Roo.Login, Roo.LayoutDialog, {
         
         show  : function(dlg)
         {
-            this.form = this.items[0];
+            //console.log(this);
+            this.form = this.layout.getRegion('center').activePanel.form;
             this.form.dialog = dlg;
             this.buttons[0].form = this.form;
-            this.buttons[0].dialog = dlg
+            this.buttons[0].dialog = dlg;
             this.buttons[1].form = this.form;
             this.buttons[1].dialog = dlg;
            
@@ -413,7 +417,7 @@ Roo.extend(Roo.Login, Roo.LayoutDialog, {
                 'lang' : Roo.state.Manager.get(this.realm + '.lang', 'en')
             });
             
-            this.switchLang(Roo.state.Manager.get(this.realm + '.lang', ''));
+            this.switchLang(Roo.state.Manager.get(this.realm + '.lang', 'en'));
             if (this.form.findField('username').getValue().length > 0 ){
                 this.form.findField('password').focus();
             } else {
@@ -429,6 +433,7 @@ Roo.extend(Roo.Login, Roo.LayoutDialog, {
             xns : Roo,
             region: 'center',
             fitToFrame : true,
+            
             items : [
     
                 {
@@ -436,7 +441,8 @@ Roo.extend(Roo.Login, Roo.LayoutDialog, {
                     xtype : 'Form',
                     xns : Roo.form,
                     labelWidth: 100,
-                    style : 'margin : 10px;',
+                    style : 'margin: 10px;',
+                    
                     listeners : {
                         actionfailed : function(f, act) {
                             // form can return { errors: .... }
@@ -496,7 +502,7 @@ Roo.extend(Roo.Login, Roo.LayoutDialog, {
                                         this.form.dialog.el.mask("Logging in");
                                         this.form.doAction('submit', {
                                             url: this.form.dialog.url,
-                                            method: this.form.dialog.method,
+                                            method: this.form.dialog.method
                                         });
                                     }
                                 }
@@ -535,67 +541,69 @@ Roo.extend(Roo.Login, Roo.LayoutDialog, {
                         
                         }
                     ]
-                },
+                }
                   
                 
-            ],
-            buttons : [
-                {
-                    xtype : 'Button',
-                    xns : 'Roo',
-                    text : "Forgot Password",
-                    listeners : {
-                        click : function() {
-                    
-                            var n = this.form.findField('username').getValue();
-                            if (!n.length) {
-                                Roo.MessageBox.alert("Error", "Fill in your email address");
-                                return;
-                            }
-                            Roo.Ajax.request({
-                                url: this.dialog.url,
-                                params: {
-                                    passwordRequest: n
-                                },
-                                method: this.dialog.method,
-                                success:  function(response, opts)  {  // check successfull...
-                                
-                                    var res = this.dialog.processResponse(response);
-                                    if (!res.success) { // error!
-                                       Roo.MessageBox.alert("Error" ,
-                                            res.errorMsg ? res.errorMsg  : "Problem Requesting Password Reset");
-                                       return;
-                                    }
-                                    Roo.MessageBox.alert("Notice" ,
-                                        "Please check you email for the Password Reset message");
-                                },
-                                failure : function() {
-                                    Roo.MessageBox.alert("Error" , "Problem Requesting Password Reset");
-                                }
-                                
-                            });
-                        }
+            ]
+        }
+    ],
+    buttons : [
+        {
+            xtype : 'Button',
+            xns : 'Roo',
+            text : "Forgot Password",
+            listeners : {
+                click : function() {
+                    //console.log(this);
+                    var n = this.form.findField('username').getValue();
+                    if (!n.length) {
+                        Roo.MessageBox.alert("Error", "Fill in your email address");
+                        return;
                     }
-                },
-                {
-                    xtype : 'Button',
-                    xns : 'Roo',
-                    text : "Login",
-                    listeners : {
+                    Roo.Ajax.request({
+                        url: this.dialog.url,
+                        params: {
+                            passwordRequest: n
+                        },
+                        method: this.dialog.method,
+                        success:  function(response, opts)  {  // check successfull...
                         
-                        click : function () {
-                                
-                            this.dialog.el.mask("Logging in");
-                            this.form.doAction('submit', {
-                                    url: this.dialog.url,
-                                    method: this.dialog.method
-                            });
+                            var res = this.dialog.processResponse(response);
+                            if (!res.success) { // error!
+                               Roo.MessageBox.alert("Error" ,
+                                    res.errorMsg ? res.errorMsg  : "Problem Requesting Password Reset");
+                               return;
+                            }
+                            Roo.MessageBox.alert("Notice" ,
+                                "Please check you email for the Password Reset message");
+                        },
+                        failure : function() {
+                            Roo.MessageBox.alert("Error" , "Problem Requesting Password Reset");
                         }
-                    }
+                        
+                    });
                 }
-            ]
+            }
+        },
+        {
+            xtype : 'Button',
+            xns : 'Roo',
+            text : "Login",
+            listeners : {
+                
+                click : function () {
+                        
+                    this.dialog.el.mask("Logging in");
+                    this.form.doAction('submit', {
+                            url: this.dialog.url,
+                            method: this.dialog.method
+                    });
+                }
+            }
         }
     ]
+  
+  
 })