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

        ctrlOK = True
        # Los datos no pueden estar vacíos
        if (self.spinPagos.get_value_as_int() == 0):
            mostrar = mensajes.error(self.winEdit, mensajes.DATOS_NO)
            ctrlOK = False
        """else:
            # Se recuperan todos los datos, para ver si el usuario ya existe
            personas = modelo_personas.obtenerTodos()
            if (personas != None):
                for u in personas:
                    if (u.getNombre() == self.textoNombre.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
            cuenta = modelo_cuentas.Cuenta()
            cuenta.setIdFactura(self.labelFactura.get_text())
            cuenta.setIdCliente(self.labelCliente.get_text())
            cuenta.setCuotas(self.spinCuentas.get_value_as_int())
            cuenta.setFecha_Venc(self.textoFecha.get_text())
            cuenta.setTotal(self.labelTotal.get_text())
            cuenta.setEntrega(self.textoEntrega.get_text())
                
            # Los datos de ID y clave son los que se mantienen en variables
            cuenta.setId(self.identificador)
            if (self.identificador == 0): # Es un registro nuevo
                if modelo_cuentas.crear(cuenta): mostrar = mensajes.aviso(self.winEdit, mensajes.OPER_OK)
                else: mostrar = mensajes.error(self.winEdit, mensajes.OPER_NO)
            else:
                if modelo_cuentas.actualizar(cuenta): 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 on_botonOK_clicked(self, widget):
     
     pagina = self.notebookMedio.get_current_page()
     ctrlOK = True
     if(pagina == 1):
         if(self.checkDescuento.get_active() == True and self.textoDescuento.get_text() == ''):
             mostrar = mensajes.error(self.winEdit, mensajes.DATOS_NO)
             ctrlOK = False
     
         if (ctrlOK == True):
             # Los controles están OK, se crea o modifica el registro
             medio = modelo_medios_pago.Medios_Pagos()
             medio.setIdNroFactura(int(self.labelFactura.get_text()))
             medio.setIdCliente(self.cliente)
             medio.setTotal(self.total)
             medio.setPorcDesc(int(self.textoDescuento.get_text()))
             medio.setDescuento(int(self.labelDescontado.get_text()))
             medio.setTipo_Pago('Contado')
             
                 
         # Los datos de ID y clave son los que se mantienen en variables
         cuenta.setIdCuentas(self.identificador)
        
         
         if (self.identificador == 0): # Es un registro nuevo
             
             if modelo_cuentas.crear(cuenta): mostrar = mensajes.aviso(self.winEdit, mensajes.OPER_OK)
             else: mostrar = mensajes.error(self.winEdit, mensajes.OPER_NO)
         else:
             
             if modelo_cuentas.actualizar(cuenta): mostrar = mensajes.aviso(self.winEdit, mensajes.OPER_OK)
             else: mensajes.error(self.winEdit, mensajes.OPER_NO)
         self.winEdit.destroy()
Example #3
0
 def on_botonUsuarios_clicked(self, widget):
     if (
             self.identificador == 0
     ):  # Es un registro nuevo, no se puede asociar usuario, se debe crear
         mensajes.aviso(self.winEdit, mensajes.PROY_USR)
     else:
         proy_usr.Proy_Usr(self.identificador)
Example #4
0
    def on_botonOK_clicked(self, widget):

        ctrlOK = True
        # Los datos no pueden estar vacíos
        if (self.textoNombre.get_text() == '') or (self.textoDir.get_text() == '') or (self.textoTel.get_text() == '') or (self.textoRUC.get_text() == '') or (self.textoTipo.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
            personas = modelo_personas.obtenerTodos()
            if (personas != None):
                for u in personas:
                    if (u.getNombre() == self.textoNombre.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
            cliente = modelo_clientes.Cliente()
            cliente.setNombre(self.textoNombre.get_text())
            cliente.setDireccion(self.textoDir.get_text())
            cliente.setTelefono(self.textoTel.get_text())
            cliente.setRuc_Cedula(self.textoRUC.get_text())
            cliente.setTipo(self.textoTipo.get_text())
            cliente.setEmail(self.textoEma.get_text())
                
            # Los datos de ID y clave son los que se mantienen en variables
            cliente.setId(self.identificador)
            if (self.identificador == 0): # Es un registro nuevo
                if modelo_clientes.crear(cliente): mostrar = mensajes.aviso(self.winEdit, mensajes.OPER_OK)
                else: mostrar = mensajes.error(self.winEdit, mensajes.OPER_NO)
            else:
                if modelo_clientes.actualizar(cliente): 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 #5
0
    def on_botonOK_clicked(self, widget):

        ctrlOK = True
        # Los datos no pueden estar vacíos
        if (self.spinPagos.get_value_as_int() == 0):
            mostrar = mensajes.error(self.winEdit, mensajes.DATOS_NO)
            ctrlOK = False
        """else:
            # Se recuperan todos los datos, para ver si el usuario ya existe
            personas = modelo_personas.obtenerTodos()
            if (personas != None):
                for u in personas:
                    if (u.getNombre() == self.textoNombre.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
            cuenta = modelo_cuentas.Cuenta()
            cuenta.setIdFactura(self.labelFactura.get_text())
            cuenta.setIdCliente(self.labelCliente.get_text())
            cuenta.setCuotas(self.spinCuentas.get_value_as_int())
            cuenta.setFecha_Venc(self.textoFecha.get_text())
            cuenta.setTotal(self.labelTotal.get_text())
            cuenta.setEntrega(self.textoEntrega.get_text())
                
            # Los datos de ID y clave son los que se mantienen en variables
            cuenta.setId(self.identificador)
            if (self.identificador == 0): # Es un registro nuevo
                if modelo_cuentas.crear(cuenta): mostrar = mensajes.aviso(self.winEdit, mensajes.OPER_OK)
                else: mostrar = mensajes.error(self.winEdit, mensajes.OPER_NO)
            else:
                if modelo_cuentas.actualizar(cuenta): 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 #6
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 #7
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 #8
0
 def on_botonOK_clicked(self, widget):
     cliente = self.comboCliente.get_model()
     clienteID = cliente[self.comboCliente.get_active()][0]
     vendedor = self.comboVendedor.get_model()
     vendedorID = vendedor[self.comboVendedor.get_active()][0]
     ctrlOK = True
     # Los datos no pueden estar vacíos
     if (self.textoFecha.get_text() == '') or (self.checkContado.get_active() == True and self.checkCredito.get_active() == True) or (self.checkContado.get_active() == False and self.checkCredito.get_active() == False):
         mostrar = mensajes.error(self.winEdit, mensajes.DATOS_NO)
         ctrlOK = False
     """else:
         # Se recuperan todos los datos, para ver si el usuario ya existe
         personas = modelo_personas.obtenerTodos()
         if (personas != None):
             for u in personas:
                 if (u.getNombre() == self.textoNombre.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
         detalle_venta = modelo_detalle_ventas.DetVenta()
         venta = modelo_ventas.Venta()
         venta.setCliente(clienteID)
         venta.setVendedor(vendedorID)
         venta.setFecha(self.textoFecha.get_text())
         if (self.checkContado.get_active() == True):
             venta.setTipo('Contado')
         else:
             venta.setTipo('Crédito')
                         
         # Los datos de ID y clave son los que se mantienen en variables
         venta.setTotal(self.labelTotal.get_text())
         venta.setId(self.identificador)
         if (self.identificador == 0): # Es un registro nuevo
             if modelo_ventas.crear(venta): mostrar = mensajes.aviso(self.winEdit, mensajes.OPER_OK)
             else: mostrar = mensajes.error(self.winEdit, mensajes.OPER_NO)
             if self.prodVenta != None:
                 for pv in self.prodVenta:
                     detalle_venta.setIdFactura(int(self.labelFactura.get_text()))
                     detalle_venta.setIdProducto(pv.getIdProducto())
                     detalle_venta.setCantidad(pv.getCantidad())
                     detalle_venta.setDescripcion(pv.getDescripcion())
                     detalle_venta.setPrecioU(pv.getPrecioU())
                     detalle_venta.setImporte(pv.getImporte())
                     modelo_detalle_ventas.crear(detalle_venta)
                     prodDesc = modelo_productos.buscar(pv.getIdProducto())
                     prodDesc.setStock_Act(int(prodDesc.getStock_Act())-pv.getCantidad())
                     modelo_productos.actualizar(prodDesc)
         else:
             if modelo_ventas.actualizar(venta): 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)
         if(self.checkContado.get_active() == True):
             medio_pago.CargarMedioPagos(clienteID, self.labelFactura.get_text(), self.totalSinC)
         else:
             cuentas.CargarCuentas(clienteID,self.labelFactura.get_text(), self.totalSinC)
Example #9
0
    def on_botonOK_clicked(self, widget):
        dias = int(self.textoDias.get_text())

        ctrlOK = True
        # Los datos no pueden estar vacíos
        if (self.textoEntrega.get_text == '' or self.textoDias.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
            personas = modelo_personas.obtenerTodos()
            if (personas != None):
                for u in personas:
                    if (u.getNombre() == self.textoNombre.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
            cuotas = self.comboCuotas.get_active() + 1 
            #self.listaCuenta = []
            for i in range(cuotas):
                cuenta = modelo_cuentas.Cuenta()
                cuenta.setIdFactura(int(self.labelFactura.get_text()))
                cuenta.setIdCliente(self.cliente)
                cuenta.setCuotas(str(i+1)+'/'+str(self.comboCuotas.get_active() + 1))
                cuenta.setMonto(self.montoCuotas)
                cuenta.setFecha_Venc(self.labelVenc.get_text())
                cuenta.setTotal(self.total)
                cuenta.setEntrega(self.textoEntrega.get_text())
                cuenta.setEstado('PENDIENTE')
                    
            # Los datos de ID y clave son los que se mantienen en variables
                cuenta.setIdCuentas(self.identificador)
                if (self.identificador == 0 and i == cuotas):
                    if modelo_cuentas.crear(cuenta): mostrar = mensajes.aviso(self.winEdit, mensajes.OPER_OK)
                    else: mostrar = mensajes.error(self.winEdit, mensajes.OPER_NO)
                elif (self.identificador == 0 and i < cuotas):
                    modelo_cuentas.crear(cuenta)
                    dias = dias + int(self.textoDias.get_text())
                    fecha = date.today() + timedelta(days = dias)
                    fechaV = fecha.strftime("%d/%m/%Y")
                    self.labelVenc.set_text(str(fechaV))
                else:
                    if modelo_cuentas.actualizar(cuenta): mostrar = mensajes.aviso(self.winEdit, mensajes.OPER_OK)
                    else: mensajes.error(self.winEdit, mensajes.OPER_NO)
                
            """if (self.identificador == 0): # Es un registro nuevo
                
                if modelo_cuentas.crear(cuenta): mostrar = mensajes.aviso(self.winEdit, mensajes.OPER_OK)
                else: mostrar = mensajes.error(self.winEdit, mensajes.OPER_NO)
            else:
                
                if modelo_cuentas.actualizar(cuenta): mostrar = mensajes.aviso(self.winEdit, mensajes.OPER_OK)
                else: mensajes.error(self.winEdit, mensajes.OPER_NO)"""
                
            self.winEdit.destroy()
Example #10
0
    def on_botonOK_clicked(self, widget):

        ctrlOK = True
        # Los datos no pueden estar vacíos
        if (self.textoNombre.get_text()
                == '') or (self.textoDes.get_text() == '') or (
                    self.textoPre.get_text()
                    == '') or (self.textoCos.get_text() == '') or (
                        self.textoIVA.get_text()
                        == '') or (self.textoCom.get_text() == '') or (
                            self.textoMin.get_text()
                            == '') or (self.textoDesc.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
            personas = modelo_personas.obtenerTodos()
            if (personas != None):
                for u in personas:
                    if (u.getNombre() == self.textoNombre.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
            producto = modelo_productos.Producto()
            producto.setNombre(self.textoNombre.get_text())
            producto.setDescripcion(self.textoDes.get_text())
            producto.setPrecio(self.textoPre.get_text())
            producto.setCosto(self.textoCos.get_text())
            producto.setIVA(self.textoIVA.get_text())
            producto.setComision(self.textoCom.get_text())
            producto.setStock(self.textoMin.get_text())
            producto.setDescuento(self.textoDesc.get_text())
            producto.setStock_Act(self.textoAct.get_text())
            # Los datos de ID y clave son los que se mantienen en variables
            producto.setId(self.identificador)
            if (self.identificador == 0):  # Es un registro nuevo
                if modelo_productos.crear(producto):
                    mostrar = mensajes.aviso(self.winEdit, mensajes.OPER_OK)
                else:
                    mostrar = mensajes.error(self.winEdit, mensajes.OPER_NO)
            else:
                if modelo_productos.actualizar(producto):
                    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 #11
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)
Example #12
0
    def on_botonOK_clicked(self, widget):

        model = self.comboUsuario.get_model()
        userID = model[self.comboUsuario.get_active()][0]
        ini, fin = self.textoDescBuffer.get_bounds(
        )  # Iteradores con el inicio y fin del buffer de texto
        desc = self.textoDescBuffer.get_text(ini, fin)
        ctrlOK = True

        # Los datos no pueden estar vacíos. Usuario y fecha no se controlan porque tienen valores por defecto
        if (userID <= 0) or (self.textoNombre.get_text() == '') or (desc
                                                                    == ''):
            mostrar = mensajes.error(self.winEdit, mensajes.DATOS_NO)
            ctrlOK = False

        # El usuario del proyecto debe ser el usuario que ingreso al sistema
        if (userID != globalDef.glb_usuario):
            mostrar = mensajes.error(self.winEdit, mensajes.USER_NEW)
            ctrlOK = False

        if (ctrlOK == True):
            # Los controles están OK, se crea o modifica el registro
            proyecto = projects.Project()
            proyecto.setCreated_user_id(userID)
            proyecto.setName(self.textoNombre.get_text())
            proyecto.setDescription(desc)
            fechaMySQL = calendario.toMySQL(
                self.calendario.calendario.get_date())
            proyecto.setCreated(fechaMySQL)

            # El dato de ID se mantienen en variables, aunque no son usados para crear ni modificar
            proyecto.setId(self.identificador)
            if (self.identificador == 0):  # Es un registro nuevo
                if projects.crear(proyecto):
                    mostrar = mensajes.aviso(self.winEdit, mensajes.OPER_OK)
                else:
                    mostrar = mensajes.error(self.winEdit, mensajes.OPER_NO)
            else:
                if projects.actualizar(proyecto):
                    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 #13
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])
                if modelo_cuentas.eliminar(fila[0]): 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)
Example #14
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])
				if users.eliminar(fila[0]): 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)
Example #15
0
    def on_botonIniciar_clicked(self, widget):
        # Se busca el usuario y clave para ver si es un usuario correcto.
        usuario = users.buscarLogin(self.textoUsuario.get_text(), self.textoClave.get_text())

        # Si el login es correcto, muestra bienvenida y abre el index de la aplicación.
        if (usuario != None):
            globalDef.glb_usuario = usuario.getId()
            globalDef.glb_usrNombre = usuario.getUsername()
            mostrar = mensajes.aviso(self.winLogin, mensajes.LOGIN_TRUE + '\n' + usuario.getName())
            self.winLogin.hide() # El login fue correcto, oculta la ventana de ingreso.
            inicio=index.Index()# Ventana princiapal de la aplicación.
        else:
            mostrar = mensajes.error(self.winLogin, mensajes.LOGIN_FALSE)
Example #16
0
    def on_botonOK_clicked(self, widget):

        model = self.comboUsuario.get_model()
        userID = model[self.comboUsuario.get_active()][0]
        ini,fin = self.textoDescBuffer.get_bounds() # Iteradores con el inicio y fin del buffer de texto
        desc = self.textoDescBuffer.get_text(ini,fin)
        ctrlOK = True

        # Los datos no pueden estar vacíos. Usuario y fecha no se controlan porque tienen valores por defecto
        if (userID <= 0) or (self.textoNombre.get_text() == '') or (desc == ''):
            mostrar = mensajes.error(self.winEdit, mensajes.DATOS_NO)
            ctrlOK = False

        # El usuario del proyecto debe ser el usuario que ingreso al sistema
        if (userID != globalDef.glb_usuario):
            mostrar = mensajes.error(self.winEdit, mensajes.USER_NEW)
            ctrlOK = False
        

        if (ctrlOK == True):
            # Los controles están OK, se crea o modifica el registro
            proyecto = projects.Project()
            proyecto.setCreated_user_id(userID)
            proyecto.setName(self.textoNombre.get_text())
            proyecto.setDescription(desc)
            fechaMySQL = calendario.toMySQL(self.calendario.calendario.get_date())
            proyecto.setCreated(fechaMySQL)
            
            # El dato de ID se mantienen en variables, aunque no son usados para crear ni modificar
            proyecto.setId(self.identificador)
            if (self.identificador == 0): # Es un registro nuevo
                if projects.crear(proyecto): mostrar = mensajes.aviso(self.winEdit, mensajes.OPER_OK)
                else: mostrar = mensajes.error(self.winEdit, mensajes.OPER_NO)
            else:
                if projects.actualizar(proyecto): 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 #17
0
    def on_botonOK_clicked(self, widget):

        ctrlOK = True
        # Los datos no pueden estar vacíos
        if (self.textoNombre.get_text() == '') or (self.textoDes.get_text() == '') or (self.textoPre.get_text() == '') or (self.textoCos.get_text() == '') or (self.textoIVA.get_text() == '') or (self.textoCom.get_text() == '') or (self.textoMin.get_text() == '') or (self.textoDesc.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
            personas = modelo_personas.obtenerTodos()
            if (personas != None):
                for u in personas:
                    if (u.getNombre() == self.textoNombre.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
            producto= modelo_productos.Producto()
            producto.setNombre(self.textoNombre.get_text())
            producto.setDescripcion(self.textoDes.get_text())
            producto.setPrecio(self.textoPre.get_text())
            producto.setCosto(self.textoCos.get_text())
            producto.setIVA(self.textoIVA.get_text())
            producto.setComision(self.textoCom.get_text())
            producto.setStock(self.textoMin.get_text())
            producto.setDescuento(self.textoDesc.get_text())
            producto.setStock_Act(self.textoAct.get_text())
            # Los datos de ID y clave son los que se mantienen en variables
            producto.setId(self.identificador)
            if (self.identificador == 0): # Es un registro nuevo
                if modelo_productos.crear(producto): mostrar = mensajes.aviso(self.winEdit, mensajes.OPER_OK)
                else: mostrar = mensajes.error(self.winEdit, mensajes.OPER_NO)
            else:
                if modelo_productos.actualizar(producto): mostrar = mensajes.aviso(self.winEdit, mensajes.OPER_OK)
                else: mensajes.error(self.winEdit, mensajes.OPER_NO)
            self.winEdit.destroy()
            self.cargarVista(False)
Example #18
0
    def on_botonIniciar_clicked(self, widget):
        # Se busca el usuario y clave para ver si es un usuario correcto.
        usuario = users.buscarLogin(self.textoUsuario.get_text(),
                                    self.textoClave.get_text())

        # Si el login es correcto, muestra bienvenida y abre el index de la aplicación.
        if (usuario != None):
            globalDef.glb_usuario = usuario.getId()
            globalDef.glb_usrNombre = usuario.getUsername()
            mostrar = mensajes.aviso(
                self.winLogin, mensajes.LOGIN_TRUE + '\n' + usuario.getName())
            self.winLogin.hide(
            )  # El login fue correcto, oculta la ventana de ingreso.
            inicio = index.Index()  # Ventana princiapal de la aplicación.
        else:
            mostrar = mensajes.error(self.winLogin, mensajes.LOGIN_FALSE)
Example #19
0
    def on_botonIzq_clicked(self, widget):
        (model, iter) = self.vistaDer.get_selection().get_selected()
        if iter != None:
            # Se recupera la fila de la vista derecha
            fila = list(model[iter])
            userID = fila[
                0]  # Se recupera el ID del usuario de la vista derecha
            # Se busca el par (pry,usr) para obtener el ID y asi eliminarlo de la BD
            objeto = projects_users_assign.obtenerTodos(self.proyID, userID)
            if (objeto != None):
                codigo = objeto[0].getId()
                if projects_users_assign.eliminar(codigo):
                    mostrar = mensajes.aviso(self.winMain, mensajes.OPER_OK)
                else:
                    mostrar = mensajes.error(self.winMain, mensajes.OPER_NO)

                self.cargarVistas(False)
Example #20
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)
Example #21
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])
                ventaID = fila[0]
                venta = modelo_ventas.buscar(ventaID)
                modelo_detalle_ventas.eliminar(ventaID)
                #clienteID = modelo_ventas.getCliente()
                #vendedorID = modelo_ventas.getVendedor()
                if modelo_ventas.eliminar(ventaID):
                    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)
Example #22
0
    def on_botonCambiar_clicked(self, widget):

        # Se busca el usuario y clave para ver si es un usuario correcto.
        usuario = users.buscarLogin(self.textoUsuario.get_text(), self.textoClave.get_text())

        # La clave nueva y la repetida deben ser iguales
        if (self.textoNueva.get_text() != self.textoRepite.get_text()):
            mostrar = mensajes.error(self.winMain, mensajes.REPASS_NO)
        # La clave tiene que tener un caracter
        elif (self.textoNueva.get_text() == ''):
            mostrar = mensajes.error(self.winMain, mensajes.PASS_NO)
        # El login debe ser correcto
        elif (usuario == None):
            mostrar = mensajes.error(self.winMain, mensajes.USER_NO)
        # Es un usuario válido, modificamos su clave
        else:
            # Asignamos al objeto la clave nueva.
            usuario.setPassword(self.textoRepite.get_text())
            salida = users.actualizar(usuario)
            if salida: mostrar = mensajes.aviso(self.winMain, mensajes.PASS_OK)
            else: mostrar = mensajes.error(self.winMain, mensajes.OPER_NO)
            self.winMain.destroy()
Example #23
0
    def on_botonCambiar_clicked(self, widget):

        # Se busca el usuario y clave para ver si es un usuario correcto.
        usuario = users.buscarLogin(self.textoUsuario.get_text(),
                                    self.textoClave.get_text())

        # La clave nueva y la repetida deben ser iguales
        if (self.textoNueva.get_text() != self.textoRepite.get_text()):
            mostrar = mensajes.error(self.winMain, mensajes.REPASS_NO)
        # La clave tiene que tener un caracter
        elif (self.textoNueva.get_text() == ''):
            mostrar = mensajes.error(self.winMain, mensajes.PASS_NO)
        # El login debe ser correcto
        elif (usuario == None):
            mostrar = mensajes.error(self.winMain, mensajes.USER_NO)
        # Es un usuario válido, modificamos su clave
        else:
            # Asignamos al objeto la clave nueva.
            usuario.setPassword(self.textoRepite.get_text())
            salida = users.actualizar(usuario)
            if salida: mostrar = mensajes.aviso(self.winMain, mensajes.PASS_OK)
            else: mostrar = mensajes.error(self.winMain, mensajes.OPER_NO)
            self.winMain.destroy()
Example #24
0
    def on_botonDer_clicked(self, widget):
        (model, iter) = self.vistaIzq.get_selection().get_selected()
        if iter != None:
            # Se recupera la fila de la vista izquierda
            fila = list(model[iter])
            userID = fila[
                0]  # Se recupera el ID del usuario de la vista izquierda
            fechaACT = calendario.timeToMySQL(
                time.localtime())  # Tupla con la hora y fecha completa

            # Se crea un objeto de la relación y se guarda en la BD
            objeto = projects_users_assign.ProjectUserAssign()
            objeto.setProject_id(
                self.proyID)  # El proyecto es un valor global a esta módulo
            objeto.setOwner_id(userID)
            objeto.setCreated(fechaACT)

            if projects_users_assign.crear(objeto):
                mostrar = mensajes.aviso(self.winMain, mensajes.OPER_OK)
            else:
                mostrar = mensajes.error(self.winMain, mensajes.OPER_NO)

            self.cargarVistas(False)
Example #25
0
 def on_botonUsuarios_clicked(self, widget):
     if (self.identificador == 0): # Es un registro nuevo, no se puede asociar usuario, se debe crear
         mensajes.aviso(self.winEdit, mensajes.PROY_USR)
     else: proy_usr.Proy_Usr(self.identificador)
Example #26
0
    def on_botonOK_clicked(self, widget):
        proveedor = self.comboProveedor.get_model()
        proveedorID = proveedor[self.comboProveedor.get_active()][0]
        ctrlOK = True
        # Los datos no pueden estar vacíos
        if (self.textoFecha.get_text()
                == '') or (self.textoFactura.get_text() == '') or (
                    self.checkContado.get_active() == True
                    and self.checkCredito.get_active()
                    == True) or (self.checkContado.get_active() == False
                                 and self.checkCredito.get_active() == False):
            mostrar = mensajes.error(self.winEdit, mensajes.DATOS_NO)
            ctrlOK = False
        """else:
            # Se recuperan todos los datos, para ver si el usuario ya existe
            personas = modelo_personas.obtenerTodos()
            if (personas != None):
                for u in personas:
                    if (u.getNombre() == self.textoNombre.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
            detalle_compra = modelo_detalle_compras.DetCompra()
            compra = modelo_compras.Compra()
            compra.setId(int(self.textoFactura.get_text()))
            compra.setProveedor(proveedorID)
            compra.setFecha(self.textoFecha.get_text())
            if (self.checkContado.get_active() == True):
                compra.setTipo('Contado')
            else:
                compra.setTipo('Crédito')

            # Los datos de ID y clave son los que se mantienen en variables
            compra.setTotal(self.total)
            #compra.setId(self.identificador)
            if (self.identificador == 0):  # Es un registro nuevo
                if modelo_compras.crear(compra):
                    mostrar = mensajes.aviso(self.winEdit, mensajes.OPER_OK)
                else:
                    mostrar = mensajes.error(self.winEdit, mensajes.OPER_NO)
                if self.prodCompra != None:
                    for pc in self.prodCompra:
                        detalle_compra.setIdFactura(
                            int(self.textoFactura.get_text()))
                        detalle_compra.setIdProducto(pc.getIdProducto())
                        detalle_compra.setCantidad(pc.getCantidad())
                        detalle_compra.setDescripcion(pc.getDescripcion())
                        detalle_compra.setPrecioU(pc.getPrecioU())
                        detalle_compra.setImporte(pc.getImporte())
                        modelo_detalle_compras.crear(detalle_compra)
                        prodDesc = modelo_productos.buscar(pc.getIdProducto())
                        prodDesc.setStock_Act(
                            int(prodDesc.getStock_Act()) + pc.getCantidad())
                        modelo_productos.actualizar(prodDesc)
            else:
                if modelo_compras.actualizar(compra):
                    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 #27
0
    def on_botonOK_clicked(self, widget):
        dias = int(self.textoDias.get_text())

        ctrlOK = True
        # Los datos no pueden estar vacíos
        if (self.textoEntrega.get_text == '' or self.textoDias.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
            personas = modelo_personas.obtenerTodos()
            if (personas != None):
                for u in personas:
                    if (u.getNombre() == self.textoNombre.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
            cuotas = self.comboCuotas.get_active() + 1
            #self.listaCuenta = []
            for i in range(cuotas):
                cuenta = modelo_cuentas.Cuenta()
                cuenta.setIdFactura(int(self.labelFactura.get_text()))
                cuenta.setIdCliente(self.cliente)
                cuenta.setCuotas(self.comboCuotas.get_active() + 1)
                cuenta.setMonto(self.montoCuotas)
                cuenta.setFecha_Venc(self.labelVenc.get_text())
                cuenta.setTotal(self.total)
                cuenta.setEntrega(self.textoEntrega.get_text())

                # Los datos de ID y clave son los que se mantienen en variables
                cuenta.setIdCuentas(self.identificador)
                if (self.identificador == 0 and i == cuotas):
                    if modelo_cuentas.crear(cuenta):
                        mostrar = mensajes.aviso(self.winEdit,
                                                 mensajes.OPER_OK)
                    else:
                        mostrar = mensajes.error(self.winEdit,
                                                 mensajes.OPER_NO)
                elif (self.identificador == 0 and i < cuotas):
                    modelo_cuentas.crear(cuenta)
                    dias = dias + int(self.textoDias.get_text())
                    fecha = date.today() + timedelta(days=dias)
                    fechaV = fecha.strftime("%d/%m/%Y")
                    self.labelVenc.set_text(str(fechaV))
                else:
                    if modelo_cuentas.actualizar(cuenta):
                        mostrar = mensajes.aviso(self.winEdit,
                                                 mensajes.OPER_OK)
                    else:
                        mensajes.error(self.winEdit, mensajes.OPER_NO)
            """if (self.identificador == 0): # Es un registro nuevo
                
                if modelo_cuentas.crear(cuenta): mostrar = mensajes.aviso(self.winEdit, mensajes.OPER_OK)
                else: mostrar = mensajes.error(self.winEdit, mensajes.OPER_NO)
            else:
                
                if modelo_cuentas.actualizar(cuenta): mostrar = mensajes.aviso(self.winEdit, mensajes.OPER_OK)
                else: mensajes.error(self.winEdit, mensajes.OPER_NO)"""

            self.winEdit.destroy()
Example #28
0
#!#!/usr/bin/env python
# -*- coding: utf-8 -*-

from sistema import mensajes

# Esto solo se ejecuta cuando es llamado como programa principal
if __name__ == '__main__':
    mostrar = mensajes.error(None, mensajes.OPER_NO)
    print mostrar
    
    mostrar = mensajes.aviso(None, mensajes.OPER_OK)
    print mostrar

    mostrar = mensajes.pregunta(None, '¿Desea continuar?')
    print mostrar

    mostrar = mensajes.advert(None, 'Cuidado!!' + '\n' + '¿Desea continuar?')
    print mostrar