Beispiel #1
0
def nueva(request):
    template = 'imagenes/nueva.html'
    if request.method == "POST":
        form = FormNuevaImagen(request.POST)
        if form.is_valid():
            favorita = form.cleaned_data['favorita']
            url = form.cleaned_data['url']
            perfil_usuario = Perfiles.objects.get(usuario=request.user)
            nueva_imagen = Imagen(url=url, perfil=perfil_usuario)
            nueva_imagen.save()
            if favorita:
                # marco como favorita la imagen que subio.
                nueva_imagen.favoritos_recibidos += 1
                Ifavorita_obj = Ifavoritas(
                    imagen=nueva_imagen, perfil=perfil_usuario)
                Ifavorita_obj.save()
                nueva_imagen.save()

            return HttpResponseRedirect(reverse('imagenes:index', args=[u'recientes']))
        else:
            form_nueva_imagen = FormNuevaImagen()
            lista_bersuit = bersuit_vergarabat()  # honeypot
            context = {'form_nueva_imagen': form_nueva_imagen, 'lista_bersuit': lista_bersuit}
            return render(request, template, context)
    else:
        lista_bersuit = bersuit_vergarabat()
        form_nueva_imagen = FormNuevaImagen()
        context = {'form_nueva_imagen': form_nueva_imagen, 'lista_bersuit': lista_bersuit}
        return render(request, template, context)
Beispiel #2
0
def nuevo_tema(request):
    template = 'temas/nuevo_tema.html'

    if request.method == "POST":
        form = FormCrearTema(request.POST)
        if form.is_valid():
            # Tema obj
            perfil_usuario = Perfiles.objects.get(usuario=request.user)
            nombre = form.cleaned_data.get('nombre')
            texto = form.cleaned_data.get('texto')
            imagen = form.cleaned_data.get('imagen')
            tema_obj = Temas(nombre=nombre,
                             creador=perfil_usuario, imagen=imagen)
            tema_obj.save()

            # Tema descripcion obj
            tema_descripcion_obj = Tema_descripcion(
                texto=texto, usuario=perfil_usuario,
                tema=tema_obj)

            tema_descripcion_obj.save()

            return HttpResponseRedirect(reverse('temas:main',
                                                kwargs={'queryset': (u'recientes')}))

    form_crear_tema = FormCrearTema()

    # honeypot
    lista_bersuit = bersuit_vergarabat()

    context = {'form_crear_tema': form_crear_tema, 'lista_bersuit': lista_bersuit}
    return render(request, template, context)
Beispiel #3
0
def nuevo_video(request, slug):
    # suma un video a un tema
    template = 'videos/nuevo.html'
    tema = get_object_or_404(Temas, slug=slug)
    if request.method == 'POST':
        form = FormNuevoVideo(request.POST)
        if form.is_valid():
            url = form.cleaned_data['url']
            titulo = form.cleaned_data['titulo']
            descripcion = form.cleaned_data['descripcion']
            perfil_usuario = Perfiles.objects.get(usuario=request.user)
            url_data = urlparse.urlparse(
                url
            )  # para analizar la url, determinar donde esta hosteado el video
            query = urlparse.parse_qs(url_data.query)
            network_location = url_data.netloc
            youtube_id = ""
            if network_location in ("www.youtube.com", "youtube.com"):
                es_youtube = True
                youtube_id = query['v'][0]  # guarda el youtube ID.
            else:
                es_youtube = False

            # Crea un nuevo video object
            nuevo_video = Videos(tema=tema,
                                 perfil=perfil_usuario,
                                 titulo=titulo,
                                 descripcion=descripcion,
                                 url=url,
                                 es_youtube=es_youtube,
                                 youtube_id=youtube_id)
            nuevo_video.save()

            # calcular nivel actividad y de popularidad del Tema
            popularidad_actividad_tema(tema, "positivo")

            return redirect('videos:videos_tema',
                            slug=tema.slug,
                            queryset='recientes')
        else:
            print "form invalid"
            return redirect('videos:nuevo_video', slug=tema.slug)
    else:
        form_nuevo_video = FormNuevoVideo()

        # honeypot
        lista_bersuit = bersuit_vergarabat()

        context = {
            'form_nuevo_video': form_nuevo_video,
            'tema': tema,
            'lista_bersuit': lista_bersuit
        }
        return render(request, template, context)
