Esempio n. 1
0
def search_events(request):
    user_ip = get_client_ip(forwarded=request.META.get('HTTP_X_FORWARDED_FOR'),
                            remote=request.META.get('REMOTE_ADDR'))
    country_code = request.GET.get('country_code', None)
    country = get_country(country_code, user_ip)
    events = get_approved_events(country_code=country)

    if request.method == 'POST':
        form = SearchEventForm(request.POST)

        if form.is_valid():
            search_filter = form.cleaned_data.get('search', None)
            country_filter = form.cleaned_data.get('country', None)
            theme_filter = form.cleaned_data.get('theme', None)
            audience_filter = form.cleaned_data.get('audience', None)

            events = get_filtered_events(search_filter, country_filter,
                                         theme_filter, audience_filter)
            country = {'country_code': country_filter}
    else:
        form = SearchEventForm(country_code=country['country_code'])
        events = get_approved_events(country_code=country['country_code'])

    return render_to_response('pages/search_events.html', {
        'events': events,
        'form': form,
        'country': country['country_code'],
    },
                              context_instance=RequestContext(request))
Esempio n. 2
0
def search_events(request):

    country_filter = request.GET.get('country_code', None)
    if not country_filter:
        user_ip = get_client_ip(
            forwarded=request.META.get('HTTP_X_FORWARDED_FOR'),
            remote=request.META.get('REMOTE_ADDR'))
        country = get_country(country_filter, user_ip)
        country_filter = country['country_code']

    past = request.GET.get('past', None)
    past_events = True if past and past == 'yes' else False

    search_query = request.GET.get('q', '')
    page = request.GET.get('page', None)

    template = 'pages/search_events.html'
    page_template = 'pages/ajax_faceted_search_events.html'

    if request.method == 'POST':
        form = SearchEventForm(request.POST)

        if form.is_valid():
            search_filter = form.cleaned_data.get('search', None)
            country_filter = form.cleaned_data.get('country', None)
            theme_filter = form.cleaned_data.get('theme', None)
            audience_filter = form.cleaned_data.get('audience', None)
            past_events = form.cleaned_data.get('past_events', None)

            events = get_filtered_events(search_filter, country_filter,
                                         theme_filter, audience_filter,
                                         past_events)
    else:
        form = SearchEventForm(country_code=country_filter,
                               past_events=past_events,
                               search=search_query)
        events = get_filtered_events(search_filter=search_query,
                                     country_filter=country_filter,
                                     past_events=past_events)

    if request.is_ajax():
        return render_to_response(page_template, {
            'events': events,
            'page': page
        },
                                  context_instance=RequestContext(request))

    return render_to_response(template, {
        'page_template': page_template,
        'events': events,
        'form': form,
        'country': country_filter,
    },
                              context_instance=RequestContext(request))
Esempio n. 3
0
def search_events(request):
    country_code = request.GET.get('country_code', None)

    if not country_code:
        country_code = request.GET.get('country', None)

    if not country_code:
        user_ip = get_client_ip(
            forwarded=request.META.get('HTTP_X_FORWARDED_FOR'),
            remote=request.META.get('REMOTE_ADDR'))
        country = get_country(country_code, user_ip)
        country_code = country['country_code']

    past = request.GET.get('past', 'no')
    past_events = (past == 'yes')

    search_query = request.GET.get('q', '')
    page = request.GET.get('page', None)

    theme_filter = request.GET.getlist('theme', None)
    audience_filter = request.GET.getlist('audience', None)

    template = 'pages/search_events.html'
    page_template = 'pages/ajax_faceted_search_events.html'
    form = SearchEventForm(country_code=country_code,
                           past_events=past,
                           search=search_query,
                           audience=audience_filter,
                           theme=theme_filter)
    events = get_filtered_events(search_query, country_code, theme_filter,
                                 audience_filter, past_events)

    if request.is_ajax():
        return render_to_response(page_template, {
            'events': events,
            'page': page
        },
                                  context_instance=RequestContext(request))

    return render_to_response(template, {
        'page_template': page_template,
        'events': events,
        'form': form,
        'country': country_code,
    },
                              context_instance=RequestContext(request))