コード例 #1
0
 def test_un_estacionamiento_muchos_pagos(self):
     n = 1000
     prop=Propietario(nombres="prop",apellidos="",cedula="")
     prop.save()
     e = Estacionamiento(
         propietario = prop,
         nombre      = "nom",
         direccion   = "dir",
         rif         = "J-123456789",
         capacidad   = n,
         apertura    = time(0,0),
         cierre      = time(23,59),
     )
     e.save()
     for i in range(0,n):
         r = Reserva(
                 estacionamiento = e,
                 inicioReserva = datetime(2015,3,10,3,0),
                 finalReserva  = datetime(2015,3,10,5,0)
             )
         r.save()
         p = Pago(
                 fechaTransaccion = datetime.now(),
                 cedulaTipo       = "V",
                 cedula           = "1234567",
                 tarjetaTipo      = "VISTA",
                 reserva          = r,
                 monto            = 100,
             )
         p.save()
     lista, total = consultar_ingresos("J-123456789")
     self.assertTrue(len(lista) == 1 and total == n*100)
コード例 #2
0
 def test_un_estacionamiento_un_pago(self):
     pro = Propietario(nombre="Pepe", ci='V-12345678', tel="0412-1234567")
     pro.save()
     e = Estacionamiento(
         ci_propietario=pro,
         nombre="nom",
         direccion="dir",
         rif="J-123456789",
         capacidad=20,
         apertura=time(0, 0),
         cierre=time(23, 59),
     )
     e.save()
     r = Reserva(estacionamiento=e,
                 inicioReserva=datetime(2015, 3, 10, 3, 0),
                 finalReserva=datetime(2015, 3, 10, 5, 0))
     r.save()
     p = Pago(
         fechaTransaccion=datetime.now(),
         cedula="V-1234567",
         tipoPago="VISTA",
         reserva=r,
         monto=150,
     )
     p.save()
     lista, total = consultar_ingresos("J-123456789")
     self.assertTrue(len(lista) == 1 and total == 150)
コード例 #3
0
 def test_muchos_estacionamiento_con_disintos_rif(self):
     n = 1000
     for i in range(0, n):
         pro = Propietario(nombre="prop%d" % i,
                           ci='V-12345678%d' % i,
                           tel="0412-1234567")
         pro.save()
         e1 = Estacionamiento(
             ci_propietario=pro,
             nombre="nom%d" % i,
             direccion="dir1",
             rif="J-%i" % (123456789 - i),
             capacidad=n,
             apertura=time(0, 0),
             cierre=time(23, 59),
         )
         e1.save()
         r = Reserva(estacionamiento=e1,
                     inicioReserva=datetime(2015, 3, 10, 3, 0),
                     finalReserva=datetime(2015, 3, 10, 5, 0))
         r.save()
         p = Pago(
             fechaTransaccion=datetime.now(),
             cedula="V-1234567",
             tipoPago="VISTA",
             reserva=r,
             monto=100,
         )
         p.save()
     lista, total = consultar_ingresos("J-123456789")
     self.assertTrue(len(lista) == 1 and total == 100)
コード例 #4
0
 def test_un_estacionamiento_muchos_pagos(self):
     n = 1000
     p = Puestos(particular=n, moto=20, carga=20, discapacitado=20)
     p.save()
     e = Estacionamiento(
         propietario=self.crear_propietario(),
         nombre="nom",
         direccion="dir",
         telefono1="041414141111",
         telefono2="041414141112",
         telefono3="04141414111",
         email1="*****@*****.**",
         email2="*****@*****.**",
         rif="J-123456789",
         capacidad=p,
         apertura=time(0, 0),
         cierre=time(23, 59),
     )
     e.save()
     for i in range(0, n):
         r = Reserva(estacionamiento=e,
                     inicioReserva=datetime(2015, 3, 10, 3, 0),
                     finalReserva=datetime(2015, 3, 10, 5, 0),
                     tipo_puesto='Particular')
         r.save()
         p = Pago(
             fechaTransaccion=datetime.now(),
             cedula="V-1234567",
             tarjetaTipo="VISTA",
             reserva=r,
             monto=100,
         )
         p.save()
     lista, total = consultar_ingresos("J-123456789")
     self.assertTrue(len(lista) == 1 and total == n * 100)