Beispiel #4
0
def coorg_editar(request, cita_id):
    template = 'citas/editar_cita.html'
    cita = get_object_or_404(Cita, id=cita_id)
    perfil_usuario = Perfiles.objects.get(usuario=request.user)
    if request.method == 'POST':
        form = FormEditarCita(request.POST)
        if form.is_valid():
            texto = form.cleaned_data['texto']
            autor = form.cleaned_data['autor']
            fuente = form.cleaned_data['fuente']
            razon = form.cleaned_data['razon']
            if texto != cita.texto:
                cita.texto = texto
            if autor != cita.autor:
                cita.autor = autor
            if fuente != cita.fuente:
                cita.fuente = fuente
            cita.save()
            ceditadas_obj = Ceditadas(
                cita=cita, perfil=perfil_usuario,
                razon=razon)  # campo que guarda datos sobre la edición.
            ceditadas_obj.save()
            return redirect('citas:colaborar_organizar')

    form_editar_cita = FormEditarCita(initial={
        'texto': cita.texto,
        'autor': cita.autor,
        'fuente': cita.fuente
    })

    # lista de autores para ayudar al usuario (autocomplete - sidebar)
    lista_de_autores = []
    lista_de_autores_obj = Cita.objects.filter(
        eliminada=False).values('autor').order_by('autor')
    for x in lista_de_autores_obj:
        if x['autor'] not in lista_de_autores:
            lista_de_autores.append(x['autor'])

    lista_de_autores_json = json.dumps(lista_de_autores)

    # honeypot
    lista_bersuit = bersuit_vergarabat()

    context = {
        'form_editar_cita': form_editar_cita,
        'cita_id': cita_id,
        'lista_de_autores': lista_de_autores,
        'lista_bersuit': lista_bersuit,
        'lista_de_autores_json': lista_de_autores_json
    }

    return render(request, template, context)
Beispiel #5
0
def nueva(request):
    template = 'imagenes/nueva.html'
    if request.method == "POST":
        form = FormNuevaImagen(request.POST)
        if form.is_valid():
            favorita = form.cleaned_data['favorita']
            url = form.cleaned_data['url']
            perfil_usuario = Perfiles.objects.get(usuario=request.user)
            nueva_imagen = Imagen(url=url, perfil=perfil_usuario)
            nueva_imagen.save()
            if favorita:
                # marco como favorita la imagen que subio.
                nueva_imagen.favoritos_recibidos += 1
                Ifavorita_obj = Ifavoritas(imagen=nueva_imagen,
                                           perfil=perfil_usuario)
                Ifavorita_obj.save()
                nueva_imagen.save()

            return HttpResponseRedirect(
                reverse('imagenes:index', args=[u'recientes']))
        else:
            form_nueva_imagen = FormNuevaImagen()
            lista_bersuit = bersuit_vergarabat()  # honeypot
            context = {
                'form_nueva_imagen': form_nueva_imagen,
                'lista_bersuit': lista_bersuit
            }
            return render(request, template, context)
    else:
        lista_bersuit = bersuit_vergarabat()
        form_nueva_imagen = FormNuevaImagen()
        context = {
            'form_nueva_imagen': form_nueva_imagen,
            'lista_bersuit': lista_bersuit
        }
        return render(request, template, context)
