Proxy.js 4.48 KB



 function setModelToForm(proxy) {
    	
    	var form=Ext.getCmp("formproxy");
    	
    	var fsProxy = form.down('#fs'+proxy.protocol);
      	
    	if (proxy.enabled) {
      		
    		fsProxy.checkboxCmp.setValue(true);
    		fsProxy.down('#'+proxy.protocol+'Adress').setValue(proxy.host);
    		fsProxy.down('#'+proxy.protocol+'Port').setValue(proxy.port);
      		
      		var fsAuth = fsProxy.down('#fs'+proxy.protocol+'Auth');
      		
      		if (proxy.auth) { 
      			fsAuth.checkboxCmp.setValue(true);
      			fsAuth.down('#'+proxy.protocol+'Login').setValue(proxy.login);
      			fsAuth.down('#'+proxy.protocol+'Password').setValue(proxy.pass);
      			
      		}else {
      			fsAuth.checkboxCmp.setValue(false);
      		}
      	
      	}else {
      		fsProxy.checkboxCmp.setValue(false);
      	}
    	
    }


Ext.define('App.controller.Proxy', {
    extend : 'Ext.app.Controller',
    
    init : function() {
    	this.control({
            'toolbar button[action=saveProxy]' : {
                click : this.saveProxy
            },
            
            'toolbar button[action=loadProxy]': {
            	click : this.loadProxy
            },
            
            'mvvm-ProxyView': {
             //   selectionchange: this.gridSelectionChange,
             //   viewready: this.onViewReady,
             //   select: this.onRowSelect
            }
        });
    	
    	this.loadProxy();
    	
    	
    },
    
    
    saveProxy:function(btn) {
    	
    	//var proxyView = btn.up('mvvm-ProxyView');
    	
    	//proxyView.mask("Сохранение...");
    	
    	var records = [];
          
     	records.push(this.getModelFromForm("http"));
     	records.push(this.getModelFromForm("https"));
     	records.push(this.getModelFromForm("ftp"));
    	
        var data=Ext.util.JSON.encode(records);
        
         Ext.Ajax.request({
       	  method: "POST",
             url: 'api/proxy/update',
             headers: {
                 'Accept': 'application/json',
                 'Content-Type': 'application/json'
             },
             params: data,
             success: function(response, opts) {
           //	 proxyView.unmask();
            	 var result = Ext.JSON.decode(response.responseText);
               	// Ext.Msg.alert(result.type+" "+"Код-"+result.code,result.message);
            
                }, failure: function(response, opts) {
                	proxyView.unmask();
                	  Ext.Msg.alert('Ошибка', 'Сервер недоступен');
                }
        });
	         
	     	
    	
    	
    },
    
    getModelFromForm:function (protocol) { 
    	
    
	    
	    var formproxy=Ext.getCmp("formproxy");
    	
    	var fsHttps = formproxy.down('#fs'+protocol);
     
    
     	var enabled=fsHttps.checkboxCmp.getValue();
     	
     	var host=fsHttps.down('#'+protocol+'Adress').getValue();
     	var port=parseInt(fsHttps.down('#'+protocol+'Port').getValue());
     	
     	var fsHttpsAuth=fsHttps.down('#fs'+protocol+'Auth');
     	
     	var useauth=fsHttpsAuth.checkboxCmp.getValue();
     	
     	var login=fsHttpsAuth.down('#'+protocol+'Login').getValue();
     	var	pass=fsHttpsAuth.down('#'+protocol+'Password').getValue();
  	
     	var	proxy =  {
 	    		 protocol:protocol,
 	    		 host:host,
 	    		 port:port,
 	    		 login:login,
 	    		 pass:pass,
 	    	     enabled:enabled,
 	    	     useauth:useauth
 	     };
     	return proxy;
    },
    
    
    
    loadProxy:function(btn) {
    //	var proxyView = btn.up('mvvm-ProxyView');
    	
    //	proxyView.mask("Загрузка...");
    	
    	 Ext.Ajax.request({
         	  method: "GET",
               url: 'api/proxy/all',
               headers: {
                   'Accept': 'application/json',
                   'Content-Type': 'application/json'
               },
          
               success: function(response, opts) {
            //	   proxyView.unmask();
            	   var result = Ext.JSON.decode(response.responseText);
             
                	for(var i in result){
                		this.setModelToForm(result[i]);
                	}
                	
                	
                	 //  Ext.Msg.alert('Успешно', 'Загрузка данных выполнена');
                
                    }, failure: function(response, opts) {
                    	proxyView.unmask();
                    	  Ext.Msg.alert('Ошибка', 'Сервер недоступен');
                    }
          });
    	
    }
    
    

});