Ejemplo n.º 1
0
def list_infos(request, template="/pages/info_list.html"):
    listado_infos = InfoInteres.objects.published()
    filtrar_like = False
    if request.method == "POST":
        content = request.POST['content']
        if content != '':
            listado_infos = listado_infos.filter(Q(title__icontains=content) | Q(descripcion__icontains=content))
        # todo sacar el resto de parametros
        tipo_info = request.POST['tipo_info']
        if tipo_info != '':
            listado_infos = listado_infos.filter(tipo_info=tipo_info)
        try:
            like = request.POST['like']
            if like:
                filtrar_like = True
        except:
            pass
    templates = []
    templates.append(u'pages/info_list.html')
    # context = {"lista": lista, "most_viewed_talks":most_viewed_talks, "most_rated_talks":most_rated_talks}
    listado_infos = utils.getLikeCommentInfos(request.user, listado_infos, filtrar_like)
    listado_infos = paginate(listado_infos, request.GET.get("page", 1),
                     settings.BLOG_POST_PER_PAGE,
                     settings.MAX_PAGING_LINKS)
    context = {"lista": listado_infos}
    templates.append(template)
    return TemplateResponse(request, templates, context)
Ejemplo n.º 2
0
def list_foro(request, template="pages/list_foro.html"):
    templates = []
    templates.append(u'pages/list_foro.html')
    templates.append(template)
    comments = Foro.objects.all()
    context = {"comments": comments}
    return TemplateResponse(request, templates, context)
Ejemplo n.º 3
0
def view_oferta(request, oferta=None, template="pages/oferta.html"):
    '''
    Esta funcion te muestra la oferta seleccionada
    :param request: reques-get
    :param oferta: oferta seleccionada
    :param template: events
    :return: template(events) rellenado con los datos del evento seleccionado
    '''
    oferta = utils.getOferta(oferta)

    today = date.today()
    like = utils.getLikeOferta(oferta, request.user)
    number_of_likes = LikeOferta.objects.filter(oferta=oferta).count()
    comments = Comments.objects.filter(page=request.page)

    context = {"oferta": oferta,
               "today": today,
               "likeOferta": like,
               "comments": comments,
               "number_of_likes": number_of_likes
               }
    templates = []
    templates.append(u'pages/oferta.html')
    templates.append(template)
    return TemplateResponse(request, templates, context)
Ejemplo n.º 4
0
def list_ofertas(request, template="/pages/ofertas_list.html"):
    '''
    Esta funcion devuelve una lista de todos las oferta, ordenados por destacados y luego por fecha de inicio
    :param request: request-get
    :param template: events_list
    :return: template(events_list) rellenado con los eventos
    '''
    listado_ofertas = OfertaTrabajo.objects.published()
    filtrar_like = False
    if request.method == "POST":
        content = request.POST['content']
        if content != '':
            listado_ofertas = listado_ofertas.filter(Q(title__icontains=content) | Q(descripcion__icontains=content))
        # todo sacar el resto de parametros
        tipo_contrato = request.POST['tipo_contrato']
        if tipo_contrato != '':
            listado_ofertas = listado_ofertas.filter(tipo_contrato=tipo_contrato)
        try:
            like = request.POST['like']
            if like:
                filtrar_like = True
        except:
            pass
    templates = []
    templates.append(u'pages/ofertas_list.html')
    # context = {"lista": lista, "most_viewed_talks":most_viewed_talks, "most_rated_talks":most_rated_talks}
    listado_ofertas = utils.getLikeCommentOfertas(request.user, listado_ofertas, filtrar_like)
    context = {"lista": listado_ofertas}
    templates.append(template)
    context = {"lista": listado_ofertas}
    templates.append(template)
    return TemplateResponse(request, templates, context)