コード例 #5
0
 def test_un_estacionamiento_un_pago(self):
     pro = Propietario(
         nombre = "Pepe",
         ci = 'V-12345678',
         tel = "0412-1234567"
     )
     pro.save()
     e = Estacionamiento(
         ci_propietario = pro,
         nombre      = "nom",
         direccion   = "dir",
         rif         = "J-123456789",
         capacidad   = 20,
         apertura    = time(0,0),
         cierre      = time(23,59),
     )
     e.save()
     r = Reserva(
             estacionamiento = e,
             inicioReserva = datetime(2015,3,10,3,0),
             finalReserva  = datetime(2015,3,10,5,0)
         )
     r.save()
     p = Pago(
             fechaTransaccion = datetime.now(),
             cedula           = "V-1234567",
             tipoPago      = "VISTA",
             reserva          = r,
             monto            = 150,
         )
     p.save()
     lista, total = consultar_ingresos("J-123456789")
     self.assertTrue(len(lista) == 1 and total == 150)
コード例 #6
0
 def test_muchos_estacionamiento_con_disintos_rif(self):
     n  = 1000
     for i in range(0,n):
         pro = Propietario(
             nombre = "prop%d"%i,
             ci = 'V-12345678%d'%i,
             tel = "0412-1234567"
         )
         pro.save()    
         e1 = Estacionamiento(
             ci_propietario = pro,
             nombre      = "nom%d"%i,
             direccion   = "dir1",
             rif         = "J-%i"%(123456789-i),
             capacidad   = n,
             apertura    = time(0,0),
             cierre      = time(23,59),
         )
         e1.save()
         r = Reserva(
                 estacionamiento = e1,
                 inicioReserva = datetime(2015,3,10,3,0),
                 finalReserva  = datetime(2015,3,10,5,0)
             )
         r.save()
         p = Pago(
                 fechaTransaccion = datetime.now(),
                 cedula           = "V-1234567",
                 tipoPago         = "VISTA",
                 reserva          = r,
                 monto            = 100,
             )
         p.save()
     lista, total = consultar_ingresos("J-123456789")
     self.assertTrue(len(lista) == 1 and total == 100)
コード例 #7
0
 def test_un_estacionamiento_muchos_pagos(self):
     n = 1000
     prop = Propietario(nombres="prop", apellidos="", cedula="")
     prop.save()
     e = Estacionamiento(
         propietario=prop,
         nombre="nom",
         direccion="dir",
         rif="J-123456789",
         capacidad=n,
         apertura=time(0, 0),
         cierre=time(23, 59),
     )
     e.save()
     for i in range(0, n):
         r = Reserva(estacionamiento=e,
                     inicioReserva=datetime(2015, 3, 10, 3, 0),
                     finalReserva=datetime(2015, 3, 10, 5, 0))
         r.save()
         p = Pago(
             fechaTransaccion=datetime.now(),
             cedulaTipo="V",
             cedula="1234567",
             tarjetaTipo="VISTA",
             reserva=r,
             monto=100,
         )
         p.save()
     lista, total = consultar_ingresos("J-123456789")
     self.assertTrue(len(lista) == 1 and total == n * 100)
コード例 #8
0
def crear_reserva(h_inicio, h_fin, _estacionamiento):
    r = Reserva(
            estacionamiento = _estacionamiento,
            inicioReserva = h_inicio,
            finalReserva = h_fin    
    )
    r.save()
    return r
コード例 #9
0
def crear_reserva(h_inicio, h_fin, _estacionamiento):
    r = Reserva(
            estacionamiento = _estacionamiento,
            inicioReserva = h_inicio,
            finalReserva = h_fin    
    )
    r.save()
    return r
