示例#1
0
def addValoracion(request):
    if "usuario" in request.session:
        usuario = models.Usuario.objects.filter(
            alias=request.session["usuario"])[0]
        if usuario == None:
            return HttpResponseRedirect('/')
        else:
            if request.method == "POST":
                form = forms.ValoracionForm(request.POST)
                if form.is_valid():
                    ruta = get_object_or_404(models.Ruta,
                                             pk=request.session['ruta'])
                    valoracion = models.ValoracionRuta(
                        fechaCreacion=timezone.now(),
                        valoracion=request.POST['puntuacion'],
                        comentario=request.POST['comentario'],
                        usuario=usuario,
                        ruta=ruta)
                    valoracion.save()
                    dias = models.Dia.dias_ruta(ruta)
                    ruta_seguida = (ruta in usuario.ruta_set.all())
                    form = forms.ValoracionForm()
                    valoraciones = models.ValoracionRuta.valoraciones_ruta(
                        ruta)
                    calcular_valoraciones_ruta(ruta, valoraciones)
                    return render(
                        request, 'ruta.html', {
                            'ruta': ruta,
                            'usuario': usuario,
                            'dias': dias,
                            'ruta_seguida': ruta_seguida,
                            'form': form,
                            'valoraciones': valoraciones
                        })
                else:
                    ruta = models.Ruta.objects.filter(
                        pk=request.session['ruta'])
                    dias = models.Dia.dias_ruta(ruta)
                    ruta_seguida = (ruta in usuario.ruta_set.all())
                    form = forms.ValoracionForm()
                    valoraciones = models.ValoracionRuta.valoraciones_ruta(
                        ruta)
                    return render(
                        request, 'ruta.html', {
                            'ruta': ruta,
                            'usuario': usuario,
                            'dias': dias,
                            'ruta_seguida': ruta_seguida,
                            'form': form,
                            'valoraciones': valoraciones
                        })
    else:
        return HttpResponseRedirect('/')
示例#2
0
def addValoracion(request):
    if "usuario" in request.session:
        usuario = models.Usuario.objects.filter(
            alias=request.session["usuario"])[0]
        if usuario == None:
            return HttpResponseRedirect('/')
        else:
            if request.method == "POST":
                form = forms.ValoracionForm(request.POST)
                if form.is_valid():
                    lugar_interes = get_object_or_404(
                        models.LugarInteres,
                        pk=request.session['lugar_interes'])
                    valoracion = models.ValoracionLugarInteres(
                        fechaCreacion=timezone.now(),
                        valoracion=request.POST['puntuacion'],
                        comentario=request.POST['comentario'],
                        usuario=usuario,
                        lugarInteres=lugar_interes)
                    valoracion.save()
                    form = forms.ValoracionForm()
                    valoraciones = models.ValoracionLugarInteres.valoraciones_lugar_interes(
                        lugar_interes)
                    calcular_valoraciones_lugar_interes(
                        lugar_interes, valoraciones)
                    return render(
                        request, 'lugarInteres.html', {
                            'lugar_interes': lugar_interes,
                            'form': form,
                            'valoraciones': valoraciones,
                            'usuario': usuario
                        })
                else:
                    lugar_interes = get_object_or_404(
                        models.LugarInteres,
                        pk=request.session['lugar_interes'])
                    form = forms.ValoracionForm()
                    valoraciones = models.ValoracionLugarInteres.valoraciones_lugar_interes(
                        lugar_interes)
                    return render(
                        request, 'lugarInteres.html', {
                            'lugar_interes': lugar_interes,
                            'form': form,
                            'valoraciones': valoraciones,
                            'usuario': usuario
                        })
    else:
        return HttpResponseRedirect('/')
