Changeset 3938


Ignore:
Timestamp:
Mar 14, 2017, 1:58:33 PM (2 years ago)
Author:
daduve
Message:

Adding validation methods

Location:
lliurex-remote-installer/trunk/fuentes/lliurex-remote-installer-gui.install/usr/share/lliurex-remote-installer
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • lliurex-remote-installer/trunk/fuentes/lliurex-remote-installer-gui.install/usr/share/lliurex-remote-installer/AptBox.py

    r3853 r3938  
    5555                self.package_list_entry=builder.get_object("package_list_entry")
    5656               
     57               
    5758                self.stack=Gtk.Stack()
    5859                self.stack.set_transition_type(Gtk.StackTransitionType.CROSSFADE)
     
    7677                self.thread_ret=None
    7778               
     79               
     80               
    7881        #def __init__
    7982       
    80        
     83
    8184        def set_css_info(self):
    8285               
  • lliurex-remote-installer/trunk/fuentes/lliurex-remote-installer-gui.install/usr/share/lliurex-remote-installer/LliurexRemoteInstaller.py

    r3918 r3938  
    4747                self.exes_button=builder.get_object("exes_button")
    4848               
     49               
     50                #PANTALLA LOGIN
     51                self.login_da_box=builder.get_object("login_da_box")
     52                self.login_da=builder.get_object("login_drawingarea")
     53                #self.login_da.connect("draw",self.draw_login)
     54               
     55                self.login_overlay=Gtk.Overlay()
     56                self.login_overlay.add(self.login_da_box)
     57               
     58                self.login_box=builder.get_object("login_box")
     59                self.login_button=builder.get_object("login_button")
     60                self.user_entry=builder.get_object("user_entry")
     61                self.password_entry=builder.get_object("password_entry")
     62                self.login_eb_box=builder.get_object("login_eb_box")
     63                self.login_msg_label=builder.get_object("login_msg_label")
     64                self.server_ip_entry=builder.get_object("server_ip_entry")
     65               
     66       
     67                self.login_overlay.add_overlay(self.login_box)
     68                self.login_overlay.show_all()
     69               
     70                #FIN LOGIN
     71               
     72               
     73                self.separator1=builder.get_object("separator1")
     74                self.separator3=builder.get_object("separator3")
     75                self.main_button_box=builder.get_object("box1")
     76               
     77
     78
     79               
    4980                self.stack=Gtk.Stack()
    5081                self.stack.set_transition_type(Gtk.StackTransitionType.SLIDE_DOWN)
    5182                self.stack.set_transition_duration(500)
    5283                self.main_box.pack_start(self.stack,True,True,5)
    53                
    5484               
    5585                # Add components
     
    6292                self.stack.add_titled(self.exec_box,"exes","Executables")
    6393               
    64                
    65 
     94                self.stack.add_titled(self.login_overlay,"login","Login")
     95               
    6696                self.set_css_info()
    6797                self.connect_signals()
     
    6999               
    70100                self.main_window.show_all()
     101                self.show_main_controls(False)
     102               
    71103               
    72104        #def load_gui
     105       
     106       
     107        def show_main_controls(self,status):
     108               
     109                if status:
     110                        self.separator1.show()
     111                        self.separator3.show()
     112                        self.main_button_box.show()
     113                else:
     114                        self.separator1.hide()
     115                        self.separator3.hide()
     116                        self.main_button_box.hide()
     117               
     118        #def show_main_controls
     119       
     120       
    73121       
    74122        def load_values(self):
     
    105153                self.debs_button.set_name("OPTION_BUTTON")
    106154                self.exes_button.set_name("OPTION_BUTTON")
     155                self.login_msg_label.set_name("ERROR_LABEL")
    107156                       
    108157        #def set-css_info
     
    116165                self.main_window.connect("delete_event",self.check_changes)
    117166               
     167                self.user_entry.connect("activate",self.entries_press_event)
     168                self.password_entry.connect("activate",self.entries_press_event)
     169                self.server_ip_entry.connect("activate",self.entries_press_event)
     170                self.login_button.connect("clicked",self.validate_user)
     171               
    118172        #def connect_signals
     173       
     174        def entries_press_event(self,widget):
     175               
     176                self.validate_user(None)
     177               
     178        #def entries_press_event
     179       
     180        def validate_user(self,widget):
     181               
     182                ret=self.core.n4d.validate_user(self.user_entry.get_text(),self.password_entry.get_text())
     183               
     184                if not ret[0]:
     185                        self.login_msg_label.set_text("%s"%ret[1])
     186                        return False
     187                       
     188                self.stack.set_visible_child_name("apt")
     189                self.show_main_controls(True)
     190                       
     191               
     192               
     193        #def validate_user
    119194       
    120195        def check_changes(self,widget,event):
     
    153228                        COMMENT='\n'.join(COMMENT)
    154229                        dialog=Dialog.InfoDialog(self.main_window,"LliureX Remote Installer Summary","You are published this list to install:\n\n%s"%(COMMENT))
    155                         response=dialog.run()
    156                         dialog.destroy()
     230                        #response=dialog.run()
     231                        #dialog.destroy()
    157232               
    158233               
  • lliurex-remote-installer/trunk/fuentes/lliurex-remote-installer-gui.install/usr/share/lliurex-remote-installer/N4dManager.py

    r3851 r3938  
    160160       
    161161       
    162         def mi_funcion(self,param):
     162        def validate_user(self,username,password):
     163               
     164                try:
     165                        ret=self.client.validate_user(username,password)
     166                        if ret[0]:
     167                                if "adm" in ret[1] or "admins" in ret[1]:
     168                                        return [True,""]
     169                                else:
     170                                        return [False,"User is not allowed to use this application"]
     171                                       
     172                        return ret
     173                       
     174                except Exception as e:
     175                        print e
     176                        return [False,str(e)]
    163177               
    164178               
    165                
    166                 self.client(user,"ASdasdas",param)
    167                
    168                
    169 
    170                
    171                
    172         #def mi_funcion
    173                
     179        #def validate_user
     180       
    174181       
    175182#class n4dmanager
  • lliurex-remote-installer/trunk/fuentes/lliurex-remote-installer-gui.install/usr/share/lliurex-remote-installer/lliurex-remote-installer.css

    r3705 r3938  
    77                font: Roboto Light;
    88
     9        }
     10
     11        #ERROR_LABEL {
     12                font: Roboto Light;
     13                color: rgba(250,10,10,0.8);
    914        }
    1015
  • lliurex-remote-installer/trunk/fuentes/lliurex-remote-installer-gui.install/usr/share/lliurex-remote-installer/lliurex-remote-installer.ui

    r3930 r3938  
    405405            <property name="column_homogeneous">True</property>
    406406            <child>
    407               <object class="GtkImage" id="image4">
    408                 <property name="visible">True</property>
    409                 <property name="can_focus">False</property>
    410                 <property name="margin_bottom">20</property>
    411                 <property name="pixbuf">mirror-logo.svg</property>
    412               </object>
    413               <packing>
    414                 <property name="left_attach">0</property>
    415                 <property name="top_attach">0</property>
    416               </packing>
    417             </child>
    418             <child>
    419407              <object class="GtkEntry" id="user_entry">
     408                <property name="width_request">400</property>
    420409                <property name="visible">True</property>
    421410                <property name="can_focus">True</property>
     
    429418              <packing>
    430419                <property name="left_attach">0</property>
    431                 <property name="top_attach">1</property>
     420                <property name="top_attach">0</property>
    432421              </packing>
    433422            </child>
    434423            <child>
    435424              <object class="GtkEntry" id="password_entry">
     425                <property name="width_request">400</property>
    436426                <property name="visible">True</property>
    437427                <property name="can_focus">True</property>
     
    447437              <packing>
    448438                <property name="left_attach">0</property>
    449                 <property name="top_attach">2</property>
    450               </packing>
    451             </child>
    452             <child>
    453               <object class="GtkBox" id="login_eb_box">
    454                 <property name="height_request">50</property>
    455                 <property name="visible">True</property>
    456                 <property name="can_focus">False</property>
    457                 <property name="orientation">vertical</property>
    458                 <child>
    459                   <object class="GtkEventBox" id="login_eventbox">
    460                     <property name="visible">True</property>
    461                     <property name="can_focus">False</property>
    462                     <child>
    463                       <object class="GtkLabel" id="login_label">
    464                         <property name="visible">True</property>
    465                         <property name="can_focus">False</property>
    466                         <property name="margin_top">10</property>
    467                         <property name="margin_bottom">10</property>
    468                         <property name="label" translatable="yes">Login</property>
    469                       </object>
    470                     </child>
    471                   </object>
    472                   <packing>
    473                     <property name="expand">False</property>
    474                     <property name="fill">True</property>
    475                     <property name="position">0</property>
    476                   </packing>
    477                 </child>
    478                 <child>
    479                   <placeholder/>
    480                 </child>
    481               </object>
    482               <packing>
    483                 <property name="left_attach">0</property>
    484                 <property name="top_attach">4</property>
     439                <property name="top_attach">1</property>
    485440              </packing>
    486441            </child>
    487442            <child>
    488443              <object class="GtkEntry" id="server_ip_entry">
     444                <property name="width_request">400</property>
    489445                <property name="visible">True</property>
    490446                <property name="can_focus">True</property>
     
    498454              <packing>
    499455                <property name="left_attach">0</property>
     456                <property name="top_attach">2</property>
     457              </packing>
     458            </child>
     459            <child>
     460              <object class="GtkButton" id="login_button">
     461                <property name="label" translatable="yes">Login</property>
     462                <property name="width_request">400</property>
     463                <property name="visible">True</property>
     464                <property name="can_focus">True</property>
     465                <property name="receives_default">True</property>
     466                <property name="halign">center</property>
     467              </object>
     468              <packing>
     469                <property name="left_attach">0</property>
    500470                <property name="top_attach">3</property>
    501471              </packing>
     
    508478              <packing>
    509479                <property name="left_attach">0</property>
    510                 <property name="top_attach">5</property>
     480                <property name="top_attach">4</property>
    511481              </packing>
    512482            </child>
     
    516486            <property name="fill">False</property>
    517487            <property name="position">0</property>
    518           </packing>
    519         </child>
    520         <child>
    521           <object class="GtkBox" id="box19">
    522             <property name="visible">True</property>
    523             <property name="can_focus">False</property>
    524             <child>
    525               <object class="GtkButton" id="button1">
    526                 <property name="label">gtk-ok</property>
    527                 <property name="visible">True</property>
    528                 <property name="can_focus">True</property>
    529                 <property name="receives_default">True</property>
    530                 <property name="use_stock">True</property>
    531               </object>
    532               <packing>
    533                 <property name="expand">False</property>
    534                 <property name="fill">True</property>
    535                 <property name="pack_type">end</property>
    536                 <property name="position">0</property>
    537               </packing>
    538             </child>
    539           </object>
    540           <packing>
    541             <property name="expand">False</property>
    542             <property name="fill">True</property>
    543             <property name="position">1</property>
    544488          </packing>
    545489        </child>
Note: See TracChangeset for help on using the changeset viewer.