def concesion_de_permisos_grupos(self, codigo):
        cant = len(self.obj("grilla").get_model())
        if cant > 0:
            eleccion = Mens.pregunta_generico(
                "¿Desea conservar los permisos?",
                "El usuario ya posee pemisos sobre unas " + str(cant) +
                " entidades.")

            if not eleccion:
                self.on_btn_per_todos_clicked(0)

        conexion = Op.conectar(self.datos_conexion)
        cursor = Op.consultar(
            conexion, "*", "grupousuarios_permisos_s",
            " WHERE idGrupoUsuario = " + codigo + " ORDER BY idTabla")
        datos = cursor.fetchall()
        cant = cursor.rowcount
        conexion.close()  # Finaliza la conexión

        for i in range(0, cant):
            self.idTabla = datos[i][2]
            con = True if datos[i][4] == 1 else False
            ins = True if datos[i][5] == 1 else False
            act = True if datos[i][6] == 1 else False
            eli = True if datos[i][7] == 1 else False
            anu = True if datos[i][8] == 1 else False
            self.permisos_tablas(con, ins, act, eli, anu, True)

        self.cargar_grilla()
Пример #2
0
    def on_btn_pedido_clicked(self, objeto):
        # Si ya se ha elegido un pedido anterior, pregunta si esta seguro,
        # ya que se modificarán los registros agregados a la Orden de Compra
        eleccion = True if len(self.obj("txt_02").get_text()) == 0 \
        else Mens.pregunta_generico("¿Está seguro?",
        "Elegir OTRO PEDIDO modificará los registros de ítems de la Orden actual.")

        if eleccion:
            from clases.llamadas import pedidocompras
            pedidocompras(self.nav.datos_conexion, self)
Пример #3
0
    def on_btn_orden_clicked(self, objeto):
        # Si ya se ha elegido una orden anterior, pregunta si esta seguro de
        # querer eliminar todos los registros agregados a la Factura de Compra
        eleccion = True if len(self.obj("txt_orden").get_text()) == 0 \
        else Mens.pregunta_generico("¿Está seguro?",
        "Elegir OTRA ORDEN modificará los registros de ítems de la Factura actual.")

        if eleccion:
            proveedor = self.obj("txt_03").get_text()
            condicion = None if len(proveedor) == 0 else "idProveedor = " + proveedor

            from clases.llamadas import ordencompras
            ordencompras(self.nav.datos_conexion, self, condicion)
Пример #4
0
    def on_btn_limpiar_pedido_clicked(self, objeto):
        self.guardar_encabezado()

        if len(self.obj("txt_02").get_text()) > 0:
            eleccion = Mens.pregunta_generico(
                "¿Está seguro?",
                "Ha elegido eliminar la relación entre el Pedido\n" +
                "previamente seleccionado y la Orden actual.")

            if eleccion:
                orden = self.obj("txt_00").get_text()
                Op.eliminar(self.conexion, "ordencompras_pedidos", orden)
                self.obj("txt_02").set_text("")
                self.editando_pedido = self.pedido_guardado = False
Пример #5
0
    def on_btn_limpiar_orden_clicked(self, objeto):
        self.guardar_encabezado()

        if len(self.obj("txt_orden").get_text()) > 0:
            eleccion = Mens.pregunta_generico("¿Está seguro?",
                "Ha elegido eliminar la relación entre la Orden de Compra\n" +
                "previamente seleccionada y la Factura actual.")

            if eleccion:
                fact = self.obj("txt_00").get_text()
                timb = self.obj("txt_01").get_text()

                Op.eliminar(self.conexion, self.nav.tabla + "_ordenes", timb + ", '" + fact + "'")

                self.obj("txt_orden").set_text("")
                self.obj("txt_fecha").set_text("")
                self.editando_orden = self.orden_guardada = False
Пример #6
0
    def on_btn_factura_clicked(self, objeto):
        tabla = self.obj("grilla").get_model()

        if len(tabla) > 0:
            eleccion = Mens.pregunta_generico(
                "Guardar Cambios",
                "¿Desea guardar los cambios que haya realizado en las Cuotas?")

            if eleccion:
                self.conexion.commit()
            else:
                self.conexion.rollback()

        if self.tabla == "cuentascobrar":
            from ventas.facturas import factura_buscar
            factura_buscar(self.datos_conexion, self, "idTipoFactura = 2")
        else:
            pass
Пример #7
0
    def __init__(self, datos, v_or):
        self.datos_conexion = datos
        self.origen = v_or

        if self.origen.estab is not None:
            #cerrar = self.comprobar_cierre_arqueo()
            cerrar = True

            if not cerrar:
                eleccion = Mens.pregunta_generico(
                    "Aún no ha sido registrado el Arqueo de Caja",
                    "Se ha registrado movimiento desde el último Arqueo.\n" +
                    "¿Desea registra dicho Arqueo en este momento?")

                if eleccion:
                    from arqueos import arqueos
                    arqueos(self.datos_conexion, self.origen.estab,
                        self.origen.caja, self.origen.numero)
                else:
                    self.cerrar_caja()
            else:
                self.cerrar_caja()
    def on_btn_factura_clicked(self, objeto):
        nota = self.obj("txt_00_3").get_text()
        timb = self.obj("txt_01_1").get_text()
        datos = self.obj("grilla").get_model()
        cant = len(datos)

        eleccion = True if cant == 0 else Mens.pregunta_generico(
            "¿Está seguro?",
            "Elegir una NUEVA FACTURA eliminará todos los registros actuales.")

        if eleccion:
            for i in range(0, cant):
                item = datos[i][0]
                self.eliminar_nota_lote(item)
                Op.eliminar(self.conexion, self.tabla + "_detalles",
                            timb + ", " + nota + ", " + item)

            import venta_facturas
            venta_facturas.factura_buscar(self.conexion, self)

            if cant > 0:
                self.obj("barraestado").push(
                    0, "Los Ítems de la Nota de Débito han sido Eliminados.")
                self.cargar_grilla_detalles()
