Changeset 6784


Ignore:
Timestamp:
Feb 8, 2018, 12:17:21 PM (19 months ago)
Author:
hectorgh
Message:

Adding CLIENT_PROXY_ENABLED support

Location:
n4d-network/trunk/fuentes/n4d-nat-frontend.install/usr/share/n4d-nat-frontend
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • n4d-network/trunk/fuentes/n4d-nat-frontend.install/usr/share/n4d-nat-frontend/nat_manager.py

    r3577 r6784  
    1919       
    2020        def __init__(self,ip="localhost"):
     21               
    2122                status=self.read_key()
    22                 #hack for testing
    23                 #ip="server"
    24                 #self.key="oua470v052tt1os1H8mpW8HhwUqqELGzEn40GUqdWKTpBsg67F"
    25                 #
    2623                self.client=xmlrpclib.ServerProxy("https://"+ip+":9779")
    2724               
     
    4643                        self.key=f.readline().strip("\n")
    4744                        f.close()
    48                         #hack
    4945                        return True
    5046                except:
     
    5450       
    5551        def get_status_list(self):
    56                
    57                
    5852               
    5953                try:
     
    6660                        self.status["nat_persistence"]=True
    6761                        self.status["routing_persistence"]=True
     62                        proxy_status=self.client.get_variable("","VariablesManager","CLIENT_PROXY_ENABLED")
     63                        if proxy_status==None:
     64                                self.proxy_var_initialized=False
     65                                proxy_status=True
     66                        else:
     67                                self.proxy_var_initialized=True
     68                        self.status["proxy"]=proxy_status
     69                        print self.status
    6870                       
    6971                       
     
    7274                        #set msg error
    7375               
    74                 #print self.status
    75                
    7676        #def get_status_list
     77
    7778       
    7879        def build_gui(self):
     
    99100                self.nat_disabled_rbutton.set_active(not self.status["nat"])
    100101
    101                
    102                 #self.nat_persistence_cbutton=builder.get_object("nat_persistence_checkbutton")
    103                 #self.nat_persistence_cbutton.set_active(self.status["nat_persistence"])
    104                
    105                 #self.routing_persistence_cbutton=builder.get_object("routing_persistence_checkbutton")
    106                 #self.routing_persistence_cbutton.set_active(self.status["routing_persistence"])
    107                
    108102                self.msg_label=builder.get_object("msg_label")
    109103               
     
    115109                self.window.connect("destroy",self.close_window)
    116110               
     111                self.proxy_frame=builder.get_object("proxy_frame")
     112                self.proxy_enabled_rb=builder.get_object("proxy_enabled_radiobutton")
     113                self.proxy_disabled_rb=builder.get_object("proxy_disabled_radiobutton")
     114                self.proxy_enabled_rb.set_active(self.status["proxy"])
     115                self.proxy_disabled_rb.set_active(not self.status["proxy"])
     116               
     117                self.nat_enabled_rbutton.connect("toggled",self.routing_changed)
     118                self.routing_enabled_rbutton.connect("toggled",self.routing_changed)
     119               
     120                if not self.status["nat"] or not self.status["routing"]:
     121                        self.proxy_frame.set_sensitive(False)
     122               
     123               
    117124                self.window.show_all()
    118125                Gtk.main()
    119                
    120                
    121126               
    122127        #def build_gui
     
    127132                self.status["routing"]=self.routing_enabled_rbutton.get_active()
    128133                self.status["nat"]=self.nat_enabled_rbutton.get_active()
    129                 #self.status["routing_persiscence"]=self.routing_persistence_cbutton.get_active()
    130                 #self.status["nat_persiscente"]=self.nat_persistence_cbutton.get_active()
    131                
    132                
    133                
     134                self.status["proxy"]=self.proxy_enabled_rb.get_active()
    134135               
    135136                try:
    136137                        self.client.set_nat(self.key,"NetworkManager",self.status["nat"],self.status["nat_persistence"])
    137138                        self.client.set_routing(self.key,"NetworkManager",self.status["routing"],self.status["routing_persistence"])
     139                       
     140                        if self.status["routing"] and self.status["nat"]:
     141                                self.set_client_proxy(self.status["proxy"])
     142                        else:
     143                                self.set_client_proxy(True)
     144                               
    138145                        self.msg_label.set_text(_("Changes saved successfuly"))
    139146                except Exception as e:
     
    142149               
    143150        #def apply_changes
     151       
     152        def set_client_proxy(self,status):
     153               
     154                if not self.proxy_var_initialized:
     155                        #INIT VALUE
     156                        self.client.add_variable(self.key,"VariablesManager","CLIENT_PROXY_ENABLED",status,"","Variable to enable or disable proxy in classroom clients",[])
     157                        self.proxy_var_initialized=True
     158                        return True
     159               
     160                self.client.set_variable(self.key,"VariablesManager","CLIENT_PROXY_ENABLED",status)
     161               
     162        #def set_client_proxy
     163       
     164        def routing_changed(self,widget):
     165               
     166                if self.routing_enabled_rbutton.get_active() and self.nat_enabled_rbutton.get_active():
     167                        self.proxy_frame.set_sensitive(True)
     168                else:
     169                        self.proxy_frame.set_sensitive(False)
     170               
     171        #def routing_changed
    144172       
    145173        def close_window(self,widget):
  • n4d-network/trunk/fuentes/n4d-nat-frontend.install/usr/share/n4d-nat-frontend/rsrc/nat-manager.ui

    r2369 r6784  
    11<?xml version="1.0" encoding="UTF-8"?>
     2<!-- Generated with glade 3.18.3 -->
    23<interface>
    3   <!-- interface-requires gtk+ 3.0 -->
     4  <requires lib="gtk+" version="3.0"/>
    45  <object class="GtkWindow" id="window">
    56    <property name="width_request">300</property>
     
    4546                            <property name="can_focus">True</property>
    4647                            <property name="receives_default">False</property>
    47                             <property name="use_action_appearance">False</property>
    4848                            <property name="xalign">0</property>
    4949                            <property name="active">True</property>
     
    6363                            <property name="can_focus">True</property>
    6464                            <property name="receives_default">False</property>
    65                             <property name="use_action_appearance">False</property>
    6665                            <property name="xalign">0</property>
    6766                            <property name="draw_indicator">True</property>
     
    8180                      </packing>
    8281                    </child>
    83                     <child>
    84                       <placeholder/>
    85                     </child>
    8682                  </object>
    8783                </child>
     
    9995                    <property name="can_focus">False</property>
    10096                    <property name="stock">gtk-preferences</property>
    101                     <property name="icon-size">3</property>
     97                    <property name="icon_size">3</property>
    10298                  </object>
    10399                  <packing>
     
    175171                            <property name="can_focus">True</property>
    176172                            <property name="receives_default">False</property>
    177                             <property name="use_action_appearance">False</property>
    178173                            <property name="xalign">0</property>
    179174                            <property name="active">True</property>
     
    193188                            <property name="can_focus">True</property>
    194189                            <property name="receives_default">False</property>
    195                             <property name="use_action_appearance">False</property>
    196190                            <property name="xalign">0</property>
    197191                            <property name="active">True</property>
     
    212206                      </packing>
    213207                    </child>
    214                     <child>
    215                       <placeholder/>
    216                     </child>
    217208                  </object>
    218209                </child>
     
    229220                    <property name="visible">True</property>
    230221                    <property name="can_focus">False</property>
    231                     <property name="stock">gtk-network</property>
    232                     <property name="icon-size">3</property>
     222                    <property name="stock">gtk-connect</property>
     223                    <property name="icon_size">3</property>
    233224                  </object>
    234225                  <packing>
     
    285276        </child>
    286277        <child>
     278          <object class="GtkFrame" id="proxy_frame">
     279            <property name="visible">True</property>
     280            <property name="can_focus">False</property>
     281            <property name="label_xalign">0</property>
     282            <property name="shadow_type">in</property>
     283            <child>
     284              <object class="GtkAlignment" id="alignment3">
     285                <property name="visible">True</property>
     286                <property name="can_focus">False</property>
     287                <property name="top_padding">5</property>
     288                <property name="bottom_padding">5</property>
     289                <property name="left_padding">5</property>
     290                <property name="right_padding">5</property>
     291                <child>
     292                  <object class="GtkBox" id="box7">
     293                    <property name="visible">True</property>
     294                    <property name="can_focus">False</property>
     295                    <property name="orientation">vertical</property>
     296                    <child>
     297                      <object class="GtkBox" id="box11">
     298                        <property name="visible">True</property>
     299                        <property name="can_focus">False</property>
     300                        <property name="spacing">5</property>
     301                        <property name="homogeneous">True</property>
     302                        <child>
     303                          <object class="GtkRadioButton" id="proxy_enabled_radiobutton">
     304                            <property name="label" translatable="yes">Enabled</property>
     305                            <property name="use_action_appearance">False</property>
     306                            <property name="visible">True</property>
     307                            <property name="can_focus">True</property>
     308                            <property name="receives_default">False</property>
     309                            <property name="xalign">0</property>
     310                            <property name="active">True</property>
     311                            <property name="draw_indicator">True</property>
     312                          </object>
     313                          <packing>
     314                            <property name="expand">False</property>
     315                            <property name="fill">True</property>
     316                            <property name="position">0</property>
     317                          </packing>
     318                        </child>
     319                        <child>
     320                          <object class="GtkRadioButton" id="proxy_disabled_radiobutton">
     321                            <property name="label" translatable="yes">Disabled</property>
     322                            <property name="use_action_appearance">False</property>
     323                            <property name="visible">True</property>
     324                            <property name="can_focus">True</property>
     325                            <property name="receives_default">False</property>
     326                            <property name="xalign">0</property>
     327                            <property name="draw_indicator">True</property>
     328                            <property name="group">proxy_enabled_radiobutton</property>
     329                          </object>
     330                          <packing>
     331                            <property name="expand">False</property>
     332                            <property name="fill">True</property>
     333                            <property name="position">1</property>
     334                          </packing>
     335                        </child>
     336                      </object>
     337                      <packing>
     338                        <property name="expand">False</property>
     339                        <property name="fill">True</property>
     340                        <property name="position">0</property>
     341                      </packing>
     342                    </child>
     343                  </object>
     344                </child>
     345              </object>
     346            </child>
     347            <child type="label">
     348              <object class="GtkBox" id="box12">
     349                <property name="visible">True</property>
     350                <property name="can_focus">False</property>
     351                <property name="border_width">3</property>
     352                <property name="spacing">5</property>
     353                <child>
     354                  <object class="GtkImage" id="image3">
     355                    <property name="visible">True</property>
     356                    <property name="can_focus">False</property>
     357                    <property name="icon_name">computer</property>
     358                    <property name="icon_size">3</property>
     359                  </object>
     360                  <packing>
     361                    <property name="expand">False</property>
     362                    <property name="fill">True</property>
     363                    <property name="position">0</property>
     364                  </packing>
     365                </child>
     366                <child>
     367                  <object class="GtkLabel" id="label3">
     368                    <property name="visible">True</property>
     369                    <property name="can_focus">False</property>
     370                    <property name="label" translatable="yes">&lt;b&gt;Clients proxy configuration&lt;/b&gt;</property>
     371                    <property name="use_markup">True</property>
     372                  </object>
     373                  <packing>
     374                    <property name="expand">False</property>
     375                    <property name="fill">True</property>
     376                    <property name="position">1</property>
     377                  </packing>
     378                </child>
     379              </object>
     380            </child>
     381          </object>
     382          <packing>
     383            <property name="expand">True</property>
     384            <property name="fill">True</property>
     385            <property name="position">4</property>
     386          </packing>
     387        </child>
     388        <child>
    287389          <object class="GtkLabel" id="msg_label">
    288390            <property name="visible">True</property>
     
    292394            <property name="expand">False</property>
    293395            <property name="fill">True</property>
    294             <property name="position">4</property>
    295           </packing>
    296         </child>
    297         <child>
    298           <placeholder/>
     396            <property name="position">5</property>
     397          </packing>
    299398        </child>
    300399        <child>
     
    310409                <property name="can_focus">True</property>
    311410                <property name="receives_default">True</property>
    312                 <property name="use_action_appearance">False</property>
    313411                <property name="use_stock">True</property>
    314412              </object>
     
    326424                <property name="can_focus">True</property>
    327425                <property name="receives_default">True</property>
    328                 <property name="use_action_appearance">False</property>
    329426                <property name="use_stock">True</property>
    330427              </object>
Note: See TracChangeset for help on using the changeset viewer.