コード例 #10
0
 def test_dos_estacionamiento_muchos_pagos(self):
     n = 1000
     pro1 = Propietario(nombre="PepeUn",
                        ci='V-12345678',
                        tel="0412-1234567")
     pro1.save()
     e1 = Estacionamiento(
         ci_propietario=pro1,
         nombre="nom1",
         direccion="dir1",
         rif="J-123456789",
         capacidad=n,
         apertura=time(0, 0),
         cierre=time(23, 59),
     )
     pro2 = Propietario(nombre="PepeDos",
                        ci='V-12345679',
                        tel="0412-1234568")
     pro2.save()
     e2 = Estacionamiento(
         ci_propietario=pro2,
         nombre="nom2",
         direccion="dir3",
         rif="J-123456789",
         capacidad=n,
         apertura=time(0, 0),
         cierre=time(23, 59),
     )
     e1.save()
     e2.save()
     for i in range(0, n):
         r = Reserva(estacionamiento=e1,
                     inicioReserva=datetime(2015, 3, 10, 3, 0),
                     finalReserva=datetime(2015, 3, 10, 5, 0))
         r.save()
         p = Pago(
             fechaTransaccion=datetime.now(),
             cedula="V-1234567",
             tipoPago="VISTA",
             reserva=r,
             monto=100,
         )
         p.save()
     for i in range(0, n):
         r = Reserva(estacionamiento=e2,
                     inicioReserva=datetime(2015, 3, 10, 3, 0),
                     finalReserva=datetime(2015, 3, 10, 5, 0))
         r.save()
         p = Pago(
             fechaTransaccion=datetime.now(),
             cedula="V-1234567",
             tipoPago="VISTA",
             reserva=r,
             monto=100,
         )
         p.save()
     lista, total = consultar_ingresos("J-123456789")
     self.assertTrue(len(lista) == 2 and total == 2 * n * 100)
コード例 #11
0
 def test_dos_estacionamiento_muchos_pagos(self):
     n  = 1000
     e1 = Estacionamiento(
         propietario = "prop1",
         nombre      = "nom1",
         direccion   = "dir1",
         rif         = "J-123456789",
         capacidad   = n,
         apertura    = time(0,0),
         cierre      = time(23,59),
     )
     e2 = Estacionamiento(
         propietario = "prop2",
         nombre      = "nom2",
         direccion   = "dir3",
         rif         = "J-123456789",
         capacidad   = n,
         apertura    = time(0,0),
         cierre      = time(23,59),
     )
     e1.save()
     e2.save()
     for i in range(0,n):
         r = Reserva(
                 estacionamiento = e1,
                 inicioReserva = datetime(2015,3,10,3,0),
                 finalReserva  = datetime(2015,3,10,5,0)
             )
         r.save()
         p = Pago(
                 fechaTransaccion = datetime.now(),
                 cedulaTipo       = "V",
                 cedula           = "1234567",
                 tarjetaTipo      = "VISTA",
                 reserva          = r,
                 monto            = 100,
             )
         p.save()
     for i in range(0,n):
         r = Reserva(
                 estacionamiento = e2,
                 inicioReserva = datetime(2015,3,10,3,0),
                 finalReserva  = datetime(2015,3,10,5,0)
             )
         r.save()
         p = Pago(
                 fechaTransaccion = datetime.now(),
                 cedulaTipo       = "V",
                 cedula           = "1234567",
                 tarjetaTipo      = "VISTA",
                 reserva          = r,
                 monto            = 100,
             )
         p.save()
     lista, total = consultar_ingresos("J-123456789")
     self.assertTrue(len(lista) == 2 and total == 2*n*100)
コード例 #12
0
    def test_muchos_estacionamiento_mitad_sin_pagos(self):
        n  = 100
        m  = 10
        for i in range(0,n):
            
            pro1 = Propietario(
            nombre = "prop1%d"%i,
            ci = "V-12345678%d"%i,
            tel = "0412-1234567"
            )
            pro2 = Propietario(
            nombre = "prop2%d"%(i+1),
            ci = "V-12345679%d"%(i+1),
            tel = "0412-1234567"
            )
            pro1.save()
            pro2.save()
            e1 = Estacionamiento(
                ci_propietario = pro1,
                nombre      = "nom%d"%i,
                direccion   = "dir1",
                rif         = "J-123456789",
                capacidad   = m,
                apertura    = time(0,0),
                cierre      = time(23,59),
            )
            e2 = Estacionamiento(
                ci_propietario = pro2,
                nombre      = "no%d"%i,
                direccion   = "dir3",
                rif         = "J-123456789",
                capacidad   = m,
                apertura    = time(0,0),
                cierre      = time(23,59),
            )
            e1.save()
            e2.save()
            for j in range(0,m):
                r = Reserva(
                        estacionamiento = e1,
                        inicioReserva = datetime(2015,3,10,3,0),
                        finalReserva  = datetime(2015,3,10,5,0)
                    )
                r.save()
                p = Pago(
                        fechaTransaccion = datetime.now(),
                        cedula           = "V-1234567",
                        tipoPago      = "VISTA",
                        reserva          = r,
                        monto            = 100,
                    )
                p.save()

        lista, total = consultar_ingresos("J-123456789")
        self.assertTrue(len(lista) == 2*n and total == n*m*100)
