Exemple #1
0
def crearTransaccion (request):
    usuario = request.user
    if usuario.has_perm('modelo.add_transaccion'):
        formulario = FormularioTransaccion(request.POST)
        if request.method == 'POST':
            if formulario.is_valid():
                datos = formulario.cleaned_data
                #dni = request.GET['cedula']
                #cliente = Cliente.objects.get(cedula = dni)
                cuenta = datos.get('cuenta')
                if cuenta.estado == True:
                    if datos.get('tipo') == "retiro" or datos.get('tipo') == "online":
                        if saldo(cuenta.saldo,datos.get('valor')):
                            transaccion = Transaccion()
                            guardar_transaccion(transaccion, datos)
                            caja = Caja()
                            guardar_caja(caja, transaccion, usuario)
                            cuenta.saldo = cuenta.saldo-transaccion.valor
                            cuenta.save()
                            transaccion.saldoFinal = cuenta.saldo
                            transaccion.save()
                            messages.warning(request, 'Transaccion de RETIRO exitosa!!')
                            #return redirect(principal)
                            dat={
                                'cuentaA': cuenta,
                            }
                            return render(request, 'pdf/btn_cartola.html', dat)
                        else:
                            html = "<html><body>No se puede realizar el retiro.<br><a href= "''">Volver</a> | <a href= "'listarAllCuentas'">Principal</a></body></html>"
                            return HttpResponse(html)
                    elif datos.get('tipo') == "deposito" or datos.get('tipo') == "pensiones" or datos.get('tipo') == "seguros" or datos.get('tipo') == "iess":
                        transaccion = Transaccion()
                        guardar_transaccion(transaccion, datos)
                        caja = Caja()
                        guardar_caja(caja, transaccion, usuario)
                        cuenta.saldo = cuenta.saldo+transaccion.valor
                        cuenta.save()
                        transaccion.saldoFinal = cuenta.saldo
                        transaccion.save()
                        messages.warning(request, 'Transaccion de DEPOSITO exitoso!!')
                        #return redirect(principal)
                        dat={
                            'cuentaA': cuenta,
                        }
                        return render(request, 'pdf/btn_cartola.html', dat)
                    elif datos.get('tipo') == "transferencia":
                        html = "<html><body>No se puede realizar la transferencia.<br><a href= "''">Volver</a> | <a href= "'listarAllCuentas'">Principal</a></body></html>"
                        return HttpResponse(html)
                else:
                    html = "<html><body>No se puede realizar la transferencia Debido a que su CUenta esta Inactiva.<br><a href= "''">Volver</a> | <a href= "'listarAllCuentas'">Principal</a></body></html>"
                    return HttpResponse(html)
        context = {
            'f': formulario,
            'title': "Ingresar Cuenta",
            'mensaje': "Ingresar nueva Transaccion",
        }
        return render(request, 'transaccion/crear_transaccion.html', context)
    else:
        return render(request, 'login/acceso_prohibido.html')
Exemple #2
0
def crearTransaccionNumeroCuenta (request):
    usuario = request.user
    if usuario.has_perm('modelo.add_transaccion'):
        formulario = FormularioTransaccionNumCuenta(request.POST)
        num = request.GET['numero']
        if request.method == 'POST':
            if formulario.is_valid():
                datos = formulario.cleaned_data
                cuenta = Cuenta.objects.get(numero=num)
                if cuenta.estado == True:
                    if datos.get('tipo') == 'retiro':
                        if cuenta.saldo >= datos.get('valor'):
                            transaccion = Transaccion()
                            guardar_transaccion_num(transaccion, datos, cuenta)
                            caja = Caja()
                            guardar_caja(caja, transaccion, usuario)
                            cuenta.saldo = cuenta.saldo-transaccion.valor
                            cuenta.save()
                            transaccion.saldoFinal = cuenta.saldo
                            transaccion.save()
                            messages.warning(request, 'Transaccion de RETIRO exitosa!!')
                            dat={
                                'cuentaA': cuenta,
                            }
                            return render(request, 'pdf/btn_cartola.html', dat)
                        else:
                            html = "<html><body>No se puede realizar el retiro.<br><a href= "''">Volver</a> | <a href= "'listarAllCuentas'">Principal</a></body></html>"
                            return HttpResponse(html)
                    elif datos.get('tipo')== 'deposito':
                        transaccion = Transaccion()
                        guardar_transaccion_num(transaccion, datos, cuenta)
                        caja = Caja()
                        guardar_caja(caja, transaccion, usuario)
                        cuenta.saldo = cuenta.saldo+transaccion.valor
                        cuenta.save()
                        transaccion.saldoFinal = cuenta.saldo
                        transaccion.save()
                        messages.warning(request, 'Transaccion de DEPOSITO exitoso!!')
                        dat={
                            'cuentaA': cuenta,
                        }
                        return render(request, 'pdf/btn_cartola.html', dat)
                    elif datos.get('tipo') == "transferencia":
                        html = "<html><body>No se puede realizar la transferencia.<br><a href= "''">Volver</a> | <a href= "'listarAllCuentas'">Principal</a></body></html>"
                        return HttpResponse(html)
                else:
                    html = "<html><body>No se puede realizar la transferencia Debido a que su CUenta esta Inactiva.<br><a href= "''">Volver</a> | <a href= "'listarAllCuentas'">Principal</a></body></html>"
                    return HttpResponse(html)
        context = {
            'f': formulario,
            'title': "Ingresar Cuenta",
            'mensaje': "Ingresar nueva Transaccion",
            'num': num
        }
        return render(request, 'transaccion/crear_transaccion.html', context)
    else:
        return render(request, 'login/acceso_prohibido.html')
