예제 #1
0
def contest_view(request, contestid):
    context = globalContext(request)
    if settings.HIGH_TRAFFIC:
        return render(request, 'disabled.html', context)
    contest = get_object_or_404(contest_models.Contest.objects.select_related(
        'suggested_by', 'image_by'),
                                pk=contestid)
    if not is_current_contest(contest):
        return redirect('/contest/result/' + contestid + '/' +
                        tourldash(contest.name) + '/')
    vote = request.POST.get('vote_side', None)
    if not vote:
        vote = request.POST.get('right', None)
    if not vote:
        vote = request.POST.get('left', None)
    if (request.method == 'POST' and (vote == 'right' or vote == 'left')):
        votesession = contest_models.Session.objects.get(
            token=request.session['token'])
        if votesession:
            validate_vote(vote, votesession, contest)
    reused_session, cards = get_votesession(request, contest)
    request.session['token'] = cards.token
    context.update({
        'reused_session': reused_session,
        'cards': cards,
        'contest': contest,
        'token': cards.token,
        'contest_max_sessions': settings.CONTEST_MAX_SESSIONS,
    })
    return render(request, 'contest.html', context)
예제 #2
0
def result_view(request, contestid):
    context = globalContext(request)
    contest = get_object_or_404(contest_models.Contest, pk=contestid)
    list_girl, list_card = None, None
    if contest.best_girl:
        list_girl = best_girls_query(contest)
    if contest.best_card:
        list_card = best_cards_query(contest)
    context.update({
        'list_girl': list_girl,
        'list_card': list_card,
        'contest': contest,
        'is_current': is_current_contest(contest),
    })
    return render(request, 'contest_result.html', context)
예제 #3
0
def result_view(request, contestid):
    context = globalContext(request)
    if settings.HIGH_TRAFFIC:
        return render(request, 'disabled.html', context)
    contest = get_object_or_404(contest_models.Contest, pk=contestid)
    list_girl, list_card = None, None
    if contest.best_girl:
        list_girl = best_girls_query(contest)
    if contest.best_card:
        list_card = best_cards_query(contest)
    context.update({
        'list_girl': list_girl,
        'list_card': list_card,
        'contest': contest,
        'is_current': is_current_contest(contest),
    })
    return render(request, 'contest_result.html', context)
예제 #4
0
def collection_view(request, contestid):
    try:
        if int(contestid) == settings.GLOBAL_CONTEST_ID:
            return redirect('/cards/')
    except ValueError: return redirect('/contest/results/')
    if settings.HIGH_TRAFFIC:
        return render(request, 'disabled.html', context)
    context = globalContext(request)
    contest = get_object_or_404(contest_models.Contest, pk=contestid)
    is_current = is_current_contest(contest)
    if is_current or is_future_contest(contest):
        cards = contest.queryset()
    else:
        cards = contest.voted_cards()
    context.update({
        'contest': contest,
        'is_current': is_current,
        'cards': cards,
    })
    return render(request, 'contest_collection.html', context)
예제 #5
0
def contest_view(request, contestid):
    context = globalContext(request)
    contest = get_object_or_404(contest_models.Contest, pk=contestid)
    if not is_current_contest(contest):
       return redirect('/contest/result/' + contestid + '/' + tourldash(contest.name) + '/')
    if request.method == 'POST':
        try:
            votesession = contest_models.Session.objects.get(token=request.session['token'])
            if votesession:
                choice = 'left' if request.POST.has_key('left') else 'right'
                validate_vote(choice, votesession, contest)
        except: pass
    cards = get_votesession(request, contest)
    request.session['token'] = cards.token
    context.update({
        'cards': cards,
        'contest': contest,
        'token': cards.token,
    })
    return render(request, 'contest.html', context)
예제 #6
0
def collection_view(request, contestid):
    try:
        if int(contestid) == settings.GLOBAL_CONTEST_ID:
            return redirect('/cards/')
    except ValueError:
        return redirect('/contest/results/')
    context = globalContext(request)
    if settings.HIGH_TRAFFIC:
        return render(request, 'disabled.html', context)
    contest = get_object_or_404(contest_models.Contest, pk=contestid)
    is_current = is_current_contest(contest)
    if is_current or is_future_contest(contest):
        cards = contest.queryset()
    else:
        cards = contest.voted_cards()
    context.update({
        'contest': contest,
        'is_current': is_current,
        'cards': cards,
    })
    return render(request, 'contest_collection.html', context)
예제 #7
0
def contest_view(request, contestid):
    context = globalContext(request)
    if settings.HIGH_TRAFFIC:
        return render(request, 'disabled.html', context)
    contest = get_object_or_404(contest_models.Contest.objects.select_related('suggested_by', 'image_by'), pk=contestid)
    if not is_current_contest(contest):
       return redirect('/contest/result/' + contestid + '/' + tourldash(contest.name) + '/')
    if (request.method == 'POST' and 'vote_side' in request.POST and request.POST['vote_side']
        and (request.POST['vote_side'] == 'right' or request.POST['vote_side'] == 'left')):
        votesession = contest_models.Session.objects.get(token=request.session['token'])
        if votesession:
            choice = request.POST['vote_side']
            validate_vote(choice, votesession, contest)
    reused_session, cards = get_votesession(request, contest)
    request.session['token'] = cards.token
    context.update({
        'reused_session': reused_session,
        'cards': cards,
        'contest': contest,
        'token': cards.token,
        'contest_max_sessions': settings.CONTEST_MAX_SESSIONS,
    })
    return render(request, 'contest.html', context)