コード例 #13
0
 def crear_Reserva(self):
     hoy = datetime.now()
     reserva = Reserva(nombre='nomRes',
                       apellido='apelRes',
                       cedula='V-289074',
                       estacionamiento=self.crear_Estacionamiento(),
                       inicioReserva=datetime(2015, 7, 12, 13, 40),
                       finalReserva=datetime(2015, 7, 12, 18, 40),
                       tipo_puesto='Particular')
     reserva.save()
     return reserva
コード例 #14
0
 def crear_Reserva3(self):
     hoy = datetime.now()
     reserva3 = Reserva(
         nombre='nomRes3',
         apellido='apelRes3',
         cedula='V-2345678',
         estacionamiento=self.crear_Estacionamiento(),
         inicioReserva=datetime(2015, 7, 12, 13, 40),
         finalReserva=datetime(2015, 7, 12, 15, 40),
     )
     reserva3.save()
     return reserva3
コード例 #15
0
	def crear_Reserva3(self):
		hoy = datetime.now()
		reserva3 = Reserva(
			nombre = 'nomRes3',
			apellido = 'apelRes3',
			cedula = 'V-2345678',
			estacionamiento = self.crear_Estacionamiento(),
			inicioReserva = datetime(2015,7,12,13,40),
			finalReserva = datetime(2015,7,12,15,40),
			)
		reserva3.save()
		return reserva3
コード例 #16
0
	def crear_Reserva(self):
		hoy = datetime.now()
		reserva = Reserva(
			nombre = 'nomRes',
			apellido = 'apelRes',
			cedula = 'V-289074',
			estacionamiento = self.crear_Estacionamiento(),
			inicioReserva = datetime(2015,7,12,13,40),
			finalReserva = datetime(2015,7,12,18,40),
			tipo_puesto = 'Particular'
			)
		reserva.save()
		return reserva
コード例 #17
0
    def test_muchos_estacionamiento_mitad_sin_pagos(self):
        n = 100
        m = 10
        for i in range(0, n):

            pro1 = Propietario(nombre="prop1%d" % i,
                               ci="V-12345678%d" % i,
                               tel="0412-1234567")
            pro2 = Propietario(nombre="prop2%d" % (i + 1),
                               ci="V-12345679%d" % (i + 1),
                               tel="0412-1234567")
            pro1.save()
            pro2.save()
            e1 = Estacionamiento(
                ci_propietario=pro1,
                nombre="nom%d" % i,
                direccion="dir1",
                rif="J-123456789",
                capacidad=m,
                apertura=time(0, 0),
                cierre=time(23, 59),
            )
            e2 = Estacionamiento(
                ci_propietario=pro2,
                nombre="no%d" % i,
                direccion="dir3",
                rif="J-123456789",
                capacidad=m,
                apertura=time(0, 0),
                cierre=time(23, 59),
            )
            e1.save()
            e2.save()
            for j in range(0, m):
                r = Reserva(estacionamiento=e1,
                            inicioReserva=datetime(2015, 3, 10, 3, 0),
                            finalReserva=datetime(2015, 3, 10, 5, 0))
                r.save()
                p = Pago(
                    fechaTransaccion=datetime.now(),
                    cedula="V-1234567",
                    tipoPago="VISTA",
                    reserva=r,
                    monto=100,
                )
                p.save()

        lista, total = consultar_ingresos("J-123456789")
        self.assertTrue(len(lista) == 2 * n and total == n * m * 100)
