Example #1
0
def judge_drawing(request, room_name):
    if request.user.is_active and request.user.is_authenticated() and request.method == 'POST':
        chosen_drawing = None
        for key, value in request.POST.items():
            if value == 'Choose Drawing':
                chosen_drawing = UserAccount.find(key)

        game_room = GameInstance.get(room_name)
        user_scores = ScoreInstance.get_all_for_game(game_room)
        draw_instance = DrawInstance.get(chosen_drawing, game_room, game_room.current_round)

        all_drawings = DrawInstance.get_all_for_round(game_room, game_room.current_round)
        for drawing in all_drawings:
            draw_instance.was_round_winner = -1


        for user in user_scores:
            user.seen_previous_result = False
            user.save()

        game_room.current_round+=1
        game_room.current_phrase=""
        game_room.save()
        draw_instance.was_round_winner = 1
        draw_instance.save()

        winner_score = ScoreInstance.get(chosen_drawing, game_room)
        winner_score.score+=1
        winner_score.save()

        choose_next_judge(game_room)

        return HttpResponseRedirect('/game/room/' + room_name)
    return HttpResponseRedirect('/')
Example #2
0
def kick_player(request, room_name):
    if request.user.is_active and request.user.is_authenticated():
        for element in request.POST:
            if 'kick' in element:
                player_name = request.POST.get(element)
                remove_player(UserAccount.find(player_name), GameInstance.get(room_name))
                
        return HttpResponseRedirect('/game/room/' + room_name)
    return HttpResponseRedirect('/')
Example #3
0
def public_picture(request, round_number, room_name, player_name):
    target_user = UserAccount.find(player_name)
    target_game = GameInstance.get(room_name)
    draw_instance = DrawInstance.get_for_user_game_round(target_user, target_game, round_number)

    if target_user == None or target_game == None or draw_instance == None:
        return HttpResponseRedirect('/')
    
    return render(request, "game/public_picture.html", {
        'round_number' : round_number,
        'room_name' : room_name,
        'player_name' : player_name,
        'drawing' : draw_instance
    })
Example #4
0
def create(request):
    if request.method == 'POST':  # If the form has been submitted...
        form = CreateAccountForm(request.POST)
        try:
            if form.is_valid():
                form.save()
                user = auth.authenticate(username=form.cleaned_data['username'],
                                         password=form.cleaned_data['password2'])
                auth.login(request, user)

                new_account = UserAccount.find(form.cleaned_data['username'])
                logger.info('User Create successful. User: %s', new_account)

                return HttpResponse('Success')
            else:
                logger.error('User Create failed. Invalid form.')
                raise Exception(form.errors.as_ul())
        except Exception as ex:
            logger.error('User Create failed. Validation or Authentication failed.')
            #return render(request, "account/new_account.html", { 'errors' : ex.message })
            return HttpResponse(ex.message)
    else:
        logger.error('User Create failed. Invalid form submission.')
        return HttpResponse('Account creation failed.')