def test_EstacionamientoReserva_UnCampo(self): form_data = {'inicio_1': time(hour = 6, minute = 0), 'final_1': time(hour = 15, minute = 0), 'final_0': date(year=2015,month=2,day=27) } form = ReservaForm(data = form_data) self.assertFalse(form.is_valid())
def test_EstacionamientoReserva_vehiculoTipolNone(self): form_data = {'inicio_1': time(hour = 6, minute = 0), 'final_1': time(hour = 15, minute = 0), 'final_0': None, 'inicio_0': date(year=2015,month=2,day=27), 'vehiculoTipo' : None } form = ReservaForm(data = form_data) self.assertFalse(form.is_valid())
def test_EstacionamientoReserva_FinString(self): form_data = {'inicio_1': time(hour = 6, minute = 0), 'final_1': 'Reinoza', 'final_0': date(year=2015,month=2,day=27), 'inicio_0': date(year=2015,month=2,day=27), 'vehiculoTipo' : 'Moto' } form = ReservaForm(data = form_data) self.assertFalse(form.is_valid())
def test_EstacionamientoReserva_TodosCamposBien(self): form_data = {'inicio_1': time(hour=6, minute=0), 'final_1' : time(hour=15, minute=0), 'final_0' : date(year=2015, month=2, day=27), 'inicio_0': date(year=2015, month=2, day=27), 'vehiculoTipo' : 'Moto' } form = ReservaForm(data = form_data) self.assertTrue(form.is_valid())
def test_EstacionamientoReserva_InicioString(self): form_data = {'inicio_1': 'teruel', 'tipo_puesto':'Particular', 'final_1': time(hour = 15, minute = 0), 'final_0': date(year=2015,month=2,day=27), 'inicio_0': date(year=2015,month=2,day=27) } form = ReservaForm(data = form_data) self.assertFalse(form.is_valid())
def test_EstacionamientoReserva_Campos_Sin_TipoPuesto(self): form_data = {'nombre': 'Marisela', 'apellido': 'Del Valle', 'cedula': 'V-23638870', 'inicio_1': time(hour=6, minute=0), 'final_1' : time(hour=15, minute=0), 'final_0' : date(year=2015, month=2, day=27), 'inicio_0': date(year=2015, month=2, day=27) } form = ReservaForm(data = form_data) self.assertFalse(form.is_valid())
def test_EstacionamientoReserva_finalNone(self): form_data = {'nombre' : 'Carlos', 'apellido': 'Ferrer-Acosta', 'ci' : 'V-12345678', 'inicio_1': time(hour = 6, minute = 0), 'final_1': time(hour = 15, minute = 0), 'final_0': None, 'inicio_0': date(year=2015,month=2,day=27), 'tipoVehiculo': 'Moto' } form = ReservaForm(data = form_data) self.assertFalse(form.is_valid())
def test_EstacionamientoReserva_TodosCamposBien(self): form_data = {'nombre': 'Marisela', 'apellido': 'Del Valle', 'cedula': 'V-23638870', 'tipo_puesto':'Particular', 'inicio_1': time(hour=6, minute=0), 'final_1' : time(hour=15, minute=0), 'final_0' : date(year=2015, month=2, day=27), 'inicio_0': date(year=2015, month=2, day=27) } form = ReservaForm(data = form_data) self.assertTrue(form.is_valid())
def test_EstacionamientoReserva_finalNone(self): form_data = { 'nombre': 'Carlos', 'apellido': 'Ferrer-Acosta', 'ci': 'V-12345678', 'inicio_1': time(hour=6, minute=0), 'final_1': time(hour=15, minute=0), 'final_0': None, 'inicio_0': date(year=2015, month=2, day=27), 'tipoVehiculo': 'Moto' } form = ReservaForm(data=form_data) self.assertFalse(form.is_valid())
def crearReserva(request): context = RequestContext(request) if request.method == 'POST': form = ReservaForm(request.POST) if form.is_valid(): est = form.cleaned_data['estacionamiento'] inicio = form.cleaned_data['horaInicio'] fin = form.cleaned_data['horaFin'] hayReserva = verificarReserva(est, inicio, fin) if hayReserva: form.save(commit=True) else: ocupado = True return render_to_response('estacionamientos/crear_reserva.html', {'form': form, 'ocupado': ocupado, 'estacionamiento': est}, context) return index(request) else: form = ReservaForm() return render_to_response('estacionamientos/crear_reserva.html', {'form': form}, context)
def estacionamiento_reserva(request, _id): _id = int(_id) # Verificamos que el objeto exista antes de continuar try: estacionamiento = Estacionamiento.objects.get(id=_id) except ObjectDoesNotExist: raise Http404 # Verificamos que el estacionamiento este parametrizado if (estacionamiento.apertura is None): return HttpResponse(status=403) # Esta prohibido entrar aun # Si se hace un GET renderizamos los estacionamientos con su formulario if request.method == 'GET': form = ReservaForm() # Si es un POST estan mandando un request elif request.method == 'POST': form = ReservaForm(request.POST) # Verificamos si es valido con los validadores del formulario if form.is_valid(): inicioReserva = form.cleaned_data['inicio'] finalReserva = form.cleaned_data['final'] # debería funcionar con excepciones, y el mensaje debe ser mostrado # en el mismo formulario m_validado = validarHorarioReserva( inicioReserva, finalReserva, estacionamiento.apertura, estacionamiento.cierre, ) # Si no es valido devolvemos el request if not m_validado[0]: return render(request, 'template-mensaje.html', { 'color': 'red', 'mensaje': m_validado[1] }) if marzullo(_id, inicioReserva, finalReserva): reservaFinal = Reserva( estacionamiento=estacionamiento, inicioReserva=inicioReserva, finalReserva=finalReserva, ) monto = Decimal( estacionamiento.tarifa.calcularPrecio( inicioReserva, finalReserva)) request.session['monto'] = float( estacionamiento.tarifa.calcularPrecio( inicioReserva, finalReserva)) request.session['finalReservaHora'] = finalReserva.hour request.session['finalReservaMinuto'] = finalReserva.minute request.session['inicioReservaHora'] = inicioReserva.hour request.session['inicioReservaMinuto'] = inicioReserva.minute request.session['anioinicial'] = inicioReserva.year request.session['mesinicial'] = inicioReserva.month request.session['diainicial'] = inicioReserva.day request.session['aniofinal'] = finalReserva.year request.session['mesfinal'] = finalReserva.month request.session['diafinal'] = finalReserva.day return render( request, 'confirmar.html', { 'id': _id, 'monto': monto, 'reserva': reservaFinal, 'color': 'green', 'mensaje': 'Existe un puesto disponible' }) else: # Cambiar mensaje return render( request, 'template-mensaje.html', { 'color': 'red', 'mensaje': 'No hay un puesto disponible para ese horario' }) return render(request, 'reserva.html', { 'form': form, 'estacionamiento': estacionamiento })
def test_estacionamiento_reserva_vacio(self): form_data = {} form = ReservaForm(data = form_data) self.assertFalse(form.is_valid())
def estacionamiento_reserva(request, _id): _id = int(_id) # Verificamos que el objeto exista antes de continuar try: estacionamiento = Estacionamiento.objects.get(id = _id) except ObjectDoesNotExist: raise Http404 # Verificamos que el estacionamiento este parametrizado if (estacionamiento.apertura is None): return HttpResponse(status = 403) # Esta prohibido entrar aun # Si se hace un GET renderizamos los estacionamientos con su formulario if request.method == 'GET': form = ReservaForm() # Si es un POST estan mandando un request elif request.method == 'POST': form = ReservaForm(request.POST) # Verificamos si es valido con los validadores del formulario if form.is_valid(): inicioReserva = form.cleaned_data['inicio'] finalReserva = form.cleaned_data['final'] # debería funcionar con excepciones, y el mensaje debe ser mostrado # en el mismo formulario m_validado = validarHorarioReserva( inicioReserva, finalReserva, estacionamiento.apertura, estacionamiento.cierre, ) # Si no es valido devolvemos el request if not m_validado[0]: return render( request, 'template-mensaje.html', { 'color' :'red' , 'mensaje': m_validado[1] } ) if marzullo(_id, inicioReserva, finalReserva): reservaFinal = Reserva( estacionamiento = estacionamiento, inicioReserva = inicioReserva, finalReserva = finalReserva, ) monto = Decimal( estacionamiento.tarifa.calcularPrecio( inicioReserva,finalReserva ) ) request.session['monto'] = float( estacionamiento.tarifa.calcularPrecio( inicioReserva, finalReserva ) ) request.session['finalReservaHora'] = finalReserva.hour request.session['finalReservaMinuto'] = finalReserva.minute request.session['inicioReservaHora'] = inicioReserva.hour request.session['inicioReservaMinuto'] = inicioReserva.minute request.session['anioinicial'] = inicioReserva.year request.session['mesinicial'] = inicioReserva.month request.session['diainicial'] = inicioReserva.day request.session['aniofinal'] = finalReserva.year request.session['mesfinal'] = finalReserva.month request.session['diafinal'] = finalReserva.day return render( request, 'confirmar.html', { 'id' : _id , 'monto' : monto , 'reserva' : reservaFinal , 'color' : 'green' , 'mensaje' : 'Existe un puesto disponible' } ) else: # Cambiar mensaje return render( request, 'template-mensaje.html', {'color' : 'red' , 'mensaje' : 'No hay un puesto disponible para ese horario' } ) return render( request, 'reserva.html', { 'form': form , 'estacionamiento': estacionamiento } )