Exemple #3
0
def transaccion(request):
    usuario = request.user
    if usuario.has_perm('modelo.add_transaccion'):

        numero = request.GET['numero']
        cuenta = Cuenta.objects.get(numero=numero)
        formulario = FormularioTransaccion(request.POST)
        context = {
            'f': formulario,
            'numero': numero,
            'title': "Transaccion",
            'mensaje': "Ingresar Nueva Transaccion"
        }

        if request.method == 'POST':
            if formulario.is_valid():
                datos = formulario.cleaned_data
                transaccion = Transaccion()

                transaccion.cuenta = cuenta
                transaccion.tipo = datos.get('tipo')
                transaccion.valor = datos.get('valor')
                transaccion.descripcion = datos.get('descripcion')

                cuenta = Cuenta.objects.get(numero=numero)
                cuentaSuma = Cuenta.objects.filter(numero=numero)

                suma = 0

                for item in cuentaSuma:
                    if datos.get('tipo') == 'deposito':
                        suma = datos.get('valor') + item.saldo
                    if datos.get('tipo') == 'retiro':
                        if item.saldo >= datos.get('valor'):
                            suma = item.saldo - datos.get('valor')
                        else:
                            messages.warning(request, 'SALDO INSUFICIENTE')
                            return render(request, 'clientes/Transaccion.html',
                                          context)
                cuenta.saldo = suma

                transaccion.save()
                cuenta.save()
                messages.warning(request, 'Guardado Exitosamente')
                context = {
                    'nombres': cuenta.cliente.nombres + " ",
                    'apellidos': cuenta.cliente.apellidos,
                    'fecha': transaccion.fecha,
                    'tipo': transaccion.tipo,
                    'valor': transaccion.valor,
                    'cuenta': transaccion.cuenta,
                    'descripcion': transaccion.descripcion
                }
                return render(request, 'clientes/Presentar.html', context)
        numero = random.randrange(10)

        return render(request, 'clientes/Transaccion.html', context)
    else:
        messages.warning(request, 'No Permitido')
        return render(request, 'login/403.html')
def transferencia(request):
        numero1 = request.GET['numero1']
        cedula1= request.GET['cedula1']
        numero2 = request.GET['numero2']
        cedula2 = request.GET['cedula2']
        valor = request.GET['monto']
        descripcion = request.GET['descripcion']
        responsable = request.GET['responsable']

        cliente1=Cliente.objects.all().filter(cedula = cedula1)
        cuenta1 = Cuenta.objects.all().filter(numero = numero1)

        cliente2=Cliente.objects.all().filter(cedula = cedula2)
        cuenta2 = Cuenta.objects.all().filter(numero = numero2)

        titulo ="Transaccion estado"
        subtitulo ="Mensaje"

        if cliente1 and cuenta1 and cliente2 and cuenta2:
                transaccion = Transaccion()

                auxCuenta1=str(Cuenta.objects.get(numero = numero1))
                auxCuenta2=str(Cuenta.objects.get(numero = numero2))

                auxCuenta1 =  auxCuenta1.split(';')
                auxCuenta2 =  auxCuenta2.split(';')

                saldoActual1 = float(auxCuenta1[0])
                saldoActual2 = float(auxCuenta2[0])

                transaccion.tipo= 'Transferencia'
                transaccion.valor = round(float(valor),3)
                transaccion.descripcion = descripcion
                transaccion.responsable = responsable
                transaccion.cuenta = Cuenta.objects.get(cuenta_id=int(auxCuenta1[1]))

                deposito = float(valor)
               
                for cu in cuenta1:
                        cu.saldo =round(saldoActual1-deposito,3)
                        cu.save()
                
                transaccion.save()

                for cu in cuenta2:
                        cu.saldo =round(saldoActual2+deposito,3)
                        cu.save()
                mensaje ='Transaccin realizada con éxito'
                valor = valor
                return render (request,'transferencias/mensaje_transferencia.html',locals())
        else:
                valor = valor
                mensaje ='ERROR AL REALIZAR TRANSACCION'
                return render (request,'transferencias/mensaje_transferencia.html',locals())