Пример #9
0
    def buscar_empleado(self, objeto, campo, valor, nombre):
        conexion = Op.conectar(self.nav.datos_conexion)
        cursor = Op.consultar(
            conexion, "idPersona, RazonSocial, NroDocumento, " +
            "idTipoDocumento, NroSeguroIPS, idAsegurado, Genero, Nacionalidad, "
            + "EstadoCivil, FechaNacimiento, LugarNacimiento", "personas_s",
            " WHERE " + campo + " = " + valor + " AND Empleado = 1")
        datos = cursor.fetchall()
        cant = cursor.rowcount

        if cant > 0:
            nro_seg = "" if datos[0][4] is None else datos[0][4]
            id_aseg = "" if datos[0][5] is None else datos[0][5]

            self.obj("txt_00").set_text(str(datos[0][0]))
            self.obj("txt_00_1").set_text(datos[0][1])
            self.obj("txt_00_2").set_text(datos[0][2])
            self.obj("txt_00_3").set_text(nro_seg)
            self.obj("txt_00_4").set_text(id_aseg)
            self.obj("txt_00_5").set_text(datos[0][6])
            self.obj("txt_00_6").set_text(datos[0][7])
            self.obj("txt_00_7").set_text(datos[0][8])
            self.obj("txt_00_8").set_text(Cal.mysql_fecha(datos[0][9]))
            self.obj("txt_00_9").set_text(datos[0][10])

            # Asignación de Tipo de Documento en Combo
            model, i = self.obj("cmb_tipo_doc_emp").get_model(), 0
            while model[i][0] != datos[0][3]:
                i += 1
            self.obj("cmb_tipo_doc_emp").set_active(i)

            # Buscar Dirección Actual
            cursor = Op.consultar(
                conexion, "CONCAT(Direccion, " +
                "IFNULL(CONCAT(' Nº ', NroCasa), '')), " + "Barrio, Ciudad",
                "personas_direcciones_s",
                " WHERE idPersona = " + self.obj("txt_00").get_text())
            datos = cursor.fetchall()

            if cursor.rowcount > 0:
                self.obj("txt_00_10").set_text(datos[0][0])
                self.obj("txt_00_11").set_text(datos[0][1])  # Barrio
                self.obj("txt_00_12").set_text(datos[0][2])  # Ciudad

            # Buscar Teléfono Laboral (2)
            cursor = Op.consultar(
                conexion, "Descripcion", "personas_mediocontactos_s",
                " WHERE idPersona = " + self.obj("txt_00").get_text() +
                " AND idTipoMedioContacto = 2")
            datos = cursor.fetchall()

            if cursor.rowcount > 0:
                medio = "" if len(datos[0][0]) == 0 else datos[0][0]
                self.obj("txt_00_13").set_text(medio)

            # Buscar Teléfono Particular (1)
            cursor = Op.consultar(
                conexion, "Descripcion", "personas_mediocontactos_s",
                " WHERE idPersona = " + self.obj("txt_00").get_text() +
                " AND idTipoMedioContacto = 1")
            datos = cursor.fetchall()

            if cursor.rowcount > 0:
                medio = "" if len(datos[0][0]) == 0 else datos[0][0]
                self.obj("txt_00_14").set_text(medio)

            # Buscar Teléfono Móvil o Celular (3)
            cursor = Op.consultar(
                conexion, "Descripcion", "personas_mediocontactos_s",
                " WHERE idPersona = " + self.obj("txt_00").get_text() +
                " AND idTipoMedioContacto = 3")
            datos = cursor.fetchall()

            if cursor.rowcount > 0:
                medio = "" if len(datos[0][0]) == 0 else datos[0][0]
                self.obj("txt_00_15").set_text(medio)

            # Buscar Correo Electrónico (4)
            cursor = Op.consultar(
                conexion, "Descripcion", "personas_mediocontactos_s",
                " WHERE idPersona = " + self.obj("txt_00").get_text() +
                " AND idTipoMedioContacto = 4")
            datos = cursor.fetchall()

            if cursor.rowcount > 0:
                medio = "" if len(datos[0][0]) == 0 else datos[0][0]
                self.obj("txt_00_16").set_text(medio)

            # Verificar si el Empleado ya fue registrado
            cursor = Op.consultar(
                conexion, "idEmpleado", "beneficiarios_s",
                " WHERE idEmpleado = " + self.obj("txt_00").get_text())
            datos = cursor.fetchall()
            cant = cursor.rowcount

            conexion.close()  # Finaliza la conexión

            if cant > 0:
                if len(self.obj(
                        "grilla").get_model()) > 0:  # Ya hay datos cargados
                    eleccion = Mens.pregunta_generico(
                        "¿Qué Desea?",
                        "Este Empleado ya posee familiares beneficiados con el Seguro de IPS"
                    )

            # - Si hay datos cargados preguntar si desea vincularlos al empleado actual o eliminarlos
            # - - modificar o eliminar (se usa condicion)

            self.cond_empleado = self.obj("txt_00").get_text()
            self.cargar_grilla_beneficiarios()

            self.obj("barraestado").push(0, "")
            self.verificacion(0)

        else:
            conexion.close()  # Finaliza la conexión

            objeto.grab_focus()
            self.estadoguardar(False)
            self.obj("barraestado").push(0, "El " + nombre + " no es válido.")

            otro = self.obj("txt_00_2") if objeto == self.obj(
                "txt_00") else self.obj("txt_00")
            otro.set_text("")
            self.limpiar_empleado()