Beispiel #6
0
def editar_video(request, video_id):
    template = 'videos/editar_video.html'
    video = get_object_or_404(Videos, id=video_id)
    perfil_usuario = Perfiles.objects.get(usuario=request.user)
    if video.perfil == perfil_usuario:
        if request.method == "POST":
            form = FormEditarVideo(request.POST)
            if form.is_valid():
                url = form.cleaned_data['url']
                titulo = form.cleaned_data['titulo']
                descripcion = form.cleaned_data['descripcion']
                # Analiza el url del video y encuentra si viene de Youtube
                url_data = urlparse.urlparse(url)
                query = urlparse.parse_qs(url_data.query)
                network_location = url_data.netloc
                youtube_id = ""
                if network_location in ("www.youtube.com", "youtube.com"):
                    es_youtube = True
                    youtube_id = query['v'][0]
                else:
                    es_youtube = False
                video.url = url
                video.titulo = titulo
                video.descripcion = descripcion
                video.youtube_id, video.es_youtube = youtube_id, es_youtube
                video.save()
                return redirect('videos:video',
                                video_id=video.id,
                                slug=video.tema.slug,
                                queryset='recientes')
        else:
            # honeypot
            lista_bersuit = bersuit_vergarabat()
            form_editar_video = FormEditarVideo(
                initial={
                    'url': video.url,
                    'titulo': video.titulo,
                    'descripcion': video.descripcion
                })
            context = {
                'video': video,
                'form_editar_video': form_editar_video,
                'lista_bersuit': lista_bersuit
            }
            return render(request, template, context)
    else:
        raise PermissionDenied
Beispiel #7
0
def nuevo_video(request, slug):
    # suma un video a un tema
    template = 'videos/nuevo.html'
    tema = get_object_or_404(Temas, slug=slug)
    if request.method == 'POST':
        form = FormNuevoVideo(request.POST)
        if form.is_valid():
            url = form.cleaned_data['url']
            titulo = form.cleaned_data['titulo']
            descripcion = form.cleaned_data['descripcion']
            perfil_usuario = Perfiles.objects.get(usuario=request.user)
            url_data = urlparse.urlparse(url)  # para analizar la url, determinar donde esta hosteado el video
            query = urlparse.parse_qs(url_data.query)
            network_location = url_data.netloc
            youtube_id = ""
            if network_location in ("www.youtube.com", "youtube.com"):
                es_youtube = True
                youtube_id = query['v'][0]  # guarda el youtube ID.
            else:
                es_youtube = False

            # Crea un nuevo video object
            nuevo_video = Videos(
                tema=tema, perfil=perfil_usuario, titulo=titulo,
                descripcion=descripcion, url=url, es_youtube=es_youtube, youtube_id=youtube_id)
            nuevo_video.save()

            # calcular nivel actividad y de popularidad del Tema
            popularidad_actividad_tema(tema, "positivo")

            return redirect('videos:videos_tema', slug=tema.slug, queryset='recientes')
        else:
            print "form invalid"
            return redirect('videos:nuevo_video', slug=tema.slug)
    else:
        form_nuevo_video = FormNuevoVideo()

        # honeypot
        lista_bersuit = bersuit_vergarabat()

        context = {'form_nuevo_video': form_nuevo_video, 'tema': tema, 'lista_bersuit': lista_bersuit}
        return render(request, template, context)
Beispiel #8
0
def nueva(request):
    # suma una frase
    template = 'citas/nueva.html'
    if request.method == "POST":
        # obtener perfil y crear nueva cita
        form = FormNuevaCita(request.POST)
        if form.is_valid():
            nueva_cita = form.save(commit=False)
            perfil_usuario = Perfiles.objects.get(usuario=request.user)
            nueva_cita.creador = perfil_usuario
            nueva_cita.save()
            return HttpResponseRedirect(
                reverse('citas:index', kwargs={'queryset': (u'recientes')}))
        else:
            pass

    else:
        form = FormNuevaCita()

    # obtener lista de autores para ayudar al usuario. (sidebar+autocomplete)
    lista_de_autores = []
    lista_de_autores_obj = Cita.objects.filter(
        eliminada=False).values('autor').order_by('autor')
    for x in lista_de_autores_obj:
        if x['autor'] not in lista_de_autores:
            lista_de_autores.append(x['autor'])
    lista_de_autores_json = json.dumps(lista_de_autores)

    # honeypot antispan
    lista_bersuit = bersuit_vergarabat()

    context = {
        'FormNuevaCita': FormNuevaCita,
        'lista_bersuit': lista_bersuit,
        'lista_de_autores': lista_de_autores,
        'lista_de_autores_json': lista_de_autores_json
    }
    return render(request, template, context)
