Esempio n. 1
0
def battle_new(request):
    if request.method == 'POST':
        battle_form = BattleForm(request.POST)

        if battle_form.is_valid():
            battle = battle_form.save(commit=False)
            battle.save()

            game = get_object_or_404(Game, pk=battle.game_id)
            player_ids = request.POST.getlist('players')
            random_player_id = random.choice(player_ids)

            counter = 0
            for player_id in player_ids:
                counter += 1

                result = ResultForm().save(commit=False)
                result.battle_id = battle.id
                result.player_id = player_id

                # TODO: Decide how to do when there is more players than 1vs1
                if counter == 1:
                    result.is_home = True
                elif counter == 2:
                    result.is_home = False

                if game.has_coin_toss and player_id == random_player_id:
                    result.has_coin = True
                else:
                    result.has_coin = False

                result.save()

            context = {
                'battle': battle,
                'results': Result.objects.filter(battle_id=battle.id)
            }

            return render(request, 'battles/result_edit.html', context)
    else:
        battle_form = BattleForm()

    context = {'players': User.objects.all(), 'battle_form': battle_form}

    return render(request, 'battles/battle_edit.html', context)
Esempio n. 2
0
def battle_select_players(request, battle_id):
    if request.method == 'POST':
        players = request.POST.getlist('players')
        for player in players:
            result = ResultForm().save(commit=False)
            result.battle_id = battle_id
            result.player_id = player
            result.save()

        context = {
            'results': Result.objects.filter(battle_id=battle_id)
        }

        return render(request, 'battles/battle_add_result.html', context)

    context = {'players': User.objects.all()}

    return render(request, 'battles/battle_select_players.html', context)
Esempio n. 3
0
def battle_new(request):
    if request.method == 'POST':
        battle_form = BattleForm(request.POST)

        if battle_form.is_valid():
            battle = battle_form.save(commit=False)
            battle.save()

            game = get_object_or_404(Game, pk=battle.game_id)
            player_ids = request.POST.getlist('players')
            random_player_id = random.choice(player_ids)

            counter = 0
            for player_id in player_ids:
                counter += 1

                result = ResultForm().save(commit=False)
                result.battle_id = battle.id
                result.player_id = player_id

                # TODO: Decide how to do when there is more players than 1vs1
                if counter == 1:
                    result.is_home = True
                elif counter == 2:
                    result.is_home = False

                if game.has_coin_toss and player_id == random_player_id:
                    result.has_coin = True
                else:
                    result.has_coin = False

                result.save()

            context = {
                'battle': battle,
                'results': Result.objects.filter(battle_id=battle.id)
            }

            return render(request, 'battles/result_edit.html', context)
    else:
        battle_form = BattleForm()

    context = {
        'players': User.objects.all(),
        'battle_form': battle_form
    }

    return render(request, 'battles/battle_edit.html', context)
Esempio n. 4
0
def result_new(request, battle_id):
    if request.method == 'POST':
        scores = request.POST.getlist('scores')
        for score in scores:
            form = ResultForm(request.POST).save(commit=False)
            form.battle_id = 1
            form.player_id = 1
            form.score = score
            form.save()

        context = {'form': form}

        return render(request, 'battles/result_view.html', context)
    else:
        form = ResultForm()

    return render(request, 'battles/result_edit.html', {'form': form})
Esempio n. 5
0
def result_edit(request, battle_id, result_id):
    result = get_object_or_404(Result, pk=result_id)

    if request.method == 'POST':
        form = ResultForm(request.POST, instance=result)

        if form.is_valid():
            result = form.save(commit=False)
            result.battle_id = battle_id
            result.save()
            form.save_m2m()

            context = {'result': result}

            return render(request, 'battles/result_view.html', context)
    else:
        form = ResultForm(instance=result)

    return render(request, 'battles/result_edit.html', {'form': form})
Esempio n. 6
0
def result_new(request, battle_id):
    if request.method == 'POST':
        scores = request.POST.getlist('scores')
        for score in scores:
            form = ResultForm(request.POST).save(commit=False)
            form.battle_id = 1
            form.player_id = 1
            form.score = score
            form.save()

        context = {'form': form}

        return render(request, 'battles/result_view.html', context)
    else:
        form = ResultForm()

    return render(request, 'battles/result_edit.html', {'form': form})
Esempio n. 7
0
def battle_select_players(request, battle_id):
    if request.method == 'POST':
        players = request.POST.getlist('players')
        for player in players:
            result = ResultForm().save(commit=False)
            result.battle_id = battle_id
            result.player_id = player
            result.save()

        context = {'results': Result.objects.filter(battle_id=battle_id)}

        return render(request, 'battles/battle_add_result.html', context)

    context = {'players': User.objects.all()}

    return render(request, 'battles/battle_select_players.html', context)
Esempio n. 8
0
def result_edit(request, battle_id, result_id):
    result = get_object_or_404(Result, pk=result_id)

    if request.method == 'POST':
        form = ResultForm(request.POST, instance=result)

        if form.is_valid():
            result = form.save(commit=False)
            result.battle_id = battle_id
            result.save()
            form.save_m2m()

            context = {'result': result}

            return render(request, 'battles/result_view.html', context)
    else:
        form = ResultForm(instance=result)

    return render(request, 'battles/result_edit.html', {'form': form})