Ejemplo n.º 1
0
def index(request):
    events_page = get_page(request, Event.objects.filter(active=True).order_by('-create_date'))

    event_contents = list(EventContent.objects.filter(event__in=list(events_page.object_list), lang=get_language()[:2]))

    t_dict = {}
    for event in events_page.object_list:
        t_dict[event.id] = {'event': event}

    for event_content in event_contents:
        t_dict[event_content.event_id]['event'].event_content = event_content

    return render(request, 'events/frontend/list.html', {
        'events_list': events_page.object_list,
        'events_page': events_page,
    })
Ejemplo n.º 2
0
def favorit_events(request):
    fav_events_page = get_page(request, FavoriteEvent.objects.filter(user=request.user))
    events = []
    for fav_event in fav_events_page.object_list:
        events.append(fav_event.event_id)

    events = Event.objects.filter(id__in=events)
    event_contents = list(EventContent.objects.filter(event__in=list(events), lang=get_language()[:2]))

    t_dict = {}
    for event in events:
        t_dict[event.id] = {'event': event}

    for event_content in event_contents:
        t_dict[event_content.event_id]['event'].event_content = event_content

    return render(request, 'events/frontend/favorites_list.html', {
        'events_list': events,
        'events_page': fav_events_page,
    })
Ejemplo n.º 3
0
def filer_by_date(request, day='', month='', year=''):
    # start_date = datetime.datetime(year=int(year), month=int(month), day=int(day), hour=0, minute=0, second=0)
    # events_page = get_page(request, Event.objects.filter(active=True, start_date__lte=start_date, end_date__gte=start_date).order_by('-create_date'))

    day_datetime = datetime.datetime(int(year), int(month), int(day), 0, 0, 0)
    end_day_datetime = datetime.datetime(int(year), int(month), int(day), 23, 59, 59)
    q = Q(active=True) & Q(start_date__lte=end_day_datetime) & Q(end_date__gte=day_datetime)
    events_page = get_page(request, Event.objects.filter(q).order_by('-start_date'))
    event_contents = list(EventContent.objects.filter(event__in=list(events_page.object_list), lang=get_language()[:2]))

    t_dict = {}
    for event in events_page.object_list:
        t_dict[event.id] = {'event': event}

    for event_content in event_contents:
        t_dict[event_content.event_id]['event'].event_content = event_content
    return render(request, 'events/frontend/list.html', {
        'events_list': events_page.object_list,
        'events_page': events_page,
        'start_date': day_datetime

    })
Ejemplo n.º 4
0
def events_list(request):
    now = timezone.now()
    if not request.user.has_module_perms("events"):
        return HttpResponseForbidden()
    if request.GET.get("filter", "") == "on":
        filter_form = EventFilterForm(request.GET)
    else:
        filter_form = EventFilterForm()

    sorting = "create_date"
    order = "-"
    q = Q()

    if request.GET.get("filter", "") == "on":
        if filter_form.is_valid():
            filter_sort = filter_form.cleaned_data["sort"]

            if filter_sort:
                sorting = filter_sort

            filter_order = filter_form.cleaned_data["order"]

            if filter_order:
                if filter_order == "asc":
                    order = ""
                elif filter_order == "desc":
                    order = "-"

            filter_active = filter_form.cleaned_data["active"]
            q &= Q(active=bool(filter_active))

            filter_ended = filter_form.cleaned_data["ended"]

            if filter_ended:
                q &= Q(end_date__lt=now)

            filter_start_date = filter_form.cleaned_data["start_date"]
            filter_end_date = filter_form.cleaned_data["end_date"]

            if filter_start_date:
                q &= Q(start_date__gte=filter_start_date)

            if filter_end_date:
                q &= Q(end_date__lte=filter_end_date)

    events_page = get_page(request, Event.objects.filter(q).order_by(order + sorting), 10)

    event_contents = list(EventContent.objects.filter(event__in=list(events_page.object_list), lang=get_language()[:2]))

    t_dict = {}
    for event in events_page.object_list:
        t_dict[event.id] = {"event": event}

    for event_content in event_contents:
        t_dict[event_content.event_id]["event"].event_content = event_content

    return render(
        request,
        "events/administration/events_list.html",
        {"events_list": events_page.object_list, "events_page": events_page, "filter_form": filter_form},
    )