Exemple #5
0
def crearTransferencia(request):
    usuario = request.user
    if usuario.has_perm('modelo.add_transaccion'):
        formulario = FormularioTansferencia(request.POST)
        form = FormularioBancaVirtual(request.POST)
        if request.method == 'POST':
            if formulario.is_valid() and form.is_valid():
                datosA = formulario.cleaned_data
                datosB = form.cleaned_data
                aux = Cuenta.objects.filter(numero = datosB.get('numeroCuentaDestino'))
                if aux:
                    cuentaB = aux.get(numero = datosB.get('numeroCuentaDestino'))
                    if cuentaB:
                        cuenta = datosA.get('cuenta')
                        if saldo(cuenta.saldo, datosA.get('valor')):
                            #guradar transaccion A
                            transaccion = Transaccion()
                            transaccion.tipo = 'transferencia'
                            transaccion.valor = datosA.get('valor')
                            transaccion.descripcion = datosA.get('descripcion')
                            transaccion.cuenta = datosA.get('cuenta')
                            transaccion.save()
                            #guradar transaccion B
                            transaccionB = Transaccion()
                            transaccionB.tipo = 'transferencia'
                            transaccionB.valor = datosA.get('valor')
                            transaccionB.descripcion = datosA.get('descripcion')
                            transaccionB.cuenta = cuentaB
                            transaccionB.save()
                            #guardar bancaVirtual
                            banca = BancaVirtual()
                            banca.numeroCuentaDestino = datosB.get('numeroCuentaDestino')
                            banca.dniTitularCuentaDestino = datosB.get('dniTitularCuentaDestino')
                            banca.titularCuentaDestino = datosB.get('titularCuentaDestino')
                            banca.transaccion = transaccion
                            banca.save()
                            #realizamos la transferencia
                            cuenta.saldo = cuenta.saldo - transaccion.valor
                            cuentaB.saldo = cuentaB.saldo + transaccion.valor
                            cuenta.save()
                            cuentaB.save()
                            #se guarda el saldo final de la transaccion
                            transaccion.saldoFinal = cuenta.saldo
                            transaccion.save()
                            transaccionB.saldoFinal = cuentaB.saldo
                            transaccionB.save()
                            messages.warning(request, 'Transferencia exitosa!!')
                            #return redirect(principal)
                            dat={
                                'cuentaA': cuenta,
                                'cuentaB': cuentaB,
                                'transaccionA': transaccion,
                                'nombresA': cuenta.cliente.nombres,
                                'apellsA': cuenta.cliente.apellidos,
                                'direccionA': cuenta.cliente.direccion,
                                'telefonoA': cuenta.cliente.telefono,
                                'nombresBB': cuentaB.cliente.nombres,
                                'apellsBB': cuentaB.cliente.apellidos,
                            }
                            return render(request, 'pdf/btn.html', dat)
                        else:
                            html = "<html><body>No se puede realizar la transaccion debido a que no cuenta con el saldo suficiente.<br><a href= "''">Volver</a> | <a href= "'listarAllCuentas'">Principal</a></body></html>"
                            return HttpResponse(html)
                    else:
                        html = "<html><body>No existe el numero de cuenta del destinatario.<br><a href= "''">Volver</a> | <a href= "'listarAllCuentas'">Principal</a></body></html>"
                        return HttpResponse(html)
                else:
                    html = "<html><body>No existe el numero de cuenta.<br><a href= "''">Volver</a> | <a href= "'listarAllCuentas'">Principal</a></body></html>"
                    return HttpResponse(html)
            else:
                html = "<html><body>Los datos estan mal ingresados.<br><a href= "''">Volver</a> | <a href= "'listarAllCuentas'">Principal</a></body></html>"
                return HttpResponse(html)
        context = {
            'f': formulario,
            'b': form,
            'title': "Ingresar Cuenta",
            'mensaje': "Ingresar nueva Transferencia"
        }
        return render(request, 'transaccion/crear_transferencia.html', context)
    else:
        return render(request, 'login/acceso_prohibido.html')
