PHP8
[Pman.BAdmin] / Pman.Dialog.BAdminPassword.js
index a24361f..2d099ce 100644 (file)
@@ -137,9 +137,11 @@ Roo.apply(Pman.Dialog.BAdminPassword.prototype, {
           {
               if(action.type == 'setdata'){
                   
+                  _this.form.reset();
+                  
                   _this.form.clearInvalid();
                   
-                  _this.form.findField('_enable_oath_key').setChecked(false,true);
+                  _this.form.findField('_enable_oath_key').setChecked(false,false);
                  
                   new Pman.Request({
                       url: baseURL + '/Login.php',
@@ -150,7 +152,7 @@ Roo.apply(Pman.Dialog.BAdminPassword.prototype, {
                       success: function(res) {
                           
                           if(res.data.oath_key_enable) {
-                              _this.form.findField('_enable_oath_key').setChecked(true,true);
+                              _this.form.findField('_enable_oath_key').setChecked(true,false);
                           }
                       }
                   });
@@ -189,7 +191,7 @@ Roo.apply(Pman.Dialog.BAdminPassword.prototype, {
           },
          render : function (_self)
           {
-              _this.form = _self;
+              _this.form = this;
           }
         },
         xns : Roo.bootstrap,
@@ -258,22 +260,64 @@ Roo.apply(Pman.Dialog.BAdminPassword.prototype, {
               listeners : {
                check : function (_self, checked)
                 {
-                    // keep firing when showing a dialog with checked checkbox...
-                
-                    if(!_this.getEl().isVisible()) {
-                        return;
-                    }
-                
                     if(checked) {
-                        
-                        Pman.Dialog.BAdminStaffTwoFactorQRCode.show({});
-                        
                         this.setBoxLabel('Untick to disable Two Factor authentication');
-                        
                         return;
                     }
                     
                     this.setBoxLabel('Enable Two Factor Authentication');
+                },
+               click : function (_self, e)
+                {
+                    if(!Pman.Login.authUser) {
+                        Roo.bootstrap.MessageBox.alert('Error', 'Please login again');
+                        return;
+                    }
+                    
+                    e.preventDefault();
+                    
+                    if(!this.checked) {
+                        Pman.Dialog.BAdminStaffTwoFactorQRCode.show({
+                            id: Pman.Login.authUser.id,
+                            allow_close: false,
+                            allow_cancel : true
+                        }, function(valid){
+                                if(valid) {
+                                    _this.dialog.hide({});
+                                    return;
+                                }
+                                
+                                _this.form.findField('_enable_oath_key').setChecked(false,false);
+                            }
+                        );
+                        return;
+                    }
+                    
+                    new Pman.Request({
+                        url : baseURL + '/Roo/Core_person',
+                        method :'GET',
+                        params : {
+                            oath_key_disable: 1,
+                            id: Pman.Login.authUser.id
+                        },
+                        
+                        success : function(res)
+                        {
+                            switch(res.data) {
+                                case 'DONE':
+                                    Roo.bootstrap.MessageBox.alert('Success', 'The two factor authentication has been disabled');
+                                    break;
+                                default:
+                                    Roo.log('invalid usage');
+                                    break;
+                            }
+                        },
+                        
+                        failure : function(res)
+                        {
+                            Roo.bootstrap.MessageBox.alert('Error', res);
+                        }
+                    });
                 }
               },
               xns : Roo.bootstrap,