Ejemplo n.º 1
0
def cast_vote(request):
    up = request.user.profile
    race_name = request.GET['race_name']
    winner = request.GET['winner']

    r = Race(number=up.counter, auditor=up, race_name=race_name,winner=winner)
    r.save()

    if up.counter%Election.get_num_races() != Election.get_num_races()-1:
        up.counter = F('counter')+1
        up.save()
    
        return get_candidates(request)
    else:
        data = {
            'currentRaceNum': Election.get_race_index(up.counter),
            'currentBallotNum': Election.get_ballot_index(up.counter),
            'numRaces': Election.get_num_races(),
            'numBallots':up.ballots
            }
        data['transition'] = True
        data['previousRaces'] = Election.get_previous_winners(list(Race.objects.filter(auditor=up, number__gte=(data['currentBallotNum']*Election.get_num_races()))))
        
        if up.counter == up.ballots*Election.get_num_races()-1:
            data['end'] = True
        
        return HttpResponse(json.dumps(data), mimetype='application/json')
Ejemplo n.º 2
0
def get_candidates(request):
    up = request.user.profile
    counter = up.counter

    if Race.objects.filter(auditor=up,number=counter):
        data = {
            'currentRaceNum': Election.get_race_index(up.counter),
            'currentBallotNum': Election.get_ballot_index(up.counter),
            'numRaces': Election.get_num_races(),
            'numBallots':up.ballots
            }

        data['transition'] = True
        data['previousRaces'] = Election.get_previous_winners(list(Race.objects.filter(auditor=up, number__gte=(data['currentBallotNum']*Election.get_num_races()))))

        if counter == up.ballots*Election.get_num_races()-1:
            data['end'] = True
        
        return HttpResponse(json.dumps(data), mimetype='application/json')
    data = {
        'transition': False,
        'currentRace': {
            'name': Election.get_race_name(counter),
            'candidates': Election.get_candidates(counter)
            },
        'currentRaceNum': Election.get_race_index(counter),
        'currentBallotNum': Election.get_ballot_index(counter),
        'numRaces': Election.get_num_races(),
        'numBallots':up.ballots
        }

    current_ballot = Election.get_ballot_index(counter)

    data['previousRaces'] = Election.get_previous_winners(list(Race.objects.filter(auditor=up, number__gte=(data['currentBallotNum']*Election.get_num_races()))))

    return HttpResponse(json.dumps(data), mimetype='application/json')