Proxy.js 4.24 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() {
    	
    	var records = [];
          
     	records.push(this.getModelFromForm(0,"http"));
     	records.push(this.getModelFromForm(1,"https"));
     	records.push(this.getModelFromForm(2,"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) {
            	 
            	 var Ok = Ext.JSON.decode(response.responseText);
            	 if (Ok) { 
            		 Ext.Msg.alert('Success', 'Сохранение выполнено успешно');
            	 }else {
            		 Ext.Msg.alert('Failure', 'Ошибка сохранения');
            	 }
            	 
             }, failure: function(response, opts) {
            	 
            	  Ext.Msg.alert('Failure', 'Ошибка сохранения');
             }
        });
	         
	     	
    	
    	
    },
    
    getModelFromForm:function (id,protocol) { 
    	
    	var host;
		var port;
		var login;
		var pass;
	    var enabled;
	    var auth;
	    
	    var proxy;
	    
	    var formproxy=Ext.getCmp("formproxy");
    	
    	var fsHttps = formproxy.down('#fs'+protocol);
     
    
     	enabled=fsHttps.checkboxCmp.getValue();
     	
     	host=fsHttps.down('#'+protocol+'Adress').getValue();
     	port=fsHttps.down('#'+protocol+'Port').getValue();
     	
     	var fsHttpsAuth=fsHttps.down('#fs'+protocol+'Auth');
     	
     	auth=fsHttpsAuth.checkboxCmp.getValue();
     	
     	login=fsHttpsAuth.down('#'+protocol+'Login').getValue();
     	pass=fsHttpsAuth.down('#'+protocol+'Password').getValue();

   
     	
     	
     	proxy =  {
 	    		 id:id,
 	    		 protocol:protocol,
 	    		 host:host,
 	    		 port:parseInt(port),
 	    		 login:login,
 	    		 pass:pass,
 	    	     enabled:enabled,
 	    	     auth:auth
 	     };
 	      
     	return proxy;
    },
    
    
    
    loadProxy:function() {
    	
    	 Ext.Ajax.request({
         	  method: "GET",
               url: 'api/proxy/all',
               headers: {
                   'Accept': 'application/json',
                   'Content-Type': 'application/json'
               },
          
               success: function(response, opts) {
              	 
              	var result = Ext.JSON.decode(response.responseText);
             
                	for(var i in result){
            this.setModelToForm(result[i]);
                	}
              }, failure: function(response, opts) {
             	  Ext.Msg.alert('Failure', 'Ошибка сохранения');
              }
          });
    	
    }
    
    

});