コード例 #1
0
def index(request, site_id):

    siteManager = SiteManager(client_json=request.session.get('client',None))
    participantManager = ParticipantManager(client_json=request.session.get('client',None))

    site = siteManager.get(site_id)

    if site is None:
        search_form  = SearchForm(request.GET)
        participants = participantManager.filter(search_form.generate_predicates())
    else:
        participants = participantManager.with_data(site)

    breadcrumbs = generate_breadcrumbs(request,site)

    return render(request, 'browse/participants/index.html', {
        'request'       : request,
        'site'          : site,
        'participants'  : participants,
        'breadcrumbs' : breadcrumbs
    })
コード例 #2
0
def search(request):

    participantManager = ParticipantManager(
        client_json=request.session.get('client', None))
    itemManager = ItemManager(client_json=request.session.get('client', None))
    search_form = SearchForm(request.GET)
    all_participants = participantManager.filter(
        search_form.generate_predicates())
    filtered_participants = user_filtered_participants(request,
                                                       all_participants)

    component_form = create_component_search_form(request,
                                                  filtered_participants)

    if component_form.is_valid():
        items = []
        for comp in component_form.return_selected_components():
            items += retrieve_items(itemManager, filtered_participants, comp,
                                    component_form.get_speaker_no())

        return render(
            request, 'search/results.html', {
                'request': request,
                'items': generate_paginated_object(request, items),
                'item_ids': [item.identifier for item in items]
            })
    else:
        return render(
            request, 'search/components.html', {
                'form':
                component_form,
                'participant_count':
                len(filtered_participants),
                'participant_url':
                append_querystring_to_url(request, '/browse/participants'),
                'participant_filter_url':
                append_querystring_to_url(request, '/search/participants')
            })  # TODO: Should use reverse urls instead of hard coded urls