Beispiel #9
0
def editar_video(request, video_id):
    template = 'videos/editar_video.html'
    video = get_object_or_404(Videos, id=video_id)
    perfil_usuario = Perfiles.objects.get(usuario=request.user)
    if video.perfil == perfil_usuario:
        if request.method == "POST":
            form = FormEditarVideo(request.POST)
            if form.is_valid():
                url = form.cleaned_data['url']
                titulo = form.cleaned_data['titulo']
                descripcion = form.cleaned_data['descripcion']
                # Analiza el url del video y encuentra si viene de Youtube
                url_data = urlparse.urlparse(url)
                query = urlparse.parse_qs(url_data.query)
                network_location = url_data.netloc
                youtube_id = ""
                if network_location in ("www.youtube.com", "youtube.com"):
                    es_youtube = True
                    youtube_id = query['v'][0]
                else:
                    es_youtube = False
                video.url = url
                video.titulo = titulo
                video.descripcion = descripcion
                video.youtube_id, video.es_youtube = youtube_id, es_youtube
                video.save()
                return redirect('videos:video', video_id=video.id, slug=video.tema.slug, queryset='recientes')
        else:
            # honeypot
            lista_bersuit = bersuit_vergarabat()
            form_editar_video = FormEditarVideo(initial={'url': video.url, 'titulo': video.titulo,
                                                         'descripcion': video.descripcion})
            context = {'video': video, 'form_editar_video': form_editar_video, 'lista_bersuit': lista_bersuit}
            return render(request, template, context)
    else:
        raise PermissionDenied
Beispiel #10
0
def editar_tema(request, slug):
    # Maneja el form y la pagina de editar tema
    template = "temas/editar_tema.html"

    tema = get_object_or_404(Temas, slug=slug)
    perfil_usuario = Perfiles.objects.get(usuario=request.user)
    reputacion_necesaria = 10

    if request.method == "POST":
        form = FormEditarTema(request.POST)
        if form.is_valid():
            descripcion = form.cleaned_data['descripcion']
            if len(descripcion) > 30:  # Jquery validate se asegura que la descripcion sea > 150 chars
                tema_descripcion_obj = Tema_descripcion(texto=descripcion,
                                                        usuario=perfil_usuario, tema=tema)
                tema_descripcion_obj.save()
            imagen = form.cleaned_data['imagen']
            if len(imagen) > 10:
                tema.imagen = imagen
                tema.save()

            return HttpResponseRedirect(reverse('temas:index_tema',
                                        kwargs={'slug': slug, 'queryset': u'recientes'}))
        else:
            pass

    puede_editar = True
    if perfil_usuario.votos_recibidos < reputacion_necesaria:
        puede_editar = False

    ha_sido_editado = False
    tiene_descripcion = False
    primera_edicion, ultima_edicion = "", ""
    numero_de_ediciones = 0

    if Tema_descripcion.objects.filter(tema=tema).exists():
        # Obtiene las ediciones al Tema
        tiene_descripcion = True
        ediciones = Tema_descripcion.objects.filter(tema=tema).order_by('id')
        numero_de_ediciones = ediciones.count()
        primera_edicion_obj = ediciones[0]  # Primera descripción del Tema
        primera_edicion = primera_edicion_obj.texto
        if numero_de_ediciones > 1:
            ha_sido_editado = True
            ultima_edicion_obj = ediciones.reverse()[0]  # Descripción actual del Tema
            ultima_edicion = ultima_edicion_obj.texto
        else:
            ultima_edicion = primera_edicion

    imagen = obtener_imagen_tema(tema)

    if primera_edicion == "":
        primera_edicion = "Este tema no tiene descripción, todavía."
        tiene_descripcion = False

    # llena el textarea de la descripción con la descripción actual
    form_editar_tema = FormEditarTema(initial={'descripcion': ultima_edicion})

    # Honeypot
    lista_bersuit = bersuit_vergarabat()

    context = {
        'puede_editar': puede_editar, 'primera_edicion': primera_edicion,
        'ultima_edicion': ultima_edicion, 'numero_de_ediciones': numero_de_ediciones,
        'tema': tema, 'form_editar_tema': form_editar_tema,
        'ha_sido_editado': ha_sido_editado, 'imagen': imagen,
        'tiene_descripcion': tiene_descripcion, 'lista_bersuit': lista_bersuit}

    return render(request, template, context)