Exemple #6
0
def transaccion(request):
    usuario = request.user
    if usuario.has_perm('modelo.add_transaccion'):
        dni = request.GET['numero']
        c = Cuenta.objects.get(numero=dni)
        trans = Transaccion()
        trans.cuenta = c
        formulario = FormularioTransaccion(instance=trans)

        context = {
            'f': formulario,
            'title': "Transaccion",
            'mensaje': "Ingresar Nueva Transaccion"
        }
        formulario = FormularioTransaccion(request.POST)
        if request.method == 'POST':
            if formulario.is_valid():
                datos = formulario.cleaned_data
                transaccion = Transaccion()
                transaccion.cuenta = datos.get('cuenta')
                transaccion.tipo = datos.get('tipo')
                transaccion.valor = datos.get('valor')
                transaccion.descripcion = datos.get('descripcion')
                transaccion.cedula_responsable = datos.get('cedula_responsable')
                transaccion.responsable = datos.get('responsable')

                cuenta = Cuenta.objects.get(numero=datos.get('cuenta'))
                if cuenta.estado:
                    cuentaSuma = Cuenta.objects.filter(numero=datos.get('cuenta'))

                    suma = 0
                    for item in cuentaSuma:
                        if datos.get('tipo') == 'deposito':
                            suma = datos.get('valor') + item.saldo
                        if datos.get('tipo') == 'retiro':
                            if item.saldo >= datos.get('valor'):
                                suma = item.saldo - datos.get('valor')
                            else:
                                messages.warning(request, 'SALDO INSUFICIENTE')
                                return render(request, 'transaccion/crear_transaccion.html', context)
                    cuenta.saldo = suma;

                    transaccion.save()
                    cuenta.save()
                    messages.warning(request, 'Guardado Exitosamente')
                    context = {
                        'fecha': transaccion.fecha,
                        'tipo': transaccion.tipo,
                        'valor': transaccion.valor,
                        'cuenta': transaccion.cuenta,
                        'descripcion': transaccion.descripcion,
                        'cedula_responsable': transaccion.cedula_responsable,
                        'responsable': transaccion.responsable
                    }
                    return render(request, 'transaccion/presentar.html', context)
                else:
                    messages.warning(request, 'CUENTA INACTIVA')
                    return redirect(homePage)
        return render(request, 'transaccion/crear_transaccion.html', context)
    else:
        return render(request, 'login/buscar.html')
def depositar_retirar_transaccion(request, cedula, numero):
    formMonto = FormularioMonto(request.POST)
    formTransaccion =FormularioTransaccion(request.POST)
    cliente = Cliente.objects.all().filter(cedula = cedula)
    cuenta = Cuenta.objects.all().filter(numero = numero)
    if request.method == 'POST':
        if formMonto.is_valid() and formTransaccion.is_valid():
            datosMonto = formMonto.cleaned_data
            datosTransaccion = formTransaccion.cleaned_data
            transaccion = Transaccion()
            monto = float(datosTransaccion.get('valor'))
            dep = str(Cuenta.objects.get(numero = numero))
            dep = dep.split(';')
            saldoActual = float(dep[0])
            transaccion.tipo = datosTransaccion.get('tipo')
            transaccion.valor= datosTransaccion.get('valor')
            transaccion.descripcion = datosTransaccion.get('descripcion')
            transaccion.responsable = datosTransaccion.get('responsable')
            transaccion.cuenta = Cuenta.objects.get(cuenta_id = int(dep[1]))
            if datosTransaccion.get('tipo') == 'Deposito':
                transaccion.save()
                for cuen in cuenta:
                    cuen.saldo = round(saldoActual + monto, 3)
                    cuen.save()
                return render(request, 'transacciones/mensaje_transaccion.html', locals())
            if datosTransaccion.get('tipo') == 'Retiro':
                transaccion.save()
                for cuen in cuenta:
                    cuen.saldo = round(saldoActual - monto, 3)
                    cuen.save()
                return render(request, 'transacciones/mensaje_transaccion.html', locals())
    else:
        return render(request,'transacciones/depositar_retirar_transaccion.html', locals())