Пример #1
0
 def __init__(self,parent=None):
         QtGui.QWidget.__init__(self,parent)
         self.ui= Ui_registrarDonante()
         self.ui.setupUi(self)
         self.rif_ci = ""
         self.razonS = ""
         self.tipo_don = ''
         self.tipoD = ""
         self.direccionD = ""
         self.telefonoD = ""
         self.text_obs = ""
         self.telf_Malo = 0
         self.RC_Malo = 0
Пример #2
0
class RegistrarDonante(QtGui.QMainWindow):
        closed = pyqtSignal()

        def __init__(self,parent=None):
                QtGui.QWidget.__init__(self,parent)
                self.ui= Ui_registrarDonante()
                self.ui.setupUi(self)
                self.rif_ci = ""
                self.razonS = ""
                self.tipo_don = ''
                self.tipoD = ""
                self.direccionD = ""
                self.telefonoD = ""
                self.text_obs = ""
                self.telf_Malo = 0
                self.RC_Malo = 0

        """
        Verificacion de que el Rif o CI este bien escrito, coloca 1 si
        es una cedula, 2 si es un RIF juridico y 3 si el formato esta malo.
        Tambien verifica la existencia del RIF o CI en la base de datos.
        """
        def verified_Rif_Ci(self):
                self.rif_ci = str(self.ui.Rif_Ci.text())
                self.rif_ci = str.upper(self.rif_ci)
                if (re.match("^(V-|E-)[0-9]{8}$", self.rif_ci)):
                        self.RC_Malo = 1
                elif(re.match("^J-[0-9]{8}-[0-9]$",self.rif_ci)):
                        self.RC_Malo = 2
                else:
                        self.RC_Malo = 3
                if(self.RC_Malo==1 or self.RC_Malo==2):
                        s = select([donante.c.donante_id]).where(donante.c.donante_id==self.rif_ci)
                        result = db.execute(s)
                        i=0
                        for row in result:
                                i+=1
                                print row
                        if(i!=0):
                                self.ui.label_registrado.setText("Rif o CI ya existente")
                        else:
                                palette = self.ui.Rif_Ci.palette()
                                palette.setColor(QPalette.Active, QPalette.Text, QColor(0, 0, 0))
                                self.ui.Rif_Ci.setPalette(palette)
                                self.ui.label_registrado.setText("")

        """
        Coloca el valor necesario a el atributo tipo_dom de la clase.
        """
        def select_natural(self):
                self.tipo_don = 'N'
                self.tipoD = "Natural"
                self.ui.juridico.setChecked(False)

        def select_juridico(self):
                self.tipo_don = 'J'
                self.tipoD = "Juridico"
                self.ui.natural.setChecked(False)

        """
        Verifica que el telefono este bien escrito. Coloco al atributo
        telefonoD el valor 0 si es correcto o 1 si no lo es.
        """
        def verified_telefono(self):
                self.telefonoD = str(self.ui.telefono.text())
                if re.match("^0(212|412|414|416|424|426)-[0-9]{7}$", self.telefonoD):
                        self.telf_Malo=2
                        print "Bien"
                else:
                        print "Mal"
                        self.telf_Malo=1

        def verifiedAndSave(self):
                self.razonS = str(self.ui.razon.text())
                self.direccionD = str(self.ui.direccion.toPlainText())
                #Caso en el que el formulario esta correcto (No toma en cuenta si el Rif esta o no registrado)
                if(len(self.rif_ci)!=0 and len(self.razonS)!=0 and 
                                len(self.direccionD)!=0 and len(self.telefonoD)!=0 and 
                                self.telf_Malo==2 and 
                                ((self.RC_Malo==1 and self.tipo_don=='N') or (self.RC_Malo==2 and self.tipo_don=='J'))):
                        ins = donante.insert().values(donante_id=self.rif_ci,razon=self.razonS, tipo=self.tipoD, direccion=self.direccionD, telefono=self.telefonoD)
                        try:
                                db.execute(ins)
                                self.ui.obs.setText(u"-Donante Registrado con éxito")
                                self.ui.Rif_Ci.setText("")
                                self.ui.razon.setText("")
                                self.ui.telefono.setText("")
                                self.ui.direccion.setText("")
                                self.ui.juridico.setChecked(False)
                                self.ui.natural.setChecked(False)
                        except IntegrityError:
                                self.ui.obs.setText(u"-El RIF o CI ya se encuentra registrado.\n")
                else:
                        #Caso en el que falta algo por llegar o algo esta malo.
                        self.text_obs=""
                        if(len(self.rif_ci)!=0 and self.RC_Malo==1 and self.tipo_don=='J'):
                                self.text_obs+=u"-El donante es tipo Jurídico, pero su RIF no sigue el formato indicado.\n"
                        elif(len(self.rif_ci)!=0 and self.RC_Malo==2 and self.tipo_don=='N'):
                                self.text_obs+=u"-El donante es tipo Natural, pero su CI no sigue el formato indicado.\n"
                        else:
                                if(len(self.rif_ci)==0):
                                        self.text_obs+=u"-Campo de RIF o CI vacío.\n"
                                else:
                                        if(self.RC_Malo==3):
                                                self.text_obs+=u"-Formato de RIF o CI incorrecto\n"
                                if(self.tipo_don!='N' and self.tipo_don!='J'):
                                        self.text_obs+=u"-Seleccione el tipo de donante.\n"
                        if(len(self.razonS)==0):
                                self.text_obs+=u"-Campo de Razón Social vacío.\n"
                        if(len(self.direccionD)==0):
                                self.text_obs+=u"-Campo Dirección vacío.\n"
                        if(len(self.telefonoD)==0):
                                self.text_obs+=u"-Campo Teléfono vacío.\n"
                        else:
                                if self.telf_Malo==1:
                                        self.text_obs+=u"-Formato de teléfono incorrecto.\n"
                        self.ui.obs.setText(self.text_obs)

        def cancel(self):
                self.hide()
                self.closed.emit()