Beispiel #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)
Beispiel #2
0
    def cargarComboUsuario(self,userID):

        lista = gtk.ListStore(int,str) # Combo de string.
        # Se usan para saber que elemento es el que se tiene que mostrar
        elemento = 0
        mostrar = 0

        # Se recorre la lista de usuarios para ir armando el combo, con el par ID - Nombre
        usuarios = users.obtenerTodos()
        if (usuarios != None):
            for u in usuarios:
                lista.append([u.getId(), u.getName()])
                if (u.getId() == userID): mostrar = elemento
                elemento = elemento + 1

            self.comboUsuario.set_model(lista)
            render = gtk.CellRendererText() # Objeto que dibuja la celda, en este caso el elemento del combo
            self.comboUsuario.pack_start(render, True)
            self.comboUsuario.add_attribute(render, 'text', 1) # De los 2 campos, elegimos el segundo
            self.comboUsuario.set_active(mostrar) # Lo posiciona en el primer item
Beispiel #3
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()
Beispiel #4
0
    def cargarComboUsuario(self, userID):

        lista = gtk.ListStore(int, str)  # Combo de string.
        # Se usan para saber que elemento es el que se tiene que mostrar
        elemento = 0
        mostrar = 0

        # Se recorre la lista de usuarios para ir armando el combo, con el par ID - Nombre
        usuarios = users.obtenerTodos()
        if (usuarios != None):
            for u in usuarios:
                lista.append([u.getId(), u.getName()])
                if (u.getId() == userID): mostrar = elemento
                elemento = elemento + 1

            self.comboUsuario.set_model(lista)
            render = gtk.CellRendererText(
            )  # Objeto que dibuja la celda, en este caso el elemento del combo
            self.comboUsuario.pack_start(render, True)
            self.comboUsuario.add_attribute(
                render, 'text', 1)  # De los 2 campos, elegimos el segundo
            self.comboUsuario.set_active(
                mostrar)  # Lo posiciona en el primer item
Beispiel #5
0
    def cargarVistas(self, inicial):

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

        # Columnas de la vista
        if inicial:
            columna0 = gtk.TreeViewColumn('ID', render, text=0)
            columna1 = gtk.TreeViewColumn('Usuario', render, text=1)
            columna2 = gtk.TreeViewColumn('Nombre', render, text=2)

            columna3 = gtk.TreeViewColumn('ID', render, text=0)
            columna4 = gtk.TreeViewColumn('Usuario', render, text=1)
            columna5 = gtk.TreeViewColumn('Nombre', render, text=2)

        # Lista donde cada elemento es un objeto usuario
        usuarios = users.obtenerTodos()
        if usuarios != None:
            for usuario in usuarios:
                # Busca el proyecto y el usuario, si existe la relación pasa a derecha, sino izquierda
                asignados = projects_users_assign.obtenerTodos(
                    self.proyID, usuario.getId())
                if (asignados == None):
                    listaIzq.append([
                        usuario.getId(),
                        usuario.getUsername(),
                        usuario.getName()
                    ])
                else:
                    listaDer.append([
                        usuario.getId(),
                        usuario.getUsername(),
                        usuario.getName()
                    ])

        # Arma la vista con las columas y lista de elementos
        self.vistaIzq.set_model(listaIzq)
        self.vistaDer.set_model(listaDer)

        if inicial:
            self.vistaIzq.append_column(columna0)
            self.vistaIzq.append_column(columna1)
            self.vistaIzq.append_column(columna2)

            self.vistaDer.append_column(columna3)
            self.vistaDer.append_column(columna4)
            self.vistaDer.append_column(columna5)

            # 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(0)
            columna4.set_sort_column_id(1)
            columna5.set_sort_column_id(2)

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

        self.vistaIzq.show()
        self.vistaDer.show()