コード例 #18
0
 def test_muchos_estacionamiento_con_disintos_rif(self):
     n  = 1000
     for i in range(0,n):
         prop = Propietario(
         nombre = "prop%d"%i,
         apellido = "apell",
         cedula = "V-041414141111",
         telefono = "041414141112",
         email = "*****@*****.**",
         )
         prop.save()
         p = Puestos(
             particular = n,
             moto = 20,
             carga = 20,
             discapacitado = 20
             )
         p.save()
         e1 = Estacionamiento(
             propietario = prop,
             nombre      = "nom%d"%i,
             direccion   = "dir1",
             rif         = "J-%i"%(123456789-i),
             capacidad   = p,
             apertura    = time(0,0),
             cierre      = time(23,59),
         )
         e1.save()
         r = Reserva(
                 estacionamiento = e1,
                 inicioReserva = datetime(2015,3,10,3,0),
                 finalReserva  = datetime(2015,3,10,5,0),
                 tipo_puesto = 'Particular'
             )
         r.save()
         p = Pago(
                 fechaTransaccion = datetime.now(),
                 cedula           = "V-1234567",
                 tarjetaTipo      = "VISTA",
                 reserva          = r,
                 monto            = 100,
             )
         p.save()
     lista, total = consultar_ingresos("J-123456789")
     self.assertTrue(len(lista) == 1 and total == 100)
コード例 #19
0
    def test_dos_estacionamiento_muchos_pagos(self):
        n = 1000
        p = Puestos(
            particular = n,
            moto = 20,
            carga = 20,
            discapacitado = 20
            )
        p.save()
        e = Estacionamiento(
            propietario = self.crear_propietario(),
            nombre = "nom",
            direccion = "dir",
            telefono1 = "041414141111",
            telefono2 = "041414141112",
            telefono3 = "04141414111",
            email1 = "*****@*****.**",
            email2 = "*****@*****.**",
            rif = "J-123456789",
            capacidad   = p,
            apertura    = time(0,0),
            cierre      = time(23,59),
        )
        e.save()
        for i in range(0,n):
            r = Reserva(
                    estacionamiento = e,
                    inicioReserva = datetime(2015,3,10,3,0),
                    finalReserva  = datetime(2015,3,10,5,0),
                    tipo_puesto = 'Particular'
                )
            r.save()
            p = Pago(
                    fechaTransaccion = datetime.now(),
                    cedula           = "V-1234567",
                    tarjetaTipo      = "VISTA",
                    reserva          = r,
                    monto            = 100,
                )
            p.save()

        
        lista, total = consultar_ingresos("J-123456789")
        self.assertTrue(len(lista) == 1 and total == n*100)
コード例 #20
0
 def test_muchos_estacionamiento_con_disintos_rif(self):
     n = 1000
     for i in range(0, n):
         prop = Propietario(
             nombre="prop%d" % i,
             apellido="apell",
             cedula="V-041414141111",
             telefono="041414141112",
             email="*****@*****.**",
         )
         prop.save()
         p = Puestos(particular=n, moto=20, carga=20, discapacitado=20)
         p.save()
         e1 = Estacionamiento(
             propietario=prop,
             nombre="nom%d" % i,
             direccion="dir1",
             rif="J-%i" % (123456789 - i),
             capacidad=p,
             apertura=time(0, 0),
             cierre=time(23, 59),
         )
         e1.save()
         r = Reserva(estacionamiento=e1,
                     inicioReserva=datetime(2015, 3, 10, 3, 0),
                     finalReserva=datetime(2015, 3, 10, 5, 0),
                     tipo_puesto='Particular')
         r.save()
         p = Pago(
             fechaTransaccion=datetime.now(),
             cedula="V-1234567",
             tarjetaTipo="VISTA",
             reserva=r,
             monto=100,
         )
         p.save()
     lista, total = consultar_ingresos("J-123456789")
     self.assertTrue(len(lista) == 1 and total == 100)
