Esempio n. 1
0
def edit_player(request, id):
    player = get_object_or_404(Player, pk=id)
    if request.method == "POST":
        form = PlayerForm(request.POST, request.FILES, instance=player)
        if form.is_valid():
            player = form.save(False)
            player.save()
            messages.success(
                request, "You have edited " + player.name + ' ' +
                player.last_name + "!")

            return redirect('get_team', player.team_id)
        else:
            messages.error(request, 'Please correct the errors below.')
    else:
        form = PlayerForm(instance=player)
        if request.user.is_superuser:
            form.fields['team'].queryset = Team.objects.all()
        else:
            form.fields['team'].queryset = Team.objects.filter(
                id=request.user.profile.team_id) | Team.objects.filter(
                    name="Unassigned")

    return render(
        request, 'form.html', {
            'form': form,
            'cancelview': "get_team",
            'cancelid': player.team.id,
            'heading_text':
            'You are editing ' + player.name + ' ' + player.last_name,
            'button_text': 'Save Player',
        })
Esempio n. 2
0
def new_player(request):
    if request.method == "POST":
        form = PlayerForm(request.POST)

        if form.is_valid():
            player = form.save(commit=False)
            player.save()

            messages.success(
                request, "You have added " + player.name + " " +
                player.last_name + " to " + player.team.name + " Team!")

            return redirect('get_team', player.team_id)
        else:
            messages.error(request, 'Please correct the errors below.')
    else:
        form = PlayerForm()
        if request.user.is_superuser:
            form.fields['team'].queryset = Team.objects.all()
        else:
            form.fields["team"].queryset = Team.objects.filter(
                id=request.user.profile.team_id)

    return render(
        request, 'form.html', {
            'form': form,
            'heading_text': 'You are creating a new player!',
            'button_text': 'Save Player',
        })
Esempio n. 3
0
def new_player(request):
    if request.method == 'POST':
        pf = PlayerForm(request.POST)
        if pf.is_valid():
            new_p = pf.save(commit=False)
            new_p.balance = STARTING_BALANCE
            new_p.save()
            return redirect('bank.views.player', new_p.id)
    else:
        pf = PlayerForm()

    return render(request, "new_player.html", {'form': pf})
Esempio n. 4
0
def create(request):
    if request.POST:
        form = PlayerForm(request.POST)
        if form.is_valid():
            form.save()
            return HttpResponseRedirect('/players/')
    else:
        form = PlayerForm()

    args = {}
    args.update(csrf(request))
    args['form'] = form
    return render_to_response('players/create.html', args)
Esempio n. 5
0
def edit(request, player_id):
    if player_id:
        player = Player.objects.get(id=player_id)
    if request.method == "POST":
        form = PlayerForm(request.POST, instance=player)
        if form.is_valid():
            form.save()
            return HttpResponseRedirect('/players/')
    else:
        form = PlayerForm(instance=player)

    args = {}
    args.update(csrf(request))
    args['form'] = form
    args['player'] = player
    return render_to_response('players/edit.html', args)
Esempio n. 6
0
def register(request):
    uform = UserForm(request.POST or None)
    form = PlayerForm(request.POST or None)
    if uform.is_valid() and form.is_valid():
        dj_user = uform.save()
        player = form.save(commit=False)
        player.user = dj_user
        prof = Profile()
        prof.save()
        player.profile = prof
        player.save()
        #authenticate user
        #dj_user = authenticate(username=uform.cleaned_data['username'],
        #                       password=uform.cleaned_data['password'],
        #                      )
        #login(request, dj_user)
        #success sends to map and the questions..
        return redirect(reverse('login'))
    #register invalid.. go back to register (test registration errors!! probably fix css for errors)
    return render(request,
                  'registration/register.html',
                  context={
                      'form': form,
                      'uform': uform
                  })
Esempio n. 7
0
 def put(self, request):
     player = Player()
     data = json.loads(request.body)
     if data.get("project"):
         data["project"] = AdviserProject.objects.get(id=data["project"])
     player_form = PlayerForm(data)
     if not player_form.is_valid():
         return HttpResponseBadRequest("Invalid input data. Please edit and try again.")
     player.set(data) 
     return HttpResponse(status=201)
Esempio n. 8
0
def player_view(game_name, player_name):
    """Player Page"""
    #rebuild class instance from SQL request
    game_archive = GameArchive.query.filter_by(game_name=game_name)
    game = Game.unarchive(game_archive)
    #make forms
    player_form = PlayerForm()
    swap_form = SwapLettersForm()
    #validation for play submission
    if player_name != game.player_order[0]:
        pass
    elif player_form.validate_on_submit():
        #parse tile positions
        tile_pos = [(int(r), int(c))
                    for r, c in zip(player_form.rows.data.split(','),
                                    player_form.cols.data.split(','))]
        #play word
        played_word = game.players[player_name].play_word(
            word=player_form.word_play.data, tile_pos=tile_pos)
        #place tiles
        coords = game.board.place_tiles(played_word)
        #score word
        game.score_word(coords, player_name)
        #draw letters
        game.tilebag.draw_letters(game.players[player_name])
        #increment turn list
        game.player_order.append(game.player_order.pop(0))
        #update database
        game.archive(db, archive=game_archive)
    elif swap_form.validate_on_submit():
        #swap_letter
        game.tilebag.swap_letter(game.players[player_name],
                                 swap_form.letter.data)
        #increment turn list
        game.player_order.append(game.player_order.pop(0))
        #update database
        game.archive(db, archive=game_archive)

    #first render the JS
    d3_rack = render_template(
        'js/player.js',
        square=2 * s,
        letter_rack=game.players[player_name].letter_rack,
        num_letters=len(game.players[player_name].letter_rack))
    return render_template('player.html',
                           submit_form=player_form,
                           swap_form=swap_form,
                           name=player_name,
                           your_turn=player_name == game.player_order[0],
                           d3_rack=d3_rack)
Esempio n. 9
0
def player_view(game_name, player_name):
    """Player Page"""
    #make SQL request
    game_archive = GameArchive.query.filter_by(game_name=game_name)
    #rebuild class instance
    game = unpack_game(game_archive)
    #make submit form
    player_form = PlayerForm()
    #make swap letter form
    swap_form = SwapLettersForm()
    #validation for play submission
    if player_form.validate_on_submit():
        #parse tile positions
        tile_pos = [(int(r), int(c))
                    for r, c in zip(player_form.rows.data.split(','),
                                    player_form.cols.data.split(','))]
        #play word
        played_word = game.players[player_name].play_word(
            word=player_form.word_play.data, tile_pos=tile_pos)
        #place tiles
        game.board.place_tiles(played_word)
        #draw letters
        game.tilebag.draw_letters(game.players[player_name])
        #update database
        update_game(game, game_archive)
    elif swap_form.validate_on_submit():
        #swap_letter
        game.tilebag.swap_letter(game.players[player_name],
                                 swap_form.letter.data)
        #update database
        update_game(game, game_archive)

    return render_template('player.html',
                           submit_form=player_form,
                           swap_form=swap_form,
                           letter_rack=game.players[player_name].letter_rack,
                           num_letters=len(
                               game.players[player_name].letter_rack),
                           name=player_name,
                           square=2 * s)