Ejemplo n.º 5
0
def view_actividad(request, actividad=None, template="pages/actividad.html"):
    """
     Esta funcion te muestra el seminario seleccionado
     :param request: reques-get
     :param actividad: seminario seleccionado
     :param template: seminario
     :return: template(seminario) rellenado con los datos del seminario seleccionado
     """
    actividad = utils.getActividad(actividad)
    if request.user:
        like = utils.getLikeActividad(actividad, request.user)
    else:
        like = False
    number_of_likes = LikeActividad.objects.filter(actividad=actividad).count()
    lista_participantes = utilsRegistros.getListaTodosParticipantes(actividad)
    lista_espera = utilsRegistros.getListaEsperaTodos(actividad)
    is_registered = False
    if lista_participantes:
        for usuarios_registrados in lista_participantes:
            if request.user == usuarios_registrados.usuario:
                is_registered = True
    is_registered_espera = False
    if lista_espera:
        for usuarios_registrados in lista_espera:
            if request.user == usuarios_registrados.usuario:
                is_registered_espera = True
    today = date.today()
    if actividad.permitir_inscriptions:
        inicio_registro = utils.comparar_fechas_inicio(
            today, actividad.fecha_inscripcion_inicio)
        final_registro = utils.comparar_fechas_final(
            today, actividad.fecha_inscripcion_final)
    else:
        inicio_registro = False
        final_registro = False
    # metemos el usuario para que nos diga si esta o no registrado en la ponencia
    listado_miniactividades = utilsMiniActividades.getMiniActividades(
        actividad, request.user)
    comments_reg = CommentsPrivados.objects.filter(actividad=actividad)
    comments = Comments.objects.filter(page=request.page)
    context = {
        "actividad": actividad,
        "inicio_registro": inicio_registro,
        "final_registro": final_registro,
        "today": today,
        "is_registered": is_registered,
        "is_registered_espera": is_registered_espera,
        "lista_espera": lista_espera,
        "lista_participantes": lista_participantes,
        "listado_miniactividades": listado_miniactividades,
        "comments": comments,
        'likeAct': like,
        'number_of_likes': number_of_likes,
        'comments_reg': comments_reg,
    }
    templates = [template]
    return TemplateResponse(request, templates, context)
Ejemplo n.º 6
0
def view_info(request, info=None, template="pages/info.html"):
    info = utils.getInfo(info)
    today = date.today()
    like = utils.getLikeInfo(info, request.user)
    number_of_likes = LikeInfo.objects.filter(info=info).count()
    comments = Comments.objects.filter(page=request.page)
    context = {"info": info,
               "today": today,
               "likeInfo": like,
               "comments": comments,
               "number_of_likes": number_of_likes
               }
    templates = []
    templates.append(u'pages/info.html')
    templates.append(template)
    return TemplateResponse(request, templates, context)
Ejemplo n.º 7
0
def list_propuesta(request, template="/pages/propuesta_list.html"):
    """
    Esta funcion devuelve una lista de todos los eventos, ordenados por destacados y luego por fecha de inicio
    :param request: request-get
    :param template: events_list
    :return: template(events_list) rellenado con los eventos
    """
    listado_propuestas = Propuestas.objects.all()
    filtrar_like = False
    if request.method == "POST":
        content = request.POST['content']
        if content != '':
            listado_propuestas = listado_propuestas.filter(
                Q(title__icontains=content)
                | Q(descripcion__icontains=content))
        # todo sacar el resto de parametros
        estado_propuesta = request.POST['estado_propuesta']
        if estado_propuesta != '':
            if estado_propuesta == 'Enviado':
                estado_propuesta = 0
            elif estado_propuesta == 'Aceptado':
                estado_propuesta = 1
            elif estado_propuesta == 'Rechazado':
                estado_propuesta = 2
            listado_propuestas = listado_propuestas.filter(
                estado_propuesta=estado_propuesta)
        try:
            like = request.POST['like']
            if like:
                filtrar_like = True
        except:
            pass
    templates = []
    templates.append(u'pages/propuesta_list.html')
    # context = {"lista": lista, "most_viewed_talks":most_viewed_talks, "most_rated_talks":most_rated_talks}
    listado_propuestas = utils.getLikeCommentPropuestas(
        request.user, listado_propuestas, filtrar_like)
    listado_propuestas = paginate(listado_propuestas,
                                  request.GET.get("page", 1),
                                  settings.BLOG_POST_PER_PAGE,
                                  settings.MAX_PAGING_LINKS)
    context = {"lista": listado_propuestas}
    templates.append(template)
    return TemplateResponse(request, templates, context)