示例#3
0
def borrarDia(request, id_dia):
    if "usuario" in request.session:
        usuario = models.Usuario.objects.filter(alias = request.session["usuario"])[0]
        if usuario == None:
            return HttpResponseRedirect('/')
        else:
            dia = get_object_or_404(models.Dia, pk=id_dia)
            ruta = dia.ruta
            if dia.creador == usuario:
                dia.delete()
        dias = models.Dia.dias_ruta(ruta)
        ruta_seguida = (ruta in usuario.ruta_set.all())
        form = forms.ValoracionForm()
        valoraciones = models.ValoracionRuta.valoraciones_ruta(ruta)
        views_ruta.calcular_precio_ruta(ruta, dias)
        lugares_interes = []
        for dia in dias:
            lugares_interes_aux = dia.lugarinteres_set.all()
            for lugar_interes in lugares_interes_aux:
                lugares_interes.append(lugar_interes)
        log = models.Log(usuario=usuario,
                         ruta=ruta,
                         fecha=timezone.now(),
                         log='modificado')
        log.save()
        return render(request, 'ruta.html', {'ruta': ruta,
                                                         'usuario': usuario,
                                                         'dias': dias,
                                                         'ruta_seguida': ruta_seguida,
                                                         'form': form,
                                                         'valoraciones':valoraciones,
                                                         'lugares_interes': lugares_interes})
    else:
        return HttpResponseRedirect('/')
示例#4
0
def borrarValoracion(request, id_valoracion):
    if "usuario" in request.session:
        usuario = models.Usuario.objects.filter(
            alias=request.session["usuario"])[0]
        if usuario == None:
            return HttpResponseRedirect('/')
        else:
            valoracion = get_object_or_404(models.ValoracionLugarInteres,
                                           pk=id_valoracion)
            lugar_interes = valoracion.lugarInteres
            valoracion.delete()
            request.session['lugar_interes'] = lugar_interes.pk
            form = forms.ValoracionForm()
            valoraciones = models.ValoracionLugarInteres.valoraciones_lugar_interes(
                lugar_interes)
            calcular_valoraciones_lugar_interes(lugar_interes, valoraciones)

            return render(
                request, 'lugarInteres.html', {
                    'lugar_interes': lugar_interes,
                    'form': form,
                    'valoraciones': valoraciones,
                    'usuario': usuario
                })
    else:
        return HttpResponseRedirect('/')
示例#5
0
def borrarValoracion(request, id_valoracion):
    if "usuario" in request.session:
        usuario = models.Usuario.objects.filter(
            alias=request.session["usuario"])[0]
        if usuario == None:
            return HttpResponseRedirect('/')
        else:
            valoracion = get_object_or_404(models.ValoracionRuta,
                                           pk=id_valoracion)
            ruta = valoracion.ruta
            valoracion.delete()
            valoraciones = models.ValoracionRuta.valoraciones_ruta(ruta)
            calcular_valoraciones_ruta(ruta, valoraciones)
            dias = models.Dia.dias_ruta(ruta)
            ruta_seguida = (ruta in usuario.ruta_set.all())
            form = forms.ValoracionForm()
            return render(
                request, 'ruta.html', {
                    'ruta': ruta,
                    'usuario': usuario,
                    'dias': dias,
                    'ruta_seguida': ruta_seguida,
                    'form': form,
                    'valoraciones': valoraciones
                })
    else:
        return HttpResponseRedirect('/')
示例#6
0
def dejarDeSeguirRuta(request, id_ruta):
    if "usuario" in request.session:
        usuario = models.Usuario.objects.filter(
            alias=request.session["usuario"])[0]
        if usuario == None:
            return HttpResponseRedirect('/')
        else:
            ruta = get_object_or_404(models.Ruta, pk=id_ruta)
            dias = models.Dia.dias_ruta(ruta)
            form = forms.ValoracionForm()
            valoraciones = models.ValoracionRuta.valoraciones_ruta(ruta)
            lugares_interes = []
            for dia in dias:
                lugares_interes_aux = dia.lugarinteres_set.all()
                for lugar_interes in lugares_interes_aux:
                    lugares_interes.append(lugar_interes)
            rutas_seguidas = usuario.ruta_set.all()
            rutas_creadas = models.Ruta.objects.filter(creador=usuario)
            if not (ruta not in rutas_seguidas or ruta in rutas_creadas):
                ruta.seguidores.remove(usuario)
            return render(
                request, 'ruta.html', {
                    'ruta': ruta,
                    'usuario': usuario,
                    'dias': dias,
                    'ruta_seguida': False,
                    'form': form,
                    'valoraciones': valoraciones,
                    'lugares_interes': lugares_interes
                })

    else:
        return HttpResponseRedirect('/')
