Esempio n. 1
0
    def on_botonModificar_clicked(self, widget):

        (model,iter) = self.vista.get_selection().get_selected()
        if iter != None:
            self.cargarEdit() # Ventana de edición de los datos
            fila = list(model[iter])

            # Se busca el proyecto para recuperar sus datos (en la tabla no están todos)
            idProyecto = fila[0]
            proyecto = projects.buscar(idProyecto)
            usrID = proyecto.getCreated_user_id() # Para controlar si puede modificar

            # Solo se puede modificar el proyecto del propio usuario
            if (usrID != globalDef.glb_usuario):
                mostrar = mensajes.error(self.winMain, mensajes.USER_ACT)
            else:
                # Se asocian a los campos de edición los valores seleccionados
                self.identificador = proyecto.getId() # El ID no es dato modificable, se mantiene su valor
                self.cargarComboUsuario(proyecto.getCreated_user_id())
                self.textoNombre.set_text(proyecto.getName())
                self.textoDescBuffer.set_text(proyecto.getDescription())
                # Se toma la fecha en SQL y se pasa el dato a Tuple (el tipo de dato que maneja calendario)
                fechaTupla = calendario.toTuple(proyecto.getCreated())
                self.calendario.setFecha(fechaTupla)
                self.textoFecha.set_text(calendario.toStr(self.calendario.calendario.get_date()))

                self.winEdit.show() # Ventana de edición de los datos
Esempio n. 2
0
    def on_botonEliminar_clicked(self, widget):

        (model, iter) = self.vista.get_selection().get_selected()
        if iter != None:
            conf = mensajes.pregunta(self.winMain, mensajes.DELETE)
            if conf:
                # Se recupera el ID, único campo necesario para eliminar
                fila = list(model[iter])
                proyID = fila[0]
                # Se recupera el proyecto para obtener el usuario del mismo
                proyecto = projects.buscar(proyID)
                usrID = proyecto.getCreated_user_id()
                # Solo se puede eliminar el proyecto del propio usuario
                if (usrID != globalDef.glb_usuario):
                    mostrar = mensajes.error(self.winMain, mensajes.USER_ACT)
                else:
                    if projects.eliminar(proyID):
                        mostrar = mensajes.aviso(self.winMain,
                                                 mensajes.OPER_OK)
                    else:
                        mostrar = mensajes.error(self.winMain,
                                                 mensajes.OPER_NO)
                    self.cargarVista(
                        False
                    )  # Se llena la vista con los registros (False indica que no es la carga inicial)
Esempio n. 3
0
    def on_botonModificar_clicked(self, widget):

        (model, iter) = self.vista.get_selection().get_selected()
        if iter != None:
            self.cargarEdit()  # Ventana de edición de los datos
            fila = list(model[iter])

            # Se busca el proyecto para recuperar sus datos (en la tabla no están todos)
            idProyecto = fila[0]
            proyecto = projects.buscar(idProyecto)
            usrID = proyecto.getCreated_user_id(
            )  # Para controlar si puede modificar

            # Solo se puede modificar el proyecto del propio usuario
            if (usrID != globalDef.glb_usuario):
                mostrar = mensajes.error(self.winMain, mensajes.USER_ACT)
            else:
                # Se asocian a los campos de edición los valores seleccionados
                self.identificador = proyecto.getId(
                )  # El ID no es dato modificable, se mantiene su valor
                self.cargarComboUsuario(proyecto.getCreated_user_id())
                self.textoNombre.set_text(proyecto.getName())
                self.textoDescBuffer.set_text(proyecto.getDescription())
                # Se toma la fecha en SQL y se pasa el dato a Tuple (el tipo de dato que maneja calendario)
                fechaTupla = calendario.toTuple(proyecto.getCreated())
                self.calendario.setFecha(fechaTupla)
                self.textoFecha.set_text(
                    calendario.toStr(self.calendario.calendario.get_date()))

                self.winEdit.show()  # Ventana de edición de los datos
Esempio n. 4
0
    def on_botonEliminar_clicked(self, widget):

        (model,iter) = self.vista.get_selection().get_selected()
        if iter != None: 
            conf = mensajes.pregunta(self.winMain, mensajes.DELETE)
            if conf:
                # Se recupera el ID, único campo necesario para eliminar
                fila = list(model[iter])
                proyID = fila[0]
                # Se recupera el proyecto para obtener el usuario del mismo
                proyecto = projects.buscar(proyID)
                usrID = proyecto.getCreated_user_id()
                # Solo se puede eliminar el proyecto del propio usuario
                if (usrID != globalDef.glb_usuario):
                    mostrar = mensajes.error(self.winMain, mensajes.USER_ACT)
                else:
                    if projects.eliminar(proyID): mostrar = mensajes.aviso(self.winMain, mensajes.OPER_OK)
                    else: mostrar = mensajes.error(self.winMain, mensajes.OPER_NO)
                    self.cargarVista(False) # Se llena la vista con los registros (False indica que no es la carga inicial)
Esempio n. 5
0
    def __init__(self, proyID):

        # Se carga el archivo glade con la ventana principal
        objsW = gtk.Builder()
        objsW.add_from_file('vistas/proy_usr.glade')

        # Se recuperan los widget a usar (no son necesarios todos)
        self.winMain = objsW.get_object('winMain')
        self.textoTitulo = objsW.get_object('textoTitulo')
        self.vistaIzq = objsW.get_object('vistaIzq')
        self.vistaDer = objsW.get_object('vistaDer')
        self.proyID = proyID

        # Recupera el proyecto para mostrar el nombre
        proyecto = projects.buscar(proyID)
        self.textoTitulo.set_text('Proyecto: ' + proyecto.getName())

        # Se asocian las senales del archivo glade a metodos de la clase
        objsW.connect_signals(self)
        self.winMain.show()

        self.cargarVistas(
            True
        )  # Se llena la vista con los registros (True indica que es la carga inicial)