Example #1
0
    def on_botonOK_clicked(self, widget):

        ctrlOK = True
        # Los datos no pueden estar vacíos
        if (self.textoUsuario.get_text() == '') or (self.textoNombre.get_text() == '') or (self.textoMail.get_text() == ''):
            mostrar = mensajes.error(self.winEdit, mensajes.DATOS_NO)
            ctrlOK = False
        else:
            # Se recuperan todos los datos, para ver si el usuario ya existe
            usuarios = users.obtenerTodos()
            if (usuarios != None):
                for u in usuarios:
                    if (u.getUsername() == self.textoUsuario.get_text()) and (u.getId() != self.identificador):
                        mostrar = mensajes.error(self.winEdit, mensajes.USER_EXISTE)
                        ctrlOK = False
        if (ctrlOK == True):
            # Los controles están OK, se crea o modifica el registro
            usuario = users.User()
            usuario.setUsername(self.textoUsuario.get_text())
            usuario.setName(self.textoNombre.get_text())
            usuario.setEmail(self.textoMail.get_text())
            # Los datos de ID y clave son los que se mantienen en variables
            usuario.setId(self.identificador)
            usuario.setPassword(self.clave)
            if (self.identificador == 0): # Es un registro nuevo
                if users.crear(usuario): mostrar = mensajes.aviso(self.winEdit, mensajes.OPER_OK)
                else: mostrar = mensajes.error(self.winEdit, mensajes.OPER_NO)
            else:
                if users.actualizar(usuario): mostrar = mensajes.aviso(self.winEdit, mensajes.OPER_OK)
                else: mensajes.error(self.winEdit, mensajes.OPER_NO)
            self.winEdit.destroy()
            self.cargarVista(False) # Se llena la vista con los registros (False indica que no es la carga inicial)
Example #2
0
    def cargarVista(self, inicial):

        # Tipos de dato de cada columna. ListStore es el modelo del TreeView, en este caso, lista. Podria ser Tree.
        lista = gtk.ListStore(int, str, str, str,
                              str)  # ID, usuario, nombre, mail, clave
        render = gtk.CellRendererText(
        )  # Objeto que se encarga de dibujar cada celda
        #renderEdit = gtk.CellRendererText() # Objeto que se encarga de dibujar cada celda
        #renderEdit.set_property('editable', True)

        # Columnas de la vista
        columna0 = gtk.TreeViewColumn('ID', render, text=0)
        columna1 = gtk.TreeViewColumn('Usuario', render, text=1)
        columna2 = gtk.TreeViewColumn('Nombre', render, text=2)
        columna3 = gtk.TreeViewColumn('e-Mail', render, text=3)
        columna4 = gtk.TreeViewColumn('Clave', render, text=4)
        columna4.set_visible(False)  # Para que no se vea por ventana

        # Lista donde cada elemento es un objeto usuario
        usuarios = users.obtenerTodos()
        if usuarios != None:
            for usuario in usuarios:
                lista.append([
                    usuario.getId(),
                    usuario.getUsername(),
                    usuario.getName(),
                    usuario.getEmail(),
                    usuario.getPassword()
                ])

        # Arma la vista con las columas y lista de elementos
        self.vista.set_model(lista)
        if inicial:
            self.vista.append_column(columna0)
            self.vista.append_column(columna1)
            self.vista.append_column(columna2)
            self.vista.append_column(columna3)
            self.vista.append_column(columna4)

            # Permite ordenar por columnas
            columna0.set_sort_column_id(0)
            columna1.set_sort_column_id(1)
            columna2.set_sort_column_id(2)
            columna3.set_sort_column_id(3)

            #self.vista.set_reorderable(True) # Permite drag and drop entre los datos

        self.on_comboBuscar_changed(
            self.comboBuscar
        )  # Esto es para asignar la columna por la que se puede buscar
        self.vista.show()
Example #3
0
    def on_botonOK_clicked(self, widget):

        ctrlOK = True
        # Los datos no pueden estar vacíos
        if (self.textoUsuario.get_text()
                == '') or (self.textoNombre.get_text()
                           == '') or (self.textoMail.get_text() == ''):
            mostrar = mensajes.error(self.winEdit, mensajes.DATOS_NO)
            ctrlOK = False
        else:
            # Se recuperan todos los datos, para ver si el usuario ya existe
            usuarios = users.obtenerTodos()
            if (usuarios != None):
                for u in usuarios:
                    if (u.getUsername() == self.textoUsuario.get_text()) and (
                            u.getId() != self.identificador):
                        mostrar = mensajes.error(self.winEdit,
                                                 mensajes.USER_EXISTE)
                        ctrlOK = False
        if (ctrlOK == True):
            # Los controles están OK, se crea o modifica el registro
            usuario = users.User()
            usuario.setUsername(self.textoUsuario.get_text())
            usuario.setName(self.textoNombre.get_text())
            usuario.setEmail(self.textoMail.get_text())
            # Los datos de ID y clave son los que se mantienen en variables
            usuario.setId(self.identificador)
            usuario.setPassword(self.clave)
            if (self.identificador == 0):  # Es un registro nuevo
                if users.crear(usuario):
                    mostrar = mensajes.aviso(self.winEdit, mensajes.OPER_OK)
                else:
                    mostrar = mensajes.error(self.winEdit, mensajes.OPER_NO)
            else:
                if users.actualizar(usuario):
                    mostrar = mensajes.aviso(self.winEdit, mensajes.OPER_OK)
                else:
                    mensajes.error(self.winEdit, mensajes.OPER_NO)
            self.winEdit.destroy()
            self.cargarVista(
                False
            )  # Se llena la vista con los registros (False indica que no es la carga inicial)
Example #4
0
    def cargarVista(self, inicial):

        # Tipos de dato de cada columna. ListStore es el modelo del TreeView, en este caso, lista. Podria ser Tree.
        lista = gtk.ListStore(int,str,str,str,str) # ID, usuario, nombre, mail, clave
        render = gtk.CellRendererText() # Objeto que se encarga de dibujar cada celda
        #renderEdit = gtk.CellRendererText() # Objeto que se encarga de dibujar cada celda
        #renderEdit.set_property('editable', True)

        # Columnas de la vista
        columna0 = gtk.TreeViewColumn('ID', render, text=0)
        columna1 = gtk.TreeViewColumn('Usuario', render, text=1)
        columna2 = gtk.TreeViewColumn('Nombre', render, text=2)
        columna3 = gtk.TreeViewColumn('e-Mail', render, text=3)
        columna4 = gtk.TreeViewColumn('Clave', render, text=4)
        columna4.set_visible(False) # Para que no se vea por ventana

        # Lista donde cada elemento es un objeto usuario
        usuarios = users.obtenerTodos()
        if usuarios != None:
            for usuario in usuarios:
                lista.append([usuario.getId(), usuario.getUsername(), usuario.getName(), usuario.getEmail(), usuario.getPassword()])

        # Arma la vista con las columas y lista de elementos
        self.vista.set_model(lista)
        if inicial:
            self.vista.append_column(columna0)
            self.vista.append_column(columna1)
            self.vista.append_column(columna2)
            self.vista.append_column(columna3)
            self.vista.append_column(columna4)

            # Permite ordenar por columnas
            columna0.set_sort_column_id(0)
            columna1.set_sort_column_id(1)
            columna2.set_sort_column_id(2)
            columna3.set_sort_column_id(3)

            #self.vista.set_reorderable(True) # Permite drag and drop entre los datos

        self.on_comboBuscar_changed(self.comboBuscar) # Esto es para asignar la columna por la que se puede buscar
        self.vista.show()