示例#7
0
def editarDia(request, id_dia):
    if "usuario" in request.session:
        usuario = models.Usuario.objects.filter(alias = request.session["usuario"])[0]
        if usuario == None:
            return HttpResponseRedirect('/')
        else:
            dia = get_object_or_404(models.Dia, pk=id_dia)
            if dia and dia.creador == usuario:
                form = forms.RutaForm(request.POST or None,
                                    initial = {'titulo':dia.titulo,
                                                'descripcion':dia.descripcion})
                if form.is_valid():
                    if request.POST["titulo"]:
                        dia.titulo=request.POST["titulo"]
                    if request.POST["descripcion"]:
                        dia.descripcion=request.POST["descripcion"]
                    dia.save()
                    ruta = dia.ruta
                    dias = models.Dia.dias_ruta(ruta)
                    ruta_seguida = (ruta in usuario.ruta_set.all())
                    views_ruta.calcular_precio_ruta(ruta, dias)
                    form = forms.ValoracionForm()
                    valoraciones = models.ValoracionRuta.valoraciones_ruta(ruta)
                    lugares_interes = []
                    for dia in dias:
                        lugares_interes_aux = dia.lugarinteres_set.all()
                        for lugar_interes in lugares_interes_aux:
                            lugares_interes.append(lugar_interes)
                    log = models.Log(usuario=usuario,
                                     ruta=ruta,
                                     fecha=timezone.now(),
                                     log='modificado')
                    log.save()
                    return render(request, 'ruta.html', {'ruta': ruta,
                                                         'usuario': usuario,
                                                         'dias': dias,
                                                         'ruta_seguida': ruta_seguida,
                                                         'form': form,
                                                         'valoraciones':valoraciones,
                                                         'lugares_interes': lugares_interes})
                else:
                    return render(request, 'crearDia.html', {'form': form})
            else:
                return HttpResponseRedirect('/inicio/')
    else:
        return HttpResponseRedirect('/')
示例#8
0
def ruta(request, id_ruta):
    if "usuario" in request.session:
        usuario = models.Usuario.objects.filter(
            alias=request.session["usuario"])[0]
        if usuario == None:
            return HttpResponseRedirect('/')
        else:
            ruta = get_object_or_404(models.Ruta, pk=id_ruta)
            request.session['ruta'] = ruta.pk
            #Recuperamos los días pertenecientes a la ruta:
            dias = models.Dia.dias_ruta(ruta)
            precio_ruta = decimal.Decimal(0.0)
            for dia in dias:
                ruta.precio = precio_ruta + dia.precio
            ruta.save()
            ruta_seguida = (ruta in usuario.ruta_set.filter(pk=id_ruta))
            form = forms.ValoracionForm()
            valoraciones = models.ValoracionRuta.valoraciones_ruta(ruta)
            lugares_interes = []
            for dia in dias:
                lugares_interes_aux = dia.lugarinteres_set.all()
                for lugar_interes in lugares_interes_aux:
                    lugares_interes.append(lugar_interes)
            calcular_precio_ruta(ruta, dias)
            return render(
                request, 'ruta.html', {
                    'ruta': ruta,
                    'usuario': usuario,
                    'dias': dias,
                    'ruta_seguida': ruta_seguida,
                    'form': form,
                    'valoraciones': valoraciones,
                    'lugares_interes': lugares_interes
                })
    else:
        return HttpResponseRedirect('/')