コード例 #21
0
def estacionamiento_pago(request, _id):
    form = PagoForm()

    try:
        estacionamiento = Estacionamiento.objects.get(id=_id)
    except ObjectDoesNotExist:
        raise Http404

    if (estacionamiento.apertura is None):
        return HttpResponse(
            status=403)  # No esta permitido acceder a esta vista aun

    if request.method == 'POST':
        form = PagoForm(request.POST)
        if form.is_valid():

            inicioReserva = datetime(
                year=request.session['anioinicial'],
                month=request.session['mesinicial'],
                day=request.session['diainicial'],
                hour=request.session['inicioReservaHora'],
                minute=request.session['inicioReservaMinuto'])

            finalReserva = datetime(
                year=request.session['aniofinal'],
                month=request.session['mesfinal'],
                day=request.session['diafinal'],
                hour=request.session['finalReservaHora'],
                minute=request.session['finalReservaMinuto'])

            reservaFinal = Reserva(
                estacionamiento=estacionamiento,
                inicioReserva=inicioReserva,
                finalReserva=finalReserva,
            )

            # Se guarda la reserva en la base de datos
            reservaFinal.save()

            monto = Decimal(request.session['monto']).quantize(Decimal('1.00'))
            pago = Pago(
                fechaTransaccion=datetime.now(),
                cedula=form.cleaned_data['cedula'],
                cedulaTipo=form.cleaned_data['cedulaTipo'],
                monto=monto,
                tarjetaTipo=form.cleaned_data['tarjetaTipo'],
                reserva=reservaFinal,
            )

            # Se guarda el recibo de pago en la base de datos
            pago.save()

            return render(
                request, 'pago.html', {
                    "id": _id,
                    "pago": pago,
                    "color": "green",
                    'mensaje':
                    "Se realizo el pago de reserva satisfactoriamente."
                })

    return render(request, 'pago.html', {'form': form})
コード例 #22
0
ファイル: views.py プロジェクト: Arleyn/Sage-Edwin
def estacionamiento_pago(request,_id):
    form = PagoForm()
    
    try:
        estacionamiento = Estacionamiento.objects.get(id = _id)
    except ObjectDoesNotExist:
        raise Http404
    
    if (estacionamiento.apertura is None):
        return HttpResponse(status = 403) # No esta permitido acceder a esta vista aun
    
    if request.method == 'POST':
        form = PagoForm(request.POST)
        if form.is_valid():
            
            inicioReserva = datetime(
                year   = request.session['anioinicial'],
                month  = request.session['mesinicial'],
                day    = request.session['diainicial'],
                hour   = request.session['inicioReservaHora'],
                minute = request.session['inicioReservaMinuto']
            )

            finalReserva  = datetime(
                year   = request.session['aniofinal'],
                month  = request.session['mesfinal'],
                day    = request.session['diafinal'],
                hour   = request.session['finalReservaHora'],
                minute = request.session['finalReservaMinuto']
            )

            reservaFinal = Reserva(
                estacionamiento = estacionamiento,
                inicioReserva   = inicioReserva,
                finalReserva    = finalReserva,
            )

            # Se guarda la reserva en la base de datos
            reservaFinal.save()

            monto = Decimal(request.session['monto']).quantize(Decimal('1.00'))
            pago = Pago(
                fechaTransaccion = datetime.now(),
                cedula           = form.cleaned_data['cedula'],
                cedulaTipo       = form.cleaned_data['cedulaTipo'],
                monto            = monto,
                tarjetaTipo      = form.cleaned_data['tarjetaTipo'],
                reserva          = reservaFinal,
            )
            # Se guarda el recibo de pago en la base de datos
            pago.save()

            return render(
                request,
                'pago.html',
                { "id"      : _id
                , "pago"    : pago
                , "color"   : "green"
                , 'mensaje' : "Se realizo el pago de reserva satisfactoriamente."
                }
            )
    return render(
        request,
        'pago.html',
        { 'form' : form }
    )