Ejemplo n.º 8
0
def registrate(request, actividad=None):
    """
    Esta funcion registra o modifica el registro de un usuario a un evento
    :param request: request-post
    :param actividad: evento al que se quiere registrar
    :return: retorna a la pagina principal del evento
    """
    actividad = utils.getActividad(actividad)

    # formulario de registro del evento sacamos los datos del formulario
    if request.POST:
        today = date.today()
        id_usuario = utils.getfromPost(request, "id_usuario")
        if not utils.has_permission_registration(actividad, request.user):
            return HttpResponseForbidden(
                "Can't add or modify registration from this event")
        if id_usuario:
            user = User.objects.get(id=id_usuario)
        else:
            if today < actividad.fecha_inscripcion_inicio or today > actividad.fecha_inscripcion_final:
                return HttpResponseForbidden(
                    "Can't register on this date. Please, check registration dates"
                )
            user = request.user
        utilsRegistros.registrate_user_to_actividad(request=request,
                                                    user=user,
                                                    actividad=actividad)
    else:
        templates = ["pages/form_registro.html"]

        participante = utilsRegistros.getDatosInRegistroOrInEspera(
            actividad, request.user)
        today = date.today()

        context = {
            "actividad": actividad,
            "tipo": "registration",
            "datos": participante,
            "today": today,
        }
        return TemplateResponse(request, templates, context)

    return redirect(actividad)
Ejemplo n.º 9
0
def list_actividades(request, template="pages/actividades_list.html"):
    """
    Esta funcion devuelve una lista de todos los actividades, ordenados por fecha de inicio
    :param request: request-get
    :param template: seminarios_list
    :return: template(seminarios_list) rellenado con los actividades
    """
    lista = Actividades.objects.published().order_by("-destacado",
                                                     "-start_date")
    filtrar_like = False
    if request.method == "POST":
        content = request.POST['content']
        if content != '':
            lista = lista.filter(
                Q(title__icontains=content)
                | Q(descripcion__icontains=content))
        # todo sacar el resto de parametros
        try:
            like = request.POST['like']
            if like:
                filtrar_like = True
        except:
            pass
    templates = []
    # lista = paginate(lista, request.GET.get("page", 1),
    #                 settings.BLOG_POST_PER_PAGE,
    #                 settings.MAX_PAGING_LINKS)
    templates.append(u'pages/actividades_list.html')
    lista = utils.getLikeCommentActividades(request.user, lista, filtrar_like)

    # context = {"lista": lista, "most_viewed_talks":most_viewed_talks, "most_rated_talks":most_rated_talks}
    lista = paginate(lista, request.GET.get("page", 1),
                     settings.BLOG_POST_PER_PAGE, settings.MAX_PAGING_LINKS)
    context = {"lista": lista}
    templates.append(template)
    return TemplateResponse(request, templates, context)
Ejemplo n.º 10
0
    likes = utils.getLikes(user)
    actividades = utils.getActividades(user)
    mensajes = utils.getMensajes(user)
    context = {
        "profile": profile,
        "user": user,
        "is_profile": True,
        'grupo': grupo,
        'likes': likes,
        'actividades': actividades,
        'mensajes': mensajes,
        "profile_profesor": perfil_profesor,
        "profile_alumno": perfil_alumno
    }
    templates = [template]
    return TemplateResponse(request, templates, context)


def send_message(request, user):
    # saco los datos del formulario
    if request.POST:
        subject = utils.getfromPost(request, "subject")
        body = utils.getfromPost(request, "body")
        destinatario = User.objects.get(pk=user)
        remitente = request.user
        mensaje = Message(destinatario=destinatario,
                          remitente=remitente,
                          subject=subject,
                          body=body)
        mensaje.save()
        url = "/profile/" + str(user)