コード例 #23
0
 def test_dos_estacionamiento_muchos_pagos(self):
     n  = 1000
     pro1 = Propietario(
         nombre = "PepeUn",
         ci = 'V-12345678',
         tel = "0412-1234567"
     )
     pro1.save()
     e1 = Estacionamiento(
         ci_propietario = pro1,
         nombre      = "nom1",
         direccion   = "dir1",
         rif         = "J-123456789",
         capacidad   = n,
         apertura    = time(0,0),
         cierre      = time(23,59),
     )
     pro2 = Propietario(
         nombre = "PepeDos",
         ci = 'V-12345679',
         tel = "0412-1234568"
     )
     pro2.save()
     e2 = Estacionamiento(
         ci_propietario = pro2,
         nombre      = "nom2",
         direccion   = "dir3",
         rif         = "J-123456789",
         capacidad   = n,
         apertura    = time(0,0),
         cierre      = time(23,59),
     )
     e1.save()
     e2.save()
     for i in range(0,n):
         r = Reserva(
                 estacionamiento = e1,
                 inicioReserva = datetime(2015,3,10,3,0),
                 finalReserva  = datetime(2015,3,10,5,0)
             )
         r.save()
         p = Pago(
                 fechaTransaccion = datetime.now(),
                 cedula           = "V-1234567",
                 tipoPago         = "VISTA",
                 reserva          = r,
                 monto            = 100,
             )
         p.save()
     for i in range(0,n):
         r = Reserva(
                 estacionamiento = e2,
                 inicioReserva = datetime(2015,3,10,3,0),
                 finalReserva  = datetime(2015,3,10,5,0)
             )
         r.save()
         p = Pago(
                 fechaTransaccion = datetime.now(),
                 cedula           = "V-1234567",
                 tipoPago         = "VISTA",
                 reserva          = r,
                 monto            = 100,
             )
         p.save()
     lista, total = consultar_ingresos("J-123456789")
     self.assertTrue(len(lista) == 2 and total == 2*n*100)
コード例 #24
0
ファイル: views.py プロジェクト: Arleyn/Sage-Edwin
def billetera_pagar(request, _id):
    form = BilleteraElectronicaPagoForm()
    
    try:
        estacionamiento = Estacionamiento.objects.get(id = _id)
    except ObjectDoesNotExist:
        raise Http404
    
    if (estacionamiento.apertura is None):
        return HttpResponse(status = 403) # No esta permitido acceder a esta vista aun
    
    if request.method == 'POST':
        form = BilleteraElectronicaPagoForm(request.POST)
        if form.is_valid():
            try:
                BE = BilleteraElectronica.objects.get(id = form.cleaned_data['id'])
                if (BE.PIN != form.cleaned_data['pin']):
                    return render(
                        request,
                        'billetera_pagar.html',
                        { "form"    : form
                        , "color"   : "red"
                        ,'mensaje'  : "Autenticación denegada."
                        }
                    )
                    
                
            except ObjectDoesNotExist:
                return render(
                        request,
                        'billetera_pagar.html',
                        { "form"    : form
                        , "color"   : "red"
                        ,'mensaje'  : "Autenticación denegada."
                        }
                    )
            
            monto = Decimal(request.session['monto']).quantize(Decimal('1.00'))
            if (monto > BE.saldo):
                return render(
                        request,
                        'billetera_pagar.html',
                        { "formIns"    : form
                        , "color"   : "red"
                        ,'mensaje'  : "Saldo es insuficiente."
                        }
                    )
            inicioReserva = datetime(
                year   = request.session['anioinicial'],
                month  = request.session['mesinicial'],
                day    = request.session['diainicial'],
                hour   = request.session['inicioReservaHora'],
                minute = request.session['inicioReservaMinuto']
            )

            finalReserva  = datetime(
                year   = request.session['aniofinal'],
                month  = request.session['mesfinal'],
                day    = request.session['diafinal'],
                hour   = request.session['finalReservaHora'],
                minute = request.session['finalReservaMinuto']
            )

            reservaFinal = Reserva(
                estacionamiento = estacionamiento,
                inicioReserva   = inicioReserva,
                finalReserva    = finalReserva,
            )
            
            # Se guarda la reserva en la base de datos
            reservaFinal.save()

            pago = Pago(
                fechaTransaccion = datetime.now(),
                cedula           = BE.cedula,
                cedulaTipo       = BE.cedulaTipo,
                monto            = monto,
                tarjetaTipo      = "BE",
                reserva          = reservaFinal,
            )
            
            
            # Se guarda el recibo de pago en la base de datos
            pago.save()

            return render(
                request,
                'billetera_pagar.html',
                { "id"      : _id
                , "pago"    : pago
                , "color"   : "green"
                , 'mensaje' : "Se realizo el pago de reserva satisfactoriamente."
                }
            )
    return render(
        request,
        'billetera_pagar.html',
        { 'form' : form }
    )